language-oberon: Parser, pretty-printer, and type checker for the Oberon programming language

[ gpl, language, library, program ] [ Propose Tags ]

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 Language.Oberon.Pretty.

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.

Versions [faq] 0.1, 0.1.1, 0.2, 0.2.1
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), containers (>=0.5 && <1.0), directory (<1.4), either (==5.*), filepath (<1.5), grammatical-parsers (>0.3.1 && <0.4), language-oberon, optparse-applicative, parsers (>=0.12.7 && <0.13), prettyprinter (>=1.2.1 && <1.3), rank2classes (<1.3), repr-tree-syb (<0.2), template-haskell (>=2.11 && <2.15), text (<1.3), transformers (==0.5.*) [details]
License GPL-3.0-only
Author Mario Blažević
Maintainer blamario@protonmail.com
Category Language
Home page https://github.com/blamario/language-oberon
Bug tracker https://github.com/blamario/language-oberon/issues
Uploaded by MarioBlazevic at Sun Jan 27 19:55:43 UTC 2019
Distributions NixOS:0.2.1
Executables parse
Downloads 442 total (61 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-01-27 [all 3 reports]

Modules

  • Language
    • Language.Oberon
      • Language.Oberon.AST
      • Language.Oberon.Grammar
      • Language.Oberon.Pretty
      • Language.Oberon.Resolver
      • Language.Oberon.TypeChecker
  • Transformation
    • Transformation.AG
    • Transformation.Deep
      • Transformation.Deep.TH
    • Transformation.Rank2

Downloads

Maintainer's Corner

For package maintainers and hackage trustees