lp://staging/~psmay/+junk/cifl-antlr.dev

Created by Peter S. May and last modified

Cifl (or cifl, but never CIFL unless required by naming convention) is a proposed programming language designed for a source-to-source compiler to C, intended to implement modern programming language features on top of the general platform provided by C.

Notes about the language this intends to support are at <https://halfgeek.org/wiki/Cifl>.

Get this branch:
bzr branch lp://staging/~psmay/+junk/cifl-antlr.dev
Only Peter S. May can upload to this branch. If you are Peter S. May please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Peter S. May
Status:
Experimental

Recent revisions

12. By Peter S. May <http://psmay.com/>

The start rule now reflects a whole file.

11. By Peter S. May <http://psmay.com/>

Still need to get together some test cases. Also haven't accounted for functions and typedefs.

10. By Peter S. May <http://psmay.com/>

* AST generation added for many operators and statements.

9. By Peter S. May <http://psmay.com/>

Added a bunch of explicit newline allowances in order to allow the use of newlines as statement delimiters. Things are looking up.

8. By Peter S. May <http://psmay.com/>

In progress. Unholy mess.

7. By Peter S. May <http://psmay.com/>

In progress

6. By Peter S. May <http://psmay.com/>

Added new Protocifl.g.

5. By Peter S. May <http://psmay.com/>

* Changed grammar name to Cifl.
* Changed struct/union/enum to new parameter-like syntax.
* Added support for qualified 'goto', considered less harmful.
* Added support for block exit cases.

4. By Peter S. May <http://psmay.com/>

* Added annotated_type and type_clause rules, which make it possible to annotate a type separately from the structure it qualifies. The main use case so far is for "@read ref[TYPE]", which translates to C "const TYPE *", which intentionally qualifies the ref rather than the type.

3. By Peter S. May <http://psmay.com/>

An early version of the language seems to be coming together. Trying to get together a coherent AST generator.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers