作者tsukasachung (采)
看板FCUProblems
标题[考古] 系统程式/黄溪春/972期末考
时间Mon Sep 7 16:03:09 2009
[开课学院]: 资电学院
[开课系所]: 资讯系
[课程名称]: 系统程式
[老师名称]: 黄溪春 老师
[开课学期]: 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