Java
文章平均质量分 62
EYUANatQQdotCOM
这个作者很懒,什么都没留下…
展开
-
编译原理——变量声明语句(四)
语法分析。代码:Syntax.javapackage per.eyuan.compile;import per.eyuan.util.Action;import per.eyuan.util.GoTo;import per.eyuan.util.Id;import per.eyuan.util.IdTable;import per.eyuan.util.MySt原创 2012-03-30 22:12:55 · 540 阅读 · 0 评论 -
编译原理——赋值语句与简单表达式(七)
GoTo:package per.eyuan.util;public class GoTo { /* * SLR的goto表 * 接受传递过来的状态和非终结符, * 返回Goto表中对应的转向。 */ private String goTo[][]=new String[15][3]; String statu;//状态 String vn;//非终结符 int原创 2012-03-31 09:28:08 · 458 阅读 · 0 评论 -
编译原理——赋值语句与简单表达式(八)
标识符。Identifier.java:package per.eyuan.util;public class Identifier { int index;//eg. 0,1 begin from 0,和二元式中的item2(内码值)对应 String name;//eg. a,b String type;//eg. int,float int value;//值在常数表中的原创 2012-03-31 09:28:20 · 682 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十二)
自定义栈。package per.eyuan.util;public class MyStack { //用来存储状态,符号,语义等信息 //字符串栈 private String s[]=new String[50]; private int top;//栈顶 public MyStack() { super(); init(); } public void i原创 2012-03-31 09:29:19 · 515 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十五)
二元式栈。TwoItemStack.java:package per.eyuan.util;public class TwoItemStack { private TwoItem tis[]=new TwoItem[20]; private int top;//栈顶 public TwoItemStack() { super(); init(); } public v原创 2012-03-31 09:29:48 · 539 阅读 · 0 评论 -
编译原理——赋值语句与简单表达式(六)
Action表。Action.java:package per.eyuan.util;public class Action { /* * SLR的action表,接受传递过来的状态和终结符, * 返回action表中对应的动作r(归约)或者s(移进), * Syntax,根据动作做相应的操作。 */ private String action[][]=new St原创 2012-03-31 09:27:22 · 520 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(九)
标识符表。IdentifierTable.java:package per.eyuan.util;public class IdentifierTable { Identifier table[]=new Identifier[20];//标识符表,存放Identifier对象实例 int count=0;//Identifier表中含有的Identifier实例个数 pub原创 2012-03-31 09:28:33 · 616 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十)
常数。Constant.java:package per.eyuan.util;public class Constant { int index;//eg. 0,1 begin from 0,和二元式中的item2(内码值)对应 String type;//eg. int,float String value;//值,float或者int //构造函数 public C原创 2012-03-31 09:28:46 · 668 阅读 · 0 评论 -
编译原理——赋值语句与简单表达式(十一)
常数表。ConstantTable.java:package per.eyuan.util;public class ConstantTable { Constant table[]=new Constant[20];//标识符表,存放Constant对象实例 int count=0;//Constant表中含有的Constant实例个数 public ConstantTab原创 2012-03-31 09:29:01 · 430 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十三)
二元式。TwoItem.java:package per.eyuan.util;public class TwoItem { String category;//类别id,num String inside;//内码值,对于id和num,通过内码值,在Id和Num类中,找到具体的更多属性 public TwoItem(String category, String inside)原创 2012-03-31 09:29:29 · 675 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十四)
二元式队列。TwoItemQueue.java:package per.eyuan.util;public class TwoItemQueue { private TwoItem tiq[]=new TwoItem[20]; private int head;//队首 private int tail;//队尾 public TwoItemQueue() { super(原创 2012-03-31 09:29:38 · 550 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十六)
四元式。FourItem.java:package per.eyuan.util;public class FourItem { String op; String arg1; String arg2; String result; public FourItem(String op, String arg1, String arg2, String result) {原创 2012-03-31 09:29:58 · 606 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十七)
四元式栈。FourItemStack.java:package per.eyuan.util;public class FourItemStack { private int top; private FourItem fis[]=new FourItem[30]; public FourItemStack() { super(); init(); } publi原创 2012-03-31 09:30:09 · 545 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十八)
临时变量。Temporary.java:package per.eyuan.util;//临时变量,比如T1、T2public class Temporary { int index;//1、2等,T1则为1,T2则为2 String type; String value;//值 public Temporary() { super(); } public Tempor原创 2012-03-31 09:30:19 · 666 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(十九)
临时变量表。TemporaryTable.java:package per.eyuan.util;public class TemporaryTable { Temporary table[]=new Temporary[20]; int count=0; public TemporaryTable() { super(); init(); } public void原创 2012-03-31 09:30:30 · 575 阅读 · 0 评论 -
Java端口扫描
之前在找Java的端口扫描学习资料时候找到的,现在也不知道这些代码究竟是从哪里粘贴来的,于是原文的出处就不知道了,不过代码的作者是很精明的,在包名里加上了自己的印记,我在这里贴出来,也就不那么过分惭愧了。代码贴上:PortScannerpackage Champion_netjava.PortScanner;import java.awt.Dimension;import转载 2012-05-30 12:08:49 · 1632 阅读 · 4 评论 -
编译原理课程设计
课程设计内容1.题目:编译程序构造2.内容:涉及词法分析、自下而上语法分析程序的实现:SLR(1)分析器的实现以及生成中间代码。3.具体要求根据LR分析算法构造SLR(1)分析程序,并完成语法分析动作(当需要一个单词时,调用词法分析程序获取),同时完成语义分析生成四元式输出。要求程序具有通用性,改变文法时只需改变程序的数据初值,无需改变程序主体;要求完成一条说明语句、一条算术表原创 2012-07-12 16:11:17 · 3987 阅读 · 4 评论 -
编译原理——赋值语句与简单表达式(五)
语法。Syntax.java:package per.eyuan.compile;import per.eyuan.util.Action;import per.eyuan.util.ConstantTable;import per.eyuan.util.FourItem;import per.eyuan.util.FourItemStack;import per.原创 2012-03-30 22:39:29 · 678 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(二)
IO.java:package per.eyuan.compile;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Scanner;//输入源程序文件名,读取源程序,存放在一StringBuffer里public class原创 2012-03-30 22:35:24 · 809 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(一)
Compile.javapackage per.eyuan.compile;import per.eyuan.util.ConstantTable;import per.eyuan.util.FourItemStack;import per.eyuan.util.IdentifierTable;import per.eyuan.util.TemporaryTable;i原创 2012-03-30 22:34:25 · 1201 阅读 · 0 评论 -
编译原理——变量声明语句(六)
GoTo表。代码:GoTo.javapackage per.eyuan.util;public class GoTo { /* * SLR的goto表 * 接受传递过来的状态和非终结符, * 返回Goto表中对应的转向。 */ private String goTo[][]=new String[10][2]; String statu;//原创 2012-03-30 22:18:06 · 497 阅读 · 0 评论 -
编译原理——变量声明语句(七)
Action动作表。代码:Action.javapackage per.eyuan.util;public class Action { /* * SLR的action表,接受传递过来的状态和终结符, * 返回action表中对应的动作r(归约)或者s(移进), * Syntax,根据动作做相应的操作。 */ private String act原创 2012-03-30 22:19:20 · 532 阅读 · 0 评论 -
编译原理——变量声明语句(八)
标识符。代码:Id.javapackage per.eyuan.util;//待分析语句int a,b;public class Id { final String id="id"; int index;//eg. 0,1 begin from 0,和二元式中的item2(内码值)对应 String name;//eg. a,b String type;//eg原创 2012-03-30 22:21:14 · 429 阅读 · 0 评论 -
编译原理——变量声明语句(九)
标识符表。代码:IdTable.javapackage per.eyuan.util;public class IdTable { Id table[]=new Id[20];//标识符表,存放Id对象实例 int count=0;//id表中含有的Id实例个数 public IdTable() { super(); init(); } p原创 2012-03-30 22:22:34 · 457 阅读 · 0 评论 -
编译原理——变量声明语句(十一)
数值。代码:Num.java:package per.eyuan.util;public class Num { final String num="num"; int index; String name; //构造函数 public Num(int index,String name){ this.index=index; this.n原创 2012-03-30 22:25:21 · 418 阅读 · 0 评论 -
编译原理——变量声明语句(十五)
栈结构。代码:MyStack.javapackage per.eyuan.util;public class MyStack { //用来存储状态,符号,语义等信息 //字符串栈 private String s[]=new String[50]; private int top;//栈顶 public MyStack() { super();原创 2012-03-30 22:30:30 · 535 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(三)
初始化标志符表和常数表。Initialise.java:package per.eyuan.compile;import per.eyuan.util.ConstantTable;import per.eyuan.util.IdentifierTable;//初始化标志符表和常数表public class Initialise { IdentifierTable i原创 2012-03-30 22:36:51 · 1034 阅读 · 0 评论 -
编译原理——赋值语句和简单表达式(四)
词法分析。Lexical.java:package per.eyuan.compile;import per.eyuan.util.*;public class Lexical { String statement;//输入的待分析的语句 String word="";//保存识别出的字符 ConstantTable cont;//常数表,存放Num对象实例原创 2012-03-30 22:38:21 · 543 阅读 · 0 评论 -
编译原理——变量声明语句(一)
代码:Compile.java:package per.eyuan.compile;import per.eyuan.util.Id;import per.eyuan.util.IdTable;public class Compile { IO io=new IO();//读取源代码// Id id=new Id();//标识符 IdTable idt=ne原创 2012-03-30 22:06:51 · 1047 阅读 · 0 评论 -
编译原理——变量声明语句(二)
代码:IO.javapackage per.eyuan.compile;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Scanner;//输入源程序文件名,读取源程序,存放在一StringBuffer里public c原创 2012-03-30 22:08:25 · 422 阅读 · 0 评论 -
编译原理——变量声明语句(三)
词法分析:代码:Lexical.java:package per.eyuan.compile;import per.eyuan.util.*;public class Lexical { String statement;//输入的待分析的语句 String keyWord[]={"int","float"}; String word="";//保存识别出的原创 2012-03-30 22:11:36 · 758 阅读 · 0 评论 -
编译原理——变量声明语句(五)
语义分析。代码:Semanteme.java:package per.eyuan.compile;import per.eyuan.util.Id;public class Semanteme { Id id; //通过 index找到Id表中对应的Id,为其附属性 //将id的属性添加到标识符表中// public void fill(String i原创 2012-03-30 22:14:08 · 573 阅读 · 0 评论 -
编译原理——变量声明语句(十)
常数表。代码:Constant.javapackage per.eyuan.util;//常数表public class Constant { String key="num";//标志为数值(常数) int index;//入口地址,从0开始,逐渐增大 String num;//数值,例如2、3.4等,包括整型int和浮点型float String type;原创 2012-03-30 22:23:34 · 613 阅读 · 0 评论 -
编译原理——变量声明语句(十二)
二元式。代码:TwoItem.java:package per.eyuan.util;public class TwoItem { String item1;//类别id,num String item2;//内码值,对于id和num,通过内码值,在Id和Num类中,找到具体的更多属性 public TwoItem(String item1, String i原创 2012-03-30 22:26:44 · 450 阅读 · 0 评论 -
编译原理——变量声明语句(十三)
四元式。代码:FourItem.java:package per.eyuan.util;public class FourItem { String op; String arg1; String arg2; String result; public FourItem(String op, String arg1, String arg2, Stri原创 2012-03-30 22:27:39 · 645 阅读 · 0 评论 -
编译原理——变量声明语句(十四)
四元式栈。代码:FourItemStack.java:package per.eyuan.util;public class FourItemStack { private int top; private FourItem fis[]=new FourItem[30]; public FourItemStack() { super(); init原创 2012-03-30 22:29:03 · 538 阅读 · 0 评论 -
Java作用域
作用域 public,private,protected,以及不写时的区别:作用域当前类同一package子孙类其他 package非子孙类public√√√√protected√√√×friendly√√××private√×××原创 2012-07-25 14:37:22 · 1856 阅读 · 0 评论