Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 15a35adde3d1bc9fde6da8c8fe069b60 > files > 90

pnet-devel-0.5.0-1mdk.ppc.rpm

This is pnettools.info, produced by makeinfo version 4.3 from
pnettools.texi.

   The Portable.NET development tools assist with building and
manipulating images in the portable executable format.  development.

   Copyright (C) 2001 Southern Storm Software, Pty Ltd


File: pnettools.info,  Node: resgen invocation,  Next: Resource Format,  Prev: Resources,  Up: Resources

Invoking resgen
===============

   The general form of the resgen syntax is as follows:

     resgen [OPTIONS] INPUT ... OUTPUT

   Resgen can convert multiple input files into a single output file.
A number of options are available to specify the format of the input
files and the output file.  Alternatively, resgen can guess the format
of a file from its extension:

`.txt'
`.text'
     Text resources.

`.resources'
     Binary resources.

`.resx'
`.xml'
     XML resources.

`.po'
     GNU gettext resources.

`.exe'
`.dll'
`.obj'
`.o'
     Binary resources within an IL image (input only).

   The input filename `-' may be used to specify standard input.  If an
input format is not specified, standard input is assumed to contain
text resources.

   The output filename `-' may be used to specify standard output.  If
an output format is not specified, the format of standard output is
assumed to be text.

`-t'
`--text-input'
     The input files are all assumed to be in text resource format.

`-r'
`--res-input'
     The input files are all assumed to be in binary resource format.

`-i'
`--il-input'
     The input files are all assumed to be IL image files (i.e.
     executables, dynamic link libraries, or object files).

`-x'
`--xml-input'
     The input files are all assumed to be in XML resource format.

`-p'
`--po-input'
     The input files are all assumed to be in GNU gettext .po resource
     format.

`-T'
`--text-output'
     The output format is set to text resources.

`-R'
`--res-output'
     The output format is set to binary resources.

`-X'
`--xml-output'
     The output format is set to XML resources.

`-P'
`--po-output'
     The output format is set to GNU gettext .po resources.

`-s'
`--sort-names'
     When writing text resources as output, sort the resources by name.
     This typically makes it easier for humans to read the output.

     This option is ignored if the output format is not text.

`--help'
     Print a usage message for the resgen program.

`-v'
`--version'
     Print the version of the \fBresgen\fR program.

`--'
     Marks the end of the command-line options, and the beginning of
     the input filenames.  You may need to use this if your filename
     begins with `-'.  e.g. `ilresgen -- -input.txt output.resources'.
     This is not needed if the input is stdin: `ilresgen -
     output.resources' is perfectly valid.

   The exit status is 1 if an error occurred while processing the input.
Otherwise the exit status is 0.


File: pnettools.info,  Node: Resource Format,  Next: Resource Examples,  Prev: resgen invocation,  Up: Resources

Text resource file format
=========================

   Text resource files contain one line for each resource.  Each line
has the form `name=value', where `name' is the tag name associated with
the resource, and `value' is the resource's string value.  For example:

     Arg_InvalidBase=Base must be 2, 8, 10, or 16
     Overflow_Byte=Valid Byte values are between 0 and 255, inclusive

   Comments are lines that begin with a `#' character.  Blank lines are
also considered comments.

   Resource string values are assumed to be in the UTF-8 text encoding.
No other character sets are currently supported.  Values can contain
one of the following escape sequences, which indicate special
characters:

`\n'
     Newline character, `\u000A'.

`\r'
     Carriage return character, `\u000D'.

`\t'
     TAB character, `\u0009'.

`\f'
     Form feed character, `\u000C'.

`\v'
     Vertical TAB character, `\u000B'.

`\0'
     NUL character, `\u0000'.

`\NNN'
     8-bit octal Unicode character.

`\xHH'
     8-bit hexadecimal Unicode character.

`\uHHHH'
     16-bit hexadecimal Unicode character.

`\UHHHHHHHH'
     32-bit hexadecimal Unicode character.


File: pnettools.info,  Node: Resource Examples,  Next: ECMA Extensions,  Prev: Resource Format,  Up: Resources

Resource conversion examples
============================

   The following command-line converts three text resource input files
into a binary resource output file:

     resgen file1.txt file2.txt file3.txt output.resources

   If the files did not have extensions whose format can be guessed,
then command-line options can be used specify the formats:

     resgen --text-input --res-output file1 file2 file3 output

   The default resources within an executable can be extracted to text
format on standard output as follows:

     resgen -s program.exe -

   The `-s' option was used here to sort the output so that it is more
easily digested by the user.


File: pnettools.info,  Node: ECMA Extensions,  Next: Object Files,  Prev: Resource Examples,  Up: Top

ECMA file format extensions
***************************

   The ECMA Partition II specification for IL binaries is missing some
capabilities that a full development toolchain requires.  This chapter
describes extensions to the ECMA file formats that our development
tools use.  This information is provided to assist interoperation
between free software projects that manipulate IL binaries.

* Menu:

* Object Files::            Object file format extensions
* Debug Symbols::           Debug symbol extensions


File: pnettools.info,  Node: Object Files,  Next: Debug Symbols,  Prev: ECMA Extensions,  Up: ECMA Extensions

Object file format extensions
=============================

   The ECMA specifications on IL binaries do not define an object file
format for incremental compilations.  Tools from other vendors
typically take an entire set of source files and compile them to either
a `.exe' or `.dll' in one hit.

   Because we wish to support incremental compilation of programs and
libraries through the cscc compiler, we have defined an object file
format for IL binaries, which is similar to the PE/COFF .obj format on
Windows systems.

   IL object files are PE/COFF images with the following properties:

   * There is no MS-DOS stub program or PE signature.

   * The machine type in the PE/COFF header is always 0x014C (386),
     which also acts as the "magic number" to detect whether a file is
     an object or an executable/DLL.

   * There is no optional header after the main PE/COFF header, and the
     "characteristics" field is set to zero.

   * The IL runtime header, code, resources, metadata, etc are placed in
     a read-only section called `.text$il' instead of `.text'.  The IL
     runtime header begins at the start of the section.

   * Other PE/COFF sections such as `.text', `.rsrc', and `.reloc', can
     be omitted.  If present, they provide information about native
     code which is outside the scope of this specification.

   The IL data in the `.text$il' section is formatted in accordance with
the normal ECMA conventions for DLL's.  At link time, the metadata can
be used to combine multiple object files into a single DLL or
executable.

   This format was designed to be as compatible as possible with regular
PE/COFF object files.  The main distinguishing characteristic is the
use of `.text$il' to tag the file as containing IL data.


File: pnettools.info,  Node: Debug Symbols,  Next: Load Errors,  Prev: Object Files,  Up: ECMA Extensions

Debug symbol extensions
=======================

   The assembler syntax defined in the ECMA specification allows for
line number and local variable name information to be inserted into the
assembly code stream.  This information is typically used by
source-level debuggers.

   However, ECMA does not specify a standard way to represent this
debug information in the final IL binary.  It leaves it instead to the
specific implementations.

   The following sections describe the format used by our development
tools for representing debug information within the IL binary.

Requirements
------------

   The following requirements were identified for the debug format:

   * It must be easy to strip from an image file.

   * It should not impact runtime engines and tools that are unaware of
     how to handle the debug information.

   * It must be extensible to new debug data in the future, while
     retaining forwards and backwards compatibility.

   * It should be efficient to locate all debug information that is
     relevant to a metadata token.

The `.ildebug' section
----------------------

   All debug information for an IL image is placed into a read-only,
discardable, data section called `.ildebug'.

   The contents of `.ildebug' should be the last section within the
PE/COFF image file.  This allows the debug information to be easily
stripped by truncating the image, removing the `.ildebug' entry from
the PE/COFF section table, and reducing the total image size in the
PE/COFF headers.

   The section begins with a header consisting of the following fields:

Magic
     4-byte magic number string `ILDB'.

Version
     32-bit value indicating the version.  This must be 1.

IndexOffset
     32-bit offset from the start of this header to the beginning of
     the token index.

NumIndexEntries
     32-bit value that indicates the number of entries in the token
     index.

StringOffset
     32-bit offset from the start of this header to the beginning of
     the string table.

StringLength
     32-bit value that indicates the length of the string table.

   Unless otherwise stated, all numeric quantities will be assumed to be
in little-endian order.

Token index
-----------

   The token index consists of 8-byte entries of the following form:

Token
     32-bit token value.

Offset
     32-bit offset from the start of the debug section to a block of
     debug information that is associated with the token.

   The token index must be sorted into ascending order of "Token", and
should be aligned on a 4-byte boundary.  There may be multiple entries
in the index for the same token.  Use the following algorithm to locate
all debug information for a token:

   * Perform a binary search within the index for the token.

   * Scan backwards in the index until the first entry for the token is
     found.

   * Scan forwards in the index until the last entry for the token is
     found.

   Because the token index is sorted, multiple debug information blocks
for the same token could be in any order.  Tools should not rely upon
the blocks being in any particular order, and are free to change the
order when modifying the debug section.

   All of the debug information in this document refers to a specific
metadata token.  However, in the future it may be possible for debug
information to pertain to the entire image, or to objects other than
metadata tokens.  To store debug information for non-tokens, it is
first necessary to construct a pseudo-token using the following
algorithm:

   * Pick a unique 4-character string for the item.  e.g. `ABCD'.  The
     last character must be 7-bit ASCII.

   * Convert the string into a little-endian value, where the first
     character is assumed to be the least significant byte.  e.g.
     `0x44434241'.

   * Set the high bit of the value to 1.  e.g. `0xC4434241'.

   The result is the pseudo-token value.  Because regular metadata
tokens cannot have their high bit set, this will result in a value that
won't conflict with regular tokens.

   As an additional requirement, standard pseudo-tokens will use upper
case characters in their names.  e.g. `ABCD'.  Private pseudo-tokens
will use lower case characters.  e.g. `abcd'.  There are no standard
pseudo-tokens at present.

String table
------------

   The string table stores NUL-terminated strings that are referenced
by the debug information.  In the current version of this document, the
strings will typically be filenames and local variable names.

   Strings are referenced by their index, which is an offset from the
beginning of the string table.  The string value begins at that offset
and continues until the next zero byte is encountered.  The last byte
in the string table must be zero, which means that the string table can
never be empty.

   This document does not specify any particular character set for the
strings.

Debug information blocks
------------------------

   Each entry in the token index contains an offset of the debug
information that is associated with that entry.  This debug information
begins with the following header:

Type
     The type of debug information.

Length
     The number of bytes of debug information that follow this header.

   The "Type" and "Length" values are encoded with the same multi-byte
"compressed" format used in metadata to encode unsigned 32-bit values:

0-127
     Encode as the value itself in a single byte.

128-16383
     Encode as `(0x80 | (value >> 8))', `(value & 0xFF)'.  Note: 16383
     is (2^14 - 1).

16384-536870911
     Encode as `(0xC0 | (value >> 24))', `((value >> 16) & 0xFF)',
     `((value >> 8) & 0xFF)', `(value & 0xFF)'.  Note: 536870911 is
     (2^29 - 1).

536870912-4294967295
     Encode as `0xE0', `((value >> 24) & 0xFF)', `((value >> 16) &
     0xFF)', `((value >> 8) & 0xFF)', `(value & 0xFF)'.

   The following debug types are supported, which are further described
in the following sections:

1
     Line number and column block.

2
     Line number and offsets block.

3
     Line number, column, and offsets block.

4
     Local variables block.

5
     Local variables and offsets block.

   If a debug block type is not understood, it should be silently
ignored.  This allows future versions of this specification to extend
the set of debug block types without affecting existing implementations

   All of the values described below are encoded using the above
multi-byte compressed format.

Line number and column block
----------------------------

   This block begins with an index into the string table that indicates
the name of the file.  The rest of the block consists of pairs of line
number and column values.  A value of zero indicates an unspecified
line or column.

   This block type is typically used for metadata tokens, other than
methods, to indicate the line in the source file where the token was
declared.

Line number and offsets block
-----------------------------

   This block begins with an index into the string table that indicates
the name of the file.  The rest of the block consists of pairs of line
number and offset values.

   This block type is typically used for method tokens, to indicate
which source file line corresponds to which offset within the method's
code.

Line number, column, and offsets block
--------------------------------------

   This block begins with an index into the string table that indicates
the name of the file.  The rest of the block consists of triples of
line number, column, and offset values.  A value of zero for the line
or column indicates that it is unspecified.

   This block type is typically used for method tokens, to indicate
which source file line corresponds to which offset within the method's
code.

   The previous type is more compact if column numbers are not
available.

Local variables block
---------------------

   This block consists of pairs of name and index values.  The name
value is an offset into the string table and indicates the name of the
local variable.  The index is the number assigned to the local variable
within the method's code.

   This block type is typically used for method tokens whose local
variables extend for the entire scope of the method's body.

Local variables and offsets block
---------------------------------

   This block begins with two offset values, indicating the start and
end of a region of code.  The rest of the block consists of pairs of
name and index values for the local variables.

   This block is typically used for method tokens where some of the
local variables have a scope that does not extend for the entire length
of the method's body.  Thus, it is possible for the same local variable
name to refer to different indices at different points within the code.

   Multiple local variable blocks for a method do not need to be
ordered in any particular way.  Debug tools may need to sort the blocks
so that names in inner scopes override those in outer scopes.


File: pnettools.info,  Node: Load Errors,  Next: Index,  Prev: Debug Symbols,  Up: Top

Errors while loading IL binaries
********************************

`filename: truncated image'
     The input file is truncated in some way that prevents it from being
     read as an IL image.

`filename: not a valid PE/COFF image'
     The input file is not a PE/COFF file.  That is, it is not formatted
     as a Windows executable or dynamic link library, and is also not
     formatted as an object file.  *Note Object Files::, for details on
     the object file format.

`filename: image does not contain IL data (may be an ordinary Windows executable)'
     The input file is a valid PE/COFF file, but it does not contain an
     IL binary within it.  It is probably an ordinary native Windows
     executable that cannot be processed by the development tools.

`filename: incorrect IL version'
     The input file is a valid PE/COFF file that contains a valid IL
     binary, but the IL data is for an unsupported version.

`filename: required sections in reverse order'
     There was something wrong with the order of sections within the
     file that caused the loader to need to seek backwards.  This will
     normally only happen for IL binaries that have been incorrectly
     generated or corrupted in some way.

`filename: not enough memory to load image'
     The IL binary was so large that it could not be loaded into memory
     prior to processing.

`filename: bad addresses in image'
     The PE/COFF file or IL binary within the file contained a "relative
     virtual address", or RVA, that was invalid.  This will normally
     only happen for IL binaries that have been incorrectly generated or
     corrupted in some way.

`filename: invalid metadata in image'
     The metadata section was invalid in some way.  Usually this
     indicates a corrupted IL binary.

`filename: uses undocumented metadata feature'
     The metadata section was mostly valid, but it used features for
     which we do not have sufficient documentation to parse
     successfully.

`filename: unresolved external references'
     The metadata section was valid, but it referred to types in another
     file that could not be fully resolved.

`metadata error: ...'
     Depending on how the development tools were built, errors of this
     kind may appear in addition to the other errors listed above.
     They provide additional diagnostics that mainly of interest to the
     authors.  If you come across a file that produces such an error,
     then contact the authors.

   In addition, any of the usual filesystem-related errors may be
produced.  For example, `filename: No such file or directory'.


File: pnettools.info,  Node: Index,  Prev: Load Errors,  Up: Top

Index
*****

* Menu:

* -3 option (ilalink):                   ilalink invocation.
* -3 option (ilasm):                     ilasm invocation.
* -A option (ilalink):                   ilalink invocation.
* -a option (ilalink):                   ilalink invocation.
* -b option (ildasm):                    ildasm invocation.
* -C option (cscc plug-in):              Language Plugins.
* -C option (cscc):                      Preprocessor Options.
* -c option (cscc):                      Overall Options.
* -c option (ilalink):                   ilalink invocation.
* -c option (ilasm):                     ilasm invocation.
* -D option (cscc plug-in):              Language Plugins.
* -D option (cscc):                      Preprocessor Options.
* -d option (ilalink):                   ilalink invocation.
* -d option (ilasm):                     ilasm invocation.
* -d option (ildasm):                    ildasm invocation.
* -D option (ilsize):                    ilsize invocation.
* -d option (ilsize):                    ilsize invocation.
* -debug option (ilasm):                 ilasm invocation.
* -detailed option (ilsize):             ilsize invocation.
* -dM option (cscc plug-in):             Language Plugins.
* -dM option (cscc):                     Preprocessor Options.
* -dN option (cscc plug-in):             Language Plugins.
* -dN option (cscc):                     Preprocessor Options.
* -dump-bytes option (ildasm):           ildasm invocation.
* -dump-sections option (ildasm):        ildasm invocation.
* -dumpversion option (cscc):            Other Options.
* -E option (cscc plug-in):              Language Plugins.
* -e option (cscc):                      Linker Options.
* -E option (cscc):                      Overall Options.
* -E option (ilalink):                   ilalink invocation.
* -e option (ilalink):                   ilalink invocation.
* -e option (ilasm):                     ilasm invocation.
* -entry-point option (ilalink):         ilalink invocation.
* -f option (ilfind):                    ilfind invocation.
* -f* option (cscc plug-in):             Language Plugins.
* -fassembly-name option (ilalink):      ilalink invocation.
* -fassembly-version option (ilalink):   ilalink invocation.
* -fby-library option (csdoc2hier):      csdoc2hier invocation.
* -fchapternewpage option (csdoc2texi):  csdoc2texi invocation.
* -fchecked option (cscc):               Language Options.
* -fcombine-members option (csdoc2html): csdoc2html invocation.
* -fcopyright option (csdoc2texi):       csdoc2texi invocation.
* -fdecimal-constants option (cscc):     Language Options.
* -fdefn-color option (csdoc2html):      csdoc2html invocation.
* -fdescription option (csdoc2texi):     csdoc2texi invocation.
* -fembedded option (csdoc2texi):        csdoc2texi invocation.
* -ffilename option (csdoc2texi):        csdoc2texi invocation.
* -fframes option (csdoc2html):          csdoc2html invocation.
* -fhash-algorithm option (ilalink):     ilalink invocation.
* -fheader-color option (csdoc2html):    csdoc2html invocation.
* -filasm-path option (cscc):            Assembler Options.
* -file-regex option (ilfind):           ilfind invocation.
* -findex option (csdoc2texi):           csdoc2texi invocation.
* -flatin1-charset option (cscc):        Language Options.
* -flibrary-name option (csdoc):         csdoc invocation.
* -fmodule-name option (ilalink):        ilalink invocation.
* -fmulti-file option (csdoc2html):      csdoc2html invocation.
* -fnamespace-directories option (csdoc2html): csdoc2html invocation.
* -fnewpage option (csdoc2texi):         csdoc2texi invocation.
* -fno-frames option (csdoc2html):       csdoc2html invocation.
* -fno-index option (csdoc2texi):        csdoc2texi invocation.
* -fno-namespace-directories option (csdoc2html): csdoc2html invocation.
* -fno-newpage option (csdoc2texi):      csdoc2texi invocation.
* -fno-peephole option (cscc):           Optimization Options.
* -fno-short-insns option (cscc):        Assembler Options.
* -fno-short-insns option (ilasm):       ilasm invocation.
* -fnostdinc option (cscc):              Directory Options.
* -fnostdinc++ option (cscc):            Directory Options.
* -foctal-chars option (cscc):           Language Options.
* -foctal-constants option (cscc):       Language Options.
* -format dll option (ilalink):          ilalink invocation.
* -format dll option (ilasm):            ilasm invocation.
* -format exe option (ilalink):          ilalink invocation.
* -format exe option (ilasm):            ilasm invocation.
* -format obj option (ilalink):          ilalink invocation.
* -format obj option (ilasm):            ilasm invocation.
* -fpage-color option (csdoc2html):      csdoc2html invocation.
* -fparent option (csdoc2texi):          csdoc2texi invocation.
* -fplugin-KEY-path option (cscc):       Other Options.
* -fprivate option (csdoc):              csdoc invocation.
* -fprivate-resources option (ilalink):  ilalink invocation.
* -fresources option (cscc):             Linker Options.
* -fresources option (ilalink):          ilalink invocation.
* -fsave-asm option (cscc):              Assembler Options.
* -fsemantic-check option (cscc):        Language Options.
* -fseparate-members option (csdoc2html): csdoc2html invocation.
* -fshort-insns option (ilasm):          ilasm invocation.
* -fsingle-file option (csdoc2html):     csdoc2html invocation.
* -fstandalone option (csdoc2texi):      csdoc2texi invocation.
* -fstdlib-name option (cscc):           Assembler Options.
* -fstdlib-name option (ilalink):        ilalink invocation.
* -fstdlib-name option (ilasm):          ilasm invocation.
* -fsyntax-check option (cscc):          Language Options.
* -ftitle option (csdoc2html):           csdoc2html invocation.
* -ftitle option (csdoc2texi):           csdoc2texi invocation.
* -funchecked option (cscc):             Language Options.
* -funsafe option (cscc):                Language Options.
* -g option (cscc plug-in):              Language Plugins.
* -g option (cscc):                      Debugging Options.
* -G option (ilalink):                   ilalink invocation.
* -G option (ilasm):                     ilasm invocation.
* -g option (ilasm):                     ilasm invocation.
* -g option (ilfind):                    ilfind invocation.
* -gnome option (cscc):                  Linker Options.
* -grep-regex option (ilfind):           ilfind invocation.
* -gtk option (cscc):                    Linker Options.
* -H option (ilalink):                   ilalink invocation.
* -help option (cscc):                   Other Options.
* -help option (csdoc2hier):             csdoc2hier invocation.
* -help option (csdoc2html):             csdoc2html invocation.
* -help option (csdoc2texi):             csdoc2texi invocation.
* -help option (ilalink):                ilalink invocation.
* -help option (ilasm):                  ilasm invocation.
* -help option (ildasm):                 ildasm invocation.
* -help option (ildd):                   ildd invocation.
* -help option (ilfind):                 ilfind invocation.
* -help option (ilnative):               ilnative invocation.
* -help option (ilsize):                 ilsize invocation.
* -help option (resgen):                 resgen invocation.
* -I option (cscc plug-in):              Language Plugins.
* -I option (cscc):                      Directory Options.
* -i option (ilfind):                    ilfind invocation.
* -i option (resgen):                    resgen invocation.
* -ignore-case option (ilfind):          ilfind invocation.
* -il-input option (resgen):             resgen invocation.
* -J option (cscc plug-in):              Language Plugins.
* -j option (ilalink):                   ilalink invocation.
* -J option (ilasm):                     ilasm invocation.
* -j option (ilasm):                     ilasm invocation.
* -K option (cscc plug-in):              Language Plugins.
* -l option (cscc plug-in):              Language Plugins.
* -L option (cscc plug-in):              Language Plugins.
* -l option (cscc):                      Linker Options.
* -L option (cscc):                      Linker Options.
* -L option (ilalink):                   ilalink invocation.
* -l option (ilalink):                   ilalink invocation.
* -L option (ilasm):                     ilasm invocation.
* -l option (ilasm):                     ilasm invocation.
* -library option (ilalink):             ilalink invocation.
* -library-dir option (ilalink):         ilalink invocation.
* -M option (cscc plug-in):              Language Plugins.
* -M option (ilalink):                   ilalink invocation.
* -m* option (cscc plug-in):             Language Plugins.
* -m32bit-only option (cscc):            Linker Options.
* -m32bit-only option (ilalink):         ilalink invocation.
* -m32bit-only option (ilasm):           ilasm invocation.
* -mcui-subsystem option (cscc):         Linker Options.
* -mcui-subsystem option (ilalink):      ilalink invocation.
* -mcui-subsystem option (ilasm):        ilasm invocation.
* -mgui-subsystem option (cscc):         Linker Options.
* -mgui-subsystem option (ilalink):      ilalink invocation.
* -mgui-subsystem option (ilasm):        ilasm invocation.
* -mjvm option (cscc plug-in):           Language Plugins.
* -mjvm option (cscc):                   Assembler Options.
* -mjvm option (ilasm):                  ilasm invocation.
* -n option (ilalink):                   ilalink invocation.
* -n option (ilasm):                     ilasm invocation.
* -n option (ildasm):                    ildasm invocation.
* -n option (ilfind):                    ilfind invocation.
* -n option (ilnative):                  ilnative invocation.
* -names-only option (ilnative):         ilnative invocation.
* -no-debug option (ilasm):              ilasm invocation.
* -no-il option (ildasm):                ildasm invocation.
* -no-regex option (ilfind):             ilfind invocation.
* -no-stdlib option (ilalink):           ilalink invocation.
* -nostdinc option (cscc plug-in):       Language Plugins.
* -nostdinc++ option (cscc plug-in):     Language Plugins.
* -nostdlib option (cscc plug-in):       Language Plugins.
* -nostdlib option (cscc):               Linker Options.
* -O option (cscc plug-in):              Language Plugins.
* -o option (cscc plug-in):              Language Plugins.
* -O option (cscc):                      Optimization Options.
* -o option (cscc):                      Overall Options.
* -o option (csdoc):                     csdoc invocation.
* -o option (csdoc2hier):                csdoc2hier invocation.
* -o option (csdoc2html):                csdoc2html invocation.
* -o option (csdoc2texi):                csdoc2texi invocation.
* -o option (ilalink):                   ilalink invocation.
* -o option (ilasm):                     ilasm invocation.
* -o option (ildasm):                    ildasm invocation.
* -o option (ilsize):                    ilsize invocation.
* -O0 option (cscc plug-in):             Language Plugins.
* -O0 option (cscc):                     Optimization Options.
* -O2 option (cscc plug-in):             Language Plugins.
* -O2 option (cscc):                     Optimization Options.
* -O3 option (cscc plug-in):             Language Plugins.
* -O3 option (cscc):                     Optimization Options.
* -output option (csdoc2hier):           csdoc2hier invocation.
* -output option (csdoc2html):           csdoc2html invocation.
* -output option (csdoc2texi):           csdoc2texi invocation.
* -output option (ilalink):              ilalink invocation.
* -output option (ilasm):                ilasm invocation.
* -output option (ildasm):               ildasm invocation.
* -P option (cscc plug-in):              Language Plugins.
* -P option (cscc):                      Preprocessor Options.
* -p option (ilalink):                   ilalink invocation.
* -p option (ilfind):                    ilfind invocation.
* -P option (resgen):                    resgen invocation.
* -p option (resgen):                    resgen invocation.
* -pipe option (cscc plug-in):           Language Plugins.
* -pipe option (cscc):                   Overall Options.
* -po-input option (resgen):             resgen invocation.
* -po-output option (resgen):            resgen invocation.
* -public-only option (ilfind):          ilfind invocation.
* -q option (ildasm):                    ildasm invocation.
* -quote-names option (ildasm):          ildasm invocation.
* -R option (ilalink):                   ilalink invocation.
* -r option (ilalink):                   ilalink invocation.
* -r option (ildasm):                    ildasm invocation.
* -R option (resgen):                    resgen invocation.
* -r option (resgen):                    resgen invocation.
* -radix option (ilsize):                ilsize invocation.
* -real-offsets option (ildasm):         ildasm invocation.
* -res-input option (resgen):            resgen invocation.
* -res-output option (resgen):           resgen invocation.
* -resources-only option (ilalink):      ilalink invocation.
* -S option (cscc):                      Overall Options.
* -S option (ilalink):                   ilalink invocation.
* -s option (ilasm):                     ilasm invocation.
* -s option (ilfind):                    ilfind invocation.
* -s option (resgen):                    resgen invocation.
* -shared option (cscc):                 Linker Options.
* -shared option (ilalink):              ilalink invocation.
* -show-tokens option (ildasm):          ildasm invocation.
* -sort-names option (resgen):           resgen invocation.
* -static option (cscc):                 Linker Options.
* -static option (ilalink):              ilalink invocation.
* -sub-string option (ilfind):           ilfind invocation.
* -t option (ildasm):                    ildasm invocation.
* -T option (resgen):                    resgen invocation.
* -t option (resgen):                    resgen invocation.
* -text-input option (resgen):           resgen invocation.
* -text-output option (resgen):          resgen invocation.
* -U option (cscc plug-in):              Language Plugins.
* -U option (cscc):                      Preprocessor Options.
* -undef option (cscc plug-in):          Language Plugins.
* -undef option (cscc):                  Preprocessor Options.
* -v option (cscc plug-in):              Language Plugins.
* -v option (cscc):                      Overall Options.
* -v option (csdoc2hier):                csdoc2hier invocation.
* -v option (csdoc2html):                csdoc2html invocation.
* -v option (csdoc2texi):                csdoc2texi invocation.
* -v option (ilalink):                   ilalink invocation.
* -v option (ilasm):                     ilasm invocation.
* -v option (ildasm):                    ildasm invocation.
* -v option (ildd):                      ildd invocation.
* -v option (ilfind):                    ilfind invocation.
* -v option (ilnative):                  ilnative invocation.
* -V option (ilsize):                    ilsize invocation.
* -v option (ilsize):                    ilsize invocation.
* -v option (resgen):                    resgen invocation.
* -version option (csdoc2hier):          csdoc2hier invocation.
* -version option (csdoc2html):          csdoc2html invocation.
* -version option (csdoc2texi):          csdoc2texi invocation.
* -version option (ilalink):             ilalink invocation.
* -version option (ilasm):               ilasm invocation.
* -version option (ildasm):              ildasm invocation.
* -version option (ildd):                ildd invocation.
* -version option (ilfind):              ilfind invocation.
* -version option (ilnative):            ilnative invocation.
* -version option (ilsize):              ilsize invocation.
* -version option (resgen):              resgen invocation.
* -vv option (cscc):                     Overall Options.
* -w option (cscc plug-in):              Language Plugins.
* -w option (cscc):                      Warning Options.
* -W option (cscc):                      Warning Options.
* -w option (ildasm):                    ildasm invocation.
* -w option (ilfind):                    ilfind invocation.
* -W* option (cscc plug-in):             Language Plugins.
* -Wall option (cscc plug-in):           Language Plugins.
* -Wall option (cscc):                   Warning Options.
* -Wempty-input option (cscc):           Warning Options.
* -Werror option (cscc plug-in):         Language Plugins.
* -Werror option (cscc):                 Warning Options.
* -whole-file option (ildasm):           ildasm invocation.
* -whole-string option (ilfind):         ilfind invocation.
* -Winvalid-utf8 option (cscc):          Warning Options.
* -Wlarge-unicode-chars option (cscc):   Warning Options.
* -Wmulti-char-constant option (cscc):   Warning Options.
* -Wno-* option (cscc plug-in):          Language Plugins.
* -Woctal-chars option (cscc):           Warning Options.
* -Woctal-constants option (cscc):       Warning Options.
* -Wunknown-escapes option (cscc):       Warning Options.
* -Wunsafe option (cscc):                Warning Options.
* -x option (cscc):                      Overall Options.
* -x option (ilsize):                    ilsize invocation.
* -X option (resgen):                    resgen invocation.
* -x option (resgen):                    resgen invocation.
* -xml-input option (resgen):            resgen invocation.
* -xml-output option (resgen):           resgen invocation.
* .addon directive:                      Event Members.
* .assembly directive:                   Assembly Declarations.
* .assembly extern directive:            Assembly References.
* .class directive:                      Class Declarations.
* .custom directive:                     Custom Attributes.
* .event directive:                      Event Declarations.
* .field directive:                      Field Declarations.
* .fire directive:                       Event Members.
* .get directive:                        Property Members.
* .ildebug section:                      Debug Symbols.
* .library directive:                    Class References.
* .line directive:                       Debug Information.
* .method directive:                     Method Declarations.
* .module directive:                     Module Declarations.
* .other directive for events:           Event Members.
* .other directive for properties:       Property Members.
* .pack directive:                       Class Layout.
* .property directive:                   Property Declarations.
* .removeon directive:                   Event Members.
* .set directive:                        Property Members.
* .size directive:                       Class Layout.
* .text$il section:                      Object Files.
* __arglist keyword:                     Special Keywords.
* __builtin_constant keyword:            Special Keywords.
* __CSCC__ macro:                        Pre-defined Macros.
* __JVM__ macro:                         Pre-defined Macros.
* __makeref keyword:                     Special Keywords.
* __reftype keyword:                     Special Keywords.
* __refvalue keyword:                    Special Keywords.
* abstract attribute (types):            Class Attributes.
* ansi attribute (types):                Class Attributes.
* Assembler:                             Assembler.
* Assembler options for cscc:            Assembler Options.
* Assembler Syntax:                      Assembler Syntax.
* Assembly Attributes:                   Assembly Attributes.
* Assembly Declarations:                 Assembly Declarations.
* Assembly Members:                      Assembly Members.
* Assembly Reference Members:            Assembly Reference Members.
* Assembly References:                   Assembly References.
* AssemblyAttribute:                     Assembly Attributes.
* AssemblyDeclaration:                   Assembly Declarations.
* AssemblyMember:                        Assembly Members.
* AssemblyName:                          Assembly Declarations.
* AssemblyRefDeclaration:                Assembly References.
* AssemblyRefMember:                     Assembly Reference Members.
* auto attribute (types):                Class Attributes.
* autochar attribute (types):            Class Attributes.
* beforefieldinit attribute (types):     Class Attributes.
* Bounds:                                Type Specifications.
* Bytes:                                 Helper Non-Terminals.
* C# Compiler:                           C# Compiler.
* C# Differences:                        Differences.
* Calling Conventions:                   Calling Conventions.
* CallingConventions:                    Calling Conventions.
* Class Attributes:                      Class Attributes.
* Class Declarations:                    Class Declarations.
* Class Layout:                          Class Layout.
* Class Members:                         Class Members.
* Class References:                      Class References.
* ClassAttribute:                        Class Attributes.
* ClassDeclaration:                      Class Declarations.
* ClassLayoutDeclaration:                Class Layout.
* ClassMember:                           Class Members.
* ClassName:                             Class References.
* Compiling to the JVM:                  Compiling to the JVM.
* ComposedString:                        Helper Non-Terminals.
* cscc:                                  C# Compiler.
* cscc invocation:                       cscc invocation.
* cscc option summary:                   Option Summary.
* csdoc invocation:                      csdoc invocation.
* csdoc2hier invocation:                 csdoc2hier invocation.
* csdoc2html invocation:                 csdoc2html invocation.
* csdoc2texi invocation:                 csdoc2texi invocation.
* Custom Attributes:                     Custom Attributes.
* CustomAttributeDeclaration:            Custom Attributes.
* Debug Information:                     Debug Information.
* DEBUG macro:                           Pre-defined Macros.
* Debug Symbols:                         Debug Symbols.
* Debugging options for cscc:            Debugging Options.
* DebugInformation:                      Debug Information.
* Declaration:                           Top-Level Declarations.
* Dependencies:                          Dependencies.
* Directory options for cscc:            Directory Options.
* Disassembler:                          Disassembler.
* Documentation:                         Documentation.
* Documentation cross-references:        Cross-References.
* Documentation markup:                  Documentation Markup.
* Documentation sections:                Documentation Sections.
* double_epsilon builtin constant:       Special Keywords.
* double_max builtin constant:           Special Keywords.
* double_min builtin constant:           Special Keywords.
* ECMA Extensions:                       ECMA Extensions.
* Event Attributes:                      Event Attributes.
* Event Declarations:                    Event Declarations.
* Event Members:                         Event Members.
* EventAttribute:                        Event Attributes.
* EventDeclaration:                      Event Declarations.
* EventMember:                           Event Members.
* explicit attribute (types):            Class Attributes.
* Field Attributes:                      Field Attributes.
* Field Declarations:                    Field Declarations.
* Field Initialization:                  Field Initialization.
* Field Layout:                          Field Layout.
* Field References:                      Field References.
* FieldAttribute:                        Field Attributes.
* FieldDeclaration:                      Field Declarations.
* FieldInitialization:                   Field Initialization.
* FieldReference:                        Field References.
* Find:                                  Find.
* Float64:                               Helper Non-Terminals.
* float_epsilon builtin constant:        Special Keywords.
* float_max builtin constant:            Special Keywords.
* float_min builtin constant:            Special Keywords.
* Helper Non-Terminals:                  Helper Non-Terminals.
* Identifier:                            Helper Non-Terminals.
* ilalink:                               Linker.
* ilalink invocation:                    ilalink invocation.
* ilasm:                                 Assembler.
* ilasm invocation:                      ilasm invocation.
* ildasm:                                Disassembler.
* ildasm invocation:                     ildasm invocation.
* ildd:                                  Dependencies.
* ildd invocation:                       ildd invocation.
* ilfind:                                Find.
* ilfind invocation:                     ilfind invocation.
* ilnative:                              Native.
* ilnative invocation:                   ilnative invocation.
* ilsize:                                Size.
* ilsize invocation:                     ilsize invocation.
* Implementation Attributes:             Implementation Attributes.
* ImplementationAttributes:              Implementation Attributes.
* import attribute (types):              Class Attributes.
* ImportScope:                           Class References.
* Integer32:                             Helper Non-Terminals.
* Integer64:                             Helper Non-Terminals.
* interface attribute (types):           Class Attributes.
* Java Method Members:                   Java Method Members.
* Language options for cscc:             Language Options.
* Language plugins:                      Language Plugins.
* Lexical tokens:                        Lexical Tokens.
* Linker:                                Linker.
* Linker options for cscc:               Linker Options.
* Load Errors:                           Load Errors.
* MarshalledType:                        Type Specifications.
* Method Attributes:                     Method Attributes.
* Method Declarations:                   Method Declarations.
* Method Members:                        Method Members.
* Method References:                     Method References.
* Method Signatures:                     Method Signatures.
* MethodAttribute:                       Method Attributes.
* MethodDeclaration:                     Method Declarations.
* MethodMember:                          Method Members.
* MethodName:                            Method Declarations.
* MethodReference:                       Method References.
* Module Declarations:                   Module Declarations.
* ModuleDeclaration:                     Module Declarations.
* Namespace Declarations:                Namespace Declarations.
* NamespaceDeclaration:                  Namespace Declarations.
* Native:                                Native.
* NativeType:                            Type Specifications.
* nested assembly attribute (types):     Class Attributes.
* nested famandassem attribute (types):  Class Attributes.
* nested family attribute (types):       Class Attributes.
* nested famorassem attribute (types):   Class Attributes.
* nested private attribute (types):      Class Attributes.
* nested public attribute (types):       Class Attributes.
* Object Files:                          Object Files.
* Optimization options for cscc:         Optimization Options.
* Other Declarations:                    Other Declarations.
* Other options for cscc:                Other Options.
* Overall options for cscc:              Overall Options.
* Overview:                              Overview.
* ParameterAttribute:                    Method Signatures.
* PInvoke Methods:                       PInvoke Methods.
* PInvokeAttribute:                      PInvoke Methods.
* PInvokeParameters:                     PInvoke Methods.
* Pre-defined macros:                    Pre-defined Macros.
* Pre-processor syntax:                  Pre-processor Syntax.
* Preprocessor options for cscc:         Preprocessor Options.
* PrimitiveType:                         Type Specifications.
* private attribute (types):             Class Attributes.
* Property Attributes:                   Property Attributes.
* Property Declarations:                 Property Declarations.
* Property Members:                      Property Members.
* PropertyAttribute:                     Property Attributes.
* PropertyDeclaration:                   Property Declarations.
* PropertyMember:                        Property Members.
* public attribute (types):              Class Attributes.
* QualifiedName:                         Helper Non-Terminals.
* RELEASE macro:                         Pre-defined Macros.
* resgen:                                Resources.
* resgen invocation:                     resgen invocation.
* Resource Examples:                     Resource Examples.
* Resource Format:                       Resource Format.
* Resources:                             Resources.
* rtspecialname attribute (types):       Class Attributes.
* sealed attribute (types):              Class Attributes.
* sequential attribute (types):          Class Attributes.
* serializable attribute (types):        Class Attributes.
* SignatureArgument:                     Method Signatures.
* SignatureArguments:                    Method Signatures.
* Size:                                  Size.
* Special Keywords:                      Special Keywords.
* specialname attribute (types):         Class Attributes.
* Top-Level Declarations:                Top-Level Declarations.
* TopLevel:                              Top-Level Declarations.
* Type:                                  Type Specifications.
* Type Declarations:                     Class Declarations.
* Type Specifications:                   Type Specifications.
* TypeSpecification:                     Type Specifications.
* unicode attribute (types):             Class Attributes.
* unmanaged attribute (types):           Class Attributes.
* value attribute (types):               Class Attributes.
* Warning options for cscc:              Warning Options.