📄 symbol.java
字号:
//关键字及运算符,界符表package compiler;import java.util.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public final class Symbol { private Symbol() { } //不要改变以下常量声明的顺序 public static final int CONST=0;//const public static final int VAR=1;//var public static final int PROCEDURE=2;//procedure public static final int BEGIN=3;//begin public static final int END=4;//end public static final int IF=5;//if public static final int THEN=6;//then public static final int WHILE=7;//while public static final int DO=8;//do public static final int CALL=9;//call public static final int READ=10;//read public static final int WRITE=11;//write public static final int LEFT_BRACKET=12;// ( public static final int RIGHT_BRACKET=13;// ) public static final int SEMOCOLON=14;// ; public static final int EQUAL=15;// = public static final int EVALUATE=16;// := public static final int PLUS=17;// + public static final int SUB=18;// - public static final int MUL=19;// * public static final int DIV=20;// / public static final int UNEQUAL=21;// # public static final int GREATER=22;// > public static final int GE=23;// >= public static final int LESS=24;// < public static final int LE=25;// <= public static final int COMMA=26;// , private static int[] symbolTable={CONST,VAR,PROCEDURE,BEGIN,END,IF,THEN, WHILE,DO,CALL,READ,WRITE,LEFT_BRACKET,RIGHT_BRACKET,SEMOCOLON,EQUAL,EVALUATE, PLUS,SUB,MUL,DIV,UNEQUAL,GREATER,GE,LESS,LE,COMMA};//关键字标识数组 private static String[] strKeyword={"const","var","procedure","begin","end","if", "then","while","do","call","read","write"};//关键字数组 private static String[] strOperator={"(",")",";","=",":=","+","-","*","/","#",">", ">=","<","<=",","};//运算符及界符数组 public static final HashMap hKeyword=new HashMap();//关键字散列表 public static final HashMap hOperator=new HashMap();//运算符及界符散列表 //对hKeyword和hOperator的每一个元素进行初始化 static{ for(int i=0;i<strKeyword.length;i++){ hKeyword.put(strKeyword[i],(""+symbolTable[i])); } for(int i=0;i<strOperator.length;i++){ hOperator.put(strOperator[i],(""+symbolTable[i+strKeyword.length])); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -