<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>
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
<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.
-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
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
-7108b699cc03d5d4dfb222ceab0196a85dbffd50
\ No newline at end of file
+d1e211fad9d787a0fdbcd11fb364d6c592c07a05
\ No newline at end of file
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);