⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 symbol.java

📁 java编的PL/0词法编译器
💻 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 + -