项目简介
本项目是使用 goyacc
实现的语法分析器练习项目,目的在于学习和实践编译原理中的词法分析与语法分析。项目包含简单计算器和基础SQL解析器两个子项目,均借助 goyacc
工具生成解析器代码。
项目的主要特性和功能
计算器
- 支持加、减、乘、除基本运算。
- 可解析带小数点的数值。
- 利用
goyacc
生成的语法分析器解析数学表达式。
SQL解析器
- 支持简单SQL语句解析。
- 能识别
SHOW
、TOP
、REQUEST
等关键词。 - 可展示审计用户列表、请求慢查询顶部记录、请求节点信息、请求集群信息等基础命令。
安装使用步骤
复制项目
将项目复制到本地:
bash
cd learn-goyacc
安装依赖工具
安装 goyacc
工具:
bash
go install golang.org/x/tools/cmd/goyacc@latest
生成解析器代码
计算器
进入 calc
目录,生成计算器的语法分析器:
bash
cd calc
goyacc -o parser.go calc.y
SQL解析器
进入 sql
目录,生成SQL解析器的语法分析器:
bash
cd ../sql
goyacc -o parse.go sql.y
运行测试
项目主程序内置了测试函数,直接运行主程序进行测试,测试结果将在控制台输出。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】