资源简介
完成以下正则文法所描述的Pascal语言子集单词符号的词法分析程序:
<标识符>→字母︱ <标识符>字母︱ <标识符>数字
<无符号整数>→数字︱ <无符号整数>数字
<单字符分界符> →+ ︱- ︱* ︱; ︱(︱)
<双字符分界符>→<大于>=︱<小于>=︱<小于>>︱<冒号>=︱<斜竖>* <小于>→< <等于>→= <大于>→> <冒号> →: <斜竖> →/
该语言的保留字 :begin end if then else for do while and or not
说明:(1)该语言大小写不敏感;(2)字母为a-z A
代码片段和文件信息
#include
#include
#include
//宏定义
# define BEGIN 1
# define END 2
# define IF 3
# define THEN 4
# define ELSE 5
# define FOR 6
# define DO 7
# define WHILE 8
# define AND 9
# define OR 10
# define NOT 11
# define ID 12
# define INT 13
# define SingleDivide 14
# define DoubleDivide 15
# define Annotation 16
struct rword {
char iden[20];
int res;
};
//保留字
struct rword resword[11] = {
{“begin“BEGIN}
{“end“ END}
{“if“ IF}
{“then“ THEN}
{“else“ ELSE}
{“for“ FOR}
{“do“ DO}
{“while“ WHILE}
{“and“ AND}
{“or“ OR}
{“not“ NOT}
};
//存放分析结果
struct Re
{
char value[20];
int sort;
}Result[100];
int count = 0; //记录结果个数
char ch = ‘\0‘;
char TOKEN[20]; //缓存区
void loo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4249 2011-04-28 22:01 any\any.dsp
文件 514 2011-04-28 19:55 any\any.dsw
文件 33792 2011-04-28 22:01 any\any.ncb
文件 48640 2011-04-28 22:01 any\any.opt
文件 240 2011-04-28 20:07 any\any.plg
文件 5621 2011-04-29 19:37 any\any1.cpp
文件 3377 2011-05-24 17:19 any\any1.dsp
文件 516 2011-05-24 17:19 any\any1.dsw
文件 41984 2011-05-24 17:19 any\any1.ncb
文件 48640 2011-05-24 17:19 any\any1.opt
文件 242 2011-05-24 17:19 any\any1.plg
文件 188467 2011-04-28 19:56 any\Debug\any.exe
文件 193268 2011-04-28 19:56 any\Debug\any.ilk
文件 218000 2011-04-28 19:56 any\Debug\any.pch
文件 377856 2011-04-28 19:56 any\Debug\any.pdb
文件 188468 2011-04-29 19:37 any\Debug\any1.exe
文件 193064 2011-04-29 19:37 any\Debug\any1.ilk
文件 15697 2011-04-29 19:37 any\Debug\any1.obj
文件 218000 2011-04-29 19:29 any\Debug\any1.pch
文件 467968 2011-04-29 19:37 any\Debug\any1.pdb
文件 33792 2011-05-24 17:19 any\Debug\vc60.idb
文件 53248 2011-04-29 19:37 any\Debug\vc60.pdb
文件 62 2011-04-29 19:34 any\test.txt
目录 0 2011-04-29 19:37 any\Debug
目录 0 2011-05-24 17:19 any
----------- --------- ---------- ----- ----
2335705 25
- 上一篇:利用opencv编写的人脸识别
- 下一篇:vc6 开发的股票k线数据显示程序
评论
共有 条评论