- Lex/parse new
x,y: int
syntax - Lex/parse class interfaces
- Lex/parse class definitions
- Lex/parse global variables
- Compiler adds implicit
use foo.ixi
tofoo.xi
iffoo.ixi
exists - Add new AST nodes for classes, class interfaces, break, new, null, etc
- Revise typing rules including the cryptic
==
behavior - Initialize global variables, local variables, and class fields
- Implement the
new
keyword - Implement the
break
keyword - Implement classes
- Language extension of our choice
- Can a class extend a class defined in another file? If so, how does it know which fields it gets to use?