---
name: "uuagc"
section: "1"
platform: "linux"
package: "uuagc"
version: "0.9.56-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/uuagc"
---

# uuagc(1)

Attribute Grammar compiler

## NAME

uuagc - Attribute Grammar compiler

## SYNOPSIS

**uuagc** \[ *options* ... \] *file*

## DESCRIPTION

This program **uuagc** is the compiler of the (Utrecht University) Attribute Grammar system.  It takes as input AG source files (.ag) and produces as output regular Haskell source files (.hs).

Available options:

- **-m**

  generate default module header

- **--module**\[=*name*\]

  generate module header, specify module name

- **-d**, **--data**

  generate data type definition

- **--strictdata**

  generate strict data fields (when data is generated)

- **--strictwrap**

  generate strict wrap fields for WRAPPER generated data

- **-c**, **--catas**

  generate catamorphisms

- **-f**, **--semfuns**

  generate semantic functions

- **-s**, **--signatures**

  generate signatures for semantic functions

- **--newtypes**

  use newtypes instead of type synonyms

- **-p**, **--pretty**

  generate pretty printed list of attributes

- **-w**, **--wrappers**

  generate wappers for semantic domains

- **-r**, **--rename**

  rename data constructors

- **--modcopy**

  use modified copy rule

- **--nest**

  use nested tuples

- **--syntaxmacro**

  experimental: generate syntax macro code (using knit catas)

- **-o** *file*, **--output**=*file*

  specify output *file*

- **-v**, **--verbose**

  verbose error message format

- **-h**, -?, **--help**

  get usage information

- **-a**, **--all**

  do everything (**-dcfsprm**)

- **-P** *search path*, **--**=*search path*

  specify *seach path*

- **--prefix**=*prefix*

  set prefix for semantic functions

- **--self**

  generate self attribute

- **--cycle**

  check for cyclic definitions

- **--version**

  get version information

- **-O**,**--optimize**

  optimize generated code (--visit --case)

- **--visit**

  try generating visit functions

- **--seq**

  force evaluation using function seq (visit functions only)

- **--unbox**

  use unboxed tuples

- **--case**

  use nested cases instead of let (visit functions only)

- **--Werrors**

  turn warnings into fatal errors

- **--dumpgrammar**

  dump internal grammar representation (in generated code)

## COPYRIGHT

Copyright © 1998 — 2005  Doaitse Swierstra, Arthur Baars and Alexey Rodriguez

Copyright © 2005 — 2007  Alexey Rodriguez

Copyright © 2005 — 2007  Joost Verhoog

Copyright © 2006 — 2007  Arie Middelkoop

Copyright © 2006 — 2007  Jeroen Fokker

Copyright © 2007         Atze Dijkstra

This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

## AUTHOR

This manual page was written by Arjan Oosting \<arjanoosting@home.nl\> for the Debian system (but may be used by others).
