diff options
Diffstat (limited to 'src/config.cpp')
-rw-r--r-- | src/config.cpp | 4316 |
1 files changed, 0 insertions, 4316 deletions
diff --git a/src/config.cpp b/src/config.cpp deleted file mode 100644 index b49e8a3..0000000 --- a/src/config.cpp +++ /dev/null @@ -1,4316 +0,0 @@ -#define yy_create_buffer configYY_create_buffer -#define yy_delete_buffer configYY_delete_buffer -#define yy_scan_buffer configYY_scan_buffer -#define yy_scan_string configYY_scan_string -#define yy_scan_bytes configYY_scan_bytes -#define yy_flex_debug configYY_flex_debug -#define yy_init_buffer configYY_init_buffer -#define yy_flush_buffer configYY_flush_buffer -#define yy_load_buffer_state configYY_load_buffer_state -#define yy_switch_to_buffer configYY_switch_to_buffer -#define yyin configYYin -#define yyleng configYYleng -#define yylex configYYlex -#define yyout configYYout -#define yyrestart configYYrestart -#define yytext configYYtext - -/* A lexical scanner generated by flex */ - -/* Scanner skeleton version: - * $Header$ - */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 - -#include <stdio.h> - - -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus -#endif -#endif - - -#ifdef __cplusplus - -#include <stdlib.h> -#include <unistd.h> - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -#if __STDC__ - -#define YY_USE_PROTOS -#define YY_USE_CONST - -#endif /* __STDC__ */ -#endif /* ! __cplusplus */ - -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include <io.h> -#include <stdlib.h> -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN yy_start = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START ((yy_start - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#define YY_BUF_SIZE 16384 - -typedef struct yy_buffer_state *YY_BUFFER_STATE; - -extern int yyleng; -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ - YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, yytext_ptr ) - -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ -typedef unsigned int yy_size_t; - - -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - }; - -static YY_BUFFER_STATE yy_current_buffer = 0; - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - */ -#define YY_CURRENT_BUFFER yy_current_buffer - - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; - -static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart YY_PROTO(( FILE *input_file )); - -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - - -#define yywrap() 1 -#define YY_SKIP_YYWRAP -typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -typedef int yy_state_type; -extern char *yytext; -#define yytext_ptr yytext - -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ - *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; - -#define YY_NUM_RULES 105 -#define YY_END_OF_BUFFER 106 -static yyconst short int yy_accept[1089] = - { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 106, 103, 104, 103, - 103, 2, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 100, 103, 91, 88, 92, 2, 103, - 91, 91, 98, 99, 90, 89, 99, 99, 97, 95, - 95, 97, 97, 97, 103, 0, 102, 0, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 0, 101, - 91, 93, 91, 98, 99, 90, 99, 96, 94, 0, - 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 91, 99, 1, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 1, 1, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 0, 31, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, - 42, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 0, 14, - 87, 87, 87, 87, 87, 87, 0, 15, 87, 87, - 0, 32, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 0, 13, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 0, 77, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 0, 24, 0, 37, 87, 0, 43, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 0, 18, 87, 87, 87, 0, - 44, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 0, 30, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 0, 7, 87, 87, 0, 21, 87, - 0, 39, 87, 87, 87, 87, 0, 9, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, - 16, 87, 87, 87, 87, 87, 87, 0, 82, 87, - 0, 17, 87, 87, 87, 87, 87, 0, 47, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 0, 11, 0, 10, 0, 6, 87, - 87, 87, 87, 87, 87, 0, 75, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 0, 45, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 0, 29, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 0, 52, 0, 81, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 0, 28, 0, - 74, 87, 0, 20, 87, 87, 0, 12, 0, 8, - 87, 87, 87, 87, 87, 0, 3, 87, 0, 64, - 87, 0, 46, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 0, 63, 0, - 49, 87, 87, 87, 87, 87, 87, 0, 38, 0, - 33, 87, 0, 51, 87, 87, 87, 87, 87, 87, - - 87, 87, 0, 27, 87, 0, 79, 87, 0, 65, - 87, 87, 0, 23, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 0, 62, 87, 87, 87, 87, 87, 87, 87, 0, - 40, 87, 87, 0, 50, 87, 87, 87, 87, 87, - 87, 0, 36, 0, 76, 87, 87, 87, 87, 0, - 73, 0, 4, 0, 83, 87, 87, 87, 0, 69, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 0, 48, 0, 61, 87, 87, 87, - 87, 87, 87, 0, 25, 87, 0, 54, 87, 0, - - 22, 0, 55, 87, 87, 87, 0, 41, 87, 87, - 87, 87, 0, 66, 87, 87, 87, 0, 35, 0, - 34, 87, 87, 0, 19, 87, 87, 87, 87, 87, - 0, 5, 87, 0, 86, 87, 0, 67, 87, 87, - 0, 56, 87, 87, 87, 87, 0, 71, 87, 87, - 87, 87, 0, 70, 87, 87, 0, 72, 87, 87, - 87, 87, 0, 60, 87, 0, 59, 0, 58, 0, - 68, 0, 84, 87, 0, 57, 0, 78, 0, 26, - 87, 0, 80, 0, 85, 0, 53, 0 - } ; - -static yyconst int yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 5, 6, 7, 1, 1, 1, 8, - 9, 1, 1, 1, 1, 1, 1, 10, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 1, 1, 1, - 12, 1, 1, 1, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 1, 39, 1, 1, 40, 1, 41, 41, 41, 42, - - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 43, - 41, 41, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst int yy_meta[45] = - { 0, - 1, 2, 2, 2, 2, 3, 2, 1, 4, 5, - 5, 1, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 1, 5, - 6, 6, 6, 1 - } ; - -static yyconst short int yy_base[1100] = - { 0, - 0, 1, 45, 0, 87, 88, 131, 174, 218, 262, - 305, 348, 100, 101, 392, 436, 1413, 1414, 1414, 3, - 1369, 1414, 0, 1387, 0, 0, 1, 0, 2, 1, - 79, 76, 1397, 1396, 1395, 1374, 80, 1373, 0, 92, - 1392, 1387, 1390, 1414, 6, 0, 1414, 1414, 0, 1394, - 12, 1358, 0, 0, 1398, 1414, 39, 1356, 1414, 1414, - 1414, 1390, 111, 1354, 1387, 118, 1414, 1385, 0, 118, - 1368, 1372, 1361, 1370, 1377, 9, 1358, 1373, 1374, 115, - 1362, 1361, 1358, 1370, 1348, 1365, 1355, 1353, 1365, 134, - 1343, 1344, 103, 1343, 1346, 1355, 1342, 124, 1350, 10, - - 1352, 1356, 1341, 122, 1337, 80, 1336, 1335, 157, 1414, - 0, 1414, 1354, 0, 0, 1361, 1352, 1414, 1414, 1352, - 1318, 1342, 1338, 1344, 1316, 1338, 1337, 1313, 1321, 126, - 1323, 1337, 1309, 1334, 1322, 1322, 1332, 133, 1327, 1319, - 1325, 1313, 1323, 1322, 1314, 1310, 1317, 1311, 1317, 1312, - 1299, 1314, 1317, 1312, 1298, 1287, 1298, 1308, 1284, 1299, - 1306, 1299, 1303, 1286, 1301, 1277, 1286, 1280, 1282, 1283, - 1291, 1271, 1292, 1295, 1282, 1265, 1264, 1414, 1269, 1291, - 1266, 1289, 1283, 1260, 138, 1268, 1285, 1257, 1283, 1281, - 135, 1270, 1265, 1259, 1265, 1277, 1273, 1248, 1247, 1256, - - 1265, 1244, 1243, 1242, 1251, 1263, 1246, 1248, 1251, 1244, - 1245, 1258, 1237, 1245, 155, 1238, 1240, 1249, 1228, 1250, - 1249, 1233, 1234, 1250, 147, 1247, 1221, 1220, 1244, 1230, - 1226, 1235, 1242, 1233, 0, 0, 1221, 1238, 1220, 1236, - 1209, 1217, 1234, 1216, 1205, 1230, 1222, 1227, 1217, 1226, - 1209, 1221, 1213, 1220, 1219, 83, 1207, 1205, 1204, 1218, - 1209, 1213, 1195, 170, 1210, 1186, 1209, 1203, 1206, 191, - 1196, 1194, 1180, 1179, 1182, 1184, 1184, 1175, 1177, 1185, - 1194, 1196, 0, 1179, 1177, 1171, 1174, 1186, 1184, 1179, - 1186, 1162, 1180, 1176, 1167, 1172, 1180, 1179, 1155, 1163, - - 1168, 1175, 1166, 1166, 1173, 1161, 1161, 1154, 1168, 1153, - 1159, 1142, 1164, 1163, 1139, 1146, 1149, 1161, 1162, 1161, - 1141, 1157, 1144, 1144, 1145, 1141, 1150, 1133, 1133, 1124, - 1135, 1145, 1129, 1120, 182, 1414, 1141, 1145, 1142, 165, - 1139, 1123, 1122, 1113, 1120, 1123, 1137, 1128, 1116, 184, - 1414, 1126, 1106, 1117, 1112, 170, 1117, 1125, 1101, 180, - 1102, 1122, 1117, 1118, 1106, 1103, 1118, 1105, 1115, 1105, - 1113, 187, 1108, 1098, 1087, 1086, 1085, 1096, 200, 1095, - 1082, 202, 1094, 1080, 1106, 1078, 1085, 1084, 1098, 1101, - 1081, 1096, 1090, 1083, 1096, 1076, 1070, 1078, 1092, 1064, - - 1063, 184, 1081, 1077, 1060, 1082, 1065, 1061, 1079, 1067, - 13, 1057, 1076, 1060, 1065, 1050, 1055, 1074, 1070, 1058, - 1059, 1063, 1068, 1057, 1067, 1053, 1049, 1061, 1046, 1051, - 1044, 1048, 1052, 1055, 1058, 1045, 1038, 204, 205, 1414, - 1055, 1054, 1053, 208, 1044, 1051, 231, 1414, 1033, 1034, - 232, 1414, 1033, 1034, 222, 1044, 1030, 1025, 1036, 1015, - 1030, 234, 1026, 1033, 1019, 1034, 1021, 1024, 1017, 1014, - 137, 1029, 1018, 1016, 1018, 1001, 1027, 1026, 1006, 1009, - 1010, 1002, 1013, 1020, 1004, 1001, 1010, 1012, 1002, 1010, - 996, 995, 991, 1004, 996, 997, 1006, 989, 1002, 990, - - 235, 237, 976, 239, 1002, 999, 981, 980, 997, 993, - 243, 1414, 990, 976, 983, 993, 973, 978, 971, 985, - 988, 987, 975, 974, 967, 973, 982, 977, 953, 255, - 952, 274, 1414, 976, 964, 972, 971, 954, 969, 968, - 220, 954, 970, 955, 963, 947, 947, 962, 944, 960, - 947, 961, 942, 940, 941, 944, 952, 944, 276, 951, - 178, 279, 945, 941, 932, 942, 947, 928, 943, 932, - 941, 932, 280, 1414, 281, 1414, 936, 282, 1414, 931, - 941, 940, 932, 934, 910, 919, 927, 919, 914, 927, - 928, 923, 914, 909, 908, 902, 914, 916, 923, 903, - - 904, 907, 900, 918, 917, 897, 915, 907, 886, 885, - 894, 893, 890, 890, 896, 287, 896, 894, 831, 847, - 834, 87, 108, 142, 168, 191, 176, 222, 232, 288, - 237, 237, 293, 238, 301, 1414, 302, 235, 236, 313, - 1414, 260, 275, 314, 271, 274, 301, 288, 284, 280, - 281, 305, 292, 300, 306, 326, 299, 304, 318, 305, - 313, 317, 333, 319, 335, 309, 326, 308, 301, 354, - 308, 324, 328, 331, 346, 335, 329, 336, 345, 345, - 344, 352, 343, 367, 368, 369, 352, 352, 372, 1414, - 345, 348, 358, 351, 400, 368, 355, 371, 361, 359, - - 358, 360, 376, 403, 1414, 391, 374, 406, 1414, 383, - 408, 1414, 394, 399, 396, 390, 415, 1414, 402, 388, - 405, 383, 393, 410, 398, 415, 444, 389, 406, 445, - 1414, 392, 420, 409, 409, 436, 414, 449, 1414, 416, - 451, 1414, 427, 453, 441, 442, 432, 460, 1414, 451, - 449, 436, 437, 444, 446, 454, 471, 472, 458, 460, - 454, 462, 464, 480, 1414, 483, 1414, 484, 1414, 470, - 452, 463, 470, 489, 491, 492, 1414, 480, 496, 468, - 486, 500, 503, 485, 481, 477, 497, 488, 511, 497, - 514, 494, 516, 503, 480, 505, 505, 497, 512, 511, - - 527, 1414, 509, 514, 516, 508, 503, 495, 496, 535, - 536, 525, 539, 1414, 512, 513, 514, 513, 515, 547, - 548, 535, 551, 518, 553, 1414, 554, 1414, 536, 528, - 548, 537, 539, 550, 566, 538, 568, 570, 1414, 571, - 1414, 543, 573, 1414, 574, 547, 577, 1414, 579, 1414, - 557, 585, 561, 571, 561, 591, 1414, 564, 593, 1414, - 565, 596, 1414, 582, 582, 574, 572, 579, 574, 590, - 583, 594, 594, 595, 611, 595, 594, 614, 1414, 615, - 1414, 601, 593, 594, 604, 605, 622, 623, 1414, 626, - 1414, 598, 628, 1414, 614, 630, 609, 623, 606, 625, - - 627, 611, 642, 1414, 643, 644, 1414, 645, 646, 1414, - 628, 624, 649, 1414, 622, 636, 657, 658, 660, 632, - 643, 650, 664, 642, 648, 641, 657, 634, 644, 646, - 676, 1414, 649, 654, 650, 651, 652, 668, 683, 684, - 1414, 685, 665, 688, 1414, 674, 662, 662, 677, 681, - 697, 699, 1414, 700, 1414, 686, 702, 668, 704, 705, - 1414, 706, 1414, 708, 1414, 711, 691, 688, 719, 1414, - 705, 722, 694, 709, 696, 713, 727, 717, 716, 702, - 733, 734, 720, 736, 1414, 738, 1414, 713, 740, 728, - 727, 717, 719, 749, 1414, 735, 752, 1414, 753, 754, - - 1414, 755, 1414, 741, 757, 734, 760, 1414, 761, 732, - 753, 769, 772, 1414, 747, 759, 756, 776, 1414, 777, - 1414, 762, 780, 781, 1414, 765, 755, 756, 759, 789, - 792, 1414, 764, 794, 1414, 765, 796, 1414, 797, 785, - 800, 1414, 783, 769, 781, 808, 809, 1414, 776, 812, - 813, 814, 815, 1414, 816, 788, 820, 1414, 821, 827, - 828, 812, 832, 1414, 833, 834, 1414, 835, 1414, 836, - 1414, 839, 1414, 840, 841, 1414, 847, 1414, 848, 1414, - 852, 853, 1414, 854, 1414, 855, 1414, 1414, 867, 873, - 879, 885, 891, 897, 899, 905, 852, 911, 914 - - } ; - -static yyconst short int yy_def[1100] = - { 0, - 1089, 1089, 1088, 3, 1089, 1089, 1090, 1090, 1091, 1091, - 1092, 1092, 1093, 1093, 1094, 1094, 1088, 1088, 1088, 1088, - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1088, 1088, 1096, 1088, 1088, 1096, 1088, - 1096, 1096, 1097, 1098, 1088, 1088, 1098, 1098, 1088, 1088, - 1088, 1088, 1088, 1088, 1099, 1088, 1088, 1088, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, - 1096, 1088, 1096, 1097, 1098, 1088, 1098, 1088, 1088, 1099, - 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1096, 1098, 1088, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1096, 1098, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, - 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, - 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1088, 1088, 1088, 1088, 1095, 1088, 1088, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1088, - 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1095, 1088, 1088, 1095, 1095, 1088, 1088, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, - 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1088, 1088, 1088, 1088, 1088, 1088, 1095, - 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1088, 1088, 1088, 1088, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1088, - 1088, 1095, 1088, 1088, 1095, 1095, 1088, 1088, 1088, 1088, - 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1088, 1088, - 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1088, - 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1088, 1088, 1088, - 1088, 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, - - 1095, 1095, 1088, 1088, 1095, 1088, 1088, 1095, 1088, 1088, - 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1088, - 1088, 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, - 1095, 1088, 1088, 1088, 1088, 1095, 1095, 1095, 1095, 1088, - 1088, 1088, 1088, 1088, 1088, 1095, 1095, 1095, 1088, 1088, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1088, 1088, 1088, 1088, 1095, 1095, 1095, - 1095, 1095, 1095, 1088, 1088, 1095, 1088, 1088, 1095, 1088, - - 1088, 1088, 1088, 1095, 1095, 1095, 1088, 1088, 1095, 1095, - 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1088, 1088, 1088, - 1088, 1095, 1095, 1088, 1088, 1095, 1095, 1095, 1095, 1095, - 1088, 1088, 1095, 1088, 1088, 1095, 1088, 1088, 1095, 1095, - 1088, 1088, 1095, 1095, 1095, 1095, 1088, 1088, 1095, 1095, - 1095, 1095, 1088, 1088, 1095, 1095, 1088, 1088, 1095, 1095, - 1095, 1095, 1088, 1088, 1095, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1095, 1088, 1088, 1088, 1088, 1088, 1088, - 1095, 1088, 1088, 1088, 1088, 1088, 1088, 0, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088 - - } ; - -static yyconst short int yy_nxt[1459] = - { 0, - 1088, 350, 19, 19, 66, 67, 66, 109, 110, 109, - 1088, 351, 73, 66, 67, 66, 100, 83, 74, 1088, - 71, 77, 81, 75, 164, 79, 76, 78, 483, 72, - 84, 101, 130, 131, 82, 80, 484, 165, 20, 20, - 66, 67, 66, 21, 21, 18, 18, 19, 18, 18, - 22, 18, 18, 18, 23, 23, 18, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 23, 34, 35, - 23, 36, 37, 38, 39, 40, 41, 23, 42, 43, - 23, 23, 23, 20, 23, 23, 23, 23, 21, 44, - 44, 85, 95, 172, 88, 96, 97, 316, 173, 86, - - 89, 90, 60, 60, 61, 61, 62, 62, 102, 98, - 87, 103, 66, 67, 66, 118, 696, 155, 104, 66, - 67, 66, 317, 105, 697, 45, 45, 135, 156, 136, - 21, 21, 18, 47, 18, 48, 49, 50, 63, 63, - 161, 122, 137, 64, 64, 123, 138, 250, 148, 187, - 162, 169, 124, 149, 170, 542, 188, 150, 109, 110, - 109, 151, 196, 243, 543, 152, 286, 251, 698, 51, - 244, 275, 197, 287, 52, 18, 47, 18, 48, 49, - 50, 276, 325, 335, 406, 350, 421, 326, 439, 327, - 638, 407, 335, 336, 426, 351, 328, 427, 440, 699, - - 329, 447, 336, 451, 473, 511, 439, 700, 701, 422, - 639, 448, 51, 452, 474, 512, 440, 52, 18, 18, - 47, 18, 18, 22, 18, 18, 18, 18, 18, 18, - 337, 516, 447, 451, 524, 532, 573, 517, 575, 616, - 578, 453, 448, 452, 511, 533, 574, 702, 576, 525, - 579, 617, 703, 706, 512, 707, 20, 18, 710, 713, - 714, 21, 18, 18, 47, 18, 18, 22, 18, 18, - 18, 18, 18, 18, 603, 532, 715, 635, 604, 605, - 640, 573, 575, 578, 606, 533, 607, 636, 689, 704, - 641, 574, 576, 579, 708, 716, 719, 720, 690, 705, - - 20, 18, 635, 711, 709, 21, 55, 56, 18, 48, - 22, 50, 636, 712, 640, 717, 721, 722, 723, 724, - 725, 726, 727, 728, 641, 718, 729, 730, 732, 733, - 734, 735, 736, 737, 738, 740, 741, 731, 743, 746, - 747, 750, 751, 57, 739, 744, 742, 752, 58, 55, - 56, 18, 48, 22, 50, 748, 753, 745, 754, 755, - 756, 757, 758, 759, 760, 749, 761, 763, 764, 766, - 768, 770, 771, 689, 772, 773, 762, 774, 765, 767, - 769, 775, 778, 690, 779, 780, 57, 781, 782, 783, - 784, 58, 18, 18, 19, 18, 18, 18, 18, 18, - - 18, 776, 785, 18, 704, 786, 787, 708, 788, 711, - 789, 777, 790, 791, 705, 792, 717, 709, 793, 712, - 794, 795, 796, 797, 798, 799, 718, 800, 803, 804, - 20, 805, 806, 807, 808, 21, 18, 18, 19, 18, - 18, 18, 18, 18, 18, 801, 730, 18, 809, 810, - 738, 811, 741, 812, 813, 802, 731, 815, 816, 817, - 739, 748, 742, 818, 814, 819, 820, 821, 822, 823, - 824, 749, 825, 827, 20, 829, 830, 831, 832, 21, - 833, 764, 826, 828, 766, 768, 834, 835, 836, 837, - 838, 765, 840, 776, 767, 769, 842, 843, 845, 846, - - 839, 847, 841, 777, 849, 851, 852, 844, 853, 854, - 855, 848, 856, 858, 850, 859, 861, 862, 864, 865, - 866, 867, 857, 868, 869, 860, 870, 863, 801, 871, - 872, 873, 874, 875, 876, 877, 878, 880, 802, 882, - 813, 883, 884, 885, 886, 887, 879, 881, 888, 890, - 814, 892, 893, 896, 825, 827, 897, 898, 889, 891, - 899, 900, 894, 901, 826, 828, 902, 903, 905, 906, - 895, 838, 840, 908, 843, 909, 911, 904, 847, 907, - 849, 839, 841, 912, 844, 910, 913, 915, 848, 916, - 850, 917, 856, 918, 859, 919, 914, 862, 920, 921, - - 922, 923, 857, 924, 860, 925, 926, 863, 927, 928, - 929, 930, 931, 933, 934, 878, 880, 935, 936, 937, - 938, 939, 932, 940, 888, 879, 881, 890, 942, 893, - 943, 944, 946, 941, 889, 947, 948, 891, 949, 894, - 950, 945, 951, 903, 952, 906, 954, 909, 956, 957, - 913, 958, 959, 904, 953, 907, 955, 910, 960, 962, - 914, 964, 966, 967, 968, 969, 971, 972, 961, 963, - 973, 965, 974, 975, 976, 970, 977, 931, 978, 979, - 980, 981, 982, 983, 984, 940, 986, 932, 988, 944, - 989, 990, 991, 992, 985, 941, 987, 993, 994, 945, - - 952, 954, 996, 997, 999, 1000, 960, 962, 995, 964, - 953, 955, 1002, 998, 1004, 1001, 961, 963, 1005, 965, - 969, 1006, 1003, 1007, 1009, 1010, 1011, 1012, 1013, 1015, - 970, 1016, 1017, 1008, 1018, 1020, 1022, 984, 1014, 986, - 1023, 1024, 1026, 1027, 1019, 1021, 1028, 985, 1029, 987, - 994, 1025, 1030, 997, 1031, 1000, 1002, 1033, 1034, 1036, - 995, 1007, 1037, 998, 1032, 1001, 1003, 1039, 1035, 1040, - 1041, 1008, 1038, 1013, 1043, 1044, 1045, 1018, 1020, 1046, - 1042, 1047, 1024, 1014, 1049, 1050, 1051, 1019, 1021, 1052, - 1053, 1048, 1025, 1031, 1055, 1034, 1056, 1037, 1057, 1059, - - 1054, 1041, 1060, 1032, 1061, 1035, 1062, 1038, 1058, 1063, - 1047, 1042, 1065, 1066, 1068, 1070, 1053, 1072, 1074, 1064, - 1048, 1057, 1075, 1067, 1069, 1071, 1054, 1073, 1077, 1079, - 1081, 1058, 1076, 1063, 1082, 1066, 1068, 1070, 1078, 1080, - 1072, 1084, 1075, 1064, 1083, 1067, 1069, 1071, 1077, 1079, - 1073, 1085, 1076, 1086, 1082, 1084, 1086, 114, 1078, 1080, - 695, 694, 693, 1087, 1083, 1085, 1087, 18, 18, 18, - 18, 18, 18, 46, 46, 46, 46, 46, 46, 53, - 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, - 54, 59, 59, 59, 59, 59, 59, 65, 65, 65, - - 65, 65, 65, 69, 69, 111, 692, 111, 111, 111, - 111, 115, 691, 688, 115, 115, 115, 120, 120, 120, - 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, - 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, - 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, - 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, - 647, 646, 645, 644, 643, 642, 637, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 615, 614, 613, 612, 611, 610, - 609, 608, 602, 601, 600, 599, 598, 597, 596, 595, - - 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 577, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, - 548, 547, 546, 545, 544, 541, 540, 539, 538, 537, - 536, 535, 534, 531, 530, 529, 528, 527, 526, 523, - 522, 521, 520, 519, 518, 515, 514, 513, 510, 509, - 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, - 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, - 488, 487, 486, 485, 482, 481, 480, 479, 478, 477, - - 476, 475, 472, 471, 470, 469, 468, 467, 466, 465, - 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, - 454, 450, 449, 446, 445, 444, 443, 442, 441, 438, - 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, - 425, 424, 423, 420, 419, 418, 417, 416, 415, 414, - 413, 412, 411, 410, 409, 408, 405, 404, 403, 402, - 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, - 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - - 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 334, 333, 332, 331, 330, 324, 323, 322, - 321, 320, 319, 318, 315, 314, 313, 312, 311, 310, - 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, - 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, - 289, 288, 285, 284, 283, 282, 281, 280, 279, 278, - 277, 274, 273, 272, 271, 270, 269, 268, 267, 266, - 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, - 255, 254, 253, 252, 249, 248, 247, 246, 245, 242, - - 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, - 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, - 201, 200, 199, 198, 195, 194, 193, 192, 191, 190, - 189, 186, 185, 184, 183, 182, 181, 180, 179, 178, - 119, 177, 116, 176, 175, 174, 171, 168, 167, 166, - 163, 160, 159, 158, 157, 154, 153, 147, 146, 145, - 144, 143, 142, 141, 140, 139, 134, 133, 132, 129, - 128, 127, 126, 125, 121, 119, 68, 112, 117, 116, - - 113, 112, 108, 107, 106, 99, 94, 93, 92, 91, - 70, 68, 1088, 17, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088 - } ; - -static yyconst short int yy_chk[1459] = - { 0, - 0, 283, 1, 2, 20, 20, 20, 45, 45, 45, - 0, 283, 26, 51, 51, 51, 39, 30, 26, 0, - 25, 27, 29, 26, 100, 28, 26, 27, 411, 25, - 30, 39, 76, 76, 29, 28, 411, 100, 1, 2, - 57, 57, 57, 1, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, - 6, 31, 37, 106, 32, 37, 37, 256, 106, 31, - - 32, 32, 13, 14, 13, 14, 13, 14, 40, 37, - 31, 40, 63, 63, 63, 63, 622, 93, 40, 66, - 66, 66, 256, 40, 623, 5, 6, 80, 93, 80, - 5, 6, 7, 7, 7, 7, 7, 7, 13, 14, - 98, 70, 80, 13, 14, 70, 80, 191, 90, 130, - 98, 104, 70, 90, 104, 471, 130, 90, 109, 109, - 109, 90, 138, 185, 471, 90, 225, 191, 624, 7, - 185, 215, 138, 225, 7, 8, 8, 8, 8, 8, - 8, 215, 264, 335, 340, 350, 356, 264, 372, 264, - 561, 340, 270, 335, 360, 350, 264, 360, 372, 625, - - 264, 379, 270, 382, 402, 438, 439, 626, 627, 356, - 561, 379, 8, 382, 402, 438, 439, 8, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 270, 444, 447, 451, 455, 462, 501, 444, 502, 541, - 504, 382, 447, 451, 511, 462, 501, 628, 502, 455, - 504, 541, 629, 631, 511, 632, 9, 9, 634, 638, - 639, 9, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 530, 532, 642, 559, 530, 530, - 562, 573, 575, 578, 530, 532, 530, 559, 616, 630, - 562, 573, 575, 578, 633, 643, 645, 646, 616, 630, - - 10, 10, 635, 637, 633, 10, 11, 11, 11, 11, - 11, 11, 635, 637, 640, 644, 647, 648, 649, 650, - 651, 652, 653, 654, 640, 644, 655, 656, 657, 658, - 659, 660, 661, 662, 663, 664, 665, 656, 666, 668, - 669, 671, 672, 11, 663, 667, 665, 673, 11, 12, - 12, 12, 12, 12, 12, 670, 674, 667, 675, 676, - 677, 678, 679, 680, 681, 670, 682, 683, 684, 685, - 686, 687, 688, 689, 691, 692, 682, 693, 684, 685, - 686, 694, 696, 689, 697, 698, 12, 699, 700, 701, - 702, 12, 15, 15, 15, 15, 15, 15, 15, 15, - - 15, 695, 703, 15, 704, 706, 707, 708, 710, 711, - 713, 695, 714, 715, 704, 716, 717, 708, 719, 711, - 720, 721, 722, 723, 724, 725, 717, 726, 728, 729, - 15, 732, 733, 734, 735, 15, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 727, 730, 16, 736, 737, - 738, 740, 741, 743, 744, 727, 730, 745, 746, 747, - 738, 748, 741, 750, 744, 751, 752, 753, 754, 755, - 756, 748, 757, 758, 16, 759, 760, 761, 762, 16, - 763, 764, 757, 758, 766, 768, 770, 771, 772, 773, - 774, 764, 775, 776, 766, 768, 778, 779, 780, 781, - - 774, 782, 775, 776, 783, 784, 785, 779, 786, 787, - 788, 782, 789, 790, 783, 791, 792, 793, 794, 795, - 796, 797, 789, 798, 799, 791, 800, 793, 801, 803, - 804, 805, 806, 807, 808, 809, 810, 811, 801, 812, - 813, 815, 816, 817, 818, 819, 810, 811, 820, 821, - 813, 822, 823, 824, 825, 827, 829, 830, 820, 821, - 831, 832, 823, 833, 825, 827, 834, 835, 836, 837, - 823, 838, 840, 842, 843, 845, 846, 835, 847, 837, - 849, 838, 840, 851, 843, 845, 852, 853, 847, 854, - 849, 855, 856, 858, 859, 861, 852, 862, 864, 865, - - 866, 867, 856, 868, 859, 869, 870, 862, 871, 872, - 873, 874, 875, 876, 877, 878, 880, 882, 883, 884, - 885, 886, 875, 887, 888, 878, 880, 890, 892, 893, - 895, 896, 897, 887, 888, 898, 899, 890, 900, 893, - 901, 896, 902, 903, 905, 906, 908, 909, 911, 912, - 913, 915, 916, 903, 905, 906, 908, 909, 917, 918, - 913, 919, 920, 921, 922, 923, 924, 925, 917, 918, - 926, 919, 927, 928, 929, 923, 930, 931, 933, 934, - 935, 936, 937, 938, 939, 940, 942, 931, 943, 944, - 946, 947, 948, 949, 939, 940, 942, 950, 951, 944, - - 952, 954, 956, 957, 958, 959, 960, 962, 951, 964, - 952, 954, 966, 957, 967, 959, 960, 962, 968, 964, - 969, 971, 966, 972, 973, 974, 975, 976, 977, 978, - 969, 979, 980, 972, 981, 982, 983, 984, 977, 986, - 988, 989, 990, 991, 981, 982, 992, 984, 993, 986, - 994, 989, 996, 997, 999, 1000, 1002, 1004, 1005, 1006, - 994, 1007, 1009, 997, 999, 1000, 1002, 1010, 1005, 1011, - 1012, 1007, 1009, 1013, 1015, 1016, 1017, 1018, 1020, 1022, - 1012, 1023, 1024, 1013, 1026, 1027, 1028, 1018, 1020, 1029, - 1030, 1023, 1024, 1031, 1033, 1034, 1036, 1037, 1039, 1040, - - 1030, 1041, 1043, 1031, 1044, 1034, 1045, 1037, 1039, 1046, - 1047, 1041, 1049, 1050, 1051, 1052, 1053, 1055, 1056, 1046, - 1047, 1057, 1059, 1050, 1051, 1052, 1053, 1055, 1060, 1061, - 1062, 1057, 1059, 1063, 1065, 1066, 1068, 1070, 1060, 1061, - 1072, 1074, 1075, 1063, 1065, 1066, 1068, 1070, 1077, 1079, - 1072, 1074, 1075, 1081, 1082, 1084, 1086, 1097, 1077, 1079, - 621, 620, 619, 1081, 1082, 1084, 1086, 1089, 1089, 1089, - 1089, 1089, 1089, 1090, 1090, 1090, 1090, 1090, 1090, 1091, - 1091, 1091, 1091, 1091, 1091, 1092, 1092, 1092, 1092, 1092, - 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094, 1094, - - 1094, 1094, 1094, 1095, 1095, 1096, 618, 1096, 1096, 1096, - 1096, 1098, 617, 615, 1098, 1098, 1098, 1099, 1099, 1099, - 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, - 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, - 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 577, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 560, 558, 557, 556, - 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, - 545, 544, 543, 542, 540, 539, 538, 537, 536, 535, - 534, 531, 529, 528, 527, 526, 525, 524, 523, 522, - - 521, 520, 519, 518, 517, 516, 515, 514, 513, 510, - 509, 508, 507, 506, 505, 503, 500, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, - 476, 475, 474, 473, 472, 470, 469, 468, 467, 466, - 465, 464, 463, 461, 460, 459, 458, 457, 456, 454, - 453, 450, 449, 446, 445, 443, 442, 441, 437, 436, - 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - 415, 414, 413, 412, 410, 409, 408, 407, 406, 405, - - 404, 403, 401, 400, 399, 398, 397, 396, 395, 394, - 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, - 383, 381, 380, 378, 377, 376, 375, 374, 373, 371, - 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, - 359, 358, 357, 355, 354, 353, 352, 349, 348, 347, - 346, 345, 344, 343, 342, 341, 339, 338, 337, 334, - 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, - 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, - 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, - 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, - - 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, - 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, - 272, 271, 269, 268, 267, 266, 265, 263, 262, 261, - 260, 259, 258, 257, 255, 254, 253, 252, 251, 250, - 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, - 239, 238, 237, 234, 233, 232, 231, 230, 229, 228, - 227, 226, 224, 223, 222, 221, 220, 219, 218, 217, - 216, 214, 213, 212, 211, 210, 209, 208, 207, 206, - 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, - 195, 194, 193, 192, 190, 189, 188, 187, 186, 184, - - 183, 182, 181, 180, 179, 177, 176, 175, 174, 173, - 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, - 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, - 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, - 142, 141, 140, 139, 137, 136, 135, 134, 133, 132, - 131, 129, 128, 127, 126, 125, 124, 123, 122, 121, - 120, 117, 116, 113, 108, 107, 105, 103, 102, 101, - 99, 97, 96, 95, 94, 92, 91, 89, 88, 87, - 86, 85, 84, 83, 82, 81, 79, 78, 77, 75, - 74, 73, 72, 71, 68, 65, 64, 62, 58, 55, - - 52, 50, 43, 42, 41, 38, 36, 35, 34, 33, - 24, 21, 17, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088 - } ; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "config.l" -#define INITIAL 0 -/****************************************************************************** - * - * $Id$ - * - * Copyright (C) 1997-2000 by Dimitri van Heesch. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * - * All output generated with Doxygen is not covered by this license. - * - */ -#line 18 "config.l" - -/* - * includes - */ -#include <stdio.h> -#include <stdlib.h> -#include <iostream.h> -#include <assert.h> -#include <ctype.h> - -#include <qfileinfo.h> -#include <qdir.h> -#include <qtextstream.h> - -#include "config.h" -#include "version.h" - -#ifdef DOXYWIZARD -#include <stdarg.h> -void err(const char *fmt, ...) -{ - va_list args; - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); -} -void warn(const char *fmt, ...) -{ - va_list args; - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); -} -#else -#include "doxygen.h" -#include "message.h" -#include "pre.h" -#include "version.h" -#include "language.h" -#endif - -#define YY_NEVER_INTERACTIVE 1 - -/* ----------------------------------------------------------------- - * - * exported variables - */ - -QCString Config::projectName; -QCString Config::projectNumber; -QCString Config::outputDir; -QCString Config::htmlOutputDir; -QCString Config::latexOutputDir; -QCString Config::manOutputDir; -QCString Config::rtfOutputDir; -QCString Config::outputLanguage; -QCString Config::headerFile; -QCString Config::latexHeaderFile; -QCString Config::footerFile; -QCString Config::cgiName; -QCString Config::cgiURL; -QCString Config::docURL; -QCString Config::binAbsPath; -QCString Config::docAbsPath; -QCString Config::perlPath; -QCString Config::genTagFile; -QCString Config::inputFilter; -QCString Config::paperType; -QCString Config::manExtension; -QCString Config::htmlStyleSheet; -QStrList Config::ignorePrefixList; -QStrList Config::includePath; -QStrList Config::examplePath; -QStrList Config::imagePath; -QStrList Config::inputSources; -QStrList Config::excludeSources; -QStrList Config::filePatternList; -QStrList Config::excludePatternList; -QStrList Config::examplePatternList; -QStrList Config::imagePatternList; -QStrList Config::tagFileList; -QStrList Config::extDocPathList; -QStrList Config::predefined; -QStrList Config::extraPackageList; -QStrList Config::stripFromPath; -bool Config::quietFlag = FALSE; -bool Config::recursiveFlag = FALSE; -bool Config::allExtFlag = FALSE; -bool Config::searchEngineFlag = FALSE; -bool Config::extractAllFlag = FALSE; -bool Config::extractPrivateFlag = FALSE; -bool Config::noIndexFlag = FALSE; -bool Config::hideMemberFlag = FALSE; -bool Config::hideClassFlag = FALSE; -bool Config::macroExpansionFlag = FALSE; -bool Config::onlyPredefinedFlag = FALSE; -bool Config::fullPathNameFlag = FALSE; -bool Config::compactLatexFlag = FALSE; -bool Config::internalDocsFlag = FALSE; -bool Config::caseSensitiveNames = FALSE; -bool Config::sourceBrowseFlag = FALSE; -bool Config::htmlHelpFlag = FALSE; -bool Config::alphaIndexFlag = FALSE; -bool Config::pdfHyperFlag = FALSE; -bool Config::alwaysDetailsFlag = FALSE; -bool Config::inlineSourceFlag = FALSE; -bool Config::rtfHyperFlag = FALSE; -bool Config::compactRTFFlag = FALSE; -bool Config::haveDotFlag = FALSE; -bool Config::autoBriefFlag = TRUE; -bool Config::warningFlag = TRUE; -bool Config::generateHtml = TRUE; -bool Config::generateLatex = TRUE; -bool Config::generateMan = TRUE; -bool Config::generateRTF = FALSE; -bool Config::preprocessingFlag = TRUE; -bool Config::briefMemDescFlag = TRUE; -bool Config::searchIncludeFlag = TRUE; -bool Config::classDiagramFlag = TRUE; -bool Config::repeatBriefFlag = TRUE; -bool Config::verbatimHeaderFlag = TRUE; -bool Config::htmlAlignMemberFlag = TRUE; -bool Config::inheritDocsFlag = TRUE; -bool Config::inlineInfoFlag = TRUE; -bool Config::collGraphFlag = TRUE; -bool Config::includeGraphFlag = TRUE; -bool Config::gfxHierarchyFlag = TRUE; -bool Config::showIncFileFlag = TRUE; -bool Config::stripCommentsFlag = TRUE; -bool Config::sortMembersFlag = TRUE; -int Config::tabSize = 8; -int Config::colsInAlphaIndex = 5; - -/* ----------------------------------------------------------------- - * - * static variables - */ - -static const char * inputString; -static int inputPosition; -static int yyLineNr; -static QCString tmpString; -static QCString * s=0; -static bool * b=0; -static QStrList * l=0; -static int lastState; -static int lastEnvState; -static QCString elemStr; -static QCString tabSizeString; -static QCString colsInAlphaIndexString; - -/* ----------------------------------------------------------------- - */ -#undef YY_INPUT -#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); - -static int yyread(char *buf,int max_size) -{ - int c=0; - while( c < max_size && inputString[inputPosition] ) - { - *buf = inputString[inputPosition++] ; - c++; buf++; - } - return c; -} - -#define Start 1 - -#define SkipComment 2 - -#define GetString 3 - -#define GetBool 4 - -#define GetStrList 5 - -#define GetQuotedString 6 - -#define GetEnvVar 7 - - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); -#else -extern int yywrap YY_PROTO(( void )); -#endif -#endif - -#ifndef YY_NO_UNPUT -static void yyunput YY_PROTO(( int c, char *buf_ptr )); -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); -#endif - -#ifndef YY_NO_INPUT -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); -#endif - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include <stdlib.h> -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ - -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) \ - { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -YY_DECL - { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 197 "config.l" - - - - if ( yy_init ) - { - yy_init = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! yy_start ) - yy_start = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_load_buffer_state(); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yy_start; -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1089 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 1414 ); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - if ( yy_act == 0 ) - { /* have to back up */ - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - - -do_action: /* This label is used only to access EOF actions. */ - - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yy_hold_char; - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 199 "config.l" - - YY_BREAK -case 2: -YY_RULE_SETUP -#line 200 "config.l" -{ BEGIN(SkipComment); } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 201 "config.l" -{ BEGIN(GetString); s=&Config::projectName; s->resize(0); } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 202 "config.l" -{ BEGIN(GetString); s=&Config::projectNumber; s->resize(0); } - YY_BREAK -case 5: -YY_RULE_SETUP -#line 203 "config.l" -{ BEGIN(GetString); s=&Config::outputDir; s->resize(0); } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 204 "config.l" -{ BEGIN(GetString); s=&Config::htmlOutputDir; s->resize(0); } - YY_BREAK -case 7: -YY_RULE_SETUP -#line 205 "config.l" -{ BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 206 "config.l" -{ BEGIN(GetString); s=&Config::latexOutputDir; s->resize(0); } - YY_BREAK -case 9: -YY_RULE_SETUP -#line 207 "config.l" -{ BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); } - YY_BREAK -case 10: -YY_RULE_SETUP -#line 208 "config.l" -{ BEGIN(GetString); s=&Config::headerFile; s->resize(0); } - YY_BREAK -case 11: -YY_RULE_SETUP -#line 209 "config.l" -{ BEGIN(GetString); s=&Config::footerFile; s->resize(0); } - YY_BREAK -case 12: -YY_RULE_SETUP -#line 210 "config.l" -{ BEGIN(GetString); s=&Config::latexHeaderFile; s->resize(0); } - YY_BREAK -case 13: -YY_RULE_SETUP -#line 211 "config.l" -{ BEGIN(GetString); s=&Config::cgiName; s->resize(0); } - YY_BREAK -case 14: -YY_RULE_SETUP -#line 212 "config.l" -{ BEGIN(GetString); s=&Config::cgiURL; s->resize(0); } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 213 "config.l" -{ BEGIN(GetString); s=&Config::docURL; s->resize(0); } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 214 "config.l" -{ BEGIN(GetString); s=&Config::binAbsPath; s->resize(0); } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 215 "config.l" -{ BEGIN(GetString); s=&Config::docAbsPath; s->resize(0); } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 216 "config.l" -{ BEGIN(GetString); s=&Config::perlPath; s->resize(0); } - YY_BREAK -case 19: -YY_RULE_SETUP -#line 217 "config.l" -{ BEGIN(GetString); s=&Config::genTagFile; s->resize(0); } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 218 "config.l" -{ BEGIN(GetString); s=&Config::inputFilter; s->resize(0); } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 219 "config.l" -{ BEGIN(GetString); s=&Config::paperType; s->resize(0); } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 220 "config.l" -{ BEGIN(GetString); s=&Config::outputLanguage; s->resize(0); } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 221 "config.l" -{ BEGIN(GetString); s=&Config::manExtension; s->resize(0); } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 222 "config.l" -{ BEGIN(GetString); s=&tabSizeString; s->resize(0); } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 223 "config.l" -{ BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 224 "config.l" -{ BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 225 "config.l" -{ BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; } - YY_BREAK -case 28: -YY_RULE_SETUP -#line 226 "config.l" -{ BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 227 "config.l" -{ BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; } - YY_BREAK -case 30: -YY_RULE_SETUP -#line 228 "config.l" -{ BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; } - YY_BREAK -case 31: -YY_RULE_SETUP -#line 229 "config.l" -{ BEGIN(GetStrList); l=&Config::inputSources; l->clear(); elemStr=""; } - YY_BREAK -case 32: -YY_RULE_SETUP -#line 230 "config.l" -{ BEGIN(GetStrList); l=&Config::excludeSources; l->clear(); elemStr=""; } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 231 "config.l" -{ BEGIN(GetStrList); l=&Config::filePatternList; l->clear(); elemStr=""; } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 232 "config.l" -{ BEGIN(GetStrList); l=&Config::excludePatternList; l->clear(); elemStr=""; } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 233 "config.l" -{ BEGIN(GetStrList); l=&Config::examplePatternList; l->clear(); elemStr=""; } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 234 "config.l" -{ BEGIN(GetStrList); l=&Config::imagePatternList; l->clear(); elemStr=""; } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 235 "config.l" -{ BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; } - YY_BREAK -case 38: -YY_RULE_SETUP -#line 236 "config.l" -{ BEGIN(GetStrList); l=&Config::extDocPathList; l->clear(); elemStr=""; } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 237 "config.l" -{ BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 238 "config.l" -{ BEGIN(GetStrList); l=&Config::extraPackageList; l->clear(); elemStr=""; } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 239 "config.l" -{ BEGIN(GetStrList); l=&Config::stripFromPath; l->clear(); elemStr=""; } - YY_BREAK -case 42: -YY_RULE_SETUP -#line 240 "config.l" -{ BEGIN(GetBool); b=&Config::quietFlag; } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 241 "config.l" -{ BEGIN(GetBool); b=&Config::warningFlag; } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 242 "config.l" -{ BEGIN(GetBool); b=&Config::recursiveFlag; } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 243 "config.l" -{ BEGIN(GetBool); b=&Config::allExtFlag; } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 244 "config.l" -{ BEGIN(GetBool); b=&Config::searchEngineFlag; } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 245 "config.l" -{ BEGIN(GetBool); b=&Config::extractAllFlag; } - YY_BREAK -case 48: -YY_RULE_SETUP -#line 246 "config.l" -{ BEGIN(GetBool); b=&Config::extractPrivateFlag; } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 247 "config.l" -{ BEGIN(GetBool); b=&Config::noIndexFlag; } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 248 "config.l" -{ BEGIN(GetBool); b=&Config::generateLatex; } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 249 "config.l" -{ BEGIN(GetBool); b=&Config::generateHtml; } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 250 "config.l" -{ BEGIN(GetBool); b=&Config::generateMan; } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 251 "config.l" -{ BEGIN(GetBool); b=&Config::preprocessingFlag; } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 252 "config.l" -{ BEGIN(GetBool); b=&Config::macroExpansionFlag; } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 253 "config.l" -{ BEGIN(GetBool); b=&Config::searchIncludeFlag; } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 254 "config.l" -{ BEGIN(GetBool); b=&Config::briefMemDescFlag; } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 255 "config.l" -{ BEGIN(GetBool); b=&Config::alwaysDetailsFlag; } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 256 "config.l" -{ BEGIN(GetBool); b=&Config::hideMemberFlag; } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 257 "config.l" -{ BEGIN(GetBool); b=&Config::hideClassFlag; } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 258 "config.l" -{ BEGIN(GetBool); b=&Config::onlyPredefinedFlag; } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 259 "config.l" -{ BEGIN(GetBool); b=&Config::fullPathNameFlag; } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 260 "config.l" -{ BEGIN(GetBool); b=&Config::classDiagramFlag; } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 261 "config.l" -{ BEGIN(GetBool); b=&Config::compactLatexFlag; } - YY_BREAK -case 64: -YY_RULE_SETUP -#line 262 "config.l" -{ BEGIN(GetBool); b=&Config::repeatBriefFlag; } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 263 "config.l" -{ BEGIN(GetBool); b=&Config::internalDocsFlag; } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 264 "config.l" -{ BEGIN(GetBool); b=&Config::caseSensitiveNames; } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 265 "config.l" -{ BEGIN(GetBool); b=&Config::verbatimHeaderFlag; } - YY_BREAK -case 68: -YY_RULE_SETUP -#line 266 "config.l" -{ BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 267 "config.l" -{ BEGIN(GetBool); b=&Config::sourceBrowseFlag; } - YY_BREAK -case 70: -YY_RULE_SETUP -#line 268 "config.l" -{ BEGIN(GetBool); b=&Config::autoBriefFlag; } - YY_BREAK -case 71: -YY_RULE_SETUP -#line 269 "config.l" -{ BEGIN(GetBool); b=&Config::htmlHelpFlag; } - YY_BREAK -case 72: -YY_RULE_SETUP -#line 270 "config.l" -{ BEGIN(GetBool); b=&Config::alphaIndexFlag; } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 271 "config.l" -{ BEGIN(GetBool); b=&Config::pdfHyperFlag; } - YY_BREAK -case 74: -YY_RULE_SETUP -#line 272 "config.l" -{ BEGIN(GetBool); b=&Config::inheritDocsFlag; } - YY_BREAK -case 75: -YY_RULE_SETUP -#line 273 "config.l" -{ BEGIN(GetBool); b=&Config::inlineInfoFlag; } - YY_BREAK -case 76: -YY_RULE_SETUP -#line 274 "config.l" -{ BEGIN(GetBool); b=&Config::inlineSourceFlag; } - YY_BREAK -case 77: -YY_RULE_SETUP -#line 275 "config.l" -{ BEGIN(GetBool); b=&Config::haveDotFlag; } - YY_BREAK -case 78: -YY_RULE_SETUP -#line 276 "config.l" -{ BEGIN(GetBool); b=&Config::collGraphFlag; } - YY_BREAK -case 79: -YY_RULE_SETUP -#line 277 "config.l" -{ BEGIN(GetBool); b=&Config::includeGraphFlag; } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 278 "config.l" -{ BEGIN(GetBool); b=&Config::gfxHierarchyFlag; } - YY_BREAK -case 81: -YY_RULE_SETUP -#line 279 "config.l" -{ BEGIN(GetBool); b=&Config::generateRTF; } - YY_BREAK -case 82: -YY_RULE_SETUP -#line 280 "config.l" -{ BEGIN(GetBool); b=&Config::compactRTFFlag; } - YY_BREAK -case 83: -YY_RULE_SETUP -#line 281 "config.l" -{ BEGIN(GetBool); b=&Config::rtfHyperFlag; } - YY_BREAK -case 84: -YY_RULE_SETUP -#line 282 "config.l" -{ BEGIN(GetBool); b=&Config::showIncFileFlag; } - YY_BREAK -case 85: -YY_RULE_SETUP -#line 283 "config.l" -{ BEGIN(GetBool); b=&Config::stripCommentsFlag; } - YY_BREAK -case 86: -YY_RULE_SETUP -#line 284 "config.l" -{ BEGIN(GetBool); b=&Config::sortMembersFlag; } - YY_BREAK -case 87: -YY_RULE_SETUP -#line 285 "config.l" -{ err("Warning: ignoring unknown tag `%s' at line %d\n",yytext,yyLineNr); } - YY_BREAK -case 88: -YY_RULE_SETUP -#line 286 "config.l" -{ yyLineNr++; BEGIN(Start); } - YY_BREAK -case 89: -YY_RULE_SETUP -#line 287 "config.l" -{ - yyLineNr++; - if (!elemStr.isEmpty()) - { - //printf("elemStr1=`%s'\n",elemStr.data()); - l->append(elemStr); - } - BEGIN(Start); - } - YY_BREAK -case 90: -YY_RULE_SETUP -#line 296 "config.l" -{ - if (!elemStr.isEmpty()) - { - //printf("elemStr2=`%s'\n",elemStr.data()); - l->append(elemStr); - } - elemStr.resize(0); - } - YY_BREAK -case 91: -YY_RULE_SETUP -#line 304 "config.l" -{ (*s)+=yytext; } - YY_BREAK -case 92: -YY_RULE_SETUP -#line 305 "config.l" -{ lastState=YY_START; - BEGIN(GetQuotedString); - tmpString.resize(0); - } - YY_BREAK -case 93: -YY_RULE_SETUP -#line 309 "config.l" -{ - //printf(">> Enter env\n"); - lastEnvState=YY_START; - BEGIN(GetEnvVar); - } - YY_BREAK -case 94: -YY_RULE_SETUP -#line 314 "config.l" -{ - yytext[yyleng-1]='\0'; - const char *env=getenv(yytext); - int i; - int l=strlen(env); - //printf("env name=`%s' text=`%s'\n",yytext,env); - for (i=l-1;i>=0;i--) unput(env[i]); - BEGIN(lastEnvState); - } - YY_BREAK -case 95: -YY_RULE_SETUP -#line 323 "config.l" -{ - //printf("Quoted String = `%s'\n",tmpString.data()); - if (lastState==GetString) - (*s)+=tmpString; - else - elemStr+=tmpString; - if (*yytext=='\n') - { - err("Warning: Missing end quote (\") on line %d\n",yyLineNr); - yyLineNr++; - } - BEGIN(lastState); - } - YY_BREAK -case 96: -YY_RULE_SETUP -#line 336 "config.l" -{ - tmpString+='"'; - } - YY_BREAK -case 97: -YY_RULE_SETUP -#line 339 "config.l" -{ tmpString+=*yytext; } - YY_BREAK -case 98: -YY_RULE_SETUP -#line 340 "config.l" -{ - QCString bs=yytext; - bs=bs.upper(); - if (bs=="YES") - *b=TRUE; - else if (bs=="NO") - *b=FALSE; - else - { - *b=FALSE; - warn("Warning: Invalid value `%s' for " - "boolean tag in line %d; use YES or NO\n", - bs.data(),yyLineNr); - } - } - YY_BREAK -case 99: -YY_RULE_SETUP -#line 355 "config.l" -{ - elemStr+=yytext; - } - YY_BREAK -case 100: -YY_RULE_SETUP -#line 358 "config.l" -{ yyLineNr++; BEGIN(Start); } - YY_BREAK -case 101: -YY_RULE_SETUP -#line 359 "config.l" -{ yyLineNr++; BEGIN(Start); } - YY_BREAK -case 102: -YY_RULE_SETUP -#line 360 "config.l" -{ yyLineNr++; } - YY_BREAK -case 103: -YY_RULE_SETUP -#line 361 "config.l" - - YY_BREAK -case 104: -YY_RULE_SETUP -#line 362 "config.l" -{ yyLineNr++ ; } - YY_BREAK -case 105: -YY_RULE_SETUP -#line 364 "config.l" -ECHO; - YY_BREAK -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(Start): -case YY_STATE_EOF(SkipComment): -case YY_STATE_EOF(GetString): -case YY_STATE_EOF(GetBool): -case YY_STATE_EOF(GetStrList): -case YY_STATE_EOF(GetQuotedString): -case YY_STATE_EOF(GetEnvVar): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = yytext_ptr + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yy_c_buf_p; - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer() ) - { - case EOB_ACT_END_OF_FILE: - { - yy_did_buffer_switch_on_eof = 0; - - if ( yywrap() ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of yylex */ - - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; - register int number_to_move, i; - int ret_val; - - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( yy_current_buffer->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; - - else - { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; - - int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = yy_current_buffer->yy_buf_size - - number_to_move - 1; -#endif - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); - - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - if ( yy_n_chars == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; - - return ret_val; - } - - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -static yy_state_type yy_get_previous_state() - { - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = yy_start; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 44); - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1089 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; - } - - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { - register int yy_is_jam; - register char *yy_cp = yy_c_buf_p; - - register YY_CHAR yy_c = 44; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1089 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1088); - - return yy_is_jam ? 0 : yy_current_state; - } - - -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; - - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; - register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; - - while ( source > yy_current_buffer->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ - - -#ifdef __cplusplus -static int yyinput() -#else -static int input() -#endif - { - int c; - - *yy_c_buf_p = yy_hold_char; - - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - /* This was really a NUL. */ - *yy_c_buf_p = '\0'; - - else - { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; - - switch ( yy_get_next_buffer() ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /* fall through */ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap() ) - return EOF; - - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; - break; - } - } - } - - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - - - return c; - } - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); - } - - -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) - return; - - if ( yy_current_buffer ) - { - /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - yy_current_buffer = new_buffer; - yy_load_buffer_state(); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } - - -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; - } - - -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { - if ( ! b ) - return; - - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } - - -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - - - { - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - -#if YY_ALWAYS_INTERACTIVE - b->yy_is_interactive = 1; -#else -#if YY_NEVER_INTERACTIVE - b->yy_is_interactive = 0; -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif -#endif - } - - -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif - - { - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == yy_current_buffer ) - yy_load_buffer_state(); - } - - -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer( b ); - - return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif - - -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; - buf = (char *) yy_flex_alloc( n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; - - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer( buf, n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; - } -#endif - - -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; -#endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); - - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); - - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); - - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } - - yy_start_stack[yy_start_stack_ptr++] = YY_START; - - BEGIN(new_state); - } -#endif - - -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif - - -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } - - - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) - - -/* Internal utility routines. */ - -#ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } -#endif - -#ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; - } -#endif - - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { - return (void *) malloc( size ); - } - -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); - } - -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } - -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -#line 364 "config.l" - - -/*@ ---------------------------------------------------------------------------- - */ - - -void dumpConfig() -{ - printf("projectName=`%s'\n",Config::projectName.data()); - printf("outputDir=`%s'\n", Config::outputDir.data()); - printf("headerFile=`%s'\n", Config::headerFile.data()); - printf("footerFile=`%s'\n", Config::footerFile.data()); - char *ip=Config::includePath.first(); - while (ip) - { - printf("includePath=`%s'\n",ip); - ip=Config::includePath.next(); - } - printf("quiet=`%d'\n", Config::quietFlag); - printf("warnings=`%d'\n", Config::warningFlag); - char *is=Config::inputSources.first(); - while (is) - { - printf("inputSources=`%s'\n",is); - is=Config::inputSources.next(); - } - char *fp=Config::filePatternList.first(); - while (fp) - { - printf("filePattern=`%s'\n",fp); - fp=Config::filePatternList.next(); - } - printf("recusive=`%d'\n",Config::recursiveFlag); - printf("inputFilter=`%s'\n",Config::inputFilter.data()); - char *tf=Config::tagFileList.first(); - while (tf) - { - printf("tagFile=`%s'\n",tf); - tf=Config::tagFileList.next(); - } - printf("allExternals=`%d'\n",Config::allExtFlag); - printf("searchEngine=`%d'\n",Config::searchEngineFlag); - printf("cgiName=`%s'\n",Config::cgiName.data()); - printf("cgiURL=`%s'\n",Config::cgiURL.data()); - printf("docURL=`%s'\n",Config::docURL.data()); - printf("binAbsPath=`%s'\n",Config::binAbsPath.data()); - char *ed=Config::extDocPathList.first(); - while (ed) - { - printf("binAbsPathFile=`%s'\n",ed); - ed=Config::extDocPathList.next(); - } -} - -void Config::init() -{ - Config::projectName.resize(0); - Config::projectNumber.resize(0); - Config::outputDir.resize(0); - Config::htmlOutputDir = "html"; - Config::latexOutputDir ="latex"; - Config::manOutputDir ="man"; - Config::rtfOutputDir = "rtf"; - Config::outputLanguage = "English"; - Config::headerFile.resize(0); - Config::latexHeaderFile.resize(0); - Config::footerFile.resize(0); - Config::cgiName = "search.cgi"; - Config::cgiURL.resize(0); - Config::docURL.resize(0); - Config::binAbsPath = "/usr/local/bin/"; - Config::docAbsPath.resize(0); - Config::perlPath = "/usr/bin/perl"; - Config::genTagFile.resize(0); - Config::inputFilter.resize(0); - Config::paperType = "a4wide"; - Config::manExtension = ".3"; - Config::htmlStyleSheet.resize(0); - Config::ignorePrefixList.clear(); - Config::includePath.clear(); - Config::examplePath.clear(); - Config::imagePath.clear(); - Config::inputSources.clear(); - Config::excludeSources.clear(); - Config::filePatternList.clear(); - Config::examplePatternList.clear(); - Config::imagePatternList.clear(); - Config::excludePatternList.clear(); - Config::tagFileList.clear(); - Config::extDocPathList.clear(); - Config::predefined.clear(); - Config::extraPackageList.clear(); - Config::stripFromPath.clear(); - Config::tabSize=8; - Config::colsInAlphaIndex=5; - Config::quietFlag = FALSE; - Config::recursiveFlag = FALSE; - Config::allExtFlag = FALSE; - Config::searchEngineFlag = FALSE; - Config::extractAllFlag = FALSE; - Config::extractPrivateFlag = FALSE; - Config::noIndexFlag = FALSE; - Config::hideMemberFlag = FALSE; - Config::hideClassFlag = FALSE; - Config::macroExpansionFlag = FALSE; - Config::onlyPredefinedFlag = FALSE; - Config::fullPathNameFlag = FALSE; - Config::compactLatexFlag = FALSE; - Config::internalDocsFlag = FALSE; - Config::caseSensitiveNames = FALSE; - Config::sourceBrowseFlag = FALSE; - Config::htmlHelpFlag = FALSE; - Config::alphaIndexFlag = FALSE; - Config::pdfHyperFlag = FALSE; - Config::alwaysDetailsFlag = FALSE; - Config::inlineSourceFlag = FALSE; - Config::haveDotFlag = FALSE; - Config::compactRTFFlag = FALSE; - Config::rtfHyperFlag = FALSE; - Config::warningFlag = TRUE; - Config::generateHtml = TRUE; - Config::generateLatex = TRUE; - Config::generateMan = TRUE; - Config::generateRTF = FALSE; - Config::preprocessingFlag = TRUE; - Config::briefMemDescFlag = TRUE; - Config::searchIncludeFlag = TRUE; - Config::classDiagramFlag = TRUE; - Config::repeatBriefFlag = TRUE; - Config::verbatimHeaderFlag = TRUE; - Config::htmlAlignMemberFlag = TRUE; - Config::autoBriefFlag = TRUE; - Config::inheritDocsFlag = TRUE; - Config::inlineInfoFlag = TRUE; - Config::collGraphFlag = TRUE; - Config::includeGraphFlag = TRUE; - Config::gfxHierarchyFlag = TRUE; - Config::showIncFileFlag = TRUE; - Config::stripCommentsFlag = TRUE; - Config::sortMembersFlag = TRUE; -} - -void writeTemplateConfig(QFile *f,bool sl) -{ - QTextStream t(f); -#ifdef DOXYWIZARD - t << "# Doxygen configuration generated by Doxywizard version " << versionString << endl; -#else - t << "# Doxyfile " << versionString << endl << endl; -#endif - if (!sl) - { - t << "# This file describes the settings to be used by doxygen for a project\n"; - t << "#\n"; - t << "# All text after a hash (#) is considered a comment and will be ignored\n"; - t << "# The format is:\n"; - t << "# TAG = value [value, ...]\n"; - t << "# Values that contain spaces should be placed between quotes (\" \")\n"; - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# General configuration options\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# The PROJECT_NAME tag is a single word (or a sequence of word surrounded\n"; - t << "# by quotes) that should identify the project. \n"; - t << "\n"; - } - t << "PROJECT_NAME =\n"; - if (!sl) - { - t << "\n"; - t << "# The PROJECT_NUMBER tag can be used to enter a project or revision number.\n" ; - t << "# This could be handy for archiving the generated documentation or \n"; - t << "# if some version control system is used.\n"; - t << "\n"; - } - t << "PROJECT_NUMBER =\n"; - if (!sl) - { - t << "\n"; - t << "# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) \n"; - t << "# base path where the generated documentation will be put. \n"; - t << "# If a relative path is entered, it will be relative to the location \n"; - t << "# where doxygen was started. If left blank the current directory will be used.\n"; - t << "\n"; - } - t << "OUTPUT_DIRECTORY =\n"; - if (!sl) - { - t << "\n"; - t << "# The OUTPUT_LANGUAGE tag is used to specify the language in which all\n"; - t << "# documentation generated by doxygen is written. Doxygen will use this\n"; - t << "# information to generate all constant output in the proper language.\n"; - t << "# The default language is English, other supported languages are: \n"; - t << "# Dutch, French, Italian, Czech, Swedish, German and Japanese\n"; - t << "\n"; - } - t << "OUTPUT_LANGUAGE = English\n"; - if (!sl) - { - t << "\n"; - t << "# The QUIET tag can be used to turn on/off the messages that are generated\n"; - t << "# by doxygen. Possible values are YES and NO. If left blank NO is used.\n"; - t << "\n"; - } - t << "QUIET = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The WARNINGS tag can be used to turn on/off the warning messages that are\n"; - t << "# generated by doxygen. Possible values are YES and NO. If left blank\n"; - t << "# NO is used.\n"; - t << "\n"; - } - t << "WARNINGS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The DISABLE_INDEX tag can be used to turn on/off the condensed index at\n"; - t << "# top of each HTML page. The value NO (the default) enables the index and\n"; - t << "# the value YES disables it.\n"; - t << "\n"; - } - t << "DISABLE_INDEX = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the EXTRACT_ALL tag is set to YES all classes and functions will be\n"; - t << "# included in the documentation, even if no documentation was available.\n"; - t << "\n"; - } - t << "EXTRACT_ALL = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the EXTRACT_PRIVATE tag is set to YES all private members of a class\n"; - t << "# will be included in the documentation.\n"; - t << "\n"; - } - t << "EXTRACT_PRIVATE = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all\n"; - t << "# undocumented members inside documented classes or files.\n"; - t << "\n"; - } - t << "HIDE_UNDOC_MEMBERS = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all\n"; - t << "# undocumented classes.\n"; - t << "\n"; - } - t << "HIDE_UNDOC_CLASSES = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will\n"; - t << "# include brief member descriptions after the members that are listed in \n"; - t << "# the file and class documentation (similar to JavaDoc).\n"; - t << "# Set to NO to disable this.\n"; - t << "\n"; - } - t << "BRIEF_MEMBER_DESC = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend\n"; - t << "# the brief description of a member or function before the detailed description.\n"; - t << "# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the \n"; - t << "# brief descriptions will be completely suppressed.\n"; - t << "\n"; - } - t << "REPEAT_BRIEF = YES\n"; - if (!sl) - { - t <<"\n"; - t << "# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then\n"; - t << "# Doxygen will generate a detailed section even if there is only a brief\n"; - t << "# description.\n"; - t <<"\n"; - } - t << "ALWAYS_DETAILED_SEC = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full\n"; - t << "# path before files name in the file list and in the header files. If set\n" ; - t << "# to NO the shortest path that makes the file name unique will be used.\n"; - t << "\n"; - } - t << "FULL_PATH_NAMES = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag\n"; - t << "# can be used to strip a user defined part of the path. Stripping is\n" ; - t << "# only done if one of the specified strings matches the left-hand part of\n"; - t << "# the path.\n"; - t << "\n"; - } - t << "STRIP_FROM_PATH =\n"; - if (!sl) - { - t << "\n"; - t << "# The INTERNAL_DOCS tag determines if documentation\n"; - t << "# that is typed after a \\internal command is included. If the tag is set \n"; - t << "# to NO (the default) then the documentation will be excluded.\n"; - t << "# Set it to YES to include the internal documentation.\n"; - t << "\n"; - } - t << "INTERNAL_DOCS = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\n"; - t << "# generate a class diagram (in Html and LaTeX) for classes with base or\n"; - t << "# super classes. Setting the tag to NO turns the diagrams off.\n"; - t << "\n"; - } - t << "CLASS_DIAGRAMS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the SOURCE_BROWSER tag is set to YES then a list of source files will\n"; - t << "# be generated. Documented entities will be cross-referenced with these sources.\n"; - t << "\n"; - } - t << "SOURCE_BROWSER = NO\n"; - if (!sl) - { - t << "\n"; - t << "# Setting the INLINE_SOURCES tag to YES will include the body\n"; - t << "# of functions and classes directly in the documentation.\n"; - t << "\n"; - } - t << "INLINE_SOURCES = NO\n"; - if (!sl) - { - t << "\n"; - t << "# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct\n"; - t << "# doxygen to hide any special comment blocks from generated source code\n"; - t << "# fragments. Normal C and C++ comments will always remain visible.\n"; - t << "\n"; - } - t << "STRIP_CODE_COMMENTS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen\n"; - t << "# will only generate file names in lower case letters. If set to\n"; - t << "# YES upper case letters are also allowed. This is useful if you have\n"; - t << "# classes or files whose names only differ in case and if your file system\n"; - t << "# supports case sensitive file names.\n"; - t << "\n"; - } - t << "CASE_SENSE_NAMES = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen\n"; - t << "# will generate a verbatim copy of the header file for each class for\n"; - t << "# which an include is specified. Set to NO to disable this.\n"; - t << "\n"; - } - t << "VERBATIM_HEADERS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen\n"; - t << "# will put list of the files that are included by a file in the documentation\n"; - t << "# of that file.\n"; - t << "\n"; - } - t << "SHOW_INCLUDE_FILES = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen\n"; - t << "# will interpret the first line (until the first dot) of a JavaDoc-style\n"; - t << "# comment as the brief description. If set to NO, the Javadoc-style will\n"; - t << "# behave just like the Qt-style comments.\n"; - t << "\n"; - } - t << "JAVADOC_AUTOBRIEF = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented\n"; - t << "# member inherits the documentation from any documented member that it\n"; - t << "# reimplements.\n"; - t << "\n"; - } - t << "INHERIT_DOCS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]\n"; - t << "# is inserted in the documentation for inline members.\n"; - t << "\n"; - } - t << "INLINE_INFO = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen\n"; - t << "# will sort the (detailed) documentation of file and class members \n"; - t << "# alphabetically by member name. If set to NO the members will appear in\n"; - t << "# declaration order.\n"; - t << "\n"; - } - t << "SORT_MEMBER_DOCS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab.\n"; - t << "# Doxygen uses this value to replace tabs by spaces in code fragments.\n"; - t << "\n"; - } - t << "TAB_SIZE = 8\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the input files\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# The INPUT tag can be used to specify the files and/or directories that contain \n"; - t << "# documented source files. You may enter file names like \"myfile.cpp\" or \n"; - t << "# directories like \"/usr/src/myproject\". Separate the files or directories \n"; - t << "# with spaces.\n"; - t << "\n"; - } - t << "INPUT =\n"; - if (!sl) - { - t << "\n"; - t << "# If the value of the INPUT tag contains directories, you can use the \n"; - t << "# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n"; - t << "# and *.h) to filter out the source-files in the directories. If left \n"; - t << "# blank all files are included.\n"; - t << "\n"; - } - t << "FILE_PATTERNS =\n"; - if (!sl) - { - t << "\n"; - t << "# The RECURSIVE tag can be used to turn specify whether or not subdirectories\n"; - t << "# should be searched for input files as well. Possible values are YES and NO.\n"; - t << "# If left blank NO is used.\n"; - t << "\n"; - } - t << "RECURSIVE = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The EXCLUDE tag can be used to specify files and/or directories that should\n"; - t << "# excluded from the INPUT source files. This way you can easily exclude a \n"; - t << "# subdirectory from a directory tree whose root is specified with the INPUT tag.\n"; - t << "\n"; - } - t << "EXCLUDE =\n"; - if (!sl) - { - t << "\n"; - t << "# If the value of the INPUT tag contains directories, you can use the\n"; - t << "# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude\n"; - t << "# certain files from those directories.\n"; - t << "\n"; - } - t << "EXCLUDE_PATTERNS =\n"; - if (!sl) - { - t << "\n"; - t << "# The EXAMPLE_PATH tag can be used to specify one or more files or \n"; - t << "# directories that contain example code fragments that are included (see \n"; - t << "# the \\include command).\n"; - t << "\n"; - } - t << "EXAMPLE_PATH =\n"; - if (!sl) - { - t << "\n"; - t << "# If the value of the EXAMPLE_PATH tag contains directories, you can use the\n"; - t << "# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n"; - t << "# and *.h) to filter out the source-files in the directories. If left \n"; - t << "# blank all files are included.\n"; - t << "\n"; - } - t << "EXAMPLE_PATTERNS =\n"; - - if (!sl) - { - t << "\n"; - t << "# The IMAGE_PATH tag can be used to specify one or more files or \n"; - t << "# directories that contain image that are included in the documentation (see \n"; - t << "# the \\image command).\n"; - t << "\n"; - } - t << "IMAGE_PATH =\n"; - if (!sl) - { - t << "\n"; - t << "# The INPUT_FILTER tag can be used to specify a program that doxygen should\n"; - t << "# invoke to filter for each input file. Doxygen will invoke the filter program \n"; - t << "# by executing (via popen()) the command <filter> <input-file>, where <filter>\n"; - t << "# is the value of the INPUT_FILTER tag, and <input-file> is the name of an\n"; - t << "# input file. Doxygen will then use the output that the filter program writes\n"; - t << "# to standard output.\n"; - t << "\n"; - } - t << "INPUT_FILTER =\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the HTML output\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the GENERATE_HTML tag is set to YES (the default) Doxygen will\n"; - t << "# generate HTML output\n"; - t << "\n"; - } - t << "GENERATE_HTML = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.\n"; - t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"; - t << "# put in front of it. If left blank `html' will be used as the default path.\n"; - t << "\n"; - } - t << "HTML_OUTPUT =\n"; - if (!sl) - { - t << "\n"; - t << "# The HTML_HEADER tag can be used to specify a personal HTML header for \n"; - t << "# each generated HTML page. If it is left blank doxygen will generate a \n"; - t << "# standard header.\n"; - t << "\n"; - } - t << "HTML_HEADER =\n"; - if (!sl) - { - t << "\n"; - t << "# The HTML_FOOTER tag can be used to specify a personal HTML footer for \n"; - t << "# each generated HTML page. If it is left blank doxygen will generate a \n"; - t << "# standard footer.\n"; - t << "\n"; - } - t << "HTML_FOOTER =\n"; - if (!sl) - { - t << "\n"; - t << "# The HTML_STYLESHEET tag can be used to specify a user defined cascading\n"; - t << "# style sheet that is used by each HTML page. It can be used to \n"; - t << "# fine-tune the look of the HTML output. If the tag is left blank doxygen\n"; - t << "# will generate a default style sheet\n"; - t << "\n"; - } - t << "HTML_STYLESHEET =\n"; - if (!sl) - { - t << "\n"; - t << "# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,\n"; - t << "# files or namespaces will be aligned in HTML using tables. If set to\n"; - t << "# NO a bullet list will be used.\n"; - t << "\n"; - } - t << "HTML_ALIGN_MEMBERS = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the GENERATE_HTMLHELP tag is set to YES, additional index files\n"; - t << "# will be generated that can be used as input for tools like the\n"; - t << "# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)\n"; - t << "# of the generated HTML documentation.\n"; - t << "\n"; - } - t << "GENERATE_HTMLHELP = NO\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the alphabetical class index\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\n"; - t << "# of all compounds will be generated. Enable this if the project\n"; - t << "# contains a lot of classes, structs, unions or interfaces.\n"; - t << "\n"; - } - t << "ALPHABETICAL_INDEX = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then\n"; - t << "# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns\n"; - t << "# in which this list will be split (can be a number in the range [1..20])\n"; - t << "\n"; - } - t << "COLS_IN_ALPHA_INDEX = 5\n"; - if (!sl) - { - t << "\n"; - t << "# In case all classes in a project start with a common prefix, all\n"; - t << "# classes will be put under the same header in the alphabetical index.\n"; - t << "# The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n"; - t << "# should be ignored while generating the index headers.\n"; - t << "\n"; - } - t << "IGNORE_PREFIX = \n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the LaTeX output\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\n"; - t << "# generate Latex output.\n"; - t << "\n"; - } - t << "GENERATE_LATEX = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.\n"; - t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"; - t << "# put in front of it. If left blank `latex' will be used as the default path.\n"; - t << "\n"; - } - t << "LATEX_OUTPUT =\n"; - if (!sl) - { - t << "\n"; - t << "# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact\n"; - t << "# LaTeX documents. This may be useful for small projects and may help to\n"; - t << "# save some trees in general.\n"; - t << "\n"; - } - t << "COMPACT_LATEX = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The PAPER_TYPE tag can be used to set the paper type that is used\n"; - t << "# by the printer. Possible values are: a4, a4wide, letter, legal and \n"; - t << "# executive. If left blank a4wide will be used.\n"; - t << "\n"; - } - t << "PAPER_TYPE = a4wide\n"; - if (!sl) - { - t << "\n"; - t << "# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX\n"; - t << "# packages that should be included in the LaTeX output.\n"; - t << "\n"; - } - t << "EXTRA_PACKAGES =\n"; - if (!sl) - { - t << "\n"; - t << "# The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n"; - t << "# the generated latex document. The header should contain everything until\n"; - t << "# the first chapter. If it is left blank doxygen will generate a \n"; - t << "# standard header. Notice: only use this tag if you know what you are doing!\n"; - t << "\n"; - } - t << "LATEX_HEADER =\n"; - if (!sl) - { - t << "\n"; - t << "# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated\n"; - t << "# is prepared for conversion to pdf (using ps2pdf). The pdf file will\n"; - t << "# contain links (just like the HTML output) instead of page references\n"; - t << "# This makes the output suitable for online browsing using a pdf viewer.\n"; - t << "\n"; - } - t << "PDF_HYPERLINKS = NO\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the RTF output\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\n"; - t << "# For now this is experimental and is disabled by default. The RTF output\n"; - t << "# is optimised for Word 97 and may not look too pretty with other readers\n"; - t << "# or editors.\n"; - t << "\n"; - } - t << "GENERATE_RTF = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.\n"; - t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"; - t << "# put in front of it. If left blank `rtf' will be used as the default path.\n"; - t << "\n"; - } - t << "RTF_OUTPUT =\n"; - if (!sl) - { - t << "\n"; - t << "# If the COMPACT_RTF tag is set to YES Doxygen generates more compact\n"; - t << "# RTF documents. This may be useful for small projects and may help to\n"; - t << "# save some trees in general.\n"; - t << "\n"; - } - t << "COMPACT_RTF = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated\n"; - t << "# will contain hyperlink fields. The RTF file will\n"; - t << "# contain links (just like the HTML output) instead of page references.\n"; - t << "# This makes the output suitable for online browsing using a WORD or other.\n"; - t << "# programs which support those fields.\n"; - t << "# Note: wordpad (write) and others do not support links.\n"; - t << "\n"; - } - t << "RTF_HYPERLINKS = NO\n"; - - t << "#---------------------------------------------------------------------------\n"; - t << "# configuration options related to the man page output\n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the GENERATE_MAN tag is set to YES (the default) Doxygen will\n"; - t << "# generate man pages\n"; - t << "\n"; - } - t << "GENERATE_MAN = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The MAN_OUTPUT tag is used to specify where the man pages will be put.\n"; - t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"; - t << "# put in front of it. If left blank `man' will be used as the default path.\n"; - t << "\n"; - } - t << "MAN_OUTPUT =\n"; - if (!sl) - { - t << "\n"; - t << "# The MAN_EXTENSION tag determines the extension that is added to\n"; - t << "# the generated man pages (default is the subroutine's section .3)\n"; - t << "\n"; - } - t << "MAN_EXTENSION = .3\n"; - - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# Configuration options related to the preprocessor \n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\n"; - t << "# evaluate all C-preprocessor directives found in the sources and include\n"; - t << "# files.\n"; - t << "\n"; - } - t << "ENABLE_PREPROCESSING = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro\n"; - t << "# names in the source code. If set to NO (the default) only conditional \n"; - t << "# compilation will be performed.\n"; - t << "\n"; - } - t << "MACRO_EXPANSION = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files\n"; - t << "# in the INCLUDE_PATH (see below) will be search if a #include is found.\n"; - t << "\n"; - } - t << "SEARCH_INCLUDES = YES\n"; - if (!sl) - { - t << "\n"; - t << "# The INCLUDE_PATH tag can be used to specify one or more directories that\n"; - t << "# contain include files that are not input files but should be processed by\n"; - t << "# the preprocessor.\n" ; - t << "\n"; - } - t << "INCLUDE_PATH =\n"; - if (!sl) - { - t << "\n"; - t << "# The PREDEFINED tag can be used to specify one or more macro names that\n"; - t << "# are defined before the preprocessor is started (similar to the -D option of\n"; - t << "# gcc). The argument of the tag is a list of macros of the form: name\n"; - t << "# or name=definition (no spaces). If the definition and the = are \n"; - t << "# omitted =1 is assumed.\n"; - t << "\n"; - } - t << "PREDEFINED =\n"; - if (!sl) - { - t << "\n"; - t << "# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES\n"; - t << "# then the macro expansion is limited to the macros specified with the\n"; - t << "# PREDEFINED tag.\n"; - t << "\n"; - } - t << "EXPAND_ONLY_PREDEF = NO\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# Configuration options related to external references \n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# The TAGFILES tag can be used to specify one or more tagfiles. \n"; - t << "\n"; - } - t << "TAGFILES =\n"; - if (!sl) - { - t << "\n"; - t << "# When a file name is specified after GENERATE_TAGFILE, doxygen will create\n"; - t << "# a tag file that is based on the input files it reads.\n"; - t << "\n"; - } - t << "GENERATE_TAGFILE =\n"; - if (!sl) - { - t << "\n"; - t << "# If the ALLEXTERNALS tag is set to YES all external classes will be listed\n"; - t << "# in the class index. If set to NO only the inherited external classes\n"; - t << "# will be listed.\n"; - t << "\n"; - } - t << "ALLEXTERNALS = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The PERL_PATH should be the absolute path and name of the perl script\n"; - t << "# interpreter (i.e. the result of `which perl').\n"; - t << "\n"; - } - t << "PERL_PATH = /usr/bin/perl\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# Configuration options related to the dot tool \n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n"; - t << "# available from the path. This tool is part of Graphviz, a graph visualization\n"; - t << "# toolkit from AT&T and Lucent Bell Labs. The other options in this section\n"; - t << "# have no effect if this option is set to NO (the default)\n"; - t << "\n"; - } - t << "HAVE_DOT = NO\n"; - if (!sl) - { - t << "\n"; - t << "# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen\n"; - t << "# will generate a graph for each documented class showing the direct and\n"; - t << "# indirect implementation dependencies (inheritance, containment, and\n"; - t << "# class references variables) of the class with other documented classes.\n"; - t << "\n"; - } - t << "COLLABORATION_GRAPH = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to\n"; - t << "# YES then doxygen will generate a graph for each documented file showing\n"; - t << "# the direct and indirect include dependencies of the file with other \n"; - t << "# documented files.\n"; - t << "\n"; - } - t << "INCLUDE_GRAPH = YES\n"; - if (!sl) - { - t << "\n"; - t << "# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen\n"; - t << "# will graphical hierarchy of all classes instead of a textual one.\n"; - t << "\n"; - } - t << "GRAPHICAL_HIERARCHY = YES\n"; - if (!sl) - { - t << "\n"; - } - t << "#---------------------------------------------------------------------------\n"; - t << "# Configuration options related to the search engine \n"; - t << "#---------------------------------------------------------------------------\n"; - if (!sl) - { - t << "\n"; - t << "# The SEARCHENGINE tag specifies whether or not a search engine should be \n"; - t << "# used. If set to NO the values of all tags below this one will be ignored.\n"; - t << "\n"; - } - t << "SEARCHENGINE = NO\n"; - if (!sl) - { - t << "\n"; - t << "# The CGI_NAME tag should be the name of the CGI script that\n"; - t << "# starts the search engine (doxysearch) with the correct parameters.\n"; - t << "# A script with this name will be generated by doxygen.\n"; - t << "\n"; - } - t << "CGI_NAME = search.cgi\n"; - if (!sl) - { - t << "\n"; - t << "# The CGI_URL tag should be the absolute URL to the directory where the\n"; - t << "# cgi binaries are located. See the documentation of your http daemon for \n"; - t << "# details.\n"; - t << "\n"; - } - t << "CGI_URL =\n"; - if (!sl) - { - t << "\n"; - t << "# The DOC_URL tag should be the absolute URL to the directory where the\n"; - t << "# documentation is located. If left blank the absolute path to the \n"; - t << "# documentation, with file:// prepended to it, will be used.\n"; - t << "\n"; - } - t << "DOC_URL =\n"; - if (!sl) - { - t << "\n"; - t << "# The DOC_ABSPATH tag should be the absolute path to the directory where the\n"; - t << "# documentation is located. If left blank the directory on the local machine\n"; - t << "# will be used.\n"; - t << "\n"; - } - t << "DOC_ABSPATH =\n"; - if (!sl) - { - t << "\n"; - t << "# The BIN_ABSPATH tag must point to the directory where the doxysearch binary\n"; - t << "# is installed.\n"; - t << "\n"; - } - t << "BIN_ABSPATH = /usr/local/bin/\n"; - if (!sl) - { - t << "\n"; - t << "# The EXT_DOC_PATHS tag can be used to specify one or more paths to \n"; - t << "# documentation generated for other projects. This allows doxysearch to search\n"; - t << "# the documentation for these projects as well.\n"; - t << "\n"; - } - t << "EXT_DOC_PATHS =\n"; -} - -void checkConfig() -{ - //if (!projectName.isEmpty()) - //{ - // projectName[0]=toupper(projectName[0]); - //} - - if (tabSizeString.isEmpty()) - { - Config::tabSize=8; - } - else - { - bool ok; - int ts = tabSizeString.toInt(&ok); - if (!ok || ts<1 || ts>16) - { - warn("Warning: argument of TAB_SIZE is not a valid number, using tab size of 8 spaces!\n"); - ts=8; - } - Config::tabSize = ts; - } - - if (colsInAlphaIndexString.isEmpty()) - { - Config::colsInAlphaIndex=5; - } - else - { - bool ok; - int cols = colsInAlphaIndexString.toInt(&ok); - if (!ok || cols<1 || cols>20) - { - warn("Warning: argument of COLS_IN_ALPHA_INDEX is not a valid number in the range [1..20]!\n" - "Using the default of 5 columns!\n"); - cols = 5; - } - Config::colsInAlphaIndex=cols; - } - - // set default man page extension if non is given by the user - if (Config::manExtension.isEmpty()) - { - Config::manExtension=".3"; - } - - Config::paperType = Config::paperType.lower().stripWhiteSpace(); - if (Config::paperType.isEmpty()) - { - Config::paperType = "a4wide"; - } - if (Config::paperType!="a4" && Config::paperType!="a4wide" && Config::paperType!="letter" && - Config::paperType!="legal" && Config::paperType!="executive") - { - err("Error: Unknown page type specified"); - } - - Config::outputLanguage=Config::outputLanguage.stripWhiteSpace(); - if (Config::outputLanguage.isEmpty()) - { - Config::outputLanguage = "English"; -#ifndef DOXYWIZARD - setTranslator("English"); -#endif - } - else - { -#ifndef DOXYWIZARD - if (!setTranslator(Config::outputLanguage)) - { - err("Error: Output language %s not supported! Using English instead.\n", - Config::outputLanguage.data()); - } -#endif - } - - // Test to see if output directory is valid - if (Config::outputDir.isEmpty()) - Config::outputDir=QDir::currentDirPath(); - else - { - QDir dir(Config::outputDir); - if (!dir.exists()) - { - dir.setPath(QDir::currentDirPath()); - if (!dir.mkdir(Config::outputDir)) - { - err("Error: tag OUTPUT_DIRECTORY: Output directory `%s' does not " - "exist and cannot be created\n",Config::outputDir.data()); - exit(1); - } - else if (!Config::quietFlag) - { - err("Notice: Output directory `%s' does not exist. " - "I have created it for you.\n", Config::outputDir.data()); - } - dir.cd(Config::outputDir); - } - Config::outputDir=dir.absPath(); - } - - if (Config::htmlOutputDir.isEmpty() && Config::generateHtml) - { - Config::htmlOutputDir=Config::outputDir+"/html"; - } - else if (Config::htmlOutputDir && Config::htmlOutputDir[0]!='/') - { - Config::htmlOutputDir.prepend(Config::outputDir+'/'); - } - QDir htmlDir(Config::htmlOutputDir); - if (Config::generateHtml && !htmlDir.exists() && - !htmlDir.mkdir(Config::htmlOutputDir)) - { - err("Could not create output directory %s\n",Config::htmlOutputDir.data()); - exit(1); - } - - if (Config::latexOutputDir.isEmpty() && Config::generateLatex) - { - Config::latexOutputDir=Config::outputDir+"/latex"; - } - else if (Config::latexOutputDir && Config::latexOutputDir[0]!='/') - { - Config::latexOutputDir.prepend(Config::outputDir+'/'); - } - QDir latexDir(Config::latexOutputDir); - if (Config::generateLatex && !latexDir.exists() && - !latexDir.mkdir(Config::latexOutputDir)) - { - err("Could not create output directory %s\n",Config::latexOutputDir.data()); - exit(1); - } - - if (Config::rtfOutputDir.isEmpty() && Config::generateRTF) - { - Config::rtfOutputDir=Config::outputDir+"/rtf"; - } - else if (Config::rtfOutputDir && Config::rtfOutputDir[0]!='/') - { - Config::rtfOutputDir.prepend(Config::outputDir+'/'); - } - QDir rtfDir(Config::rtfOutputDir); - if (Config::generateRTF && !rtfDir.exists() && - !rtfDir.mkdir(Config::rtfOutputDir)) - { - err("Could not create output directory %s\n",Config::rtfOutputDir.data()); - exit(1); - } - - if (Config::manOutputDir.isEmpty() && Config::generateMan) - { - Config::manOutputDir=Config::outputDir+"/man"; - } - else if (Config::manOutputDir && Config::manOutputDir[0]!='/') - { - Config::manOutputDir.prepend(Config::outputDir+'/'); - } - QDir manDir(Config::manOutputDir); - if (Config::generateMan && !manDir.exists() && - !manDir.mkdir(Config::manOutputDir)) - { - err("Could not create output directory %s\n",Config::manOutputDir.data()); - exit(1); - } - - // Test to see if HTML header is valid - if (!Config::headerFile.isEmpty()) - { - QFileInfo fi(Config::headerFile); - if (!fi.exists()) - { - err("Error: tag HTML_HEADER: header file `%s' " - "does not exist\n",Config::headerFile.data()); - exit(1); - } - } - // Test to see if HTML footer is valid - if (!Config::footerFile.isEmpty()) - { - QFileInfo fi(Config::footerFile); - if (!fi.exists()) - { - err("Error: tag HTML_FOOTER: footer file `%s' " - "does not exist\n",Config::footerFile.data()); - exit(1); - } - } - // Test to see if LaTeX header is valid - if (!Config::latexHeaderFile.isEmpty()) - { - QFileInfo fi(Config::latexHeaderFile); - if (!fi.exists()) - { - err("Error: tag LATEX_HEADER: header file `%s' " - "does not exist\n",Config::latexHeaderFile.data()); - exit(1); - } - } - // check include path - char *s=Config::includePath.first(); - while (s) - { - QFileInfo fi(s); - if (!fi.exists()) err("Warning: tag INCLUDE_PATH: include path `%s' " - "does not exist\n",s); -#ifndef DOXYWIZARD - addSearchDir(fi.absFilePath()); -#endif - s=Config::includePath.next(); - } - // check input - if (Config::inputSources.count()==0) - { - err("Error: tag INPUT: no input files specified after the INPUT tag.\n"); - exit(1); - } - else - { - s=Config::inputSources.first(); - while (s) - { - QFileInfo fi(s); - if (!fi.exists()) - { - err("Error: tag INPUT: input source `%s' does not exist\n",s); - exit(1); - } - s=Config::inputSources.next(); - } - } - - // add default pattern if needed - if (Config::filePatternList.count()==0) - { - Config::filePatternList.append("*"); - } - - // add default pattern if needed - if (Config::examplePatternList.count()==0) - { - Config::examplePatternList.append("*"); - } - - // add default pattern if needed - if (Config::imagePatternList.count()==0) - { - Config::imagePatternList.append("*"); - } - - // more checks needed if and only if the search engine is enabled. - if (Config::searchEngineFlag) - { - // check cgi name - if (Config::cgiName.isEmpty()) - { - err("Error: tag CGI_NAME: no cgi script name after the CGI_NAME tag.\n"); - exit(1); - } - // check cgi URL - if (Config::cgiURL.isEmpty()) - { - err("Error: tag CGI_URL: no URL to cgi directory specified.\n"); - exit(1); - } - else if (Config::cgiURL.left(7)!="http://") - { - err("Error: tag CGI_URL: URL to cgi directory is invalid (must " - "start with http://).\n"); - exit(1); - } - // check documentation URL - if (Config::docURL.isEmpty()) - { - Config::docURL = Config::outputDir.copy().prepend("file://").append("html"); - } - else if (Config::docURL.left(7)!="http://" && Config::docURL.left(7)!="file://") - { - err("Error: tag DOC_URL: URL to documentation is invalid or " - "not absolute.\n"); - exit(1); - } - // check absolute documentation path - if (Config::docAbsPath.isEmpty()) - { - Config::docAbsPath = Config::outputDir+"/html"; - } - else if (Config::docAbsPath[0]!='/' && Config::docAbsPath[1]!=':') - { - err("Error: tag DOC_ABSPATH: path is not absolute!\n"); - exit(1); - } - // check path to doxysearch - if (Config::binAbsPath.isEmpty()) - { - err("Error: tag BIN_ABSPATH: no absolute path to doxysearch " - "specified.\n"); - exit(1); - } - else if (Config::binAbsPath[0]!='/' && Config::binAbsPath[1]!=':') - { - err("Error: tag BIN_ABSPATH: path is not absolute!\n"); - exit(1); - } - - // check perl path - bool found=FALSE; - if (Config::perlPath.isEmpty()) - { - QFileInfo fi; - fi.setFile("/usr/bin/perl"); - if (fi.exists()) - { - Config::perlPath="/usr/bin/perl"; - found=TRUE; - } - else - { - fi.setFile("/usr/local/bin/perl"); - if (fi.exists()) - { - Config::perlPath="/usr/local/bin/perl"; - found=TRUE; - } - } - } - if (!found) - { - QFileInfo fi(Config::perlPath); - if (!fi.exists()) - { - warn("Warning: tag PERL_PATH: perl interpreter not found at default or" - "user specified (%s) location\n", - Config::perlPath.data()); - } - } - } - -#if defined(_WIN32) - if (Config::haveDotFlag) _putenv("DOTFONTPATH=."); -#endif - -} - -void parseConfig(const QCString &s) -{ - inputString = s; - inputPosition = 0; - yyLineNr = 1; - configYYrestart( configYYin ); - BEGIN( Start ); - configYYlex(); -} - -//extern "C" { // some bogus code to keep the compiler happy -// int configYYwrap() { return 1 ; } -//} |