aboutsummaryrefslogtreecommitdiff

CIBIC: C Implemented Bare and Ingenuous Compiler

Build Requirements

  • flex >= 2.5.37

  • bison >= 2.4.3

  • gcc >= 4.7.3

Features

  • Complex declaration support (int (*a)[10], int (*f)(), int (*g(int ***e[10]))(), etc.)

  • Complex cast support ((int (*)())addr, (int (*)[10])addr, etc.)

  • typedef support (together with complex decl)

  • Forward declaration

  • Real Single Static Assignment (with dominator frontier, renaming, interval building and register allocation algorithm)

  • Safe and conservative CSE (common subexpression elimination)

  • Sophisticated semantic checking

  • Small memory footprint

  • Sophisticated error reporting

  • User-friendly AST printing