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

📄 tiger.lex.java

📁 Tiger语言编译器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					case -8:
						break;
					case 8:
						{return tok(sym.RBRACK, null);}
					case -9:
						break;
					case 9:
						{return tok(sym.LBRACE, null);}
					case -10:
						break;
					case 10:
						{return tok(sym.RBRACE, null);}
					case -11:
						break;
					case 11:
						{return tok(sym.DOT, null);}
					case -12:
						break;
					case 12:
						{return tok(sym.PLUS, null);}
					case -13:
						break;
					case 13:
						{return tok(sym.MINUS, null);}
					case -14:
						break;
					case 14:
						{return tok(sym.TIMES, null);}
					case -15:
						break;
					case 15:
						{return tok(sym.DIVIDE, null);}
					case -16:
						break;
					case 16:
						{return tok(sym.EQ, null);}
					case -17:
						break;
					case 17:
						{return tok(sym.LT, null);}
					case -18:
						break;
					case 18:
						{return tok(sym.GT, null);}
					case -19:
						break;
					case 19:
						{return tok(sym.AND, null);}
					case -20:
						break;
					case 20:
						{return tok(sym.OR, null);}
					case -21:
						break;
					case 21:
						{return tok(sym.ID,yytext());}
					case -22:
						break;
					case 22:
						{}
					case -23:
						break;
					case 23:
						{newline();}
					case -24:
						break;
					case 24:
						{err("非法字符.");}
					case -25:
						break;
					case 25:
						{				yybegin(STRING);				temp = new StringBuffer("");				str_beg = yychar+1;			}
					case -26:
						break;
					case 26:
						{return tok(sym.INT, new Integer(yytext()));}
					case -27:
						break;
					case 27:
						{return tok(sym.ASSIGN, null);}
					case -28:
						break;
					case 28:
						{yybegin(COMMENT); comment_count++;}
					case -29:
						break;
					case 29:
						{return tok(sym.LE, null);}
					case -30:
						break;
					case 30:
						{return tok(sym.NEQ, null);}
					case -31:
						break;
					case 31:
						{return tok(sym.GE, null);}
					case -32:
						break;
					case 32:
						{return tok(sym.TO, null);}
					case -33:
						break;
					case 33:
						{return tok(sym.IF, null);}
					case -34:
						break;
					case 34:
						{return tok(sym.IN, null);}
					case -35:
						break;
					case 35:
						{return tok(sym.OF, null);}
					case -36:
						break;
					case 36:
						{return tok(sym.DO, null);}
					case -37:
						break;
					case 37:
						{err("非法ID.");}
					case -38:
						break;
					case 38:
						{return tok(sym.FOR, null);}
					case -39:
						break;
					case 39:
						{return tok(sym.NIL, null);}
					case -40:
						break;
					case 40:
						{return tok(sym.END, null);}
					case -41:
						break;
					case 41:
						{return tok(sym.LET, null);}
					case -42:
						break;
					case 42:
						{return tok(sym.VAR, null);}
					case -43:
						break;
					case 43:
						{return tok(sym.TYPE, null);}
					case -44:
						break;
					case 44:
						{return tok(sym.THEN, null);}
					case -45:
						break;
					case 45:
						{return tok(sym.ELSE, null);}
					case -46:
						break;
					case 46:
						{return tok(sym.ARRAY, null);}
					case -47:
						break;
					case 47:
						{return tok(sym.WHILE, null);}
					case -48:
						break;
					case 48:
						{return tok(sym.BREAK, null);}
					case -49:
						break;
					case 49:
						{return tok(sym.FUNCTION, null);}
					case -50:
						break;
					case 50:
						{}
					case -51:
						break;
					case 51:
						{yybegin(STARINCOM);}
					case -52:
						break;
					case 52:
						{yybegin(COMMENT); }
					case -53:
						break;
					case 53:
						{yybegin(STARINCOM);}
					case -54:
						break;
					case 54:
						{comment_count--;yybegin(YYINITIAL);	}
					case -55:
						break;
					case 55:
						{temp = temp.append(yytext());}
					case -56:
						break;
					case 56:
						{				yybegin(YYINITIAL);				newline();				err("字符串语句不匹配,缺少\"");						str_beg = -1;				return tok(sym.STRING,temp.toString());			}
					case -57:
						break;
					case 57:
						{yybegin(YYINITIAL); str_beg = -1; return tok(sym.STRING,temp.toString());}
					case -58:
						break;
					case 58:
						{				if(yytext().charAt(1) == 'n')					temp.append("\n");				else if(yytext().charAt(1) == 't')					temp.append("\t");				else if(yytext().charAt(1) == '\"')					temp.append("\"");				else if(yytext().charAt(1) == '\\')					temp.append("\\");				else					err("非法字符.");			}
					case -59:
						break;
					case 59:
						{newline();}
					case -60:
						break;
					case 60:
						{temp.append((char)Integer.parseInt(yytext().substring(1,4)));}
					case -61:
						break;
					case 62:
						{return tok(sym.ID,yytext());}
					case -62:
						break;
					case 63:
						{}
					case -63:
						break;
					case 64:
						{yybegin(COMMENT); }
					case -64:
						break;
					case 65:
						{temp = temp.append(yytext());}
					case -65:
						break;
					case 66:
						{				if(yytext().charAt(1) == 'n')					temp.append("\n");				else if(yytext().charAt(1) == 't')					temp.append("\t");				else if(yytext().charAt(1) == '\"')					temp.append("\"");				else if(yytext().charAt(1) == '\\')					temp.append("\\");				else					err("非法字符.");			}
					case -66:
						break;
					case 68:
						{return tok(sym.ID,yytext());}
					case -67:
						break;
					case 69:
						{				if(yytext().charAt(1) == 'n')					temp.append("\n");				else if(yytext().charAt(1) == 't')					temp.append("\t");				else if(yytext().charAt(1) == '\"')					temp.append("\"");				else if(yytext().charAt(1) == '\\')					temp.append("\\");				else					err("非法字符.");			}
					case -68:
						break;
					case 71:
						{return tok(sym.ID,yytext());}
					case -69:
						break;
					case 72:
						{return tok(sym.ID,yytext());}
					case -70:
						break;
					case 73:
						{return tok(sym.ID,yytext());}
					case -71:
						break;
					case 74:
						{return tok(sym.ID,yytext());}
					case -72:
						break;
					case 75:
						{return tok(sym.ID,yytext());}
					case -73:
						break;
					case 76:
						{return tok(sym.ID,yytext());}
					case -74:
						break;
					case 77:
						{return tok(sym.ID,yytext());}
					case -75:
						break;
					case 78:
						{return tok(sym.ID,yytext());}
					case -76:
						break;
					case 79:
						{return tok(sym.ID,yytext());}
					case -77:
						break;
					case 80:
						{return tok(sym.ID,yytext());}
					case -78:
						break;
					case 81:
						{return tok(sym.ID,yytext());}
					case -79:
						break;
					case 82:
						{return tok(sym.ID,yytext());}
					case -80:
						break;
					case 83:
						{return tok(sym.ID,yytext());}
					case -81:
						break;
					case 84:
						{return tok(sym.ID,yytext());}
					case -82:
						break;
					case 85:
						{return tok(sym.ID,yytext());}
					case -83:
						break;
					case 86:
						{return tok(sym.ID,yytext());}
					case -84:
						break;
					case 87:
						{return tok(sym.ID,yytext());}
					case -85:
						break;
					case 88:
						{return tok(sym.ID,yytext());}
					case -86:
						break;
					case 89:
						{return tok(sym.ID,yytext());}
					case -87:
						break;
					case 90:
						{return tok(sym.ID,yytext());}
					case -88:
						break;
					case 91:
						{return tok(sym.ID,yytext());}
					case -89:
						break;
					case 92:
						{return tok(sym.ID,yytext());}
					case -90:
						break;
					case 93:
						{return tok(sym.ID,yytext());}
					case -91:
						break;
					case 94:
						{return tok(sym.ID,yytext());}
					case -92:
						break;
					case 95:
						{return tok(sym.ID,yytext());}
					case -93:
						break;
					case 96:
						{return tok(sym.ID,yytext());}
					case -94:
						break;
					case 97:
						{return tok(sym.ID,yytext());}
					case -95:
						break;
					case 98:
						{return tok(sym.ID,yytext());}
					case -96:
						break;
					case 99:
						{return tok(sym.ID,yytext());}
					case -97:
						break;
					case 100:
						{return tok(sym.ID,yytext());}
					case -98:
						break;
					case 101:
						{return tok(sym.ID,yytext());}
					case -99:
						break;
					case 102:
						{return tok(sym.ID,yytext());}
					case -100:
						break;
					case 103:
						{return tok(sym.ID,yytext());}
					case -101:
						break;
					case 104:
						{return tok(sym.ID,yytext());}
					case -102:
						break;
					case 105:
						{return tok(sym.ID,yytext());}
					case -103:
						break;
					case 106:
						{return tok(sym.ID,yytext());}
					case -104:
						break;
					case 107:
						{return tok(sym.ID,yytext());}
					case -105:
						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;
						yy_mark_end();
					}
				}
			}
		}
	}
}

⌨️ 快捷键说明

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