# dslc **Repository Path**: maryprimary/dslc ## Basic Information - **Project Name**: dslc - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DSL 编译器工具链 (dslc) ## 项目简介 `dslc` 是一个用于构建领域特定语言(DSL)的工具链,提供了从词法分析、语法解析到代码生成的完整流程。该项目使用 Python 编写,适合用于构建小型语言或脚本系统。 ## 主要功能 - 支持表达式解析(如 `1 + 2 * 3`)。 - 支持变量、函数调用、运算符优先级。 - AST 构建与遍历。 - 支持将 AST 转换为 C 语言代码。 - 支持嵌入 Python 字符串求值。 ## 安装与使用 ### 安装 该项目依赖 Python 3.x,无需额外依赖库。克隆仓库后即可直接运行: ```bash git clone https://gitee.com/maryprimary/dslc.git cd dslc ``` ### 示例 运行测试脚本查看功能演示: ```bash python tests/test_parser.py python tests/test_ccode_gen.py ``` ## 模块说明 - `dslc/core/dslc_lexer.py`: 词法分析器,负责将输入代码转换为 token 流。 - `dslc/core/dslc_parser.py`: 语法解析器,构建 AST。 - `dslc/core/dslc_symbol_table.py`: 符号表管理模块,用于变量和作用域管理。 - `dslc/passes/`: AST 处理模块,包括常量定义、字符串求值、逗号操作符扁平化等。 - `dslc/backend.py`: 后端代码生成模块,支持 C 语言代码生成。 - `tests/`: 测试脚本,涵盖词法分析、语法解析、AST 处理等功能。 ## 贡献指南 欢迎贡献代码或提出建议!请遵循以下步骤: 1. Fork 仓库。 2. 创建新分支。 3. 提交代码更改。 4. 提交 Pull Request。 ## 许可证 本项目采用 BSD 许可证,请参见 [LICENSE](LICENSE) 文件。