|
10 | 10 | '("ast.rkt" "parse.rkt" "interp.rkt")) |
11 | 11 |
|
12 | 12 |
|
13 | | -@bold{Due: Tuesday, April 19th, 11:59PM EDT} |
| 13 | +@bold{Due: Monday, November 7, 11:59PM EDT} |
14 | 14 |
|
15 | 15 | The goal of this assignment is to extend a compiler with arity |
16 | 16 | checking for function calls, to add new kinds of function parameter |
17 | 17 | features, and to add the @racket[apply] form for applying a function |
18 | 18 | to a list of arguments. |
19 | 19 |
|
20 | | -You are given a repository with a starter compiler similar to the |
21 | | -@seclink["Iniquity"]{Iniquity} language we studied in class. You are |
22 | | -tasked with: |
| 20 | +You are given a file @tt{iniquity-plus.zip} on ELMS with a starter |
| 21 | +compiler similar to the @seclink["Iniquity"]{Iniquity} language we |
| 22 | +studied in class. You are tasked with: |
23 | 23 |
|
24 | 24 | @itemlist[ |
25 | 25 |
|
@@ -76,12 +76,6 @@ register to the number of arguments before jumping to the function. |
76 | 76 | The function should check this number against the expected number and |
77 | 77 | signal an error when they don't match. |
78 | 78 |
|
79 | | -Note A4 previously had an outdated way to signal an error in the |
80 | | -compiler that was not consistent with the lecture notes. A5 now matches |
81 | | -the lecture notes way to signal an error of simply jumping to @racket['raise_error_align]. |
82 | | -Jumping to @racket['raise_error_align] will dynamically align the stack before |
83 | | -calling the C code in the runtime system that prints an error and |
84 | | -exits. |
85 | 79 |
|
86 | 80 | You should modify @racket[compile-app] and @racket[compile-define] to |
87 | 81 | implement this part of the assignment. |
@@ -492,10 +486,9 @@ such as when @racket[_e] is not a proper list.} |
492 | 486 |
|
493 | 487 | @section[#:tag-prefix "a5-" #:style 'unnumbered]{Submitting} |
494 | 488 |
|
495 | | -You should submit on Gradescope. You should submit a zip file that has |
496 | | -exactly the same structure that the stub contains. We will only use |
497 | | -the @tt{compile.rkt} files for grading, so make sure all your work is |
498 | | -contained there! |
| 489 | +Submit a zip file containing your work to Gradescope. Use @tt{make |
| 490 | +submit.zip} from within the @tt{iniquity-plus} directory to create a zip |
| 491 | +file with the proper structure. |
499 | 492 |
|
500 | 493 |
|
501 | 494 |
|
|
0 commit comments