我是 ANTLR 世界的新手,我正试图弄清楚如何使用这个解析工具来解释一组“嘈杂”的字符串。我想要实现的是以下。
让我们以这个短语为例:It's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
我想提取的是CAT
,SLEEPING
并且SOFA
有一个与以下模式轻松匹配的语法:SUBJECT - VERB - INDIRECT OBJECT ...我可以在其中定义
VERB : 'SLEEPING' | 'WALKING';
SUBJECT : 'CAT'|'DOG'|'BIRD';
INDIRECT_OBJECT : 'CAR'| 'SOFA';
等。我不想以永久的“NoViableException”结束因为我无法描述语言结构的所有可能性。我只想撕掉无用的词,只保留有趣的词。
更像是如果我有一个标记器并询问解析器“好的,阅读流直到找到一个 SUBJECT,然后忽略其余部分,直到找到一个 VERB 等。”
我需要以无组织的方式提取有组织的结构设置...例如,我希望能够解释(我不判断这种完全基本和不正确的观点的相关性 '
SUBJECT - VERB - INDIRECT OBJECT
INDIRECT OBJECT - SUBJECT - VERB
所以我会解析像
It's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
或这样的句子
It's 10PM and, on the SOFA in front of the TV, the Lazy CAT is currently SLEEPING heavily