编译原理龙书第六章课后作业答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1 假如有下面的Pascal说明
TYPE
atype=ARRAY [0..9,-10..10] OF integer;
cell=RECORD
a,b:integer
END;
pcell=↑cell;
foo=ARRAY [1..100] OF cell;
FUNCTION bar(r:integer;y:cell):pcell;
BEGIN……END;
写出atype,cell,pcell,foo和bar的类型表达式。
解答:
atype: ARRAY(0..9, ARRAY(-10..10, integer));
cell: RECORD((a× integer)× (b×integer));
pcell: POINTER(cell);
或 : POINTER(RECORD((a ×integer)× (b× integer)));
foo: ARRAY(1..100, cell);
或 : ARRAY(1..100, RECORD((a ×integer)× (b× integer)));
bar: integer× cell→pcell;
或 : integer× cell→POINTER(RECORD((a×integer) ×(b×integer)));
6.4 假定类型定义如下:
TYPE
link=↑cell;
cell=RECORD
info:integer;
next: link
END;
下面哪些表达式结构等价?哪些名字等价?
(1)Link (2)pointer(cell) (3)pointer(Link)
(4)pointer(record(info⨯integer)⨯(next ⨯ pointer(cell)))
解答:(1)(2)(4)结构等价,无名字等价。