Parser and pretty-printer for the Oberon programming language https://github.com/blamario/language-oberon
|Latest on Hackage:||0.2|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The library and the executable support both the original Oberon and the Oberon-2 programming language, as described in the respective language reports.
The grammars in
Language.Oberon.Grammar attempt to follow the language grammars from the reports, while
generating a semantically meaningful abstract syntax tree; the latter is defined in
Language.Oberon.AST. As the
grammars are ambiguous, it is necessary to resolve the ambiguities after parsing all Oberon modules in use.
Language.Oberon.Resolver provides this functionality. Only after the ambiguity resolution can the abstract syntax
tree be pretty-printed using the instances from
The original purpose for the library was to be a test of the underlying grammatical-parsers library. The experiment succeeded, so the package can be used in practice.
Revision history for language-oberon
0.1 – 2018-04-08
- First version, but complete enough to be released on an unsuspecting world…
0.1.1 – 2018-04-08
- except for the missing Oberon module examples the test suite depends on.