Implement a language E interpreter following project.pdf
.
Implement the functions in src/main/scala/impl
, which are currently left blank as ???
WARNING:Please read the restrictions below carefully.
If you do not follow these, your submission will not be graded.
- DO NOT FIX THE FILES WITHOUT EXPLICIT INSTRUCTIONS
- You can ONLY modify the functions with
???
insrc/main/scala/impl
- Your code will not be compiled if you modify any of the codes other than ???.
- You can ONLY modify the functions with
- Do not use the keyword
var
(except we've already given). Useval
anddef
instead. - Do not use mutable data structures.
- You can see useful data structures from this link: Scala 3 Collections
- From the above link, you are forbidden to use the classes in
scala.collection.mutable
.
- Do not use
while
.
Again, your score will be zero if you do not follow these rules.
sbt run # run a REPL of language E
sbt test # test TestSuite.scala
We will offer test cases (TestSuite.scala
) until 11/30.
- For all assignments, we will test your code only with the given files in
src/main/scala
directory. - All the additional files you've created will be lost!!
- We will check git logs of the main branch, and grade the latest commit before the due date.
git add src
git commit -m 'Write some meaningful message'
git push
- 2023/12/13 23:59:59 KST
- Branch
errata
is protected. If any correction would be appeared on the code, I will updateerrata
branch. - If you find any ambiguity from the description, write an issue to the GitHub issue tracker.