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

📄 tokentype.java

📁 实验软装置(基于表达式的计算器ExprEval) 很不错的 有帮助于学习提高
💻 JAVA
字号:
package scanner;
/**
 * a class storing type of token
 * @author Administrator
 *
 */
public final class TokenType {

	/**
	 * end of input
	 */
	public final static int END=-1;
	/**
	 * number
	 */
    public final static int NUMBER=0;
    /**
     * operator plus
     */
    public final static int PLUS=1;

    /**
     * operator minus
     */
    public final static int MINUS=2;
    /**
     * operator multiply
     */
    public final static int MUL=3;
    /**
     * operator division
     */
    public final static int DIV=4;
    /**
     * operator expontation
     */
    public final static int EXP=5;
    /**
     * operator negative
     */
    public final static int NEGATIVE=6;
    /**
     * function sin
     */
    public final static int SIN=7;
    /**
     * function cos
     */
    public final static int COS=8;
    /**
     * function max
     */
    public final static int MAX=9;
    /**
     * function min
     */
    public final static int MIN=10;
    /**
     * boolean
     */
    public final static int BOOL=11;
    /**
     * greater than
     */
    public final static int GT=12;
    /**
     * less than
     */
    public final static int LT=13;
    /**
     * greater or equal
     */
    public final static int GE=14;
    /**
     * less or equal
     */
    public final static int LE=15;
    /**
     * equal to
     */
    public final static int EQUAL=16;
    /**
     * not equal
     */
    public final static int NEQUAL=17;
    /**
     * and
     */
    public final static int AND=18;
    /**
     * or
     */
    public final static int OR=19;
    /**
     * not
     */
    public final static int NOT=20;
    /**
     * left bracket
     */
    public final static int LBRACKET=21;
    /**
     * right bracket
     */
    public final static int RBRACKET=22;
    /**
     * question mark
     */
    public final static int QMARK=23;
    /**
     * colon
     */
    public final static int COLON=24;
    /**
     * comma
     */
    public final static int COMMA=25;

    /**
     * get priority of a type
     * @param input
     * @return an integer of priority
     */
    public static int getPriority(int input)
    {
    	if(input==TokenType.RBRACKET)
    		return 1;

    	else if(input==TokenType.NUMBER)
    		return 2;
    	else if(input==TokenType.SIN||input==TokenType.COS||input==TokenType.MAX||input==TokenType.MIN)
    		return 3;
    	else if(input==TokenType.NEGATIVE)
    		return 4;
    	else if(input==TokenType.EXP)
    		return 5;
    	else if(input==TokenType.MUL||input==TokenType.DIV)
    		return 6;
    	else if(input==TokenType.PLUS||input==TokenType.MINUS)
    	    return 7;
    	else if(input==TokenType.EQUAL||input==TokenType.NEQUAL||input==TokenType.GT||input==TokenType.LT
    			||input==TokenType.GE||input==TokenType.LE)
    		return 8;
    	else if(input==TokenType.NOT)
    		return 9;
    	else if(input==TokenType.AND)
    		return 10;
    	else if(input==TokenType.OR)
    		return 11;
    	else if(input==TokenType.COLON)
    		return 12;
    	else if(input==TokenType.COMMA)
    		return 13;
    	else if(input==TokenType.QMARK)
    		return 14;
    	else if(input==TokenType.LBRACKET)
    		return 15;
    	else if(input==TokenType.END)
    		return 16;
    	return 0;
    }
    
    /**
     * judge whether the type is left-combined
     * @param input
     * @return ture if yes
     */
    
    public static boolean isLeft(int input)
    {
    	if(input==TokenType.NEGATIVE||input==TokenType.EXP||input==TokenType.NOT||input==TokenType.COLON)
    		return true;
    	return false;
    	
    }
    

    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -