예제 #1
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #2
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #3
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #4
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #5
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #6
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #7
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #8
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #9
0
파일: AST.py 프로젝트: chamini2/rangex
    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]
예제 #10
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #11
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #12
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #13
0
파일: AST.py 프로젝트: chamini2/rangex
    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]
예제 #14
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #15
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #16
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #17
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #18
0
파일: AST.py 프로젝트: chamini2/rangex
    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
예제 #19
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string
예제 #20
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
예제 #21
0
파일: AST.py 프로젝트: chamini2/rangex
 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
예제 #22
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
예제 #23
0
파일: AST.py 프로젝트: chamini2/rangex
 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
예제 #24
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
예제 #25
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "VARIABLE: " + str(self.name)
예제 #26
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "BOOL: " + str(self.value)
예제 #27
0
파일: AST.py 프로젝트: chamini2/rangex
 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
예제 #28
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     return indent(level) + "STRING: " + str(self.value)
예제 #29
0
파일: AST.py 프로젝트: chamini2/rangex
 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
예제 #30
0
파일: AST.py 프로젝트: chamini2/rangex
 def tree_string(self, level):
     string = indent(level) + "READ\n"
     string += self.variable.tree_string(level + 1)
     return string