ANTLR4注释,预处理器或指令解析

时间:2017-04-19 17:09:35

标签: parsing delphi antlr4

我需要解析ANTLR4中的Delphi指令。例如,

Client customerAccount = null ;
但同时,在Delphi中,内部花括号{}可能是注释。那么,如何创建ANTLR4语法,其工作方式如下:" file:不解析文本{解析}不解析文本;" ?

1 个答案:

答案 0 :(得分:1)

难以确定Q的措辞如何。听起来像你在寻找:

directive : LDrctv .... RBrace ; // replace .... with appropriate rule terms
comment   : LBrace .*? RBrace  ;
skip      : . ; // aggregates all tokens not included in above rules

LDrctv : '{$' ;
LBrace : '{'  ;
RBrace : '}'  ;

// other token rules

更新:skip规则捕获其他规则未使用的所有令牌。如果只关注directive规则,则只需要评估解析树中相应的DirectiveContext节点。