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

📄 scanner.lex.java

📁 jdbc 的实例源码
💻 JAVA
字号:
import java.util.*;import java.lang.*;import java_cup.runtime.*;class scanner {	private final int YY_BUFFER_SIZE = 512;	private final int YY_F = -1;	private final int YY_NO_STATE = -1;	private final int YY_NOT_ACCEPT = 0;	private final int YY_START = 1;	private final int YY_END = 2;	private final int YY_NO_ANCHOR = 4;	private final char YYEOF = '\uFFFF';static scanner foo;public static void init() {  foo = new scanner(System.in);}public static token next_token() throws java.io.IOException {  return foo.yylex();}	private java.io.BufferedReader yy_reader;	private int yy_buffer_index;	private int yy_buffer_read;	private int yy_buffer_start;	private int yy_buffer_end;	private char yy_buffer[];	private int yy_lexical_state;	scanner (java.io.Reader reader) {		this ();		if (null == reader) {			throw (new Error("Error: Bad input stream initializer."));		}		yy_reader = new java.io.BufferedReader(reader);	}	scanner (java.io.InputStream instream) {		this ();		if (null == instream) {			throw (new Error("Error: Bad input stream initializer."));		}		yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream));	}	private scanner () {		yy_buffer = new char[YY_BUFFER_SIZE];		yy_buffer_read = 0;		yy_buffer_index = 0;		yy_buffer_start = 0;		yy_buffer_end = 0;		yy_lexical_state = YYINITIAL;	}	private boolean yy_eof_done = false;	private final int YYINITIAL = 0;	private final int yy_state_dtrans[] = {		0	};	private void yybegin (int state) {		yy_lexical_state = state;	}	private char yy_advance ()		throws java.io.IOException {		int next_read;		int i;		int j;		if (yy_buffer_index < yy_buffer_read) {			return yy_buffer[yy_buffer_index++];		}		if (0 != yy_buffer_start) {			i = yy_buffer_start;			j = 0;			while (i < yy_buffer_read) {				yy_buffer[j] = yy_buffer[i];				++i;				++j;			}			yy_buffer_end = yy_buffer_end - yy_buffer_start;			yy_buffer_start = 0;			yy_buffer_read = j;			yy_buffer_index = j;			next_read = yy_reader.read(yy_buffer,					yy_buffer_read,					yy_buffer.length - yy_buffer_read);			if (-1 == next_read) {				return YYEOF;			}			yy_buffer_read = yy_buffer_read + next_read;		}		while (yy_buffer_index >= yy_buffer_read) {			if (yy_buffer_index >= yy_buffer.length) {				yy_buffer = yy_double(yy_buffer);			}			next_read = yy_reader.read(yy_buffer,					yy_buffer_read,					yy_buffer.length - yy_buffer_read);			if (-1 == next_read) {				return YYEOF;			}			yy_buffer_read = yy_buffer_read + next_read;		}		return yy_buffer[yy_buffer_index++];	}	private void yy_move_start () {		++yy_buffer_start;	}	private void yy_pushback () {		--yy_buffer_end;	}	private void yy_mark_start () {		yy_buffer_start = yy_buffer_index;	}	private void yy_mark_end () {		yy_buffer_end = yy_buffer_index;	}	private void yy_to_mark () {		yy_buffer_index = yy_buffer_end;	}	private java.lang.String yytext () {		return (new java.lang.String(yy_buffer,			yy_buffer_start,			yy_buffer_end - yy_buffer_start));	}	private int yylength () {		return yy_buffer_end - yy_buffer_start;	}	private char[] yy_double (char buf[]) {		int i;		char newbuf[];		newbuf = new char[2*buf.length];		for (i = 0; i < buf.length; ++i) {			newbuf[i] = buf[i];		}		return newbuf;	}	private final int YY_E_INTERNAL = 0;	private final int YY_E_MATCH = 1;	private java.lang.String yy_error_string[] = {		"Error: Internal error.\n",		"Error: Unmatched input.\n"	};	private void yy_error (int code,boolean fatal) {		java.lang.System.out.print(yy_error_string[code]);		java.lang.System.out.flush();		if (fatal) {			throw new Error("Fatal Error.\n");		}	}	private int yy_acpt[] = {		YY_NOT_ACCEPT,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR,		YY_NO_ANCHOR	};	private int yy_cmap[] = {		0, 0, 0, 0, 0, 0, 0, 0,		1, 1, 1, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		1, 0, 0, 0, 0, 2, 0, 0,		3, 4, 5, 6, 0, 7, 0, 8,		9, 9, 9, 9, 9, 9, 9, 9,		9, 9, 0, 10, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0,		0, 0, 0, 0, 0, 0, 0, 0			};	private int yy_rmap[] = {		0, 1, 1, 1, 1, 1, 1, 1,		1, 2, 1 	};	private int yy_nxt[][] = {		{ -1, 1, 2, 3, 4, 5, 6, 7,			8, 9, 10 		},		{ -1, -1, -1, -1, -1, -1, -1, -1,			-1, -1, -1 		},		{ -1, -1, -1, -1, -1, -1, -1, -1,			-1, 9, -1 		}	};	public token yylex ()		throws java.io.IOException {		char yy_lookahead;		int yy_anchor = YY_NO_ANCHOR;		int yy_state = yy_state_dtrans[yy_lexical_state];		int yy_next_state = YY_NO_STATE;		int yy_last_accept_state = YY_NO_STATE;		boolean yy_initial = true;		int yy_this_accept;		yy_mark_start();		yy_this_accept = yy_acpt[yy_state];		if (YY_NOT_ACCEPT != yy_this_accept) {			yy_last_accept_state = yy_state;			yy_mark_end();		}		while (true) {			yy_lookahead = yy_advance();			yy_next_state = YY_F;			if (YYEOF != yy_lookahead) {				yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];			}			if (YY_F != yy_next_state) {				yy_state = yy_next_state;				yy_initial = false;				yy_this_accept = yy_acpt[yy_state];				if (YY_NOT_ACCEPT != yy_this_accept) {					yy_last_accept_state = yy_state;					yy_mark_end();				}			}			else {				if (YYEOF == yy_lookahead && true == yy_initial) {return (new token(sym.EOF));				}				else if (YY_NO_STATE == yy_last_accept_state) {					throw (new Error("Lexical Error: Unmatched Input."));				}				else {					yy_to_mark();					yy_anchor = yy_acpt[yy_last_accept_state];					if (0 != (YY_END & yy_anchor)) {						yy_pushback();					}					if (0 != (YY_START & yy_anchor)) {						yy_move_start();					}					switch (yy_last_accept_state) {					case 1:						{ }					case -2:						break;					case 2:						{ return new token (sym.MOD); }					case -3:						break;					case 3:						{ return new token (sym.LPAREN); }					case -4:						break;					case 4:						{ return new token (sym.RPAREN); }					case -5:						break;					case 5:						{ return new token (sym.TIMES); }					case -6:						break;					case 6:						{ return new token (sym.PLUS); }					case -7:						break;					case 7:						{ return new token (sym.MINUS); }					case -8:						break;					case 8:						{ return new token (sym.DIVIDE); }					case -9:						break;					case 9:						{ return new int_token (sym.NUMBER, Integer.parseInt(yytext())); }					case -10:						break;					case 10:						{ return new token (sym.SEMI); }					case -11:						break;					default:						yy_error(YY_E_INTERNAL,false);					case -1:					}					yy_initial = true;					yy_state = yy_state_dtrans[yy_lexical_state];					yy_next_state = YY_NO_STATE;					yy_last_accept_state = YY_NO_STATE;					yy_mark_start();					yy_this_accept = yy_acpt[yy_state];					if (YY_NOT_ACCEPT != yy_this_accept) {						yy_last_accept_state = yy_state;					}				}			}		}	}}

⌨️ 快捷键说明

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