毕业论文范文网-论文范文
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 学前教育 德语论文 工程管理 文化产业 工商管理 会计专业 行政管理 广告学
机械设计 汉语文学 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 药学论文 播音主持 人力资源 金融论文 保险学
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 计算机论 电子信息 市场营销 法学论文 财务管理 投资学
体育教育 小学教育 印刷工程 土木工程 书法论文 护理论文 心理学论 信息管理 公共事业 给水排水 新闻专业 摄影专业 广电编导 经济学
  • 范文首页 |
  • 毕业论文 |
  • 论文范文 |
  • 计算机论文 |
  • 外文翻译 |
  • 工作总结 |
  • 工作计划 |
  • 现成论文 |
  • 论文下载 |
  • 教学设计 |
  • 免费论文 |
  • 原创论文 |
搜索 高级搜索

原创毕业论文

当前位置:毕业论文范文网-论文范文 -> 论文下载 -> 计算机毕业论文范文

编译原理课程设计实验报告——说明语句的词法分析器

 本文ID:ZJWD240673 充值:150元
免费毕业论文范文
免费毕业论文
政治工作论文
计算机论文
营销专业论文
工程管理论文范文
医药医学论文范文
法律论文范文
生物专业论文
物理教学论文范文
人力资源论文范文
化学教学论文范文
电子专业论文范文
历史专业论文
电气工程论文
社会学专业论文
英语专业论文
行政管理论文范文
语文专业论文
电子商务论文范文
焊工钳工技师论文
社科文学论文
教育论文范文
数学论文范文
物流论文范文
建筑专业论文
食品专业论文
财务管理论文范文
工商管理论文范文
会计专业论文范文
专业论文格式
化工材料专业论文
英语教学专业论文
电子通信论文范文
旅游管理论文范文
环境科学专业论文
经济论文
人力资源论文范文
营销专业论文范文
财务管理论文范文
物流论文范文
财务会计论文范文
数学教育论文范文
数学与应用数学论文
电子商务论文范文
法律专业论文范文
工商管理论文范文
汉语言文学论文
计算机专业论文
教育管理论文范文
现代教育技术论文
小学教育论文范文
机械模具专业论文
报告,总结,申请书
心理学论文范文
学前教育论文范文

收费计算机专业论文范文
收费计算机专业论文
Delphi
ASP
VB
JSP
ASP.NET
VB.NET
java
VC
pb
VS
dreamweaver
c#.net
vf
VC++
计算机论文
扫一扫 扫一扫
毕业论文范文题目: 编译原理课程设计实验报告——说明语句的词法分析器,论文范文关键词: 编译原理课程设计实验报告——说明语句的词法分析器
编译原理课程设计实验报告——说明语句的词法分析器毕业论文范文介绍开始:
   一、设计目的
  了解词法分析程序的基本构造原理,掌握词法分析程序的手工构造及自动构造方法。
  二、设计内容
  根据PASCAL语言的说明语句形式,用手工及自动方法构造一个对说明语句进行词法分析的程序。该程序能对从键盘输入或从文件读入的形如:
  “const count=10,sum=81.5,char1=’f’,string1=”hj”, max=169;”
  的常量说明串进行处理,分析常量说明串中各常量名、常量类型及常量值,并统计各种类型常量个数。
  三、设计要求
  1、输入的常量说明串,要求最后以分号作结束标志;
  2、根据输入串或读入的文本文件中第一个单词是否为“const”判断输入串或文本文件是否为常量说明内容;
  3、识别输入串或打开的文本文件中的常量名。常量名必须是标识符,定义为字母开头,后跟若干个字母,数字或下划线;
  4、根据各常量名紧跟等号“=”后面的内容判断常量的类型。其中:字符型常量定义为放在单引号内的一个字符;字符串常量定义为放在双引号内所有内容;整型常量定义为带或不带+、- 号,不以0开头的若干数字的组合;实型常量定义为带或不带+、- 号,不以0开头的若干数字加上小数点再后跟若干数字的组合;
  5、统计并输出串或文件中包含的各种类型的常量个数;
  6、以二元组(类型,值)的形式输出各常量的类型和值;
  7、根据常量说明串置于高级语言源程序中时可能出现的错误情况,模仿高级语言编译器对不同错误情况做出相应处理。
  四、运行结果
  1、输入如下正确的常量说明串:
  const count=10,sum=81.5,char1=‘f’,max=169,str1=“h*54 2..4S!AAsj”, char2=‘@’,str2=“aa!+h”;
  输出:
  count(integer,10)
  sum(float,81.5)
  char1(char, ‘f’)
  max(integer,169)
  str1(string,“h*54 2..4S!AAsj”)
  char2(char, ‘@’)
  str2(string,“aa!+h”)
  
  int_num=2; char_num=2; string_num=2; float_num=1.
  2、输入类似如下的保留字const错误的常量说明串:
  Aconstt count=10,sum=81.5,char1=‘f’;
  输出类似下面的错误提示信息:
  It is not a constant declaration
  Please input a string again!
  3、输入类似如下含常量名或常量值错误的常量说明串:
  const count=10,12sum=81.5,char1=‘ff’,max=0016;
  输出类似下面的错误提示信息:
  count(integer,10)
  12sum(Wrong! It is not a identifier!)
  char1(Wrong! There are more than one char in ‘’.)
  max(Wrong! The integer can’t be started with ‘0’.)
  int_num=1; char_num=0; string_num=0; float_num=0.
  4、其他类型的错误处理情况(略)。
  五、提示
  本课程设计重点有三个:一是作为常量名的标识符的识别;二是如何根据“=”后出现的内容来判断常量类型;三是对各种错误的处理。难点是对整型和实型常量的判断必须综合考虑多种可能情况。
  提示:
  用指针或数组与指针相结合来处理输入的常量说明串;
  对整型和实型常量处理时,重点考虑常数中‘0’的位置。
  
  六、分析与讨论
  1、若考虑用E或e的科学计数法来表示整数和实数,应该如何实现?
  2、若考虑布尔型常量,且规定其值只能为true或false,应该如何实现?
  3、如何对手工构造的词法分析程序做进一步的优化,以提高代码质量和运行效率?
  
  
  
  说明语句的词法分析器
  【设计目的】
  了解词法分析程序的基本构造原理,掌握词法分析程序的手工构造及自动构造方法。
  【设计内容】
  根据PASCAL语言的说明语句形式,用手工及自动方法构造一个对说明语句进行词法分析的程序。该程序能对从键盘输入或从文件读入的形如:
  “const count=10,sum=81.5,char1=’f’,string1=”hj”, max=169;”
  的常量说明串进行处理,分析常量说明串中各常量名、常量类型及常量值,并统计各种类型常量个数。
  【设计要求】
  1、输入的常量说明串,要求最后以分号作结束标志;
  2、根据输入串或读入的文本文件中第一个单词是否为“const”判断输入串或文本文件是否为常量说明内容;
  3、识别输入串或打开的文本文件中的常量名。常量名必须是标识符,定义为字母开头,后跟若干个字母,数字或下划线;
  4、根据各常量名紧跟等号“=”后面的内容判断常量的类型。其中:字符型常量定义为放在单引号内的一个字符;字符串常量定义为放在双引号内所有内容;整型常量定义为带或不带+、- 号,不以0开头的若干数字的组合;实型常量定义为带或不带+、- 号,不以0开头的若干数字加上小数点再后跟若干数字的组合;
  5、统计并输出串或文件中包含的各种类型的常量个数;
  6、以二元组(类型,值)的形式输出各常量的类型和值;
  7、根据常量说明串置于高级语言源程序中时可能出现的错误情况,模仿高级语言编译器对不同错误情况做出相应处理。
  【算法思想】
  本题是对PASCAL语言的说明语句的识别,PASCAL语言的说明语句形式由以下部分构成:
  Const 变量名=变量值,变量名=变量值,……;
  。。。。。。。。
  【变量与函数说明】
  1、变量定义:
  char lexbuf[BUFSIZE]; //变量名数组
  char token[BUFSIZE]; //变量值数组
  int int_num=0,char_num=0, string_num=0, float_num=0; //不同类型的变量计数
  2、函数声明:
  void error(char *lexbuf,char *token):
  对每组变量名和变量值进行错误检查,若无错误,则输出三元组结果;
  。。。。。。。
  【实验源代码】
  /******************词法分析程序lex.c*******************/
  #include ﹤stdio.h﹥
  #include ﹤string.h﹥
  #include ﹤ctype.h﹥
  
  #define BUFSIZE 20 /* 定义缓冲区大小*/
  
  char lexbuf[BUFSIZE]; //变量名数组
  char token[BUFSIZE]; //变量值数组
  int int_num=0,char_num=0, string_num=0, float_num=0; //不同类型的变量计数
  
  /********对每组变量名和变量值进行错误检查,若无错误,则输出三元组结果**********/
  void error(char *lexbuf,char *token)
  。。。。。。。
  【运行结果】
  
 


以上为本篇毕业论文范文 编译原理课程设计实验报告——说明语句的词法分析器的介绍部分。

本论文在计算机毕业论文范文栏目,由论文网(www.zjwd.net)整理,更多论文,请点论文范文查找

毕业论文降重 相关论文
收费毕业论文范文
收费毕业论文
汉语言文学论文
物理学论文
自动化专业论文
测控技术专业论文
历史学专业论文
机械模具专业论文
金融专业论文
电子通信专业论文
材料科学专业论文
英语专业论文
会计专业论文
行政管理专业论文
财务管理专业论文
电子商务国贸专业
法律专业论文
教育技术学专业论文
物流专业论文
人力资源专业论文
生物工程专业论文
市场营销专业论文
土木工程专业论文
化学工程专业论文
文化产业管理论文
工商管理专业论文
护理专业论文
数学教育专业论文
数学与应用数学专业
心理学专业论文
信息管理专业论文
工程管理专业论文
工业工程专业论文
制药工程专业论文
电子机电信息论文
现代教育技术专业
新闻专业论文
艺术设计专业论文
采矿专业论文
环境工程专业论文
西班牙语专业论文
热能与动力设计论文
工程力学专业论文
酒店管理专业论文
安全管理专业论文
交通工程专业论文
体育教育专业论文
教育管理专业论文
日语专业论文
德语专业论文
理工科专业论文
轻化工程专业论文
社会工作专业论文
乡镇企业管理
给水排水专业
服装设计专业论文
电视制片管理专业
旅游管理专业论文
物业管理专业论文
信息管理专业论文
包装工程专业论文
印刷工程专业论文
动画专业论文
环境艺术专业论文
信息计算科学专业
物流专业论文范文
人力资源论文范文
营销专业论文范文
工商管理论文范文
汉语言文学论文范文
法律专业论文范文
教育管理论文范文
小学教育论文范文
学前教育论文范文
财务会计论文范文

电子商务论文范文

上一篇: 编译原理课程设计实验报告——基.. 下一篇: 编译原理课程设计实验报告——基..

最新论文

精品推荐

毕业论文排版

热门论文


本站简介 | 联系方式 | 论文改重 | 免费获取 | 论文交换

本站部分论文来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:229120615@qq.com

毕业论文范文-论文范文-论文同学网(www.zjwd.net)提供计算机毕业论文范文毕业论文,毕业论文范文,毕业设计,论文范文,毕业设计格式范文,论文格式范文

Copyright@ 2010-2024 zjwd.net 毕业论文范文-论文范文-论文同学网 版权所有