Compiler 2006 助教網頁
上傳系統更新:增加「修改密碼」功能
作業1:
1. 有兩項題目,第一題是手算題,繳交時檔名應為"學號_ex1.XXX"
其中可被接受的格式有:(1)txt (2)htm (3)pdf (4)ps
第二題要交一個lex的程式,請以壓縮檔繳交,檔名應為"學號_prog1.tar.gz"
2. 請同學利用作業上傳系統來繳交作業:
http://140.112.31.169/Compiler/Upload.aspx
第一次進入須先註冊,之後可以「上傳檔案」並在作業批改完後選「查看分數」看成績及註解
3. 程式作業須有makefile,並依老師之規定含有3種功能,並可提供個人的測試資料
4. 程式作業之lex檔,檔名應為hwk1.l,執行檔檔名應為hwk1
5. 程式作業必須在系上的工作站「bsd1」上compile成功,否則不予計分
6. 請詳讀題目要求,不用考慮3000以上的數
7. 附加說明:關於輸入輸出與測試資料
a. 輸入改為由stdin輸入,因此不需要使用到檔案
b. 輸出請由螢幕輸出(即stdout, 請不要用stderr)
c. 批改時會使用十個測試資料,其中三個會在deadline前提供給同學測試用
8. 作業1測試資料
9. 關於作業1習題部分的說明:
題目有2小題,在討論LEX中所提供的功能是否皆在Regular Expression的範圍內
因此要回答兩點:
a. 是否在Regular Expression中,若否,請說明理由
b. 若是,則說明如何找到該expression
ex: 表格3.48中,r1/r2無法用Regular Expression表示出(why?)
作業2已批改完成!
作業3:
1. 檔名請用"學號_ex3",可以txt、pdf、ps、html等4種格式繳交
作業4:
1. 請參考作業1的繳交方式及規定,要點如下:
a. 檔名為hwk4.l, hwk4.y, hwk4 => 並壓縮為"學號_prog4.tar.gz"
b. 須在bsd1 compile成功
c. 程式輸入輸出方式改為程式碼由檔案"program.p"輸入,而鍵盤輸入則用來處理READ(x),螢幕輸出用來處理WRITE(x)
d. makefile的功能:make clean, make all, make test(執行程式,讀"program.p"並做處理)
e. error handling:需要指出錯誤類別(有4種),及錯誤所在行數(未必都是那一行有錯,而是parse到那一行發現錯誤)
2. 部分測資
作業5:
1. 請參照之前程式作業的繳交方式,並請詳細閱讀課程網頁的說明
2. 部分測資
作業4及作業5已批改完成!
請同學用登入系統查詢成績[已可查詢到目前的總成績]
期末Project注意事項:
1. 不接受遲交
2. 請注意不要用到standard error(stderr or yyerror),應以standard output輸出錯誤
3. Compiler不應在parsing過程要求使用者做動作,應以batch方式直接完成所有工作
4. 原則上以bsd1為主要測試平台,若你無法在bsd1上跑,請用email告訴我你的平台,以方便測試
5. 部分測資(每階段有1~2個測資)
6. 其他事項請參照之前作業的規定
7. 測資已更正:
(1) FLOAT改為REAL
(2) VAR...ENDVAR位置往上移,移到function/procedure之前
(3) ARRAY的of改為OF
8. 要上傳的內容請參考spec,請上傳壓縮檔,檔名為"學號_proj.tar.gz"
成績已送出,請利用登入系統查詢成績
ps:期末專題的成績(a, b, c, d), a = correctness, b = doc, c = test, d = elegance
助教 陳柏年 email:comp06@csie.ntu.edu.tw
office hour: 星期五下午3:30∼5:30 332實驗室