SDTS基本概念
$语法制导翻译法SDTS = 一个源语言 + 一个目标语言 + 一组翻译规则$
SDTS的翻译规则是文法中的产生式再加上语义动作。
SDTS其形式定义T如下:
$$T = (V_T, V_N, \delta, R, S)$$
- $V_T$ 是一个有穷的输入字母表,包含源语言中的符号。
- $V_N$ 是一个有穷的非终结符号集合。
- $\delta$ 是一个有穷的输出字母表,包含出现翻译串或输出串中的那些符号。
- $R$是形如$A\rightarrow w,y$的规则的有穷集合。
- $S ∈ V_N$是一个开始符号。
解释R中$A\rightarrow w, y$ 。
w 是终结符和(或)非终结符组成的串; y是由$V_N$和(或)$\delta$中符号组成的串。
w 为规则的源成分;y为规则的翻译成分,出现在w,y中的非终结符必须是一一对应的。
T的基础源文法
SDTS的基础源文法是一个CFG(上下文无关文法context-free-grammar):$(V_N, V_T, P,S)$
$P $是形如$A\rightarrow w(w$ 为源程序成分 )的产生式的集合。
从T中去掉输出字母表$\delta$ ,再从T的规则中移走翻译成分y,就可以得到T的基础源文法。
T 的基础目标文法
类似地,从T中去掉字母表$V_T$ 并从T的规则中移去源成分。
CFG:$(V_N, P, \delta, S)$。
P是形如$A \rightarrow y$(y为目标成分)产生式的集合。