📄 doslex.c
字号:
/* A lexical scanner generated by flex *//* scanner skeleton version: * $Header: /pack/cvsroots/wxwidgets/wxWidgets/contrib/src/deprecated/doslex.c,v 1.6 2005/06/09 18:37:44 ABX Exp $ Last change: JS 13 Jul 97 6:17 pm *//* Copyright: (c) Julian Smart *//* Licence: wxWindows Licence */#ifdef __VISUALC__ #pragma warning(push) #pragma warning(disable:4127) /* warning C4127: conditional expression is constant [about while ( 0 | 1 )] */ #pragma warning(disable:4244) /* warning C4244: '=' : conversion from 'A' to 'B', possible loss of data */#endif#define FLEX_SCANNER#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> #ifdef __SALFORDC__ #include <io.h> #include <clib.h> #else #include <osfcn.h> #endif #ifdef __VISAGECPP__ #include <io.h> #endif #ifdef __cplusplus static int yyinput() #else static int input() #endif /* use prototypes in function declarations */ #define YY_USE_PROTOS /* the "const" storage-class-modifier is valid */ #define YY_USE_CONST#else /* ! __cplusplus */ #ifdef __STDC__ #ifdef __GNUC__ #include <stddef.h> #else #include <stdlib.h> #endif /* __GNUC__ */ #define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #ifdef __VISUALC__ #define YY_USE_PROTOS #endif #ifdef __BORLANDC__ #include <io.h> #define YY_USE_PROTOS #define YY_USE_CONST #endif #if defined(__MINGW32__) || defined(__WATCOMC__) #include <io.h> #endif#endif /* ! __cplusplus */#ifdef __TURBOC__ #define YY_USE_CONST#endif#ifndef YY_USE_CONST #define const#endif#ifdef YY_USE_PROTOS #define YY_PROTO(proto) proto#else #define YY_PROTO(proto) () /* we can't get here if it's an ANSI C compiler, or a C++ compiler, * so it's got to be a K&R compiler, and therefore there's no standard * place from which to include these definitions */ /* char *malloc(); int free(); */#endif/* amount of stuff to slurp up with each read */#ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192#endif/* returned upon end-of-file */#define YY_END_TOK 0/* copy whatever the last rule matched to the standard output *//* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) *//* this used to be an fputs(), but since the string might contain NUL's, * we now use fwrite() */#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )/* gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */#define YY_INPUT(buf,result,max_size) \ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \ YY_FATAL_ERROR( "read() in flex scanner failed" );#define YY_NULL 0/* 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. */#define yyterminate() return ( YY_NULL )/* report a fatal error *//* The funky do-while is used to turn this macro definition into * a single C statement (which needs a semi-colon terminator). * This avoids problems with code like: * * if ( something_happens ) * YY_FATAL_ERROR( "oops, the something happened" ); * else * everything_okay(); * * 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 YY_FATAL_ERROR() call. */#if !defined(__VISAGECPP__) #define YY_FATAL_ERROR(msg) \ do \ { \ (void) fputs( msg, stderr ); \ (void) putc( '\n', stderr ); \ exit( 1 ); \ } \ while ( 0 )#else /* suppress expression always false warning */ int os2var = 0; #define YY_FATAL_ERROR(msg) \ do \ { \ (void) fputs( msg, stderr ); \ (void) putc( '\n', stderr ); \ exit( 1 ); \ } \ while ( os2var == 0 )#endif/* default yywrap function - always treat EOF as an EOF */int yywrap(void) { return 1; }/* 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 */* 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" */#if !defined(__VISAGECPP__) #define YY_NEW_FILE \ do \ { \ yy_init_buffer( yy_current_buffer, yyin ); \ yy_load_buffer_state(); \ } \ while ( 0 )#else #define YY_NEW_FILE \ do \ { \ yy_init_buffer( yy_current_buffer, yyin ); \ yy_load_buffer_state(); \ } \ while ( os2var == 0 )#endif/* default declaration of generated scanner - a define so the user can * easily add parameters */#define YY_DECL int yylex YY_PROTO(( void ))#define YY_END_OF_BUFFER_CHAR 0#ifndef YY_BUF_SIZE #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */#endiftypedef struct yy_buffer_state *YY_BUFFER_STATE;#define YY_CHAR unsigned char/* # line 1 "lexer.l" */#define INITIAL 0/* # line 9 "lexer.l" *//* * File: lexer.l * Description: Lexical analyser for PROLOGIO; can be used with * either lex and flex. */#include <string.h>/* +++steve162e: added, otherwise, PROIO_input will be undefined (at least under LINUX) please check, if this is also TRUE under other UNIXes. */#if defined(FLEX_SCANNER) && defined(_LINUX) #define PROIO_input my_input#endif/* ---steve162e */#include "wx/deprecated/expr.h"#ifdef wx_x extern char *malloc();#endif#if defined(VMS) && ( __VMS_VER < 70000000 ) #define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));#endifstatic size_t lex_buffer_length = 0;static const char *lex_buffer = NULL;static size_t lex_string_ptr = 0;static int lex_read_from_string = 0;static int my_input(void);#ifndef FLEX_SCANNER static int my_unput(char);#endif#ifdef FLEX_SCANNER #undef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if (lex_read_from_string) \ { \ int c = my_input(); \ result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); \ } \ else \ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \ YY_FATAL_ERROR( "read() in flex scanner failed" );#else #ifndef unput #undef unput #endif #define unput(_c) my_unput(_c)#endif/* # line 58 "lexer.l" *//* done after the current pattern has been matched and before the * corresponding action - sets up yytext */#define YY_DO_BEFORE_ACTION \ yytext = yy_bp; \ yyleng = yy_cp - yy_bp; \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp;#define EOB_ACT_CONTINUE_SCAN 0#define EOB_ACT_END_OF_FILE 1#define EOB_ACT_LAST_MATCH 2/* return all but the first 'n' matched characters back to the input stream */#if !defined(__VISAGECPP__) #define yyless(n) \ do \ { \ /* undo effects of setting up yytext */ \ *yy_cp = yy_hold_char; \ yy_c_buf_p = yy_cp = yy_bp + n; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 )#else #define yyless(n) \ do \ { \ /* undo effects of setting up yytext */ \ *yy_cp = yy_hold_char; \ yy_c_buf_p = yy_cp = yy_bp + n; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( os2var == 0 )#endif#undef unput#define unput(c) yyunput( c, yytext )struct yy_buffer_state{ FILE *yy_input_file; YY_CHAR *yy_ch_buf; /* input buffer */ YY_CHAR *yy_buf_pos; /* current position in input buffer */ /* size of input buffer in bytes, not including room for EOB characters*/ int yy_buf_size; /* number of characters read into yy_ch_buf, not including EOB characters */ int yy_n_chars; int yy_eof_status; /* whether we've seen an EOF on this buffer */#define EOF_NOT_SEEN 0 /* "pending" happens when the EOF has been seen but there's still * some text process */#define EOF_PENDING 1#define EOF_DONE 2};static YY_BUFFER_STATE yy_current_buffer;/* 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 YY_CHAR yy_hold_char;static int yy_n_chars; /* number of characters read into yy_ch_buf */#ifndef YY_USER_ACTION #define YY_USER_ACTION#endif#ifndef YY_USER_INIT #define YY_USER_INIT#endifextern YY_CHAR *yytext;extern int yyleng;extern FILE *yyin, *yyout;YY_CHAR *yytext;int yyleng;FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;#define YY_END_OF_BUFFER 18typedef int yy_state_type;static const short int yy_accept[34] = { 0, 0, 0, 18, 16, 13, 14, 16, 16, 6, 7, 16, 8, 12, 16, 1, 11, 3, 9, 10, 2, 0, 5, 0, 0, 0, 4, 1, 15, 3, 5, 0, 0, 0 } ;static const YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 5, 6, 7, 8, 9, 10, 9, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1, 1, 1, 14, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 17, 18, 1, 15, 1, 15, 15, 15, 15, 19, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 1, 20, 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 const YY_CHAR yy_meta[21] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 2, 1 } ;static const short int yy_base[37] = { 0, 0, 0, 48, 55, 55, 55, 17, 42, 55, 55, 19, 55, 55, 23, 17, 55, 0, 55, 55, 0, 18, 55, 19, 23, 21, 55, 12, 55, 0, 24, 25, 29, 55, 49, 52, 22 } ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -