add pragma cipher_default_use_hmac to toggle global HMAC setting
[sqlcipher.git] / mkopcodec.awk
blob2ef77d4cca86bcc4181d9e4c961ffdac6d9a753f
1 #!/usr/bin/awk -f
3 # This AWK script scans the opcodes.h file (which is itself generated by
4 # another awk script) and uses the information gleaned to create the
5 # opcodes.c source file.
7 # Opcodes.c contains strings which are the symbolic names for the various
8 # opcodes used by the VDBE. These strings are used when disassembling a
9 # VDBE program during tracing or as a result of the EXPLAIN keyword.
11 BEGIN {
12 print "/* Automatically generated. Do not edit */"
13 print "/* See the mkopcodec.awk script for details. */"
14 printf "#if !defined(SQLITE_OMIT_EXPLAIN)"
15 printf " || !defined(NDEBUG)"
16 printf " || defined(VDBE_PROFILE)"
17 print " || defined(SQLITE_DEBUG)"
18 print "const char *sqlite3OpcodeName(int i){"
19 print " static const char *const azName[] = { \"?\","
20 mx = 0
22 /define OP_/ {
23 sub("OP_","",$2)
24 i = $3+0
25 label[i] = $2
26 if( mx<i ) mx = i
28 END {
29 for(i=1; i<=mx; i++){
30 printf " /* %3d */ \"%s\",\n", i, label[i]
32 print " };"
33 print " return azName[i];"
34 print "}"
35 print "#endif"