首页 Java词法分析器

Java词法分析器

举报
开通vip

Java词法分析器Java词法分析器 Java语言词法分析器的设计与实现 一(实验目的 1(强化对系统软件综合工程实现能力、规划能力的训练; 2(加强对词法分析原理、方法和基本实现技术的理解; 二(实验内容 1(使用DFA实现词法分析器的设计; 2(实现对Java源程序中注释的过滤; (利用两对半缓冲区从文件中逐一读取单词; 3 4(词法分析结果属性字流存放在独立文件(文件名:scanner_output)中; 5(统计源程序每行单词的个数和整个源文件单词个数; 6(具有报告词法错误和出错位置(源程序行号和该行字符)...

Java词法分析器
Java词法 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 器 Java语言词法分析器的设计与实现 一(实验目的 1(强化对系统软件综合工程实现能力、规划能力的训练; 2(加强对词法分析原理、方法和基本实现技术的理解; 二(实验内容 1(使用DFA实现词法分析器的设计; 2(实现对Java源程序中注释的过滤; (利用两对半缓冲区从文件中逐一读取单词; 3 4(词法分析结果属性字流存放在独立文件(文件名:scanner_output)中; 5(统计源程序每行单词的个数和整个源文件单词个数; 6(具有报告词法错误和出错位置(源程序行号和该行字符)的功能; 三(说明 1(先读进半个缓冲区的字符,以后前半区的字符读完了,先把后半区的字符读到前半区,再从文件中读入字符到后半区,从而实现两对半缓冲区读单词;每次前半区读完,把前半区的字符存到第一缓冲区,以免在第一个字符时无法回退;还要建立第二缓冲区,存放当要把第一缓冲区的内容放进缓冲区前半区时后半区的内容。 2(因为附录也有设计空格和注释的属性字,所以空格和注释也输出,但空格不算入单词总数 四(源程序主要函数功能 void readin1() //读取字符到缓冲区前半区 void readin2() //把后半区的内容送到前半区 void readin3() //把第二缓冲区的内容送到后半区 char readchar() //从缓冲区中读取一个字符 void untread() //回退一个字符 void writefile() //把属性字流信息写进文件里 void error(char *string) //扫描到错误的单词,string 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示错误的单词已扫描过的字符 void identifier() //扫描标识符 void key() //识别关键字 void number() //扫描数字和点号 void explain(int a) //扫描注释,a表示注释是以 // 开始还是以 /* 开始 void op1(char a),void op2(char a),void op3(char a) ,void op4(char a) //分四类扫描运算符 五(主要数据结构设计 struct stream { //属性字流 char attribute[6]; int site; }; char buf[31]; char buf1[16]; //第一缓冲区,存放被覆盖的前半区的字符 char buf2[16]; //第二缓冲区,存放被覆盖的后半区的字符 char keyword[50][13]; //关键字表 char words[50][13]; //变量表 char value[50][13]; //变量或常量的值 char note[80][20] = {"//","/*","*/"}; //注释表 char op[50][5]; //运算符表 char strings[50][50] = {"\""}; //存放字符串中单词的表 char inerror[50][50]; //错误单词表 六(FA设计 字母,$,_,数字 $,_*其他0标识符122 不属于关键字的字母,数字,$,_ *字母布尔常量其他布尔常量345关键字 属于关键字的字母 其他*数字*10其他 1112 X,x数字负号L0数字97687整型常量小数除0外的数字数字点,e小数点F1413 小数点,e,实数常量其他数字单引号单引号字母*16171815字符 字母,空格 双引号双引号字符串1920 运算符运算符 == 02122 其他* 23 运算符1++ 2425 = 26 *其他 27 -- 2829 = 30 其他* 31*= 3233 其他* 34/= 3536 * 其他37%= 3839 其他* 40 &= 04142 &43 *其他 44 ^^运算符24546 *其他 47 || 4849 = 50 其他* 51 >= 5253 >>= 545556 =其他 5758 **其他其他 5960<= 6162 <= 6364 **其他其他 6566 ? 06767 : 68 != 6970 *其他 71 [ 72 ] 73 运算符3 ( 74 ) 75 . 76 , 77 { 78 } 79 ; 80 字母,数\字,\,’ 8182
本文档为【Java词法分析器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-06
浏览量:20