赞
踩
问题描述:
用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表。如果产生词法错误,则显示错误信息、位置,并试图从错误中恢复。简单的恢复方法是忽略该字符(或单词)重新开始扫描。
相关词法规则
::=
::=
::=
::=
::=
::=
::=
::=a|b|c|……|x|y|z
::=0|1|2|3|4|5|6|7|8|9
::=+|-
::=*|/
::=|!=|>=|<=|==
::=,|;|(|)|{|}
::=main|int|if|else|while|do
编写词法分析程序的步骤:
(1)确定所要翻译的语言(或其子集)。
C语言
(2)设计属性字,及各类表格,如标识符表、常量表、符号及其机内表示对照表等。
与词法分析有关的表格:
1. 字符表
保留字:main,int,if,else,while,do
字母(全小写):a|b|c|……|x|y|z
数字:0,1,2,3,4,5,6,7,8,9
运算符和界符:,!=,>=,<=,==,,,;,(,),{,}
2. 特定单词机内表示表
3.画出总控流程图及各个子程序的流程图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。