Remove several non-portable tests for the deprecated temp_store_directory PRAGMA.
[sqlite.git] / tool / addopcodes.tcl
bloba6c58f1a251c83cff9bc343dd1fce681cb17fce5
1 #!/usr/bin/tclsh
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.
9 set in [open [lindex $argv 0] rb]
10 set max 0
11 while {![eof $in]} {
12 set line [gets $in]
13 if {[regexp {^#define TK_} $line]} {
14 puts $line
15 set x [lindex $line 2]
16 if {$x>$max} {set max $x}
19 close $in
21 # The following are the extra token codes to be added. SPACE and
22 # ILLEGAL *must* be the last two token codes and they must be in that order.
24 set extras {
25 TO_TEXT
26 TO_BLOB
27 TO_NUMERIC
28 TO_INT
29 TO_REAL
30 ISNOT
31 END_OF_FILE
32 UNCLOSED_STRING
33 FUNCTION
34 COLUMN
35 AGG_FUNCTION
36 AGG_COLUMN
37 UMINUS
38 UPLUS
39 REGISTER
40 VECTOR
41 SELECT_COLUMN
42 ASTERISK
43 SPAN
44 SPACE
45 ILLEGAL
47 if {[lrange $extras end-1 end]!="SPACE ILLEGAL"} {
48 error "SPACE and ILLEGAL must be the last two token codes and they\
49 must be in that order"
51 foreach x $extras {
52 incr max
53 puts [format "#define TK_%-29s %4d" $x $max]
56 # Some additional #defines related to token codes.
58 puts "\n/* The token codes above must all fit in 8 bits */"
59 puts [format "#define %-20s %-6s" TKFLG_MASK 0xff]
60 puts "\n/* Flags that can be added to a token code when it is not"
61 puts "** being stored in a u8: */"
62 foreach {fg val comment} {
63 TKFLG_DONTFOLD 0x100 {/* Omit constant folding optimizations */}
64 } {
65 puts [format "#define %-20s %-6s %s" $fg $val $comment]