aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk')
-rw-r--r--libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk31
1 files changed, 31 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk b/libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk
new file mode 100644
index 0000000..ec80953
--- /dev/null
+++ b/libraries/sqlite/unix/sqlite-3.5.1/mkopcodec.awk
@@ -0,0 +1,31 @@
1#!/usr/bin/awk -f
2#
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.
6#
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.
10#
11BEGIN {
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}
21/define OP_/ {
22 sub("OP_","",$2)
23 i++
24 printf " /* %3d */ \"%s\",\n", $3, $2
25}
26END {
27 print " };"
28 print " return azName[i];"
29 print "}"
30 print "#endif"
31}