Overview

Last stable version 1.0
Development version 1.1
Product state stable (feature complete)
Release year 2012
Download Check Download page
Documentation Check Documentation page
Mercurial SCM repository http://hg.code.sf.net/p/unicc/code
SourceForge project site
http://sourceforge.net/projects/unicc/

 Overview

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!

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.

Licensing

The UniCC LALR(1) Parser Generator can be used, modified and distributed under the Artistic License, version 2.