一、词法分析

2019-04-09 11:07

实验一 编译预处理和词法分析

实验目的:

1. 从编译程序的角度理解程序设计语言,并进行编译的预处理。 2. 识别程序设计语言源程序的单词符号。

实验内容:

项目1、编写程序,输入为某一C语言源程序

(1)输出的结果不对源程序行改变,仅去掉所有注释的内容;

(2)把C语言中定义的符号常量能采用对应的常量来替换。#DEFINE PI 3.14

项目2、参考:本教材P32描写TEST语言的单词符号;P218附录B的词法分析程序。 编写程序,输入为某一TEST语言源程序,能分别输出所有标识符、保留字、无符号整数、分界符。(通过修改附录B的词法分析程序,添加保留字do,双分界符&&和||以及单分界符!的处理)。

实验报告:

每位同学撰写一份试验报告,并提交电子版的源程序和报告。 实验报告的要求:

项目1:源程序、流程图、运行结果的截图 项目2:源程序、流程图、运行结果的截图

实验报告命名规则:

个人:2013-14(1)医智(1)1107505101蔡菲菲实验一 交各班课代表汇总后,由课代表打包后,发送至老师的邮箱 班级命名规则:2013-14医智(1)实验一 截止日期:第14周周五晚11点30分

实验提示:

(项目1)以下是一个C++程序,请试着写出它的功能。 #include #include void pro_process(char *); void main() {

char buf[4048]={'\\0'}; pro_process(buf); cout<

void pro_process(char *buf) {

ifstream cinf(\

int i=0;

char old_c='\\0',cur_c; bool in_comment=false;

while(cinf.read(&cur_c,sizeof(char))) { switch(in_comment){ case false:

if(old_c=='/'&&cur_c=='*'){ i--;

in_comment=true; } else{

if(old_c=='\\\\'&& cur_c=='\\n') i--; else{

if(cur_c>='A'&&cur_c<='Z') cur_c+=32;

if(cur_c=='\\t'||cur_c=='\\n') cur_c=' ';

buf[i++] =cur_c; } }

break; case true:

if(old_c=='*'&&cur_c=='/') in_comment=false; }

old_c=cur_c; }

buf[i++]='#'; }


一、词法分析.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:渭南市深化中小学教师职称制度改革扩大试点工作实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: