我想使用ANTLR 如何实现循环控制语句 
如/loop(s=1;step=1)=2 
x[1]=m < <2; 
x[2]=m>>3; 
\loop控制的实现。本来我想这样实现: loopstatement 
: '/' LOOP e=looptitle NEWLINE* // 
(f=block { 
for(i=$e.star;i <=$e.count;i=i+$e.step) 
{f; printf("\%d\n",i); 
int i; 


)* 
'\\' LOOP 
; 但结果不对,请问应该怎么弄?我已经弄了好久了,还是没结果。 

解决方案 »

  1.   

    刚刚接触解释器,请多多指点。 希望基于一个开源的项目,设计一套自定义的语法,根据语法分析的结果,动态的组合各种功能,执行后获得最终的结果。说白了,是希望将变化的部分,通过修改特定的配置文件的方法来代替对代码执行逻辑的修改。个人认为通过自定义的解释器的方法有可能实现上述目标,但没有ANTLR,或Javacc的任何经验,两者之间如何作出取舍?
      

  2.   

    我没用过Javacc,具体也不好说。只能说ANTLR可以实现你的目标。