最简单的翻译程序---有限变换器
a1
a2
…
an
只读输入磁带
有限控制器
b1 b2 b3
只写输出磁带
• 定义: 一个有限变换器M是一个六元组(Q,Σ,∆, δ,q0 ,F),其中 (1) Q是状态的有限集. (2) Σ是有限的输入字母表. (3) ∆是有限的输出字母表. (4) δ是从Q×(Σ ∪{ε})到Q× ∆* 的一些有限子集 * 的映射。 (5) q ∈Q是初始状态。 0 (6) F⊆Q是终态集。
• 类型相容性 变量先声明后引用 名称相关要求 • 解释执行动态语义(计算)生成代码...
如 i f B t h e n S 1 e l s e S2
B Y S1
N
S2
B 的代码 条 件 假转 S1 的 代• • • • 文法模型---- 属性文法 命令式或操作式模型 ----- 操作语义学 应用式模型-----指称语义学 公理式模型-----公理语义学 规格说明模型-----代数数据类型
+/e
+/e q2 a/a +/e
•
q0
-/e
-/e
a/+a q1 a/-a
-/e
-/e
a/-a q4 -/e q3
+/e
+/e
• M的一个组态为三元组 的一个组态为三元组(q,x,y),其中 的一个组态为三元组 , (1)q∈Q是有限控制器的当前状态 ∈ 是有限控制器的当前状态 * (2)x∈Σ 是输入磁带上尚存的输入符号串,且x ∈ 是输入磁带上尚存的输入符号串, 的最左边那个符号在输入头底下。 的最左边那个符号在输入头底下。 * (3)y∈∆* 是到此时为止已发出的输出符号串。 ∈ 是到此时为止已发出的输出符号串。