1 #!/usr/bin/awk 2 # 3 # This script appends additional token codes to the end of the 4 # parse.h file that lemon generates. These extra token codes are 5 # not used by the parser. But they are used by the tokenizer and/or 6 # the code generator. 7 # 8 # 9 BEGIN { 10 max = 0 11 } 12 /^#define TK_/ { 13 print $0 14 if( max<$3 ) max = $3 15 } 16 END { 17 printf "#define TK_%-29s %4d\n", "TO_TEXT", ++max 18 printf "#define TK_%-29s %4d\n", "TO_BLOB", ++max 19 printf "#define TK_%-29s %4d\n", "TO_NUMERIC", ++max 20 printf "#define TK_%-29s %4d\n", "TO_INT", ++max 21 printf "#define TK_%-29s %4d\n", "TO_REAL", ++max 22 printf "#define TK_%-29s %4d\n", "ISNOT", ++max 23 printf "#define TK_%-29s %4d\n", "END_OF_FILE", ++max 24 printf "#define TK_%-29s %4d\n", "ILLEGAL", ++max 25 printf "#define TK_%-29s %4d\n", "SPACE", ++max 26 printf "#define TK_%-29s %4d\n", "UNCLOSED_STRING", ++max 27 printf "#define TK_%-29s %4d\n", "FUNCTION", ++max 28 printf "#define TK_%-29s %4d\n", "COLUMN", ++max 29 printf "#define TK_%-29s %4d\n", "AGG_FUNCTION", ++max 30 printf "#define TK_%-29s %4d\n", "AGG_COLUMN", ++max 31 printf "#define TK_%-29s %4d\n", "CONST_FUNC", ++max 32 printf "#define TK_%-29s %4d\n", "UMINUS", ++max 33 printf "#define TK_%-29s %4d\n", "UPLUS", ++max 34 } 35