SLIDE 1
maze Alexander Brown (aab2212) Alexander Freemantle (asf2161) - - PowerPoint PPT Presentation
maze Alexander Brown (aab2212) Alexander Freemantle (asf2161) - - PowerPoint PPT Presentation
maze Alexander Brown (aab2212) Alexander Freemantle (asf2161) Michelle Navarro (mn2614) Lindsay Schiminske (ls3245) Introduction What is maze? Language Evolution Plan: Proposal: Actual: Object-Oriented Java-like language Game design
SLIDE 2
SLIDE 3
What is maze?
SLIDE 4
Language Evolution
Proposal: Game design language Plan: Object-Oriented Java-like language Actual: Java-like imperative language
SLIDE 5
An Imperative Language with Java-like syntax
SLIDE 6
Tools
SLIDE 7
SLIDE 8
MAZE Architecture
SLIDE 9
program.maze Scanner Parser AST Analyzer Codegen LLVM IR
SLIDE 10
Syntax
SLIDE 11
Basics
Methods Binary Ops Primitives Unary Ops Comments
SLIDE 12
Statements
If / else While Loop Return
SLIDE 13
Testing
SLIDE 14
Menhir Pretty-Printer
Made sure input tokens = output tokens $ menhir --interpret --interpret-show-cst parser.mly
- -explain
SLIDE 15
- Add feature → Add test
- Run ./testall.sh
- Ensure all tests pass
SLIDE 16
Tests that should pass: Tests that should fail (with appropriate error message)
SLIDE 17
GCD Passing print an identifier:
SLIDE 18
DEMO
SLIDE 19
Fibonacci is cool
SLIDE 20