antlr4 令牌识别错误:'$'
antlr4 token recognition error at: '$'
正在尝试为 PowerScript 语言构建语法。我将语言分成几个部分,除了简单的 headers 之外,一切似乎都在工作。似乎无法识别 $ 符号。谁能帮我一点忙? (我只是复制我正在尝试的小例子)
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$_] | '\uD83D\uDCB2' )+ ; // Unicode heavy Dollar sign
正在尝试为 PowerScript 语言构建语法。我将语言分成几个部分,除了简单的 headers 之外,一切似乎都在工作。似乎无法识别 $ 符号。谁能帮我一点忙? (我只是复制我正在尝试的小例子)
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$_] | '\uD83D\uDCB2' )+ ; // Unicode heavy Dollar sign