python - antlr4 for python target error: NameError: global name 'XX' is not defined
问题描述
我正在将 Antlr4 用于 Python 目标代码。在语法文件中,我有一个需要获取标记文本的规则。但我得到了错误。
代码看起来像这样
//parser
variables : VARS COLON (ID {declare_variable(ID.text)})+;
...
//lexer
VARS : 'variables';
COLON: ':';
ID : ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_')* ;
...
我使用编译解析器/词法分析器
java -Xmx500M -cp /usr/local/lib/antlr-4.7.1-complete.jar org.antlr.v4.Tool -Dlanguage=Python2 Grammar.g4
然后我跑
python main.py test.txt
当我收到以下错误时:
NameError: global name 'ID' is not defined
我究竟做错了什么?
解决方案
推荐阅读
- r - 使用连接的粘贴向量重新分配列名
- python - 您如何为文本文件编号,但在再次计数之前还要重复每个数字 x 次?
- c# - Telerik 下拉控件不允许我从下拉列表中选择项目
- azure - 使用 Azure Powershell cmdlet New-AzVM 创建 Windows 10 VM
- laravel - 为什么 Laravel 每次请求都会生成一个新会话?
- shell - 从日志文件中过滤掉 uniq 行
- excel - 为 If 语句引用“onclick”事件 - IE 自动化
- pdf - pdf文本不对齐
- firebase - 使用 orderByKey 在 Firebase 数据库中搜索值不起作用 DailogFlow
- python - asyncio 添加附加功能