尝试为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