summaryrefslogtreecommitdiff
path: root/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'options.c')
-rw-r--r--options.c340
1 files changed, 225 insertions, 115 deletions
diff --git a/options.c b/options.c
index d4d61c1..a6322c1 100644
--- a/options.c
+++ b/options.c
@@ -40,121 +40,231 @@
/* The command-line options, passed to scanopt_init() */
-optspec_t flexopts[] = {
-
-{"-7", OPT_7BIT,0},
-{"--7bit", OPT_7BIT,0},/* Generate 7-bit scanner. */
-{"-8", OPT_8BIT,0},
-{"--8bit", OPT_8BIT,0},/* Generate 8-bit scanner. */
-{"--align", OPT_ALIGN,0},/* Trade off larger tables for better memory alignment. */
-{"--noalign", OPT_NO_ALIGN,0},
-{"--always-interactive", OPT_ALWAYS_INTERACTIVE,0},
-{"--array", OPT_ARRAY,0},
-{"-b", OPT_BACKUP,0},
-{"--backup", OPT_BACKUP,0},/* Generate backing-up information to lex.backup. */
-{"-B", OPT_BATCH,0},
-{"--batch", OPT_BATCH,0},/* Generate batch scanner (opposite of -I). */
-{"-i", OPT_CASE_INSENSITIVE,0},
-{"--case-insensitive", OPT_CASE_INSENSITIVE,0},/* Generate case-insensitive scanner. */
-{"-C[aefFmr]", OPT_COMPRESSION,"Specify degree of table compression (default is -Cem)"},
-{"-+", OPT_CPLUSPLUS,0},
-{"--c++", OPT_CPLUSPLUS,0},/* Generate C++ scanner class. */
-{"-d", OPT_DEBUG,0},
-{"--debug", OPT_DEBUG,0},/* Turn on debug mode in generated scanner. */
-{"--nodebug", OPT_NO_DEBUG,0},
-{"-s", OPT_NO_DEFAULT,0},
-{"--nodefault", OPT_NO_DEFAULT,0},/* Suppress default rule to ECHO unmatched text. */
-{"--default", OPT_DEFAULT,0},
-{"-c", OPT_DONOTHING,0},/* For POSIX lex compatibility. */
-{"-n", OPT_DONOTHING,0},/* For POSIX lex compatibility. */
-{"--ecs", OPT_ECS,0},/* Construct equivalence classes. */
-{"--noecs", OPT_NO_ECS,0},
-{"-F", OPT_FAST,0},
-{"--fast", OPT_FAST,0},/* Same as -CFr. */
-{"-f", OPT_FULL,0},
-{"--full", OPT_FULL,0},/* Same as -Cfr. */
-{"--header[=FILE]", OPT_HEADER,0},
-{"-?", OPT_HELP,0},
-{"-h", OPT_HELP,0},
-{"--help", OPT_HELP,0},/* Produce this help message. */
-{"-I", OPT_INTERACTIVE,0},
-{"--interactive", OPT_INTERACTIVE,0},/* Generate interactive scanner (opposite of -B). */
-{"-l", OPT_LEX_COMPAT,0},
-{"--lex-compat", OPT_LEX_COMPAT,0},/* Maximal compatibility with original lex. */
-{"-X", OPT_POSIX_COMPAT,0},
-{"--posix-compat", OPT_POSIX_COMPAT,0},/* Maximal compatibility with POSIX lex. */
-{"-L", OPT_NO_LINE,0},/* Suppress #line directives in scanner. */
-{"--noline", OPT_NO_LINE,0},/* Suppress #line directives in scanner. */
-{"--main", OPT_MAIN,0}, /* use built-in main() function. */
-{"--nomain", OPT_NO_MAIN,0},
-{"--meta-ecs", OPT_META_ECS,0},/* Construct meta-equivalence classes. */
-{"--nometa-ecs", OPT_NO_META_ECS,0},
-{"--never-interactive", OPT_NEVER_INTERACTIVE,0},
-{"-o FILE", OPT_OUTFILE,0},
-{"--outfile=FILE", OPT_OUTFILE,0},/* Write to FILE (default is lex.yy.c) */
-{"-p", OPT_PERF_REPORT,0},
-{"--perf-report", OPT_PERF_REPORT,0},/* Generate performance report to stderr. */
-{"--pointer", OPT_POINTER,0},
-{"-P PREFIX", OPT_PREFIX,0},
-{"--prefix=PREFIX", OPT_PREFIX,0},/* Use PREFIX (default is yy) */
-{"-Dmacro", OPT_PREPROCDEFINE,0},/* Define a preprocessor symbol. */
-{"--read", OPT_READ,0},/* Use read(2) instead of stdio. */
-{"-R[b]", OPT_REENTRANT,0},
-{"--reentrant", OPT_REENTRANT,0},/* Generate a reentrant C scanner. */
-{"--noreentrant", OPT_NO_REENTRANT,0},
-{"--reentrant-bison", OPT_REENTRANT_BISON,0},/* Reentrant scanner to be called by a bison pure parser. */
-{"--reject", OPT_REJECT,0},
-{"--noreject", OPT_NO_REJECT,0},
-{"-S FILE", OPT_SKEL,0},
-{"--skel=FILE", OPT_SKEL,0},/* Use skeleton from FILE */
-{"--stack", OPT_STACK,0},
-{"--stdinit", OPT_STDINIT,0},
-{"--nostdinit", OPT_NO_STDINIT,0},
-{"-t", OPT_STDOUT,0},
-{"--stdout", OPT_STDOUT,0},/* Write generated scanner to stdout. */
-{"-T", OPT_TRACE,0},
-{"--trace", OPT_TRACE,0},/* Flex should run in trace mode. */
-{"--tables[=FILE]", OPT_TABLES,0},/* Save tables to FILE */
-{"--nounistd", OPT_NO_UNISTD_H,0}, /* Do not include unistd.h */
-{"-v", OPT_VERBOSE,0},
-{"--verbose", OPT_VERBOSE,0},/* Write summary of scanner statistics to stdout. */
-{"-V", OPT_VERSION,0},
-{"--version", OPT_VERSION,0},/* Report flex version. */
-{"--warn", OPT_WARN,0},
-{"-w", OPT_NO_WARN,0},
-{"--nowarn", OPT_NO_WARN,0},/* Suppress warning messages. */
-{"--yyclass=NAME", OPT_YYCLASS,0},
-{"--yylineno", OPT_YYLINENO,0},
-{"--noyylineno", OPT_NO_YYLINENO,0},
-
-{"--yymore", OPT_YYMORE,0},
-{"--noyymore", OPT_NO_YYMORE,0},
-{"--noyywrap", OPT_NO_YYWRAP,0},
-{"--yywrap" , OPT_YYWRAP,0},
-
-{"--nounput", OPT_NO_UNPUT,0},
-{"--noyy_push_state", OPT_NO_YY_PUSH_STATE,0},
-{"--noyy_pop_state", OPT_NO_YY_POP_STATE,0},
-{"--noyy_top_state", OPT_NO_YY_TOP_STATE,0},
-{"--noyy_scan_buffer", OPT_NO_YY_SCAN_BUFFER,0},
-{"--noyy_scan_bytes", OPT_NO_YY_SCAN_BYTES,0},
-{"--noyy_scan_string", OPT_NO_YY_SCAN_STRING,0},
-{"--noyyget_extra", OPT_NO_YYGET_EXTRA,0},
-{"--noyyset_extra", OPT_NO_YYSET_EXTRA,0},
-{"--noyyget_leng", OPT_NO_YYGET_LENG,0},
-{"--noyyget_text", OPT_NO_YYGET_TEXT,0},
-{"--noyyget_lineno", OPT_NO_YYGET_LINENO,0},
-{"--noyyset_lineno", OPT_NO_YYSET_LINENO,0},
-{"--noyyget_in", OPT_NO_YYGET_IN,0},
-{"--noyyset_in", OPT_NO_YYSET_IN,0},
-{"--noyyget_out", OPT_NO_YYGET_OUT,0},
-{"--noyyset_out", OPT_NO_YYSET_OUT,0},
-{"--noyyget_lval", OPT_NO_YYGET_LVAL,0},
-{"--noyyset_lval", OPT_NO_YYSET_LVAL,0},
-{"--noyyget_lloc", OPT_NO_YYGET_LLOC,0},
-{"--noyyset_lloc", OPT_NO_YYSET_LLOC,0},
-
-{0,0,0} /* required final NULL entry.*/
+optspec_t flexopts[] = {
+
+ {"-7", OPT_7BIT, 0}
+ ,
+ {"--7bit", OPT_7BIT, 0}
+ , /* Generate 7-bit scanner. */
+ {"-8", OPT_8BIT, 0}
+ ,
+ {"--8bit", OPT_8BIT, 0}
+ , /* Generate 8-bit scanner. */
+ {"--align", OPT_ALIGN, 0}
+ , /* Trade off larger tables for better memory alignment. */
+ {"--noalign", OPT_NO_ALIGN, 0}
+ ,
+ {"--always-interactive", OPT_ALWAYS_INTERACTIVE, 0}
+ ,
+ {"--array", OPT_ARRAY, 0}
+ ,
+ {"-b", OPT_BACKUP, 0}
+ ,
+ {"--backup", OPT_BACKUP, 0}
+ , /* Generate backing-up information to lex.backup. */
+ {"-B", OPT_BATCH, 0}
+ ,
+ {"--batch", OPT_BATCH, 0}
+ , /* Generate batch scanner (opposite of -I). */
+ {"-i", OPT_CASE_INSENSITIVE, 0}
+ ,
+ {"--case-insensitive", OPT_CASE_INSENSITIVE, 0}
+ , /* Generate case-insensitive scanner. */
+
+ {"-C[aefFmr]", OPT_COMPRESSION,
+ "Specify degree of table compression (default is -Cem)"},
+ {"-+", OPT_CPLUSPLUS, 0}
+ ,
+ {"--c++", OPT_CPLUSPLUS, 0}
+ , /* Generate C++ scanner class. */
+ {"-d", OPT_DEBUG, 0}
+ ,
+ {"--debug", OPT_DEBUG, 0}
+ , /* Turn on debug mode in generated scanner. */
+ {"--nodebug", OPT_NO_DEBUG, 0}
+ ,
+ {"-s", OPT_NO_DEFAULT, 0}
+ ,
+ {"--nodefault", OPT_NO_DEFAULT, 0}
+ , /* Suppress default rule to ECHO unmatched text. */
+ {"--default", OPT_DEFAULT, 0}
+ ,
+ {"-c", OPT_DONOTHING, 0}
+ , /* For POSIX lex compatibility. */
+ {"-n", OPT_DONOTHING, 0}
+ , /* For POSIX lex compatibility. */
+ {"--ecs", OPT_ECS, 0}
+ , /* Construct equivalence classes. */
+ {"--noecs", OPT_NO_ECS, 0}
+ ,
+ {"-F", OPT_FAST, 0}
+ ,
+ {"--fast", OPT_FAST, 0}
+ , /* Same as -CFr. */
+ {"-f", OPT_FULL, 0}
+ ,
+ {"--full", OPT_FULL, 0}
+ , /* Same as -Cfr. */
+ {"--header[=FILE]", OPT_HEADER, 0}
+ ,
+ {"-?", OPT_HELP, 0}
+ ,
+ {"-h", OPT_HELP, 0}
+ ,
+ {"--help", OPT_HELP, 0}
+ , /* Produce this help message. */
+ {"-I", OPT_INTERACTIVE, 0}
+ ,
+ {"--interactive", OPT_INTERACTIVE, 0}
+ , /* Generate interactive scanner (opposite of -B). */
+ {"-l", OPT_LEX_COMPAT, 0}
+ ,
+ {"--lex-compat", OPT_LEX_COMPAT, 0}
+ , /* Maximal compatibility with original lex. */
+ {"-X", OPT_POSIX_COMPAT, 0}
+ ,
+ {"--posix-compat", OPT_POSIX_COMPAT, 0}
+ , /* Maximal compatibility with POSIX lex. */
+ {"-L", OPT_NO_LINE, 0}
+ , /* Suppress #line directives in scanner. */
+ {"--noline", OPT_NO_LINE, 0}
+ , /* Suppress #line directives in scanner. */
+ {"--main", OPT_MAIN, 0}
+ , /* use built-in main() function. */
+ {"--nomain", OPT_NO_MAIN, 0}
+ ,
+ {"--meta-ecs", OPT_META_ECS, 0}
+ , /* Construct meta-equivalence classes. */
+ {"--nometa-ecs", OPT_NO_META_ECS, 0}
+ ,
+ {"--never-interactive", OPT_NEVER_INTERACTIVE, 0}
+ ,
+ {"-o FILE", OPT_OUTFILE, 0}
+ ,
+ {"--outfile=FILE", OPT_OUTFILE, 0}
+ , /* Write to FILE (default is lex.yy.c) */
+ {"-p", OPT_PERF_REPORT, 0}
+ ,
+ {"--perf-report", OPT_PERF_REPORT, 0}
+ , /* Generate performance report to stderr. */
+ {"--pointer", OPT_POINTER, 0}
+ ,
+ {"-P PREFIX", OPT_PREFIX, 0}
+ ,
+ {"--prefix=PREFIX", OPT_PREFIX, 0}
+ , /* Use PREFIX (default is yy) */
+ {"-Dmacro", OPT_PREPROCDEFINE, 0}
+ , /* Define a preprocessor symbol. */
+ {"--read", OPT_READ, 0}
+ , /* Use read(2) instead of stdio. */
+ {"-R[b]", OPT_REENTRANT, 0}
+ ,
+ {"--reentrant", OPT_REENTRANT, 0}
+ , /* Generate a reentrant C scanner. */
+ {"--noreentrant", OPT_NO_REENTRANT, 0}
+ ,
+ {"--reentrant-bison", OPT_REENTRANT_BISON, 0}
+ , /* Reentrant scanner to be called by a bison pure parser. */
+ {"--reject", OPT_REJECT, 0}
+ ,
+ {"--noreject", OPT_NO_REJECT, 0}
+ ,
+ {"-S FILE", OPT_SKEL, 0}
+ ,
+ {"--skel=FILE", OPT_SKEL, 0}
+ , /* Use skeleton from FILE */
+ {"--stack", OPT_STACK, 0}
+ ,
+ {"--stdinit", OPT_STDINIT, 0}
+ ,
+ {"--nostdinit", OPT_NO_STDINIT, 0}
+ ,
+ {"-t", OPT_STDOUT, 0}
+ ,
+ {"--stdout", OPT_STDOUT, 0}
+ , /* Write generated scanner to stdout. */
+ {"-T", OPT_TRACE, 0}
+ ,
+ {"--trace", OPT_TRACE, 0}
+ , /* Flex should run in trace mode. */
+ {"--tables[=FILE]", OPT_TABLES, 0}
+ , /* Save tables to FILE */
+ {"--nounistd", OPT_NO_UNISTD_H, 0}
+ , /* Do not include unistd.h */
+ {"-v", OPT_VERBOSE, 0}
+ ,
+ {"--verbose", OPT_VERBOSE, 0}
+ , /* Write summary of scanner statistics to stdout. */
+ {"-V", OPT_VERSION, 0}
+ ,
+ {"--version", OPT_VERSION, 0}
+ , /* Report flex version. */
+ {"--warn", OPT_WARN, 0}
+ ,
+ {"-w", OPT_NO_WARN, 0}
+ ,
+ {"--nowarn", OPT_NO_WARN, 0}
+ , /* Suppress warning messages. */
+ {"--yyclass=NAME", OPT_YYCLASS, 0}
+ ,
+ {"--yylineno", OPT_YYLINENO, 0}
+ ,
+ {"--noyylineno", OPT_NO_YYLINENO, 0}
+ ,
+
+ {"--yymore", OPT_YYMORE, 0}
+ ,
+ {"--noyymore", OPT_NO_YYMORE, 0}
+ ,
+ {"--noyywrap", OPT_NO_YYWRAP, 0}
+ ,
+ {"--yywrap", OPT_YYWRAP, 0}
+ ,
+
+ {"--nounput", OPT_NO_UNPUT, 0}
+ ,
+ {"--noyy_push_state", OPT_NO_YY_PUSH_STATE, 0}
+ ,
+ {"--noyy_pop_state", OPT_NO_YY_POP_STATE, 0}
+ ,
+ {"--noyy_top_state", OPT_NO_YY_TOP_STATE, 0}
+ ,
+ {"--noyy_scan_buffer", OPT_NO_YY_SCAN_BUFFER, 0}
+ ,
+ {"--noyy_scan_bytes", OPT_NO_YY_SCAN_BYTES, 0}
+ ,
+ {"--noyy_scan_string", OPT_NO_YY_SCAN_STRING, 0}
+ ,
+ {"--noyyget_extra", OPT_NO_YYGET_EXTRA, 0}
+ ,
+ {"--noyyset_extra", OPT_NO_YYSET_EXTRA, 0}
+ ,
+ {"--noyyget_leng", OPT_NO_YYGET_LENG, 0}
+ ,
+ {"--noyyget_text", OPT_NO_YYGET_TEXT, 0}
+ ,
+ {"--noyyget_lineno", OPT_NO_YYGET_LINENO, 0}
+ ,
+ {"--noyyset_lineno", OPT_NO_YYSET_LINENO, 0}
+ ,
+ {"--noyyget_in", OPT_NO_YYGET_IN, 0}
+ ,
+ {"--noyyset_in", OPT_NO_YYSET_IN, 0}
+ ,
+ {"--noyyget_out", OPT_NO_YYGET_OUT, 0}
+ ,
+ {"--noyyset_out", OPT_NO_YYSET_OUT, 0}
+ ,
+ {"--noyyget_lval", OPT_NO_YYGET_LVAL, 0}
+ ,
+ {"--noyyset_lval", OPT_NO_YYSET_LVAL, 0}
+ ,
+ {"--noyyget_lloc", OPT_NO_YYGET_LLOC, 0}
+ ,
+ {"--noyyset_lloc", OPT_NO_YYSET_LLOC, 0}
+ ,
+
+ {0, 0, 0} /* required final NULL entry. */
};
/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */