Fate compiler #553

Merged
zxq9 merged 87 commits from fate-compiler into master 2019-05-07 22:48:47 +09:00
zxq9 commented 2019-05-07 20:40:29 +09:00 (Migrated from gitlab.com)

Created by: UlfNorell

Feature complete (up to things I might have forgotten) compiler from Sophia to FATE. Many things are still missing from FATE though.

Pipeline:

  • Typed AST -> FCode (aeso_ast_to_fcode). FCode has only shallow pattern matching and closures instead of lambdas.
  • FCode -> SCode (aeso_fcode_to_fate). SCode has all FATE instructions but a structured switch construct instead of jumps and basic blocks.
  • SCode -> FATE asm (aeso_fcode_to_fate).

Also includes some minor fixes to the type checker:

  • record patterns doesn't have to mention all fields
  • default value for signatures is a proper byte array
*Created by: UlfNorell* Feature complete (up to things I might have forgotten) compiler from Sophia to FATE. Many things are still missing from FATE though. Pipeline: - Typed AST -> FCode (`aeso_ast_to_fcode`). FCode has only shallow pattern matching and closures instead of lambdas. - FCode -> SCode (`aeso_fcode_to_fate`). SCode has all FATE instructions but a structured `switch` construct instead of jumps and basic blocks. - SCode -> FATE asm (`aeso_fcode_to_fate`). Also includes some minor fixes to the type checker: - record patterns doesn't have to mention all fields - default value for signatures is a proper byte array
gorillainduction (Migrated from gitlab.com) approved these changes 2019-05-07 20:40:29 +09:00
zxq9 commented 2019-05-07 21:24:32 +09:00 (Migrated from gitlab.com)

Created by: happi

Review: Approved

*Created by: happi* **Review:** Approved
zxq9 commented 2019-05-07 22:22:51 +09:00 (Migrated from gitlab.com)

Created by: hanssv

Review: Approved

*Created by: hanssv* **Review:** Approved
gorillainduction commented 2019-05-07 22:26:53 +09:00 (Migrated from gitlab.com)

approved this merge request

approved this merge request
zxq9 commented 2019-05-07 22:48:47 +09:00 (Migrated from gitlab.com)

Merged by: UlfNorell at 2019-05-07 13:48:47 UTC

*Merged by: UlfNorell at 2019-05-07 13:48:47 UTC*
Sign in to join this conversation.
No description provided.