📄 scanner.c
字号:
yyErrorMessage (4);}#endif#ifdef xxGetLowerstatic unsigned char yyToLower [] = {'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7','\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17','\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27','\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/','0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?','@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o','p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '[', '\\', ']', '^', '_','`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o','p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}','~','\177','\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207','\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217','\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227','\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237','\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247','\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257','\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267','\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277','\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307','\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317','\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327','\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337','\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347','\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357','\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367','\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',};#endif#ifdef xxGetUpperstatic unsigned char yyToUpper [] = {'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7','\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17','\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27','\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/','0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?','@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O','P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_','`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O','P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}','~','\177','\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207','\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217','\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227','\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237','\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247','\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257','\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267','\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277','\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307','\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317','\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327','\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337','\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347','\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357','\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367','\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',};#endifstatic void yyTab1 ARGS ((int yya));#define yyTab yyTab1 (0)#define yyTab2(a,b) yyTab1 (a)/* line 35 "java.rex" */#include <ctype.h>#include "Errors.h"#include "Parser.h"#if HAVE_STDLIB_H | defined _MSC_VER#include <stdlib.h>#endif#include "sn.h"#define HIGHLIGHT if (hl && isalpha (* TokenPtr)) { \ (void) fprintf (hlfp, "%d key %d.%d %d.%d\n", PAF_HIGH, \ Attribute.Position.Line, Attribute.Position.Column - 1, \ Attribute.Position.Line, Attribute.Position.Column + TokenLength - 1); }static tPosition StartPosition;void ErrorAttribute#if defined __STDC__ | defined __cplusplus (int Token, tScanAttribute * pAttribute)#else (Token, pAttribute) int Token; tScanAttribute * pAttribute;#endif{ pAttribute->Position = Attribute.Position; switch (Token) { case /* Identifier */ 1: pAttribute->Identifier.ident = NoIdent ; ; break; case /* IntegerLiteral */ 2: pAttribute->IntegerLiteral.value = 0 ; ; break; case /* LongLiteral */ 3: pAttribute->LongLiteral.value = 0 ; ; break; case /* FloatingPointLiteral */ 4: pAttribute->FloatingPointLiteral.value = PutString ("", 0) ; ; break; case /* DoubleLiteral */ 5: pAttribute->DoubleLiteral.value = PutString ("", 0) ; ; break; case /* CharacterLiteral */ 6: pAttribute->CharacterLiteral.value = PutString ("", 0) ; ; break; case /* StringLiteral */ 7: pAttribute->StringLiteral.value = PutString ("", 0) ; ; break; }}#ifndef yySetPosition#define yySetPosition Attribute.Position.Line = yyLineCount; \Attribute.Position.Column = (int) ((unsigned char *) TokenPtr - yyLineStart);#endif#undef yyTab#undef yyTab2#ifndef yyInitBufferSize#define yyInitBufferSize 1024 * 8 + 256#endif#ifndef yyInitFileStackSize#define yyInitFileStackSize 8#endif#ifndef yyTabSpace#define yyTabSpace 8#endifstatic void yyTab1#if defined __STDC__ | defined __cplusplus (int yya)#else (yya) int yya;#endif { yyLineStart -= (yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart + yya - 1)) & (yyTabSpace - 1); }#define yyTab yyLineStart -= (yyTabSpace - 1 - \((unsigned char *) TokenPtr - yyLineStart - 1)) & (yyTabSpace - 1)#define yyTab1(a) yyLineStart -= (yyTabSpace - 1 - \((unsigned char *) TokenPtr - yyLineStart + (a) - 1)) & (yyTabSpace - 1)#define yyTab2(a,b) yyLineStart -= (yyTabSpace - 1 - \((unsigned char *) TokenPtr - yyLineStart + (a) - 1)) & (yyTabSpace - 1)CreateArray1 (yyStateStack, yyInitStateStack, yyStateRange, yyInitBufferSize, {yyDefaultState})static unsigned long yyStateStackSize= yyInitBufferSize;CreateArray1a (yyChBufferPtr, yyInitChBuffer, unsigned char, yyInitBufferSize) ={ 0.0, { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', yyEolCh, yyEobCh, '\0', }};CreateArray1b (yyChBufferPtr, yyInitChBuffer, unsigned char, yyInitBufferSize)static unsigned char * yyChBufferStart = & yyInitChBuffer.yyArray [16];static unsigned long yyChBufferSize = yyInitBufferSize;static unsigned char * yyChBufferIndex = & yyInitChBuffer.yyArray [16];typedef struct { short yySourceFile ; rbool yyEof ; unsigned char * yyChBufferPtr ; unsigned char * yyChBufferStart ; unsigned long yyChBufferSize ; unsigned char * yyChBufferIndex ; long yyBytesRead ; long yyFileOffset ; unsigned int yyLineCount ; unsigned char * yyLineStart ; } yytFileStack ;CreateArray2 (yyFileStack, yyInitFileStack, yytFileStack, yyInitFileStackSize, {{0}})static unsigned long yyFileStackSize = yyInitFileStackSize;static yytFileStack * yyFileStackPtr = & yyInitFileStack.yyArray [1];int GetToken ARGS ((void)){ register yyStateRange yyState; register yyStateRange * yyStatePtr; register unsigned char * yyChBufferIndexReg; register yyCombType * * yyBasePtrReg = yyBasePtr;yyBegin: yyState = yyStartState; /* initialize */ yyStatePtr = & yyStateStack [1]; yyChBufferIndexReg = yyChBufferIndex; TokenPtr = (char *) yyChBufferIndexReg; /* ASSERT yyChBuffer [yyChBufferIndex] == first character */yyContinue: /* continue after sentinel or skipping blanks */ for (;;) { /* execute as many state transitions as possible */ /* determine next state and get next character */ register yyCombType * yyTablePtr = (yyBasePtrReg [yyState] + * yyChBufferIndexReg ++); if (yyTablePtr->yyCheck == yyState) { yyState = yyTablePtr->yyNext; * yyStatePtr ++ = yyState; /* push state */ goto yyContinue; } yyChBufferIndexReg --; /* reconsider character */ if ((yyState = yyDefault [yyState]) == yyDNoState) break; } for (;;) { /* search for last final state */ TokenLength = (int) (yyChBufferIndexReg - (unsigned char *) TokenPtr); yyChBufferIndex = yyChBufferIndexReg;switch (* -- yyStatePtr) {case 317:;yySetPosition/* line 131 "java.rex" */{ yyStart (COMMENT); StartPosition = Attribute.Position; } yyy1: goto yyBegin;case 5:;case 21:;case 47:;case 49:;/* line 132 "java.rex" */{} yyy2: goto yyBegin;case 316:;yySetPosition/* line 133 "java.rex" */{ yyPrevious; if (hl) { (void) fprintf (hlfp, "%d rem %d.%d %d.%d\n", PAF_HIGH, StartPosition.Line, StartPosition.Column - 1, Attribute.Position.Line, Attribute.Position.Column + 1); } } yyy3: goto yyBegin;case 17:;yySetPosition/* line 138 "java.rex" */{ if (hl) { (void) fprintf (hlfp, "%d rem %d.%d %d.%d\n", PAF_HIGH, Attribute.Position.Line, Attribute.Position.Column - 1, Attribute.Position.Line, Attribute.Position.Column + TokenLength - 1); } } yyy4: goto yyBegin;case 9:;case 46:;/* line 143 "java.rex" */{} yyy5: goto yyBegin;case 6:;case 22:;case 45:;/* line 145 "java.rex" */{ yyEol (0); } yyy6: goto yyBegin;case 315:;yySetPosition/* line 147 "java.rex" */{ HIGHLIGHT; return 8; } yyy7: goto yyBegin;case 23:;yySetPosition/* line 148 "java.rex" */{ HIGHLIGHT; return 9; } yyy8: goto yyBegin;case 309:;yySetPosition/* line 149 "java.rex" */{ HIGHLIGHT; return 10; } yyy9: goto yyBegin;case 308:;yySetPosition/* line 150 "java.rex" */{ HIGHLIGHT; return 11; } yyy10: goto yyBegin;case 210:;yySetPosition/* line 151 "java.rex" */{ HIGHLIGHT; return 12; } yyy11: goto yyBegin;case 305:;yySetPosition/* line 152 "java.rex" */{ HIGHLIGHT; return 13; } yyy12: goto yyBegin;case 301:;yySetPosition/* line 153 "java.rex" */{ HIGHLIGHT; return 14; } yyy13: goto yyBegin;case 295:;yySetPosition/* line 154 "java.rex" */{ HIGHLIGHT; return 15; } yyy14: goto yyBegin;case 286:;yySetPosition/* line 155 "java.rex" */{ HIGHLIGHT; return 16; } yyy15: goto yyBegin;case 285:;yySetPosition/* line 156 "java.rex" */{ HIGHLIGHT; return 17; } yyy16: goto yyBegin;case 284:;yySetPosition/* line 157 "java.rex" */{ HIGHLIGHT; return 18; } yyy17: goto yyBegin;case 281:;yySetPosition/* line 158 "java.rex" */{ HIGHLIGHT; return 19; } yyy18: goto yyBegin;case 117:;yySetPosition/* line 159 "java.rex" */{ HIGHLIGHT; return 20; } yyy19: goto yyBegin;case 277:;yySetPosition/* line 160 "java.rex" */{ HIGHLIGHT; return 21; } yyy20: goto yyBegin;case 273:;yySetPosition/* line 161 "java.rex" */{ HIGHLIGHT; return 22; } yyy21: goto yyBegin;case 270:;yySetPosition/* line 162 "java.rex" */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -