精華區beta FCUProblems 關於我們 聯絡資訊
[開課學院]: 資電學院 [開課系所]: 資訊系 [課程名稱]: 系統程式 [老師名稱]: 黃溪春 老師 [開課學期]: 97-2 [類型]: 97-2期末考 一 試舉ANSI C 程式語言為例 , 說明帶有參數的巨集(Macro)為何? 又它與函數 (Functions)的差別為何?(10%) 二 請概述單回合巨集處理程式(One-pass macro processor)的演算法?(10%) 三 請說明關鍵字巨集參數(Keyword macro parameters)的優缺點?(10%) 四 請說明一般用途的巨集處理程式有何優點?(10%) 五 ELENA 是一般用途的巨集處理程式 , 它的巨集定義由標頭(Header)與主體(Body) 所組成 ; 請說明其標頭的格式(或限制)?又其巨集呼叫的處理方式(巨集比對規則) 為何?(10%) 六 依據教科書巨集處理演算法 , 處理如下的巨集定義: (1)寫出 NAMTAB , 與 DEFTAB的內容。(8%) (2)當使用 RDBUFF F2,WKA,,(01,02) 指令呼叫時 , 寫出 ARGTAB 的內容 , 與 巨集展開後的結果。(10%) (3)有哪些巨集時期變數(Macro-time variables)? 說明各項變數內容變化的情形? (6%) RDBUFF MACRO &IND,&BUF,&REC,&EOR &EORCT SET %NITEMS(&EOR) CLEAR X $LOOP TD =X'&IND' JEQ $LOOP &CTR SET 1 WHILE (&CTR LE &EORCT) COMP =X'0000&EOR[&CTR]' JEQ $EXIT &CTR SET &CTR+1 ENDW STCH &BUF,X JLT &LOOP IF (&REC NE '') $EXIT STX &REC ELSE $EXIT STX =X'10' ENDIF MEND 七 試舉 ANSI C 程式語言為例 , 說明何謂 Token ?(6%) 八 假設「識別字(Identifier)」允許包括大寫英文字母、數字、與底線符號(╴) , 長度不限、而字首必須是字母 , 字尾不能是底線。請畫出能識別此類「識別字」 的 Finite automata。(10%) 九 假設一程式語言<assign>敘述 , 以如下之BNF定義︰ ﹤assign ﹥ ::= id = ﹤exp ﹥ ﹤exp ﹥ ::= ﹤term ﹥| ﹤exp ﹥* ﹤term ﹥| ﹤exp ﹥/ ﹤term ﹥ ﹤term ﹥ ::= ﹤factor ﹥| ﹤term ﹥+ ﹤factor ﹥| ﹤term ﹥- ﹤factor ﹥ ﹤factor ﹥ ::= id | int | ( ﹤exp ﹥) 請畫出下面敘述的 Parse tree。(10%) V1 = V2 + V3 * V2 - 100 / V3 其中的V1,V2,V3均為 id , 而100 是int。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.97.63