Esempio n. 1
0
    def tree_string(self, level):
        string = indent(level) + "UNARY:\n" + indent(level + 1) + "operator: "
        string += str(self.operator) + '\n'

        string += indent(level + 1) + "operand:\n"
        string += self.operand.tree_string(level + 2)

        return string
Esempio n. 2
0
    def tree_string(self, level):
        string = indent(level) + "UNARY:\n" + indent(level + 1) + "operator: "
        string += str(self.operator) + '\n'

        string += indent(level + 1) + "operand:\n"
        string += self.operand.tree_string(level + 2)

        return string
Esempio n. 3
0
    def tree_string(self, level):
        string = indent(level) + "case:\n"
        string += indent(level + 1) + "range:\n"
        string += self.range_expr.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "statement:\n"
        string += self.statement.tree_string(level + 2) + '\n'

        return string
Esempio n. 4
0
    def tree_string(self, level):
        string = indent(level) + "WHILE\n"
        string += indent(level + 1) + "condition:\n"
        string += self.condition.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "DO:\n"
        string += self.statement.tree_string(level + 2)

        return string
Esempio n. 5
0
    def tree_string(self, level):
        string = indent(level) + "case:\n"
        string += indent(level + 1) + "range:\n"
        string += self.range_expr.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "statement:\n"
        string += self.statement.tree_string(level + 2) + '\n'

        return string
Esempio n. 6
0
    def tree_string(self, level):
        string = indent(level) + "WHILE\n"
        string += indent(level + 1) + "condition:\n"
        string += self.condition.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "DO:\n"
        string += self.statement.tree_string(level + 2)

        return string
Esempio n. 7
0
    def tree_string(self, level):
        string = indent(level) + "CASE\n"
        string += indent(level + 1) + "value:\n"
        string += self.int_expr.tree_string(level + 2) + '\n'

        for case in self.cases:
            string += case.tree_string(level + 1)
        string += indent(level) + "END"

        return string
Esempio n. 8
0
    def tree_string(self, level):
        string = indent(level) + "CASE\n"
        string += indent(level + 1) + "value:\n"
        string += self.int_expr.tree_string(level + 2) + '\n'

        for case in self.cases:
            string += case.tree_string(level + 1)
        string += indent(level) + "END"

        return string
Esempio n. 9
0
    def tree_string(self, level):
        if isinstance(self, WriteLn):
            string = indent(level) + "WRITELN\n"
        else:
            string = indent(level) + "WRITE\n"

        for elem in self.elements:
            string += indent(level + 1) + "element:\n"
            string += elem.tree_string(level + 2) + '\n'

        return string[:-1]
Esempio n. 10
0
    def tree_string(self, level):
        string = indent(level) + "BINARY:\n" + indent(level + 1)
        string += "operator: " + str(self.operator) + '\n'

        string += indent(level + 1) + "left operand:\n"
        string += self.left.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "right operand:\n"
        string += self.right.tree_string(level + 2)

        return string
Esempio n. 11
0
    def tree_string(self, level):
        string = indent(level) + "FOR\n"
        string += self.variable.tree_string(level + 1) + '\n'

        string += indent(level + 1) + "IN:\n"
        string += self.in_range.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "DO:\n"
        string += self.statement.tree_string(level + 2)

        return string
Esempio n. 12
0
    def tree_string(self, level):
        string = indent(level) + "FOR\n"
        string += self.variable.tree_string(level + 1) + '\n'

        string += indent(level + 1) + "IN:\n"
        string += self.in_range.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "DO:\n"
        string += self.statement.tree_string(level + 2)

        return string
Esempio n. 13
0
    def tree_string(self, level):
        if isinstance(self, WriteLn):
            string = indent(level) + "WRITELN\n"
        else:
            string = indent(level) + "WRITE\n"

        for elem in self.elements:
            string += indent(level + 1) + "element:\n"
            string += elem.tree_string(level + 2) + '\n'

        return string[:-1]
Esempio n. 14
0
    def tree_string(self, level):
        string = indent(level) + "BINARY:\n" + indent(level + 1)
        string += "operator: " + str(self.operator) + '\n'

        string += indent(level + 1) + "left operand:\n"
        string += self.left.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "right operand:\n"
        string += self.right.tree_string(level + 2)

        return string
Esempio n. 15
0
    def tree_string(self, level):
        string = indent(level) + "IF\n"
        string += indent(level + 1) + "condition:\n"
        string += self.condition.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "then:\n"
        string += self.then_st.tree_string(level + 2)

        if self.else_st:
            string += '\n' + indent(level + 1) + "else:\n"
            string += self.else_st.tree_string(level + 2)

        return string
Esempio n. 16
0
    def tree_string(self, level):
        string = indent(level) + "IF\n"
        string += indent(level + 1) + "condition:\n"
        string += self.condition.tree_string(level + 2) + '\n'

        string += indent(level + 1) + "then:\n"
        string += self.then_st.tree_string(level + 2)

        if self.else_st:
            string += '\n' + indent(level + 1) + "else:\n"
            string += self.else_st.tree_string(level + 2)

        return string
Esempio n. 17
0
    def tree_string(self, level):
        string = indent(level) + "BEGIN\n"

        if self.sym_table:
            string += self.sym_table.tree_string(level) + '\n'
        string += indent(level) + "STATEMENTS\n"

        for stat in self.statements:
            string += stat.tree_string(level + 1) + '\n'
            string += indent(level + 1) + "SEPARATOR\n"
        string = string[:(-10 - len(indent(1)))]
        string += "END"

        return string
Esempio n. 18
0
    def tree_string(self, level):
        string = indent(level) + "BEGIN\n"

        if self.sym_table:
            string += self.sym_table.tree_string(level) + '\n'
        string += indent(level) + "STATEMENTS\n"

        for stat in self.statements:
            string += stat.tree_string(level + 1) + '\n'
            string += indent(level + 1) + "SEPARATOR\n"
        string = string[:(-10 - len(indent(1)))]
        string += "END"

        return string
Esempio n. 19
0
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string
Esempio n. 20
0
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
Esempio n. 21
0
 def tree_string(self, level):
     string = indent(level) + "ASSIGN\n" + indent(level + 1)
     string += "variable: " + str(self.variable)
     string += "\n" + indent(level + 1)
     string += "value:\n" + self.expression.tree_string(level + 2)
     return string
Esempio n. 22
0
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
Esempio n. 23
0
 def tree_string(self, level):
     string = indent(level) + "FROM:\n"
     string += self.from_value.tree_string(level + 1) + '\n'
     string += indent(level) + "TO:\n"
     string += self.to_value.tree_string(level + 1)
     return string
Esempio n. 24
0
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
Esempio n. 25
0
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
Esempio n. 26
0
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
Esempio n. 27
0
 def tree_string(self, level):
     string = indent(level) + "FROM:\n"
     string += self.from_value.tree_string(level + 1) + '\n'
     string += indent(level) + "TO:\n"
     string += self.to_value.tree_string(level + 1)
     return string
Esempio n. 28
0
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
Esempio n. 29
0
 def tree_string(self, level):
     string = indent(level) + "ASSIGN\n" + indent(level + 1)
     string += "variable: " + str(self.variable)
     string += "\n" + indent(level + 1)
     string += "value:\n" + self.expression.tree_string(level + 2)
     return string
Esempio n. 30
0
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string