is an Open Source tool targeted both as a compiler development framework
and as an environment for language design.
Its main purpose runs from rapid language prototyping up to full-fledged
domain specific language compiler writing.
The ZzC tool is based on both OpenZz
and the GNU Compiler Collection (GCC).
Given a target language, the user can build a compiler for it expressing both
the syntax, in a manner similar to the standard BNF notation, and the semantic
actions, using GCC syntax tree representation. The main idea is to target
ZzC as a framework for prototyping and developing Domain Specific Languages
(DSL). Our experience shows that an effective approach to DSL implementation
can be based on the use of a dynamic language i.e. a language that can be
extended at parse time by using special syntax extension statements.
A dynamic language is a good starting point for the development of a DSL
as it provides a base syntax that can be easily expanded toward the formalism
that belongs to the application domain --- maybe adding new data types and/or
operators but keeping the original control flow statements. ---
The APE super-computer TAO language was our prototype
of dynamic language.