Version 1.1.0 (2016)
Project state inactive
Download Check Download page
Bitbucket project site
/ Mercurial repository
License BSD open source license


UniCC, standing as an acronym for Universal Compiler-Compiler, is a powerful LALR(1) parser generator and language development system for computer professionals. Its design-goal is to serve as an all-round design and build tool assisting compiler-writers in any parsing-related task, including production-quality compiler construction and the implementation of domains specific languagesAn image showing UniCC in action on a bash console. 

UniCC unions an integrated generator for lexical analyzers and a powerful parser generator into one software solution.

The programming interface of UniCC is a rich, extendable and innovative grammar definition language to express context-free grammars in Backus-Naur-Form style. This language gives the compiler-writer much more comfort and simplicity in implementing parsers than ever before. It comes with useful features for both grammar prototyping and design, parser optimization, semantic augmentation and parser programming. Lexical symbols can be directly defined within productions, right-hand side items can be referenced by meaningful names within semantic actions, instead of only their offsets. Features like virtual- and embedded-productions finally help to rapidly build-up iterative and optional grammatical structures.

Standard features like automatic conflict resolution, terminal and production precedence association, state compression as well as parser trace and behavior modification trough semantic actions round up the whole system.

UniCC feature syntax tree

UniCC is technically a target language independent parser generator, which means that it is not bound to a special programming language. Currently, only support of the C programming language is given due the UniCC Standard C Parser Template. More standard templates for other languages like C++ and Java will be developed and released in future by Phorward Software Technologies, but are not available for now; Any help and support on this area is appreciated!

Development state

In September 2016, four years after the first official release of UniCC version 1.0, we decided that UniCC gets the development status of being "feature complete" and to discontinue this project.

So no more active development on UniCC is done by Phorward Software Technologies for now and in the future. But we wanted to leave this project in a good state, not only because it is a good running software. Therefore, there was an update on UniCC to version 1.1 now in 2016. The manual has been updated, and also a license terms change from the Artistic License 2.0 to the more flexible BSD license was done. The reason for discontinuing UniCC was, that our initial ideas and concepts, the reasons why we built UniCC in the past, have changed and where not achieved. Anyway, much of the knowledge that flow into UniCC also influenced other projects, e.g. the further development of the Phorward Toolkit, which can be seen as the inofficial successor of UniCC, althought it follows different approaches.

System Requirements

The UniCC LALR(1) Parser Generator is packaged and shipped in a 32- and 64-bit setup package for Windows®, including the User's Manual and a compatible and stable version of the UniCC Standard C Parser Template.

For Linux® and other Unix-like systems, the software must be self-compiled from source. Simply follow the instructions provided in the README-file.


The UniCC LALR(1) Parser Generator can be used, modified and distributed under the BSD open source license.