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为目标成分)产生式的集合。