33 lines
1.2 KiB
Awk
33 lines
1.2 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+1
|
|
printf "#define TK_%-29s %4d\n", "TO_BLOB", max+2
|
|
printf "#define TK_%-29s %4d\n", "TO_NUMERIC", max+3
|
|
printf "#define TK_%-29s %4d\n", "TO_INT", max+4
|
|
printf "#define TK_%-29s %4d\n", "TO_REAL", max+5
|
|
printf "#define TK_%-29s %4d\n", "END_OF_FILE", max+6
|
|
printf "#define TK_%-29s %4d\n", "ILLEGAL", max+7
|
|
printf "#define TK_%-29s %4d\n", "SPACE", max+8
|
|
printf "#define TK_%-29s %4d\n", "UNCLOSED_STRING", max+9
|
|
printf "#define TK_%-29s %4d\n", "COMMENT", max+10
|
|
printf "#define TK_%-29s %4d\n", "FUNCTION", max+11
|
|
printf "#define TK_%-29s %4d\n", "COLUMN", max+12
|
|
printf "#define TK_%-29s %4d\n", "AGG_FUNCTION", max+13
|
|
printf "#define TK_%-29s %4d\n", "AGG_COLUMN", max+14
|
|
printf "#define TK_%-29s %4d\n", "CONST_FUNC", max+15
|
|
}
|