📄 vylex.yy.c
字号:
#include <stdio.h>#include <stdlib.h># define U(x) x# define NLSTATE yyprevious=YYNEWLINE# define BEGIN yybgin = yysvec + 1 +# define INITIAL 0# define YYLERR yysvec# define YYSTATE (yyestate-yysvec-1)# define YYOPTIM 1# ifndef YYLMAX # define YYLMAX BUFSIZ# endif #ifndef __cplusplus# define output(c) (void)putc(c,yyout)#else# define lex_output(c) (void)putc(c,yyout)#endif#if defined(__cplusplus) || defined(__STDC__)#if defined(__cplusplus) && defined(__EXTERN_C__)extern "C" {#endif int yyback(int *, int); int yyinput(void); int yylook(void); void yyoutput(int); int yyracc(int); int yyreject(void); void yyunput(int); int yylex(void);#ifdef YYLEX_E void yywoutput(wchar_t); wchar_t yywinput(void);#endif#ifndef yyless int yyless(int);#endif#ifndef yywrap int yywrap(void);#endif#ifdef LEXDEBUG void allprint(char); void sprint(char *);#endif#if defined(__cplusplus) && defined(__EXTERN_C__)}#endif#ifdef __cplusplusextern "C" {#endif void exit(int);#ifdef __cplusplus}#endif#endif# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}# define yymore() (yymorfg=1)#ifndef __cplusplus# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):(yycharno++,getc(yyin)))==10?(yylineno++,yybline=yycharno,yytchar):yytchar)==EOF?0:yytchar)#else# define lex_input() (((yytchar=yysptr>yysbuf?U(*--yysptr):(yycharno++,getc(yyin)))==10?(yylineno++,yybline=yycharno,yytchar):yytchar)==EOF?0:yytchar)#endif#define ECHO fprintf(yyout, "%s",yytext)# define REJECT { nstr = yyreject(); goto yyfussy;}int yyleng;#define YYISARRAYchar yytext[YYLMAX];int yymorfg;extern char *yysptr, yysbuf[];int yytchar;FILE *yyin = {stdin}, *yyout = {stdout};extern long yycharno,yytok,yybline;struct yysvf { struct yywork *yystoff; struct yysvf *yyother; int *yystops;};struct yysvf *yyestate;extern struct yysvf yysvec[], *yybgin;#include <stdio.h>#include "vy.tab.h"int num_dividers = 0;int buffer_size;# define COMMENT 2# define YYNEWLINE 10yylex(){int nstr; extern int yyprevious;#ifdef __cplusplus/* to avoid CC and lint complaining yyfussy not being used ...*/static int __lex_hack = 0;if (__lex_hack) goto yyfussy;#endifwhile((nstr = yylook()) >= 0)yyfussy: switch(nstr){case 0:if(yywrap()) return(0); break;case 1:# line 14 "./yacc.l" return(KEYWORD);break;case 2:# line 15 "./yacc.l" return(KEYWORD);break;case 3:# line 16 "./yacc.l" return(KEYWORD);break;case 4:# line 17 "./yacc.l" return(KEYWORD);break;case 5:# line 18 "./yacc.l" return(KEYWORD);break;case 6:# line 19 "./yacc.l" return(KEYWORD);break;case 7:# line 20 "./yacc.l" return(KEYWORD);break;case 8:# line 21 "./yacc.l" return(KEYWORD);break;case 9:# line 22 "./yacc.l" return(KEYWORD);break;case 10:# line 23 "./yacc.l" return(SPECIAL_KEYWORD);break;case 11:# line 24 "./yacc.l" return(SPECIAL_KEYWORD);break;case 12:# line 25 "./yacc.l" return(KEYWORD);break;case 13:# line 26 "./yacc.l" return(KEYWORD);break;case 14:# line 27 "./yacc.l" return(KEYWORD);break;case 15:# line 28 "./yacc.l" return(KEYWORD);break;case 16:# line 29 "./yacc.l" return(KEYWORD);break;case 17:# line 30 "./yacc.l" return(KEYWORD);break;case 18:# line 31 "./yacc.l" return(KEYWORD);break;case 19:# line 32 "./yacc.l" return(KEYWORD);break;case 20:# line 33 "./yacc.l" return(KEYWORD);break;case 21:# line 34 "./yacc.l" return(KEYWORD);break;case 22:# line 35 "./yacc.l" return(POUND_KEYWORD);break;case 23:# line 36 "./yacc.l" return(BRACKET_KEYWORD);break;case 24:# line 37 "./yacc.l" return(CHAR);break;case 25:# line 38 "./yacc.l" return(CHAR);break;case 26:# line 39 "./yacc.l" return(STRING);break;case 27:# line 40 "./yacc.l" BEGIN COMMENT;break;case 28:# line 41 "./yacc.l" return(START_C);break;case 29:# line 42 "./yacc.l" return(STOP_C);break;case 30:# line 43 "./yacc.l" return(DIVIDER);break;case 31:# line 44 "./yacc.l" return(LHS);break;case 32:# line 45 "./yacc.l" return(RHS);break;case 33:# line 46 "./yacc.l" return(UNION_T);break;case 34:# line 47 "./yacc.l" return(TOKEN_T);break;case 35:# line 48 "./yacc.l" return(LEFT_T);break;case 36:# line 49 "./yacc.l" return(RIGHT_T);break;case 37:# line 50 "./yacc.l" return(TYPE_T);break;case 38:# line 51 "./yacc.l" return(NONASSOC_T);break;case 39:# line 52 "./yacc.l" return(PREC_T);break;case 40:# line 53 "./yacc.l" return(NAME);break;case 41:# line 54 "./yacc.l" ;break;case 42:# line 55 "./yacc.l" return(yytext[0]);break;case 43:# line 56 "./yacc.l" BEGIN INITIAL;break;case 44:# line 57 "./yacc.l" ;break;case 45:# line 58 "./yacc.l" ;break;case -1:break;default:(void)fprintf(yyout,"bad switch yylook %d",nstr);} return(0); }/* end of yylex */int yyvstop[] = {0,42,0, 41,42,0, 41,0, 42,0, 42,0, 42,0, 42,0, 42,0, 40,42,0, 42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 40,42,0, 42,-22,0, 45,0, 44,45,0, 44,0, 45,0, 26,0, 31,0, 32,0, 30,0, 28,0, 29,0, 27,0, 40,0, 23,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 2,40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, -22,0, 22,0, 43,0, 24,0, 24,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 18,40,0, 40,0, 12,40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 25,0, 20,40,0, 40,0, 40,0, 6,40,0, 9,40,0, 40,0, 40,0, 3,40,0, 21,40,0, 40,0, 40,0, 40,0, 13,40,0, 40,0, 40,0, 40,0, 40,0, 40,0, 35,0, 39,0, 37,0, 40,0, 10,40,0, 40,0, 40,0, 40,0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -