uuagc(1)

πŸ’– uuagc(1) β€” the Attribute Grammar compiler, but make it fashion πŸ’–

okay bestie, listen up β€” this is the manual page for uuagc(1) from the User Commands section, and honestly? she's iconic. Let's get into it. πŸ¦‹


✨ NAME ✨

uuagc β€” the Attribute Grammar compiler. yes that's the whole name. short, sweet, main character energy. πŸ‘‘


🌸 SYNOPSIS 🌸

uuagc [ options ...  ] file

that's it. that's the vibe. give her some options and a file and she'll do her thing. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

okay so uuagc is the compiler for the (Utrecht University) Attribute Grammar system. periodt.

she takes AG source files (.ag, adorable) as input and hands you back regular Haskell source files (.hs) as output. like, a full glow-up transformation. ✨

Available options: (there are SO many, and we're doing ALL of them, no skipping, I refuse 😀)

  • -m β€” generate the default module header
  • --module[=name] β€” generate a module header, and you get to specify the module name
  • -d, --data β€” generate the data type definition
  • --strictdata β€” generate strict data fields (only when data is actually generated, iykyk)
  • --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 a pretty printed list of attributes
  • -w, --wrappers β€” generate wappers for semantic domains πŸ‘€ (yes, "wappers", that's what it says, we don't make the rules)
  • -r, --rename β€” rename data constructors
  • --modcopy β€” use the modified copy rule
  • --nest β€” use nested tuples
  • --syntaxmacro β€” experimental: generate syntax macro code (using knit catas)
  • -o file, --output=file β€” specify the output file
  • -v, --verbose β€” verbose error message format
  • -h, -?, --help β€” get usage information
  • -a, --all β€” do everything (-dcfsprm) β€” the overachiever option, love her 🫢
  • -P search path, --=search path β€” specify seach path
  • --prefix=prefix β€” set the prefix for semantic functions
  • --self β€” generate the 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 πŸ’€ (she's serious about this one)
  • --dumpgrammar β€” dump the internal grammar representation (in generated code)

okay so legally we have to do this part and honestly the people who made this deserve their flowers πŸ’

  • 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. (no cap, read the fine print bestie, it's important)

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). slay, Arjan 🫢


and that's the whole thing, bestie!! you made it to the end, so proud of you πŸ₯Ήβœ¨

this was uuagc version 0.9.4, dated April 2007 β€” yeah she's vintage, but vintage is literally always in. πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from