编译原理实习一:词法部分
请使用pascal或C语言编写词法分析程序。词法分析程序的输入是一个源程序文件
(和编写词法分析程序的语言一致),而输出是用正文表示的词法分析结果。输出中,每一个识别得到的符号的信息占一行。每一行分为两部分。前面部分是符号的类型,比如Keyword,identifier等,也可以用中文表示。后面部分是符号的值,比如:begin,abc等。
例如:对于输入程序
program abc()
var I:integer;
begin
I:=0;
end.
词法分析的输出为:
keyword program
identifier abc
delimit (
delimit )
keyword var
identifier I
delimit :
keyword integer
delimit ;
keyword begin
identifier I
delimit :=
const 0
delimit ;
keyword end
delimit .
请使用pascal或C语言编写词法分析程序。词法分析程序的输入是一个源程序文件
(和编写词法分析程序的语言一致),而输出是用正文表示的词法分析结果。输出中,每一个识别得到的符号的信息占一行。每一行分为两部分。前面部分是符号的类型,比如Keyword,identifier等,也可以用中文表示。后面部分是符号的值,比如:begin,abc等。
例如:对于输入程序
program abc()
var I:integer;
begin
I:=0;
end.
词法分析的输出为:
keyword program
identifier abc
delimit (
delimit )
keyword var
identifier I
delimit :
keyword integer
delimit ;
keyword begin
identifier I
delimit :=
const 0
delimit ;
keyword end
delimit .