在ANTLR3中使用空格分隔单词,其中一些单词是关键字
我正在研究一个项目,该项目涉及将部分语音标记文本转换为ANTLR3 AST,其中短语作为AST的节点。
ANTLR的输入如下:
DT-THE The NN dog VBD sat IN-ON on DT-THE the NN mat STOP .
即(标记标记)+其中标记或标记都不包含空格。
以下是一个很好的方法:
WS : (' ')+ {skip();};
TOKEN : (~' ')+;
然后语法具有如下条目来描述AST的最低级别:
dtTHE:'DT-THE' TOKEN -> ^('DT-THE' TOKEN);
nn:'NN' TOKEN -> ^('NN' TOKEN);
(还有186个以上!)
这种方法似乎有效,但会产生~9000行Java Lexer并需要大量内存来构建(~2gb),因此我想知道这是否是解决此问题的最佳方法。
没有找到相关结果
已邀请:
1 个回复
财沟项胶