def setup_class(self): # Constants self.int_node_one = Node(vtype=v.INTEGER_VALUE, syn_value=1) self.int_node_two = Node(vtype=v.INTEGER_VALUE, syn_value=2) self.int_node_three = Node(vtype=v.INTEGER_VALUE, syn_value=3) # Variables self.x = Node(vtype=v.IDENTIFIER, symbol='x') self.y = Node(vtype=v.IDENTIFIER, symbol='y') self.z = Node(vtype=v.IDENTIFIER, symbol='z') # z = x + y self.int_node_add = Node(vtype=v.ADD, children=(self.x, self.y)) self.assignment_node = Node(vtype=v.ASSIGNMENT, children=[self.z, self.int_node_add]) # return z self.z_statement = Node(vtype=v.STATEMENT, children=[self.z,]) self.return_node = Node(vtype=v.RETURN_STATEMENT, syn_value=self.z_statement) # Functions self.sum_function = Function(return_type=v.INTEGER_VALUE, symbol='sum', parameter_pairs=((self.x, v.INTEGER_VALUE), (self.y, v.INTEGER_VALUE)), statements=[self.assignment_node]) self.sum_with_return_function = Function(return_type=v.INTEGER_VALUE, symbol='sum_with_return', parameter_pairs=((self.x, v.INTEGER_VALUE), (self.y, v.INTEGER_VALUE)), statements=[self.assignment_node, self.return_node, ])
def setup_class(self): # Constants self.int_node_one = Node(vtype=v.INTEGER_VALUE, syn_value=1) self.int_node_two = Node(vtype=v.INTEGER_VALUE, syn_value=2) self.int_node_three = Node(vtype=v.INTEGER_VALUE, syn_value=3) # Variables self.x = Node(vtype=v.IDENTIFIER, symbol='x') self.y = Node(vtype=v.IDENTIFIER, symbol='y') self.z = Node(vtype=v.IDENTIFIER, symbol='z') # z = x + y self.int_node_add = Node(vtype=v.ADD, children=(self.x, self.y)) self.assignment_node = Node(vtype=v.ASSIGNMENT, children=[self.z, self.int_node_add]) # Functions self.sum_function = Function(return_type=v.INTEGER_VALUE, parameter_pairs=((self.x, v.INTEGER_VALUE), (self.y, v.INTEGER_VALUE)), expressions=[ self.assignment_node, ])
def test_scopeless_add(self): scopeless_add_node = Node(vtype=v.ADD, children=(self.int_node_one, self.int_node_two)) scopeless_add_function = Function(return_type=v.INTEGER_VALUE, symbol="add", parameter_pairs=(), statements=[scopeless_add_node,]) scopeless_add_function.execute()