uuagc [ options ... ] file


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:


generate default module header


generate module header, specify module name

-d, --data

generate data type definition


generate strict data fields (when data is generated)


generate strict wrap fields for WRAPPER generated data

-c, --catas

generate catamorphisms

-f, --semfuns

generate semantic functions

-s, --signatures

generate signatures for semantic functions


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


use modified copy rule


use nested tuples


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


set prefix for semantic functions


generate self attribute


check for cyclic definitions


get version information


optimize generated code (--visit --case)


try generating visit functions


force evaluation using function seq (visit functions only)


use unboxed tuples


use nested cases instead of let (visit functions only)


turn warnings into fatal errors


dump internal grammar representation (in generated code)


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


This manual page was written by Arjan Oosting <[email protected]> for the Debian system (but may be used by others).