基于 SDD 的翻译
最后更新于:2022-04-02 04:08:10
[TOC]
## 基于SDD的翻译
SSD全程为Syntax Direacted Definition
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/90/e9/90e9d9f344002d856d90f4d0d3dd92c7_400x176.png)
特点:
- 解耦—1套AST多套使用方法
- 规范—(先写出SDD再写程序不需要过多思考)—类比语法分析部分的产生式到递归的关系
## 语法执导定义
定义抽象语法树如何被翻译
组成:
- 文法(如何组织翻译程序)
- 属性(用于存储结果和中间值)
- 规则(描述属性如何被计算)
### 四则运算的语法制导定义(SDD)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/0f/9b/0f9b1649e4569a027e060865e9db2395_400x140.png)
## 利用翻译形成代码
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d7/9e/d79ebd90970acd7364ed55839a57c297_400x189.png)
';