# 学习编程语言实现模式 **Repository Path**: ChestnutStone/LearnLanguageImplementationPatterns ## Basic Information - **Project Name**: 学习编程语言实现模式 - **Description**: 阅读与学习《编程语言实现模式》(ISBN: 9787560977003),书本中的示例代码是基于Antlr3的,我在学习时使用Antlr4重新实现了一遍书中几乎所有的示例代码。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-05 - **Last Updated**: 2025-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学习《编程语言实现模式》 image-20250405220236139 本人阅读与学习《编程语言实现模式》(ISBN: 9787560977003),书本中的示例代码是基于Antlr3的,我在学习时使用Antlr4重新实现了一遍书中几乎所有的示例代码,在这里将自学过程中的项目分享出来,供大家学习与参考。 ## 目录介绍 | 目录 | 用途 | | ------------ | ------------------------------------------------------------ | | Projects | 该目录为本人跟随书本自学时所创建的项目,部分项目里有“Learn”和“Learn_Antlr4”两个文件夹,前者是书本的参考代码(基于Antlr3),后者是我使用Antlr4根据书本示例代码来写的项目(力求和原版参考代码输出一致) | | Windows工具 | antlr4最新版控制台工具 | | ignore文件 | 有针对Visual Studio和针对Java项目的gitignore文件 | | 本书参考代码 | 《编程语言实现模式》书本附带的示例代码 | | 笔记 | 本人自学Antlr4时记录的笔记 | | 通用脚本 | 一些针对Antlr3和Antlr4的命令行脚本 | ## 开发环境配置 IDE:[IntelliJ IDEA](https://www.jetbrains.com/idea/) IDE插件:ANTLR v4 ![image-20250405221619757](images/Readme/image-20250405221619757.png) Java版本(版本无需完全跟我的一致,大家可自行选择合适的):17.0.6 ![image-20250405221813875](images/Readme/image-20250405221813875.png) ## 运行代码 以《30 基于规则的翻译器》小节为例 ![image-20250405222105134](images/Readme/image-20250405222105134.png) ### 运行原版示例代码 在`test`目录下找到单元测试并运行即可 ![image-20250405222235783](images/Readme/image-20250405222235783.png) ### 运行Antlr4版本的示例代码 与原版的基本类似,也是在`test`目录下找到单元测试并运行。由于Antlr4和Antlr3有较大差别,我只能尽量做到输出一致,但是具体的代码实现可能会相差很大。 ![image-20250405222451522](images/Readme/image-20250405222451522.png)