/*! \page gislib_cmdline_parsing Command Line Parsing \tableofcontents \section gislibcmd_Introduction Introduction This section describes a standard mechanism for command line parsing in GRASS. The system is usually referred as parser or g.parser (because of the related \gmod{g.parser} module). Use of the provided set of functions will standardize GRASS modules that expect command line arguments, creating a family of GRASS modules that is easy for users to learn. The standardization is important because as soon as a GRASS user familiarizes himself with the general form of command line input as defined by the parser, it will greatly simplify the necessity of remembering or at least guessing the required command line arguments for any GRASS command. It is strongly recommended, almost mandatory, that GRASS programmers use this set of functions for all command line parsing. With their use, the programmer is freed from the burden of generating user interface code for every command. The parser will limit the programmer to a pre-defined look and feel, but limiting the interface is well worth the shortened user learning curve. Moreover, system enables to generate module interface descriptions which can be used by GUI to generate a graphical interface for a module. \note There are also standard options and flags which ensures even better standardization of names, values and descriptions. \section gislibcmd_Description Description The GRASS parser is a collection of functions and structures that are defined in the GRASS gis.h header file. These structures and functions allow the programmer to define the options and flags that make up the valid command line input of a GRASS command. The parser functions behave in one of three ways: