词法分析器定义以匹配关键字或缩写
Lexer definition to match keyword or an abbreviation
为了编写解析器,我不仅要匹配完整的关键字,还要匹配其缩写,例如
我的关键字
必须至少匹配
我的密钥
还有比这更长的任何精确匹配,即
MY-KEYW 或 MY-KEYWO 或 MY-KEYWOR 或完整的 MY-KEYWORD
使用合理的词法分析器片段是否可能,或者我是否必须定义特定的替代匹配项?
TIA
亚历克斯
最简单的方法是做这样的事情:
MY_KEYWORD
: 'MY-KEY' ('W' ('O' ('R' 'D'?)?)?)?
;
为了编写解析器,我不仅要匹配完整的关键字,还要匹配其缩写,例如
我的关键字
必须至少匹配
我的密钥
还有比这更长的任何精确匹配,即
MY-KEYW 或 MY-KEYWO 或 MY-KEYWOR 或完整的 MY-KEYWORD
使用合理的词法分析器片段是否可能,或者我是否必须定义特定的替代匹配项?
TIA
亚历克斯
最简单的方法是做这样的事情:
MY_KEYWORD
: 'MY-KEY' ('W' ('O' ('R' 'D'?)?)?)?
;