]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
documentation update (CVS 224)
authordrh <drh@noemail.net>
Fri, 8 Jun 2001 00:25:18 +0000 (00:25 +0000)
committerdrh <drh@noemail.net>
Fri, 8 Jun 2001 00:25:18 +0000 (00:25 +0000)
FossilOrigin-Name: d1e211fad9d787a0fdbcd11fb364d6c592c07a05

doc/lemon.html
manifest
manifest.uuid
notes/notes3.txt

index 9b4648f46c1ed039620ca8d9720c58de647e8ecf..1d04eec7fa56b26edf44e01a0c95b931a1cf99d1 100644 (file)
@@ -515,6 +515,9 @@ other than that, the order of directives in Lemon is arbitrary.</p>
 
 <p>Lemon supports the following special directives:
 <ul>
+<li><tt>%code</tt>
+<li><tt>%default_destructor</tt>
+<li><tt>%default_type</tt>
 <li><tt>%destructor</tt>
 <li><tt>%extra_argument</tt>
 <li><tt>%include</tt>
@@ -536,6 +539,35 @@ other than that, the order of directives in Lemon is arbitrary.</p>
 Each of these directives will be described separately in the
 following sections:</p>
 
+<h4>The <tt>%code</tt> directive</h4>
+
+<p>The %code directive is used to specify addition C/C++ code that
+is added to the end of the main output file.  This is similar to
+the %include directive except that %include is inserted at the
+beginning of the main output file.</p>
+
+<p>%code is typically used to include some action routines or perhaps
+a tokenizer as part of the output file.</p>
+
+<h4>The <tt>%default_destructor</tt> directive</h4>
+
+<p>The %default_destructor directive specifies a destructor to 
+use for non-terminals that do not have their own destructor
+specified by a separate %destructor directive.  See the documentation
+on the %destructor directive below for additional information.</p>
+
+<p>In some grammers, many different non-terminal symbols have the
+same datatype and hence the same destructor.  This directive is
+a convenience way to specify the same destructor for all those
+non-terminals using a single statement.</p>
+
+<h4>The <tt>%default_type</tt> directive</h4>
+
+<p>The %default_type directive specifies the datatype of non-terminal
+symbols that do no have their own datatype defined using a separate
+%type directive.  See the documentation on %type below for addition
+information.</p>
+
 <h4>The <tt>%destructor</tt> directive</h4>
 
 <p>The %destructor directive is used to specify a destructor for
@@ -607,9 +639,9 @@ in the most recent call to Parse().</p>
 
 <p>The %include directive specifies C code that is included at the
 top of the generated parser.  You can include any text you want --
-the Lemon parser generator copies to blindly.  If you have multiple
-%include directives in your grammar file, their values are concatenated
-before being put at the beginning of the generated parser.</p>
+the Lemon parser generator copies it blindly.  If you have multiple
+%include directives in your grammar file the value of the last
+%include directive overwrites all the others.</p.
 
 <p>The %include directive is very handy for getting some extra #include
 preprocessor statements at the beginning of the generated parser.
index 0b49aed1e47ca9de8b037cdea0ca9ff188e4b15c..0aa1b21f722e04d7e87b25602e9b2da428304f39 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,16 +1,16 @@
-C incremental\supdate\s(CVS\s223)
-D 2001-06-08T00:21:52
+C documentation\supdate\s(CVS\s224)
+D 2001-06-08T00:25:18
 F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
 F Makefile.in acef0f0275a5ca8e68bda165f7f05d810a207664
 F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
 F VERSION 71874cb7e2a53c2bd22bb6affa7d223dd94a7a13
 F configure d2051345f49f7e48604423da26e086a745c86a47 x
 F configure.in e7465c88bbfb76882f97769c2dd90dbba8eca5db
-F doc/lemon.html e233a3e97a779c7a87e1bc4528c664a58e49dd47
+F doc/lemon.html 3ddeef6e5dee69a2bb6f5d8e4975b58f2fd8e11c
 F doc/report1.txt 734cbae63b1310cc643fe5e9e3da1ab55a79b99e
 F notes/notes1.txt b7c0812b704a022e88c621146ae50955c923d464
 F notes/notes2.txt 7e3fafd5e25906c1fe1e95f13b089aa398ca403e
-F notes/notes3.txt cd5e7bd2167d7ef89b1077abdfa68f0af6337744
+F notes/notes3.txt 985bf688b59f1f52bfe6e4b1f896efdeffac1432
 F src/TODO 38a68a489e56e9fd4a96263e0ff9404a47368ad4
 F src/btree.c 2a1a6c3ae7743ebf7f0b1632bef68d2851fe9bfd
 F src/btree.h f9adc22e8414402c176d71088e76afa89cc0d4b1
@@ -107,7 +107,7 @@ F www/opcode.tcl cb3a1abf8b7b9be9f3a228d097d6bf8b742c2b6f
 F www/sqlite.tcl cb0d23d8f061a80543928755ec7775da6e4f362f
 F www/tclsqlite.tcl 06f81c401f79a04f2c5ebfb97e7c176225c0aef2
 F www/vdbe.tcl 0c8aaa529dd216ccbf7daaabd80985e413d5f9ad
-P d07e0e80a0b33081adda8651e9a6750b2e40141a
-R fd7886817d2a4ced202ba2cb4c6b400e
+P 7108b699cc03d5d4dfb222ceab0196a85dbffd50
+R c74d5c7fce6c7dc0d7e612e147204b5e
 U drh
-Z c3bf505ea512d1148c1c303d4dd729f7
+Z 2efe93a2d9b9837777b14777d744b8d1
index 3593b9b721892908ba5ccd6bf18d11847db7d0c6..2912f766cd931461f6ab3312b3dcf67cf09a190a 100644 (file)
@@ -1 +1 @@
-7108b699cc03d5d4dfb222ceab0196a85dbffd50
\ No newline at end of file
+d1e211fad9d787a0fdbcd11fb364d6c592c07a05
\ No newline at end of file
index 20865802380e62996567a48459fa36958eddacca..9d6d5938e435292cfee13c9b7cae4abecfeb11c0 100644 (file)
@@ -24,7 +24,7 @@ Secondary access routines:
   int sqlite_table(sqlite*, int *nrow, int *ncolumn, const char ***argv);
   void sqlite_busy_handler(sqlite*, int(*)(void*,const char*,int), void*);
 
-Access routines that are implement derived from primary and sec
+Access routines that are derived from primary and secondary:
   
   char *sqlite_mprintf(const char *zFormat, ...);
   int sqlite_compile_vprintf(sqlite*, const char *zFormat, va_list);