littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Go语言的语法分析器学习项目

项目简介

本项目是使用 goyacc 实现的语法分析器练习项目,目的在于学习和实践编译原理中的词法分析与语法分析。项目包含简单计算器和基础SQL解析器两个子项目,均借助 goyacc 工具生成解析器代码。

项目的主要特性和功能

计算器

  • 支持加、减、乘、除基本运算。
  • 可解析带小数点的数值。
  • 利用 goyacc 生成的语法分析器解析数学表达式。

SQL解析器

  • 支持简单SQL语句解析。
  • 能识别 SHOWTOPREQUEST 等关键词。
  • 可展示审计用户列表、请求慢查询顶部记录、请求节点信息、请求集群信息等基础命令。

安装使用步骤

复制项目

将项目复制到本地: 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】