1451分钟

Antlr 实战: 动手做一个语言解释器

Antlr 实战: 动手做一个语言解释器

语法设计:确定语言的语法结构,如变量声明、表达式、控制结构等。这部分可以参考已有的编程语言的语法设计。 语义设计:定义语言中各个结构的含义和行为,如运算符的优先级、变量作用域、类型转换规则等。这部分需…

课程分类
编程开发 | 软件开发
适用人群
工程师, 专家
课程标签
语言解释器,语法设计,Antlr实战
语法设计:确定语言的语法结构,如变量声明、表达式、控制结构等。这部分可以参考已有的编程语言的语法设计。 语义设计:定义语言中各个结构的含义和行为,如运算符的优先级、变量作用域、类型转换规则等。这部分需要考虑语言的目标和使用场景。 运行时环境:定义语言的运行时环境,包括内存管理、异常处理、多线程支持等。这部分需要了解操作系统的相关知识。
第1章 初识 Antlr:再看表达式求值程序 - 1-1 初识Antlr - 1-2 ANTLR的下载和安装演示 - 1-3 抽象语法树讲解 - 1-4 EBNF 文法文件的作用 - 1-5 基于 Antlr 的表达式求值程序 第2章 添砖加瓦:从0到1认识开发流程 - 2-1 增加除法功能支持 - 2-2 作用域语法性质设计 - 2-3 文法文件:作用域文法支持 - 2-4 解释器:作用域功能支持 - 2-5 if 语法文法设计 - 2-6 条件表达式文法设计 - 2-7 工程目录结构认识 - 2-8 工程源码解读 - 2-9 强类型与弱类型 - 2-10 作用域中 map 映射的思考 - 2-11 IValue 接口代码演示 - 2-12 修改加法操作的代码演示 第3章 迈出第一步:封装与实现解释器程序 - 3-1 Antlr 树型结构封装 - 3-2 封装作用域类 - 3-3 IValue 通用类型接口设计 - 3-4 解释器整体执行架构搭建 - 3-5 master 与 factory 的完善 - 3-6 添加责任链模式 - 3-7 解决编译错误 - 3-8 设计IValue类型操作入口 - 3-9 完善 IntValue 相关操作 - 3-10 补全 Float 与 String 类型操作 第4章 走好第二步:分支与循环功能 - 4-1 字符串转移功能完善 - 4-2 条件表达式功能逻辑搭建 - 4-3 IValue 类型中的条件运算符重载 - 4-4 实现分支与循环语句 - 4-5 for 语句的 BUG 修复 - 4-6 修复 IValue 的内存泄露 - 4-7 修复 Parameter 的内存泄露 第5章 第三步:实现函数功能 - 5-1 关于 break 语句的思考 - 5-2 状态机的基础介绍 - 5-3 分支与循环的状态机结构 - 5-4 DFA 相关类设计 - 5-5 ASTree 由引用改地址 - 5-6 添加 ConditionDFANode 类 - 5-7 分支与循环的状态机构建 - 5-8 break 的状态跳转 - 5-9 break 功能初步实现 - 5-10 break 功能 bug 修复 - 5-11 continue 功能设计与实现 - 5-12 函数的抽象语法树设计 - 5-13 函数的文法文件编写 - 5-14 函数调用的抽象语法树设计 - 5-15 函数调用的文法文件编写 - 5-16 FunctionValue 类设计 - 5-17 FunctionValue 类的初步实现 - 5-18 函数定义功能实现 - 5-19 函数调用功能实现 - 5-20 return 功能实现 - 5-21 function 作用域访问 Bug - 5-22 修复 function 作用域访问 Bug
海贼宝藏/胡光

海贼宝藏/胡光

软通教育旗下高端IT就业品牌,专注于提升IT职业技能课程研发与交付、高效学习平台研发与运营 /ACM亚洲区金牌 高级算法研发工程师 C++学科扛把子