资源简介
词法分析器可以对C语言进行词法分析,且用java写的界面
代码片段和文件信息
package bianyi;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
public class init extends Jframe implements ActionListener
{
private JTextArea input = new JTextArea();
private JScrollPane jsp=new JScrollPane(input);
private JTextArea text=new JTextArea();
private JScrollPane jsp2=new JScrollPane(text);
private JLabel label=new JLabel(“词法分析“);
private JButton button = new JButton(“确定“);
private JButton b2=new JButton(“重置“);
public init()
{
super(“一个测试框框“);
jsp.setBounds(40 100300 500);
jsp2.setBounds(400 100300 500);
label.setBounds(3002020050);
button.setBounds(200 650 100 30);
b2.setBounds(400 650 100 30);
//创建Font对象 使用Serief字体,显示风格为斜体Font.ITALIC,加粗Font.BOLD,字号大小为28
Font fnt = new Font(“Serief“ Font.ITALIC + Font.BOLD 30);
label.setFont(fnt); //设置标签中的字体
this.setLayout(null);
this.setBounds(800 800 800 800);
this.add(jsp);
this.add(jsp2);
this.add(label);
this.add(button);
this.add(b2);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(-1);
}
});
button.addActionListener(this);
b2.addActionListener(this);
this.setVisible(true);
}
private String keyWord[] = {“auto““break““case““char““const““continue“
“default““do““double““else““enum““extern““float““for““goto“
“if““int““long““register““return““short““signed““sizeof““static“
“struct““switch““typedef““union““unsigned““void““volatile““while“};
//判断是否是关键字
boolean isKey(String str)
{
for(int i = 0;i < keyWord.length;i++)
{
if(keyWord[i].equals(str))
return true;
}
return false;
}
//判断是否是字母
boolean isLetter(char letter)
{
if((letter >= ‘a‘ && letter <= ‘z‘)||(letter >= ‘A‘ && letter <= ‘Z‘))
return true;
else
return false;
}
//判断是否是数字
boolean isDigit(char digit)
{
if(digit >= ‘0‘ && digit <= ‘9‘)
return true;
else
return false;
}
private char ch;
void analyze(char[] chars)
{
String arr = ““;
for(int i = 0;i< chars.length;i++) {
ch = chars[i];
arr = ““;
if(ch == ‘ ‘||ch == ‘\t‘||ch == ‘\n‘||ch == ‘\r‘){}
else if(isLetter(ch)){
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2018-11-25 19:04 bianyi\.classpath
文件 382 2018-11-25 19:04 bianyi\.project
文件 598 2018-11-25 19:04 bianyi\.settings\org.eclipse.jdt.core.prefs
文件 620 2018-11-25 22:02 bianyi\bin\bianyi\init$1.class
文件 5658 2018-11-25 22:02 bianyi\bin\bianyi\init.class
文件 6822 2018-11-25 22:02 bianyi\src\bianyi\init.java
- 上一篇:语法分析器java实现
- 下一篇:俄罗斯方块可行性研究报告
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论