2004-10-06 17:03:57 +02:00
|
|
|
#!/usr/bin/awk -f
|
|
|
|
#
|
|
|
|
# This AWK script scans the opcodes.h file (which is itself generated by
|
|
|
|
# another awk script) and uses the information gleaned to create the
|
|
|
|
# opcodes.c source file.
|
|
|
|
#
|
|
|
|
# Opcodes.c contains strings which are the symbolic names for the various
|
|
|
|
# opcodes used by the VDBE. These strings are used when disassembling a
|
|
|
|
# VDBE program during tracing or as a result of the EXPLAIN keyword.
|
|
|
|
#
|
|
|
|
BEGIN {
|
|
|
|
print "/* Automatically generated. Do not edit */"
|
|
|
|
print "/* See the mkopcodec.h script for details. */"
|
2004-10-31 03:22:47 +01:00
|
|
|
printf "#if !defined(SQLITE_OMIT_EXPLAIN)"
|
|
|
|
printf " || !defined(NDEBUG)"
|
|
|
|
printf " || defined(VDBE_PROFILE)"
|
|
|
|
print " || defined(SQLITE_DEBUG)"
|
2004-10-06 17:41:16 +02:00
|
|
|
print "const char *const sqlite3OpcodeNames[] = { \"?\","
|
2004-10-06 17:03:57 +02:00
|
|
|
}
|
2004-12-10 18:17:18 +01:00
|
|
|
/define OP_/ {
|
2004-10-06 17:03:57 +02:00
|
|
|
sub("OP_","",$2)
|
2004-12-10 18:17:18 +01:00
|
|
|
i++
|
|
|
|
printf " /* %3d */ \"%s\",\n", $3, $2
|
2004-10-06 17:03:57 +02:00
|
|
|
}
|
|
|
|
END {
|
|
|
|
print "};"
|
2004-10-31 03:22:47 +01:00
|
|
|
print "#endif"
|
2004-10-06 17:03:57 +02:00
|
|
|
}
|