# PySQLCompiler-Basics **Repository Path**: joy_2_0/py-sqlcompiler-basics ## Basic Information - **Project Name**: PySQLCompiler-Basics - **Description**: PySQLCompiler-Basics 是一个基于 Python 编写的轻量级 SQL 编译流程示例项目,展示从 词法分析(Lexing)→ 语法分析(Parsing)→ 语句结构构建 的完整链路。 项目基于 MySQL 语法子集,通过正则表达式、递归下降解析与算符优先方法实现核心 SQL 指令的解析,是学习“数据库内核原理”“编译原理”“SQL 语法实现机制”的良好入门示例。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: SQL词法-语法-语义分析, 自定义编译器, 正则表达式, 递归下降解析算法, 数据库内核 ## README # PySQLCompiler-Basics PySQLCompiler-Basics 是一个以 Python 实现的 SQL 编译流程基础示例项目,展示从词法分析到语法解析的完整执行路径。项目以 MySQL 语法子集为基础,通过正则表达式和多种解析方法重建 SQL 指令的结构化语义,是理解数据库内核、编译原理与 SQL 解析机制的入门项目。 --- ## Modules / 模块说明 ### `sql_lexer.py` 基于正则表达式实现 SQL 词法分析,将查询语句拆分为 Token 流,支持关键字、标识符、字符串字面量、数字与常见运算符,是 SQL 编译器的基础组件。 ### `sql_recursive_parser.py` 通过递归下降方法构建 SQL 的语法层次结构,覆盖 `SELECT-FROM-WHERE` 等核心语法形式,并输出清晰的语法树结构。 ### `sql_precedence_parser.py` 采用算符优先与表达式栈结构处理比较运算符、逻辑运算符等复合条件。适合展示不同解析策略之间的差异。 ### `sql_compiler_demo.py` 用于综合演示词法分析与语法分析的运行流程,输入 SQL 后逐步打印 Token 序列、解析过程和最终结构化表示。 --- ## Usage / 使用方式 运行任意模块: ```bash python sql_lexer.py python sql_recursive_parser.py python sql_precedence_parser.py python sql_compiler_demo.py