实验目的
构造 tiny 语言的词法分析器(扫描器),要求利用第三方的 lex 工具进行构造。实验结果:构造出的扫描器,能够读入教材样例中给出的 tiny 语言的示例代码,分解成 token 输出。
源文件地址
输入设计
{ Sample program
in TINY language -
computes factorial
}
read x; { input an integer }
if 0 < x then { don't compute if x <= 0 }
fact := 1;
repeat
fact := fact * x;
x := x - 1
until x = 0;
write fact { output factorial of x }
end
输出设计
reserved word:read
ID,name= x
;
reserved word:if
NUM,val= 0
<
ID,name= x
reserved word:then
ID,name= fact
:=
NUM,val= 1
;
reserved word:repeat
ID,name= fact
:=
ID,name= fact
*
ID,name= x
;
ID,name= x
:=
ID,name= x
-
NUM,val= 1
reserved word:until
ID,name= x