ZipperAG: An implementationg of Attribute Grammars using Functional Zippers

[ bsd3, experimental, library ] [ Propose Tags ]

An implementationg of Attribute Grammars using Functional Zippers


[Skip to Readme]
Versions [faq] 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9
Dependencies base (>=2 && <=4.6.0.1), syz [details]
License BSD-3-Clause
Copyright Pedro Martins
Author Pedro Martins <pedromartins4@gmail.com>
Maintainer Pedro Martins <pedromartins4@gmail.com>
Category Experimental
Home page www.di.uminho.pt/~prmartins
Uploaded by prmartins at 2014-04-22T12:43:59Z
Distributions NixOS:0.9
Downloads 6513 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-15 [all 8 reports]

Modules

  • Language
    • Grammars
      • Language.Grammars.ZipperAG
        • Examples
          • Language.Grammars.ZipperAG.Examples.Algol68
          • Language.Grammars.ZipperAG.Examples.BreadthFirst
          • DESK
            • Language.Grammars.ZipperAG.Examples.DESK.DESK
            • Language.Grammars.ZipperAG.Examples.DESK.DESK_HighOrder
            • Language.Grammars.ZipperAG.Examples.DESK.DESK_circular
            • Language.Grammars.ZipperAG.Examples.DESK.DESK_references
          • Language.Grammars.ZipperAG.Examples.HTMLTableFormatter
          • LET
            • Language.Grammars.ZipperAG.Examples.LET.ExampleLet
          • Language.Grammars.ZipperAG.Examples.RepMin
          • Language.Grammars.ZipperAG.Examples.SmartParentesis

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for ZipperAG-0.5

[back to package description]
This source code complements the paper
Zipper-based Attribute Grammars and their Extensions. Pedro Martins, João Paulo Fernandes and João Saraiva. In the proceedings of the 17th Brazilian Symposium on Programming Languages (SBLP’13), September 29 - October 4, Brasilia, Brasil. LNCS

To run all the examples, the Scrap Your Zipper Haskell (syz) package
is necessary, which can be easily installed with:

$ cabal install syz

The examples run with:

$ghci (name_of_file)

To run the AGs, one must write in ghci:

for the files DESK*
$ semantics program

for the file HTMLTableFormatter.hs
$ semantics table

for the file RepMin.hs
$ semantics tree

for the file SmartParentesis.hs
$ semantics expr