【发布时间】:2014-07-04 09:46:55
【问题描述】:
我正在尝试通过 ANTLR (ANTLRWorks-3.5.2) 解析一种语言。目标是输入完整的输入,但 Antlr 给出了语法中已定义部分的解析树并忽略其余输入,例如这是我的语法:
grammar asap;
project : '/begin PROJECT' name module+ '/end PROJECT';
module : '/begin MODULE'name '/end MODULE';
name : IDENT ;
IDENT : ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'.'|':'|'-')*;
给定输入:
/begin PROJECT HybridSailboat_2
/begin MODULE engine
/begin A2ML
/include XCP_common_v1_0.aml
"XCP" struct {
taggedstruct Common_Parameters ;
};
/end A2ML
/end MODULE
/end PROJECT
关于这个输入,我只希望解析树包含项目和模块,而不是 A2ML 部分。 在 antlr 中是否有可能忽略输入的某些部分? 我可以指定语法中不重要部分的起点和终点吗?
【问题讨论】:
标签: antlr antlr3 information-extraction