Overview

Last stable version 1.0rc1
Development version 1.0.0 (final)
Product state stable
Release year 2011
Download Check Download page
Documentation Check Documentation page
Mercurial SCM repository http://unicc.hg.sourceforge.net:8000/hgroot/unicc/unicc
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 languages.

An image showing UniCC in action on a bash console.UniCC unions an integrated generator for lexical analyzers and a powerful LALR(1) parser generator into one software solution.

The programming interface of UniCC is a rich, extendable and innovative EBNF-based grammar definition language to express context-free grammars (Extended-Backus-Naur-Form). This language gives the compiler-developer's task 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 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 separate 32- and 64-bit package for Linux® and Windows®, including a compatible and stable version of the UniCC Standard C Parser Template.

The package can be self-compiled on any system that is capable to compile the Phorward Foundation Libraries. The Phorward Foundation Libraries are required to compile UniCC. Follow the steps in the README-file for more assistance.

Licensing

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