CompilerWriter™ for Windows

CompilerWriterPro™ is a parser generator. But it is more than just that. It is an integrated collection of high performance translator writing tools that automatically produces efficient and reliable parser components for a broad range of programming applications. Depending on user preferences, this tool will create program source code for working parsers expressed in the C/C++, Java, Ada, and PL/SQL programming languages.

What is a Parser Generator?

Syntax-analysis, like lexical analysis, is an important aspects of compiler design that aims to reveal the structure of phrases within a stream of text. The components of compilers, and other kinds of translators, that analyze the syntax of text stream inputs are called parsers.

Parser generators are special tools capable of automatically producing that portion of a translator which performs syntax analysis. Parser generators are guided in this by grammar definitions that define the syntax or structure of the text its generated parsers will be expected to analyze.

What problems do parser Generators solve?

Because grammar definitions are all that CompilerWriterPro™ needs to produce parsers and its attendant components, it makes good sense to use CompilerWriterPro™ for any application that must interpret or transform text. That the text processed by the application be context free, is the only requirement that must be satisfied.

CompilerWriterPro™ is used by professional software developers engaged in the construction of programming language compilers, web browsers, rule translators for knowledge-based systems, command language interpreters, file conversion utilities, context-sensitive text editors, et cetera. The list of program types to which this tool can profitably be applied is not endless, but the list is very long.

Translators can, and often are, built by programmers who, by themselves, write the program logic to manage inputs, perform lexical and syntactic analysis, and invoke action routines in response to detection of certain phrases in the input. However, all of these tasks can be performed by the translator components CompilerWriterPro™ generates.


Among the special features built into CompilerWriterPro™ are these:

  • Uses a grammar language that is easy to learn, free of cryptic notations, and that permits the association of attributes and semantic actions with grammar symbols;
  • Produces compact SLR(1), LR(1), and LALR(1) parse tables from grammar specifications;
  • Generates parsers in the C/C++, Java, Ada, and PL/SQL programming languages;
  • Produces source code for translator components, which, when compiled, is ready to run;
  • Generated code includes components for reading character string or text file input, for performing both lexical and syntactic analysis, and for calling user-provided semantic actions;
  • Analyzes input grammar to validate syntax, remove useless symbols, identify unit and epsilon productions, report recursive definitions, et cetera;
  • Provides developers with options to control implementation details;
  • Help files, sample grammar, and applications, written in Ada, PL/SQL, ANSI C and C++, are provided in the installation package;
  • Integrated Development Environment includes a context-sensitive editor for its grammar language.


Automatic code generation lowers the cost of software development, speeds production, and increases code reliability. CompilerWriterPro™ is capable of quickly generating error-free program logic the first time and every time. Translators of every description can be designed and built in a small fraction of the time consumed when these programs are built "by hand".

Test programs are provided in the installation package to validate generated code. Translators constructed using CompilerWriterPro™ are easily adapted to changing requirements. This tool can regenerate translator components in the blink of an eye when either implementation options or grammar structure changes.


Release of CompilerWriterPro™ for Windows version 3.5 is scheduled for March 2011. Its graphical user interface is presently being rewritten to streamline the parser production process. Its error-recovery features will be improved, and a context-sensitive-editor for the attributed grammars serving as input to CompilerWriterPro™ are also under development.

Please check the News section on our home page for status updates.