- 21
- 0
- 约5.2千字
- 约 9页
- 2018-01-02 发布于河南
- 举报
编译原理实验4
西北师范大学计算机科学与工程学院学生实验报告
学号:201371020107 2015 年 11 月 10 日
系别 计算机科学与技术学院 专业 软件工程 班级 2013级软件一班 姓名 高凯 课程名称 计算机编译原理 课程类型 专业必修 学时数 实验名称 词法分析程序的手动和自动实现 实验目的和要求:
目标:掌握词法分析程序设计和实现。
输入:一段任意的程序。
输出:表形式的相应属性字列序。
要求:1,不处理说明部分,但属性字的符号类中除了编码外,应包含更多地信息。 2,小子集包含的符号类型应具有典型性,且尽可能丰富。3,为了方便输入,提供帮助信息,说明可以有哪些符号,属于字结构如何等。 实验内容:
源代码:
#includestdio.h
#includestdlib.h
#includestring.h
#define _KEY_WORD_END waiting fou your expanding/*定义关键字的结束标志*/
typedef struct
{
int typenum; /*种别码*/
char *word;
}WORD;
char input[255]; /*源程序缓字符冲区*/
char token[255]=; /*单词缓冲区*/
int p_input; /*源程序字符指针*/
int p_token; /*单词缓冲区指针*/
char ch;
char *rwtab[]={void,int,float,char,if,else,while,do,return,_KEY_WORD_END};
WORD *scaner(); /*词法扫描函数,获得一个单词*/
void main()
{
int over=1;
int count=0;
WORD *oneword = new WORD;
printf(Enter Your words(end with #):);
scanf(%[^#]s,input); /*输入源程序字符串到缓冲区,以#结束*/
p_input=0;
printf(词法分析结果是:\n\n);
while (over1000 over!= -1)
{
oneword=scaner();
if(oneword-word==OVER)
break;
else if(oneword-typenum 1000)
printf((%d,%s) ,oneword-typenum ,oneword-word );
over=oneword-typenum ;
count++;
if(count%6==0) printf(\n);//每六行输出
}
}
char m_getch() /*从输入源读一个字符到CH中*/
{
ch=input[p_input];
p_input=p_input+1;
return ch;
}
void getbc() /*去掉空白字符*/
{
while (ch == || ch== 10)
{
ch = input[p_input];
p_input=p_input+1;
}
}
void concat() /*拼接单词*/
{
token[p_token]=ch;
p_token=p_token+1;
token[p_token]=\0;
}
int letter()/*判断是否是字母*/
{
if(ch=a ch=z|| ch =A ch =Z)
return 1;
else return 0;
}
int digit()/*判断是否是数字*/
{
if(ch=0 ch=9)
return 1;
else return 0;
}
int reserve()/*检索关键字表格*/
{
int i=1;
while(strcmp(rwtab[i],_KEY_WORD_END))
{
if(!strcmp(rwtab[i],token))
{
return i+24;
}
i=i+1;
}
return 1;
}
void retract()/*回退一个字符*/
{
p_input=p_input-1;
}
char *dtb()
{
return NULL;
}
WORD *scaner()/*词法扫描程序*/
{ int i=0;
WORD *myword =new WORD;
myword-typenum=0;
myword-
您可能关注的文档
最近下载
- RB308A-rev1.7-晶准-恒佳盛一级代理.pdf VIP
- 小学奥数 较复杂的乘法原理.pdf VIP
- 2024年陕西省中考数学真题(学生版+解析版).docx
- 小学奥数 加乘法原理.docx VIP
- 2025烟台南山学院单招《数学》复习提分资料(含答案详解).docx VIP
- 湖南省湘一名校2026届高三上学期12月质量检测物理试卷(含答案).pdf VIP
- 2025年上海高考数学二轮复习:热点题型4 统计与概率(六大题型)原卷版+解析.pdf VIP
- WordExcel2010中文版办公专家从入门到精通.pdf VIP
- 新教材人教A版高中数学选择性必修第三册习题答案.docx VIP
- 专题08 古诗鉴赏(解析版)备战2024年中考语文真题题源解密(全国通用.docx VIP
原创力文档

文档评论(0)