Latest commit
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Compiler Contruction for Tack Language Tack Language Specification ===== http://cs.nyu.edu/courses/fall11/CSCI-GA.2130-001/tack-spec.pdf Tack Intermediate Representation Specification ===== http://cs.nyu.edu/courses/fall11/CSCI-GA.2130-001/ir-spec.pdf X86-64 http://cs.nyu.edu/courses/fall11/CSCI-GA.2130-001/x64-intro.pdf FILES ===== README -- this file TackLexer.x -- an input of Alex, lexer generator tool TackParser.y -- an input of Happy, parser generator tool Token.hs -- token ScrPos.hs -- position info for token AST.hs -- AST PrettyPrint.hs -- Pretty Printing SymbolTable.hs -- Symbol Table SymbolType.hs -- Types used for Symbol Table GetTackType.hs -- Types used in Tack PrintSymbolTable.hs -- Print a symbol table SemanticAnalyzer.hs -- Semantic Analyzer IR.hs -- Intermediate Representation IRTranslator.hs -- IR Translator CodeGen.hs -- Linux X86-64 code generation ASM.hs -- Linux X86-64 Main.hs requirement ========== GHC 6.12 mtl-2.0.1.0 (for MonadTrans) How to run ========== make -- Compile haskell codes make trans -- Linux x86-64 code generation make run -- Compile x86-64 codes and Run