maze Alexander Brown (aab2212) Alexander Freemantle (asf2161) - - PowerPoint PPT Presentation

maze
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

maze

Alexander Brown (aab2212) Alexander Freemantle (asf2161) Michelle Navarro (mn2614) Lindsay Schiminske (ls3245)

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

What is maze?

slide-4
SLIDE 4

Language Evolution

Proposal: Game design language Plan: Object-Oriented Java-like language Actual: Java-like imperative language

slide-5
SLIDE 5

An Imperative Language with Java-like syntax

slide-6
SLIDE 6

Tools

slide-7
SLIDE 7
slide-8
SLIDE 8

MAZE Architecture

slide-9
SLIDE 9

program.maze Scanner Parser AST Analyzer Codegen LLVM IR

slide-10
SLIDE 10

Syntax

slide-11
SLIDE 11

Basics

Methods Binary Ops Primitives Unary Ops Comments

slide-12
SLIDE 12

Statements

If / else While Loop Return

slide-13
SLIDE 13

Testing

slide-14
SLIDE 14

Menhir Pretty-Printer

Made sure input tokens = output tokens $ menhir --interpret --interpret-show-cst parser.mly

  • -explain
slide-15
SLIDE 15
  • Add feature → Add test
  • Run ./testall.sh
  • Ensure all tests pass
slide-16
SLIDE 16

Tests that should pass: Tests that should fail (with appropriate error message)

slide-17
SLIDE 17

GCD Passing print an identifier:

slide-18
SLIDE 18

DEMO

slide-19
SLIDE 19

Fibonacci is cool

slide-20
SLIDE 20