[BACK]Return to options.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / lex

Annotation of src/usr.bin/lex/options.c, Revision 1.1

1.1     ! tedu        1: /* $OpenBSD$ */
        !             2:
        !             3: /* flex - tool to generate fast lexical analyzers */
        !             4:
        !             5: /*  Copyright (c) 1990 The Regents of the University of California. */
        !             6: /*  All rights reserved. */
        !             7:
        !             8: /*  This code is derived from software contributed to Berkeley by */
        !             9: /*  Vern Paxson. */
        !            10:
        !            11: /*  The United States Government has rights in this work pursuant */
        !            12: /*  to contract no. DE-AC03-76SF00098 between the United States */
        !            13: /*  Department of Energy and the University of California. */
        !            14:
        !            15: /*  This file is part of flex. */
        !            16:
        !            17: /*  Redistribution and use in source and binary forms, with or without */
        !            18: /*  modification, are permitted provided that the following conditions */
        !            19: /*  are met: */
        !            20:
        !            21: /*  1. Redistributions of source code must retain the above copyright */
        !            22: /*     notice, this list of conditions and the following disclaimer. */
        !            23: /*  2. Redistributions in binary form must reproduce the above copyright */
        !            24: /*     notice, this list of conditions and the following disclaimer in the */
        !            25: /*     documentation and/or other materials provided with the distribution. */
        !            26:
        !            27: /*  Neither the name of the University nor the names of its contributors */
        !            28: /*  may be used to endorse or promote products derived from this software */
        !            29: /*  without specific prior written permission. */
        !            30:
        !            31: /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
        !            32: /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
        !            33: /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
        !            34: /*  PURPOSE. */
        !            35: 
        !            36: #include "options.h"
        !            37:
        !            38: /* Be sure to synchronize these options with those defined in "options.h",
        !            39:  * the giant switch() statement in "main.c", and the %option processing in
        !            40:  * "scan.l".
        !            41:  */
        !            42:
        !            43:
        !            44: /* The command-line options, passed to scanopt_init() */
        !            45: optspec_t flexopts[] = {
        !            46:
        !            47:        {"-7", OPT_7BIT, 0}
        !            48:        ,
        !            49:        {"--7bit", OPT_7BIT, 0}
        !            50:        ,                       /* Generate 7-bit scanner. */
        !            51:        {"-8", OPT_8BIT, 0}
        !            52:        ,
        !            53:        {"--8bit", OPT_8BIT, 0}
        !            54:        ,                       /* Generate 8-bit scanner. */
        !            55:        {"--align", OPT_ALIGN, 0}
        !            56:        ,                       /* Trade off larger tables for better memory alignment. */
        !            57:        {"--noalign", OPT_NO_ALIGN, 0}
        !            58:        ,
        !            59:        {"--always-interactive", OPT_ALWAYS_INTERACTIVE, 0}
        !            60:        ,
        !            61:        {"--array", OPT_ARRAY, 0}
        !            62:        ,
        !            63:        {"-b", OPT_BACKUP, 0}
        !            64:        ,
        !            65:        {"--backup", OPT_BACKUP, 0}
        !            66:        ,                       /* Generate backing-up information to lex.backup. */
        !            67:        {"-B", OPT_BATCH, 0}
        !            68:        ,
        !            69:        {"--batch", OPT_BATCH, 0}
        !            70:        ,                       /* Generate batch scanner (opposite of -I). */
        !            71:        {"--bison-bridge", OPT_BISON_BRIDGE, 0}
        !            72:        ,                       /* Scanner to be called by a bison pure parser. */
        !            73:        {"--bison-locations", OPT_BISON_BRIDGE_LOCATIONS, 0}
        !            74:        ,                       /* Scanner to be called by a bison pure parser. */
        !            75:        {"-i", OPT_CASE_INSENSITIVE, 0}
        !            76:        ,
        !            77:        {"--case-insensitive", OPT_CASE_INSENSITIVE, 0}
        !            78:        ,                       /* Generate case-insensitive scanner. */
        !            79:
        !            80:                {"-C[aefFmr]", OPT_COMPRESSION,
        !            81:         "Specify degree of table compression (default is -Cem)"},
        !            82:        {"-+", OPT_CPLUSPLUS, 0}
        !            83:        ,
        !            84:        {"--c++", OPT_CPLUSPLUS, 0}
        !            85:        ,                       /* Generate C++ scanner class. */
        !            86:        {"-d", OPT_DEBUG, 0}
        !            87:        ,
        !            88:        {"--debug", OPT_DEBUG, 0}
        !            89:        ,                       /* Turn on debug mode in generated scanner. */
        !            90:        {"--nodebug", OPT_NO_DEBUG, 0}
        !            91:        ,
        !            92:        {"-s", OPT_NO_DEFAULT, 0}
        !            93:        ,
        !            94:        {"--nodefault", OPT_NO_DEFAULT, 0}
        !            95:        ,                       /* Suppress default rule to ECHO unmatched text. */
        !            96:        {"--default", OPT_DEFAULT, 0}
        !            97:        ,
        !            98:        {"-c", OPT_DONOTHING, 0}
        !            99:        ,                       /* For POSIX lex compatibility. */
        !           100:        {"-n", OPT_DONOTHING, 0}
        !           101:        ,                       /* For POSIX lex compatibility. */
        !           102:        {"--ecs", OPT_ECS, 0}
        !           103:        ,                       /* Construct equivalence classes. */
        !           104:        {"--noecs", OPT_NO_ECS, 0}
        !           105:        ,
        !           106:        {"-F", OPT_FAST, 0}
        !           107:        ,
        !           108:        {"--fast", OPT_FAST, 0}
        !           109:        ,                       /* Same as -CFr. */
        !           110:        {"-f", OPT_FULL, 0}
        !           111:        ,
        !           112:        {"--full", OPT_FULL, 0}
        !           113:        ,                       /* Same as -Cfr. */
        !           114:        {"--header-file[=FILE]", OPT_HEADER_FILE, 0}
        !           115:        ,
        !           116:        {"-?", OPT_HELP, 0}
        !           117:        ,
        !           118:        {"-h", OPT_HELP, 0}
        !           119:        ,
        !           120:        {"--help", OPT_HELP, 0}
        !           121:        ,                       /* Produce this help message. */
        !           122:        {"-I", OPT_INTERACTIVE, 0}
        !           123:        ,
        !           124:        {"--interactive", OPT_INTERACTIVE, 0}
        !           125:        ,                       /* Generate interactive scanner (opposite of -B). */
        !           126:        {"-l", OPT_LEX_COMPAT, 0}
        !           127:        ,
        !           128:        {"--lex-compat", OPT_LEX_COMPAT, 0}
        !           129:        ,                       /* Maximal compatibility with original lex. */
        !           130:        {"-X", OPT_POSIX_COMPAT, 0}
        !           131:        ,
        !           132:        {"--posix-compat", OPT_POSIX_COMPAT, 0}
        !           133:        ,                       /* Maximal compatibility with POSIX lex. */
        !           134:         {"--preproc=NUM", OPT_PREPROC_LEVEL, 0}
        !           135:         ,
        !           136:        {"-L", OPT_NO_LINE, 0}
        !           137:        ,                       /* Suppress #line directives in scanner. */
        !           138:        {"--noline", OPT_NO_LINE, 0}
        !           139:        ,                       /* Suppress #line directives in scanner. */
        !           140:        {"--main", OPT_MAIN, 0}
        !           141:        ,                       /* use built-in main() function. */
        !           142:        {"--nomain", OPT_NO_MAIN, 0}
        !           143:        ,
        !           144:        {"--meta-ecs", OPT_META_ECS, 0}
        !           145:        ,                       /* Construct meta-equivalence classes. */
        !           146:        {"--nometa-ecs", OPT_NO_META_ECS, 0}
        !           147:        ,
        !           148:        {"--never-interactive", OPT_NEVER_INTERACTIVE, 0}
        !           149:        ,
        !           150:        {"-o FILE", OPT_OUTFILE, 0}
        !           151:        ,
        !           152:        {"--outfile=FILE", OPT_OUTFILE, 0}
        !           153:        ,                       /* Write to FILE (default is lex.yy.c) */
        !           154:        {"-p", OPT_PERF_REPORT, 0}
        !           155:        ,
        !           156:        {"--perf-report", OPT_PERF_REPORT, 0}
        !           157:        ,                       /* Generate performance report to stderr. */
        !           158:        {"--pointer", OPT_POINTER, 0}
        !           159:        ,
        !           160:        {"-P PREFIX", OPT_PREFIX, 0}
        !           161:        ,
        !           162:        {"--prefix=PREFIX", OPT_PREFIX, 0}
        !           163:        ,                       /* Use PREFIX (default is yy) */
        !           164:        {"-Dmacro", OPT_PREPROCDEFINE, 0}
        !           165:        ,                       /* Define a preprocessor symbol. */
        !           166:        {"--read", OPT_READ, 0}
        !           167:        ,                       /* Use read(2) instead of stdio. */
        !           168:        {"-R", OPT_REENTRANT, 0}
        !           169:        ,
        !           170:        {"--reentrant", OPT_REENTRANT, 0}
        !           171:        ,                       /* Generate a reentrant C scanner. */
        !           172:        {"--noreentrant", OPT_NO_REENTRANT, 0}
        !           173:        ,
        !           174:        {"--reject", OPT_REJECT, 0}
        !           175:        ,
        !           176:        {"--noreject", OPT_NO_REJECT, 0}
        !           177:        ,
        !           178:        {"-S FILE", OPT_SKEL, 0}
        !           179:        ,
        !           180:        {"--skel=FILE", OPT_SKEL, 0}
        !           181:        ,                       /* Use skeleton from FILE */
        !           182:        {"--stack", OPT_STACK, 0}
        !           183:        ,
        !           184:        {"--stdinit", OPT_STDINIT, 0}
        !           185:        ,
        !           186:        {"--nostdinit", OPT_NO_STDINIT, 0}
        !           187:        ,
        !           188:        {"-t", OPT_STDOUT, 0}
        !           189:        ,
        !           190:        {"--stdout", OPT_STDOUT, 0}
        !           191:        ,                       /* Write generated scanner to stdout. */
        !           192:        {"-T", OPT_TRACE, 0}
        !           193:        ,
        !           194:        {"--trace", OPT_TRACE, 0}
        !           195:        ,                       /* Flex should run in trace mode. */
        !           196:        {"--tables-file[=FILE]", OPT_TABLES_FILE, 0}
        !           197:        ,                       /* Save tables to FILE */
        !           198:         {"--tables-verify", OPT_TABLES_VERIFY, 0}
        !           199:         ,                       /* Tables integrity check */
        !           200:        {"--nounistd", OPT_NO_UNISTD_H, 0}
        !           201:        ,                       /* Do not include unistd.h */
        !           202:        {"-v", OPT_VERBOSE, 0}
        !           203:        ,
        !           204:        {"--verbose", OPT_VERBOSE, 0}
        !           205:        ,                       /* Write summary of scanner statistics to stdout. */
        !           206:        {"-V", OPT_VERSION, 0}
        !           207:        ,
        !           208:        {"--version", OPT_VERSION, 0}
        !           209:        ,                       /* Report flex version. */
        !           210:        {"--warn", OPT_WARN, 0}
        !           211:        ,
        !           212:        {"-w", OPT_NO_WARN, 0}
        !           213:        ,
        !           214:        {"--nowarn", OPT_NO_WARN, 0}
        !           215:        ,                       /* Suppress warning messages. */
        !           216:        {"--noansi-definitions", OPT_NO_ANSI_FUNC_DEFS, 0}
        !           217:        ,
        !           218:        {"--noansi-prototypes", OPT_NO_ANSI_FUNC_PROTOS, 0}
        !           219:        ,
        !           220:        {"--yyclass=NAME", OPT_YYCLASS, 0}
        !           221:        ,
        !           222:        {"--yylineno", OPT_YYLINENO, 0}
        !           223:        ,
        !           224:        {"--noyylineno", OPT_NO_YYLINENO, 0}
        !           225:        ,
        !           226:
        !           227:        {"--yymore", OPT_YYMORE, 0}
        !           228:        ,
        !           229:        {"--noyymore", OPT_NO_YYMORE, 0}
        !           230:        ,
        !           231:        {"--noyywrap", OPT_NO_YYWRAP, 0}
        !           232:        ,
        !           233:        {"--yywrap", OPT_YYWRAP, 0}
        !           234:        ,
        !           235:
        !           236:        {"--nounput", OPT_NO_UNPUT, 0}
        !           237:        ,
        !           238:        {"--noyy_push_state", OPT_NO_YY_PUSH_STATE, 0}
        !           239:        ,
        !           240:        {"--noyy_pop_state", OPT_NO_YY_POP_STATE, 0}
        !           241:        ,
        !           242:        {"--noyy_top_state", OPT_NO_YY_TOP_STATE, 0}
        !           243:        ,
        !           244:        {"--noyy_scan_buffer", OPT_NO_YY_SCAN_BUFFER, 0}
        !           245:        ,
        !           246:        {"--noyy_scan_bytes", OPT_NO_YY_SCAN_BYTES, 0}
        !           247:        ,
        !           248:        {"--noyy_scan_string", OPT_NO_YY_SCAN_STRING, 0}
        !           249:        ,
        !           250:        {"--noyyget_extra", OPT_NO_YYGET_EXTRA, 0}
        !           251:        ,
        !           252:        {"--noyyset_extra", OPT_NO_YYSET_EXTRA, 0}
        !           253:        ,
        !           254:        {"--noyyget_leng", OPT_NO_YYGET_LENG, 0}
        !           255:        ,
        !           256:        {"--noyyget_text", OPT_NO_YYGET_TEXT, 0}
        !           257:        ,
        !           258:        {"--noyyget_lineno", OPT_NO_YYGET_LINENO, 0}
        !           259:        ,
        !           260:        {"--noyyset_lineno", OPT_NO_YYSET_LINENO, 0}
        !           261:        ,
        !           262:        {"--noyyget_in", OPT_NO_YYGET_IN, 0}
        !           263:        ,
        !           264:        {"--noyyset_in", OPT_NO_YYSET_IN, 0}
        !           265:        ,
        !           266:        {"--noyyget_out", OPT_NO_YYGET_OUT, 0}
        !           267:        ,
        !           268:        {"--noyyset_out", OPT_NO_YYSET_OUT, 0}
        !           269:        ,
        !           270:        {"--noyyget_lval", OPT_NO_YYGET_LVAL, 0}
        !           271:        ,
        !           272:        {"--noyyset_lval", OPT_NO_YYSET_LVAL, 0}
        !           273:        ,
        !           274:        {"--noyyget_lloc", OPT_NO_YYGET_LLOC, 0}
        !           275:        ,
        !           276:        {"--noyyset_lloc", OPT_NO_YYSET_LLOC, 0}
        !           277:        ,
        !           278:
        !           279:        {0, 0, 0}               /* required final NULL entry. */
        !           280: };
        !           281:
        !           282: /* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */