TaiYou-TW / ADA-Compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programming Assignment 3

Changes to project

  • 新增 symbol table 以及 symbol 的紀錄內容(etc: value, scope, index, string)
  • 將 yacc 的 return 改為 Node(type and value),而非原本單純的 return type
  • 由於上一點,有些非動態產生的 expression(例如:c := 1 + 5),可預先得出值,而非在執行階段才得知
  • 修正 lex 無回傳 STRING 的問題
  • 修正 yacc syntax error 的問題
  • 實作 stack 以便紀錄 block (if, while, loop...)的路徑指向
  • 刪除此 Project 不必要的功能(READ, arrays, float, string variables...)

Usage

make
./main examples/HelloWorld.ada
./javaaProtable/javaa examples/HelloWorld.jasm
java HelloWorld

About


Languages

Language:C 74.8%Language:Yacc 14.5%Language:HTML 5.4%Language:Lex 4.3%Language:C++ 0.6%Language:Makefile 0.2%Language:Scala 0.2%Language:Java 0.1%