我正在使用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”来了解和分析语句中的代码