Exemplo n.º 1
0
Arquivo: expr04.py Projeto: narupo/cap
    def term(self):
        r = None
        n = self.factor()

        if self.tkr.cur() in ['*', '/']:
            r = Node()
            r.val = self.tkr.get()
            if r.val == '*':
                r.type = 'mul'
            else:
                r.type = 'div'
            r.rhs = n
            r.lhs = self.term()
        else:
            r = n
        return r
Exemplo n.º 2
0
Arquivo: expr04.py Projeto: narupo/cap
    def expr(self):
        r = None
        n = self.term()

        if self.tkr.cur() in ['+', '-']:
            r = Node()
            r.val = self.tkr.get()
            if r.val == '+':
                r.type = 'add'
            else:
                r.type = 'sub'
            r.rhs = n
            r.lhs = self.expr()
        else:
            r = n
        return r