antlr4令牌识别错误:' $'

时间:2015-10-25 09:29:32

标签: antlr4

尝试为PowerScript语言构建语法。我将语言拆分为几个部分,除了简单的标题外,一切似乎都有效。似乎$ simbol无法被识别。有人能帮我一点吗? (我只是复制我尝试的小例子)

grammar PowerScript;

compilationUnit :   Header EOF;

fragment 
Header  : ID '.' ID;

ID : [a-zA-Z0-9$_]+ ;

测试文件只包含:

$PBExportHeader$n_logversion.sru

由于

1 个答案:

答案 0 :(得分:2)

compilationUnit规则是解析器规则。解析器规则不能引用词法分析器。只需删除fragment限定符即可使Header成为适当的词法分析器规则。

<强>更新

Antlr4完全支持Unicode。只需以标准Unicode编码格式包含字符:

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