Как получить выражения, используя Java Cup для интерпретатора Java

Я создаю Интерпретатор, используя jflex и cup, но я не знаю, как реализовать вложенные операторы, если циклы 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 ответов

Другие вопросы по тегам