Home | History | Annotate | Download | only in src
      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