- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译语言-词法分析器的设计
实验二 词法分析器的设计
一、实验内容
设计一个词法分析器程序,该程序能完成如下功能:输入的字符串中的单词有整数和以字母开头的标识符,分析器能识别出单词并区分是整数还是标识符,标识符中是否有while、do、if、then、else、begin、end、and、or、or等保留字。若单词是整数则输出整数的编码及数值,是标识符则判定是否为保留字,是保留字则将保留字及其对应的编码输出,否则输出标识符号及其编码。要求用JAVA语言、图形界面方式编程。(可参考实验指导书P110至P113)
可以有如下约定:保留字if的编码为0,then为1,else为2,while为3,begin为4,do为5,end为6,and为39,or为40,not为41.整数的编码为57,标识符的编码为56.
例如:若文本文件中的字符串为while do at a45 a+ 34 end 则输出(while,3), (do,5), (at,56), (a45,56), (a+,56), (34,57), (end,6)
二、实验代码
AnalysisOfMorphology.java
package distinguish;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class AnalysisOfMorphology extends JApplet{
private JFileChooser jfc = new JFileChooser(new File(.));
private JTextArea jta1 = new JTextArea();
private JTextArea jta2 = new JTextArea();
private JButton jlb1 = new JButton(字符串的内容为:);
private JButton jlb2 = new JButton(词法分析器分析结果为:);
private JLabel fileName = new JLabel( Filename );
private JTextField jtf = new JTextField(30);
private JButton brower = new JButton(Brower);
public AnalysisOfMorphology(){
JPanel p1 = new JPanel();
p1.setLayout(new BorderLayout());
p1.setBorder(BorderFactory.createEmptyBorder(5,5,5,10));
p1.add(jlb1,BorderLayout.NORTH);
p1.add(new JScrollPane(jta1), BorderLayout.CENTER);
add(p1,BorderLayout.CENTER);
JPanel p2 = new JPanel();
p2.setLayout(new BorderLayout());
p2.setBorder(BorderFactory.createEmptyBorder(5,5,5,10));
p2.add(jlb2,BorderLayout.NORTH);
p2.add(new JScrollPane(jta2), BorderLayout.CENTER);
add(p2,BorderLayout.EAST);
JPanel p3 = new JPanel();
p3.setLayout(new BorderLayout());
p3.add(fileName,BorderLayout.WEST);
p3.add(jtf);
p3.add(brower, BorderLayout.EAST);
add(p3,BorderLayout.SOUTH);
jtf.setText(C:/2.txt);
brower.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
open();
}
});
jtf.addKeyLis
您可能关注的文档
- 专题4 阅读理解问题.ppt
- PR(Public relation)公共关系.ppt
- 如何上好阅读理解课.ppt
- 大英四级阅读理解.ppt
- 英语阅读理解-抓住大意.ppt
- C++程序设计教程10Chapter10.ppt
- 2015高考英语模拟测试卷答案二.ppt
- 高中阅读理解题型.ppt
- java教学课件4.ppt
- 单词练习和动词应用.ppt
- 跨境园艺花卉电商2025年冷链物流成本效益评估报告.docx
- 冷链物流在预制菜产业中的节能减排策略研究报告.docx
- 跨境珠宝电商直播带货模式市场潜力与可行性研究.docx
- 2025至2030全球及中国红景天粉行业市场深度研究及发展前景投资可行性分析报告.docx
- 数据要素市场交易平台在政务领域的应用与探索.docx
- 智能家居生态构建策略与2025年用户接受度提升路径研究报告.docx
- 冷链物流在预制菜行业中的冷链物流园区建设规划.docx
- 全球协作机器人产业应用趋势与市场前景预测报告.docx
- 冷链物流在预制菜行业中的智能化解决方案报告.docx
- 2025年教育行业招生渠道效果分析与转化效率提升报告.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)