在ANTLR4 / JS中实现IF动作

时间:2016-12-28 17:07:57

标签: antrl4

尝试将ANTLR3应用程序(在C ++中)改编成ANTLR4(在JS中),我仍然不了解如何用我的语言实现IF THEN ELSE ENDIF。 最好使用嵌入式操作,因为我的应用程序很简单,但我接受任何替代方案作为提示(因为我已经被困了好几周,尽管有这本书)。请帮忙 !

典型背景:

stat:   cmd SEPARATOR
    |   SEPARATOR  
    ;
cmd: ...
   | 'if' c=e 'then' y=stat ( el='else' n=stat )? 'endif'
                   {  *ACTION* }
   ;

注意:在ANTLR3中, ACTION 过去就像

一样简单
             stat( $c.getNextSibling().getFirstChild() );
          else 
             stat( $c.getNextSibling().getNextSibling() );

但我仍然不了解如何在ANTLR4 / JS中做到这一点(直接行动,访客,听众或其他)。

谢谢!

0 个答案:

没有答案