35 lines
1.3 KiB
Awk
35 lines
1.3 KiB
Awk
|
#!/usr/bin/awk
|
||
|
#
|
||
|
# This script appends additional token codes to the end of the
|
||
|
# parse.h file that lemon generates. These extra token codes are
|
||
|
# not used by the parser. But they are used by the tokenizer and/or
|
||
|
# the code generator.
|
||
|
#
|
||
|
#
|
||
|
BEGIN {
|
||
|
max = 0
|
||
|
}
|
||
|
/^#define TK_/ {
|
||
|
print $0
|
||
|
if( max<$3 ) max = $3
|
||
|
}
|
||
|
END {
|
||
|
printf "#define TK_%-29s %4d\n", "TO_TEXT", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "TO_BLOB", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "TO_NUMERIC", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "TO_INT", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "TO_REAL", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "ISNOT", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "END_OF_FILE", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "ILLEGAL", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "SPACE", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "UNCLOSED_STRING", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "FUNCTION", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "COLUMN", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "AGG_FUNCTION", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "AGG_COLUMN", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "CONST_FUNC", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "UMINUS", ++max
|
||
|
printf "#define TK_%-29s %4d\n", "UPLUS", ++max
|
||
|
}
|