ANTLR4令牌识别错误:'$'



尝试为PowerScript语言构建语法。我把语言分成几个部分,除了简单的头,一切似乎都在工作。$符号似乎不能被识别。有人能帮帮我吗?(我只是复制我正在尝试的小例子)

grammar PowerScript;
compilationUnit :   Header EOF;
fragment 
Header  : ID '.' ID;
ID : [a-zA-Z0-9$_]+ ;

测试文件只包含:

$PBExportHeader$n_logversion.sru

谢谢

compilationUnit规则是一个解析器规则。解析器规则不能引用词法分析器片段。只需删除fragment限定符,使Header成为合适的词法分析器规则。

Antlr4完全支持Unicode。只需要包含标准Unicode编码形式的字符:

ID : ( [a-zA-Z0-9$_] | 'uD83DuDCB2' )+ ; // Unicode heavy Dollar sign

相关内容

  • 没有找到相关文章

最新更新