Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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]
Exemple #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
Exemple #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
Exemple #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
Exemple #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]
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #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
Exemple #19
0
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string
Exemple #20
0
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
Exemple #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
Exemple #22
0
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
Exemple #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
Exemple #24
0
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
Exemple #25
0
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
Exemple #26
0
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
Exemple #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
Exemple #28
0
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
Exemple #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
Exemple #30
0
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string