Skip to content

Latest commit

 

History

History
40 lines (36 loc) · 1.51 KB

todo.md

File metadata and controls

40 lines (36 loc) · 1.51 KB

Todo

This file is used to record the todo list of Falcon.

Milestone 1: Minimal Falcon

  • Let HIR awares of types(yyang)
  • Enhance verifyHIR(yyang)
  • Type system(yyang)
  • Implements break
  • Implements continue
  • Enhance test about div/mul/mod/minus_int
  • Implement variable redefinition in different leixcal scopes(yyang)
  • Complete type system about Long/Short/etc(yyang)
  • Type checker
  • Type Conversion
  • Implement floating point number arithmetic
  • Set default value for variables if using let p int without initialization(yyang)
  • Simplify lower pass and documents rationale of register usages
  • Implement do-while loop
  • Implement break labbel syntax
  • Implements operators: !, +=, -=, *=, /=, %=, >>=, <<=, ^=, &=, |=
  • Consider consilidating HIR CInt CLong into Const
  • New lang feature: package
  • Implements classic math algorithms, e.g. sqrt, min, max,clamp,ceil,floor,etc in stdlib.y
  • Register allocation, either on HIR or LIR
  • Implement ++ and -- operators
  • New logo
  • Add verification for LIR
  • Review all type comparison
  • Official website
  • Experimental loop opts
  • Use of undefined variable should be an error

Milestone 2: Falcon with object oriented programming

  • New lang feature: struct
  • Object allocation
  • Garbage collection support
  • Fully featured array and string types
  • Arbitrary arguments counts for functions