Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Unified Diff: third_party/sqlite/sqlite-src-3100200/ext/fts5/extract_api_docs.tcl

Issue 2846743003: [sql] Remove SQLite 3.10.2 reference directory. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite-src-3100200/ext/fts5/extract_api_docs.tcl
diff --git a/third_party/sqlite/sqlite-src-3100200/ext/fts5/extract_api_docs.tcl b/third_party/sqlite/sqlite-src-3100200/ext/fts5/extract_api_docs.tcl
deleted file mode 100644
index 2320d70b7d5bcc92b4ee0625e406be1a9e26ede6..0000000000000000000000000000000000000000
--- a/third_party/sqlite/sqlite-src-3100200/ext/fts5/extract_api_docs.tcl
+++ /dev/null
@@ -1,252 +0,0 @@
-#
-# 2014 August 24
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#--------------------------------------------------------------------------
-#
-# This script extracts the documentation for the API used by fts5 auxiliary
-# functions from header file fts5.h. It outputs html text on stdout that
-# is included in the documentation on the web.
-#
-
-set ::fts5_docs_output ""
-if {[info commands hd_putsnl]==""} {
- if {[llength $argv]>0} { set ::extract_api_docs_mode [lindex $argv 0] }
- proc output {text} {
- puts $text
- }
-} else {
- proc output {text} {
- append ::fts5_docs_output "$text\n"
- }
-}
-if {[info exists ::extract_api_docs_mode]==0} {set ::extract_api_docs_mode api}
-
-
-set input_file [file join [file dir [info script]] fts5.h]
-set fd [open $input_file]
-set data [read $fd]
-close $fd
-
-
-# Argument $data is the entire text of the fts5.h file. This function
-# extracts the definition of the Fts5ExtensionApi structure from it and
-# returns a key/value list of structure member names and definitions. i.e.
-#
-# iVersion {int iVersion} xUserData {void *(*xUserData)(Fts5Context*)} ...
-#
-proc get_struct_members {data} {
-
- # Extract the structure definition from the fts5.h file.
- regexp "struct Fts5ExtensionApi {(.*?)};" $data -> defn
-
- # Remove all comments from the structure definition
- regsub -all {/[*].*?[*]/} $defn {} defn2
-
- set res [list]
- foreach member [split $defn2 {;}] {
-
- set member [string trim $member]
- if {$member!=""} {
- catch { set name [lindex $member end] }
- regexp {.*?[(][*]([^)]*)[)]} $member -> name
- lappend res $name $member
- }
- }
-
- set res
-}
-
-proc get_struct_docs {data names} {
- # Extract the structure definition from the fts5.h file.
- regexp {EXTENSION API FUNCTIONS(.*?)[*]/} $data -> docs
-
- set current_doc ""
- set current_header ""
-
- foreach line [split $docs "\n"] {
- regsub {[*]*} $line {} line
- if {[regexp {^ } $line]} {
- append current_doc "$line\n"
- } elseif {[string trim $line]==""} {
- if {$current_header!=""} { append current_doc "\n" }
- } else {
- if {$current_doc != ""} {
- lappend res $current_header $current_doc
- set current_doc ""
- }
- set subject n/a
- regexp {^ *([[:alpha:]]*)} $line -> subject
- if {[lsearch $names $subject]>=0} {
- set current_header $subject
- } else {
- set current_header [string trim $line]
- }
- }
- }
-
- if {$current_doc != ""} {
- lappend res $current_header $current_doc
- }
-
- set res
-}
-
-proc get_tokenizer_docs {data} {
- regexp {(xCreate:.*?)[*]/} $data -> docs
-
- set res "<dl>\n"
- foreach line [split [string trim $docs] "\n"] {
- regexp {[*][*](.*)} $line -> line
- if {[regexp {^ ?x.*:} $line]} {
- append res "<dt><b>$line</b></dt><dd><p style=margin-top:0>\n"
- continue
- }
- if {[regexp {SYNONYM SUPPORT} $line]} {
- set line "</dl><h3>Synonym Support</h3>"
- }
- if {[string trim $line] == ""} {
- append res "<p>\n"
- } else {
- append res "$line\n"
- }
- }
-
- set res
-}
-
-proc get_api_docs {data} {
- # Initialize global array M as a map from Fts5StructureApi member name
- # to member definition. i.e.
- #
- # iVersion -> {int iVersion}
- # xUserData -> {void *(*xUserData)(Fts5Context*)}
- # ...
- #
- array set M [get_struct_members $data]
-
- # Initialize global list D as a map from section name to documentation
- # text. Most (all?) section names are structure member names.
- #
- set D [get_struct_docs $data [array names M]]
-
- output "<dl>"
- foreach {sub docs} $D {
- if {[info exists M($sub)]} {
- set hdr $M($sub)
- set link " id=$sub"
- } else {
- set link ""
- }
-
- #output "<hr color=#eeeee style=\"margin:1em 8.4ex 0 8.4ex;\"$link>"
- #set style "padding-left:6ex;font-size:1.4em;display:block"
- #output "<h style=\"$style\"><pre>$hdr</pre></h>"
-
- regsub -line {^ *[)]} $hdr ")" hdr
- output "<dt style=\"white-space:pre;font-family:monospace;font-size:120%\""
- output "$link>"
- output "<b>$hdr</b></dt><dd>"
-
- set mode ""
- set margin " style=margin-top:0.1em"
- foreach line [split [string trim $docs] "\n"] {
- if {[string trim $line]==""} {
- if {$mode != ""} {output "</$mode>"}
- set mode ""
- } elseif {$mode == ""} {
- if {[regexp {^ } $line]} {
- set mode codeblock
- } else {
- set mode p
- }
- output "<$mode$margin>"
- set margin ""
- }
- output $line
- }
- if {$mode != ""} {output "</$mode>"}
- output "</dd>"
- }
- output "</dl>"
-}
-
-proc get_fts5_struct {data start end} {
- set res ""
- set bOut 0
- foreach line [split $data "\n"] {
- if {$bOut==0} {
- if {[regexp $start $line]} {
- set bOut 1
- }
- }
-
- if {$bOut} {
- append res "$line\n"
- }
-
- if {$bOut} {
- if {[regexp $end $line]} {
- set bOut 0
- }
- }
- }
-
- set map [list /* <i>/* */ */</i>]
- string map $map $res
-}
-
-proc main {data} {
- switch $::extract_api_docs_mode {
- fts5_api {
- output [get_fts5_struct $data "typedef struct fts5_api" "^\};"]
- }
-
- fts5_tokenizer {
- output [get_fts5_struct $data "typedef struct Fts5Tokenizer" "^\};"]
- output [get_fts5_struct $data \
- "Flags that may be passed as the third argument to xTokenize()" \
- "#define FTS5_TOKEN_COLOCATED"
- ]
- }
-
- fts5_extension {
- output [get_fts5_struct $data "typedef.*Fts5ExtensionApi" "^.;"]
- }
-
- Fts5ExtensionApi {
- set struct [get_fts5_struct $data "^struct Fts5ExtensionApi" "^.;"]
- set map [list]
- foreach {k v} [get_struct_members $data] {
- if {[string match x* $k]==0} continue
- lappend map $k "<a href=#$k>$k</a>"
- }
- output [string map $map $struct]
- }
-
- api {
- get_api_docs $data
- }
-
- tokenizer_api {
- output [get_tokenizer_docs $data]
- }
-
- default {
- }
- }
-}
-main $data
-
-set ::fts5_docs_output
-
-
-
-
-

Powered by Google App Engine
This is Rietveld 408576698