【发布时间】:2021-12-22 14:28:14
【问题描述】:
我正在尝试为我的项目创建 SQL 解释器。我在运行程序时遇到了这些错误。
line 2:28 token recognition error at: ''a'
line 2:33 token recognition error at: '','
line 2:30 extraneous input 'nna' expecting Value
这是我的测试 sql 查询:
INSERT INTO teacher VALUES ('Anna', 21);
我的部分语法是:
insert: INSERT INTO ValidName VALUES '(' Value (',' Value)* ')' ';' ;
Value: Number | String;
ValidName: [a-z][a-z0-9_]*;
Number: [0-9]+;
String: '\''[^']+'\'';
我尝试打印出 ctx.children 并得到了这个:
[INSERT, INTO, teacher, VALUES, (, nna, 21, ), ;]
谁能帮我看看我哪里做错了?
【问题讨论】:
-
除非这是一个学校项目,否则我不会从头开始写这样的东西。从 Github 找到语法或解析器,或在 github.com/antlr/grammars-v4 上查找
标签: antlr4