[Top] [Contents] [Index] [ ? ]

Table of Contents

1. Introduction
1.1 The Purpose of AutoGen
1.2 A Simple Example
1.3 csh/zsh caveat
1.4 A User's Perspective
2. AutoGen Definitions File
2.1 The Identification Definition
2.2 Named Definitions
2.2.1 Definition List
2.2.2 Double Quote String
2.2.3 Single Quote String
2.2.4 Shell Output String
2.2.5 An Unquoted String
2.2.6 Scheme Result String
2.2.7 A Here String
2.2.8 Concatenated Strings
2.3 Assigning an Index to a Definition
2.4 Dynamic Text
2.5 Controlling What Gets Processed
2.6 Pre-defined Names
2.7 Commenting Your Definitions
2.8 What it all looks like.
2.9 YACC Language Grammar
2.10 Alternate Definition Forms
3. AutoGen Template
3.1 Format of the Pseudo Macro
3.2 Naming a value
3.3 Macro Expression Syntax
3.3.1 Apply Code
3.3.2 Basic Expression
3.4 AutoGen Scheme Functions
3.4.1 `ag-function?' - test for function
3.4.2 `base-name' - base output name
3.4.3 `count' - definition count
3.4.4 `def-file' - definitions file name
3.4.5 `dne' - "Do Not Edit" warning
3.4.6 `error' - display message and exit
3.4.7 `exist?' - test for value name
3.4.8 `find-file' - locate a file in the search path
3.4.9 `first-for?' - detect first iteration
3.4.10 `for-by' - set iteration step
3.4.11 `for-from' - set initial index
3.4.12 `for-index' - get current loop index
3.4.13 `for-sep' - set loop separation string
3.4.14 `for-to' - set ending index
3.4.15 `get' - get named value
3.4.16 `high-lim' - get highest value index
3.4.17 `last-for?' - detect last iteration
3.4.18 `len' - get count of values
3.4.19 `low-lim' - get lowest value index
3.4.20 `match-value?' - test for matching value
3.4.21 `out-delete' - delete current output file
3.4.22 `out-depth' - output file stack depth
3.4.23 `out-line' - output file line number
3.4.24 `out-move' - change name of output file
3.4.25 `out-name' - current output file name
3.4.26 `out-pop' - close current output file
3.4.27 `out-push-add' - append output to file
3.4.28 `out-push-new' - purge and create output file
3.4.29 `out-resume' - resume current output file
3.4.30 `out-suspend' - suspend current output file
3.4.31 `out-switch' - close and create new output
3.4.32 `set-option' - Set a command line option
3.4.33 `set-writable' - Make the output file be writable
3.4.34 `stack' - make list of AutoGen values
3.4.35 `suffix' - get the current suffix
3.4.36 `tpl-file' - get the template file name
3.4.37 `tpl-file-line' - get the template file and line number
3.4.38 `make-header-guard' - make self-inclusion guard
3.4.39 `autogen-version' - autogen version number
3.5 Common Scheme Functions
3.5.1 `bsd' - BSD Public License
3.5.2 `c-string' - emit string for ANSI C
3.5.3 `error-source-line' - display of file & line
3.5.4 `extract' - extract text from another file
3.5.5 `format-arg-count' - count the args to a format
3.5.6 `fprintf' - format to a file
3.5.7 `gperf' - perform a perfect hash function
3.5.8 `gpl' - GNU General Public License
3.5.9 `hide-email' - convert eaddr to javascript
3.5.10 `in?' - test for string in list
3.5.11 `join' - join string list with separator
3.5.12 `kr-string' - emit string for K&R C
3.5.13 `lgpl' - GNU Library General Public License
3.5.14 `license' - an arbitrary license
3.5.15 `make-gperf' - build a perfect hash function program
3.5.16 `makefile-script' - create makefile script
3.5.17 `max' - maximum value in list
3.5.18 `min' - minimum value in list
3.5.19 `prefix' - prefix lines with a string
3.5.20 `printf' - format to stdout
3.5.21 `raw-shell-str' - single quote shell string
3.5.22 `shell' - invoke a shell script
3.5.23 `shell-str' - double quote shell string
3.5.24 `shellf' - format a string, run shell
3.5.25 `sprintf' - format a string
3.5.26 `string-capitalize' - capitalize a new string
3.5.27 `string-capitalize!' - capitalize a string
3.5.28 `string-contains-eqv?' - caseless substring
3.5.29 `string-contains?' - substring match
3.5.30 `string-downcase' - lower case a new string
3.5.31 `string-downcase!' - make a string be lower case
3.5.32 `string-end-eqv-match?' - caseless regex ending
3.5.33 `string-end-match?' - regex match end
3.5.34 `string-ends-eqv?' - caseless string ending
3.5.35 `string-ends-with?' - string ending
3.5.36 `string-equals?' - string matching
3.5.37 `string-eqv-match?' - caseless regex match
3.5.38 `string-eqv?' - caseless string match
3.5.39 `string-has-eqv-match?' - caseless regex contains
3.5.40 `string-has-match?' - contained regex match
3.5.41 `string-match?' - regex match
3.5.42 `string-start-eqv-match?' - caseless regex start
3.5.43 `string-start-match?' - regex match start
3.5.44 `string-starts-eqv?' - caseless string start
3.5.45 `string-starts-with?' - string starting
3.5.46 `string-substitute' - multiple global replacements
3.5.47 `string->c-name!' - map non-name chars to underscore
3.5.48 `string-tr' - convert characters with new result
3.5.49 `string-tr!' - convert characters
3.5.50 `string-upcase' - upper case a new string
3.5.51 `string-upcase!' - make a string be upper case
3.5.52 `sub-shell-str' - back quoted (sub-)shell string
3.5.53 `sum' - sum of values in list
3.5.54 `html-escape-encode' - escape special chars
3.6 AutoGen Native Macros
3.6.1 AutoGen Macro Syntax
3.6.2 CASE - Select one of several template blocks
3.6.3 COMMENT - A block of comment to be ignored
3.6.4 DEFINE - Define a user AutoGen macro
3.6.5 ELIF - Alternate Conditional Template Block
3.6.6 ELSE - Alternate Template Block
3.6.7 ENDDEF - Ends a macro definition.
3.6.8 ENDFOR - Terminates the FOR function template block
3.6.9 ENDIF - Terminate the IF Template Block
3.6.10 ENDWHILE - Terminate the WHILE Template Block
3.6.11 ESAC - Terminate the CASE Template Block
3.6.12 EXPR - Evaluate and emit an Expression
3.6.13 FOR - Emit a template block multiple times
3.6.14 IF - Conditionally Emit a Template Block
3.6.15 INCLUDE - Read in and emit a template block
3.6.16 INVOKE - Invoke a User Defined Macro
3.6.17 SELECT - Selection block for CASE function
3.6.18 UNKNOWN - Either a user macro or a value name.
3.6.19 WHILE - Conditionally loop over a Template Block
3.7 Redirecting Output
4. Augmenting AutoGen Features
4.1 Shell Output Commands
4.2 Guile Macros
4.3 Guile Callout Functions
4.4 AutoGen Macros
5. Invoking autogen
5.1 autogen usage help (-?)
5.2 templ-dirs option (-L)
5.3 override-tpl option (-T)
5.4 lib-template option (-l)
5.5 base-name option (-b)
5.6 definitions option
5.7 load-scheme option (-S)
5.8 load-functions option (-F)
5.9 skip-suffix option (-s)
5.10 select-suffix option (-o)
5.11 source-time option
5.12 equate option
5.13 writable option
5.14 loop-limit option
5.15 timeout option (-t)
5.16 trace option
5.17 trace-out option
5.18 show-defs option
5.19 show-shell option
5.20 define option (-D)
5.21 undefine option (-U)
6. Configuring and Installing
6.1 Configuring AutoGen
6.2 AutoGen as a CGI server
6.3 Signal Names
6.4 Installing AutoGen
7. Automated Option Processing
7.1 AutoOpts Features
loading rc files
saving rc files
process a text string for options
7.2 Quick Start
7.3 Option Definitions
7.3.1 Program Description Attributes
7.3.2 Generated main Procedures
7.3.3 Program Information Attributes
7.3.4 Option Attributes
7.3.4.1 Required Attributes
7.3.4.2 Common Option Attributes
7.3.4.3 Special Option Handling
7.3.4.4 Immediate Action Attributes
7.3.4.5 Option Conflict Attributes
7.3.4.6 Option Argument Specification
7.3.4.7 Option Argument Handling
7.3.5 Man and Info doc Attributes
7.3.6 Automatically Supported Options
7.3.7 Library of Standard Options
7.4 Programmatic Interface
7.4.1 Data for Option Processing
7.4.2 CLEAR_OPT( <NAME> ) - Clear Option Markings
7.4.3 COUNT_OPT( <NAME> ) - Definition Count
7.4.4 DESC( <NAME> ) - Option Descriptor
7.4.5 DISABLE_OPT_name - Disable an option
7.4.6 ENABLED_OPT( <NAME> ) - Is Option Enabled?
7.4.7 ERRSKIP_OPTERR - Ignore Option Errors
7.4.8 ERRSTOP_OPTERR - Stop on Errors
7.4.9 HAVE_OPT( <NAME> ) - Have this option?
7.4.10 ISSEL_OPT( <NAME> ) - Is Option Selected?
7.4.11 ISUNUSED_OPT( <NAME> ) - Never Specified?
7.4.12 OPTION_CT - Full Count of Options
7.4.13 OPT_ARG( <NAME> ) - Option Argument String
7.4.14 OPT_VALUE_name - Option Argument Value
7.4.15 RESTART_OPT( n ) - Resume Option Processing
7.4.16 SET_OPT_name - Force an option to be set
7.4.17 STACKCT_OPT( <NAME> ) - Stacked Arg Count
7.4.18 STACKLST_OPT( <NAME> ) - Argument Stack
7.4.19 START_OPT - Restart Option Processing
7.4.20 STATE_OPT( <NAME> ) - Option State
7.4.21 USAGE( exit-code ) - Usage invocation macro
7.4.22 VALUE_OPT_name - Option Flag Value
7.4.23 VERSION - Version and Full Version
7.4.24 WHICH_IDX_name - Which Equivalenced Index
7.4.25 WHICH_OPT_name - Which Equivalenced Option
7.4.26 teOptIndex - Option Index and Enumeration
7.4.27 OPTIONS_STRUCT_VERSION - active version
7.4.28 libopts External Procedures
7.4.28.1 optionFree
7.4.28.2 optionLoadLine
7.4.28.3 optionProcess
7.4.28.4 optionRestore
7.4.28.5 optionSaveFile
7.4.28.6 optionSaveState
7.4.28.7 optionVersion
7.5 Option Descriptor File
7.6 Using AutoOpts
7.6.1 local-only use
7.6.2 binary distro, AutoOpts not installed
7.6.3 binary distro, AutoOpts pre-installed
7.6.4 source distro, AutoOpts pre-installed
7.6.5 source distro, AutoOpts not installed
7.7 AutoOpts for Shell Scripts
7.8 Automated Info Docs
7.8.1 "invoking" info docs
7.8.2 library info docs
7.9 Automated Man Pages
7.9.1 command line man pages
7.9.2 library man pages
8. Add-on packages for AutoGen
8.1 Automated Finite State Machine
8.2 Combined RPC Marshalling
8.3 Automated Event Management
8.4 Invoking columns
8.4.1 columns usage help (-?)
8.4.2 width option (-W)
8.4.3 columns option (-c)
8.4.4 col-width option (-w)
8.4.5 spread option
8.4.6 indent option (-I)
8.4.7 first-indent option
8.4.8 tab-width option
8.4.9 sort option (-s)
8.4.10 format option (-f)
8.4.11 separation option (-S)
8.4.12 line-separation option
8.4.13 by-columns option
8.4.14 input option (-i)
8.5 Invoking getdefs
8.5.1 getdefs usage help
8.5.2 defs-to-get option
8.5.3 ordering option
8.5.4 first-index option
8.5.5 input option
8.5.6 subblock option
8.5.7 listattr option
8.5.8 filelist option
8.5.9 assign option
8.5.10 common-assign option
8.5.11 copy option
8.5.12 srcfile option
8.5.13 linenum option
8.5.14 output option
8.5.15 autogen option
8.5.16 template option
8.5.17 agarg option
8.5.18 base-name option
8.6 Invoking xml2ag
8.6.1 xml2ag usage help (-?)
8.6.2 output option (-O)
8.6.3 templ-dirs option (-L)
8.6.4 override-tpl option (-T)
8.6.5 lib-template option (-l)
8.6.6 base-name option (-b)
8.6.7 definitions option
8.6.8 load-scheme option (-S)
8.6.9 load-functions option (-F)
8.6.10 skip-suffix option (-s)
8.6.11 select-suffix option (-o)
8.6.12 source-time option
8.6.13 equate option
8.6.14 writable option
8.6.15 loop-limit option
8.6.16 timeout option (-t)
8.6.17 trace option
8.6.18 trace-out option
8.6.19 show-defs option
8.6.20 show-shell option
8.6.21 define option (-D)
8.6.22 undefine option (-U)
8.7 Replacement for Stdio Formatting Library
9. Some ideas for the future.
Concept Index
Function Index


This document was generated by Bruce Korb on June 4, 2003 using texi2html

Viewable With Any Browser   AutoGen Home