uuagc-cabal: Cabal plugin for UUAGC

[ bsd3, development, library ] [ Propose Tags ] [ Report a vulnerability ]

Cabal plugin for the Universiteit Utrecht Attribute Grammar System


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.3, 1.0.0.4, 1.0.0.5, 1.0.0.6, 1.0.0.7, 1.0.0.9, 1.0.0.10, 1.0.2.0, 1.0.3.0, 1.0.4.0, 1.0.5.0, 1.0.6.0, 1.1.0.0, 1.2.0.0, 1.3.0.0, 1.3.1.0
Dependencies base (>=4 && <5), Cabal (>=2), containers (>=0.3), directory (>=1.0.1.1), filepath (>=1.1.0.4), mtl (>=2.2.1), process (>=1.0.1.3), uulib (>=0.9.14) [details]
Tested with ghc >=6.12
License BSD-3-Clause
Copyright Universiteit Utrecht
Author Software Technology at Universiteit Utrecht
Maintainer Atze Dijkstra (atzedijkstra@gmail.com)
Category Development
Home page https://github.com/UU-ComputerScience/uuagc
Bug tracker https://github.com/UU-ComputerScience/uuagc/issues
Uploaded by JeroenBransen at 2024-07-03T08:00:22Z
Distributions Debian:1.1.0.0, FreeBSD:1.0.6.0
Reverse Dependencies 5 direct, 10 indirect [details]
Downloads 18117 total (54 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-07-03 [all 1 reports]

Readme for uuagc-cabal-1.3.1.0

[back to package description]
This is a plugin for the UUAG system.

To use UUAG in combination with Cabal, add a dependency on the packages:
uuagc         -- installs the tool: uuagc
uuagc-cabal   -- installs a cabal plugin that uses uuagc
Note that this package does not have a dependency on uuagc. You can use
this module without having uuagc installed.
(whether this is useful is a different question)

Then write a custom Setup.hs:

--
module Main where

import Distribution.Simple
import Distribution.Simple.UUAGC (uuagcLibUserHook)
import UU.UUAGC (uuagc)

main = defaultMainWithHooks (uuagcLibUserHook uuagc)
--

Add extra-source-files: uuagc_options
The contents of this file are options per AG module, as specified
as follows. Write for each AG file:
* Two lines in a file uuagc_options in the root of the package:
   --
   file: "src-ag/Desugar.ag"
   options: module, pretty, catas, semfuns, signatures, genlinepragmas
   --
  The options depend on what you actually want to compile.
* Add an extra source file to the AG file in the cabal file:
    extra-source-files: src/MyProgram.ag
* Add the module to the modules list in the cabal file.


Originally written by Juan Cardona (or one of his students).