尝试为PowerScript语言构建语法。我将语言拆分为几个部分,除了简单的标题外,一切似乎都有效。似乎$ simbol无法被识别。有人能帮我一点吗? (我只是复制我尝试的小例子)
grammar PowerScript;
compilationUnit : Header EOF;
fragment
Header : ID '.' ID;
ID : [a-zA-Z0-9$_]+ ;
测试文件只包含:
$PBExportHeader$n_logversion.sru
由于
答案 0 :(得分:2)
compilationUnit
规则是解析器规则。解析器规则不能引用词法分析器。只需删除fragment
限定符即可使Header
成为适当的词法分析器规则。
<强>更新强>
Antlr4完全支持Unicode。只需以标准Unicode编码格式包含字符:
ID : ( [a-zA-Z0-9$_] | '\uD83D\uDCB2' )+ ; // Unicode heavy Dollar sign