我正在为 C++ 的 LALR 解析器生成器寻找最佳解决方案,这将使我能够生成非常好的错误消息。我真的很讨厌 MySQL 生成的语法错误,我想将解析器放入其中并用“lint”检查器替换它,它不仅能告诉我更多信息
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a from users' at line 1
我使用过 YACC/LEX 和 BISON/FLEX。它必须在 Mac 或 Linux 上运行。