Skip to content

Commit 73bc88e

Browse files
committed
Clean up assign 3 description.
1 parent c25bc68 commit 73bc88e

File tree

1 file changed

+13
-46
lines changed

1 file changed

+13
-46
lines changed

www/assignments/3.scrbl

Lines changed: 13 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -110,67 +110,34 @@ ASTs using this representation:
110110
(Lit 4)) (Lit 5))],}
111111
]
112112

113-
@subsection[#:tag-prefix "a3-" #:style 'unnumbered]{Implementing primitives}
113+
@section[#:tag-prefix "a3-" #:style 'unnumbered]{Steps toward Dupe+}
114114

115-
Implement the primitives as described earlier.
115+
Implement the new expression forms as described earlier, both for the
116+
interpreter and compiler.
116117

117-
There are many ways to implement these at the assembly level. You should try implementing
118-
these using the limited a86 instruction set.
119-
120-
To do this, you should:
121-
@itemlist[
122-
@item{Study @tt{ast.rkt} to understand how these new forms of expression are represented.}
123-
124-
@item{Add test cases to @tt{test/test-runner.rkt}.}
125-
126-
@item{Update @tt{interp-prim.rkt} and @tt{interp.rkt} to correctly interpret these expressions.}
127-
128-
@item{Make examples of these primitives and potential translations of them
129-
to assembly.}
130-
131-
@item{Update @tt{compile.rkt} to correctly compile these expressions.}
132-
133-
@item{Check your implementation by running the tests: @tt{raco test test/}.}
134-
]
135-
136-
@section[#:tag-prefix "a3-" #:style 'unnumbered]{Implementing cond}
137-
138-
Implement the @racket[cond] expression form as described earlier.
139118
To do this, you should:
140119

141120
@itemlist[
142121
@item{Study @tt{ast.rkt} to understand how these new forms of
143122
expression are represented.}
144123

145-
@item{Add test cases to @tt{test/test-runner.rkt}.}
146-
147-
@item{Update @tt{interp-prim.rkt} and @tt{interp.rkt} to correctly interpret @racket[cond] expressions.}
124+
@item{Add test cases to @tt{test/test-runner.rkt}. These will be
125+
tested with both the interpreter and compiler.}
148126

149-
@item{Make examples of @racket[cond]-expressions and potential translations of them
150-
to assembly.}
127+
@item{Update @tt{interp-prim.rkt} and @tt{interp.rkt} to correctly
128+
interpret @racket[cond] expressions and new primitives.}
151129

152-
@item{Update @tt{compile.rkt} to correctly compile @racket[cond]
153-
expressions based on your examples.}
154-
155-
@item{Check your implementation by running the tests: @tt{raco test test/}.}
156-
]
130+
@item{Test your interpreter with @tt{raco test test/interp.rkt}.}
157131

158-
@section[#:tag-prefix "a3-" #:style 'unnumbered]{Testing}
132+
@item{Make examples of @racket[cond]-expressions and primitives and
133+
potential translations of them to assembly.}
159134

160-
You can test your code in several ways:
135+
@item{Update @tt{compile.rkt} and @tt{compile-prim.rkt} to correctly
136+
compile these expressions based on your examples.}
161137

162-
@itemlist[
163-
164-
@item{Using the command line @tt{raco test .} from
165-
the directory containing the repository to test everything.}
166-
167-
@item{Using the command line @tt{raco test <file>} to
168-
test only @tt{<file>}.}
138+
@item{Test your compiler with @tt{raco test test/compile.rkt}.}
169139
]
170140

171-
Note that only a small number of tests are given to you, so you should
172-
write additional test cases.
173-
174141
@section[#:tag-prefix "a3-" #:style 'unnumbered]{Submitting}
175142

176143
To submit, use @tt{make} from within the @tt{dupe-plus} directory to

0 commit comments

Comments
 (0)