资源简介
编译原理实验,包括词法分析,语法分析,生成四元式

代码片段和文件信息
import javax.swing.Jframe;
/**
* @author HITROBINHO@HOTMAIL.COM
* 主界面类,显示可视化界面
*/
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.util.Vector;
import java.util.regex.Pattern;
/**
* 主类
* @author hitrobinho
* 功能:构造出界面
*/
public class CodeAnalyse {
public CodeAnalyse(){
Mainframe mainframe = new Mainframe();
mainframe.setDefaultCloseOperation(Jframe.DO_NOTHING_ON_CLOSE);
mainframe.setVisible(true);
}
public static void main(String args[]){
new CodeAnalyse();
}
}
class Mainframe extends Jframe{
private static final long serialVersionUID = 1L;
//private JTextArea keywordArea = new JTextArea();
//private JTextArea demArea = new JTextArea();
private JTextArea baseCodeText = new JTextArea();
private JTextArea resultText = new JTextArea();
public Mainframe(){
settitle(“代码分析器“);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int WIDTH = 500;
int HEIGHT = 625;
setSize(WIDTH HEIGHT);
setLocation((screenSize.width - WIDTH)/2 (screenSize.height - HEIGHT)/2);
MainPanel mainPanel = new MainPanel();
add(mainPanel);
baseCodeText.setText(“int main()\n{\n int a;\n int b;\n a=0;\n b=1;\n b=a+b+3;\n b=a+b/3;\n if(a>c)\n {\n a=c+d;\n a=b;\n }\n else\n {\n b=a+3;\n }\n while(a>c)\n {\n a=c;\n }\n}“);
/**主窗口关闭,程序即退出,添加次监听器,提示是否退出程序,保证数据安全*/
addWindowListener(new MainWindowListener());
}
/**主界面窗口关闭监听器*/
class MainWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
int close = JOptionPane.showConfirmDialog(null “现在退出可能会造成数据丢失,您确定要退出吗?“
“退出“ JOptionPane.YES_NO_OPTION);
if(close == JOptionPane.YES_OPTION){
System.exit(0);
}
}
}
/**类功能:
*主界面
*/
class MainPanel extends JPanel{
private static final long serialVersionUID = 1L;
private JPanel basePanel = new JPanel();
// private JPanel baseChoosePanel = new JPanel();
private JPanel resultPanel = new JPanel();
private JButton chooseFileButton = new JButton(“浏览文件...“);
private JButton analyseButton = new JButton(“分析“);
private JScrollPane baseScrollPane;
private JScrollPane resultScrollPane;
public MainPanel(){
setLayout(new GridLayout(20));
//显示要进行分析的代码
basePanel.setLayout(new BorderLayout());
//chooseFileButton.addActionListener(new chooseFileButtonAction());
baseScrollPane = new JScrollPane(baseCodeText);
// baseChoosePanel.add(baseCodeText);
// baseChooseP
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 307 2010-01-05 13:16 lab\.classpath
文件 379 2010-01-05 13:16 lab\.project
文件 629 2010-01-05 13:16 lab\.settings\org.eclipse.jdt.core.prefs
文件 15043 2010-01-05 14:12 lab\bin\a.class
文件 555 2010-01-05 14:12 lab\bin\CodeAnalyse.class
文件 1748 2010-01-05 14:12 lab\bin\Mainfr
文件 1660 2010-01-05 14:12 lab\bin\Mainfr
文件 898 2010-01-05 14:12 lab\bin\Mainfr
文件 1817 2010-01-05 14:12 lab\bin\Mainfr
文件 308 2010-01-05 14:12 lab\bin\Node.class
文件 329 2010-01-05 14:12 lab\bin\SYS.class
文件 14324 2010-01-09 20:09 lab\src\a.class
文件 412 2010-01-09 20:09 lab\src\CodeAnalyse.class
文件 30596 2010-03-12 12:57 lab\src\CodeAnalyse.java
文件 1477 2010-01-09 20:09 lab\src\Mainfr
文件 1594 2010-01-09 20:09 lab\src\Mainfr
文件 754 2010-01-09 20:09 lab\src\Mainfr
文件 1580 2010-01-09 20:09 lab\src\Mainfr
文件 253 2010-01-09 20:09 lab\src\Node.class
文件 275 2010-01-09 20:09 lab\src\SYS.class
目录 0 2010-01-05 13:16 lab\.settings
目录 0 2010-01-05 13:19 lab\bin
目录 0 2010-01-09 17:43 lab\src
目录 0 2010-01-05 13:16 lab
----------- --------- ---------- ----- ----
74938 24
- 上一篇:java调用网易云音乐接口
- 下一篇:采用java编写的C语言词法分析器(可执行)
相关资源
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- android带百分比进度条的文件上传,使
- jsonarray所必需的6个jar包.rar
- 当当网完整项目、包括js、css、html
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- pc与android通过usb socket实现手机通信
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- commons-beanutils-1.8.3.jar
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- ehcache-core-2.5.1.jar
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- JSP,SQL,MVC的选课系统
- Java编写的qq聊天室
评论
共有 条评论