第二章一个微小的编译器 1.小语言 Micro的定义 2. Micro程序的编译过程 3.表达式的处理
第二章 一个微小的编译器 1. 小语言Micro的定义 2. Micro程序的编译过程 3. 表达式的处理
小语言 Micro的定义 P>begin VDL, SL end VDL >VDVD; VDL ●VD→ var id:T SL→S|s;SL s>id: = E write(E) read(id) o T>integer real E → id num E+ E E米E (∈E)
小语言Micro的定义 ⚫ P → begin VDL;SL end. ⚫ VDL → VD | VD ; VDL ⚫ VD → var id : T ⚫ SL → S | S ; SL ⚫ S → id:= E | write(E) | read(id) ⚫ T → integer | real ⚫ E → id | num | E + E | E * E |(E)
程序例: begin var xl: real var z1: real X1:=0.5 z1:三x1+55 write( z1 +5.5) read( x1) z1:=z1+x1 end
程序例: begin var x1:real ; var z1:real ; x1 := 0.5 ; z1 := x1 + 55 ; write( z1 +5.5 ); read( x1 ) ; z1 :=z1 + x1 end
Micro的词法分析 单词的种类 Token定义 词法分析过程
Micro的词法分析 ⚫ 单词的种类 ⚫ Token定义 ⚫ 词法分析过程
小co的词法分析 Micro语言中单词的分类: ●标识符:字母开头的字母/数字串 ●整常数:数字开头的数字串 ●实常数:整数整数 保留字: begin end var read write integer real ●符号词:+*():: ●控制词:d(换行符)
Micro的词法分析 Micro语言中单词的分类: ⚫ 标识符:字母开头的字母/数字串 ⚫ 整常数:数字开头的数字串 ⚫ 实常数:整数.整数 ⚫ 保留字:begin end var read write integer real ⚫ 符号词:+ * ( ) : := ; . ⚫ 控制词: (换行符)