GNU AutoGen - The Automated Program Generator: 8.5 Invoking getdefs

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 8.5 Invoking getdefs

If no `input` argument is provided or is set to simply "-", and if `stdin` is not a `tty`, then the list of input files will be read from `stdin`. This program extracts AutoGen definitions from a list of source files. Definitions are delimited by `/*=<entry-type> <entry-name>\n` and `=*/\n`. From that, this program creates a definition of the following form:

        #line nnn "source-file-name"
        entry_type = {
            name = entry_name;
            ...
        };

1. The ellipsis `...` is filled in by text found between the two delimiters. Each line of text is stripped of anything before the first asterisk, then leading asterisks, then any leading or trailing white space.
2. If what is left starts with what looks like a name followed by a colon, then it is interpreted as a name followed by a value.
3. If the first character of the value is either a single or double quote, then you are responsible for quoting the text as it gets inserted into the output definitions. So, if you want whitespace at the beginnings of the lines of text, you must do something like this:

        * mumble:
        * "  this is some\n"
        * "  indented text."

4. If the `<entry-name>` is followed by a comma, the word `ifdef` (or `ifndef`) and a name `if_name`, then the above entry will be under `ifdef` control.

       /*=group entry_name, ifdef FOO
        * attr: attribute value
       =*/

   Will produce the following:

       #ifdef FOO
       #line nnn "source-file-name"
       group = {
           name = entry_name;
           attr = 'attribute value';
       };
       #endif

5. If you use of the `subblock` option, you can specify a nested value, See section subblock option. That is, this text:

        * arg:  int, this, what-it-is

   with the `--subblock=arg=type,name,doc` option would yield:

       arg = { type = int; name = this; doc = what-it-is; };

This section was generated by AutoGen, using the `agtexi-cmd` template and the option descriptions for the `getdefs` program.

This software is released under the GNU General Public License.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by Bruce Korb on March 7, 2011 using texi2html 1.82.