ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:82.50KB ,
资源ID:7376644      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7376644.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译原理_词法分析器.doc)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

编译原理_词法分析器.doc

1、一、实验目的和要求:设计并实现一个 JAVA 语言的词法分析程序,加深对词法分析原理的理解。二、实验原理:词法分析是从左向右扫描每行源程序的符号,拼成单词,换成统一的机内表示形式TOKEN 字,送给语法分析程序。2 TOKEN 字是一个二元式:(单词种别码,自身值)三、 实验步骤与要求1、设计的词法分析器符合软件工程的要求。2、 编制程序,此程序应具有如下功能: 1)输入:字符串(待进行词法分析的源程序),输出:由(种别码,自身值)所组成的二元组序列。2)功能:a. 滤空格b. 识别保留字c. 识别标识符四、试验设计和算法分析:实验原理:程序流程:置初值调用扫描子程序输出串结束输出单词二元组是

2、否结束词法分析主程序示意图待分析的简单语言的词法(1) 关键字:“abstract“,“assert“,“boolean“,“break“,“byte“, “case“,“catch“,“ char “,“class“,“continue“,“default“,“do“,“ double“,“else“,“enum“,“extends“,“final“,“finally“,“float“,“for“,“if“,“implements“,“import“,“instanceof“,“int“,“interface“,“long“,“native“,“new“,“package“,“private

3、“,“protected“,“public“,“return“,“strictfp“,“short“,“static“,“super“,“switch“,“synchronized“,“this“,“throw“,“throws“,“transient“,“try“,“void“,“volatile“,“while“所有关键字都是小写。(2)运算符和界符:“=“,“+“,“-“,“*“,“/“,“,“=“,“=“,“!=“,“!“(“,“)“,“,“,“,“,“;“,“/*“,“*/“,“/“ 设计的词法分析器符合软件工程的要求。2、 编制程序,此程序应具有如下功能: 3)输入:字符串(待进行

4、词法分析的源程序),输出:由(种别码,自身值)所组成的二元组序列。4)功能:d. 滤空格e. 识别保留字f. 识别标识符词法分析程序的算法思想算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。三、代码:package com.huke.lpascal;import java.util.Scanner;/* 词法分析器:输入源程序,输出单词符号。* 输入:字符串(待进行词法分析的源程序 ),输出: 由(种别码 ,自身值)所组成的二元组序列。* author wnp*/public class Lexical

5、/* param args*/public Lexical() /构造函数/定义一个保存关键字的字符串数组String keyWords=new String“abstract“,“assert“,“boolean“,“break“,“byte“, “case“,“catch“,“ char “,“class“,“continue“,“default“,“do“,“ double“,“else“,“enum“,“extends“,“final“,“finally“,“float“,“for“,“if“,“implements“,“import“,“instanceof“,“int“,“inte

6、rface“,“long“,“native“,“new“,“package“,“private“,“protected“,“public“,“return“,“strictfp“,“short“,“static“,“super“,“switch“,“synchronized“,“this“,“throw“,“throws“,“transient“,“try“,“void“,“volatile“,“while“; /定义一个保存运算符的字符串数组String operators=new String“=“,“+“,“-“,“*“,“/“,“,“=“,“=“,“!=“,“!“;/定义一个保存界符的

7、字符串数组String delimiter=new String“(“,“)“,“,“,“,“,“;“,“/*“,“*/“,“/“;/定义一个判断字符串是否为关键字的函数public boolean isKeyWords(String str)for(int i=0;i“+“n“);else if(lex.isDelimiter(str)System.out.print(“+“n“);else if(lex.isConstants(str)System.out.print(“+“n“);else if(lex.isOperators(str)System.out.print(“+“n“);else if(lex.isIdentifiers(str)System.out.print(“+“n“);elseSystem.out.print(“无法识别“ +str+“+“n“); if(str.equals(null)break;四、实验结果及总结:输出:总结:通过该实验,主要有以下几方面收获:一、 对实验原理有更深的理解。二、对词法分析在实践中的应用有深刻的理解。在实践的基础上,把所学过的知识应用于实际应用,更深刻的理解了词法分析以及编译原理的实际应用。三、程序功能还太单一,个人水平有限,还有很多功能待进一步的完善。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报