# CSharpMonkey **Repository Path**: giteezzero/CSharpMonkey ## Basic Information - **Project Name**: CSharpMonkey - **Description**: 《用Go语言自制解释器》源码C#版 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-24 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Monkey 编程语言解释器 这是一个使用 C# 实现的 Monkey 编程语言解释器项目。Monkey 是一门教学用编程语言,该项目按照《用Go语言自制解释器》教程逐步实现。 ## 项目特性 - **词法分析器**:将输入的字符序列转换为标记(Token) - **解析器**:将标记转换为抽象语法树(AST) - **求值器**:执行 AST 并返回结果 - **交互式 REPL**:支持实时输入和输出的命令行界面 ## 目录结构 - `ch1/` - 基础词法分析器实现 - `ch2/` - 添加解析器和抽象语法树 - `ch3/` - 实现求值器和变量管理 - `ch4/` - 支持字符串、数组、哈希表等复杂数据类型 - `*.Tests/` - 单元测试项目 ## 快速开始 ### 环境要求 - .NET SDK 8.0 或更高版本 ### 安装依赖 以管理员权限运行 PowerShell,执行: ```powershell ./sdk-install.ps1 ``` ### 构建项目 使用 Visual Studio 2022 或 Rider 打开 `Monkey.sln` 解决方案文件 ## 使用示例 ```monkey let add = fn(x + y) { return x + y; }; add(2, 3); // 返回 5 ```