Mork compiler tool
Mork is a compiler tool with XML support. You specify some syntax (either by a traditional
grammar or by a DTD) and Mork generates the appropriate parser. Mork is implemented in Java
and generates Java class files.
Features
Mapping
A specification file simply associates grammar symbols with Java classes. Mork
generates a mapper that instantiates these classes from any input streams of the
given syntax. A mapper is like an ObjectInputStream with a user-defined syntax.
Scanner
Unicode support, scanner modes and quite a few regular expression operators.
This XML grammar
demonstrates almost every feature (scroll down to the scanner section).
Parser
LALR(1) parsers and regular expression operators like ?, * and +. This
Java grammar demonstrates most
of them.
Attribution
Well-defined attribute grammars: Any number of synthesized and inherited attributes.
Access to non-local attributes.
Examples
Mork includes various non-trivial examples. (1) An
interpreter with flow-control statements
and support for several data types. (2) A compiler
that generates Java bytecode.
XML support (experimental!)
Given a DTD file, Mork generates a validating XML parser. This parser supports
both general and parameter entities. Example..
Unsuppored: namespaces, any elements, all elements.
|