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#
9BEGIN {
10  max = 0
11}
12/^#define TK_/ {
13  print $0
14  if( max<$3 ) max = $3
15}
16END {
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