-
Notifications
You must be signed in to change notification settings - Fork 1
dcsommer/CS240H-Final-Project
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
==========================================
CS240H Final Project - Historical Debugger
==========================================
authors: Daniel Sommermann, Michael Gummelt
For this project, we define a toy language to implement our debugger
on. The BNF of the language is given below:
f = fn(x1, .., xn) { s; [s;] }
s = var = e
return e
returnif e, e
e = c1 | ... | cn (constants)
(e)
x
e1 + e2
e1 - e2
e1 * e2
e1 / e2
e1 == e2
!e1
e1 && e2
e1 || e2
e1 == e2
e1 < e2
e1 > e2
if e1 then e2 else e3
f(e1, ..., en)
Every function must return a value (that is, have a return
statement). Explicitly, there must always be some return statement that is
executed. The function can return early through the use of a
returnif(). If the first argument to returnif is non-zero, the second
argument is evaluated and returned. The return keyword may only be used as
the last statement in a function body.
e interpreter. Also changed the semantics and grammar of the language (added assignment and return statements)
There must be exactly one function called 'main' in every text file. The
value of the return of main will be printed once it has been computed.About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published