Skip to content

xspirus/Alan-Compiler-CXX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alan Compiler

Developed for the class "Compilers" of the National Technical University of Athens for the year 2018.

Specifications

  • Language : Alan
  • Implementation : C++17
  • Build Tool : CMake

Versions

  • Clang (6.0.0)
  • Flex (2.5.4)
  • Bison (3.0.4)
  • CMake (3.10.2)
  • LLVM (6.0.0)

Build

make alan-release

Compile

./acc [-h] [--version] [-o OUTPUT] [-L | -S] [-O0 | -O1 | -O2 | -O3] FILENAME

Project Structure

  • main
  • src
    • ast
      Abstract Syntax Tree
    • lexer
      Lexical Analysis
    • parser
      Syntax Analysis
    • symbol
      Semantic Analysis
    • codegen
      Codegen essentials
    • general
      General functions
    • message
      Errors, warnings, fatals, internals, debug
    • fix
      Convert escaped chars to normal chars
    • lib
      Define alan standard library functions

Developers

  • Spiros Dontas