# Aix **Repository Path**: QQXQQ/Aix ## Basic Information - **Project Name**: Aix - **Description**: Aix language - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-18 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Aix ## README # Aix #### 介绍 Aix 是一门基于 Go 语言实现的现代脚本语言,提供了完整的词法分析、语法解析和抽象语法树(AST)构建能力。该项目旨在实现一门简洁、高效的编程语言,适用于脚本编写和应用扩展场景。 #### 软件架构 Aix 语言项目采用模块化设计,主要包含以下核心组件: - **词法分析器 (Lexer)**:位于 `aix/parser/lexer.go`,负责将源代码字符串转换为 Token 序列 - **语法分析器 (Parser)**:位于 `aix/parser/parser.go` 及相关文件,实现递归下降解析器,将 Token 流解析为抽象语法树 - **抽象语法树 (AST)**:位于 `aix/ast/ast.go`,定义了语言的各种语法节点类型 - **Token 定义**:位于 `aix/token/token.go`,定义了语言的所有词法单元 - **Unicode 字符串支持**:位于 `aix/unistring/unistring.go`,提供 Unicode 字符序列处理能力 - **文件处理**:位于 `aix/file/file.go`,管理源代码文件和位置追踪 - **内置对象**:位于 `aix/builtin/object.go`,定义语言的内置对象类型 #### 安装教程 1. 确保已安装 Go 1.18 或更高版本 2. 克隆或下载本仓库到本地 3. 进入项目目录: ```bash cd aix ``` 4. 下载依赖: ```bash go mod download ``` #### 使用说明 **解析文件:** ```go package main import ( "fmt" "github.com/QQXQQ/Aix/aix/parser" ) func main() { program, err := parser.ParseFileByPath("example/HelloAix.aix") if err != nil { fmt.Println("解析错误:", err) return } fmt.Printf("解析成功: %+v\n", program) } ``` **解析脚本字符串:** ```go program, err := parser.ParseScript("main.aix", `let x = "hello";`) if err != nil { fmt.Println("解析错误:", err) return } ``` #### 语言特性 - **变量声明**:支持 `var` 和 `let` 关键字进行变量声明 - **表达式**:支持赋值表达式、条件表达式、算术表达式等 - **完整的 Token 集合**:包括运算符、关键字、标识符、字面量等 - **Unicode 支持**:完整的 Unicode 字符串处理能力 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 许可证 本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。