如何使用Java Cup for Java Interpreter获取表达式

时间:2017-03-23 23:21:48

标签: java interpreter jflex cup

我正在使用jflex和cup创建一个解释器,但我不知道如何实现嵌套语句,if else循环等。我想知道我是否可以在语句中获取表达式来分析它

si ::=
    SI LPAREN ID:id COMMA ENTERO:value RPAREN
    LBRACE
    code_declarators:expre
    RBRACE{:
        if(parser.tabla.obtenerValor(id)==value){
            codeAnalizer.getInstance().data.put("Tipo", "Si");
            codeAnalizer.getInstance().data.put("Lista", codeAnalizer.getInstance().functions.clone());
            codeAnalizer.getInstance().insert(codeAnalizer.getInstance().data.clone());
            codeAnalizer.getInstance().data.clear();
            codeAnalizer.getInstance().functions.clear();
            codeAnalizer.getInstance().execute("IF");
            parser.condition=false;
        }else{
            codeAnalizer.getInstance().data.clear();
            codeAnalizer.getInstance().functions.clear();
            parser.condition=true;
        }
        System.out.println("HOLA: "+expre);
        :} 
    ;

我需要“expre”来了解和分析语句中的代码

0 个答案:

没有答案