Example #1
0
    def eval_input(self, input):
        lexer = ExprLexer(input)
        token = CommonTokenStream(lexer)
        parser = ExprParser(token)

        tree = parser.prog()

        visitor = EvalExprVisitor()

        return visitor.visit(tree)
Example #2
0
    def eval_input(self, input):
        lexer = ExprLexer(input)
        token = CommonTokenStream(lexer)
        parser = ExprParser(token)

        tree = parser.prog()

        if self.doDebug:
            print(tree.toStringTree(recog=parser))

        evalExprListener = EvalExprListener()
        evalExprListener.doDebug = self.doDebug

        walker = ParseTreeWalker()
        walker.walk(evalExprListener, tree)

        return evalExprListener.result