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

📄 yylex.java

📁 编译原理大作业---tiger编译器 包括semant,translate,mipsframe,regalloc等所有phase 懂的人自会知道
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
						{return tok(sym.SEMICOLON, null);}					case -6:						break;					case 5:						{return tok(sym.LPAREN, null);}					case -7:						break;					case 6:						{return tok(sym.RPAREN, null);}					case -8:						break;					case 7:						{return tok(sym.LBRACK, null);}					case -9:						break;					case 8:						{return tok(sym.RBRACK, null);}					case -10:						break;					case 9:						{return tok(sym.LBRACE, null);}					case -11:						break;					case 10:						{return tok(sym.RBRACE, null);}					case -12:						break;					case 11:						{return tok(sym.MINUS, null);}					case -13:						break;					case 12:						{return tok(sym.PLUS, null);}					case -14:						break;					case 13:						{return tok(sym.DOT, null);}					case -15:						break;					case 14:						{return tok(sym.TIMES, null);}					case -16:						break;					case 15:						{return tok(sym.DIVIDE, null);}					case -17:						break;					case 16:						{return tok(sym.EQ, null);}					case -18:						break;					case 17:						{return tok(sym.LT, null);}					case -19:						break;					case 18:						{return tok(sym.GT, null);}					case -20:						break;					case 19:						{return tok(sym.AND, null);}					case -21:						break;					case 20:						{return tok(sym.OR, null);}					case -22:						break;					case 21:						{ return tok(sym.ID,yytext());}					case -23:						break;					case 22:						{ }					case -24:						break;					case 23:						{newline();}					case -25:						break;					case 24:						{ str = ""; yybegin (STRING); }					case -26:						break;					case 25:						{ err(yychar,"Errore lessicale: Carattere non previsto: " + yytext() ); }					case -27:						break;					case 26:						{return tok(sym.ASSIGN, null);}					case -28:						break;					case 27:						{ yybegin(COMMENT); commentDepth = 1; }					case -29:						break;					case 28:						{return tok(sym.LE, null);}					case -30:						break;					case 29:						{return tok(sym.NEQ, null);}					case -31:						break;					case 30:						{return tok(sym.GE, null);}					case -32:						break;					case 31:						{return tok(sym.DO, null);}					case -33:						break;					case 32:						{return tok(sym.OF, null);}					case -34:						break;					case 33:						{return tok(sym.IN, null);}					case -35:						break;					case 34:						{return tok(sym.IF, null);}					case -36:						break;					case 35:						{return tok(sym.TO, null);}					case -37:						break;					case 36:						{return tok(sym.VAR, null);}					case -38:						break;					case 37:						{return tok(sym.END, null);}					case -39:						break;					case 38:						{return tok(sym.NIL, null);}					case -40:						break;					case 39:						{return tok(sym.FOR, null);}					case -41:						break;					case 40:						{return tok(sym.LET, null);}					case -42:						break;					case 41:						{return tok(sym.ELSE, null);}					case -43:						break;					case 42:						{return tok(sym.THEN, null);}					case -44:						break;					case 43:						{return tok(sym.TYPE, null);}					case -45:						break;					case 44:						{return tok(sym.ARRAY, null);}					case -46:						break;					case 45:						{return tok(sym.WHILE, null);}					case -47:						break;					case 46:						{return tok(sym.BREAK, null);}					case -48:						break;					case 47:						{return tok(sym.FUNCTION, null);}					case -49:						break;					case 49:						{ }					case -50:						break;					case 50:						{    commentDepth--;    if (commentDepth == 0) yybegin(YYINITIAL);}					case -51:						break;					case 51:						{ commentDepth++; }					case -52:						break;					case 52:						{ str = str + yytext(); }					case -53:						break;					case 53:						{ err("Errore lessicale: Stringa non chiusa correttamente.");                 yybegin(YYINITIAL);               }					case -54:						break;					case 54:						{ yybegin(YYINITIAL); return tok(sym.STRING,str); }					case -55:						break;					case 55:						{ yybegin(ESCAPES); }					case -56:						break;					case 56:						{ str = str + "\\"; }					case -57:						break;					case 57:						{ str = str + "\\"+ yytext();              err("Errore lessicale: Sequenza di escape non legale");              yybegin(STRING);            }					case -58:						break;					case 58:						{ str = str + "\n"; yybegin(STRING); }					case -59:						break;					case 59:						{ str = str + "\t"; yybegin(STRING); }					case -60:						break;					case 60:						{ err("Errore lessicale: Stringa non chiusa correttamente."); }					case -61:						break;					case 61:						{ str = str +"\""; yybegin(STRING);  }					case -62:						break;					case 62:						{ yybegin(STRING); }					case -63:						break;					case 63:						{ str = str + "^C"; yybegin(STRING); }					case -64:						break;					case 64:						{    try {        str = str +        asciiTable[(new Integer(yytext())).intValue()];    }    catch (ArrayIndexOutOfBoundsException e) {       err("Errore lessicale: cod. carattere ascii illegale");    }    yybegin(STRING);}					case -65:						break;					case 65:						{ return tok(sym.INT,temp.valueOf(yytext()));}					case -66:						break;					case 66:											case -67:						break;					case 67:						{ return tok(sym.ID,yytext());}					case -68:						break;					case 69:						{ }					case -69:						break;					case 70:						{ str = str + "\\"+ yytext();              err("Errore lessicale: Sequenza di escape non legale");              yybegin(STRING);            }					case -70:						break;					case 71:						{ return tok(sym.ID,yytext());}					case -71:						break;					case 73:						{ }					case -72:						break;					case 74:						{ str = str + "\\"+ yytext();              err("Errore lessicale: Sequenza di escape non legale");              yybegin(STRING);            }					case -73:						break;					case 75:						{ return tok(sym.ID,yytext());}					case -74:						break;					case 77:						{ return tok(sym.ID,yytext());}					case -75:						break;					case 79:						{ return tok(sym.ID,yytext());}					case -76:						break;					case 81:						{ return tok(sym.ID,yytext());}					case -77:						break;					case 82:						{ return tok(sym.ID,yytext());}					case -78:						break;					case 83:						{ return tok(sym.ID,yytext());}					case -79:						break;					case 84:						{ return tok(sym.ID,yytext());}					case -80:						break;					case 85:						{ return tok(sym.ID,yytext());}					case -81:						break;					case 86:						{ return tok(sym.ID,yytext());}					case -82:						break;					case 87:						{ return tok(sym.ID,yytext());}					case -83:						break;					case 88:						{ return tok(sym.ID,yytext());}					case -84:						break;					case 89:						{ return tok(sym.ID,yytext());}					case -85:						break;					case 90:						{ return tok(sym.ID,yytext());}					case -86:						break;					case 91:						{ return tok(sym.ID,yytext());}					case -87:						break;					case 92:						{ return tok(sym.ID,yytext());}					case -88:						break;					case 93:						{ return tok(sym.ID,yytext());}					case -89:						break;					case 94:						{ return tok(sym.ID,yytext());}					case -90:						break;					case 95:						{ return tok(sym.ID,yytext());}					case -91:						break;					case 96:						{ return tok(sym.ID,yytext());}					case -92:						break;					case 97:						{ return tok(sym.ID,yytext());}					case -93:						break;					case 98:						{ return tok(sym.ID,yytext());}					case -94:						break;					case 99:						{ return tok(sym.ID,yytext());}					case -95:						break;					case 100:						{ return tok(sym.ID,yytext());}					case -96:						break;					case 101:						{ return tok(sym.ID,yytext());}					case -97:						break;					case 102:						{ return tok(sym.ID,yytext());}					case -98:						break;					case 103:						{ return tok(sym.ID,yytext());}					case -99:						break;					case 104:						{ return tok(sym.ID,yytext());}					case -100:						break;					case 105:						{ return tok(sym.ID,yytext());}					case -101:						break;					case 106:						{ return tok(sym.ID,yytext());}					case -102:						break;					case 107:						{ return tok(sym.ID,yytext());}					case -103:						break;					case 108:						{ return tok(sym.ID,yytext());}					case -104:						break;					case 109:						{ return tok(sym.ID,yytext());}					case -105:						break;					case 110:						{ return tok(sym.ID,yytext());}					case -106:						break;					case 111:						{ return tok(sym.ID,yytext());}					case -107:						break;					case 112:						{ return tok(sym.ID,yytext());}					case -108:						break;					case 113:						{ return tok(sym.ID,yytext());}					case -109:						break;					case 114:						{ return tok(sym.ID,yytext());}					case -110:						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 + -