[compiler]hw7 參考資料
作業規定 操作測試流程 java Yuhina < test.yu ( 產生 test.j) java -jar jasim123.jar < test.j java test 要可以執行成功 實作方法 1. 紀錄使用的register跟變數的對應關係 2.做好IR 跟jasmincode 的對應 3. 根據AST利用 IR表示轉成jasmin code 參考資料 0. intermediate code OP( e1 , e2 ) => string op(string operator , string e1, string e2); =>OP:= ADD | SUB | MUL | DIV | MOD //arithmetic | AND | OR //bit logic | EQ | NEQ | LT | GT | LE | GE //comparisons NAME(n) =>string name(string n ); //return register number or labol ESEQ(s,e) => strimg eseq(string s,string e); //return e CODE(i) => string code(string i );//constant integer MEM(e) => load e register CALL(ef , e0 , e1 , e2,... ) => function call string call( string fName,string[] args) MOVE(dest , e) => string move(string dest,string e ) => move(dese,e):=dest = TEMP(t) //assign to temporary t | dest = MEM(e) // assign to location e EXP(e) => string exp(e) 執行e 忽略結果 SEQ(s1,s2 , ... ,sn) => string seq(str...