xref: /illumos-gate/usr/src/lib/libsqlite/tool/opcodeDoc.awk (revision 1da57d551424de5a9d469760be7c4b4d4f10a755)
1*c5c4113dSnw141292#
2*c5c4113dSnw141292# Extract opcode documentation for sqliteVdbe.c and generate HTML
3*c5c4113dSnw141292#
4*c5c4113dSnw141292BEGIN {
5*c5c4113dSnw141292  print "<html><body bgcolor=white>"
6*c5c4113dSnw141292  print "<h1>SQLite Virtual Database Engine Opcodes</h1>"
7*c5c4113dSnw141292  print "<table>"
8*c5c4113dSnw141292}
9*c5c4113dSnw141292/ Opcode: /,/\*\// {
10*c5c4113dSnw141292  if( $2=="Opcode:" ){
11*c5c4113dSnw141292    printf "<tr><td>%s&nbsp;%s&nbsp;%s&nbsp;%s</td>\n<td>\n", $3, $4, $5, $6
12*c5c4113dSnw141292  }else if( $1=="*/" ){
13*c5c4113dSnw141292    printf "</td></tr>\n"
14*c5c4113dSnw141292  }else if( NF>1 ){
15*c5c4113dSnw141292    sub(/^ *\*\* /,"")
16*c5c4113dSnw141292    gsub(/</,"&lt;")
17*c5c4113dSnw141292    gsub(/&/,"&amp;")
18*c5c4113dSnw141292    print
19*c5c4113dSnw141292  }
20*c5c4113dSnw141292}
21*c5c4113dSnw141292END {
22*c5c4113dSnw141292  print "</table></body></html>"
23*c5c4113dSnw141292}
24