在本次挑战实验中,你的编译器需要支持理论上任意多维度的数组。
参考与帮助详见 lab7、lab8,语义约束基本保持一致
- 当
FuncFParam
为数组定义时,其第一维的长度省去(用方括号[]
表示),而后面的各维则需要用表达式指明长度,长度是编译时可求值的常量表达式。 - 可以将多维数组的一部分传到形参数组中,如定义了
int a[2][3][4][5]
,可以将a[1][2]
作为一个第一维长度为 4,第二维长度为 5 的二维数组数组传递给类型为int[][5]
的形参。
本次实验的评测标识符为 mdarray
,即你的 judge.toml
第一行应改为 [jobs.mdarray]
。
你需要认真编写挑战实验的实验报告,详细说明你是如何完成本次挑战实验的,你对你的编译器进行了哪些改动,你参考了哪些资料,并尽可能完整地阐述你的编译器完成挑战实验任务的工作流程。如果实验报告的内容含糊不清,无法证明你独立完成本次实验,违反 诚信 原则,我们会酌情扣分。当然,你也需要适当地精简语言,我们对实验报告的评定点在于扣分,写出特别长的实验报告(如纯文字内容超过 7 页)并不意味着你能得到加分。
- 实验评测截止时间:2022 年 1 月 7 日 23:59
- 实验报告命名格式:
学号_姓名_multiDimension.pdf
- 实验报告提交:北航云盘
挑战实验/
对应班级目录中 - 实验报告提交截止时间:2022 年 1 月 9 日 23:59