aboutsummaryrefslogblamecommitdiff
path: root/README.rst
blob: c2c3a0525e078424aed7c81d0dc786ad2e6358ea (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                                

                                                 







                  
                                                                                                    
                                                                         
                                                  
                     
                                                                            

                                                              

                                 
                               
                            
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