@@ -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.
139118To do this , you should:
140119
141120@itemlist[
142121@item{Study @tt{ast.rkt} to understand how these new forms of
143122expression 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
176143To submit, use @tt{make} from within the @tt{dupe-plus} directory to
0 commit comments