]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://factorcode.org/git/factor
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 5 Sep 2008 02:20:21 +0000 (21:20 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 5 Sep 2008 02:20:21 +0000 (21:20 -0500)
694 files changed:
basis/farkup/authors.txt [new file with mode: 0644]
basis/farkup/farkup-docs.factor [new file with mode: 0644]
basis/farkup/farkup-tests.factor [new file with mode: 0644]
basis/farkup/farkup.factor [new file with mode: 0644]
basis/farkup/summary.txt [new file with mode: 0644]
basis/farkup/tags.txt [new file with mode: 0644]
basis/furnace/actions/actions-tests.factor [new file with mode: 0755]
basis/furnace/actions/actions.factor [new file with mode: 0755]
basis/furnace/alloy/alloy.factor [new file with mode: 0644]
basis/furnace/auth/auth-tests.factor [new file with mode: 0644]
basis/furnace/auth/auth.factor [new file with mode: 0755]
basis/furnace/auth/basic/basic.factor [new file with mode: 0755]
basis/furnace/auth/boilerplate.xml [new file with mode: 0644]
basis/furnace/auth/features/deactivate-user/deactivate-user.factor [new file with mode: 0644]
basis/furnace/auth/features/edit-profile/edit-profile-tests.factor [new file with mode: 0644]
basis/furnace/auth/features/edit-profile/edit-profile.factor [new file with mode: 0644]
basis/furnace/auth/features/edit-profile/edit-profile.xml [new file with mode: 0644]
basis/furnace/auth/features/recover-password/recover-1.xml [new file with mode: 0644]
basis/furnace/auth/features/recover-password/recover-2.xml [new file with mode: 0644]
basis/furnace/auth/features/recover-password/recover-3.xml [new file with mode: 0644]
basis/furnace/auth/features/recover-password/recover-4.xml [new file with mode: 0755]
basis/furnace/auth/features/recover-password/recover-password-tests.factor [new file with mode: 0644]
basis/furnace/auth/features/recover-password/recover-password.factor [new file with mode: 0644]
basis/furnace/auth/features/registration/register.xml [new file with mode: 0644]
basis/furnace/auth/features/registration/registration-tests.factor [new file with mode: 0644]
basis/furnace/auth/features/registration/registration.factor [new file with mode: 0644]
basis/furnace/auth/login/login-tests.factor [new file with mode: 0755]
basis/furnace/auth/login/login.factor [new file with mode: 0755]
basis/furnace/auth/login/login.xml [new file with mode: 0644]
basis/furnace/auth/login/permits/permits.factor [new file with mode: 0644]
basis/furnace/auth/providers/assoc/assoc-tests.factor [new file with mode: 0755]
basis/furnace/auth/providers/assoc/assoc.factor [new file with mode: 0755]
basis/furnace/auth/providers/db/db-tests.factor [new file with mode: 0755]
basis/furnace/auth/providers/db/db.factor [new file with mode: 0755]
basis/furnace/auth/providers/null/null.factor [new file with mode: 0755]
basis/furnace/auth/providers/providers.factor [new file with mode: 0755]
basis/furnace/boilerplate/boilerplate.factor [new file with mode: 0644]
basis/furnace/cache/cache.factor [new file with mode: 0644]
basis/furnace/conversations/conversations.factor [new file with mode: 0644]
basis/furnace/db/db-tests.factor [new file with mode: 0644]
basis/furnace/db/db.factor [new file with mode: 0755]
basis/furnace/furnace-tests.factor [new file with mode: 0644]
basis/furnace/furnace.factor [new file with mode: 0644]
basis/furnace/json/json.factor [new file with mode: 0644]
basis/furnace/redirection/redirection.factor [new file with mode: 0644]
basis/furnace/referrer/referrer.factor [new file with mode: 0644]
basis/furnace/scopes/scopes.factor [new file with mode: 0644]
basis/furnace/sessions/authors.txt [new file with mode: 0755]
basis/furnace/sessions/sessions-tests.factor [new file with mode: 0755]
basis/furnace/sessions/sessions.factor [new file with mode: 0755]
basis/furnace/syndication/syndication.factor [new file with mode: 0644]
basis/furnace/utilities/utilities.factor [new file with mode: 0644]
basis/globs/authors.txt [new file with mode: 0644]
basis/globs/globs-tests.factor [new file with mode: 0644]
basis/globs/globs.factor [new file with mode: 0755]
basis/globs/summary.txt [new file with mode: 0644]
basis/html/components/components-tests.factor [new file with mode: 0644]
basis/html/components/components.factor [new file with mode: 0644]
basis/html/elements/authors.txt [new file with mode: 0755]
basis/html/elements/elements-tests.factor [new file with mode: 0644]
basis/html/elements/elements.factor [new file with mode: 0644]
basis/html/forms/forms-tests.factor [new file with mode: 0644]
basis/html/forms/forms.factor [new file with mode: 0644]
basis/html/parser/analyzer/analyzer.factor [new file with mode: 0755]
basis/html/parser/analyzer/authors.txt [new file with mode: 0755]
basis/html/parser/authors.txt [new file with mode: 0755]
basis/html/parser/parser-tests.factor [new file with mode: 0644]
basis/html/parser/parser.factor [new file with mode: 0644]
basis/html/parser/printer/authors.txt [new file with mode: 0755]
basis/html/parser/printer/printer.factor [new file with mode: 0644]
basis/html/parser/utils/authors.txt [new file with mode: 0755]
basis/html/parser/utils/utils-tests.factor [new file with mode: 0644]
basis/html/parser/utils/utils.factor [new file with mode: 0644]
basis/html/streams/authors.txt [new file with mode: 0644]
basis/html/streams/streams-tests.factor [new file with mode: 0644]
basis/html/streams/streams.factor [new file with mode: 0755]
basis/html/streams/summary.txt [new file with mode: 0644]
basis/html/streams/tags.txt [new file with mode: 0644]
basis/html/templates/chloe/chloe-tests.factor [new file with mode: 0644]
basis/html/templates/chloe/chloe.factor [new file with mode: 0644]
basis/html/templates/chloe/syntax/syntax.factor [new file with mode: 0644]
basis/html/templates/chloe/test/test1.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test10.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test11.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test12.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test2.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test3-aux.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test3.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test4.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test5.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test6.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test7.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test8.xml [new file with mode: 0644]
basis/html/templates/chloe/test/test9.xml [new file with mode: 0644]
basis/html/templates/fhtml/authors.txt [new file with mode: 0644]
basis/html/templates/fhtml/fhtml-tests.factor [new file with mode: 0755]
basis/html/templates/fhtml/fhtml.factor [new file with mode: 0755]
basis/html/templates/fhtml/test/bug.fhtml [new file with mode: 0644]
basis/html/templates/fhtml/test/bug.html [new file with mode: 0644]
basis/html/templates/fhtml/test/example.fhtml [new file with mode: 0644]
basis/html/templates/fhtml/test/example.html [new file with mode: 0644]
basis/html/templates/fhtml/test/stack.fhtml [new file with mode: 0644]
basis/html/templates/fhtml/test/stack.html [new file with mode: 0644]
basis/html/templates/templates.factor [new file with mode: 0644]
basis/http/authors.txt [new file with mode: 0644]
basis/http/client/authors.txt [new file with mode: 0644]
basis/http/client/client-tests.factor [new file with mode: 0755]
basis/http/client/client.factor [new file with mode: 0755]
basis/http/client/summary.txt [new file with mode: 0644]
basis/http/client/tags.txt [new file with mode: 0644]
basis/http/http-tests.factor [new file with mode: 0755]
basis/http/http.factor [new file with mode: 0755]
basis/http/parsers/parsers.factor [new file with mode: 0644]
basis/http/server/authors.txt [new file with mode: 0755]
basis/http/server/cgi/cgi.factor [new file with mode: 0755]
basis/http/server/dispatchers/dispatchers-tests.factor [new file with mode: 0644]
basis/http/server/dispatchers/dispatchers.factor [new file with mode: 0644]
basis/http/server/filters/filters.factor [new file with mode: 0644]
basis/http/server/redirection/redirection-tests.factor [new file with mode: 0644]
basis/http/server/redirection/redirection.factor [new file with mode: 0644]
basis/http/server/responses/responses.factor [new file with mode: 0644]
basis/http/server/server-tests.factor [new file with mode: 0644]
basis/http/server/server.factor [new file with mode: 0755]
basis/http/server/static/static.factor [new file with mode: 0755]
basis/http/server/summary.txt [new file with mode: 0644]
basis/http/server/tags.txt [new file with mode: 0644]
basis/http/summary.txt [new file with mode: 0644]
basis/http/tags.txt [new file with mode: 0644]
basis/http/test/foo.html [new file with mode: 0644]
basis/json/authors.txt [new file with mode: 0755]
basis/json/reader/authors.txt [new file with mode: 0644]
basis/json/reader/reader-docs.factor [new file with mode: 0644]
basis/json/reader/reader-tests.factor [new file with mode: 0644]
basis/json/reader/reader.factor [new file with mode: 0755]
basis/json/reader/summary.txt [new file with mode: 0644]
basis/json/summary.txt [new file with mode: 0755]
basis/json/writer/authors.txt [new file with mode: 0644]
basis/json/writer/summary.txt [new file with mode: 0644]
basis/json/writer/writer-docs.factor [new file with mode: 0644]
basis/json/writer/writer.factor [new file with mode: 0644]
basis/openssl/test/errors.txt [deleted file]
basis/peg/ebnf/authors.txt [new file with mode: 0644]
basis/peg/ebnf/ebnf-tests.factor [new file with mode: 0644]
basis/peg/ebnf/ebnf.factor [new file with mode: 0644]
basis/peg/ebnf/summary.txt [new file with mode: 0644]
basis/peg/ebnf/tags.txt [new file with mode: 0644]
basis/peg/peg.factor [new file with mode: 0755]
basis/syndication/authors.txt [new file with mode: 0755]
basis/syndication/readme.txt [new file with mode: 0644]
basis/syndication/summary.txt [new file with mode: 0755]
basis/syndication/syndication-tests.factor [new file with mode: 0755]
basis/syndication/syndication.factor [new file with mode: 0644]
basis/syndication/tags.txt [new file with mode: 0644]
basis/syndication/test/atom.xml [new file with mode: 0644]
basis/syndication/test/rss1.xml [new file with mode: 0644]
basis/xmode/README.txt [new file with mode: 0755]
basis/xmode/authors.txt [new file with mode: 0644]
basis/xmode/catalog/authors.txt [new file with mode: 0755]
basis/xmode/catalog/catalog-tests.factor [new file with mode: 0644]
basis/xmode/catalog/catalog.factor [new file with mode: 0755]
basis/xmode/code2html/authors.txt [new file with mode: 0755]
basis/xmode/code2html/code2html.factor [new file with mode: 0755]
basis/xmode/code2html/responder/responder.factor [new file with mode: 0755]
basis/xmode/code2html/stylesheet.css [new file with mode: 0644]
basis/xmode/keyword-map/authors.txt [new file with mode: 0755]
basis/xmode/keyword-map/keyword-map-tests.factor [new file with mode: 0644]
basis/xmode/keyword-map/keyword-map.factor [new file with mode: 0644]
basis/xmode/loader/authors.txt [new file with mode: 0755]
basis/xmode/loader/loader.factor [new file with mode: 0755]
basis/xmode/loader/syntax/authors.txt [new file with mode: 0755]
basis/xmode/loader/syntax/syntax.factor [new file with mode: 0644]
basis/xmode/marker/authors.txt [new file with mode: 0755]
basis/xmode/marker/context/authors.txt [new file with mode: 0755]
basis/xmode/marker/context/context.factor [new file with mode: 0644]
basis/xmode/marker/marker-tests.factor [new file with mode: 0755]
basis/xmode/marker/marker.factor [new file with mode: 0755]
basis/xmode/marker/state/authors.txt [new file with mode: 0755]
basis/xmode/marker/state/state.factor [new file with mode: 0755]
basis/xmode/modes/actionscript.xml [new file with mode: 0644]
basis/xmode/modes/ada95.xml [new file with mode: 0644]
basis/xmode/modes/antlr.xml [new file with mode: 0644]
basis/xmode/modes/apacheconf.xml [new file with mode: 0644]
basis/xmode/modes/apdl.xml [new file with mode: 0644]
basis/xmode/modes/applescript.xml [new file with mode: 0644]
basis/xmode/modes/asp.xml [new file with mode: 0644]
basis/xmode/modes/aspect-j.xml [new file with mode: 0644]
basis/xmode/modes/assembly-m68k.xml [new file with mode: 0644]
basis/xmode/modes/assembly-macro32.xml [new file with mode: 0644]
basis/xmode/modes/assembly-mcs51.xml [new file with mode: 0644]
basis/xmode/modes/assembly-parrot.xml [new file with mode: 0644]
basis/xmode/modes/assembly-r2000.xml [new file with mode: 0644]
basis/xmode/modes/assembly-x86.xml [new file with mode: 0644]
basis/xmode/modes/awk.xml [new file with mode: 0644]
basis/xmode/modes/b.xml [new file with mode: 0644]
basis/xmode/modes/batch.xml [new file with mode: 0644]
basis/xmode/modes/bbj.xml [new file with mode: 0644]
basis/xmode/modes/bcel.xml [new file with mode: 0644]
basis/xmode/modes/bibtex.xml [new file with mode: 0644]
basis/xmode/modes/c.xml [new file with mode: 0644]
basis/xmode/modes/catalog [new file with mode: 0644]
basis/xmode/modes/chill.xml [new file with mode: 0644]
basis/xmode/modes/cil.xml [new file with mode: 0644]
basis/xmode/modes/clips.xml [new file with mode: 0644]
basis/xmode/modes/cobol.xml [new file with mode: 0644]
basis/xmode/modes/coldfusion.xml [new file with mode: 0644]
basis/xmode/modes/cplusplus.xml [new file with mode: 0644]
basis/xmode/modes/csharp.xml [new file with mode: 0644]
basis/xmode/modes/css.xml [new file with mode: 0644]
basis/xmode/modes/csv.xml [new file with mode: 0644]
basis/xmode/modes/cvs-commit.xml [new file with mode: 0644]
basis/xmode/modes/d.xml [new file with mode: 0644]
basis/xmode/modes/django.xml [new file with mode: 0644]
basis/xmode/modes/doxygen.xml [new file with mode: 0644]
basis/xmode/modes/dsssl.xml [new file with mode: 0644]
basis/xmode/modes/eiffel.xml [new file with mode: 0644]
basis/xmode/modes/embperl.xml [new file with mode: 0644]
basis/xmode/modes/erlang.xml [new file with mode: 0644]
basis/xmode/modes/factor.xml [new file with mode: 0644]
basis/xmode/modes/fhtml.xml [new file with mode: 0644]
basis/xmode/modes/forth.xml [new file with mode: 0644]
basis/xmode/modes/fortran.xml [new file with mode: 0644]
basis/xmode/modes/foxpro.xml [new file with mode: 0644]
basis/xmode/modes/freemarker.xml [new file with mode: 0644]
basis/xmode/modes/gettext.xml [new file with mode: 0644]
basis/xmode/modes/gnuplot.xml [new file with mode: 0644]
basis/xmode/modes/groovy.xml [new file with mode: 0644]
basis/xmode/modes/haskell.xml [new file with mode: 0644]
basis/xmode/modes/hex.xml [new file with mode: 0644]
basis/xmode/modes/hlsl.xml [new file with mode: 0644]
basis/xmode/modes/htaccess.xml [new file with mode: 0644]
basis/xmode/modes/html.xml [new file with mode: 0644]
basis/xmode/modes/i4gl.xml [new file with mode: 0644]
basis/xmode/modes/icon.xml [new file with mode: 0644]
basis/xmode/modes/idl.xml [new file with mode: 0644]
basis/xmode/modes/inform.xml [new file with mode: 0644]
basis/xmode/modes/ini.xml [new file with mode: 0644]
basis/xmode/modes/inno-setup.xml [new file with mode: 0644]
basis/xmode/modes/interlis.xml [new file with mode: 0644]
basis/xmode/modes/io.xml [new file with mode: 0644]
basis/xmode/modes/java.xml [new file with mode: 0644]
basis/xmode/modes/javacc.xml [new file with mode: 0644]
basis/xmode/modes/javascript.xml [new file with mode: 0644]
basis/xmode/modes/jcl.xml [new file with mode: 0644]
basis/xmode/modes/jhtml.xml [new file with mode: 0644]
basis/xmode/modes/jmk.xml [new file with mode: 0644]
basis/xmode/modes/jsp.xml [new file with mode: 0644]
basis/xmode/modes/latex.xml [new file with mode: 0644]
basis/xmode/modes/lilypond.xml [new file with mode: 0644]
basis/xmode/modes/lisp.xml [new file with mode: 0644]
basis/xmode/modes/literate-haskell.xml [new file with mode: 0644]
basis/xmode/modes/lotos.xml [new file with mode: 0644]
basis/xmode/modes/lua.xml [new file with mode: 0644]
basis/xmode/modes/mail.xml [new file with mode: 0644]
basis/xmode/modes/makefile.xml [new file with mode: 0644]
basis/xmode/modes/maple.xml [new file with mode: 0644]
basis/xmode/modes/ml.xml [new file with mode: 0644]
basis/xmode/modes/modula3.xml [new file with mode: 0644]
basis/xmode/modes/moin.xml [new file with mode: 0644]
basis/xmode/modes/mqsc.xml [new file with mode: 0644]
basis/xmode/modes/myghty.xml [new file with mode: 0644]
basis/xmode/modes/mysql.xml [new file with mode: 0644]
basis/xmode/modes/netrexx.xml [new file with mode: 0644]
basis/xmode/modes/nqc.xml [new file with mode: 0644]
basis/xmode/modes/nsis2.xml [new file with mode: 0644]
basis/xmode/modes/objective-c.xml [new file with mode: 0644]
basis/xmode/modes/objectrexx.xml [new file with mode: 0644]
basis/xmode/modes/occam.xml [new file with mode: 0644]
basis/xmode/modes/omnimark.xml [new file with mode: 0644]
basis/xmode/modes/pascal.xml [new file with mode: 0644]
basis/xmode/modes/patch.xml [new file with mode: 0644]
basis/xmode/modes/perl.xml [new file with mode: 0644]
basis/xmode/modes/php.xml [new file with mode: 0644]
basis/xmode/modes/pike.xml [new file with mode: 0644]
basis/xmode/modes/pl-sql.xml [new file with mode: 0644]
basis/xmode/modes/pl1.xml [new file with mode: 0644]
basis/xmode/modes/pop11.xml [new file with mode: 0644]
basis/xmode/modes/postscript.xml [new file with mode: 0644]
basis/xmode/modes/povray.xml [new file with mode: 0644]
basis/xmode/modes/powerdynamo.xml [new file with mode: 0644]
basis/xmode/modes/progress.xml [new file with mode: 0644]
basis/xmode/modes/prolog.xml [new file with mode: 0644]
basis/xmode/modes/props.xml [new file with mode: 0644]
basis/xmode/modes/psp.xml [new file with mode: 0644]
basis/xmode/modes/ptl.xml [new file with mode: 0644]
basis/xmode/modes/pvwave.xml [new file with mode: 0644]
basis/xmode/modes/pyrex.xml [new file with mode: 0644]
basis/xmode/modes/python.xml [new file with mode: 0644]
basis/xmode/modes/quake.xml [new file with mode: 0644]
basis/xmode/modes/rcp.xml [new file with mode: 0644]
basis/xmode/modes/rd.xml [new file with mode: 0644]
basis/xmode/modes/rebol.xml [new file with mode: 0644]
basis/xmode/modes/redcode.xml [new file with mode: 0644]
basis/xmode/modes/relax-ng-compact.xml [new file with mode: 0644]
basis/xmode/modes/rest.xml [new file with mode: 0644]
basis/xmode/modes/rfc.xml [new file with mode: 0644]
basis/xmode/modes/rhtml.xml [new file with mode: 0644]
basis/xmode/modes/rib.xml [new file with mode: 0644]
basis/xmode/modes/rpmspec.xml [new file with mode: 0644]
basis/xmode/modes/rtf.xml [new file with mode: 0644]
basis/xmode/modes/ruby.xml [new file with mode: 0644]
basis/xmode/modes/rview.xml [new file with mode: 0644]
basis/xmode/modes/sas.xml [new file with mode: 0644]
basis/xmode/modes/scheme.xml [new file with mode: 0644]
basis/xmode/modes/sdl_pr.xml [new file with mode: 0644]
basis/xmode/modes/sgml.xml [new file with mode: 0644]
basis/xmode/modes/shellscript.xml [new file with mode: 0644]
basis/xmode/modes/shtml.xml [new file with mode: 0644]
basis/xmode/modes/slate.xml [new file with mode: 0644]
basis/xmode/modes/smalltalk.xml [new file with mode: 0644]
basis/xmode/modes/smi-mib.xml [new file with mode: 0644]
basis/xmode/modes/splus.xml [new file with mode: 0644]
basis/xmode/modes/sql-loader.xml [new file with mode: 0644]
basis/xmode/modes/sqr.xml [new file with mode: 0644]
basis/xmode/modes/squidconf.xml [new file with mode: 0644]
basis/xmode/modes/ssharp.xml [new file with mode: 0644]
basis/xmode/modes/svn-commit.xml [new file with mode: 0644]
basis/xmode/modes/swig.xml [new file with mode: 0644]
basis/xmode/modes/tcl.xml [new file with mode: 0644]
basis/xmode/modes/tex.xml [new file with mode: 0644]
basis/xmode/modes/texinfo.xml [new file with mode: 0644]
basis/xmode/modes/text.xml [new file with mode: 0644]
basis/xmode/modes/tpl.xml [new file with mode: 0644]
basis/xmode/modes/tsql.xml [new file with mode: 0644]
basis/xmode/modes/tthtml.xml [new file with mode: 0644]
basis/xmode/modes/twiki.xml [new file with mode: 0644]
basis/xmode/modes/typoscript.xml [new file with mode: 0644]
basis/xmode/modes/uscript.xml [new file with mode: 0644]
basis/xmode/modes/vbscript.xml [new file with mode: 0644]
basis/xmode/modes/velocity.xml [new file with mode: 0644]
basis/xmode/modes/verilog.xml [new file with mode: 0644]
basis/xmode/modes/vhdl.xml [new file with mode: 0644]
basis/xmode/modes/xml.xml [new file with mode: 0644]
basis/xmode/modes/xq.xml [new file with mode: 0644]
basis/xmode/modes/xsl.xml [new file with mode: 0644]
basis/xmode/modes/zpt.xml [new file with mode: 0644]
basis/xmode/rules/authors.txt [new file with mode: 0755]
basis/xmode/rules/rules-tests.factor [new file with mode: 0644]
basis/xmode/rules/rules.factor [new file with mode: 0755]
basis/xmode/summary.txt [new file with mode: 0644]
basis/xmode/tokens/authors.txt [new file with mode: 0755]
basis/xmode/tokens/tokens.factor [new file with mode: 0755]
basis/xmode/utilities/authors.txt [new file with mode: 0755]
basis/xmode/utilities/test.xml [new file with mode: 0644]
basis/xmode/utilities/utilities-tests.factor [new file with mode: 0755]
basis/xmode/utilities/utilities.factor [new file with mode: 0644]
basis/xmode/xmode.dtd [new file with mode: 0644]
core/vocabs/loader/loader.factor
extra/farkup/authors.txt [deleted file]
extra/farkup/farkup-docs.factor [deleted file]
extra/farkup/farkup-tests.factor [deleted file]
extra/farkup/farkup.factor [deleted file]
extra/farkup/summary.txt [deleted file]
extra/farkup/tags.txt [deleted file]
extra/furnace/actions/actions-tests.factor [deleted file]
extra/furnace/actions/actions.factor [deleted file]
extra/furnace/alloy/alloy.factor [deleted file]
extra/furnace/auth/auth-tests.factor [deleted file]
extra/furnace/auth/auth.factor [deleted file]
extra/furnace/auth/basic/basic.factor [deleted file]
extra/furnace/auth/boilerplate.xml [deleted file]
extra/furnace/auth/features/deactivate-user/deactivate-user.factor [deleted file]
extra/furnace/auth/features/edit-profile/edit-profile-tests.factor [deleted file]
extra/furnace/auth/features/edit-profile/edit-profile.factor [deleted file]
extra/furnace/auth/features/edit-profile/edit-profile.xml [deleted file]
extra/furnace/auth/features/recover-password/recover-1.xml [deleted file]
extra/furnace/auth/features/recover-password/recover-2.xml [deleted file]
extra/furnace/auth/features/recover-password/recover-3.xml [deleted file]
extra/furnace/auth/features/recover-password/recover-4.xml [deleted file]
extra/furnace/auth/features/recover-password/recover-password-tests.factor [deleted file]
extra/furnace/auth/features/recover-password/recover-password.factor [deleted file]
extra/furnace/auth/features/registration/register.xml [deleted file]
extra/furnace/auth/features/registration/registration-tests.factor [deleted file]
extra/furnace/auth/features/registration/registration.factor [deleted file]
extra/furnace/auth/login/login-tests.factor [deleted file]
extra/furnace/auth/login/login.factor [deleted file]
extra/furnace/auth/login/login.xml [deleted file]
extra/furnace/auth/login/permits/permits.factor [deleted file]
extra/furnace/auth/providers/assoc/assoc-tests.factor [deleted file]
extra/furnace/auth/providers/assoc/assoc.factor [deleted file]
extra/furnace/auth/providers/db/db-tests.factor [deleted file]
extra/furnace/auth/providers/db/db.factor [deleted file]
extra/furnace/auth/providers/null/null.factor [deleted file]
extra/furnace/auth/providers/providers.factor [deleted file]
extra/furnace/boilerplate/boilerplate.factor [deleted file]
extra/furnace/cache/cache.factor [deleted file]
extra/furnace/conversations/conversations.factor [deleted file]
extra/furnace/db/db-tests.factor [deleted file]
extra/furnace/db/db.factor [deleted file]
extra/furnace/furnace-tests.factor [deleted file]
extra/furnace/furnace.factor [deleted file]
extra/furnace/json/json.factor [deleted file]
extra/furnace/redirection/redirection.factor [deleted file]
extra/furnace/referrer/referrer.factor [deleted file]
extra/furnace/scopes/scopes.factor [deleted file]
extra/furnace/sessions/authors.txt [deleted file]
extra/furnace/sessions/sessions-tests.factor [deleted file]
extra/furnace/sessions/sessions.factor [deleted file]
extra/furnace/syndication/syndication.factor [deleted file]
extra/furnace/utilities/utilities.factor [deleted file]
extra/globs/authors.txt [deleted file]
extra/globs/globs-tests.factor [deleted file]
extra/globs/globs.factor [deleted file]
extra/globs/summary.txt [deleted file]
extra/html/components/components-tests.factor [deleted file]
extra/html/components/components.factor [deleted file]
extra/html/elements/authors.txt [deleted file]
extra/html/elements/elements-tests.factor [deleted file]
extra/html/elements/elements.factor [deleted file]
extra/html/forms/forms-tests.factor [deleted file]
extra/html/forms/forms.factor [deleted file]
extra/html/parser/analyzer/analyzer.factor [deleted file]
extra/html/parser/analyzer/authors.txt [deleted file]
extra/html/parser/authors.txt [deleted file]
extra/html/parser/parser-tests.factor [deleted file]
extra/html/parser/parser.factor [deleted file]
extra/html/parser/printer/authors.txt [deleted file]
extra/html/parser/printer/printer.factor [deleted file]
extra/html/parser/utils/authors.txt [deleted file]
extra/html/parser/utils/utils-tests.factor [deleted file]
extra/html/parser/utils/utils.factor [deleted file]
extra/html/streams/authors.txt [deleted file]
extra/html/streams/streams-tests.factor [deleted file]
extra/html/streams/streams.factor [deleted file]
extra/html/streams/summary.txt [deleted file]
extra/html/streams/tags.txt [deleted file]
extra/html/templates/chloe/chloe-tests.factor [deleted file]
extra/html/templates/chloe/chloe.factor [deleted file]
extra/html/templates/chloe/syntax/syntax.factor [deleted file]
extra/html/templates/chloe/test/test1.xml [deleted file]
extra/html/templates/chloe/test/test10.xml [deleted file]
extra/html/templates/chloe/test/test11.xml [deleted file]
extra/html/templates/chloe/test/test12.xml [deleted file]
extra/html/templates/chloe/test/test2.xml [deleted file]
extra/html/templates/chloe/test/test3-aux.xml [deleted file]
extra/html/templates/chloe/test/test3.xml [deleted file]
extra/html/templates/chloe/test/test4.xml [deleted file]
extra/html/templates/chloe/test/test5.xml [deleted file]
extra/html/templates/chloe/test/test6.xml [deleted file]
extra/html/templates/chloe/test/test7.xml [deleted file]
extra/html/templates/chloe/test/test8.xml [deleted file]
extra/html/templates/chloe/test/test9.xml [deleted file]
extra/html/templates/fhtml/authors.txt [deleted file]
extra/html/templates/fhtml/fhtml-tests.factor [deleted file]
extra/html/templates/fhtml/fhtml.factor [deleted file]
extra/html/templates/fhtml/test/bug.fhtml [deleted file]
extra/html/templates/fhtml/test/bug.html [deleted file]
extra/html/templates/fhtml/test/example.fhtml [deleted file]
extra/html/templates/fhtml/test/example.html [deleted file]
extra/html/templates/fhtml/test/stack.fhtml [deleted file]
extra/html/templates/fhtml/test/stack.html [deleted file]
extra/html/templates/templates.factor [deleted file]
extra/http/authors.txt [deleted file]
extra/http/client/authors.txt [deleted file]
extra/http/client/client-tests.factor [deleted file]
extra/http/client/client.factor [deleted file]
extra/http/client/summary.txt [deleted file]
extra/http/client/tags.txt [deleted file]
extra/http/http-tests.factor [deleted file]
extra/http/http.factor [deleted file]
extra/http/parsers/parsers.factor [deleted file]
extra/http/server/authors.txt [deleted file]
extra/http/server/cgi/cgi.factor [deleted file]
extra/http/server/dispatchers/dispatchers-tests.factor [deleted file]
extra/http/server/dispatchers/dispatchers.factor [deleted file]
extra/http/server/filters/filters.factor [deleted file]
extra/http/server/redirection/redirection-tests.factor [deleted file]
extra/http/server/redirection/redirection.factor [deleted file]
extra/http/server/responses/responses.factor [deleted file]
extra/http/server/server-tests.factor [deleted file]
extra/http/server/server.factor [deleted file]
extra/http/server/static/static.factor [deleted file]
extra/http/server/summary.txt [deleted file]
extra/http/server/tags.txt [deleted file]
extra/http/summary.txt [deleted file]
extra/http/tags.txt [deleted file]
extra/http/test/foo.html [deleted file]
extra/json/authors.txt [deleted file]
extra/json/reader/authors.txt [deleted file]
extra/json/reader/reader-docs.factor [deleted file]
extra/json/reader/reader-tests.factor [deleted file]
extra/json/reader/reader.factor [deleted file]
extra/json/reader/summary.txt [deleted file]
extra/json/summary.txt [deleted file]
extra/json/writer/authors.txt [deleted file]
extra/json/writer/summary.txt [deleted file]
extra/json/writer/writer-docs.factor [deleted file]
extra/json/writer/writer.factor [deleted file]
extra/peg/ebnf/authors.txt [deleted file]
extra/peg/ebnf/ebnf-tests.factor [deleted file]
extra/peg/ebnf/ebnf.factor [deleted file]
extra/peg/ebnf/summary.txt [deleted file]
extra/peg/ebnf/tags.txt [deleted file]
extra/peg/peg.factor [deleted file]
extra/syndication/authors.txt [deleted file]
extra/syndication/readme.txt [deleted file]
extra/syndication/summary.txt [deleted file]
extra/syndication/syndication-tests.factor [deleted file]
extra/syndication/syndication.factor [deleted file]
extra/syndication/tags.txt [deleted file]
extra/syndication/test/atom.xml [deleted file]
extra/syndication/test/rss1.xml [deleted file]
extra/webapps/wiki/initial-content/Farkup.txt
extra/websites/concatenative/concatenative.factor
extra/xmode/README.txt [deleted file]
extra/xmode/authors.txt [deleted file]
extra/xmode/catalog/authors.txt [deleted file]
extra/xmode/catalog/catalog-tests.factor [deleted file]
extra/xmode/catalog/catalog.factor [deleted file]
extra/xmode/code2html/authors.txt [deleted file]
extra/xmode/code2html/code2html.factor [deleted file]
extra/xmode/code2html/responder/responder.factor [deleted file]
extra/xmode/code2html/stylesheet.css [deleted file]
extra/xmode/keyword-map/authors.txt [deleted file]
extra/xmode/keyword-map/keyword-map-tests.factor [deleted file]
extra/xmode/keyword-map/keyword-map.factor [deleted file]
extra/xmode/loader/authors.txt [deleted file]
extra/xmode/loader/loader.factor [deleted file]
extra/xmode/loader/syntax/authors.txt [deleted file]
extra/xmode/loader/syntax/syntax.factor [deleted file]
extra/xmode/marker/authors.txt [deleted file]
extra/xmode/marker/context/authors.txt [deleted file]
extra/xmode/marker/context/context.factor [deleted file]
extra/xmode/marker/marker-tests.factor [deleted file]
extra/xmode/marker/marker.factor [deleted file]
extra/xmode/marker/state/authors.txt [deleted file]
extra/xmode/marker/state/state.factor [deleted file]
extra/xmode/modes/actionscript.xml [deleted file]
extra/xmode/modes/ada95.xml [deleted file]
extra/xmode/modes/antlr.xml [deleted file]
extra/xmode/modes/apacheconf.xml [deleted file]
extra/xmode/modes/apdl.xml [deleted file]
extra/xmode/modes/applescript.xml [deleted file]
extra/xmode/modes/asp.xml [deleted file]
extra/xmode/modes/aspect-j.xml [deleted file]
extra/xmode/modes/assembly-m68k.xml [deleted file]
extra/xmode/modes/assembly-macro32.xml [deleted file]
extra/xmode/modes/assembly-mcs51.xml [deleted file]
extra/xmode/modes/assembly-parrot.xml [deleted file]
extra/xmode/modes/assembly-r2000.xml [deleted file]
extra/xmode/modes/assembly-x86.xml [deleted file]
extra/xmode/modes/awk.xml [deleted file]
extra/xmode/modes/b.xml [deleted file]
extra/xmode/modes/batch.xml [deleted file]
extra/xmode/modes/bbj.xml [deleted file]
extra/xmode/modes/bcel.xml [deleted file]
extra/xmode/modes/bibtex.xml [deleted file]
extra/xmode/modes/c.xml [deleted file]
extra/xmode/modes/catalog [deleted file]
extra/xmode/modes/chill.xml [deleted file]
extra/xmode/modes/cil.xml [deleted file]
extra/xmode/modes/clips.xml [deleted file]
extra/xmode/modes/cobol.xml [deleted file]
extra/xmode/modes/coldfusion.xml [deleted file]
extra/xmode/modes/cplusplus.xml [deleted file]
extra/xmode/modes/csharp.xml [deleted file]
extra/xmode/modes/css.xml [deleted file]
extra/xmode/modes/csv.xml [deleted file]
extra/xmode/modes/cvs-commit.xml [deleted file]
extra/xmode/modes/d.xml [deleted file]
extra/xmode/modes/django.xml [deleted file]
extra/xmode/modes/doxygen.xml [deleted file]
extra/xmode/modes/dsssl.xml [deleted file]
extra/xmode/modes/eiffel.xml [deleted file]
extra/xmode/modes/embperl.xml [deleted file]
extra/xmode/modes/erlang.xml [deleted file]
extra/xmode/modes/factor.xml [deleted file]
extra/xmode/modes/fhtml.xml [deleted file]
extra/xmode/modes/forth.xml [deleted file]
extra/xmode/modes/fortran.xml [deleted file]
extra/xmode/modes/foxpro.xml [deleted file]
extra/xmode/modes/freemarker.xml [deleted file]
extra/xmode/modes/gettext.xml [deleted file]
extra/xmode/modes/gnuplot.xml [deleted file]
extra/xmode/modes/groovy.xml [deleted file]
extra/xmode/modes/haskell.xml [deleted file]
extra/xmode/modes/hex.xml [deleted file]
extra/xmode/modes/hlsl.xml [deleted file]
extra/xmode/modes/htaccess.xml [deleted file]
extra/xmode/modes/html.xml [deleted file]
extra/xmode/modes/i4gl.xml [deleted file]
extra/xmode/modes/icon.xml [deleted file]
extra/xmode/modes/idl.xml [deleted file]
extra/xmode/modes/inform.xml [deleted file]
extra/xmode/modes/ini.xml [deleted file]
extra/xmode/modes/inno-setup.xml [deleted file]
extra/xmode/modes/interlis.xml [deleted file]
extra/xmode/modes/io.xml [deleted file]
extra/xmode/modes/java.xml [deleted file]
extra/xmode/modes/javacc.xml [deleted file]
extra/xmode/modes/javascript.xml [deleted file]
extra/xmode/modes/jcl.xml [deleted file]
extra/xmode/modes/jhtml.xml [deleted file]
extra/xmode/modes/jmk.xml [deleted file]
extra/xmode/modes/jsp.xml [deleted file]
extra/xmode/modes/latex.xml [deleted file]
extra/xmode/modes/lilypond.xml [deleted file]
extra/xmode/modes/lisp.xml [deleted file]
extra/xmode/modes/literate-haskell.xml [deleted file]
extra/xmode/modes/lotos.xml [deleted file]
extra/xmode/modes/lua.xml [deleted file]
extra/xmode/modes/mail.xml [deleted file]
extra/xmode/modes/makefile.xml [deleted file]
extra/xmode/modes/maple.xml [deleted file]
extra/xmode/modes/ml.xml [deleted file]
extra/xmode/modes/modula3.xml [deleted file]
extra/xmode/modes/moin.xml [deleted file]
extra/xmode/modes/mqsc.xml [deleted file]
extra/xmode/modes/myghty.xml [deleted file]
extra/xmode/modes/mysql.xml [deleted file]
extra/xmode/modes/netrexx.xml [deleted file]
extra/xmode/modes/nqc.xml [deleted file]
extra/xmode/modes/nsis2.xml [deleted file]
extra/xmode/modes/objective-c.xml [deleted file]
extra/xmode/modes/objectrexx.xml [deleted file]
extra/xmode/modes/occam.xml [deleted file]
extra/xmode/modes/omnimark.xml [deleted file]
extra/xmode/modes/pascal.xml [deleted file]
extra/xmode/modes/patch.xml [deleted file]
extra/xmode/modes/perl.xml [deleted file]
extra/xmode/modes/php.xml [deleted file]
extra/xmode/modes/pike.xml [deleted file]
extra/xmode/modes/pl-sql.xml [deleted file]
extra/xmode/modes/pl1.xml [deleted file]
extra/xmode/modes/pop11.xml [deleted file]
extra/xmode/modes/postscript.xml [deleted file]
extra/xmode/modes/povray.xml [deleted file]
extra/xmode/modes/powerdynamo.xml [deleted file]
extra/xmode/modes/progress.xml [deleted file]
extra/xmode/modes/prolog.xml [deleted file]
extra/xmode/modes/props.xml [deleted file]
extra/xmode/modes/psp.xml [deleted file]
extra/xmode/modes/ptl.xml [deleted file]
extra/xmode/modes/pvwave.xml [deleted file]
extra/xmode/modes/pyrex.xml [deleted file]
extra/xmode/modes/python.xml [deleted file]
extra/xmode/modes/quake.xml [deleted file]
extra/xmode/modes/rcp.xml [deleted file]
extra/xmode/modes/rd.xml [deleted file]
extra/xmode/modes/rebol.xml [deleted file]
extra/xmode/modes/redcode.xml [deleted file]
extra/xmode/modes/relax-ng-compact.xml [deleted file]
extra/xmode/modes/rest.xml [deleted file]
extra/xmode/modes/rfc.xml [deleted file]
extra/xmode/modes/rhtml.xml [deleted file]
extra/xmode/modes/rib.xml [deleted file]
extra/xmode/modes/rpmspec.xml [deleted file]
extra/xmode/modes/rtf.xml [deleted file]
extra/xmode/modes/ruby.xml [deleted file]
extra/xmode/modes/rview.xml [deleted file]
extra/xmode/modes/sas.xml [deleted file]
extra/xmode/modes/scheme.xml [deleted file]
extra/xmode/modes/sdl_pr.xml [deleted file]
extra/xmode/modes/sgml.xml [deleted file]
extra/xmode/modes/shellscript.xml [deleted file]
extra/xmode/modes/shtml.xml [deleted file]
extra/xmode/modes/slate.xml [deleted file]
extra/xmode/modes/smalltalk.xml [deleted file]
extra/xmode/modes/smi-mib.xml [deleted file]
extra/xmode/modes/splus.xml [deleted file]
extra/xmode/modes/sql-loader.xml [deleted file]
extra/xmode/modes/sqr.xml [deleted file]
extra/xmode/modes/squidconf.xml [deleted file]
extra/xmode/modes/ssharp.xml [deleted file]
extra/xmode/modes/svn-commit.xml [deleted file]
extra/xmode/modes/swig.xml [deleted file]
extra/xmode/modes/tcl.xml [deleted file]
extra/xmode/modes/tex.xml [deleted file]
extra/xmode/modes/texinfo.xml [deleted file]
extra/xmode/modes/text.xml [deleted file]
extra/xmode/modes/tpl.xml [deleted file]
extra/xmode/modes/tsql.xml [deleted file]
extra/xmode/modes/tthtml.xml [deleted file]
extra/xmode/modes/twiki.xml [deleted file]
extra/xmode/modes/typoscript.xml [deleted file]
extra/xmode/modes/uscript.xml [deleted file]
extra/xmode/modes/vbscript.xml [deleted file]
extra/xmode/modes/velocity.xml [deleted file]
extra/xmode/modes/verilog.xml [deleted file]
extra/xmode/modes/vhdl.xml [deleted file]
extra/xmode/modes/xml.xml [deleted file]
extra/xmode/modes/xq.xml [deleted file]
extra/xmode/modes/xsl.xml [deleted file]
extra/xmode/modes/zpt.xml [deleted file]
extra/xmode/rules/authors.txt [deleted file]
extra/xmode/rules/rules-tests.factor [deleted file]
extra/xmode/rules/rules.factor [deleted file]
extra/xmode/summary.txt [deleted file]
extra/xmode/tokens/authors.txt [deleted file]
extra/xmode/tokens/tokens.factor [deleted file]
extra/xmode/utilities/authors.txt [deleted file]
extra/xmode/utilities/test.xml [deleted file]
extra/xmode/utilities/utilities-tests.factor [deleted file]
extra/xmode/utilities/utilities.factor [deleted file]
extra/xmode/xmode.dtd [deleted file]

diff --git a/basis/farkup/authors.txt b/basis/farkup/authors.txt
new file mode 100644 (file)
index 0000000..5674120
--- /dev/null
@@ -0,0 +1,2 @@
+Doug Coleman
+Slava Pestov
diff --git a/basis/farkup/farkup-docs.factor b/basis/farkup/farkup-docs.factor
new file mode 100644 (file)
index 0000000..b2b662d
--- /dev/null
@@ -0,0 +1,6 @@
+USING: help.markup help.syntax ;
+IN: farkup
+
+HELP: convert-farkup
+{ $values { "string" "a string" } { "string'" "a string" } }
+{ $description "Parse a string as farkup (Factor mARKUP) and output the result aas an string of HTML." } ;
diff --git a/basis/farkup/farkup-tests.factor b/basis/farkup/farkup-tests.factor
new file mode 100644 (file)
index 0000000..0f96934
--- /dev/null
@@ -0,0 +1,99 @@
+! Copyright (C) 2008 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: farkup kernel peg peg.ebnf tools.test ;
+IN: farkup.tests
+
+[ ] [
+    "abcd-*strong*\nasdifj\nweouh23ouh23"
+    "paragraph" \ farkup rule parse drop
+] unit-test
+
+[ ] [
+    "abcd-*strong*\nasdifj\nweouh23ouh23\n"
+    "paragraph" \ farkup rule parse drop
+] unit-test
+
+[ "<p>a-b</p>" ] [ "a-b" convert-farkup ] unit-test
+[ "<p>*foo\nbar\n</p>" ] [ "*foo\nbar\n" convert-farkup ] unit-test
+[ "<p><strong>Wow!</strong></p>" ] [ "*Wow!*" convert-farkup ] unit-test
+[ "<p><em>Wow.</em></p>" ] [ "_Wow._" convert-farkup ] unit-test
+
+[ "<p>*</p>" ] [ "*" convert-farkup ] unit-test
+[ "<p>*</p>" ] [ "\\*" convert-farkup ] unit-test
+[ "<p>**</p>" ] [ "\\**" convert-farkup ] unit-test
+
+[ "<ul><li>a-b</li></ul>" ] [ "-a-b" convert-farkup ] unit-test
+[ "<ul><li>foo</li></ul>" ] [ "-foo" convert-farkup ] unit-test
+[ "<ul><li>foo</li>\n</ul>" ] [ "-foo\n" convert-farkup ] unit-test
+[ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [ "-foo\n-bar" convert-farkup ] unit-test
+[ "<ul><li>foo</li>\n<li>bar</li>\n</ul>" ] [ "-foo\n-bar\n" convert-farkup ] unit-test
+
+[ "<ul><li>foo</li>\n</ul><p>bar\n</p>" ] [ "-foo\nbar\n" convert-farkup ] unit-test
+
+
+[ "\n\n" ] [ "\n\n" convert-farkup ] unit-test
+[ "\n\n" ] [ "\r\n\r\n" convert-farkup ] unit-test
+[ "\n\n\n\n" ] [ "\r\r\r\r" convert-farkup ] unit-test
+[ "\n\n\n" ] [ "\r\r\r" convert-farkup ] unit-test
+[ "\n\n\n" ] [ "\n\n\n" convert-farkup ] unit-test
+[ "<p>foo</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
+[ "<p>foo</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
+[ "<p>foo</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
+[ "<p>foo</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
+
+[ "\n<p>bar\n</p>" ] [ "\nbar\n" convert-farkup ] unit-test
+[ "\n<p>bar\n</p>" ] [ "\rbar\r" convert-farkup ] unit-test
+[ "\n<p>bar\n</p>" ] [ "\r\nbar\r\n" convert-farkup ] unit-test
+
+[ "<p>foo</p><p>bar</p>" ] [ "foo\n\n\nbar" convert-farkup ] unit-test
+
+[ "" ] [ "" convert-farkup ] unit-test
+
+[ "<p>|a</p>" ]
+[ "|a" convert-farkup ] unit-test
+
+[ "<table><tr><td>a</td></tr></table>" ]
+[ "|a|" convert-farkup ] unit-test
+
+[ "<table><tr><td>a</td><td>b</td></tr></table>" ]
+[ "|a|b|" convert-farkup ] unit-test
+
+[ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
+[ "|a|b|\n|c|d|" convert-farkup ] unit-test
+
+[ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
+[ "|a|b|\n|c|d|\n" convert-farkup ] unit-test
+
+[ "<p><strong>foo</strong>\n</p><h1>aheading</h1>\n<p>adfasd</p>" ]
+[ "*foo*\n=aheading=\nadfasd" convert-farkup ] unit-test
+
+[ "<h1>foo</h1>\n" ] [ "=foo=\n" convert-farkup ] unit-test
+[ "<p>lol</p><h1>foo</h1>\n" ] [ "lol=foo=\n" convert-farkup ] unit-test
+[ "<p>=foo\n</p>" ] [ "=foo\n" convert-farkup ] unit-test
+[ "<p>=foo</p>" ] [ "=foo" convert-farkup ] unit-test
+[ "<p>==foo</p>" ] [ "==foo" convert-farkup ] unit-test
+[ "<p>=</p><h1>foo</h1>" ] [ "==foo=" convert-farkup ] unit-test
+[ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
+[ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
+[ "<p>=</p><h2>foo</h2>" ] [ "===foo==" convert-farkup ] unit-test
+[ "<h1>foo</h1><p>=</p>" ] [ "=foo==" convert-farkup ] unit-test
+
+[ "<pre><span class='KEYWORD3'>int</span> <span class='FUNCTION'>main</span><span class='OPERATOR'>(</span><span class='OPERATOR'>)</span>\n</pre>" ]
+[ "[c{int main()}]" convert-farkup ] unit-test
+
+[ "<p><img src=\"lol.jpg\"/></p>" ] [ "[[image:lol.jpg]]" convert-farkup ] unit-test
+[ "<p><img src=\"lol.jpg\" alt=\"teh lol\"/></p>" ] [ "[[image:lol.jpg|teh lol]]" convert-farkup ] unit-test
+[ "<p><a href=\"lol.com\">lol.com</a></p>" ] [ "[[lol.com]]" convert-farkup ] unit-test
+[ "<p><a href=\"lol.com\">haha</a></p>" ] [ "[[lol.com|haha]]" convert-farkup ] unit-test
+
+[ ] [ "[{}]" convert-farkup drop ] unit-test
+
+[ "<pre>hello\n</pre>" ] [ "[{hello}]" convert-farkup ] unit-test
+
+[
+    "<p>Feature comparison:\n<table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table></p>"
+] [ "Feature comparison:\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
+
+[
+    "<p>Feature comparison:</p><table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table>"
+] [ "Feature comparison:\n\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
diff --git a/basis/farkup/farkup.factor b/basis/farkup/farkup.factor
new file mode 100644 (file)
index 0000000..baf2cca
--- /dev/null
@@ -0,0 +1,180 @@
+! Copyright (C) 2008 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors arrays combinators html.elements io io.streams.string
+kernel math memoize namespaces peg peg.ebnf prettyprint
+sequences sequences.deep strings xml.entities vectors splitting
+xmode.code2html ;
+IN: farkup
+
+SYMBOL: relative-link-prefix
+SYMBOL: disable-images?
+SYMBOL: link-no-follow?
+
+TUPLE: heading1 obj ;
+TUPLE: heading2 obj ;
+TUPLE: heading3 obj ;
+TUPLE: heading4 obj ;
+TUPLE: strong obj ;
+TUPLE: emphasis obj ;
+TUPLE: superscript obj ;
+TUPLE: subscript obj ;
+TUPLE: inline-code obj ;
+TUPLE: paragraph obj ;
+TUPLE: list-item obj ;
+TUPLE: list obj ;
+TUPLE: table obj ;
+TUPLE: table-row obj ;
+TUPLE: link href text ;
+TUPLE: image href text ;
+TUPLE: code mode string ;
+
+EBNF: farkup
+nl               = ("\r\n" | "\r" | "\n") => [[ drop "\n" ]]
+2nl              = nl nl
+
+heading1      = "=" (!("=" | nl).)+ "="
+    => [[ second >string heading1 boa ]]
+
+heading2      = "==" (!("=" | nl).)+ "=="
+    => [[ second >string heading2 boa ]]
+
+heading3      = "===" (!("=" | nl).)+ "==="
+    => [[ second >string heading3 boa ]]
+
+heading4      = "====" (!("=" | nl).)+ "===="
+    => [[ second >string heading4 boa ]]
+
+strong        = "*" (!("*" | nl).)+ "*"
+    => [[ second >string strong boa ]]
+
+emphasis      = "_" (!("_" | nl).)+ "_"
+    => [[ second >string emphasis boa ]]
+
+superscript   = "^" (!("^" | nl).)+ "^"
+    => [[ second >string superscript boa ]]
+
+subscript     = "~" (!("~" | nl).)+ "~"
+    => [[ second >string subscript boa ]]
+
+inline-code   = "%" (!("%" | nl).)+ "%"
+    => [[ second >string inline-code boa ]]
+
+escaped-char  = "\" .                => [[ second ]]
+
+image-link       = "[[image:" (!("|") .)+  "|" (!("]]").)+ "]]"
+                    => [[ [ second >string ] [ fourth >string ] bi image boa ]]
+                  | "[[image:" (!("]").)+ "]]"
+                    => [[ second >string f image boa ]]
+
+simple-link      = "[[" (!("|]" | "]]") .)+ "]]"
+    => [[ second >string dup link boa ]]
+
+labelled-link    = "[[" (!("|") .)+ "|" (!("]]").)+ "]]"
+    => [[ [ second >string ] [ fourth >string ] bi link boa ]]
+
+link             = image-link | labelled-link | simple-link
+
+heading          = heading4 | heading3 | heading2 | heading1
+
+inline-tag       = strong | emphasis | superscript | subscript | inline-code
+                   | link | escaped-char
+
+inline-delimiter = '*' | '_' | '^' | '~' | '%' | '\' | '['
+
+table-column     = (list | (!(nl | inline-delimiter | '|').)+ | inline-tag | inline-delimiter  ) '|'
+    => [[ first ]]
+table-row        = "|" (table-column)+
+    => [[ second table-row boa ]]
+table            =  ((table-row nl => [[ first ]] )+ table-row? | table-row)
+    => [[ table boa ]]
+
+paragraph-item = ( table | (!(nl | code | heading | inline-delimiter | table ).) | inline-tag | inline-delimiter)+
+paragraph = ((paragraph-item nl => [[ first ]])+ nl+ => [[ first ]]
+             | (paragraph-item nl)+ paragraph-item?
+             | paragraph-item)
+    => [[ paragraph boa ]]
+                
+list-item      = '-' ((!(inline-delimiter | nl).)+ | inline-tag)*
+    => [[ second list-item boa ]]
+list = ((list-item nl)+ list-item? | list-item)
+    => [[ list boa ]]
+
+code       =  '[' (!('{' | nl | '[').)+ '{' (!("}]").)+ "}]"
+    => [[ [ second >string ] [ fourth >string ] bi code boa ]]
+
+stand-alone      = (code | heading | list | table | paragraph | nl)*
+;EBNF
+
+
+
+: invalid-url "javascript:alert('Invalid URL in farkup');" ;
+
+: check-url ( href -- href' )
+    {
+        { [ dup empty? ] [ drop invalid-url ] }
+        { [ dup [ 127 > ] contains? ] [ drop invalid-url ] }
+        { [ dup first "/\\" member? ] [ drop invalid-url ] }
+        { [ CHAR: : over member? ] [
+            dup { "http://" "https://" "ftp://" } [ head? ] with contains?
+            [ drop invalid-url ] unless
+        ] }
+        [ relative-link-prefix get prepend ]
+    } cond ;
+
+: escape-link ( href text -- href-esc text-esc )
+    >r check-url escape-quoted-string r> escape-string ;
+
+: write-link ( text href -- )
+    escape-link
+    "<a" write
+    " href=\"" write write "\"" write
+    link-no-follow? get [ " nofollow=\"true\"" write ] when
+    ">" write write "</a>" write ;
+
+: write-image-link ( href text -- )
+    disable-images? get [
+        2drop "<strong>Images are not allowed</strong>" write
+    ] [
+        escape-link
+        >r "<img src=\"" write write "\"" write r>
+        dup empty? [ drop ] [ " alt=\"" write write "\"" write ] if
+        "/>" write
+    ] if ;
+
+: render-code ( string mode -- string' )
+    >r string-lines r>
+    [
+        <pre>
+            htmlize-lines
+        </pre>
+    ] with-string-writer write ;
+
+GENERIC: write-farkup ( obj -- )
+: <foo.> ( string -- ) <foo> write ;
+: </foo.> ( string -- ) </foo> write ;
+: in-tag. ( obj quot string -- ) [ <foo.> call ] keep </foo.> ; inline
+M: heading1 write-farkup ( obj -- ) [ obj>> write-farkup ] "h1" in-tag. ;
+M: heading2 write-farkup ( obj -- ) [ obj>> write-farkup ] "h2" in-tag. ;
+M: heading3 write-farkup ( obj -- ) [ obj>> write-farkup ] "h3" in-tag. ;
+M: heading4 write-farkup ( obj -- ) [ obj>> write-farkup ] "h4" in-tag. ;
+M: strong write-farkup ( obj -- ) [ obj>> write-farkup ] "strong" in-tag. ;
+M: emphasis write-farkup ( obj -- ) [ obj>> write-farkup ] "em" in-tag. ;
+M: superscript write-farkup ( obj -- ) [ obj>> write-farkup ] "sup" in-tag. ;
+M: subscript write-farkup ( obj -- ) [ obj>> write-farkup ] "sub" in-tag. ;
+M: inline-code write-farkup ( obj -- ) [ obj>> write-farkup ] "code" in-tag. ;
+M: list-item write-farkup ( obj -- ) [ obj>> write-farkup ] "li" in-tag. ;
+M: list write-farkup ( obj -- ) [ obj>> write-farkup ] "ul" in-tag. ;
+M: paragraph write-farkup ( obj -- ) [ obj>> write-farkup ] "p" in-tag. ;
+M: link write-farkup ( obj -- ) [ text>> ] [ href>> ] bi write-link ;
+M: image write-farkup ( obj -- ) [ href>> ] [ text>> ] bi write-image-link ;
+M: code write-farkup ( obj -- ) [ string>> ] [ mode>> ] bi render-code ;
+M: table-row write-farkup ( obj -- )
+    obj>> [ [ [ write-farkup ] "td" in-tag. ] each ] "tr" in-tag. ;
+M: table write-farkup ( obj -- ) [ obj>> write-farkup ] "table" in-tag. ;
+M: fixnum write-farkup ( obj -- ) write1 ;
+M: string write-farkup ( obj -- ) write ;
+M: vector write-farkup ( obj -- ) [ write-farkup ] each ;
+M: f write-farkup ( obj -- ) drop ;
+
+: convert-farkup ( string -- string' )
+    farkup [ write-farkup ] with-string-writer ;
diff --git a/basis/farkup/summary.txt b/basis/farkup/summary.txt
new file mode 100644 (file)
index 0000000..c6e75d2
--- /dev/null
@@ -0,0 +1 @@
+Simple markup language for generating HTML
diff --git a/basis/farkup/tags.txt b/basis/farkup/tags.txt
new file mode 100644 (file)
index 0000000..8e27be7
--- /dev/null
@@ -0,0 +1 @@
+text
diff --git a/basis/furnace/actions/actions-tests.factor b/basis/furnace/actions/actions-tests.factor
new file mode 100755 (executable)
index 0000000..60a526f
--- /dev/null
@@ -0,0 +1,41 @@
+USING: kernel furnace.actions validators
+tools.test math math.parser multiline namespaces http
+io.streams.string http.server sequences splitting accessors ;
+IN: furnace.actions.tests
+
+<action>
+    [ "a" param "b" param [ string>number ] bi@ + ] >>display
+"action-1" set
+
+: lf>crlf "\n" split "\r\n" join ;
+
+STRING: action-request-test-1
+GET http://foo/bar?a=12&b=13 HTTP/1.1
+
+blah
+;
+
+[ 25 ] [
+    action-request-test-1 lf>crlf
+    [ read-request ] with-string-reader
+    init-request
+    { } "action-1" get call-responder
+] unit-test
+
+<action>
+    "a" >>rest
+    [ "a" param string>number sq ] >>display
+"action-2" set
+
+STRING: action-request-test-2
+GET http://foo/bar/123 HTTP/1.1
+
+blah
+;
+
+[ 25 ] [
+    action-request-test-2 lf>crlf
+    [ read-request ] with-string-reader
+    init-request
+    { "5" } "action-2" get call-responder
+] unit-test
diff --git a/basis/furnace/actions/actions.factor b/basis/furnace/actions/actions.factor
new file mode 100755 (executable)
index 0000000..d42972c
--- /dev/null
@@ -0,0 +1,136 @@
+! Copyright (C) 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: accessors sequences kernel assocs combinators\r
+validators http hashtables namespaces fry continuations locals\r
+io arrays math boxes splitting urls\r
+xml.entities\r
+http.server\r
+http.server.responses\r
+furnace\r
+furnace.redirection\r
+furnace.conversations\r
+html.forms\r
+html.elements\r
+html.components\r
+html.components\r
+html.templates.chloe\r
+html.templates.chloe.syntax ;\r
+IN: furnace.actions\r
+\r
+SYMBOL: params\r
+\r
+SYMBOL: rest\r
+\r
+: render-validation-messages ( -- )\r
+    form get errors>>\r
+    dup empty? [ drop ] [\r
+        <ul "errors" =class ul>\r
+            [ <li> escape-string write </li> ] each\r
+        </ul>\r
+    ] if ;\r
+\r
+CHLOE: validation-messages drop render-validation-messages ;\r
+\r
+TUPLE: action rest authorize init display validate submit ;\r
+\r
+: new-action ( class -- action )\r
+    new [ ] >>init [ ] >>validate [ ] >>authorize ; inline\r
+\r
+: <action> ( -- action )\r
+    action new-action ;\r
+\r
+: merge-forms ( form -- )\r
+    form get\r
+    [ [ errors>> ] bi@ push-all ]\r
+    [ [ values>> ] bi@ swap update ]\r
+    [ swap validation-failed>> >>validation-failed drop ]\r
+    2tri ;\r
+\r
+: set-nested-form ( form name -- )\r
+    dup empty? [\r
+        drop merge-forms\r
+    ] [\r
+        unclip [ set-nested-form ] nest-form\r
+    ] if ;\r
+\r
+: restore-validation-errors ( -- )\r
+    form cget [\r
+        nested-forms cget set-nested-form\r
+    ] when* ;\r
+\r
+: handle-get ( action -- response )\r
+    '[\r
+        , dup display>> [\r
+            {\r
+                [ init>> call ]\r
+                [ authorize>> call ]\r
+                [ drop restore-validation-errors ]\r
+                [ display>> call ]\r
+            } cleave\r
+        ] [ drop <400> ] if\r
+    ] with-exit-continuation ;\r
+\r
+: param ( name -- value )\r
+    params get at ;\r
+\r
+: revalidate-url-key "__u" ;\r
+\r
+: revalidate-url ( -- url/f )\r
+    revalidate-url-key param\r
+    dup [ >url [ same-host? ] keep and ] when ;\r
+\r
+: validation-failed ( -- * )\r
+    post-request? revalidate-url and [\r
+        begin-conversation\r
+        nested-forms-key param " " split harvest nested-forms cset\r
+        form get form cset\r
+        <redirect>\r
+    ] [ <400> ] if*\r
+    exit-with ;\r
+\r
+: handle-post ( action -- response )\r
+    '[\r
+        , dup submit>> [\r
+            [ validate>> call ]\r
+            [ authorize>> call ]\r
+            [ submit>> call ]\r
+            tri\r
+        ] [ drop <400> ] if\r
+    ] with-exit-continuation ;\r
+\r
+: handle-rest ( path action -- assoc )\r
+    rest>> dup [ [ "/" join ] dip associate ] [ 2drop f ] if ;\r
+\r
+: init-action ( path action -- )\r
+    begin-form\r
+    handle-rest\r
+    request get request-params assoc-union params set ;\r
+\r
+M: action call-responder* ( path action -- response )\r
+    [ init-action ] keep\r
+    request get method>> {\r
+        { "GET" [ handle-get ] }\r
+        { "HEAD" [ handle-get ] }\r
+        { "POST" [ handle-post ] }\r
+    } case ;\r
+\r
+M: action modify-form\r
+    drop url get revalidate-url-key hidden-form-field ;\r
+\r
+: check-validation ( -- )\r
+    validation-failed? [ validation-failed ] when ;\r
+\r
+: validate-params ( validators -- )\r
+    params get swap validate-values check-validation ;\r
+\r
+: validate-integer-id ( -- )\r
+    { { "id" [ v-number ] } } validate-params ;\r
+\r
+TUPLE: page-action < action template ;\r
+\r
+: <chloe-content> ( path -- response )\r
+    resolve-template-path <chloe> "text/html" <content> ;\r
+\r
+: <page-action> ( -- page )\r
+    page-action new-action\r
+        dup '[ , template>> <chloe-content> ] >>display ;\r
diff --git a/basis/furnace/alloy/alloy.factor b/basis/furnace/alloy/alloy.factor
new file mode 100644 (file)
index 0000000..29cb37b
--- /dev/null
@@ -0,0 +1,30 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel sequences db.tuples alarms calendar db fry
+furnace.db
+furnace.cache
+furnace.referrer
+furnace.sessions
+furnace.conversations
+furnace.auth.providers
+furnace.auth.login.permits ;
+IN: furnace.alloy
+
+: <alloy> ( responder db params -- responder' )
+    '[
+        <conversations>
+        <sessions>
+        , , <db-persistence>
+        <check-form-submissions>
+    ] call ;
+
+: state-classes { session conversation permit } ; inline
+
+: init-furnace-tables ( -- )
+    state-classes ensure-tables
+    user ensure-table ;
+
+: start-expiring ( db params -- )
+    '[
+        , , [ state-classes [ expire-state ] each ] with-db
+    ] 5 minutes every drop ;
diff --git a/basis/furnace/auth/auth-tests.factor b/basis/furnace/auth/auth-tests.factor
new file mode 100644 (file)
index 0000000..220a8cd
--- /dev/null
@@ -0,0 +1,6 @@
+USING: furnace.auth tools.test ;
+IN: furnace.auth.tests
+
+\ logged-in-username must-infer
+\ <protected> must-infer
+\ new-realm must-infer
diff --git a/basis/furnace/auth/auth.factor b/basis/furnace/auth/auth.factor
new file mode 100755 (executable)
index 0000000..4487759
--- /dev/null
@@ -0,0 +1,167 @@
+! Copyright (c) 2008 Slava Pestov\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: accessors assocs namespaces kernel sequences sets\r
+destructors combinators fry logging\r
+io.encodings.utf8 io.encodings.string io.binary random\r
+checksums checksums.sha2\r
+html.forms\r
+http.server\r
+http.server.filters\r
+http.server.dispatchers\r
+furnace\r
+furnace.actions\r
+furnace.redirection\r
+furnace.boilerplate\r
+furnace.auth.providers\r
+furnace.auth.providers.db ;\r
+IN: furnace.auth\r
+\r
+SYMBOL: logged-in-user\r
+\r
+: logged-in? ( -- ? )\r
+    logged-in-user get >boolean ;\r
+\r
+: username ( -- string/f )\r
+    logged-in-user get dup [ username>> ] when ;\r
+\r
+GENERIC: init-user-profile ( responder -- )\r
+\r
+M: object init-user-profile drop ;\r
+\r
+M: dispatcher init-user-profile\r
+    default>> init-user-profile ;\r
+\r
+M: filter-responder init-user-profile\r
+    responder>> init-user-profile ;\r
+\r
+: profile ( -- assoc ) logged-in-user get profile>> ;\r
+\r
+: user-changed ( -- )\r
+    logged-in-user get t >>changed? drop ;\r
+\r
+: uget ( key -- value )\r
+    profile at ;\r
+\r
+: uset ( value key -- )\r
+    profile set-at\r
+    user-changed ;\r
+\r
+: uchange ( quot key -- )\r
+    profile swap change-at\r
+    user-changed ; inline\r
+\r
+SYMBOL: capabilities\r
+\r
+V{ } clone capabilities set-global\r
+\r
+: define-capability ( word -- ) capabilities get adjoin ;\r
+\r
+TUPLE: realm < dispatcher name users checksum secure ;\r
+\r
+GENERIC: login-required* ( description capabilities realm -- response )\r
+\r
+GENERIC: init-realm ( realm -- )\r
+\r
+GENERIC: logged-in-username ( realm -- username )\r
+\r
+: login-required ( description capabilities -- * )\r
+    realm get login-required* exit-with ;\r
+\r
+: new-realm ( responder name class -- realm )\r
+    new-dispatcher\r
+        swap >>name\r
+        swap >>default\r
+        users-in-db >>users\r
+        sha-256 >>checksum\r
+        t >>secure ; inline\r
+\r
+: users ( -- provider )\r
+    realm get users>> ;\r
+\r
+TUPLE: user-saver user ;\r
+\r
+C: <user-saver> user-saver\r
+\r
+M: user-saver dispose\r
+    user>> dup changed?>> [ users update-user ] [ drop ] if ;\r
+\r
+: save-user-after ( user -- )\r
+    <user-saver> &dispose drop ;\r
+\r
+: init-user ( user -- )\r
+    [ [ logged-in-user set ] [ save-user-after ] bi ] when* ;\r
+\r
+\ init-user DEBUG add-input-logging\r
+\r
+M: realm call-responder* ( path responder -- response )\r
+    dup realm set\r
+    logged-in? [\r
+        dup init-realm\r
+        dup logged-in-username\r
+        dup [ users get-user ] when\r
+        init-user\r
+    ] unless\r
+    call-next-method ;\r
+\r
+: encode-password ( string salt -- bytes )\r
+    [ utf8 encode ] [ 4 >be ] bi* append\r
+    realm get checksum>> checksum-bytes ;\r
+\r
+: >>encoded-password ( user string -- user )\r
+    32 random-bits [ encode-password ] keep\r
+    [ >>password ] [ >>salt ] bi* ; inline\r
+\r
+: valid-login? ( password user -- ? )\r
+    [ salt>> encode-password ] [ password>> ] bi = ;\r
+\r
+: check-login ( password username -- user/f )\r
+    users get-user dup [ [ valid-login? ] keep and ] [ 2drop f ] if ;\r
+\r
+: if-secure-realm ( quot -- )\r
+    realm get secure>> [ if-secure ] [ call ] if ; inline\r
+\r
+TUPLE: secure-realm-only < filter-responder ;\r
+\r
+C: <secure-realm-only> secure-realm-only\r
+\r
+M: secure-realm-only call-responder*\r
+    '[ , , call-next-method ] if-secure-realm ;\r
+\r
+TUPLE: protected < filter-responder description capabilities ;\r
+\r
+: <protected> ( responder -- protected )\r
+    protected new\r
+        swap >>responder ;\r
+\r
+: have-capabilities? ( capabilities -- ? )\r
+    logged-in-user get {\r
+        { [ dup not ] [ 2drop f ] }\r
+        { [ dup deleted>> 1 = ] [ 2drop f ] }\r
+        [ capabilities>> subset? ]\r
+    } cond ;\r
+\r
+M: protected call-responder* ( path responder -- response )\r
+    '[\r
+        , ,\r
+        dup protected set\r
+        dup capabilities>> have-capabilities?\r
+        [ call-next-method ] [\r
+            [ drop ] [ [ description>> ] [ capabilities>> ] bi ] bi*\r
+            realm get login-required*\r
+        ] if\r
+    ] if-secure-realm ;\r
+\r
+: <auth-boilerplate> ( responder -- responder' )\r
+    <boilerplate> { realm "boilerplate" } >>template ;\r
+\r
+: password-mismatch ( -- * )\r
+    "passwords do not match" validation-error\r
+    validation-failed ;\r
+\r
+: same-password-twice ( -- )\r
+    "new-password" value "verify-password" value =\r
+    [ password-mismatch ] unless ;\r
+\r
+: user-exists ( -- * )\r
+    "username taken" validation-error\r
+    validation-failed ;\r
diff --git a/basis/furnace/auth/basic/basic.factor b/basis/furnace/auth/basic/basic.factor
new file mode 100755 (executable)
index 0000000..ff3c302
--- /dev/null
@@ -0,0 +1,29 @@
+! Copyright (c) 2007 Chris Double.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: accessors kernel splitting base64 namespaces strings\r
+http http.server.responses furnace.auth ;\r
+IN: furnace.auth.basic\r
+\r
+TUPLE: basic-auth-realm < realm ;\r
+\r
+: <basic-auth-realm> ( responder name -- realm )\r
+    basic-auth-realm new-realm ;\r
+\r
+: parse-basic-auth ( header -- username/f password/f )\r
+    dup [\r
+        " " split1 swap "Basic" = [\r
+            base64> >string ":" split1\r
+        ] [ drop f f ] if\r
+    ] [ drop f f ] if ;\r
+\r
+: <401> ( realm -- response )\r
+    401 "Invalid username or password" <trivial-response>\r
+    [ "Basic realm=\"" % swap % "\"" % ] "" make "WWW-Authenticate" set-header ;\r
+\r
+M: basic-auth-realm login-required* ( description capabilities realm -- response )\r
+    2nip name>> <401> ;\r
+\r
+M: basic-auth-realm logged-in-username ( realm -- uid )\r
+    drop\r
+    request get "authorization" header parse-basic-auth\r
+    dup [ over check-login swap and ] [ 2drop f ] if ;\r
diff --git a/basis/furnace/auth/boilerplate.xml b/basis/furnace/auth/boilerplate.xml
new file mode 100644 (file)
index 0000000..edc8c32
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <h1><t:write-title /></h1>
+
+       <t:call-next-template />
+
+</t:chloe>
diff --git a/basis/furnace/auth/features/deactivate-user/deactivate-user.factor b/basis/furnace/auth/features/deactivate-user/deactivate-user.factor
new file mode 100644 (file)
index 0000000..43560d0
--- /dev/null
@@ -0,0 +1,27 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel assocs namespaces accessors db db.tuples urls
+http.server.dispatchers
+furnace.conversations
+furnace.actions
+furnace.auth
+furnace.auth.providers ;
+IN: furnace.auth.features.deactivate-user
+
+: <deactivate-user-action> ( -- action )
+    <action>
+        [
+            logged-in-user get
+                1 >>deleted
+                t >>changed?
+            drop
+            URL" $realm" end-aside
+        ] >>submit ;
+    
+: allow-deactivation ( realm -- realm )
+    <deactivate-user-action> <protected>
+        "delete your profile" >>description
+    "deactivate-user" add-responder ;
+
+: allow-deactivation? ( -- ? )
+    realm get responders>> "deactivate-user" swap key? ;
diff --git a/basis/furnace/auth/features/edit-profile/edit-profile-tests.factor b/basis/furnace/auth/features/edit-profile/edit-profile-tests.factor
new file mode 100644 (file)
index 0000000..d0fdf22
--- /dev/null
@@ -0,0 +1,4 @@
+IN: furnace.auth.features.edit-profile.tests
+USING: tools.test furnace.auth.features.edit-profile ;
+
+\ allow-edit-profile must-infer
diff --git a/basis/furnace/auth/features/edit-profile/edit-profile.factor b/basis/furnace/auth/features/edit-profile/edit-profile.factor
new file mode 100644 (file)
index 0000000..fb4fbb8
--- /dev/null
@@ -0,0 +1,65 @@
+! Copyright (c) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors namespaces sequences assocs
+validators urls html.forms http.server.dispatchers
+furnace.auth
+furnace.actions
+furnace.conversations ;
+IN: furnace.auth.features.edit-profile
+
+: <edit-profile-action> ( -- action )
+    <page-action>
+        [
+            logged-in-user get
+            [ username>> "username" set-value ]
+            [ realname>> "realname" set-value ]
+            [ email>> "email" set-value ]
+            tri
+        ] >>init
+
+        { realm "features/edit-profile/edit-profile" } >>template
+
+        [
+            username "username" set-value
+
+            {
+                { "realname" [ [ v-one-line ] v-optional ] }
+                { "password" [ ] }
+                { "new-password" [ [ v-password ] v-optional ] }
+                { "verify-password" [ [ v-password ] v-optional ] } 
+                { "email" [ [ v-email ] v-optional ] }
+            } validate-params
+
+            { "password" "new-password" "verify-password" }
+            [ value empty? not ] contains? [
+                "password" value username check-login
+                [ "incorrect password" validation-error ] unless
+
+                same-password-twice
+            ] when
+        ] >>validate
+
+        [
+            logged-in-user get
+
+            "new-password" value dup empty?
+            [ drop ] [ >>encoded-password ] if
+
+            "realname" value >>realname
+            "email" value >>email
+
+            t >>changed?
+
+            drop
+
+            URL" $realm" end-aside
+        ] >>submit
+
+    <protected>
+        "edit your profile" >>description ;
+
+: allow-edit-profile ( login -- login )
+    <edit-profile-action> <auth-boilerplate> "edit-profile" add-responder ;
+
+: allow-edit-profile? ( -- ? )
+    realm get responders>> "edit-profile" swap key? ;
diff --git a/basis/furnace/auth/features/edit-profile/edit-profile.xml b/basis/furnace/auth/features/edit-profile/edit-profile.xml
new file mode 100644 (file)
index 0000000..a9d7994
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>Edit Profile</t:title>
+
+       <t:form t:action="$realm/edit-profile">
+
+       <table>
+       
+       <tr>
+               <th class="field-label">User name:</th>
+               <td><t:label t:name="username" /></td>
+       </tr>
+       
+       <tr>
+               <th class="field-label">Real name:</th>
+               <td><t:field t:name="realname" /></td>
+       </tr>
+       
+       <tr>
+               <td></td>
+               <td>Specifying a real name is optional.</td>
+       </tr>
+       
+       <tr>
+               <th class="field-label">Current password:</th>
+               <td><t:password t:name="password" /></td>
+       </tr>
+       
+       <tr>
+               <td></td>
+               <td>If you don't want to change your current password, leave this field blank.</td>
+       </tr>
+       
+       <tr>
+               <th class="field-label">New password:</th>
+               <td><t:password t:name="new-password" /></td>
+       </tr>
+       
+       <tr>
+               <th class="field-label">Verify:</th>
+               <td><t:password t:name="verify-password" /></td>
+       </tr>
+       
+       <tr>
+               <td></td>
+               <td>If you are changing your password, enter it twice to ensure it is correct.</td>
+       </tr>
+       
+       <tr>
+               <th class="field-label">E-mail:</th>
+               <td><t:field t:name="email" /></td>
+       </tr>
+       
+       <tr>
+               <td></td>
+               <td>Specifying an e-mail address is optional. It enables the "recover password" feature.</td>
+       </tr>
+       
+       </table>
+
+       <p>
+               <input type="submit" value="Update" />
+               <t:validation-messages />
+       </p>
+
+       </t:form>
+       
+       <t:if t:code="furnace.auth.features.deactivate-user:allow-deactivation?">
+               <t:button t:action="$realm/deactivate-user">Delete User</t:button>
+       </t:if>
+</t:chloe>
diff --git a/basis/furnace/auth/features/recover-password/recover-1.xml b/basis/furnace/auth/features/recover-password/recover-1.xml
new file mode 100644 (file)
index 0000000..46e52d5
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>Recover lost password: step 1 of 4</t:title>
+
+       <p>Enter the username and e-mail address you used to register for this site, and you will receive a link for activating a new password.</p>
+
+       <t:form t:action="$realm/recover-password">
+
+               <table>
+
+                       <tr>
+                               <th class="field-label">User name:</th>
+                               <td><t:field t:name="username" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">E-mail:</th>
+                               <td><t:field t:name="email" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Captcha:</th>
+                               <td><t:field t:name="captcha" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Leave the captcha blank. Spam-bots will fill it indiscriminantly, so their attempts to e-mail you will be blocked.</td>
+                       </tr>
+
+               </table>
+
+               <input type="submit" value="Recover password" />
+
+       </t:form>
+
+</t:chloe>
diff --git a/basis/furnace/auth/features/recover-password/recover-2.xml b/basis/furnace/auth/features/recover-password/recover-2.xml
new file mode 100644 (file)
index 0000000..c7819bd
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>Recover lost password: step 2 of 4</t:title>
+
+       <p>If you entered the correct username and e-mail address, you should receive an e-mail shortly. Click the link in the e-mail for further instructions.</p>
+
+</t:chloe>
diff --git a/basis/furnace/auth/features/recover-password/recover-3.xml b/basis/furnace/auth/features/recover-password/recover-3.xml
new file mode 100644 (file)
index 0000000..a71118e
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>Recover lost password: step 3 of 4</t:title>
+
+       <p>Choose a new password for your account.</p>
+
+       <t:form t:action="$realm/recover-3">
+
+               <table>
+
+                       <t:hidden t:name="username" />
+                       <t:hidden t:name="ticket" />
+
+                       <tr>
+                               <th class="field-label">Password:</th>
+                               <td><t:password t:name="new-password" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Verify password:</th>
+                               <td><t:password t:name="verify-password" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Enter your password twice to ensure it is correct.</td>
+                       </tr>
+
+               </table>
+
+               <p>
+                       <input type="submit" value="Set password" />
+                       <t:validation-messages />
+               </p>
+
+       </t:form>
+
+</t:chloe>
diff --git a/basis/furnace/auth/features/recover-password/recover-4.xml b/basis/furnace/auth/features/recover-password/recover-4.xml
new file mode 100755 (executable)
index 0000000..d71a01b
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' ?>\r
+\r
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">\r
+\r
+       <t:title>Recover lost password: step 4 of 4</t:title>\r
+\r
+       <p>Your password has been reset. You may now <t:a t:href="$realm">proceed</t:a>.</p>\r
+\r
+</t:chloe>\r
diff --git a/basis/furnace/auth/features/recover-password/recover-password-tests.factor b/basis/furnace/auth/features/recover-password/recover-password-tests.factor
new file mode 100644 (file)
index 0000000..b589c52
--- /dev/null
@@ -0,0 +1,4 @@
+IN: furnace.auth.features.recover-password
+USING: tools.test furnace.auth.features.recover-password ;
+
+\ allow-password-recovery must-infer
diff --git a/basis/furnace/auth/features/recover-password/recover-password.factor b/basis/furnace/auth/features/recover-password/recover-password.factor
new file mode 100644 (file)
index 0000000..77915f1
--- /dev/null
@@ -0,0 +1,124 @@
+! Copyright (c) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: namespaces accessors kernel assocs arrays io.sockets threads
+fry urls smtp validators html.forms present
+http http.server.responses http.server.redirection
+http.server.dispatchers
+furnace furnace.actions furnace.auth furnace.auth.providers
+furnace.redirection ;
+IN: furnace.auth.features.recover-password
+
+SYMBOL: lost-password-from
+
+: current-host ( -- string )
+    url get host>> host-name or ;
+
+: new-password-url ( user -- url )
+    URL" recover-3" clone
+        swap
+        [ username>> "username" set-query-param ]
+        [ ticket>> "ticket" set-query-param ]
+        bi
+    adjust-url relative-to-request ;
+
+: password-email ( user -- email )
+    <email>
+        [ "[ " % current-host % " ] password recovery" % ] "" make >>subject
+        lost-password-from get >>from
+        over email>> 1array >>to
+        [
+            "This e-mail was sent by the application server on " % current-host % "\n" %
+            "because somebody, maybe you, clicked on a ``recover password'' link in the\n" %
+            "login form, and requested a new password for the user named ``" %
+            over username>> % "''.\n" %
+            "\n" %
+            "If you believe that this request was legitimate, you may click the below link in\n" %
+            "your browser to set a new password for your account:\n" %
+            "\n" %
+            swap new-password-url present %
+            "\n\n" %
+            "Love,\n" %
+            "\n" %
+            "  FactorBot\n" %
+        ] "" make >>body ;
+
+: send-password-email ( user -- )
+    '[ , password-email send-email ]
+    "E-mail send thread" spawn drop ;
+
+: <recover-action-1> ( -- action )
+    <page-action>
+        { realm "features/recover-password/recover-1" } >>template
+
+        [
+            {
+                { "username" [ v-username ] }
+                { "email" [ v-email ] }
+                { "captcha" [ v-captcha ] }
+            } validate-params
+        ] >>validate
+
+        [
+            "email" value "username" value
+            users issue-ticket [
+                send-password-email
+            ] when*
+
+            URL" $realm/recover-2" <redirect>
+        ] >>submit ;
+
+: <recover-action-2> ( -- action )
+    <page-action>
+        { realm "features/recover-password/recover-2" } >>template ;
+
+: <recover-action-3> ( -- action )
+    <page-action>
+        [
+            {
+                { "username" [ v-username ] }
+                { "ticket" [ v-required ] }
+            } validate-params
+        ] >>init
+
+        { realm "features/recover-password/recover-3" } >>template
+
+        [
+            {
+                { "username" [ v-username ] }
+                { "ticket" [ v-required ] }
+                { "new-password" [ v-password ] }
+                { "verify-password" [ v-password ] }
+            } validate-params
+
+            same-password-twice
+        ] >>validate
+
+        [
+            "ticket" value
+            "username" value
+            users claim-ticket [
+                "new-password" value >>encoded-password
+                users update-user
+
+                URL" $realm/recover-4" <redirect>
+            ] [
+                <403>
+            ] if*
+        ] >>submit ;
+
+: <recover-action-4> ( -- action )
+    <page-action>
+        { realm "features/recover-password/recover-4" } >>template ;
+
+: allow-password-recovery ( login -- login )
+    <recover-action-1> <auth-boilerplate>
+        "recover-password" add-responder
+    <recover-action-2> <auth-boilerplate>
+        "recover-2" add-responder
+    <recover-action-3> <auth-boilerplate>
+        "recover-3" add-responder
+    <recover-action-4> <auth-boilerplate>
+        "recover-4" add-responder ;
+
+: allow-password-recovery? ( -- ? )
+    realm get responders>> "recover-password" swap key? ;
diff --git a/basis/furnace/auth/features/registration/register.xml b/basis/furnace/auth/features/registration/register.xml
new file mode 100644 (file)
index 0000000..9815f21
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>New User Registration</t:title>
+
+       <t:form t:action="register">
+
+               <table>
+
+                       <tr>
+                               <th class="field-label">User name:</th>
+                               <td><t:field t:name="username" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Real name:</th>
+                               <td><t:field t:name="realname" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Specifying a real name is optional.</td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Password:</th>
+                               <td><t:password t:name="new-password" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Verify:</th>
+                               <td><t:password t:name="verify-password" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Enter your password twice to ensure it is correct.</td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">E-mail:</th>
+                               <td><t:field t:name="email" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Specifying an e-mail address is optional. It enables the "recover password" feature.</td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Captcha:</th>
+                               <td><t:field t:name="captcha" /></td>
+                       </tr>
+
+                       <tr>
+                               <td></td>
+                               <td>Leave the captcha blank. Spam-bots will fill it indiscriminantly, so their attempts to register will be blocked.</td>
+                       </tr>
+
+               </table>
+
+               <p>
+
+                       <input type="submit" value="Register" />
+                       <t:validation-messages />
+
+               </p>
+
+       </t:form>
+
+</t:chloe>
diff --git a/basis/furnace/auth/features/registration/registration-tests.factor b/basis/furnace/auth/features/registration/registration-tests.factor
new file mode 100644 (file)
index 0000000..e770f35
--- /dev/null
@@ -0,0 +1,4 @@
+IN: furnace.auth.features.registration.tests
+USING: tools.test furnace.auth.features.registration ;
+
+\ allow-registration must-infer
diff --git a/basis/furnace/auth/features/registration/registration.factor b/basis/furnace/auth/features/registration/registration.factor
new file mode 100644 (file)
index 0000000..20a48d0
--- /dev/null
@@ -0,0 +1,45 @@
+! Copyright (c) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors assocs kernel namespaces validators html.forms urls
+http.server.dispatchers
+furnace furnace.auth furnace.auth.providers furnace.actions
+furnace.redirection ;
+IN: furnace.auth.features.registration
+
+: <register-action> ( -- action )
+    <page-action>
+        { realm "features/registration/register" } >>template
+
+        [
+            {
+                { "username" [ v-username ] }
+                { "realname" [ [ v-one-line ] v-optional ] }
+                { "new-password" [ v-password ] }
+                { "verify-password" [ v-password ] }
+                { "email" [ [ v-email ] v-optional ] }
+                { "captcha" [ v-captcha ] }
+            } validate-params
+
+            same-password-twice
+        ] >>validate
+
+        [
+            "username" value <user>
+                "realname" value >>realname
+                "new-password" value >>encoded-password
+                "email" value >>email
+                H{ } clone >>profile
+
+            users new-user [ user-exists ] unless*
+
+            realm get init-user-profile
+
+            URL" $realm" <redirect>
+        ] >>submit
+    <auth-boilerplate> ;
+
+: allow-registration ( login -- login )
+    <register-action> "register" add-responder ;
+
+: allow-registration? ( -- ? )
+    realm get responders>> "register" swap key? ;
diff --git a/basis/furnace/auth/login/login-tests.factor b/basis/furnace/auth/login/login-tests.factor
new file mode 100755 (executable)
index 0000000..64f7bd3
--- /dev/null
@@ -0,0 +1,4 @@
+IN: furnace.auth.login.tests\r
+USING: tools.test furnace.auth.login ;\r
+\r
+\ <login-realm> must-infer\r
diff --git a/basis/furnace/auth/login/login.factor b/basis/furnace/auth/login/login.factor
new file mode 100755 (executable)
index 0000000..1a44770
--- /dev/null
@@ -0,0 +1,104 @@
+! Copyright (c) 2008 Slava Pestov\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: kernel accessors namespaces sequences math.parser\r
+calendar validators urls logging html.forms\r
+http http.server http.server.dispatchers\r
+furnace\r
+furnace.auth\r
+furnace.actions\r
+furnace.sessions\r
+furnace.utilities\r
+furnace.redirection\r
+furnace.conversations\r
+furnace.auth.login.permits ;\r
+IN: furnace.auth.login\r
+\r
+SYMBOL: permit-id\r
+\r
+: permit-id-key ( realm -- string )\r
+    [ >hex 2 CHAR: 0 pad-left ] { } map-as concat\r
+    "__p_" prepend ;\r
+\r
+: client-permit-id ( realm -- id/f )\r
+    permit-id-key client-state dup [ string>number ] when ;\r
+\r
+TUPLE: login-realm < realm timeout domain ;\r
+\r
+M: login-realm init-realm\r
+    name>> client-permit-id permit-id set ;\r
+\r
+M: login-realm logged-in-username\r
+    drop permit-id get dup [ get-permit-uid ] when ;\r
+\r
+M: login-realm modify-form ( responder -- )\r
+    drop permit-id get realm get name>> permit-id-key hidden-form-field ;\r
+\r
+: <permit-cookie> ( -- cookie )\r
+    permit-id get realm get name>> permit-id-key <cookie>\r
+        "$login-realm" resolve-base-path >>path\r
+        realm get\r
+        [ domain>> >>domain ]\r
+        [ secure>> >>secure ]\r
+        bi ;\r
+\r
+: put-permit-cookie ( response -- response' )\r
+    <permit-cookie> put-cookie ;\r
+\r
+\ put-permit-cookie DEBUG add-input-logging\r
+\r
+: successful-login ( user -- response )\r
+    [ username>> make-permit permit-id set ] [ init-user ] bi\r
+    URL" $realm" end-aside\r
+    put-permit-cookie ;\r
+\r
+\ successful-login DEBUG add-input-logging\r
+\r
+: logout ( -- )\r
+    permit-id get [ delete-permit ] when*\r
+    URL" $realm" end-aside ;\r
+\r
+SYMBOL: description\r
+SYMBOL: capabilities\r
+\r
+: flashed-variables { description capabilities } ;\r
+\r
+: login-failed ( -- * )\r
+    "invalid username or password" validation-error\r
+    validation-failed ;\r
+\r
+: <login-action> ( -- action )\r
+    <page-action>\r
+        [\r
+            description cget "description" set-value\r
+            capabilities cget words>strings "capabilities" set-value\r
+        ] >>init\r
+\r
+        { login-realm "login" } >>template\r
+\r
+        [\r
+            {\r
+                { "username" [ v-required ] }\r
+                { "password" [ v-required ] }\r
+            } validate-params\r
+\r
+            "password" value\r
+            "username" value check-login\r
+            [ successful-login ] [ login-failed ] if*\r
+        ] >>submit\r
+    <auth-boilerplate>\r
+    <secure-realm-only> ;\r
+\r
+: <logout-action> ( -- action )\r
+    <action>\r
+        [ logout ] >>submit ;\r
+\r
+M: login-realm login-required* ( description capabilities login -- response )\r
+    begin-aside\r
+    [ description cset ] [ capabilities cset ] [ drop ] tri*\r
+    URL" $realm/login" >secure-url <redirect> ;\r
+\r
+: <login-realm> ( responder name -- auth )\r
+    login-realm new-realm\r
+        <login-action> "login" add-responder\r
+        <logout-action> "logout" add-responder\r
+        20 minutes >>timeout ;\r
diff --git a/basis/furnace/auth/login/login.xml b/basis/furnace/auth/login/login.xml
new file mode 100644 (file)
index 0000000..81f9520
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:title>Login</t:title>
+
+       <t:if t:value="description">
+               <p>You must log in to <t:label t:name="description" />.</p>
+       </t:if>
+
+       <t:if t:value="capabilities">
+               <p>Your user must have the following capabilities:</p>
+               <ul>
+                       <t:each t:name="capabilities">
+                               <li><t:label t:name="value" /></li>
+                       </t:each>
+               </ul>
+       </t:if>
+
+       <t:form t:action="login">
+
+               <table>
+
+                       <tr>
+                               <th class="field-label">User name:</th>
+                               <td><t:field t:name="username" /></td>
+                       </tr>
+
+                       <tr>
+                               <th class="field-label">Password:</th>
+                               <td><t:password t:name="password" /></td>
+                       </tr>
+
+               </table>
+
+               <p>
+
+                       <input type="submit" value="Log in" />
+                       <t:validation-messages />
+
+               </p>
+
+       </t:form>
+
+       <p>
+               <t:if t:code="furnace.auth.features.registration:allow-registration?">
+                       <t:a t:href="register">Register</t:a>
+               </t:if>
+               |
+               <t:if t:code="furnace.auth.features.recover-password:allow-password-recovery?">
+                       <t:a t:href="recover-password">Recover Password</t:a>
+               </t:if>
+       </p>
+
+</t:chloe>
diff --git a/basis/furnace/auth/login/permits/permits.factor b/basis/furnace/auth/login/permits/permits.factor
new file mode 100644 (file)
index 0000000..1a9784f
--- /dev/null
@@ -0,0 +1,30 @@
+USING: accessors namespaces kernel combinators.short-circuit
+db.tuples db.types furnace.auth furnace.sessions furnace.cache ;
+
+IN: furnace.auth.login.permits
+
+TUPLE: permit < server-state session uid ;
+
+permit "PERMITS" {
+    { "session" "SESSION" BIG-INTEGER +not-null+ }
+    { "uid" "UID" { VARCHAR 255 } +not-null+ }
+} define-persistent
+
+: touch-permit ( permit -- )
+    realm get touch-state ;
+
+: get-permit-uid ( id -- uid )
+    permit get-state {
+        [ ]
+        [ session>> session get id>> = ]
+        [ [ touch-permit ] [ uid>> ] bi ]
+    } 1&& ;
+
+: make-permit ( uid -- id )
+    permit new
+        swap >>uid
+        session get id>> >>session
+    [ touch-permit ] [ insert-tuple ] [ id>> ] tri ;
+                                                                    
+: delete-permit ( id -- )
+    permit new-server-state delete-tuples ;
diff --git a/basis/furnace/auth/providers/assoc/assoc-tests.factor b/basis/furnace/auth/providers/assoc/assoc-tests.factor
new file mode 100755 (executable)
index 0000000..8fe1dd4
--- /dev/null
@@ -0,0 +1,35 @@
+IN: furnace.auth.providers.assoc.tests\r
+USING: furnace.actions furnace.auth furnace.auth.providers \r
+furnace.auth.providers.assoc furnace.auth.login\r
+tools.test namespaces accessors kernel ;\r
+\r
+<action> "Test" <login-realm>\r
+    <users-in-memory> >>users\r
+realm set\r
+\r
+[ t ] [\r
+    "slava" <user>\r
+        "foobar" >>encoded-password\r
+        "slava@factorcode.org" >>email\r
+        H{ } clone >>profile\r
+    users new-user\r
+    username>> "slava" =\r
+] unit-test\r
+\r
+[ f ] [\r
+    "slava" <user>\r
+        H{ } clone >>profile\r
+    users new-user\r
+] unit-test\r
+\r
+[ f ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
+\r
+[ ] [ "foobar" "slava" check-login "user" set ] unit-test\r
+\r
+[ t ] [ "user" get >boolean ] unit-test\r
+\r
+[ ] [ "user" get "fdasf" >>encoded-password drop ] unit-test\r
+\r
+[ t ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
+\r
+[ f ] [ "foobar" "slava" check-login >boolean ] unit-test\r
diff --git a/basis/furnace/auth/providers/assoc/assoc.factor b/basis/furnace/auth/providers/assoc/assoc.factor
new file mode 100755 (executable)
index 0000000..f5a79d7
--- /dev/null
@@ -0,0 +1,18 @@
+! Copyright (C) 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+IN: furnace.auth.providers.assoc\r
+USING: accessors assocs kernel furnace.auth.providers ;\r
+\r
+TUPLE: users-in-memory assoc ;\r
+\r
+: <users-in-memory> ( -- provider )\r
+    H{ } clone users-in-memory boa ;\r
+\r
+M: users-in-memory get-user ( username provider -- user/f )\r
+    assoc>> at ;\r
+\r
+M: users-in-memory update-user ( user provider -- ) 2drop ;\r
+\r
+M: users-in-memory new-user ( user provider -- user/f )\r
+    [ dup username>> ] dip assoc>>\r
+    2dup key? [ 3drop f ] [ pick [ set-at ] dip ] if ;\r
diff --git a/basis/furnace/auth/providers/db/db-tests.factor b/basis/furnace/auth/providers/db/db-tests.factor
new file mode 100755 (executable)
index 0000000..fac5c23
--- /dev/null
@@ -0,0 +1,46 @@
+IN: furnace.auth.providers.db.tests\r
+USING: furnace.actions\r
+furnace.auth\r
+furnace.auth.login\r
+furnace.auth.providers\r
+furnace.auth.providers.db tools.test\r
+namespaces db db.sqlite db.tuples continuations\r
+io.files accessors kernel ;\r
+\r
+<action> "test" <login-realm> realm set\r
+\r
+[ "auth-test.db" temp-file delete-file ] ignore-errors\r
+\r
+"auth-test.db" temp-file sqlite-db [\r
+\r
+    user ensure-table\r
+\r
+    [ t ] [\r
+        "slava" <user>\r
+            "foobar" >>encoded-password\r
+            "slava@factorcode.org" >>email\r
+            H{ } clone >>profile\r
+            users new-user\r
+            username>> "slava" =\r
+    ] unit-test\r
+\r
+    [ f ] [\r
+        "slava" <user>\r
+            H{ } clone >>profile\r
+        users new-user\r
+    ] unit-test\r
+\r
+    [ f ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
+\r
+    [ ] [ "foobar" "slava" check-login "user" set ] unit-test\r
+\r
+    [ t ] [ "user" get >boolean ] unit-test\r
+\r
+    [ ] [ "user" get "fdasf" >>encoded-password drop ] unit-test\r
+\r
+    [ ] [ "user" get users update-user ] unit-test\r
+\r
+    [ t ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
+\r
+    [ f ] [ "foobar" "slava" check-login >boolean ] unit-test\r
+] with-db\r
diff --git a/basis/furnace/auth/providers/db/db.factor b/basis/furnace/auth/providers/db/db.factor
new file mode 100755 (executable)
index 0000000..72eb0d4
--- /dev/null
@@ -0,0 +1,39 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: db db.tuples db.types accessors
+furnace.auth.providers kernel continuations
+classes.singleton ;
+IN: furnace.auth.providers.db
+
+user "USERS"
+{
+    { "username" "USERNAME" { VARCHAR 256 } +user-assigned-id+ }
+    { "realname" "REALNAME" { VARCHAR 256 } }
+    { "password" "PASSWORD" BLOB +not-null+ }
+    { "salt" "SALT" INTEGER +not-null+ }
+    { "email" "EMAIL" { VARCHAR 256 } }
+    { "ticket" "TICKET" { VARCHAR 256 } }
+    { "capabilities" "CAPABILITIES" FACTOR-BLOB }
+    { "profile" "PROFILE" FACTOR-BLOB }
+    { "deleted" "DELETED" INTEGER +not-null+ }
+} define-persistent
+
+SINGLETON: users-in-db
+
+M: users-in-db get-user
+    drop <user> select-tuple ;
+
+M: users-in-db new-user
+    drop
+    [
+        user new
+            over username>> >>username
+        select-tuple [
+            drop f
+        ] [
+            dup insert-tuple
+        ] if
+    ] with-transaction ;
+
+M: users-in-db update-user
+    drop update-tuple ;
diff --git a/basis/furnace/auth/providers/null/null.factor b/basis/furnace/auth/providers/null/null.factor
new file mode 100755 (executable)
index 0000000..39ea812
--- /dev/null
@@ -0,0 +1,14 @@
+! Copyright (C) 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: furnace.auth.providers kernel ;\r
+IN: furnace.auth.providers.null\r
+\r
+TUPLE: no-users ;\r
+\r
+: no-users T{ no-users } ;\r
+\r
+M: no-users get-user 2drop f ;\r
+\r
+M: no-users new-user 2drop f ;\r
+\r
+M: no-users update-user 2drop ;\r
diff --git a/basis/furnace/auth/providers/providers.factor b/basis/furnace/auth/providers/providers.factor
new file mode 100755 (executable)
index 0000000..1933fc8
--- /dev/null
@@ -0,0 +1,50 @@
+! Copyright (C) 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: kernel accessors random math.parser locals\r
+sequences math ;\r
+IN: furnace.auth.providers\r
+\r
+TUPLE: user\r
+username realname\r
+password salt\r
+email ticket capabilities profile deleted changed? ;\r
+\r
+: <user> ( username -- user )\r
+    user new\r
+        swap >>username\r
+        0 >>deleted ;\r
+\r
+GENERIC: get-user ( username provider -- user/f )\r
+\r
+GENERIC: update-user ( user provider -- )\r
+\r
+GENERIC: new-user ( user provider -- user/f )\r
+\r
+! Password recovery support\r
+\r
+:: issue-ticket ( email username provider -- user/f )\r
+    [let | user [ username provider get-user ] |\r
+        user [\r
+            user email>> length 0 > [\r
+                user email>> email = [\r
+                    user\r
+                    256 random-bits >hex >>ticket\r
+                    dup provider update-user\r
+                ] [ f ] if\r
+            ] [ f ] if\r
+        ] [ f ] if\r
+    ] ;\r
+\r
+:: claim-ticket ( ticket username provider -- user/f )\r
+    [let | user [ username provider get-user ] |\r
+        user [\r
+            user ticket>> ticket = [\r
+                user f >>ticket dup provider update-user\r
+            ] [ f ] if\r
+        ] [ f ] if\r
+    ] ;\r
+\r
+! For configuration\r
+\r
+: add-user ( provider user -- provider )\r
+    over new-user [ "User exists" throw ] when ;\r
diff --git a/basis/furnace/boilerplate/boilerplate.factor b/basis/furnace/boilerplate/boilerplate.factor
new file mode 100644 (file)
index 0000000..59f71b1
--- /dev/null
@@ -0,0 +1,37 @@
+! Copyright (c) 2008 Slava Pestov
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel math.order namespaces furnace combinators.short-circuit
+html.forms
+html.templates
+html.templates.chloe
+locals
+http.server
+http.server.filters ;
+IN: furnace.boilerplate
+
+TUPLE: boilerplate < filter-responder template init ;
+
+: <boilerplate> ( responder -- boilerplate )
+    boilerplate new
+        swap >>responder
+        [ ] >>init ;
+
+: wrap-boilerplate? ( response -- ? )
+    {
+        [ code>> { [ 200 = ] [ 400 499 between? ] } 1|| ]
+        [ content-type>> "text/html" = ]
+    } 1&& ;
+
+M:: boilerplate call-responder* ( path responder -- )
+    begin-form
+    path responder call-next-method
+    responder init>> call
+    dup content-type>> "text/html" = [
+        clone [| body |
+            [
+                body
+                responder template>> resolve-template-path <chloe>
+                with-boilerplate
+            ]
+        ] change-body
+    ] when ;
diff --git a/basis/furnace/cache/cache.factor b/basis/furnace/cache/cache.factor
new file mode 100644 (file)
index 0000000..a5308c1
--- /dev/null
@@ -0,0 +1,36 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors math.intervals
+system calendar alarms fry
+random db db.tuples db.types
+http.server.filters ;
+IN: furnace.cache
+
+TUPLE: server-state id expires ;
+
+: new-server-state ( id class -- server-state )
+    new swap >>id ; inline
+
+server-state f
+{
+    { "id" "ID" +random-id+ system-random-generator }
+    { "expires" "EXPIRES" BIG-INTEGER +not-null+ }
+} define-persistent
+
+: get-state ( id class -- state )
+    new-server-state select-tuple ;
+
+: expire-state ( class -- )
+    new
+        -1.0/0.0 millis [a,b] >>expires
+    delete-tuples ;
+
+TUPLE: server-state-manager < filter-responder timeout ;
+
+: new-server-state-manager ( responder class -- responder' )
+    new
+        swap >>responder
+        20 minutes >>timeout ; inline
+
+: touch-state ( state manager -- )
+    timeout>> hence timestamp>millis >>expires drop ;
diff --git a/basis/furnace/conversations/conversations.factor b/basis/furnace/conversations/conversations.factor
new file mode 100644 (file)
index 0000000..7216978
--- /dev/null
@@ -0,0 +1,178 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: namespaces assocs kernel sequences accessors hashtables
+urls db.types db.tuples math.parser fry logging combinators
+html.templates.chloe.syntax
+http http.server http.server.filters http.server.redirection
+furnace
+furnace.cache
+furnace.scopes
+furnace.sessions
+furnace.redirection ;
+IN: furnace.conversations
+
+TUPLE: conversation < scope
+session
+method url post-data ;
+
+: <conversation> ( id -- aside )
+    conversation new-server-state ;
+
+conversation "CONVERSATIONS" {
+    { "session" "SESSION" BIG-INTEGER +not-null+ }
+    { "method" "METHOD" { VARCHAR 10 } }
+    { "url" "URL" URL }
+    { "post-data" "POST_DATA" FACTOR-BLOB }
+} define-persistent
+
+: conversation-id-key "__c" ;
+
+TUPLE: conversations < server-state-manager ;
+
+: <conversations> ( responder -- responder' )
+    conversations new-server-state-manager ;
+
+SYMBOL: conversation
+
+SYMBOL: conversation-id
+
+: cget ( key -- value )
+    conversation get scope-get ;
+
+: cset ( value key -- )
+    conversation get scope-set ;
+
+: cchange ( key quot -- )
+    conversation get scope-change ; inline
+
+: get-conversation ( id -- conversation )
+    dup [ conversation get-state ] when
+    dup [ dup session>> session get id>> = [ drop f ] unless ] when ;
+
+: request-conversation-id ( request -- id )
+    conversation-id-key swap request-params at string>number ;
+
+: request-conversation ( request -- conversation )
+    request-conversation-id get-conversation ;
+
+: save-conversation-after ( conversation -- )
+    conversations get save-scope-after ;
+
+: set-conversation ( conversation -- )
+    [
+        [ conversation set ]
+        [ id>> conversation-id set ]
+        [ save-conversation-after ]
+        tri
+    ] when* ;
+
+: init-conversations ( conversations -- )
+    conversations set
+    request get request-conversation-id
+    get-conversation
+    set-conversation ;
+
+M: conversations call-responder*
+    [ init-conversations ]
+    [ conversations set ]
+    [ call-next-method ]
+    tri ;
+
+: empty-conversastion ( -- conversation )
+    conversation empty-scope
+        session get id>> >>session ;
+
+: touch-conversation ( conversation -- )
+    conversations get touch-state ;
+
+: add-conversation ( conversation -- )
+    [ touch-conversation ] [ insert-tuple ] bi ;
+
+: begin-conversation* ( -- conversation )
+    empty-conversastion dup add-conversation ;
+
+: begin-conversation ( -- )
+    conversation get [
+        begin-conversation*
+        set-conversation
+    ] unless ;
+
+: end-conversation ( -- )
+    conversation off
+    conversation-id off ;
+
+: <conversation-redirect> ( url seq -- response )
+    begin-conversation
+    [ [ get ] keep cset ] each
+    <redirect> ;
+
+: restore-conversation ( seq -- )
+    conversation get dup [
+        namespace>>
+        [ '[ , key? ] filter ]
+        [ '[ [ , at ] keep set ] each ]
+        bi
+    ] [ 2drop ] if ;
+
+: begin-aside ( -- )
+    begin-conversation
+    conversation get
+        request get
+        [ method>> >>method ]
+        [ url>> >>url ]
+        [ post-data>> >>post-data ]
+        tri
+    touch-conversation ;
+
+: end-aside-post ( aside -- response )
+    request [
+        clone
+            over post-data>> >>post-data
+            over url>> >>url
+    ] change
+    url>> path>> split-path
+    conversations get responder>> call-responder ;
+
+\ end-aside-post DEBUG add-input-logging
+
+ERROR: end-aside-in-get-error ;
+
+: move-on ( id -- response )
+    post-request? [ end-aside-in-get-error ] unless
+    dup method>> {
+        { "GET" [ url>> <redirect> ] }
+        { "HEAD" [ url>> <redirect> ] }
+        { "POST" [ end-aside-post ] }
+    } case ;
+
+: get-aside ( id -- conversation )
+    get-conversation dup [ dup method>> [ drop f ] unless ] when ;
+
+: end-aside* ( url id -- response )
+    get-aside [ move-on ] [ <redirect> ] ?if ;
+
+: end-aside ( default -- response )
+    conversation-id get
+    end-conversation
+    end-aside* ;
+
+M: conversations link-attr ( tag -- )
+    drop
+    "aside" optional-attr {
+        { "none" [ conversation-id off ] }
+        { "begin" [ begin-aside ] }
+        { "current" [ ] }
+        { f [ ] }
+    } case ;
+
+M: conversations modify-query ( query conversations -- query' )
+    drop
+    conversation-id get [
+        conversation-id-key associate assoc-union
+    ] when* ;
+
+M: conversations modify-form ( conversations -- )
+    drop
+    conversation-id get
+    conversation-id-key
+    hidden-form-field ;
diff --git a/basis/furnace/db/db-tests.factor b/basis/furnace/db/db-tests.factor
new file mode 100644 (file)
index 0000000..34357ae
--- /dev/null
@@ -0,0 +1,4 @@
+IN: furnace.db.tests
+USING: tools.test furnace.db ;
+
+\ <db-persistence> must-infer
diff --git a/basis/furnace/db/db.factor b/basis/furnace/db/db.factor
new file mode 100755 (executable)
index 0000000..b4a4386
--- /dev/null
@@ -0,0 +1,17 @@
+! Copyright (C) 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: kernel accessors continuations namespaces destructors\r
+db db.pools io.pools http.server http.server.filters ;\r
+IN: furnace.db\r
+\r
+TUPLE: db-persistence < filter-responder pool ;\r
+\r
+: <db-persistence> ( responder params db -- responder' )\r
+    <db-pool> db-persistence boa ;\r
+\r
+M: db-persistence call-responder*\r
+    [\r
+        pool>> [ acquire-connection ] keep\r
+        [ return-connection-later ] [ drop db set ] 2bi\r
+    ]\r
+    [ call-next-method ] bi ;\r
diff --git a/basis/furnace/furnace-tests.factor b/basis/furnace/furnace-tests.factor
new file mode 100644 (file)
index 0000000..223b204
--- /dev/null
@@ -0,0 +1,35 @@
+IN: furnace.tests
+USING: http.server.dispatchers http.server.responses
+http.server furnace tools.test kernel namespaces accessors
+io.streams.string ;
+TUPLE: funny-dispatcher < dispatcher ;
+
+: <funny-dispatcher> funny-dispatcher new-dispatcher ;
+
+TUPLE: base-path-check-responder ;
+
+C: <base-path-check-responder> base-path-check-responder
+
+M: base-path-check-responder call-responder*
+    2drop
+    "$funny-dispatcher" resolve-base-path
+    "text/plain" <content> ;
+
+[ ] [
+    <dispatcher>
+        <dispatcher>
+            <funny-dispatcher>
+                <base-path-check-responder> "c" add-responder
+            "b" add-responder
+        "a" add-responder
+    main-responder set
+] unit-test
+
+[ "/a/b/" ] [
+    V{ } responder-nesting set
+    "a/b/c" split-path main-responder get call-responder body>>
+] unit-test
+
+[ "<input type='hidden' name='foo' value='&amp;&amp;&amp;'/>" ]
+[ [ "&&&" "foo" hidden-form-field ] with-string-writer ]
+unit-test
diff --git a/basis/furnace/furnace.factor b/basis/furnace/furnace.factor
new file mode 100644 (file)
index 0000000..fadd398
--- /dev/null
@@ -0,0 +1,208 @@
+! Copyright (C) 2003, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors arrays kernel combinators assocs
+continuations namespaces sequences splitting words
+vocabs.loader classes strings
+fry urls multiline present
+xml
+xml.data
+xml.entities
+xml.writer
+html.components
+html.elements
+html.forms
+html.templates
+html.templates.chloe
+html.templates.chloe.syntax
+http
+http.server
+http.server.redirection
+http.server.responses
+qualified ;
+QUALIFIED-WITH: assocs a
+EXCLUDE: xml.utilities => children>string ;
+IN: furnace
+
+: nested-responders ( -- seq )
+    responder-nesting get a:values ;
+
+: each-responder ( quot -- )
+   nested-responders swap each ; inline
+
+: base-path ( string -- pair )
+    dup responder-nesting get
+    [ second class superclasses [ name>> = ] with contains? ] with find nip
+    [ first ] [ "No such responder: " swap append throw ] ?if ;
+
+: resolve-base-path ( string -- string' )
+    "$" ?head [
+        [
+            "/" split1 [ base-path [  "/" % % ] each "/" % ] dip %
+        ] "" make
+    ] when ;
+
+: vocab-path ( vocab -- path )
+    dup vocab-dir vocab-append-path ;
+
+: resolve-template-path ( pair -- path )
+    [
+        first2 [ vocabulary>> vocab-path % ] [ "/" % % ] bi*
+    ] "" make ;
+
+GENERIC: modify-query ( query responder -- query' )
+
+M: object modify-query drop ;
+
+GENERIC: adjust-url ( url -- url' )
+
+M: url adjust-url
+    clone
+        [ [ modify-query ] each-responder ] change-query
+        [ resolve-base-path ] change-path
+    relative-to-request ;
+
+M: string adjust-url ;
+
+GENERIC: modify-form ( responder -- )
+
+M: object modify-form drop ;
+
+: request-params ( request -- assoc )
+    dup method>> {
+        { "GET" [ url>> query>> ] }
+        { "HEAD" [ url>> query>> ] }
+        { "POST" [
+            post-data>>
+            dup content-type>> "application/x-www-form-urlencoded" =
+            [ content>> ] [ drop f ] if
+        ] }
+    } case ;
+
+: referrer ( -- referrer )
+    #! Typo is intentional, its in the HTTP spec!
+    "referer" request get header>> at >url ;
+
+: user-agent ( -- user-agent )
+    "user-agent" request get header>> at "" or ;
+
+: same-host? ( url -- ? )
+    url get
+    [ [ protocol>> ] [ host>> ] [ port>> ] tri 3array ] bi@ = ;
+
+: cookie-client-state ( key request -- value/f )
+    swap get-cookie dup [ value>> ] when ;
+
+: post-client-state ( key request -- value/f )
+    request-params at ;
+
+: client-state ( key -- value/f )
+    request get dup method>> {
+        { "GET" [ cookie-client-state ] }
+        { "HEAD" [ cookie-client-state ] }
+        { "POST" [ post-client-state ] }
+    } case ;
+
+SYMBOL: exit-continuation
+
+: exit-with ( value -- )
+    exit-continuation get continue-with ;
+
+: with-exit-continuation ( quot -- )
+    '[ exit-continuation set @ ] callcc1 exit-continuation off ;
+
+! Chloe tags
+: parse-query-attr ( string -- assoc )
+    dup empty?
+    [ drop f ] [ "," split [ dup value ] H{ } map>assoc ] if ;
+
+: a-url-path ( tag -- string )
+    [ "href" required-attr ]
+    [ "rest" optional-attr dup [ value ] when ] bi
+    [ [ "/" ?tail drop "/" ] dip present 3append ] when* ;
+
+: a-url ( tag -- url )
+    dup "value" optional-attr
+    [ value ] [
+        <url>
+            swap
+            [ a-url-path >>path ]
+            [ "query" optional-attr parse-query-attr >>query ]
+            bi
+        adjust-url relative-to-request
+    ] ?if ;
+
+CHLOE: atom [ children>string ] [ a-url ] bi add-atom-feed ;
+
+CHLOE: write-atom drop write-atom-feeds ;
+
+GENERIC: link-attr ( tag responder -- )
+
+M: object link-attr 2drop ;
+
+: link-attrs ( tag -- )
+    #! Side-effects current namespace.
+    '[ , _ link-attr ] each-responder ;
+
+: a-start-tag ( tag -- )
+    [ <a [ link-attrs ] [ a-url =href ] bi a> ] with-scope ;
+
+CHLOE: a
+    [ a-start-tag ]
+    [ process-tag-children ]
+    [ drop </a> ]
+    tri ;
+
+: hidden-form-field ( value name -- )
+    over [
+        <input
+            "hidden" =type
+            =name
+            present =value
+        input/>
+    ] [ 2drop ] if ;
+
+: nested-forms-key "__n" ;
+
+: form-magic ( tag -- )
+    [ modify-form ] each-responder
+    nested-forms get " " join f like nested-forms-key hidden-form-field
+    "for" optional-attr [ "," split [ hidden render ] each ] when* ;
+
+: form-start-tag ( tag -- )
+    [
+        [
+            <form
+                {
+                    [ link-attrs ]
+                    [ "method" optional-attr "post" or =method ]
+                    [ "action" required-attr resolve-base-path =action ]
+                    [ attrs>> non-chloe-attrs-only print-attrs ]
+                } cleave
+            form>
+        ]
+        [ form-magic ] bi
+    ] with-scope ;
+
+CHLOE: form
+    [ form-start-tag ]
+    [ process-tag-children ]
+    [ drop </form> ]
+    tri ;
+
+STRING: button-tag-markup
+<t:form class="inline" xmlns:t="http://factorcode.org/chloe/1.0">
+    <button type="submit"></button>
+</t:form>
+;
+
+: add-tag-attrs ( attrs tag -- )
+    attrs>> swap update ;
+
+CHLOE: button
+    button-tag-markup string>xml body>>
+    {
+        [ [ attrs>> chloe-attrs-only ] dip add-tag-attrs ]
+        [ [ attrs>> non-chloe-attrs-only ] dip "button" tag-named add-tag-attrs ]
+        [ [ children>string 1array ] dip "button" tag-named (>>children) ]
+        [ nip ]
+    } 2cleave process-chloe-tag ;
diff --git a/basis/furnace/json/json.factor b/basis/furnace/json/json.factor
new file mode 100644 (file)
index 0000000..a5188cd
--- /dev/null
@@ -0,0 +1,7 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: json.writer http.server.responses ;
+IN: furnace.json
+
+: <json-content> ( body -- response )
+    >json "application/json" <content> ;
diff --git a/basis/furnace/redirection/redirection.factor b/basis/furnace/redirection/redirection.factor
new file mode 100644 (file)
index 0000000..83941cd
--- /dev/null
@@ -0,0 +1,41 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors combinators namespaces fry
+io.servers.connection urls
+http http.server http.server.redirection http.server.filters
+furnace ;
+IN: furnace.redirection
+
+: <redirect> ( url -- response )
+    adjust-url request get method>> {
+        { "GET" [ <temporary-redirect> ] }
+        { "HEAD" [ <temporary-redirect> ] }
+        { "POST" [ <permanent-redirect> ] }
+    } case ;
+
+: >secure-url ( url -- url' )
+    clone
+        "https" >>protocol
+        secure-port >>port ;
+
+: <secure-redirect> ( url -- response )
+    >secure-url <redirect> ;
+
+TUPLE: redirect-responder to ;
+
+: <redirect-responder> ( url -- responder )
+    redirect-responder boa ;
+
+M: redirect-responder call-responder* nip to>> <redirect> ;
+
+TUPLE: secure-only < filter-responder ;
+
+C: <secure-only> secure-only
+
+: if-secure ( quot -- )
+    >r url get protocol>> "http" =
+    [ url get <secure-redirect> ]
+    r> if ; inline
+
+M: secure-only call-responder*
+    '[ , , call-next-method ] if-secure ;
diff --git a/basis/furnace/referrer/referrer.factor b/basis/furnace/referrer/referrer.factor
new file mode 100644 (file)
index 0000000..4cfd4bb
--- /dev/null
@@ -0,0 +1,17 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel http.server http.server.filters
+http.server.responses furnace ;
+IN: furnace.referrer
+
+TUPLE: referrer-check < filter-responder quot ;
+
+C: <referrer-check> referrer-check
+
+M: referrer-check call-responder*
+    referrer over quot>> call
+    [ call-next-method ]
+    [ 2drop 403 "Bad referrer" <trivial-response> ] if ;
+
+: <check-form-submissions> ( responder -- responder' )
+    [ same-host? post-request? not or ] <referrer-check> ;
diff --git a/basis/furnace/scopes/scopes.factor b/basis/furnace/scopes/scopes.factor
new file mode 100644 (file)
index 0000000..daad0dc
--- /dev/null
@@ -0,0 +1,42 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors assocs destructors
+db.tuples db.types furnace.cache ;
+IN: furnace.scopes
+
+TUPLE: scope < server-state namespace changed? ;
+
+: empty-scope ( class -- scope )
+    f swap new-server-state
+        H{ } clone >>namespace ; inline
+
+scope f
+{
+    { "namespace" "NAMESPACE" FACTOR-BLOB +not-null+ }
+} define-persistent
+
+: scope-changed ( scope -- )
+    t >>changed? drop ;
+
+: scope-get ( key scope -- value )
+    dup [ namespace>> at ] [ 2drop f ] if ;
+
+: scope-set ( value key scope -- )
+    [ namespace>> set-at ] [ scope-changed ] bi ;
+
+: scope-change ( key quot scope -- )
+    [ namespace>> swap change-at ] [ scope-changed ] bi ; inline
+
+! Destructor
+TUPLE: scope-saver scope manager ;
+
+C: <scope-saver> scope-saver
+
+M: scope-saver dispose
+    [ manager>> ] [ scope>> ] bi
+    dup changed?>> [
+        [ swap touch-state ] [ update-tuple ] bi
+    ] [ 2drop ] if ;
+
+: save-scope-after ( scope manager -- )
+    <scope-saver> &dispose drop ;
diff --git a/basis/furnace/sessions/authors.txt b/basis/furnace/sessions/authors.txt
new file mode 100755 (executable)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/furnace/sessions/sessions-tests.factor b/basis/furnace/sessions/sessions-tests.factor
new file mode 100755 (executable)
index 0000000..98d1bbd
--- /dev/null
@@ -0,0 +1,154 @@
+IN: furnace.sessions.tests\r
+USING: tools.test http furnace.sessions\r
+furnace.actions http.server http.server.responses\r
+math namespaces kernel accessors io.sockets io.servers.connection\r
+prettyprint io.streams.string io.files splitting destructors\r
+sequences db db.tuples db.sqlite continuations urls math.parser\r
+furnace ;\r
+\r
+: with-session\r
+    [\r
+        [ [ save-session-after ] [ session set ] bi ] dip call\r
+    ] with-destructors ; inline\r
+\r
+TUPLE: foo ;\r
+\r
+C: <foo> foo\r
+\r
+M: foo init-session* drop 0 "x" sset ;\r
+\r
+M: foo call-responder*\r
+    2drop\r
+    "x" [ 1+ ] schange\r
+    "x" sget number>string "text/html" <content> ;\r
+\r
+: url-responder-mock-test\r
+    [\r
+        <request>\r
+            "GET" >>method\r
+            dup url>>\r
+                "id" get session-id-key set-query-param\r
+                "/" >>path drop\r
+        init-request\r
+        { } sessions get call-responder\r
+        [ write-response-body drop ] with-string-writer\r
+    ] with-destructors ;\r
+\r
+: sessions-mock-test\r
+    [\r
+        <request>\r
+            "GET" >>method\r
+            "cookies" get >>cookies\r
+            dup url>> "/" >>path drop\r
+        init-request\r
+        { } sessions get call-responder\r
+        [ write-response-body drop ] with-string-writer\r
+    ] with-destructors ;\r
+\r
+: <exiting-action>\r
+    <action>\r
+        [ [ ] "text/plain" <content> exit-with ] >>display ;\r
+\r
+[ "auth-test.db" temp-file sqlite-db delete-file ] ignore-errors\r
+\r
+"auth-test.db" temp-file sqlite-db [\r
+\r
+    <request> init-request\r
+    session ensure-table\r
+\r
+    "127.0.0.1" 1234 <inet4> remote-address set\r
+\r
+    [ ] [\r
+        <foo> <sessions>\r
+        sessions set\r
+    ] unit-test\r
+\r
+    [\r
+        [ ] [\r
+            empty-session\r
+                123 >>id session set\r
+        ] unit-test\r
+\r
+        [ ] [ 3 "x" sset ] unit-test\r
+\r
+        [ 9 ] [ "x" sget sq ] unit-test\r
+\r
+        [ ] [ "x" [ 1- ] schange ] unit-test\r
+\r
+        [ 4 ] [ "x" sget sq ] unit-test\r
+\r
+        [ t ] [ session get changed?>> ] unit-test\r
+    ] with-scope\r
+\r
+    [ t ] [\r
+        begin-session id>>\r
+        get-session session?\r
+    ] unit-test\r
+\r
+    [ { 5 0 } ] [\r
+        [\r
+            begin-session\r
+            dup [ 5 "a" sset ] with-session\r
+            dup [ "a" sget , ] with-session\r
+            dup [ "x" sget , ] with-session\r
+            drop\r
+        ] { } make\r
+    ] unit-test\r
+\r
+    [ 0 ] [\r
+        begin-session id>>\r
+        get-session [ "x" sget ] with-session\r
+    ] unit-test\r
+\r
+    [ { 5 0 } ] [\r
+        [\r
+            begin-session id>>\r
+            dup get-session [ 5 "a" sset ] with-session\r
+            dup get-session [ "a" sget , ] with-session\r
+            dup get-session [ "x" sget , ] with-session\r
+            drop\r
+        ] { } make\r
+    ] unit-test\r
+\r
+    [ ] [\r
+        <foo> <sessions>\r
+        sessions set\r
+    ] unit-test\r
+\r
+    [\r
+        <request>\r
+            "GET" >>method\r
+            dup url>> "/" >>path drop\r
+        request set\r
+        { "etc" } sessions get call-responder response set\r
+        [ "1" ] [ [ response get write-response-body drop ] with-string-writer ] unit-test\r
+        response get\r
+    ] with-destructors\r
+    response set\r
+\r
+    [ ] [ response get cookies>> "cookies" set ] unit-test\r
+\r
+    [ "2" ] [ sessions-mock-test ] unit-test\r
+    [ "3" ] [ sessions-mock-test ] unit-test\r
+    [ "4" ] [ sessions-mock-test ] unit-test\r
+\r
+    [\r
+        [ ] [\r
+            <request>\r
+                "GET" >>method\r
+                dup url>>\r
+                    "id" get session-id-key set-query-param\r
+                    "/" >>path drop\r
+            request set\r
+\r
+            [\r
+                { } <exiting-action> <sessions>\r
+                call-responder\r
+            ] with-destructors response set\r
+        ] unit-test\r
+\r
+        [ "text/plain" ] [ response get content-type>> ] unit-test\r
+\r
+        [ f ] [ response get cookies>> empty? ] unit-test\r
+    ] with-scope\r
+] with-db\r
diff --git a/basis/furnace/sessions/sessions.factor b/basis/furnace/sessions/sessions.factor
new file mode 100755 (executable)
index 0000000..718953c
--- /dev/null
@@ -0,0 +1,109 @@
+! Copyright (C) 2008 Doug Coleman, Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: assocs kernel math.intervals math.parser namespaces
+strings random accessors quotations hashtables sequences continuations
+fry calendar combinators combinators.short-circuit destructors alarms
+io.servers.connection
+db db.tuples db.types
+http http.server http.server.dispatchers http.server.filters
+html.elements
+furnace furnace.cache furnace.scopes ;
+IN: furnace.sessions
+
+TUPLE: session < scope user-agent client ;
+
+: <session> ( id -- session )
+    session new-server-state ;
+
+session "SESSIONS"
+{
+    { "user-agent" "USER_AGENT" TEXT +not-null+ }
+    { "client" "CLIENT" TEXT +not-null+ }
+} define-persistent
+
+: get-session ( id -- session )
+    dup [ session get-state ] when ;
+
+GENERIC: init-session* ( responder -- )
+
+M: object init-session* drop ;
+
+M: dispatcher init-session* default>> init-session* ;
+
+M: filter-responder init-session* responder>> init-session* ;
+
+TUPLE: sessions < server-state-manager domain verify? ;
+
+: <sessions> ( responder -- responder' )
+    sessions new-server-state-manager
+        t >>verify? ;
+
+: session-changed ( -- )
+    session get scope-changed ;
+
+: sget ( key -- value ) session get scope-get ;
+
+: sset ( value key -- ) session get scope-set ;
+
+: schange ( key quot -- ) session get scope-change ; inline
+
+: init-session ( session -- )
+    session [ sessions get init-session* ] with-variable ;
+
+: touch-session ( session -- )
+    sessions get touch-state ;
+
+: remote-host ( -- string )
+    {
+        [ request get "x-forwarded-for" header ]
+        [ remote-address get host>> ]
+    } 0|| ;
+
+: empty-session ( -- session )
+    session empty-scope
+        remote-host >>client
+        user-agent >>user-agent
+        dup touch-session ;
+
+: begin-session ( -- session )
+    empty-session [ init-session ] [ insert-tuple ] [ ] tri ;
+
+: save-session-after ( session -- )
+    sessions get save-scope-after ;
+
+: existing-session ( path session -- response )
+    [ session set ] [ save-session-after ] bi
+    sessions get responder>> call-responder ;
+
+: session-id-key "__s" ;
+
+: verify-session ( session -- session )
+    sessions get verify?>> [
+        dup [
+            dup
+            [ client>> remote-host = ]
+            [ user-agent>> user-agent = ]
+            bi and [ drop f ] unless
+        ] when
+    ] when ;
+
+: request-session ( -- session/f )
+    session-id-key
+    client-state dup string? [ string>number ] when
+    get-session verify-session ;
+
+: <session-cookie> ( -- cookie )
+    session get id>> session-id-key <cookie>
+        "$sessions" resolve-base-path >>path
+        sessions get domain>> >>domain ;
+
+: put-session-cookie ( response -- response' )
+    <session-cookie> put-cookie ;
+
+M: sessions modify-form ( responder -- )
+    drop session get id>> session-id-key hidden-form-field ;
+
+M: sessions call-responder* ( path responder -- response )
+    sessions set
+    request-session [ begin-session ] unless*
+    existing-session put-session-cookie ;
diff --git a/basis/furnace/syndication/syndication.factor b/basis/furnace/syndication/syndication.factor
new file mode 100644 (file)
index 0000000..31a978a
--- /dev/null
@@ -0,0 +1,53 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel sequences fry
+combinators syndication
+http.server.responses http.server.redirection
+furnace furnace.actions ;
+IN: furnace.syndication
+
+GENERIC: feed-entry-title ( object -- string )
+
+GENERIC: feed-entry-date ( object -- timestamp )
+
+GENERIC: feed-entry-url ( object -- url )
+
+GENERIC: feed-entry-description ( object -- description )
+
+M: object feed-entry-description drop f ;
+
+GENERIC: >entry ( object -- entry )
+
+M: entry >entry ;
+
+M: object >entry
+    <entry>
+        swap {
+            [ feed-entry-title >>title ]
+            [ feed-entry-date >>date ]
+            [ feed-entry-url >>url ]
+            [ feed-entry-description >>description ]
+        } cleave ;
+
+: process-entries ( seq -- seq' )
+    20 short head-slice [
+        >entry clone
+        [ adjust-url relative-to-request ] change-url
+    ] map ;
+
+: <feed-content> ( body -- response )
+    feed>xml "application/atom+xml" <content> ;
+
+TUPLE: feed-action < action title url entries ;
+
+: <feed-action> ( -- action )
+    feed-action new-action
+        dup '[
+            feed new
+                ,
+                [ title>> call >>title ]
+                [ url>> call adjust-url relative-to-request >>url ]
+                [ entries>> call process-entries >>entries ]
+                tri
+            <feed-content>
+        ] >>display ;
diff --git a/basis/furnace/utilities/utilities.factor b/basis/furnace/utilities/utilities.factor
new file mode 100644 (file)
index 0000000..4bfbdcd
--- /dev/null
@@ -0,0 +1,19 @@
+! Copyright (c) 2008 Slava Pestov
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors words kernel sequences splitting ;
+IN: furnace.utilities
+
+: word>string ( word -- string )
+    [ vocabulary>> ] [ name>> ] bi ":" swap 3append ;
+
+: words>strings ( seq -- seq' )
+    [ word>string ] map ;
+
+ERROR: no-such-word name vocab ;
+
+: string>word ( string -- word )
+    ":" split1 swap 2dup lookup dup
+    [ 2nip ] [ drop no-such-word ] if ;
+
+: strings>words ( seq -- seq' )
+    [ string>word ] map ;
diff --git a/basis/globs/authors.txt b/basis/globs/authors.txt
new file mode 100644 (file)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/globs/globs-tests.factor b/basis/globs/globs-tests.factor
new file mode 100644 (file)
index 0000000..446f1ee
--- /dev/null
@@ -0,0 +1,18 @@
+IN: globs.tests
+USING: tools.test globs ;
+
+[ f ] [ "abd" "fdf" glob-matches? ] unit-test
+[ f ] [ "fdsafas" "?" glob-matches? ] unit-test
+[ t ] [ "fdsafas" "*as" glob-matches? ] unit-test
+[ t ] [ "fdsafas" "*a*" glob-matches? ] unit-test
+[ t ] [ "fdsafas" "*a?" glob-matches? ] unit-test
+[ t ] [ "fdsafas" "*?" glob-matches? ] unit-test
+[ f ] [ "fdsafas" "*s?" glob-matches? ] unit-test
+[ t ] [ "a" "[abc]" glob-matches? ] unit-test
+[ f ] [ "a" "[^abc]" glob-matches? ] unit-test
+[ t ] [ "d" "[^abc]" glob-matches? ] unit-test
+[ f ] [ "foo.java" "*.{xml,txt}" glob-matches? ] unit-test
+[ t ] [ "foo.txt" "*.{xml,txt}" glob-matches? ] unit-test
+[ t ] [ "foo.xml" "*.{xml,txt}" glob-matches? ] unit-test
+[ f ] [ "foo." "*.{,xml,txt}" glob-matches? ] unit-test
+[ t ] [ "foo.{" "*.{" glob-matches? ] unit-test
diff --git a/basis/globs/globs.factor b/basis/globs/globs.factor
new file mode 100755 (executable)
index 0000000..c7d5413
--- /dev/null
@@ -0,0 +1,42 @@
+! Copyright (C) 2007 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: parser-combinators regexp lists sequences kernel
+promises strings unicode.case ;
+IN: globs
+
+<PRIVATE
+
+: 'char' ( -- parser )
+    [ ",*?" member? not ] satisfy ;
+
+: 'string' ( -- parser )
+    'char' <+> [ >lower token ] <@ ;
+
+: 'escaped-char' ( -- parser )
+    "\\" token any-char-parser &> [ 1token ] <@ ;
+
+: 'escaped-string' ( -- parser )
+    'string' 'escaped-char' <|> ;
+
+DEFER: 'term'
+
+: 'glob' ( -- parser )
+    'term' <*> [ <and-parser> ] <@ ;
+
+: 'union' ( -- parser )
+    'glob' "," token nonempty-list-of "{" "}" surrounded-by
+    [ <or-parser> ] <@ ;
+
+LAZY: 'term' ( -- parser )
+    'union'
+    'character-class' <|>
+    "?" token [ drop any-char-parser ] <@ <|>
+    "*" token [ drop any-char-parser <*> ] <@ <|>
+    'escaped-string' <|> ;
+
+PRIVATE>
+
+: <glob> ( string -- glob ) 'glob' just parse-1 just ;
+
+: glob-matches? ( input glob -- ? )
+    [ >lower ] [ <glob> ] bi* parse nil? not ;
diff --git a/basis/globs/summary.txt b/basis/globs/summary.txt
new file mode 100644 (file)
index 0000000..e97b9b2
--- /dev/null
@@ -0,0 +1 @@
+Unix shell-style glob pattern matching
diff --git a/basis/html/components/components-tests.factor b/basis/html/components/components-tests.factor
new file mode 100644 (file)
index 0000000..56c7118
--- /dev/null
@@ -0,0 +1,185 @@
+IN: html.components.tests
+USING: tools.test kernel io.streams.string
+io.streams.null accessors inspector html.streams
+html.elements html.components html.forms namespaces ;
+
+[ ] [ begin-form ] unit-test
+
+[ ] [ 3 "hi" set-value ] unit-test
+
+[ 3 ] [ "hi" value ] unit-test
+
+TUPLE: color red green blue ;
+
+[ ] [ 1 2 3 color boa from-object ] unit-test
+
+[ 1 ] [ "red" value ] unit-test
+
+[ ] [ "jimmy" "red" set-value ] unit-test
+
+[ "jimmy" ] [
+    [
+        "red" label render
+    ] with-string-writer
+] unit-test
+
+[ ] [ "<jimmy>" "red" set-value ] unit-test
+
+[ "&lt;jimmy&gt;" ] [
+    [
+        "red" label render
+    ] with-string-writer
+] unit-test
+
+[ "<input type='hidden' name='red' value='<jimmy>'/>" ] [
+    [
+        "red" hidden render
+    ] with-string-writer
+] unit-test
+
+[ ] [ "'jimmy'" "red" set-value ] unit-test
+
+[ "<input type='text' size='5' name='red' value='&apos;jimmy&apos;'/>" ] [
+    [
+        "red" <field> 5 >>size render
+    ] with-string-writer
+] unit-test
+
+[ "<input type='password' size='5' name='red' value=''/>" ] [
+    [
+        "red" <password> 5 >>size render
+    ] with-string-writer
+] unit-test
+
+[ ] [
+    [
+        "green" <textarea> render
+    ] with-null-writer
+] unit-test
+
+[ ] [
+    [
+        "green" <textarea> 25 >>rows 30 >>cols render
+    ] with-null-writer
+] unit-test
+
+[ ] [ begin-form ] unit-test
+
+[ ] [ "new york" "city1" set-value ] unit-test
+
+[ ] [ { "new york" "los angeles" "chicago" } "cities" set-value ] unit-test
+
+[ ] [
+    [
+        "city1"
+        <choice>
+            "cities" >>choices
+        render
+    ] with-null-writer
+] unit-test
+
+[ ] [ { "los angeles" "new york" } "city2" set-value ] unit-test
+
+[ ] [
+    [
+        "city2"
+        <choice>
+            "cities" >>choices
+            t >>multiple
+        render
+    ] with-null-writer
+] unit-test
+
+[ ] [
+    [
+        "city2"
+        <choice>
+            "cities" >>choices
+            t >>multiple
+            5 >>size
+        render
+    ] with-null-writer
+] unit-test
+
+[ ] [ begin-form ] unit-test
+
+[ ] [ t "delivery" set-value ] unit-test
+
+[ "<input type='checkbox' name='delivery' checked='true'>Delivery</input>" ] [
+    [
+        "delivery"
+        <checkbox>
+            "Delivery" >>label
+        render
+    ] with-string-writer
+] unit-test
+
+[ ] [ f "delivery" set-value ] unit-test
+
+[ "<input type='checkbox' name='delivery'>Delivery</input>" ] [
+    [
+        "delivery"
+        <checkbox>
+            "Delivery" >>label
+        render
+    ] with-string-writer
+] unit-test
+
+SINGLETON: link-test
+
+M: link-test link-title drop "<Link Title>" ;
+
+M: link-test link-href drop "http://www.apple.com/foo&bar" ;
+
+[ ] [ link-test "link" set-value ] unit-test
+
+[ "<a href='http://www.apple.com/foo&amp;bar'>&lt;Link Title&gt;</a>" ] [
+    [ "link" link render ] with-string-writer
+] unit-test
+
+[ ] [
+    "<html>arbitrary <b>markup</b> for the win!</html>" "html" set-value
+] unit-test
+
+[ "<html>arbitrary <b>markup</b> for the win!</html>" ] [
+    [ "html" html render ] with-string-writer
+] unit-test
+
+[ ] [ "int x = 4;" "code" set-value ] unit-test
+
+[ ] [ "java" "mode" set-value ] unit-test
+
+[ "<span class='KEYWORD3'>int</span> x <span class='OPERATOR'>=</span> <span class='DIGIT'>4</span>;\n" ] [
+    [ "code" <code> "mode" >>mode render ] with-string-writer
+] unit-test
+
+[ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
+
+[ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [
+    [ "farkup" T{ farkup } render ] with-string-writer
+] unit-test
+
+[ ] [ { 1 2 3 } "object" set-value ] unit-test
+
+[ t ] [
+    [ "object" inspector render ] with-string-writer
+    [ "object" value [ describe ] with-html-stream ] with-string-writer
+    =
+] unit-test
+
+[ ] [ begin-form ] unit-test
+
+[ ] [
+    "factor" [
+        "concatenative" "model" set-value
+    ] nest-form
+] unit-test
+
+[
+    H{
+        {
+            "factor"
+            T{ form f V{ } H{ { "model" "concatenative" } } }
+        }
+    }
+] [ values ] unit-test
diff --git a/basis/html/components/components.factor b/basis/html/components/components.factor
new file mode 100644 (file)
index 0000000..b6b7f22
--- /dev/null
@@ -0,0 +1,177 @@
+! Copyright (C) 2008 Slava Pestov
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel namespaces io math.parser assocs classes
+classes.tuple words arrays sequences splitting mirrors
+hashtables combinators continuations math strings inspector
+fry locals calendar calendar.format xml.entities
+validators urls present
+xmode.code2html lcs.diff2html farkup
+html.elements html.streams html.forms ;
+IN: html.components
+
+GENERIC: render* ( value name render -- )
+
+: render ( name renderer -- )
+    prepare-value
+    [
+        dup validation-error?
+        [ [ message>> ] [ value>> ] bi ]
+        [ f swap ]
+        if
+    ] 2dip
+    render*
+    [ render-error ] when* ;
+
+<PRIVATE
+
+: render-input ( value name type -- )
+    <input =type =name present =value input/> ;
+
+PRIVATE>
+
+SINGLETON: label
+
+M: label render* 2drop present escape-string write ;
+
+SINGLETON: hidden
+
+M: hidden render* drop "hidden" render-input ;
+
+: render-field ( value name size type -- )
+    <input
+        =type
+        [ present =size ] when*
+        =name
+        present =value
+    input/> ;
+
+TUPLE: field size ;
+
+: <field> ( -- field )
+    field new ;
+
+M: field render* size>> "text" render-field ;
+
+TUPLE: password size ;
+
+: <password> ( -- password )
+    password new ;
+
+M: password render*
+    #! Don't send passwords back to the user
+    [ drop "" ] 2dip size>> "password" render-field ;
+
+! Text areas
+TUPLE: textarea rows cols ;
+
+: <textarea> ( -- renderer )
+    textarea new ;
+
+M: textarea render*
+    <textarea
+        [ rows>> [ present =rows ] when* ]
+        [ cols>> [ present =cols ] when* ] bi
+        =name
+    textarea>
+        present escape-string write
+    </textarea> ;
+
+! Choice
+TUPLE: choice size multiple choices ;
+
+: <choice> ( -- choice )
+    choice new ;
+
+: render-option ( text selected? -- )
+    <option [ "true" =selected ] when option>
+        present escape-string write
+    </option> ;
+
+: render-options ( options selected -- )
+    '[ dup , member? render-option ] each ;
+
+M: choice render*
+    <select
+        swap =name
+        dup size>> [ present =size ] when*
+        dup multiple>> [ "true" =multiple ] when
+    select>
+        [ choices>> value ] [ multiple>> ] bi
+        [ swap ] [ swap 1array ] if
+        render-options
+    </select> ;
+
+! Checkboxes
+TUPLE: checkbox label ;
+
+: <checkbox> ( -- checkbox )
+    checkbox new ;
+
+M: checkbox render*
+    <input
+        "checkbox" =type
+        swap =name
+        swap [ "true" =checked ] when
+    input>
+        label>> escape-string write
+    </input> ;
+
+! Link components
+GENERIC: link-title ( obj -- string )
+GENERIC: link-href ( obj -- url )
+
+M: string link-title ;
+M: string link-href ;
+
+M: url link-title ;
+M: url link-href ;
+
+SINGLETON: link
+
+M: link render*
+    2drop
+    <a dup link-href =href a>
+        link-title present escape-string write
+    </a> ;
+
+! XMode code component
+TUPLE: code mode ;
+
+: <code> ( -- code )
+    code new ;
+
+M: code render*
+    [ string-lines ] [ drop ] [ mode>> value ] tri* htmlize-lines ;
+
+! Farkup component
+TUPLE: farkup no-follow disable-images ;
+
+: string>boolean ( string -- boolean )
+    {
+        { "true" [ t ] }
+        { "false" [ f ] }
+    } case ;
+
+M: farkup render*
+    [
+        [ no-follow>> [ string>boolean link-no-follow? set ] when* ]
+        [ disable-images>> [ string>boolean disable-images? set ] when* ] bi
+        drop string-lines "\n" join convert-farkup write
+    ] with-scope ;
+
+! Inspector component
+SINGLETON: inspector
+
+M: inspector render*
+    2drop [ describe ] with-html-stream ;
+
+! Diff component
+SINGLETON: comparison
+
+M: comparison render*
+    2drop htmlize-diff ;
+
+! HTML component
+SINGLETON: html
+
+M: html render* 2drop write ;
diff --git a/basis/html/elements/authors.txt b/basis/html/elements/authors.txt
new file mode 100755 (executable)
index 0000000..a8fb961
--- /dev/null
@@ -0,0 +1,2 @@
+Chris Double
+Slava Pestov
diff --git a/basis/html/elements/elements-tests.factor b/basis/html/elements/elements-tests.factor
new file mode 100644 (file)
index 0000000..1178dea
--- /dev/null
@@ -0,0 +1,5 @@
+IN: html.elements.tests
+USING: tools.test html.elements io.streams.string ;
+
+[ "<a href='h&amp;o'>" ]
+[ [ <a "h&o" =href a> ] with-string-writer ] unit-test
diff --git a/basis/html/elements/elements.factor b/basis/html/elements/elements.factor
new file mode 100644 (file)
index 0000000..35e0122
--- /dev/null
@@ -0,0 +1,181 @@
+! cont-html v0.6
+!
+! Copyright (C) 2004 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: io kernel namespaces prettyprint quotations
+sequences strings words xml.entities compiler.units effects
+urls math math.parser combinators present fry ;
+
+IN: html.elements
+
+! These words are used to provide a means of writing
+! formatted HTML to standard output with a familiar 'html' look
+! and feel in the code.
+!
+! HTML tags can be used in a number of different ways. The highest
+! level involves a similar syntax to HTML:
+!
+! <p> "someoutput" write </p>
+!
+! <p> will output the opening tag and </p> will output the closing
+! tag with no attributes.
+!
+! <p "red" =class p> "someoutput" write </p>
+!
+! This time the opening tag does not have the '>'. It pushes
+! a namespace on the stack to hold the attributes and values.
+! Any attribute words used will store the attribute and values
+! in that namespace. Before the attribute word should come the
+! value of that attribute.
+! The finishing word will print out the operning tag including
+! attributes.
+! Any writes after this will appear after the opening tag.
+!
+! Values for attributes can be used directly without any stack
+! operations:
+!
+! (url -- )
+! <a =href a> "Click me" write </a>
+!
+! (url -- )
+! <a "http://" prepend =href a> "click" write </a>
+!
+! (url -- )
+! <a [ "http://" % % ] "" make =href a> "click" write </a>
+!
+! Tags that have no 'closing' equivalent have a trailing tag/> form:
+!
+! <input "text" =type "name" =name "20" =size input/>
+
+: elements-vocab ( -- vocab-name ) "html.elements" ;
+
+SYMBOL: html
+
+: write-html ( str -- )
+    H{ { html t } } format ;
+
+: print-html ( str -- )
+    write-html "\n" write-html ;
+
+<<
+
+: html-word ( name def effect -- )
+    #! Define 'word creating' word to allow
+    #! dynamically creating words.
+    >r >r elements-vocab create r> r> define-declared ;
+
+: <foo> ( str -- <str> ) "<" swap ">" 3append ;
+
+: def-for-html-word-<foo> ( name -- )
+    #! Return the name and code for the <foo> patterned
+    #! word.
+    dup <foo> swap '[ , <foo> write-html ]
+    (( -- )) html-word ;
+
+: <foo ( str -- <str ) "<" prepend ;
+
+: def-for-html-word-<foo ( name -- )
+    #! Return the name and code for the <foo patterned
+    #! word.
+    <foo dup '[ , write-html ]
+    (( -- )) html-word ;
+
+: foo> ( str -- foo> ) ">" append ;
+
+: def-for-html-word-foo> ( name -- )
+    #! Return the name and code for the foo> patterned
+    #! word.
+    foo> [ ">" write-html ] (( -- )) html-word ;
+
+: </foo> ( str -- </str> ) "</" swap ">" 3append ;
+
+: def-for-html-word-</foo> ( name -- )
+    #! Return the name and code for the </foo> patterned
+    #! word.
+    </foo> dup '[ , write-html ] (( -- )) html-word ;
+
+: <foo/> ( str -- <str/> ) "<" swap "/>" 3append ;
+
+: def-for-html-word-<foo/> ( name -- )
+    #! Return the name and code for the <foo/> patterned
+    #! word.
+    dup <foo/> swap '[ , <foo/> write-html ]
+    (( -- )) html-word ;
+
+: foo/> ( str -- str/> ) "/>" append ;
+
+: def-for-html-word-foo/> ( name -- )
+    #! Return the name and code for the foo/> patterned
+    #! word.
+    foo/> [ "/>" write-html ] (( -- )) html-word ;
+
+: define-closed-html-word ( name -- )
+    #! Given an HTML tag name, define the words for
+    #! that closable HTML tag.
+    dup def-for-html-word-<foo>
+    dup def-for-html-word-<foo
+    dup def-for-html-word-foo>
+    def-for-html-word-</foo> ;
+
+: define-open-html-word ( name -- )
+    #! Given an HTML tag name, define the words for
+    #! that open HTML tag.
+    dup def-for-html-word-<foo/>
+    dup def-for-html-word-<foo
+    def-for-html-word-foo/> ;
+
+: write-attr ( value name -- )
+    " " write-html
+    write-html
+    "='" write-html
+    present escape-quoted-string write-html
+    "'" write-html ;
+
+: define-attribute-word ( name -- )
+    dup "=" prepend swap
+    '[ , write-attr ] (( string -- )) html-word ;
+
+! Define some closed HTML tags
+[
+    "h1" "h2" "h3" "h4" "h5" "h6" "h7" "h8" "h9"
+    "ol" "li" "form" "a" "p" "html" "head" "body" "title"
+    "b" "i" "ul" "table" "tbody" "tr" "td" "th" "pre" "textarea"
+    "script" "div" "span" "select" "option" "style" "input"
+] [ define-closed-html-word ] each
+
+! Define some open HTML tags
+[
+    "input"
+    "br"
+    "link"
+    "img"
+] [ define-open-html-word ] each
+
+! Define some attributes
+[
+    "method" "action" "type" "value" "name"
+    "size" "href" "class" "border" "rows" "cols"
+    "id" "onclick" "style" "valign" "accesskey"
+    "src" "language" "colspan" "onchange" "rel"
+    "width" "selected" "onsubmit" "xmlns" "lang" "xml:lang"
+    "media" "title" "multiple" "checked"
+] [ define-attribute-word ] each
+
+>>
+
+: xhtml-preamble ( -- )
+    "<?xml version=\"1.0\"?>" write-html
+    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" write-html ;
+
+: simple-page ( title quot -- )
+    #! Call the quotation, with all output going to the
+    #! body of an html page with the given title.
+    xhtml-preamble
+    <html "http://www.w3.org/1999/xhtml" =xmlns "en" =xml:lang "en" =lang html>
+        <head> <title> swap write </title> </head>
+        <body> call </body>
+    </html> ; inline
+
+: render-error ( message -- )
+    <span "error" =class span> escape-string write </span> ;
diff --git a/basis/html/forms/forms-tests.factor b/basis/html/forms/forms-tests.factor
new file mode 100644 (file)
index 0000000..d2dc3ed
--- /dev/null
@@ -0,0 +1,67 @@
+IN: html.forms.tests
+USING: kernel sequences tools.test assocs html.forms validators accessors
+namespaces ;
+
+: with-validation ( quot -- messages )
+    [
+        begin-form
+        call
+    ] with-scope ; inline
+
+[ 14 ] [
+    [
+        "14" [ v-number 13 v-min-value 100 v-max-value ] validate
+    ] with-validation
+] unit-test
+
+[ t ] [
+    [
+        "140" [ v-number 13 v-min-value 100 v-max-value ] validate
+        [ validation-error? ]
+        [ value>> "140" = ]
+        bi and
+    ] with-validation
+] unit-test
+
+TUPLE: person name age ;
+
+person {
+    { "name" [ ] }
+    { "age" [ v-number 13 v-min-value 100 v-max-value ] }
+} define-validators
+
+[ t t ] [
+    [
+        { { "age" "" } }
+        { { "age" [ v-required ] } }
+        validate-values
+        validation-failed?
+        "age" value
+        [ validation-error? ]
+        [ message>> "required" = ]
+        bi and
+    ] with-validation
+] unit-test
+
+[ H{ { "a" 123 } } f ] [
+    [
+        H{
+            { "a" "123" }
+            { "b" "c" }
+            { "c" "d" }
+        }
+        H{
+            { "a" [ v-integer ] }
+        } validate-values
+        values
+        validation-failed?
+    ] with-validation
+] unit-test
+
+[ t "foo" ] [
+    [
+        "foo" validation-error
+        validation-failed?
+        form get errors>> first
+    ] with-validation
+] unit-test
diff --git a/basis/html/forms/forms.factor b/basis/html/forms/forms.factor
new file mode 100644 (file)
index 0000000..0da3fcb
--- /dev/null
@@ -0,0 +1,106 @@
+! Copyright (C) 2008 Slava Pestov
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors strings namespaces assocs hashtables
+mirrors math fry sequences sequences.lib words continuations ;
+IN: html.forms
+
+TUPLE: form errors values validation-failed ;
+
+: <form> ( -- form )
+    form new
+        V{ } clone >>errors
+        H{ } clone >>values ;
+
+M: form clone
+    call-next-method
+        [ clone ] change-errors
+        [ clone ] change-values ;
+
+: check-value-name ( name -- name )
+    dup string? [ "Value name not a string" throw ] unless ;
+
+: values ( -- assoc )
+    form get values>> ;
+
+: value ( name -- value )
+    check-value-name values at ;
+
+: set-value ( value name -- )
+    check-value-name values set-at ;
+
+: begin-form ( -- ) <form> form set ;
+
+: prepare-value ( name object -- value name object )
+    [ [ value ] keep ] dip ; inline
+
+: from-object ( object -- )
+    [ values ] [ make-mirror ] bi* update ;
+
+: to-object ( destination names -- )
+    [ make-mirror ] [ values extract-keys ] bi* update ;
+
+: with-each-value ( name quot -- )
+    [ value ] dip '[
+        [
+            form [ clone ] change
+            1+ "index" set-value
+            "value" set-value
+            @
+        ] with-scope
+    ] each-index ; inline
+
+: with-each-object ( name quot -- )
+    [ value ] dip '[
+        [
+            begin-form
+            1+ "index" set-value
+            from-object
+            @
+        ] with-scope
+    ] each-index ; inline
+
+SYMBOL: nested-forms
+
+: with-form ( name quot -- )
+    '[
+        ,
+        [ nested-forms [ swap prefix ] change ]
+        [ value form set ]
+        bi
+        @
+    ] with-scope ; inline
+
+: nest-form ( name quot -- )
+    swap [
+        [
+            <form> form set
+            call
+            form get
+        ] with-scope
+    ] dip set-value ; inline
+
+TUPLE: validation-error value message ;
+
+C: <validation-error> validation-error
+
+: validation-error ( message -- )
+    form get
+    t >>validation-failed
+    errors>> push ;
+
+: validation-failed? ( -- ? )
+    form get validation-failed>> ;
+
+: define-validators ( class validators -- )
+    >hashtable "validators" set-word-prop ;
+
+: validate ( value quot -- result )
+    [ <validation-error> ] recover ; inline
+
+: validate-value ( name value quot -- )
+    validate
+    dup validation-error? [ form get t >>validation-failed drop ] when
+    swap set-value ;
+
+: validate-values ( assoc validators -- assoc' )
+    swap '[ dup , at _ validate-value ] assoc-each ;
diff --git a/basis/html/parser/analyzer/analyzer.factor b/basis/html/parser/analyzer/analyzer.factor
new file mode 100755 (executable)
index 0000000..29ccc34
--- /dev/null
@@ -0,0 +1,182 @@
+USING: assocs html.parser kernel math sequences strings ascii
+arrays generalizations shuffle unicode.case namespaces splitting
+http sequences.lib accessors io combinators http.client urls ;
+IN: html.parser.analyzer
+
+TUPLE: link attributes clickable ;
+
+: scrape-html ( url -- vector )
+    http-get nip parse-html ;
+
+: (find-relative)
+    [ >r + dup r> ?nth* [ 2drop f f ] unless ] [ 2drop f ] if ; inline
+
+: find-relative ( seq quot n -- i elt )
+    >r over [ find drop ] dip r> swap pick
+    (find-relative) ; inline
+
+: (find-all) ( n seq quot -- )
+    2dup >r >r find-from [
+        dupd 2array , 1+ r> r> (find-all)
+    ] [
+        r> r> 3drop
+    ] if* ; inline
+
+: find-all ( seq quot -- alist )
+    [ 0 -rot (find-all) ] { } make ; inline
+
+: (find-nth) ( offset seq quot n count -- obj )
+    >r >r [ find-from ] 2keep 4 npick [
+        r> r> 1+ 2dup <= [
+            4drop
+        ] [
+            >r >r >r >r drop 1+ r> r> r> r>
+            (find-nth)
+        ] if
+    ] [
+        2drop r> r> 2drop
+    ] if ; inline
+
+: find-nth ( seq quot n -- i elt )
+    0 -roll 0 (find-nth) ; inline
+
+: find-nth-relative ( seq quot n offest -- i elt )
+    >r [ find-nth ] 3keep 2drop nip r> swap pick
+    (find-relative) ; inline
+
+: remove-blank-text ( vector -- vector' )
+    [
+        dup name>> text = [
+            text>> [ blank? ] all? not
+        ] [
+            drop t
+        ] if
+    ] filter ;
+
+: trim-text ( vector -- vector' )
+    [
+        dup name>> text = [
+            [ [ blank? ] trim ] change-text
+        ] when
+    ] map ;
+
+: find-by-id ( id vector -- vector )
+    [ attributes>> "id" swap at = ] with filter ;
+
+: find-by-class ( id vector -- vector )
+    [ attributes>> "class" swap at = ] with filter ;
+
+: find-by-name ( str vector -- vector )
+    >r >lower r>
+    [ name>> = ] with filter ;
+
+: find-first-name ( str vector -- i/f tag/f )
+    >r >lower r>
+    [ name>> = ] with find ;
+
+: find-matching-close ( str vector -- i/f tag/f )
+    >r >lower r>
+    [ [ name>> = ] keep closing?>> and ] with find ;
+
+: find-by-attribute-key ( key vector -- vector )
+    >r >lower r>
+    [ attributes>> at ] with filter
+    sift ;
+
+: find-by-attribute-key-value ( value key vector -- vector )
+    >r >lower r>
+    [ attributes>> at over = ] with filter nip
+    sift ;
+
+: find-first-attribute-key-value ( value key vector -- i/f tag/f )
+    >r >lower r>
+    [ attributes>> at over = ] with find rot drop ;
+
+: find-between* ( i/f tag/f vector -- vector )
+    pick integer? [
+        rot tail-slice
+        >r name>> r>
+        [ find-matching-close drop dup [ 1+ ] when ] keep
+        swap [ head ] [ first ] if*
+    ] [
+        3drop V{ } clone
+    ] if ;
+    
+: find-between ( i/f tag/f vector -- vector )
+    find-between* dup length 3 >= [
+        [ rest-slice but-last-slice ] keep like
+    ] when ;
+
+: find-between-first ( string vector -- vector' )
+    [ find-first-name ] keep find-between ;
+
+: find-between-all ( vector quot -- seq )
+    [ [ [ closing?>> not ] bi and ] curry find-all ] curry
+    [ [ >r first2 r> find-between* ] curry map ] bi ;
+
+: tag-link ( tag -- link/f )
+    attributes>> [ "href" swap at ] [ f ] if* ;
+
+: find-links ( vector -- vector' )
+    [ [ name>> "a" = ] [ attributes>> "href" swap at ] bi and ]
+    find-between-all ;
+
+: <link> ( vector -- link )
+    [ first attributes>> ]
+    [ [ name>> { text "img" } member? ] filter ] bi
+    link boa ;
+
+: link. ( vector -- )
+    [ attributes>> "href" swap at write nl ]
+    [ clickable>> [ bl bl text>> print ] each nl ] bi ;
+
+: find-by-text ( seq quot -- tag )
+    [ dup name>> text = ] prepose find drop ;
+
+: find-opening-tags-by-name ( name seq -- seq )
+    [ [ name>> = ] keep closing?>> not and ] with find-all ;
+
+: href-contains? ( str tag -- ? )
+    attributes>> "href" swap at* [ subseq? ] [ 2drop f ] if ;
+
+: find-hrefs ( vector -- vector' )
+    find-links
+    [ [
+        [ name>> "a" = ]
+        [ attributes>> "href" swap key? ] bi and ] filter
+    ] map sift [ [ attributes>> "href" swap at ] map ] map concat ;
+
+: find-forms ( vector -- vector' )
+    "form" over find-opening-tags-by-name
+    swap [ >r first2 r> find-between* ] curry map
+    [ [ name>> { "form" "input" } member? ] filter ] map ;
+
+: find-html-objects ( string vector -- vector' )
+    [ find-opening-tags-by-name ] keep
+    [ >r first2 r> find-between* ] curry map ;
+
+: form-action ( vector -- string )
+    [ name>> "form" = ] find nip 
+    attributes>> "action" swap at ;
+
+: hidden-form-values ( vector -- strings )
+    [ attributes>> "type" swap at "hidden" = ] filter ;
+
+: input. ( tag -- )
+    dup name>> print
+    attributes>>
+    [ bl bl bl bl [ write "=" write ] [ write bl ] bi* nl ] assoc-each ;
+
+: form. ( vector -- )
+    [ closing?>> not ] filter
+    [
+        {
+            { [ dup name>> "form" = ]
+                [ "form action: " write attributes>> "action" swap at print ] }
+            { [ dup name>> "input" = ] [ input. ] }
+            [ drop ]
+        } cond
+    ] each ;
+
+: query>assoc* ( str -- hash )
+    "?" split1 nip query>assoc ;
diff --git a/basis/html/parser/analyzer/authors.txt b/basis/html/parser/analyzer/authors.txt
new file mode 100755 (executable)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/html/parser/authors.txt b/basis/html/parser/authors.txt
new file mode 100755 (executable)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/html/parser/parser-tests.factor b/basis/html/parser/parser-tests.factor
new file mode 100644 (file)
index 0000000..9757f70
--- /dev/null
@@ -0,0 +1,62 @@
+USING: html.parser kernel tools.test ;
+IN: html.parser.tests
+
+[
+    V{ T{ tag f "html" H{ } f f } }
+] [ "<html>" parse-html ] unit-test
+
+[
+    V{ T{ tag f "html" H{ } f t } }
+] [ "</html>" parse-html ] unit-test
+
+[
+    V{ T{ tag f "a" H{ { "href" "http://factorcode.org/" } } f f } }
+] [ "<a href=\"http://factorcode.org/\">" parse-html ] unit-test
+
+[
+    V{ T{ tag f "a" H{ { "href" "http://factorcode.org/" } } f f } }
+] [ "<a   href  =  \"http://factorcode.org/\"   >" parse-html ] unit-test
+
+[
+V{
+    T{
+        tag
+        f
+        "a"
+        H{ { "baz" "\"quux\"" } { "foo" "bar's" } }
+        f
+        f
+    }
+}
+] [ "<a   foo=\"bar's\" baz='\"quux\"'  >" parse-html ] unit-test
+
+[
+V{
+    T{ tag f "a"
+        H{
+            { "a" "pirsqd" }
+            { "foo" "bar" }
+            { "href" "http://factorcode.org/" }
+            { "baz" "quux" }
+        } f f }
+}
+] [ "<a   href  =    \"http://factorcode.org/\"    foo   =  bar baz='quux'a=pirsqd  >" parse-html ] unit-test
+
+[
+V{
+    T{ tag f "html" H{ } f f }
+    T{ tag f "head" H{ } f f }
+    T{ tag f "head" H{ } f t }
+    T{ tag f "html" H{ } f t }
+}
+] [ "<html<head</head</html" parse-html ] unit-test
+
+[
+V{
+    T{ tag f "head" H{ } f f }
+    T{ tag f "title" H{ } f f }
+    T{ tag f text f "Spagna" f }
+    T{ tag f "title" H{ } f t }
+    T{ tag f "head" H{ } f t }
+}
+] [ "<head<title>Spagna</title></head" parse-html ] unit-test
diff --git a/basis/html/parser/parser.factor b/basis/html/parser/parser.factor
new file mode 100644 (file)
index 0000000..94a5019
--- /dev/null
@@ -0,0 +1,144 @@
+USING: accessors arrays html.parser.utils hashtables io kernel
+namespaces prettyprint quotations
+sequences splitting state-parser strings unicode.categories unicode.case
+sequences.lib ;
+IN: html.parser
+
+TUPLE: tag name attributes text closing? ;
+
+SINGLETON: text
+SINGLETON: dtd
+SINGLETON: comment
+SYMBOL: tagstack
+
+: push-tag ( tag -- )
+    tagstack get push ;
+
+: closing-tag? ( string -- ? )
+    [ f ]
+    [ [ first ] [ peek ] bi [ CHAR: / = ] bi@ or ] if-empty ;
+
+: <tag> ( name attributes closing? -- tag )
+    tag new
+        swap >>closing?
+        swap >>attributes
+        swap >>name ;
+
+: make-tag ( string attribs -- tag )
+    >r [ closing-tag? ] keep "/" trim1 r> rot <tag> ;
+
+: make-text-tag ( string -- tag )
+    tag new
+        text >>name
+        swap >>text ;
+
+: make-comment-tag ( string -- tag )
+    tag new
+        comment >>name
+        swap >>text ;
+
+: make-dtd-tag ( string -- tag )
+    tag new
+        dtd >>name
+        swap >>text ;
+
+: read-whitespace ( -- string )
+    [ get-char blank? not ] take-until ;
+
+: read-whitespace* ( -- ) read-whitespace drop ;
+
+: read-token ( -- string )
+    read-whitespace*
+    [ get-char blank? ] take-until ;
+
+: read-single-quote ( -- string )
+    [ get-char CHAR: ' = ] take-until ;
+
+: read-double-quote ( -- string )
+    [ get-char CHAR: " = ] take-until ;
+
+: read-quote ( -- string )
+    get-char next* CHAR: ' =
+    [ read-single-quote ] [ read-double-quote ] if next* ;
+
+: read-key ( -- string )
+    read-whitespace*
+    [ get-char [ CHAR: = = ] [ blank? ] bi or ] take-until ;
+
+: read-= ( -- )
+    read-whitespace*
+    [ get-char CHAR: = = ] take-until drop next* ;
+
+: read-value ( -- string )
+    read-whitespace*
+    get-char quote? [ read-quote ] [ read-token ] if
+    [ blank? ] trim ;
+
+: read-comment ( -- )
+    "-->" take-string* make-comment-tag push-tag ;
+
+: read-dtd ( -- )
+    ">" take-string* make-dtd-tag push-tag ;
+
+: read-bang ( -- )
+    next* get-char CHAR: - = get-next CHAR: - = and [
+        next* next*
+        read-comment
+    ] [
+        read-dtd
+    ] if ;
+
+: read-tag ( -- string )
+    [ get-char CHAR: > = get-char CHAR: < = or ] take-until
+    get-char CHAR: < = [ next* ] unless ;
+
+: read-< ( -- string )
+    next* get-char CHAR: ! = [
+        read-bang f
+    ] [
+        read-tag
+    ] if ;
+
+: read-until-< ( -- string )
+    [ get-char CHAR: < = ] take-until ;
+
+: parse-text ( -- )
+    read-until-< dup empty? [
+        drop
+    ] [
+        make-text-tag push-tag
+    ] if ;
+
+: (parse-attributes) ( -- )
+    read-whitespace*
+    string-parse-end? [
+        read-key >lower read-= read-value
+        2array , (parse-attributes)
+    ] unless ;
+
+: parse-attributes ( -- hashtable )
+    [ (parse-attributes) ] { } make >hashtable ;
+
+: (parse-tag) ( string -- string' hashtable )
+    [
+        read-token >lower
+        parse-attributes
+    ] string-parse ;
+
+: parse-tag ( -- )
+    read-< [
+        (parse-tag) make-tag push-tag
+    ] unless-empty ;
+
+: (parse-html) ( -- )
+    get-next [
+        parse-text
+        parse-tag
+        (parse-html)
+    ] when ;
+
+: tag-parse ( quot -- vector )
+    V{ } clone tagstack [ string-parse ] with-variable ;
+
+: parse-html ( string -- vector )
+    [ (parse-html) tagstack get ] tag-parse ;
diff --git a/basis/html/parser/printer/authors.txt b/basis/html/parser/printer/authors.txt
new file mode 100755 (executable)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/html/parser/printer/printer.factor b/basis/html/parser/printer/printer.factor
new file mode 100644 (file)
index 0000000..4419eec
--- /dev/null
@@ -0,0 +1,89 @@
+USING: accessors assocs html.parser html.parser.utils combinators
+continuations hashtables
+hashtables.private io kernel math
+namespaces prettyprint quotations sequences splitting
+strings ;
+IN: html.parser.printer
+
+SYMBOL: printer
+
+TUPLE: html-printer ;
+TUPLE: text-printer < html-printer ;
+TUPLE: src-printer < html-printer ;
+TUPLE: html-prettyprinter < html-printer ;
+
+HOOK: print-text-tag html-printer ( tag -- )
+HOOK: print-comment-tag html-printer ( tag -- )
+HOOK: print-dtd-tag html-printer ( tag -- )
+HOOK: print-opening-tag html-printer ( tag -- )
+HOOK: print-closing-tag html-printer ( tag -- )
+
+ERROR: unknown-tag-error tag ;
+
+: print-tag ( tag -- )
+    {
+        { [ dup name>> text = ] [ print-text-tag ] }
+        { [ dup name>> comment = ] [ print-comment-tag ] }
+        { [ dup name>> dtd = ] [ print-dtd-tag ] }
+        { [ dup [ name>> string? ] [ closing?>> ] bi and ]
+            [ print-closing-tag ] }
+        { [ dup name>> string? ]
+            [ print-opening-tag ] }
+        [ unknown-tag-error ]
+    } cond ;
+
+: print-tags ( vector -- ) [ print-tag ] each ;
+
+: html-text. ( vector -- )
+    T{ text-printer } html-printer [ print-tags ] with-variable ;
+
+: html-src. ( vector -- )
+    T{ src-printer } html-printer [ print-tags ] with-variable ;
+
+M: html-printer print-text-tag ( tag -- ) text>> write ;
+
+M: html-printer print-comment-tag ( tag -- )
+    "<!--" write text>> write "-->" write ;
+
+M: html-printer print-dtd-tag ( tag -- )
+    "<!" write text>> write ">" write ;
+
+: print-attributes ( hashtable -- )
+    [ [ bl write "=" write ] [ ?quote write ] bi* ] assoc-each ;
+
+M: src-printer print-opening-tag ( tag -- )
+    "<" write
+    [ name>> write ]
+    [ attributes>> dup assoc-empty? [ drop ] [ print-attributes ] if ] bi
+    ">" write ;
+
+M: src-printer print-closing-tag ( tag -- )
+    "</" write
+    name>> write
+    ">" write ;
+
+SYMBOL: tab-width
+SYMBOL: #indentations
+SYMBOL: tagstack
+
+: prettyprint-html ( vector -- )
+    [
+        T{ html-prettyprinter } printer set
+        V{ } clone tagstack set
+        2 tab-width set
+        0 #indentations set
+        print-tags
+    ] with-scope ;
+
+: print-tabs ( -- )
+    tab-width get #indentations get * CHAR: \s <repetition> write ; 
+
+M: html-prettyprinter print-opening-tag ( tag -- )
+    print-tabs "<" write
+    name>> write
+    ">\n" write ;
+
+M: html-prettyprinter print-closing-tag ( tag -- )
+    "</" write
+    name>> write
+    ">" write ;
diff --git a/basis/html/parser/utils/authors.txt b/basis/html/parser/utils/authors.txt
new file mode 100755 (executable)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/html/parser/utils/utils-tests.factor b/basis/html/parser/utils/utils-tests.factor
new file mode 100644 (file)
index 0000000..4b25db1
--- /dev/null
@@ -0,0 +1,24 @@
+USING: assocs combinators continuations hashtables
+hashtables.private io kernel math
+namespaces prettyprint quotations sequences splitting
+state-parser strings tools.test ;
+USING: html.parser.utils ;
+IN: html.parser.utils.tests
+
+[ "'Rome'" ] [ "Rome" single-quote ] unit-test
+[ "\"Roma\"" ] [ "Roma" double-quote ] unit-test
+[ "'Firenze'" ] [ "Firenze" quote ] unit-test
+[ "\"Caesar's\"" ] [ "Caesar's" quote ] unit-test
+[ f ] [ "" quoted? ] unit-test
+[ t ] [ "''" quoted? ] unit-test
+[ t ] [ "\"\"" quoted? ] unit-test
+[ t ] [ "\"Circus Maximus\"" quoted? ] unit-test
+[ t ] [ "'Circus Maximus'" quoted? ] unit-test
+[ f ] [ "Circus Maximus" quoted? ] unit-test
+[ "'Italy'" ] [ "Italy" ?quote ] unit-test
+[ "'Italy'" ] [ "'Italy'" ?quote ] unit-test
+[ "\"Italy\"" ] [ "\"Italy\"" ?quote ] unit-test
+[ "Italy" ] [ "Italy" unquote ] unit-test
+[ "Italy" ] [ "'Italy'" unquote ] unit-test
+[ "Italy" ] [ "\"Italy\"" unquote ] unit-test
+
diff --git a/basis/html/parser/utils/utils.factor b/basis/html/parser/utils/utils.factor
new file mode 100644 (file)
index 0000000..04b3687
--- /dev/null
@@ -0,0 +1,37 @@
+USING: assocs circular combinators continuations hashtables
+hashtables.private io kernel math
+namespaces prettyprint quotations sequences splitting
+state-parser strings sequences.lib ;
+IN: html.parser.utils
+
+: string-parse-end? ( -- ? ) get-next not ;
+
+: take-string* ( match -- string )
+    dup length <circular-string>
+    [ 2dup string-matches? ] take-until nip
+    dup length rot length 1- - head next* ;
+
+: trim1 ( seq ch -- newseq )
+    [ ?head drop ] [ ?tail drop ] bi ;
+
+: single-quote ( str -- newstr )
+    "'" swap "'" 3append ;
+
+: double-quote ( str -- newstr )
+    "\"" swap "\"" 3append ;
+
+: quote ( str -- newstr )
+    CHAR: ' over member?
+    [ double-quote ] [ single-quote ] if ;
+
+: quoted? ( str -- ? )
+    [ f ]
+    [ [ first ] [ peek ] bi [ = ] keep "'\"" member? and ] if-empty ;
+
+: ?quote ( str -- newstr )
+    dup quoted? [ quote ] unless ;
+
+: unquote ( str -- newstr )
+    dup quoted? [ but-last-slice rest-slice >string ] when ;
+
+: quote? ( ch -- ? ) "'\"" member? ;
diff --git a/basis/html/streams/authors.txt b/basis/html/streams/authors.txt
new file mode 100644 (file)
index 0000000..65da810
--- /dev/null
@@ -0,0 +1,3 @@
+Slava Pestov
+Matthew Willis
+Chris Double
diff --git a/basis/html/streams/streams-tests.factor b/basis/html/streams/streams-tests.factor
new file mode 100644 (file)
index 0000000..b5707c1
--- /dev/null
@@ -0,0 +1,74 @@
+USING: html.streams html.streams.private accessors io
+io.streams.string io.styles kernel namespaces tools.test
+xml.writer sbufs sequences inspector colors ;
+IN: html.streams.tests
+
+: make-html-string
+    [ with-html-stream ] with-string-writer ; inline
+
+[ [ ] make-html-string ] must-infer
+
+[ ] [
+    512 <sbuf> <html-stream> drop
+] unit-test
+
+[ "" ] [
+    [ "" write ] make-html-string
+] unit-test
+
+[ "a" ] [
+    [ CHAR: a write1 ] make-html-string
+] unit-test
+
+[ "&lt;" ] [
+    [ "<" write ] make-html-string
+] unit-test
+
+[ "<" ] [
+    [ "<" H{ } output-stream get format-html-span ] make-html-string
+] unit-test
+
+TUPLE: funky town ;
+
+M: funky browser-link-href
+    "http://www.funky-town.com/" swap town>> append ;
+
+[ "<a href='http://www.funky-town.com/austin'>&lt;</a>" ] [
+    [
+        "<" "austin" funky boa write-object
+    ] make-html-string
+] unit-test
+
+[ "<span style='font-family: monospace; '>car</span>" ]
+[
+    [
+        "car"
+        H{ { font "monospace" } }
+        format
+    ] make-html-string
+] unit-test
+
+[ "<span style='color: #ff00ff; '>car</span>" ]
+[
+    [
+        "car"
+        H{ { foreground T{ rgba f 1 0 1 1 } } }
+        format
+    ] make-html-string
+] unit-test
+
+[ "<div style='background-color: #ff00ff; white-space: pre; font-family: monospace; '>cdr</div>" ]
+[
+    [
+        H{ { page-color T{ rgba f 1 0 1 1 } } }
+        [ "cdr" write ] with-nesting
+    ] make-html-string
+] unit-test
+
+[
+    "<div style='white-space: pre; font-family: monospace; '></div>"
+] [
+    [ H{ } [ ] with-nesting nl ] make-html-string
+] unit-test
+
+[ ] [ [ { 1 2 3 } describe ] with-html-stream ] unit-test
diff --git a/basis/html/streams/streams.factor b/basis/html/streams/streams.factor
new file mode 100755 (executable)
index 0000000..d21c743
--- /dev/null
@@ -0,0 +1,197 @@
+! Copyright (C) 2004, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: combinators generic assocs help http io io.styles io.files
+       continuations io.streams.string kernel math math.order math.parser
+       namespaces quotations assocs sequences strings words html.elements
+       xml.entities sbufs continuations destructors accessors arrays ;
+
+IN: html.streams
+
+GENERIC: browser-link-href ( presented -- href )
+
+M: object browser-link-href drop f ;
+
+TUPLE: html-stream stream last-div ;
+
+! stream-nl after with-nesting or tabular-output is
+! ignored, so that HTML stream output looks like
+! UI pane output
+: last-div? ( stream -- ? )
+    [ f ] change-last-div drop ;
+
+: not-a-div ( stream -- stream )
+    f >>last-div ; inline
+
+: a-div ( stream -- straem )
+    t >>last-div ; inline
+
+: <html-stream> ( stream -- stream )
+    f html-stream boa ;
+
+<PRIVATE
+
+TUPLE: html-sub-stream < html-stream style parent ;
+
+: new-html-sub-stream ( style stream class -- stream )
+    new
+        512 <sbuf> >>stream
+        swap >>parent
+        swap >>style ; inline
+
+: end-sub-stream ( substream -- string style stream )
+    [ stream>> >string ] [ style>> ] [ parent>> ] tri ;
+
+: object-link-tag ( style quot -- )
+    presented pick at [
+        browser-link-href [
+            <a =href a> call </a>
+        ] [ call ] if*
+    ] [ call ] if* ; inline
+
+: hex-color, ( color -- )
+    [ red>> ] [ green>> ] [ blue>> ] tri
+    [ 255 * >fixnum >hex 2 CHAR: 0 pad-left % ] tri@ ;
+
+: fg-css, ( color -- )
+    "color: #" % hex-color, "; " % ;
+
+: bg-css, ( color -- )
+    "background-color: #" % hex-color, "; " % ;
+
+: style-css, ( flag -- )
+    dup
+    { italic bold-italic } member?
+    "font-style: " % "italic" "normal" ? % "; " %
+    { bold bold-italic } member?
+    "font-weight: " % "bold" "normal" ? % "; " % ;
+
+: size-css, ( size -- )
+    "font-size: " % # "pt; " % ;
+
+: font-css, ( font -- )
+    "font-family: " % % "; " % ;
+
+: apply-style ( style key quot -- style gadget )
+    >r over at r> when* ; inline
+
+: make-css ( style quot -- str )
+    "" make nip ; inline
+
+: span-css-style ( style -- str )
+    [
+        foreground [ fg-css,    ] apply-style
+        background [ bg-css,    ] apply-style
+        font       [ font-css,  ] apply-style
+        font-style [ style-css, ] apply-style
+        font-size  [ size-css,  ] apply-style
+    ] make-css ;
+
+: span-tag ( style quot -- )
+    over span-css-style dup empty? [
+        drop call
+    ] [
+        <span =style span> call </span>
+    ] if ; inline
+
+: format-html-span ( string style stream -- )
+    stream>> [
+        [ [ drop write ] span-tag ] object-link-tag
+    ] with-output-stream* ;
+
+TUPLE: html-span-stream < html-sub-stream ;
+
+M: html-span-stream dispose
+    end-sub-stream not-a-div format-html-span ;
+
+: border-css, ( border -- )
+    "border: 1px solid #" % hex-color, "; " % ;
+
+: padding-css, ( padding -- ) "padding: " % # "px; " % ;
+
+: pre-css, ( margin -- )
+    [ "white-space: pre; font-family: monospace; " % ] unless ;
+
+: div-css-style ( style -- str )
+    [
+        page-color   [ bg-css,      ] apply-style
+        border-color [ border-css,  ] apply-style
+        border-width [ padding-css, ] apply-style
+        wrap-margin over at pre-css,
+    ] make-css ;
+
+: div-tag ( style quot -- )
+    swap div-css-style dup empty? [
+        drop call
+    ] [
+        <div =style div> call </div>
+    ] if ; inline
+
+: format-html-div ( string style stream -- )
+    stream>> [
+        [ [ write ] div-tag ] object-link-tag
+    ] with-output-stream* ;
+
+TUPLE: html-block-stream < html-sub-stream ;
+
+M: html-block-stream dispose ( quot style stream -- )
+    end-sub-stream a-div format-html-div ;
+
+: border-spacing-css, ( pair -- )
+    "padding: " % first2 max 2 /i # "px; " % ;
+
+: table-style ( style -- str )
+    [
+        table-border [ border-css,         ] apply-style
+        table-gap    [ border-spacing-css, ] apply-style
+    ] make-css ;
+
+: table-attrs ( style -- )
+    table-style " border-collapse: collapse;" append =style ;
+
+: do-escaping ( string style -- string )
+    html swap at [ escape-string ] unless ;
+
+PRIVATE>
+
+! Stream protocol
+M: html-stream stream-flush
+    stream>> stream-flush ;
+
+M: html-stream stream-write1
+    >r 1string r> stream-write ;
+
+M: html-stream stream-write
+    not-a-div >r escape-string r> stream>> stream-write ;
+
+M: html-stream stream-format
+    >r html over at [ >r escape-string r> ] unless r>
+    format-html-span ;
+
+M: html-stream stream-nl
+    dup last-div? [ drop ] [ [ <br/> ] with-output-stream* ] if ;
+
+M: html-stream make-span-stream
+    html-span-stream new-html-sub-stream ;
+
+M: html-stream make-block-stream
+    html-block-stream new-html-sub-stream ;
+
+M: html-stream make-cell-stream
+    html-sub-stream new-html-sub-stream ;
+
+M: html-stream stream-write-table
+    a-div stream>> [
+        <table dup table-attrs table> swap [
+            <tr> [
+                <td "top" =valign swap table-style =style td>
+                    stream>> >string write
+                </td>
+            ] with each </tr>
+        ] with each </table>
+    ] with-output-stream* ;
+
+M: html-stream dispose stream>> dispose ;
+
+: with-html-stream ( quot -- )
+    output-stream get <html-stream> swap with-output-stream* ; inline
diff --git a/basis/html/streams/summary.txt b/basis/html/streams/summary.txt
new file mode 100644 (file)
index 0000000..29ec8d3
--- /dev/null
@@ -0,0 +1 @@
+HTML reader, writer and utilities
diff --git a/basis/html/streams/tags.txt b/basis/html/streams/tags.txt
new file mode 100644 (file)
index 0000000..c077218
--- /dev/null
@@ -0,0 +1 @@
+web
diff --git a/basis/html/templates/chloe/chloe-tests.factor b/basis/html/templates/chloe/chloe-tests.factor
new file mode 100644 (file)
index 0000000..0305b73
--- /dev/null
@@ -0,0 +1,182 @@
+USING: html.templates html.templates.chloe
+tools.test io.streams.string kernel sequences ascii boxes
+namespaces xml html.components html.forms
+splitting unicode.categories furnace accessors ;
+IN: html.templates.chloe.tests
+
+[ f ] [ f parse-query-attr ] unit-test
+
+[ f ] [ "" parse-query-attr ] unit-test
+
+[ H{ { "a" "b" } } ] [
+    begin-form
+    "b" "a" set-value
+    "a" parse-query-attr
+] unit-test
+
+[ H{ { "a" "b" } { "c" "d" } } ] [
+    begin-form
+    "b" "a" set-value
+    "d" "c" set-value
+    "a,c" parse-query-attr
+] unit-test
+
+: run-template
+    with-string-writer [ "\r\n\t" member? not ] filter
+    "?>" split1 nip ; inline
+
+: test-template ( name -- template )
+    "resource:basis/html/templates/chloe/test/"
+    prepend <chloe> ;
+
+[ "Hello world" ] [
+    [
+        "test1" test-template call-template
+    ] run-template
+] unit-test
+
+[ "Blah blah" "Hello world" ] [
+    [
+        <box> title set
+        [
+            "test2" test-template call-template
+        ] run-template
+        title get box>
+    ] with-scope
+] unit-test
+
+[ "<html><head><title>Hello world</title></head><body>Blah blah</body></html>" ] [
+    [
+        [
+            "test2" test-template call-template
+        ] "test3" test-template with-boilerplate
+    ] run-template
+] unit-test
+
+: test4-aux? t ;
+
+[ "True" ] [
+    [
+        "test4" test-template call-template
+    ] run-template
+] unit-test
+
+: test5-aux? f ;
+
+[ "" ] [
+    [
+        "test5" test-template call-template
+    ] run-template
+] unit-test
+
+[ ] [ begin-form ] unit-test
+
+[ ] [ "A label" "label" set-value ] unit-test
+
+SINGLETON: link-test
+
+M: link-test link-title drop "<Link Title>" ;
+
+M: link-test link-href drop "http://www.apple.com/foo&bar" ;
+
+[ ] [ link-test "link" set-value ] unit-test
+
+[ ] [ "int x = 5;" "code" set-value ] unit-test
+
+[ ] [ "c" "mode" set-value ] unit-test
+
+[ ] [ { 1 2 3 } "inspector" set-value ] unit-test
+
+[ ] [ "<p>a paragraph</p>" "html" set-value ] unit-test
+
+[ ] [ "sheeple" "field" set-value ] unit-test
+
+[ ] [ "a password" "password" set-value ] unit-test
+
+[ ] [ "a\nb\nc" "textarea" set-value ] unit-test
+
+[ ] [ "new york" "choice" set-value ] unit-test
+
+[ ] [ { "new york" "detroit" "minneapolis" } "choices" set-value ] unit-test
+
+[ ] [
+    [
+        "test8" test-template call-template
+    ] run-template drop
+] unit-test
+
+[ ] [ { 1 2 3 } "numbers" set-value ] unit-test
+
+[ "<ul><li>1</li><li>2</li><li>3</li></ul>" ] [
+    [
+        "test7" test-template call-template
+    ] run-template [ blank? not ] filter
+] unit-test
+
+TUPLE: person first-name last-name ;
+
+[ ] [
+    {
+        T{ person f "RBaxter" "Unknown" }
+        T{ person f "Doug" "Coleman" }
+    } "people" set-value
+] unit-test
+
+[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr><tr><td>Doug</td><td>Coleman</td></tr></table>" ] [
+    [
+        "test8" test-template call-template
+    ] run-template [ blank? not ] filter
+] unit-test
+
+[ ] [
+    {
+        H{ { "first-name" "RBaxter" } { "last-name" "Unknown" } }
+        H{ { "first-name" "Doug"    } { "last-name" "Coleman" } }
+    } "people" set-value
+] unit-test
+
+[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr><tr><td>Doug</td><td>Coleman</td></tr></table>" ] [
+    [
+        "test8" test-template call-template
+    ] run-template [ blank? not ] filter
+] unit-test
+
+[ ] [ 1 "id" set-value ] unit-test
+
+[ "<a name=\"1\">Hello</a>" ] [
+    [
+        "test9" test-template call-template
+    ] run-template
+] unit-test
+
+[ ] [ H{ { "a" H{ { "b" "c" } } } } values set ] unit-test
+
+[ "<form method='post' action='foo'><input type='hidden' name='__n' value='a'/></form>" ] [
+    [
+        "test10" test-template call-template
+    ] run-template
+] unit-test
+
+[ ] [ begin-form ] unit-test
+
+[ ] [
+    <form> H{ { "first-name" "RBaxter" } { "last-name" "Unknown" } } >>values "person" set-value
+] unit-test
+
+[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr></table>" ] [
+    [
+        "test11" test-template call-template
+    ] run-template [ blank? not ] filter
+] unit-test
+
+[ ] [
+    begin-form
+    { "a" "b" } "choices" set-value
+    "true" "b" set-value
+] unit-test
+
+[ "<input type='checkbox' name='a'>a</input><input type='checkbox' name='b' checked='true'>b</input>" ] [
+    [
+        "test12" test-template call-template
+    ] run-template
+] unit-test
diff --git a/basis/html/templates/chloe/chloe.factor b/basis/html/templates/chloe/chloe.factor
new file mode 100644 (file)
index 0000000..afbd82f
--- /dev/null
@@ -0,0 +1,162 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel sequences combinators kernel namespaces
+classes.tuple assocs splitting words arrays memoize
+io io.files io.encodings.utf8 io.streams.string
+unicode.case tuple-syntax mirrors fry math urls present
+multiline xml xml.data xml.writer xml.utilities
+html.forms
+html.elements
+html.components
+html.templates
+html.templates.chloe.syntax ;
+IN: html.templates.chloe
+
+! Chloe is Ed's favorite web designer
+SYMBOL: tag-stack
+
+TUPLE: chloe path ;
+
+C: <chloe> chloe
+
+DEFER: process-template
+
+: chloe-attrs-only ( assoc -- assoc' )
+    [ drop url>> chloe-ns = ] assoc-filter ;
+
+: non-chloe-attrs-only ( assoc -- assoc' )
+    [ drop url>> chloe-ns = not ] assoc-filter ;
+
+: chloe-tag? ( tag -- ? )
+    dup xml? [ body>> ] when
+    {
+        { [ dup tag? not ] [ f ] }
+        { [ dup url>> chloe-ns = not ] [ f ] }
+        [ t ]
+    } cond nip ;
+
+: process-tag-children ( tag -- )
+    [ process-template ] each ;
+
+CHLOE: chloe process-tag-children ;
+
+: children>string ( tag -- string )
+    [ process-tag-children ] with-string-writer ;
+
+CHLOE: title children>string set-title ;
+
+CHLOE: write-title
+    drop
+    "head" tag-stack get member?
+    "title" tag-stack get member? not and
+    [ <title> write-title </title> ] [ write-title ] if ;
+
+CHLOE: style
+    dup "include" optional-attr dup [
+        swap children>string empty? [
+            "style tag cannot have both an include attribute and a body" throw
+        ] unless
+        utf8 file-contents
+    ] [
+        drop children>string
+    ] if add-style ;
+
+CHLOE: write-style
+    drop <style> write-style </style> ;
+
+CHLOE: even "index" value even? [ process-tag-children ] [ drop ] if ;
+
+CHLOE: odd "index" value odd? [ process-tag-children ] [ drop ] if ;
+
+: (bind-tag) ( tag quot -- )
+    [
+        [ "name" required-attr ] keep
+        '[ , process-tag-children ]
+    ] dip call ; inline
+
+CHLOE: each [ with-each-value ] (bind-tag) ;
+
+CHLOE: bind-each [ with-each-object ] (bind-tag) ;
+
+CHLOE: bind [ with-form ] (bind-tag) ;
+
+: error-message-tag ( tag -- )
+    children>string render-error ;
+
+CHLOE: comment drop ;
+
+CHLOE: call-next-template drop call-next-template ;
+
+: attr>word ( value -- word/f )
+    ":" split1 swap lookup ;
+
+: if-satisfied? ( tag -- ? )
+    [ "code" optional-attr [ attr>word dup [ execute ] when ] [ t ] if* ]
+    [ "value" optional-attr [ value ] [ t ] if* ]
+    bi and ;
+
+CHLOE: if dup if-satisfied? [ process-tag-children ] [ drop ] if ;
+
+CHLOE-SINGLETON: label
+CHLOE-SINGLETON: link
+CHLOE-SINGLETON: inspector
+CHLOE-SINGLETON: comparison
+CHLOE-SINGLETON: html
+CHLOE-SINGLETON: hidden
+
+CHLOE-TUPLE: farkup
+CHLOE-TUPLE: field
+CHLOE-TUPLE: textarea
+CHLOE-TUPLE: password
+CHLOE-TUPLE: choice
+CHLOE-TUPLE: checkbox
+CHLOE-TUPLE: code
+
+: process-chloe-tag ( tag -- )
+    dup main>> dup tags get at
+    [ call ] [ "Unknown chloe tag: " prepend throw ] ?if ;
+
+: process-tag ( tag -- )
+    {
+        [ main>> >lower tag-stack get push ]
+        [ write-start-tag ]
+        [ process-tag-children ]
+        [ write-end-tag ]
+        [ drop tag-stack get pop* ]
+    } cleave ;
+
+: expand-attrs ( tag -- tag )
+    dup [ tag? ] [ xml? ] bi or [
+        clone [
+            [ "@" ?head [ value present ] when ] assoc-map
+        ] change-attrs
+    ] when ;
+
+: process-template ( xml -- )
+    expand-attrs
+    {
+        { [ dup chloe-tag? ] [ process-chloe-tag ] }
+        { [ dup [ tag? ] [ xml? ] bi or ] [ process-tag ] }
+        { [ t ] [ write-item ] }
+    } cond ;
+
+: process-chloe ( xml -- )
+    [
+        V{ } clone tag-stack set
+
+        nested-template? get [
+            process-template
+        ] [
+            {
+                [ prolog>> write-prolog ]
+                [ before>> write-chunk  ]
+                [ process-template        ]
+                [ after>> write-chunk   ]
+            } cleave
+        ] if
+    ] with-scope ;
+
+M: chloe call-template*
+    path>> ".xml" append utf8 <file-reader> read-xml process-chloe ;
+
+INSTANCE: chloe template
diff --git a/basis/html/templates/chloe/syntax/syntax.factor b/basis/html/templates/chloe/syntax/syntax.factor
new file mode 100644 (file)
index 0000000..82309a4
--- /dev/null
@@ -0,0 +1,61 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+IN: html.templates.chloe.syntax
+USING: accessors kernel sequences combinators kernel namespaces
+classes.tuple assocs splitting words arrays memoize parser lexer
+io io.files io.encodings.utf8 io.streams.string
+unicode.case tuple-syntax mirrors fry math urls
+multiline xml xml.data xml.writer xml.utilities
+html.elements
+html.components
+html.templates ;
+
+SYMBOL: tags
+
+tags global [ H{ } clone or ] change-at
+
+: define-chloe-tag ( name quot -- ) swap tags get set-at ;
+
+: CHLOE:
+    scan parse-definition define-chloe-tag ; parsing
+
+: chloe-ns "http://factorcode.org/chloe/1.0" ; inline
+
+MEMO: chloe-name ( string -- name )
+    name new
+        swap >>main
+        chloe-ns >>url ;
+
+: required-attr ( tag name -- value )
+    dup chloe-name rot at*
+    [ nip ] [ drop " attribute is required" append throw ] if ;
+
+: optional-attr ( tag name -- value )
+    chloe-name swap at ;
+
+: singleton-component-tag ( tag class -- )
+    [ "name" required-attr ] dip render ;
+
+: CHLOE-SINGLETON:
+    scan-word
+    [ name>> ] [ '[ , singleton-component-tag ] ] bi
+    define-chloe-tag ;
+    parsing
+
+: attrs>slots ( tag tuple -- )
+    [ attrs>> ] [ <mirror> ] bi*
+    '[
+        swap main>> dup "name" =
+        [ 2drop ] [ , set-at ] if
+    ] assoc-each ;
+
+: tuple-component-tag ( tag class -- )
+    [ drop "name" required-attr ]
+    [ new [ attrs>slots ] keep ]
+    2bi render ;
+
+: CHLOE-TUPLE:
+    scan-word
+    [ name>> ] [ '[ , tuple-component-tag ] ] bi
+    define-chloe-tag ;
+    parsing
diff --git a/basis/html/templates/chloe/test/test1.xml b/basis/html/templates/chloe/test/test1.xml
new file mode 100644 (file)
index 0000000..daccd57
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+       Hello world
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test10.xml b/basis/html/templates/chloe/test/test10.xml
new file mode 100644 (file)
index 0000000..33fe200
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><t:bind t:name="a"><t:form t:action="foo"/></t:bind></t:chloe>
diff --git a/basis/html/templates/chloe/test/test11.xml b/basis/html/templates/chloe/test/test11.xml
new file mode 100644 (file)
index 0000000..f74256b
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <table>
+               <t:bind t:name="person">
+                       <tr>
+                               <td><t:label t:name="first-name"/></td>
+                               <td><t:label t:name="last-name"/></td>
+                       </tr>
+               </t:bind>
+       </table>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test12.xml b/basis/html/templates/chloe/test/test12.xml
new file mode 100644 (file)
index 0000000..b26778c
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><t:each t:name="choices"><t:checkbox t:name="@value" t:label="@value" /></t:each></t:chloe>
diff --git a/basis/html/templates/chloe/test/test2.xml b/basis/html/templates/chloe/test/test2.xml
new file mode 100644 (file)
index 0000000..05b9dde
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+       <t:title>Hello world</t:title>
+       Blah blah
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test3-aux.xml b/basis/html/templates/chloe/test/test3-aux.xml
new file mode 100644 (file)
index 0000000..99f61af
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+       <t:title>Hello world</t:title>
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test3.xml b/basis/html/templates/chloe/test/test3.xml
new file mode 100644 (file)
index 0000000..845dd35
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+       <html>
+               <head>
+                       <t:write-title />
+               </head>
+               <body>
+                       <t:call-next-template />
+               </body>
+       </html>
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test4.xml b/basis/html/templates/chloe/test/test4.xml
new file mode 100644 (file)
index 0000000..5561236
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:if t:code="html.templates.chloe.tests:test4-aux?">
+               True
+       </t:if>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test5.xml b/basis/html/templates/chloe/test/test5.xml
new file mode 100644 (file)
index 0000000..edcbe8f
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:if t:code="html.templates.chloe.tests:test5-aux?">
+               True
+       </t:if>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test6.xml b/basis/html/templates/chloe/test/test6.xml
new file mode 100644 (file)
index 0000000..8e2ff2e
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <t:label t:name="label" />
+
+       <t:link t:name="link" />
+
+       <t:code t:name="code" mode="mode" />
+
+       <t:farkup t:name="farkup" />
+
+       <t:inspector t:name="inspector" />
+
+       <t:html t:name="html" />
+
+       <t:field t:name="field" t:size="13" />
+
+       <t:password t:name="password" t:size="10" />
+
+       <t:textarea t:name="textarea" t:rows="5" t:cols="10" />
+
+       <t:choice t:name="choice" t:choices="choices" />
+
+       <t:checkbox t:name="checkbox">Checkbox</t:checkbox>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test7.xml b/basis/html/templates/chloe/test/test7.xml
new file mode 100644 (file)
index 0000000..6166c80
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <ul>
+               <t:each t:name="numbers">
+                       <li><t:label t:name="value"/></li>
+               </t:each>
+       </ul>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test8.xml b/basis/html/templates/chloe/test/test8.xml
new file mode 100644 (file)
index 0000000..fd4a64a
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
+
+       <table>
+               <t:bind-each t:name="people">
+                       <tr>
+                               <td><t:label t:name="first-name"/></td>
+                               <td><t:label t:name="last-name"/></td>
+                       </tr>
+               </t:bind-each>
+       </table>
+
+</t:chloe>
diff --git a/basis/html/templates/chloe/test/test9.xml b/basis/html/templates/chloe/test/test9.xml
new file mode 100644 (file)
index 0000000..a9b2769
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version='1.0' ?>
+
+<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><a name="@id">Hello</a></t:chloe>
diff --git a/basis/html/templates/fhtml/authors.txt b/basis/html/templates/fhtml/authors.txt
new file mode 100644 (file)
index 0000000..b47eafb
--- /dev/null
@@ -0,0 +1,2 @@
+Slava Pestov
+Matthew Willis
diff --git a/basis/html/templates/fhtml/fhtml-tests.factor b/basis/html/templates/fhtml/fhtml-tests.factor
new file mode 100755 (executable)
index 0000000..b863087
--- /dev/null
@@ -0,0 +1,20 @@
+USING: io io.files io.streams.string io.encodings.utf8
+html.templates html.templates.fhtml kernel
+tools.test sequences parser ;
+IN: html.templates.fhtml.tests
+
+: test-template ( path -- ? )
+    "resource:basis/html/templates/fhtml/test/"
+    prepend
+    [
+        ".fhtml" append <fhtml> [ call-template ] with-string-writer
+    ] keep
+    ".html" append utf8 file-contents = ;
+
+[ t ] [ "example" test-template ] unit-test
+[ t ] [ "bug" test-template ] unit-test
+[ t ] [ "stack" test-template ] unit-test
+
+[
+    [ ] [ "<%\n%>" parse-template drop ] unit-test
+] with-file-vocabs
diff --git a/basis/html/templates/fhtml/fhtml.factor b/basis/html/templates/fhtml/fhtml.factor
new file mode 100755 (executable)
index 0000000..e435fdc
--- /dev/null
@@ -0,0 +1,79 @@
+! Copyright (C) 2005 Alex Chapman
+! Copyright (C) 2006, 2008 Slava Pestov
+! See http://factorcode.org/license.txt for BSD license.
+USING: continuations sequences kernel namespaces debugger
+combinators math quotations generic strings splitting
+accessors assocs fry
+parser lexer io io.files io.streams.string io.encodings.utf8
+html.elements
+html.templates ;
+IN: html.templates.fhtml
+
+! We use a custom lexer so that %> ends a token even if not
+! followed by whitespace
+TUPLE: template-lexer < lexer ;
+
+: <template-lexer> ( lines -- lexer )
+    template-lexer new-lexer ;
+
+M: template-lexer skip-word
+    [
+        {
+            { [ 2dup nth CHAR: " = ] [ drop 1+ ] }
+            { [ 2dup swap tail-slice "%>" head? ] [ drop 2 + ] }
+            [ f skip ]
+        } cond
+    ] change-lexer-column ;
+
+DEFER: <% delimiter
+
+: check-<% ( lexer -- col )
+    "<%" over line-text>> rot column>> start* ;
+
+: found-<% ( accum lexer col -- accum )
+    [
+        over line-text>>
+        [ column>> ] 2dip subseq parsed
+        \ write-html parsed
+    ] 2keep 2 + >>column drop ;
+
+: still-looking ( accum lexer -- accum )
+    [
+        [ line-text>> ] [ column>> ] bi tail
+        parsed \ print-html parsed
+    ] keep next-line ;
+
+: parse-%> ( accum lexer -- accum )
+    dup still-parsing? [
+        dup check-<%
+        [ found-<% ] [ [ still-looking ] keep parse-%> ] if*
+    ] [
+        drop
+    ] if ;
+
+: %> lexer get parse-%> ; parsing
+
+: parse-template-lines ( lines -- quot )
+    <template-lexer> [
+        V{ } clone lexer get parse-%> f (parse-until) >quotation
+    ] with-lexer ;
+
+: parse-template ( string -- quot )
+    [
+        "quiet" on
+        parser-notes off
+        "html.templates.fhtml" use+
+        string-lines parse-template-lines
+    ] with-file-vocabs ;
+
+: eval-template ( string -- )
+    parse-template call ;
+
+TUPLE: fhtml path ;
+
+C: <fhtml> fhtml
+
+M: fhtml call-template* ( filename -- )
+    '[ , path>> utf8 file-contents eval-template ] assert-depth ;
+
+INSTANCE: fhtml template
diff --git a/basis/html/templates/fhtml/test/bug.fhtml b/basis/html/templates/fhtml/test/bug.fhtml
new file mode 100644 (file)
index 0000000..cb66599
--- /dev/null
@@ -0,0 +1,5 @@
+<%
+    USING: prettyprint ;
+    ! Hello world
+    5 pprint
+%>
diff --git a/basis/html/templates/fhtml/test/bug.html b/basis/html/templates/fhtml/test/bug.html
new file mode 100644 (file)
index 0000000..51d7b8d
--- /dev/null
@@ -0,0 +1,2 @@
+5
+
diff --git a/basis/html/templates/fhtml/test/example.fhtml b/basis/html/templates/fhtml/test/example.fhtml
new file mode 100644 (file)
index 0000000..211f44a
--- /dev/null
@@ -0,0 +1,8 @@
+<% USING: math ; %>
+
+<html>
+    <head><title>Simple Embedded Factor Example</title></head>
+    <body>
+        <% 5 [ %><p>I like repetition</p><% ] times %>
+    </body>
+</html>
diff --git a/basis/html/templates/fhtml/test/example.html b/basis/html/templates/fhtml/test/example.html
new file mode 100644 (file)
index 0000000..9bf4a08
--- /dev/null
@@ -0,0 +1,9 @@
+
+
+<html>
+    <head><title>Simple Embedded Factor Example</title></head>
+    <body>
+        <p>I like repetition</p><p>I like repetition</p><p>I like repetition</p><p>I like repetition</p><p>I like repetition</p>
+    </body>
+</html>
+
diff --git a/basis/html/templates/fhtml/test/stack.fhtml b/basis/html/templates/fhtml/test/stack.fhtml
new file mode 100644 (file)
index 0000000..399711a
--- /dev/null
@@ -0,0 +1 @@
+The stack: <% USING: prettyprint ;  .s %>
diff --git a/basis/html/templates/fhtml/test/stack.html b/basis/html/templates/fhtml/test/stack.html
new file mode 100644 (file)
index 0000000..ee923a6
--- /dev/null
@@ -0,0 +1,2 @@
+The stack: 
+
diff --git a/basis/html/templates/templates.factor b/basis/html/templates/templates.factor
new file mode 100644 (file)
index 0000000..de774f0
--- /dev/null
@@ -0,0 +1,88 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel fry io io.encodings.utf8 io.files
+debugger prettyprint continuations namespaces boxes sequences
+arrays strings html.elements io.streams.string
+quotations xml.data xml.writer ;
+IN: html.templates
+
+MIXIN: template
+
+GENERIC: call-template* ( template -- )
+
+M: string call-template* write ;
+
+M: callable call-template* call ;
+
+M: xml call-template* write-xml ;
+
+M: object call-template* output-stream get stream-copy ;
+
+ERROR: template-error template error ;
+
+M: template-error error.
+    "Error while processing template " write
+    [ template>> short. ":" print nl ]
+    [ error>> error. ]
+    bi ;
+
+: call-template ( template -- )
+    [ call-template* ] [ \ template-error boa rethrow ] recover ;
+
+SYMBOL: title
+
+: set-title ( string -- )
+    title get >box ;
+
+: write-title ( -- )
+    title get value>> write ;
+
+SYMBOL: style
+
+: add-style ( string -- )
+    "\n" style get push-all
+         style get push-all ;
+
+: write-style ( -- )
+    style get >string write ;
+
+SYMBOL: atom-feeds
+
+: add-atom-feed ( title url -- )
+    2array atom-feeds get push ;
+
+: write-atom-feeds ( -- )
+    atom-feeds get [
+        <link "alternate" =rel "application/atom+xml" =type
+        first2 [ =title ] [ =href ] bi*
+        link/>
+    ] each ;
+
+SYMBOL: nested-template?
+
+SYMBOL: next-template
+
+: call-next-template ( -- )
+    next-template get write-html ;
+
+M: f call-template* drop call-next-template ;
+
+: with-boilerplate ( body template -- )
+    [
+        title [ <box> or ] change
+        style [ SBUF" " clone or ] change
+        atom-feeds [ V{ } like ] change
+
+        [
+            [
+                nested-template? on
+                call-template
+            ] with-string-writer
+            next-template set
+        ]
+        [ call-template ]
+        bi*
+    ] with-scope ; inline
+
+: template-convert ( template output -- )
+    utf8 [ call-template ] with-file-writer ;
diff --git a/basis/http/authors.txt b/basis/http/authors.txt
new file mode 100644 (file)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/http/client/authors.txt b/basis/http/client/authors.txt
new file mode 100644 (file)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/http/client/client-tests.factor b/basis/http/client/client-tests.factor
new file mode 100755 (executable)
index 0000000..28a6051
--- /dev/null
@@ -0,0 +1,35 @@
+USING: http.client http.client.private http tools.test
+tuple-syntax namespaces urls ;
+[ "localhost" f ] [ "localhost" parse-host ] unit-test
+[ "localhost" 8888 ] [ "localhost:8888" parse-host ] unit-test
+
+[ "foo.txt" ] [ "http://www.paulgraham.com/foo.txt" download-name ] unit-test
+[ "foo.txt" ] [ "http://www.arc.com/foo.txt?xxx" download-name ] unit-test
+[ "foo.txt" ] [ "http://www.arc.com/foo.txt/" download-name ] unit-test
+[ "www.arc.com" ] [ "http://www.arc.com////" download-name ] unit-test
+
+[
+    TUPLE{ request
+        url: TUPLE{ url protocol: "http" host: "www.apple.com" port: 80 path: "/index.html" }
+        method: "GET"
+        version: "1.1"
+        cookies: V{ }
+        header: H{ { "connection" "close" } { "user-agent" "Factor http.client" } }
+    }
+] [
+    "http://www.apple.com/index.html"
+    <get-request>
+] unit-test
+
+[
+    TUPLE{ request
+        url: TUPLE{ url protocol: "https" host: "www.amazon.com" port: 443 path: "/index.html" }
+        method: "GET"
+        version: "1.1"
+        cookies: V{ }
+        header: H{ { "connection" "close" } { "user-agent" "Factor http.client" } }
+    }
+] [
+    "https://www.amazon.com/index.html"
+    <get-request>
+] unit-test
diff --git a/basis/http/client/client.factor b/basis/http/client/client.factor
new file mode 100755 (executable)
index 0000000..ea1cfd9
--- /dev/null
@@ -0,0 +1,185 @@
+! Copyright (C) 2005, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors assocs kernel math math.parser namespaces
+sequences io io.sockets io.streams.string io.files io.timeouts
+strings splitting calendar continuations accessors vectors
+math.order hashtables byte-arrays prettyprint
+io.encodings
+io.encodings.string
+io.encodings.ascii
+io.encodings.8-bit
+io.encodings.binary
+io.streams.duplex
+fry debugger summary ascii urls present
+http http.parsers ;
+IN: http.client
+
+: write-request-line ( request -- request )
+    dup
+    [ method>> write bl ]
+    [ url>> relative-url present write bl ]
+    [ "HTTP/" write version>> write crlf ]
+    tri ;
+
+: url-host ( url -- string )
+    [ host>> ] [ port>> ] bi dup "http" protocol-port =
+    [ drop ] [ ":" swap number>string 3append ] if ;
+
+: write-request-header ( request -- request )
+    dup header>> >hashtable
+    over url>> host>> [ over url>> url-host "host" pick set-at ] when
+    over post-data>> [
+        [ raw>> length "content-length" pick set-at ]
+        [ content-type>> "content-type" pick set-at ]
+        bi
+    ] when*
+    over cookies>> f like [ unparse-cookie "cookie" pick set-at ] when*
+    write-header ;
+
+GENERIC: >post-data ( object -- post-data )
+
+M: post-data >post-data ;
+
+M: string >post-data "application/octet-stream" <post-data> ;
+
+M: byte-array >post-data "application/octet-stream" <post-data> ;
+
+M: assoc >post-data assoc>query "application/x-www-form-urlencoded" <post-data> ;
+
+M: f >post-data ;
+
+: unparse-post-data ( request -- request )
+    [ >post-data ] change-post-data ;
+
+: write-post-data ( request -- request )
+    dup method>> "POST" = [ dup post-data>> raw>> write ] when ; 
+
+: write-request ( request -- )
+    unparse-post-data
+    write-request-line
+    write-request-header
+    write-post-data
+    flush
+    drop ;
+
+: read-response-line ( response -- response )
+    read-crlf parse-response-line first3
+    [ >>version ] [ >>code ] [ >>message ] tri* ;
+
+: read-response-header ( response -- response )
+    read-header >>header
+    dup "set-cookie" header parse-set-cookie >>cookies
+    dup "content-type" header [
+        parse-content-type
+        [ >>content-type ]
+        [ >>content-charset ] bi*
+    ] when* ;
+
+: read-response ( -- response )
+    <response>
+    read-response-line
+    read-response-header ;
+
+: max-redirects 10 ;
+
+ERROR: too-many-redirects ;
+
+M: too-many-redirects summary
+    drop
+    [ "Redirection limit of " % max-redirects # " exceeded" % ] "" make ;
+
+DEFER: (http-request)
+
+<PRIVATE
+
+SYMBOL: redirects
+
+: redirect-url ( request url -- request )
+    '[ , >url derive-url ensure-port ] change-url ;
+
+: do-redirect ( response data -- response data )
+    over code>> 300 399 between? [
+        drop
+        redirects inc
+        redirects get max-redirects < [
+            request get
+            swap "location" header redirect-url
+            "GET" >>method (http-request)
+        ] [
+            too-many-redirects
+        ] if
+    ] when ;
+
+PRIVATE>
+
+: read-chunk-size ( -- n )
+    read-crlf ";" split1 drop [ blank? ] right-trim
+    hex> [ "Bad chunk size" throw ] unless* ;
+
+: read-chunks ( -- )
+    read-chunk-size dup zero?
+    [ drop ] [ read % read-crlf B{ } assert= read-chunks ] if ;
+
+: read-response-body ( response -- response data )
+    dup "transfer-encoding" header "chunked" = [
+        binary decode-input
+        [ read-chunks ] B{ } make
+        over content-charset>> decode
+    ] [
+        dup content-charset>> decode-input
+        input-stream get contents
+    ] if ;
+
+: (http-request) ( request -- response data )
+    dup request [
+        dup url>> url-addr ascii [
+            1 minutes timeouts
+            write-request
+            read-response
+            read-response-body
+        ] with-client
+        do-redirect
+    ] with-variable ;
+
+: success? ( code -- ? ) 200 = ;
+
+ERROR: download-failed response body ;
+
+M: download-failed error.
+    "HTTP download failed:" print nl
+    [ response>> . nl ] [ body>> write ] bi ;
+
+: check-response ( response data -- response data )
+    over code>> success? [ download-failed ] unless ;
+
+: http-request ( request -- response data )
+    (http-request) check-response ;
+
+: <get-request> ( url -- request )
+    <request>
+        "GET" >>method
+        swap >url ensure-port >>url ;
+
+: http-get ( url -- response data )
+    <get-request> http-request ;
+
+: download-name ( url -- name )
+    present file-name "?" split1 drop "/" ?tail drop ;
+
+: download-to ( url file -- )
+    #! Downloads the contents of a URL to a file.
+    swap http-get
+    [ content-charset>> ] [ '[ , write ] ] bi*
+    with-file-writer ;
+
+: download ( url -- )
+    dup download-name download-to ;
+
+: <post-request> ( post-data url -- request )
+    <request>
+        "POST" >>method
+        swap >url ensure-port >>url
+        swap >>post-data ;
+
+: http-post ( post-data url -- response data )
+    <post-request> http-request ;
diff --git a/basis/http/client/summary.txt b/basis/http/client/summary.txt
new file mode 100644 (file)
index 0000000..5609c91
--- /dev/null
@@ -0,0 +1 @@
+HTTP client
diff --git a/basis/http/client/tags.txt b/basis/http/client/tags.txt
new file mode 100644 (file)
index 0000000..93e65ae
--- /dev/null
@@ -0,0 +1,2 @@
+web
+network
diff --git a/basis/http/http-tests.factor b/basis/http/http-tests.factor
new file mode 100755 (executable)
index 0000000..40154e9
--- /dev/null
@@ -0,0 +1,352 @@
+USING: http http.server http.client tools.test multiline
+tuple-syntax io.streams.string io.encodings.utf8
+io.encodings.8-bit io.encodings.binary io.encodings.string
+kernel arrays splitting sequences assocs io.sockets db db.sqlite
+continuations urls hashtables accessors ;
+IN: http.tests
+
+[ "text/plain" latin1 ] [ "text/plain" parse-content-type ] unit-test
+
+[ "text/html" utf8 ] [ "text/html;  charset=UTF-8" parse-content-type ] unit-test
+
+[ "application/octet-stream" binary ] [ "application/octet-stream" parse-content-type ] unit-test
+
+: lf>crlf "\n" split "\r\n" join ;
+
+STRING: read-request-test-1
+POST /bar HTTP/1.1
+Some-Header: 1
+Some-Header: 2
+Content-Length: 4
+Content-type: application/octet-stream
+
+blah
+;
+
+[
+    TUPLE{ request
+        url: TUPLE{ url path: "/bar" }
+        method: "POST"
+        version: "1.1"
+        header: H{ { "some-header" "1; 2" } { "content-length" "4" } { "content-type" "application/octet-stream" } }
+        post-data: TUPLE{ post-data content: "blah" raw: "blah" content-type: "application/octet-stream" }
+        cookies: V{ }
+    }
+] [
+    read-request-test-1 lf>crlf [
+        read-request
+    ] with-string-reader
+] unit-test
+
+STRING: read-request-test-1'
+POST /bar HTTP/1.1
+content-length: 4
+content-type: application/octet-stream
+some-header: 1; 2
+
+blah
+;
+
+read-request-test-1' 1array [
+    read-request-test-1 lf>crlf
+    [ read-request ] with-string-reader
+    [ write-request ] with-string-writer
+    ! normalize crlf
+    string-lines "\n" join
+] unit-test
+
+STRING: read-request-test-2
+HEAD  /bar   HTTP/1.1
+Host: www.sex.com
+
+;
+
+[
+    TUPLE{ request
+        url: TUPLE{ url host: "www.sex.com" path: "/bar" }
+        method: "HEAD"
+        version: "1.1"
+        header: H{ { "host" "www.sex.com" } }
+        cookies: V{ }
+    }
+] [
+    read-request-test-2 lf>crlf [
+        read-request
+    ] with-string-reader
+] unit-test
+
+STRING: read-request-test-3
+GET nested HTTP/1.0
+
+;
+
+[ read-request-test-3 lf>crlf [ read-request ] with-string-reader ]
+[ "Bad request: URL" = ]
+must-fail-with
+
+STRING: read-request-test-4
+GET /blah HTTP/1.0
+Host: "www.amazon.com"
+;
+
+[ "www.amazon.com" ]
+[
+    read-request-test-4 lf>crlf [ read-request ] with-string-reader
+    "host" header
+] unit-test
+
+STRING: read-response-test-1
+HTTP/1.1 404 not found
+Content-Type: text/html; charset=UTF-8
+
+blah
+;
+
+[
+    TUPLE{ response
+        version: "1.1"
+        code: 404
+        message: "not found"
+        header: H{ { "content-type" "text/html; charset=UTF-8" } }
+        cookies: { }
+        content-type: "text/html"
+        content-charset: utf8
+    }
+] [
+    read-response-test-1 lf>crlf
+    [ read-response ] with-string-reader
+] unit-test
+
+
+STRING: read-response-test-1'
+HTTP/1.1 404 not found
+content-type: text/html; charset=UTF-8
+
+
+;
+
+read-response-test-1' 1array [
+    read-response-test-1 lf>crlf
+    [ read-response ] with-string-reader
+    [ write-response ] with-string-writer
+    ! normalize crlf
+    string-lines "\n" join
+] unit-test
+
+[ t ] [
+    "rmid=732423sdfs73242; path=/; domain=.example.net; expires=Fri, 31-Dec-2010 23:59:59 GMT"
+    dup parse-set-cookie first unparse-set-cookie =
+] unit-test
+
+[ t ] [
+    "a="
+    dup parse-set-cookie first unparse-set-cookie =
+] unit-test
+
+STRING: read-response-test-2
+HTTP/1.1 200 Content follows
+Set-Cookie: oo="bar; a=b"; httponly=yes; sid=123456
+
+
+;
+
+[ 2 ] [
+    read-response-test-2 lf>crlf
+    [ read-response ] with-string-reader
+    cookies>> length
+] unit-test
+
+STRING: read-response-test-3
+HTTP/1.1 200 Content follows
+Set-Cookie: oo="bar; a=b"; comment="your mom"; httponly=yes
+
+
+;
+
+[ 1 ] [
+    read-response-test-3 lf>crlf
+    [ read-response ] with-string-reader
+    cookies>> length
+] unit-test
+
+! Live-fire exercise
+USING: http.server http.server.static furnace.sessions furnace.alloy
+furnace.actions furnace.auth furnace.auth.login furnace.db http.client
+io.servers.connection io.files io io.encodings.ascii
+accessors namespaces threads
+http.server.responses http.server.redirection furnace.redirection
+http.server.dispatchers db.tuples ;
+
+: add-quit-action
+    <action>
+        [ stop-server "Goodbye" "text/html" <content> ] >>display
+    "quit" add-responder ;
+
+: test-db "test.db" temp-file sqlite-db ;
+
+[ test-db drop delete-file ] ignore-errors
+
+test-db [
+    init-furnace-tables
+] with-db
+
+: test-httpd ( -- )
+    #! Return as soon as server is running.
+    <http-server>
+        1237 >>insecure
+        f >>secure
+    start-server* ;
+
+[ ] [
+    [
+        <dispatcher>
+            add-quit-action
+            <dispatcher>
+                "resource:basis/http/test" <static> >>default
+            "nested" add-responder
+            <action>
+                [ URL" redirect-loop" <temporary-redirect> ] >>display
+            "redirect-loop" add-responder
+        main-responder set
+
+        test-httpd
+    ] with-scope
+] unit-test
+
+[ t ] [
+    "resource:basis/http/test/foo.html" ascii file-contents
+    "http://localhost:1237/nested/foo.html" http-get nip =
+] unit-test
+
+[ "http://localhost:1237/redirect-loop" http-get nip ]
+[ too-many-redirects? ] must-fail-with
+
+[ "Goodbye" ] [
+    "http://localhost:1237/quit" http-get nip
+] unit-test
+
+! HTTP client redirect bug
+[ ] [
+    [
+        <dispatcher>
+            add-quit-action
+            <action> [ "quit" <temporary-redirect> ] >>display
+            "redirect" add-responder
+        main-responder set
+
+        test-httpd
+    ] with-scope
+] unit-test
+
+[ "Goodbye" ] [
+    "http://localhost:1237/redirect" http-get nip
+] unit-test
+
+
+[ ] [
+    [ "http://localhost:1237/quit" http-get 2drop ] ignore-errors
+] unit-test
+
+! Dispatcher bugs
+[ ] [
+    [
+        <dispatcher>
+            <action> <protected>
+            "Test" <login-realm>
+            <sessions>
+            "" add-responder
+            add-quit-action
+            <dispatcher>
+                <action> "a" add-main-responder
+            "d" add-responder
+        test-db <db-persistence>
+        main-responder set
+
+        test-httpd
+    ] with-scope
+] unit-test
+
+: 404? [ download-failed? ] [ response>> code>> 404 = ] bi and ;
+
+! This should give a 404 not an infinite redirect loop
+[ "http://localhost:1237/d/blah" http-get nip ] [ 404? ] must-fail-with
+
+! This should give a 404 not an infinite redirect loop
+[ "http://localhost:1237/blah/" http-get nip ] [ 404? ] must-fail-with
+
+[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
+
+[ ] [
+    [
+        <dispatcher>
+            <action> [ [ "Hi" write ] "text/plain" <content> ] >>display
+            "Test" <login-realm>
+            <sessions>
+            "" add-responder
+            add-quit-action
+        test-db <db-persistence>
+        main-responder set
+
+        test-httpd
+    ] with-scope
+] unit-test
+
+[ "Hi" ] [ "http://localhost:1237/" http-get nip ] unit-test
+
+[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
+
+USING: html.components html.elements html.forms
+xml xml.utilities validators
+furnace furnace.conversations ;
+
+SYMBOL: a
+
+[ ] [
+    [
+        <dispatcher>
+            <action>
+                [ a get-global "a" set-value ] >>init
+                [ [ <html> "a" <field> render </html> ] "text/html" <content> ] >>display
+                [ { { "a" [ v-integer ] } } validate-params ] >>validate
+                [ "a" value a set-global URL" " <redirect> ] >>submit
+            <conversations>
+            <sessions>
+            >>default
+            add-quit-action
+        test-db <db-persistence>
+        main-responder set
+
+        test-httpd
+    ] with-scope
+] unit-test
+
+3 a set-global
+
+: test-a string>xml "input" tag-named "value" swap at ;
+
+[ "3" ] [
+    "http://localhost:1237/" http-get
+    swap dup cookies>> "cookies" set session-id-key get-cookie
+    value>> "session-id" set test-a
+] unit-test
+
+[ "4" ] [
+    H{ { "a" "4" } { "__u" "http://localhost:1237/" } } "session-id" get session-id-key associate assoc-union
+    "http://localhost:1237/" <post-request> "cookies" get >>cookies http-request nip test-a
+] unit-test
+
+[ 4 ] [ a get-global ] unit-test
+
+! Test flash scope
+[ "xyz" ] [
+    H{ { "a" "xyz" } { "__u" "http://localhost:1237/" } } "session-id" get session-id-key associate assoc-union
+    "http://localhost:1237/" <post-request> "cookies" get >>cookies http-request nip test-a
+] unit-test
+
+[ 4 ] [ a get-global ] unit-test
+
+[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
+
+! Test cloning
+[ f ] [ <404> dup clone "b" "a" set-header drop "a" header ] unit-test
+[ f ] [ <404> dup clone "b" "a" <cookie> put-cookie drop "a" get-cookie ] unit-test
diff --git a/basis/http/http.factor b/basis/http/http.factor
new file mode 100755 (executable)
index 0000000..2a5a190
--- /dev/null
@@ -0,0 +1,227 @@
+! Copyright (C) 2003, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel combinators math namespaces
+assocs assocs.lib sequences splitting sorting sets debugger
+strings vectors hashtables quotations arrays byte-arrays
+math.parser calendar calendar.format present
+
+io io.encodings io.encodings.iana io.encodings.binary
+io.encodings.8-bit
+
+unicode.case unicode.categories qualified
+
+urls
+
+http.parsers ;
+
+EXCLUDE: fry => , ;
+
+IN: http
+
+: crlf ( -- ) "\r\n" write ;
+
+: read-crlf ( -- bytes )
+    "\r" read-until
+    [ CHAR: \r assert= read1 CHAR: \n assert= ] when* ;
+
+: (read-header) ( -- alist )
+    [ read-crlf dup f like ] [ parse-header-line ] [ drop ] produce ;
+
+: process-header ( alist -- assoc )
+    f swap [ [ swap or dup ] dip swap ] assoc-map nip
+    [ ?push ] histogram [ "; " join ] assoc-map
+    >hashtable ;
+
+: read-header ( -- assoc )
+    (read-header) process-header ;
+
+: header-value>string ( value -- string )
+    {
+        { [ dup timestamp? ] [ timestamp>http-string ] }
+        { [ dup array? ] [ [ header-value>string ] map "; " join ] }
+        [ present ]
+    } cond ;
+
+: check-header-string ( str -- str )
+    #! http://en.wikipedia.org/wiki/HTTP_Header_Injection
+    dup "\r\n\"" intersect empty?
+    [ "Header injection attack" throw ] unless ;
+
+: write-header ( assoc -- )
+    >alist sort-keys [
+        [ check-header-string write ": " write ]
+        [ header-value>string check-header-string write crlf ] bi*
+    ] assoc-each crlf ;
+
+TUPLE: cookie name value version comment path domain expires max-age http-only secure ;
+
+: <cookie> ( value name -- cookie )
+    cookie new
+        swap >>name
+        swap >>value ;
+
+: parse-set-cookie ( string -- seq )
+    [
+        f swap
+        (parse-set-cookie)
+        [
+            swap {
+                { "version" [ >>version ] }
+                { "comment" [ >>comment ] }
+                { "expires" [ cookie-string>timestamp >>expires ] }
+                { "max-age" [ string>number seconds >>max-age ] }
+                { "domain" [ >>domain ] }
+                { "path" [ >>path ] }
+                { "httponly" [ drop t >>http-only ] }
+                { "secure" [ drop t >>secure ] }
+                [ <cookie> dup , nip ]
+            } case
+        ] assoc-each
+        drop
+    ] { } make ;
+
+: parse-cookie ( string -- seq )
+    [
+        f swap
+        (parse-cookie)
+        [
+            swap {
+                { "$version" [ >>version ] }
+                { "$domain" [ >>domain ] }
+                { "$path" [ >>path ] }
+                [ <cookie> dup , nip ]
+            } case
+        ] assoc-each
+        drop
+    ] { } make ;
+
+: check-cookie-string ( string -- string' )
+    dup "=;'\"\r\n" intersect empty?
+    [ "Bad cookie name or value" throw ] unless ;
+
+: unparse-cookie-value ( key value -- )
+    {
+        { f [ drop ] }
+        { t [ check-cookie-string , ] }
+        [
+            {
+                { [ dup timestamp? ] [ timestamp>cookie-string ] }
+                { [ dup duration? ] [ duration>seconds number>string ] }
+                { [ dup real? ] [ number>string ] }
+                [ ]
+            } cond
+            check-cookie-string "=" swap check-cookie-string 3append ,
+        ]
+    } case ;
+
+: check-cookie-value ( string -- string )
+    [ "Cookie value must not be f" throw ] unless* ;
+
+: (unparse-cookie) ( cookie -- strings )
+    [
+        dup name>> check-cookie-string >lower
+        over value>> check-cookie-value unparse-cookie-value
+        "$path" over path>> unparse-cookie-value
+        "$domain" over domain>> unparse-cookie-value
+        drop
+    ] { } make ;
+
+: unparse-cookie ( cookies -- string )
+    [ (unparse-cookie) ] map concat "; " join ;
+
+: unparse-set-cookie ( cookie -- string )
+    [
+        dup name>> check-cookie-string >lower
+        over value>> check-cookie-value unparse-cookie-value
+        "path" over path>> unparse-cookie-value
+        "domain" over domain>> unparse-cookie-value
+        "expires" over expires>> unparse-cookie-value
+        "max-age" over max-age>> unparse-cookie-value
+        "httponly" over http-only>> unparse-cookie-value
+        "secure" over secure>> unparse-cookie-value
+        drop
+    ] { } make "; " join ;
+
+TUPLE: request
+method
+url
+version
+header
+post-data
+cookies ;
+
+: set-header ( request/response value key -- request/response )
+    pick header>> set-at ;
+
+: <request> ( -- request )
+    request new
+        "1.1" >>version
+        <url>
+            H{ } clone >>query
+        >>url
+        H{ } clone >>header
+        V{ } clone >>cookies
+        "close" "connection" set-header
+        "Factor http.client" "user-agent" set-header ;
+
+: header ( request/response key -- value )
+    swap header>> at ;
+
+TUPLE: response
+version
+code
+message
+header
+cookies
+content-type
+content-charset
+body ;
+
+: <response> ( -- response )
+    response new
+        "1.1" >>version
+        H{ } clone >>header
+        "close" "connection" set-header
+        now timestamp>http-string "date" set-header
+        "Factor http.server" "server" set-header
+        latin1 >>content-charset
+        V{ } clone >>cookies ;
+
+M: response clone
+    call-next-method
+        [ clone ] change-header
+        [ clone ] change-cookies ;
+
+: get-cookie ( request/response name -- cookie/f )
+    [ cookies>> ] dip '[ , _ name>> = ] find nip ;
+
+: delete-cookie ( request/response name -- )
+    over cookies>> [ get-cookie ] dip delete ;
+
+: put-cookie ( request/response cookie -- request/response )
+    [ name>> dupd get-cookie [ dupd delete-cookie ] when* ] keep
+    over cookies>> push ;
+
+TUPLE: raw-response
+version
+code
+message
+body ;
+
+: <raw-response> ( -- response )
+    raw-response new
+        "1.1" >>version ;
+
+TUPLE: post-data raw content content-type ;
+
+: <post-data> ( raw content-type -- post-data )
+    post-data new
+        swap >>content-type
+        swap >>raw ;
+
+: parse-content-type-attributes ( string -- attributes )
+    " " split harvest [ "=" split1 [ >lower ] dip ] { } map>assoc ;
+
+: parse-content-type ( content-type -- type encoding )
+    ";" split1 parse-content-type-attributes "charset" swap at
+    name>encoding over "text/" head? latin1 binary ? or ;
diff --git a/basis/http/parsers/parsers.factor b/basis/http/parsers/parsers.factor
new file mode 100644 (file)
index 0000000..2a31373
--- /dev/null
@@ -0,0 +1,168 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: combinators.short-circuit math math.order math.parser kernel
+sequences sequences.deep peg peg.parsers assocs arrays
+hashtables strings unicode.case namespaces ascii ;
+IN: http.parsers
+
+: except ( quot -- parser )
+    [ not ] compose satisfy ; inline
+
+: except-these ( quots -- parser )
+    [ 1|| ] curry except ; inline
+
+: ctl? ( ch -- ? )
+    { [ 0 31 between? ] [ 127 = ] } 1|| ;
+
+: tspecial? ( ch -- ? )
+    "()<>@,;:\\\"/[]?={} \t" member? ;
+
+: 'token' ( -- parser )
+    { [ ctl? ] [ tspecial? ] } except-these repeat1 ;
+
+: case-insensitive ( parser -- parser' )
+    [ flatten >string >lower ] action ;
+
+: case-sensitive ( parser -- parser' )
+    [ flatten >string ] action ;
+
+: 'space' ( -- parser )
+    [ " \t" member? ] satisfy repeat0 hide ;
+
+: one-of ( strings -- parser )
+    [ token ] map choice ;
+
+: 'http-method' ( -- parser )
+    { "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" "CONNECT" } one-of ;
+
+: 'url' ( -- parser )
+    [ " \t\r\n" member? ] except repeat1 case-sensitive ;
+
+: 'http-version' ( -- parser )
+    [
+        "HTTP" token hide ,
+        'space' ,
+        "/" token hide ,
+        'space' ,
+        "1" token ,
+        "." token ,
+        { "0" "1" } one-of ,
+    ] seq* [ concat >string ] action ;
+
+PEG: parse-request-line ( string -- triple )
+    #! Triple is { method url version }
+    [ 
+        'space' ,
+        'http-method' ,
+        'space' ,
+        'url' ,
+        'space' ,
+        'http-version' ,
+        'space' ,
+    ] seq* just ;
+
+: 'text' ( -- parser )
+    [ ctl? ] except ;
+
+: 'response-code' ( -- parser )
+    [ digit? ] satisfy 3 exactly-n [ string>number ] action ;
+
+: 'response-message' ( -- parser )
+    'text' repeat0 case-sensitive ;
+
+PEG: parse-response-line ( string -- triple )
+    #! Triple is { version code message }
+    [
+        'space' ,
+        'http-version' ,
+        'space' ,
+        'response-code' ,
+        'space' ,
+        'response-message' ,
+    ] seq* just ;
+
+: 'crlf' ( -- parser )
+    "\r\n" token ;
+
+: 'lws' ( -- parser )
+    [ " \t" member? ] satisfy repeat1 ;
+
+: 'qdtext' ( -- parser )
+    { [ CHAR: " = ] [ ctl? ] } except-these ;
+
+: 'quoted-char' ( -- parser )
+    "\\" token hide any-char 2seq ;
+
+: 'quoted-string' ( -- parser )
+    'quoted-char' 'qdtext' 2choice repeat0 "\"" "\"" surrounded-by ;
+
+: 'ctext' ( -- parser )
+    { [ ctl? ] [ "()" member? ] } except-these ;
+
+: 'comment' ( -- parser )
+    'ctext' 'comment' 2choice repeat0 "(" ")" surrounded-by ;
+
+: 'field-name' ( -- parser )
+    'token' case-insensitive ;
+
+: 'field-content' ( -- parser )
+    'quoted-string' case-sensitive
+    'text' repeat0 case-sensitive
+    2choice ;
+
+PEG: parse-header-line ( string -- pair )
+    #! Pair is either { name value } or { f value }. If f, its a
+    #! continuation of the previous header line.
+    [
+        'field-name' ,
+        'space' ,
+        ":" token hide ,
+        'space' ,
+        'field-content' ,
+    ] seq*
+    [
+        'lws' [ drop f ] action ,
+        'field-content' ,
+    ] seq*
+    2choice ;
+
+: 'word' ( -- parser )
+    'token' 'quoted-string' 2choice ;
+
+: 'value' ( -- parser )
+    'quoted-string'
+    [ ";" member? ] except repeat0
+    2choice case-sensitive ;
+
+: 'attr' ( -- parser )
+    'token' case-insensitive ;
+
+: 'av-pair' ( -- parser )
+    [
+        'space' ,
+        'attr' ,
+        'space' ,
+            [ "=" token , 'space' , 'value' , ] seq* [ peek ] action
+            epsilon [ drop f ] action
+        2choice ,
+        'space' ,
+    ] seq* ;
+
+: 'av-pairs' ( -- parser )
+    'av-pair' ";" token list-of optional ;
+
+PEG: (parse-set-cookie) ( string -- alist ) 'av-pairs' just ;
+
+: 'cookie-value' ( -- parser )
+    [
+        'space' ,
+        'attr' ,
+        'space' ,
+        "=" token hide ,
+        'space' ,
+        'value' ,
+        'space' ,
+    ] seq* ;
+
+PEG: (parse-cookie) ( string -- alist )
+    'cookie-value' [ ";," member? ] satisfy list-of optional just ;
diff --git a/basis/http/server/authors.txt b/basis/http/server/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/http/server/cgi/cgi.factor b/basis/http/server/cgi/cgi.factor
new file mode 100755 (executable)
index 0000000..354ebd8
--- /dev/null
@@ -0,0 +1,61 @@
+! Copyright (C) 2007, 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: namespaces kernel assocs io.files io.streams.duplex\r
+combinators arrays io.launcher io http.server.static http.server\r
+http accessors sequences strings math.parser fry urls ;\r
+IN: http.server.cgi\r
+\r
+: cgi-variables ( script-path -- assoc )\r
+    #! This needs some work.\r
+    [\r
+        "CGI/1.0" "GATEWAY_INTERFACE" set\r
+        "HTTP/" request get version>> append "SERVER_PROTOCOL" set\r
+        "Factor" "SERVER_SOFTWARE" set\r
+\r
+        [ "PATH_TRANSLATED" set ] [ "SCRIPT_FILENAME" set ] bi\r
+\r
+        url get path>> "SCRIPT_NAME" set\r
+\r
+        url get host>> "SERVER_NAME" set\r
+        url get port>> number>string "SERVER_PORT" set\r
+        "" "PATH_INFO" set\r
+        "" "REMOTE_HOST" set\r
+        "" "REMOTE_ADDR" set\r
+        "" "AUTH_TYPE" set\r
+        "" "REMOTE_USER" set\r
+        "" "REMOTE_IDENT" set\r
+\r
+        request get method>> "REQUEST_METHOD" set\r
+        url get query>> assoc>query "QUERY_STRING" set\r
+        request get "cookie" header "HTTP_COOKIE" set \r
+\r
+        request get "user-agent" header "HTTP_USER_AGENT" set\r
+        request get "accept" header "HTTP_ACCEPT" set\r
+\r
+        post-request? [\r
+            request get post-data>> raw>>\r
+            [ "CONTENT_TYPE" set ]\r
+            [ length number>string "CONTENT_LENGTH" set ]\r
+            bi\r
+        ] when\r
+    ] H{ } make-assoc ;\r
+\r
+: <cgi-process> ( name -- desc )\r
+    <process>\r
+        over 1array >>command\r
+        swap cgi-variables >>environment ;\r
+\r
+: serve-cgi ( name -- response )\r
+    <raw-response>\r
+    200 >>code\r
+    "CGI output follows" >>message\r
+    swap '[\r
+        , output-stream get swap <cgi-process> <process-stream> [\r
+            post-request? [ request get post-data>> raw>> write flush ] when\r
+            input-stream get swap (stream-copy)\r
+        ] with-stream\r
+    ] >>body ;\r
+\r
+: enable-cgi ( responder -- responder )\r
+    [ serve-cgi ] "application/x-cgi-script"\r
+    pick special>> set-at ;\r
diff --git a/basis/http/server/dispatchers/dispatchers-tests.factor b/basis/http/server/dispatchers/dispatchers-tests.factor
new file mode 100644 (file)
index 0000000..5b5b30a
--- /dev/null
@@ -0,0 +1,97 @@
+USING: http.server http.server.dispatchers http.server.responses
+tools.test kernel namespaces accessors io http math sequences
+assocs arrays classes words urls ;
+IN: http.server.dispatchers.tests
+
+\ find-responder must-infer
+\ http-error. must-infer
+
+TUPLE: mock-responder path ;
+
+C: <mock-responder> mock-responder
+
+M: mock-responder call-responder*
+    nip
+    path>> on
+    [ ] "text/plain" <content> ;
+
+: check-dispatch ( tag path -- ? )
+    V{ } clone responder-nesting set
+    over off
+    split-path
+    main-responder get call-responder
+    write-response get ;
+
+[
+    <dispatcher>
+        "foo" <mock-responder> "foo" add-responder
+        "bar" <mock-responder> "bar" add-responder
+        <dispatcher>
+            "123" <mock-responder> "123" add-responder
+            "default" <mock-responder> >>default
+        "baz" add-responder
+    main-responder set
+
+    [ "foo" ] [
+        { "foo" } main-responder get find-responder path>> nip
+    ] unit-test
+
+    [ "bar" ] [
+        { "bar" } main-responder get find-responder path>> nip
+    ] unit-test
+
+    [ t ] [ "foo" "foo" check-dispatch ] unit-test
+    [ f ] [ "foo" "bar" check-dispatch ] unit-test
+    [ t ] [ "bar" "bar" check-dispatch ] unit-test
+    [ t ] [ "default" "baz/xxx" check-dispatch ] unit-test
+    [ t ] [ "default" "baz/xxx//" check-dispatch ] unit-test
+    [ t ] [ "default" "/baz/xxx//" check-dispatch ] unit-test
+    [ t ] [ "123" "baz/123" check-dispatch ] unit-test
+    [ t ] [ "123" "baz///123" check-dispatch ] unit-test
+
+] with-scope
+
+[
+    <dispatcher>
+        "default" <mock-responder> >>default
+    main-responder set
+
+    [ "/default" ] [ "/default" main-responder get find-responder drop ] unit-test
+] with-scope
+
+! Make sure path for default responder isn't chopped
+TUPLE: path-check-responder ;
+
+C: <path-check-responder> path-check-responder
+
+M: path-check-responder call-responder*
+    drop
+    >array "text/plain" <content> ;
+
+[ { "c" } ] [
+    V{ } clone responder-nesting set
+
+    { "b" "c" }
+    <dispatcher>
+        <dispatcher>
+            <path-check-responder> >>default
+        "b" add-responder
+    call-responder
+    body>>
+] unit-test
+
+! Test that "" dispatcher works with default>>
+[ ] [
+    <dispatcher>
+        "" <mock-responder> "" add-responder
+        "bar" <mock-responder> "bar" add-responder
+        "baz" <mock-responder> >>default
+    main-responder set
+
+    [ t ] [ "" "" check-dispatch ] unit-test
+    [ f ] [ "" "quux" check-dispatch ] unit-test
+    [ t ] [ "baz" "quux" check-dispatch ] unit-test
+    [ f ] [ "foo" "bar" check-dispatch ] unit-test
+    [ t ] [ "bar" "bar" check-dispatch ] unit-test
+    [ t ] [ "baz" "xxx" check-dispatch ] unit-test
+] unit-test
diff --git a/basis/http/server/dispatchers/dispatchers.factor b/basis/http/server/dispatchers/dispatchers.factor
new file mode 100644 (file)
index 0000000..405d96d
--- /dev/null
@@ -0,0 +1,50 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel namespaces sequences assocs accessors splitting
+unicode.case urls http http.server http.server.responses ;
+IN: http.server.dispatchers
+
+TUPLE: dispatcher default responders ;
+
+: new-dispatcher ( class -- dispatcher )
+    new
+        <404> <trivial-responder> >>default
+        H{ } clone >>responders ; inline
+
+: <dispatcher> ( -- dispatcher )
+    dispatcher new-dispatcher ;
+
+: find-responder ( path dispatcher -- path responder )
+    over empty? [
+        "" over responders>> at*
+        [ nip ] [ drop default>> ] if
+    ] [
+        over first over responders>> at*
+        [ [ drop rest-slice ] dip ] [ drop default>> ] if
+    ] if ;
+
+M: dispatcher call-responder* ( path dispatcher -- response )
+    find-responder call-responder ;
+
+TUPLE: vhost-dispatcher default responders ;
+
+: <vhost-dispatcher> ( -- dispatcher )
+    vhost-dispatcher new-dispatcher ;
+
+: canonical-host ( host -- host' )
+    >lower "www." ?head drop "." ?tail drop ;
+
+: find-vhost ( dispatcher -- responder )
+    url get host>> canonical-host over responders>> at*
+    [ nip ] [ drop default>> ] if ;
+
+M: vhost-dispatcher call-responder* ( path dispatcher -- response )
+    find-vhost call-responder ;
+
+: add-responder ( dispatcher responder path -- dispatcher )
+    pick responders>> set-at ;
+
+: add-main-responder ( dispatcher responder path -- dispatcher )
+    [ add-responder drop ]
+    [ drop "" add-responder drop ]
+    [ 2drop ] 3tri ;
diff --git a/basis/http/server/filters/filters.factor b/basis/http/server/filters/filters.factor
new file mode 100644 (file)
index 0000000..4f70113
--- /dev/null
@@ -0,0 +1,9 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: http.server accessors ;
+IN: http.server.filters
+
+TUPLE: filter-responder responder ;
+
+M: filter-responder call-responder*
+    responder>> call-responder ;
diff --git a/basis/http/server/redirection/redirection-tests.factor b/basis/http/server/redirection/redirection-tests.factor
new file mode 100644 (file)
index 0000000..c7a1370
--- /dev/null
@@ -0,0 +1,49 @@
+IN: http.server.redirection.tests
+USING: http http.server.redirection urls accessors
+namespaces tools.test present kernel ;
+
+\ relative-to-request must-infer
+
+[
+    <request>
+        <url>
+            "http" >>protocol
+            "www.apple.com" >>host
+            "/xxx/bar" >>path
+            { { "a" "b" } } >>query
+        dup url set
+        >>url
+    request set
+
+    [ "http://www.apple.com:80/xxx/bar" ] [ 
+        <url> relative-to-request present 
+    ] unit-test
+
+    [ "http://www.apple.com:80/xxx/baz" ] [
+        <url> "baz" >>path relative-to-request present
+    ] unit-test
+    
+    [ "http://www.apple.com:80/xxx/baz?c=d" ] [
+        <url> "baz" >>path { { "c" "d" } } >>query relative-to-request present
+    ] unit-test
+    
+    [ "http://www.apple.com:80/xxx/bar?c=d" ] [
+        <url> { { "c" "d" } } >>query relative-to-request present
+    ] unit-test
+    
+    [ "http://www.apple.com:80/flip" ] [
+        <url> "/flip" >>path relative-to-request present
+    ] unit-test
+    
+    [ "http://www.apple.com:80/flip?c=d" ] [
+        <url> "/flip" >>path { { "c" "d" } } >>query relative-to-request present
+    ] unit-test
+    
+    [ "http://www.jedit.org:80/" ] [
+        "http://www.jedit.org" >url relative-to-request present
+    ] unit-test
+    
+    [ "http://www.jedit.org:80/?a=b" ] [
+        "http://www.jedit.org" >url { { "a" "b" } } >>query relative-to-request present
+    ] unit-test
+] with-scope
diff --git a/basis/http/server/redirection/redirection.factor b/basis/http/server/redirection/redirection.factor
new file mode 100644 (file)
index 0000000..314c09e
--- /dev/null
@@ -0,0 +1,28 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors combinators namespaces strings
+logging urls http http.server http.server.responses ;
+IN: http.server.redirection
+
+GENERIC: relative-to-request ( url -- url' )
+
+M: string relative-to-request ;
+
+M: url relative-to-request
+    url get
+        clone
+        f >>query
+    swap derive-url ensure-port ;
+
+: <custom-redirect> ( url code message -- response )
+    <trivial-response>
+        swap dup url? [ relative-to-request ] when
+        "location" set-header ;
+
+\ <custom-redirect> DEBUG add-input-logging
+
+: <permanent-redirect> ( url -- response )
+    301 "Moved Permanently" <custom-redirect> ;
+
+: <temporary-redirect> ( url -- response )
+    307 "Temporary Redirect" <custom-redirect> ;
diff --git a/basis/http/server/responses/responses.factor b/basis/http/server/responses/responses.factor
new file mode 100644 (file)
index 0000000..4056f0c
--- /dev/null
@@ -0,0 +1,38 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: html.elements math.parser http accessors kernel
+io io.streams.string io.encodings.utf8 ;
+IN: http.server.responses
+
+: <content> ( body content-type -- response )
+    <response>
+        200 >>code
+        "Document follows" >>message
+        utf8 >>content-charset
+        swap >>content-type
+        swap >>body ;
+    
+: trivial-response-body ( code message -- )
+    <html>
+        <body>
+            <h1> [ number>string write bl ] [ write ] bi* </h1>
+        </body>
+    </html> ;
+
+: <trivial-response> ( code message -- response )
+    2dup [ trivial-response-body ] with-string-writer
+    "text/html" <content>
+        swap >>message
+        swap >>code ;
+
+: <304> ( -- response )
+    304 "Not modified" <trivial-response> ;
+
+: <403> ( -- response )
+    403 "Forbidden" <trivial-response> ;
+
+: <400> ( -- response )
+    400 "Bad request" <trivial-response> ;
+
+: <404> ( -- response )
+    404 "Not found" <trivial-response> ;
diff --git a/basis/http/server/server-tests.factor b/basis/http/server/server-tests.factor
new file mode 100644 (file)
index 0000000..c29912b
--- /dev/null
@@ -0,0 +1,4 @@
+USING: http http.server math sequences continuations tools.test ;
+IN: http.server.tests
+
+[ t ] [ [ \ + first ] [ <500> ] recover response? ] unit-test
diff --git a/basis/http/server/server.factor b/basis/http/server/server.factor
new file mode 100755 (executable)
index 0000000..436d626
--- /dev/null
@@ -0,0 +1,255 @@
+! Copyright (C) 2003, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel accessors sequences arrays namespaces splitting
+vocabs.loader destructors assocs debugger continuations
+combinators tools.vocabs tools.time math math.parser present
+io vectors
+io.sockets
+io.sockets.secure
+io.encodings
+io.encodings.iana
+io.encodings.utf8
+io.encodings.ascii
+io.encodings.binary
+io.streams.limited
+io.servers.connection
+io.timeouts
+fry logging logging.insomniac calendar urls
+http
+http.parsers
+http.server.responses
+html.templates
+html.elements
+html.streams ;
+IN: http.server
+
+: check-absolute ( url -- url )
+    dup path>> "/" head? [ "Bad request: URL" throw ] unless ; inline
+
+: read-request-line ( request -- request )
+    read-crlf parse-request-line first3
+    [ >>method ] [ >url check-absolute >>url ] [ >>version ] tri* ;
+
+: read-request-header ( request -- request )
+    read-header >>header ;
+
+: parse-post-data ( post-data -- post-data )
+    [ ] [ raw>> ] [ content-type>> ] tri
+    "application/x-www-form-urlencoded" = [ query>assoc ] when
+    >>content ;
+
+: read-post-data ( request -- request )
+    dup method>> "POST" = [
+        [ ]
+        [ "content-length" header string>number read ]
+        [ "content-type" header ] tri
+        <post-data> parse-post-data >>post-data
+    ] when ;
+
+: extract-host ( request -- request )
+    [ ] [ url>> ] [ "host" header parse-host ] tri
+    [ >>host ] [ >>port ] bi*
+    drop ;
+
+: extract-cookies ( request -- request )
+    dup "cookie" header [ parse-cookie >>cookies ] when* ;
+
+: read-request ( -- request )
+    <request>
+    read-request-line
+    read-request-header
+    read-post-data
+    extract-host
+    extract-cookies ;
+
+GENERIC: write-response ( response -- )
+
+GENERIC: write-full-response ( request response -- )
+
+: write-response-line ( response -- response )
+    dup
+    [ "HTTP/" write version>> write bl ]
+    [ code>> present write bl ]
+    [ message>> write crlf ]
+    tri ;
+
+: unparse-content-type ( request -- content-type )
+    [ content-type>> "application/octet-stream" or ]
+    [ content-charset>> encoding>name ]
+    bi
+    [ "; charset=" swap 3append ] when* ;
+
+: ensure-domain ( cookie -- cookie )
+    [
+        url get host>> dup "localhost" =
+        [ drop ] [ or ] if
+    ] change-domain ;
+
+: write-response-header ( response -- response )
+    #! We send one set-cookie header per cookie, because that's
+    #! what Firefox expects.
+    dup header>> >alist >vector
+    over unparse-content-type "content-type" pick set-at
+    over cookies>> [
+        ensure-domain unparse-set-cookie
+        "set-cookie" swap 2array over push
+    ] each
+    write-header ;
+
+: write-response-body ( response -- response )
+    dup body>> call-template ;
+
+M: response write-response ( respose -- )
+    write-response-line
+    write-response-header
+    flush
+    drop ;
+
+M: response write-full-response ( request response -- )
+    dup write-response
+    swap method>> "HEAD" = [
+        [ content-charset>> encode-output ]
+        [ write-response-body ]
+        bi
+    ] unless ;
+
+M: raw-response write-response ( respose -- )
+    write-response-line
+    write-response-body
+    drop ;
+
+M: raw-response write-full-response ( response -- )
+    write-response ;
+
+: post-request? ( -- ? ) request get method>> "POST" = ;
+
+SYMBOL: responder-nesting
+
+SYMBOL: main-responder
+
+SYMBOL: development?
+
+SYMBOL: benchmark?
+
+! path is a sequence of path component strings
+GENERIC: call-responder* ( path responder -- response )
+
+TUPLE: trivial-responder response ;
+
+C: <trivial-responder> trivial-responder
+
+M: trivial-responder call-responder* nip response>> clone ;
+
+main-responder global [ <404> <trivial-responder> or ] change-at
+
+: invert-slice ( slice -- slice' )
+    dup slice? [ [ seq>> ] [ from>> ] bi head-slice ] [ drop { } ] if ;
+
+: add-responder-nesting ( path responder -- )
+    [ invert-slice ] dip 2array responder-nesting get push ;
+
+: call-responder ( path responder -- response )
+    [ add-responder-nesting ] [ call-responder* ] 2bi ;
+
+: http-error. ( error -- )
+    "Internal server error" [
+        [ print-error nl :c ] with-html-stream
+    ] simple-page ;
+
+: <500> ( error -- response )
+    500 "Internal server error" <trivial-response>
+    swap development? get [ '[ , http-error. ] >>body ] [ drop ] if ;
+
+: do-response ( response -- )
+    [ request get swap write-full-response ]
+    [
+        [ \ do-response log-error ]
+        [
+            utf8 [
+                development? get
+                [ http-error. ] [ drop "Response error" write ] if
+            ] with-encoded-output
+        ] bi
+    ] recover ;
+
+LOG: httpd-hit NOTICE
+
+LOG: httpd-header NOTICE
+
+: log-header ( headers name -- )
+    tuck header 2array httpd-header ;
+
+: log-request ( request -- )
+    [ [ method>> ] [ url>> ] bi 2array httpd-hit ]
+    [ { "user-agent" "x-forwarded-for" } [ log-header ] with each ]
+    bi ;
+
+: split-path ( string -- path )
+    "/" split harvest ;
+
+: init-request ( request -- )
+    [ request set ] [ url>> url set ] bi
+    V{ } clone responder-nesting set ;
+
+: dispatch-request ( request -- response )
+    url>> path>> split-path main-responder get call-responder ;
+
+: prepare-request ( request -- )
+    [
+        local-address get
+        [ secure? "https" "http" ? >>protocol ]
+        [ port>> '[ , or ] change-port ]
+        bi
+    ] change-url drop ;
+
+: valid-request? ( request -- ? )
+    url>> port>> local-address get port>> = ;
+
+: do-request ( request -- response )
+    '[
+        ,
+        {
+            [ init-request ]
+            [ prepare-request ]
+            [ log-request ]
+            [ dup valid-request? [ dispatch-request ] [ drop <400> ] if ]
+        } cleave
+    ] [ [ \ do-request log-error ] [ <500> ] bi ] recover ;
+
+: ?refresh-all ( -- )
+    development? get-global [ global [ refresh-all ] bind ] when ;
+
+LOG: httpd-benchmark DEBUG
+
+: ?benchmark ( quot -- )
+    benchmark? get [
+        [ benchmark ] [ first ] bi url get rot 3array
+        httpd-benchmark
+    ] [ call ] if ; inline
+
+TUPLE: http-server < threaded-server ;
+
+M: http-server handle-client*
+    drop
+    [
+        64 1024 * limit-input
+        ?refresh-all
+        [ read-request ] ?benchmark
+        [ do-request ] ?benchmark
+        [ do-response ] ?benchmark
+    ] with-destructors ;
+
+: <http-server> ( -- server )
+    http-server new-threaded-server
+        "http.server" >>name
+        "http" protocol-port >>insecure
+        "https" protocol-port >>secure ;
+
+: httpd ( port -- )
+    <http-server>
+        swap >>insecure
+        f >>secure
+    start-server ;
+
+: http-insomniac ( -- )
+    "http.server" { "httpd-hit" } schedule-insomniac ;
diff --git a/basis/http/server/static/static.factor b/basis/http/server/static/static.factor
new file mode 100755 (executable)
index 0000000..98510e4
--- /dev/null
@@ -0,0 +1,108 @@
+! Copyright (C) 2004, 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: calendar io io.files kernel math math.order\r
+math.parser namespaces parser sequences strings\r
+assocs hashtables debugger mime-types sorting logging\r
+calendar.format accessors\r
+io.encodings.binary fry xml.entities destructors urls\r
+html.elements html.templates.fhtml\r
+http\r
+http.server\r
+http.server.responses\r
+http.server.redirection ;\r
+IN: http.server.static\r
+\r
+! special maps mime types to quots with effect ( path -- )\r
+TUPLE: file-responder root hook special allow-listings ;\r
+\r
+: modified-since? ( filename -- ? )\r
+    request get "if-modified-since" header dup [\r
+        [ file-info modified>> ] [ rfc822>timestamp ] bi* after?\r
+    ] [\r
+        2drop t\r
+    ] if ;\r
+\r
+: <file-responder> ( root hook -- responder )\r
+    file-responder new\r
+        swap >>hook\r
+        swap >>root\r
+        H{ } clone >>special ;\r
+\r
+: (serve-static) ( path mime-type -- response )\r
+    [\r
+        [ binary <file-reader> &dispose ] dip\r
+        <content> binary >>content-charset\r
+    ]\r
+    [ drop file-info [ size>> ] [ modified>> ] bi ] 2bi\r
+    [ "content-length" set-header ]\r
+    [ "last-modified" set-header ] bi* ;\r
+\r
+: <static> ( root -- responder )\r
+    [ (serve-static) ] <file-responder> ;\r
+\r
+: serve-static ( filename mime-type -- response )\r
+    over modified-since?\r
+    [ file-responder get hook>> call ] [ 2drop <304> ] if ;\r
+\r
+: serving-path ( filename -- filename )\r
+    file-responder get root>> right-trim-separators\r
+    "/"\r
+    rot "" or left-trim-separators 3append ;\r
+\r
+: serve-file ( filename -- response )\r
+    dup mime-type\r
+    dup file-responder get special>> at\r
+    [ call ] [ serve-static ] ?if ;\r
+\r
+\ serve-file NOTICE add-input-logging\r
+\r
+: file. ( name dirp -- )\r
+    [ "/" append ] when\r
+    dup <a =href a> escape-string write </a> ;\r
+\r
+: directory. ( path -- )\r
+    dup file-name [\r
+        [ <h1> file-name escape-string write </h1> ]\r
+        [\r
+            <ul>\r
+                directory sort-keys\r
+                [ <li> file. </li> ] assoc-each\r
+            </ul>\r
+        ] bi\r
+    ] simple-page ;\r
+\r
+: list-directory ( directory -- response )\r
+    file-responder get allow-listings>> [\r
+        '[ , directory. ] "text/html" <content>\r
+    ] [\r
+        drop <403>\r
+    ] if ;\r
+\r
+: find-index ( filename -- path )\r
+    "index.html" append-path dup exists? [ drop f ] unless ;\r
+\r
+: serve-directory ( filename -- response )\r
+    url get path>> "/" tail? [\r
+        dup\r
+        find-index [ serve-file ] [ list-directory ] ?if\r
+    ] [\r
+        drop\r
+        url get clone [ "/" append ] change-path <permanent-redirect>\r
+    ] if ;\r
+\r
+: serve-object ( filename -- response )\r
+    serving-path dup exists?\r
+    [ dup file-info directory? [ serve-directory ] [ serve-file ] if ]\r
+    [ drop <404> ]\r
+    if ;\r
+\r
+M: file-responder call-responder* ( path responder -- response )\r
+    file-responder set\r
+    ".." over member?\r
+    [ drop <400> ] [ "/" join serve-object ] if ;\r
+\r
+! file responder integration\r
+: enable-fhtml ( responder -- responder )\r
+    [ <fhtml> "text/html" <content> ]\r
+    "application/x-factor-server-page"\r
+    pick special>> set-at ;\r
diff --git a/basis/http/server/summary.txt b/basis/http/server/summary.txt
new file mode 100644 (file)
index 0000000..e6d2ca6
--- /dev/null
@@ -0,0 +1 @@
+HTTP server
diff --git a/basis/http/server/tags.txt b/basis/http/server/tags.txt
new file mode 100644 (file)
index 0000000..b0881a9
--- /dev/null
@@ -0,0 +1,3 @@
+enterprise
+network
+web
diff --git a/basis/http/summary.txt b/basis/http/summary.txt
new file mode 100644 (file)
index 0000000..8791a6f
--- /dev/null
@@ -0,0 +1 @@
+Common code shared by HTTP client and server
diff --git a/basis/http/tags.txt b/basis/http/tags.txt
new file mode 100644 (file)
index 0000000..93e65ae
--- /dev/null
@@ -0,0 +1,2 @@
+web
+network
diff --git a/basis/http/test/foo.html b/basis/http/test/foo.html
new file mode 100644 (file)
index 0000000..2638986
--- /dev/null
@@ -0,0 +1 @@
+<html><head><title>Hello</title></head><body>HTTPd test</body></html>
diff --git a/basis/json/authors.txt b/basis/json/authors.txt
new file mode 100755 (executable)
index 0000000..44b06f9
--- /dev/null
@@ -0,0 +1 @@
+Chris Double
diff --git a/basis/json/reader/authors.txt b/basis/json/reader/authors.txt
new file mode 100644 (file)
index 0000000..44b06f9
--- /dev/null
@@ -0,0 +1 @@
+Chris Double
diff --git a/basis/json/reader/reader-docs.factor b/basis/json/reader/reader-docs.factor
new file mode 100644 (file)
index 0000000..ea4dcbf
--- /dev/null
@@ -0,0 +1,8 @@
+! Copyright (C) 2006 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+USING: help.markup help.syntax ;
+IN: json.reader
+
+HELP: json> "( string -- object )"
+{ $values { "string" "a string in JSON format" } { "object" "yhe object deserialized from the JSON string" } }
+{ $description "Deserializes the JSON formatted string into a Factor object. JSON objects are converted to Factor hashtables. All other JSON objects convert to their obvious Factor equivalents." } ;
diff --git a/basis/json/reader/reader-tests.factor b/basis/json/reader/reader-tests.factor
new file mode 100644 (file)
index 0000000..995ae0e
--- /dev/null
@@ -0,0 +1,43 @@
+USING: arrays json.reader kernel multiline strings tools.test ;
+IN: json.reader.tests
+
+{ f } [ "false" json> ] unit-test
+{ t } [ "true" json> ] unit-test
+{ json-null } [ "null" json> ] unit-test
+{ 0 } [ "0" json> ] unit-test
+{ 102 } [ "102" json> ] unit-test
+{ -102 } [ "-102" json> ] unit-test
+{ 102 } [ "+102" json> ] unit-test
+{ 102.0 } [ "102.0" json> ] unit-test
+{ 102.5 } [ "102.5" json> ] unit-test
+{ 102.5 } [ "102.50" json> ] unit-test
+{ -10250.0 } [ "-102.5e2" json> ] unit-test
+{ -10250.0 } [ "-102.5E+2" json> ] unit-test
+{ 10+1/4 } [ "1025e-2" json> ] unit-test
+{ 0.125 } [ "0.125" json> ] unit-test
+{ -0.125 } [ "-0.125" json> ] unit-test
+
+{ " fuzzy  pickles " } [ <" " fuzzy  pickles " "> json> ] unit-test
+{ "while 1:\n\tpass" } [ <" "while 1:\n\tpass" "> json> ] unit-test
+{ 8 9 10 12 13 34 47 92 } >string 1array [ <" "\b\t\n\f\r\"\/\\" "> json> ] unit-test
+{ HEX: abcd } >string 1array [ <" "\uaBCd" "> json> ] unit-test
+
+{ { 1 "two" 3.0 } } [ <" [1, "two", 3.0] "> json> ] unit-test
+{ H{ { "US$" 1.0 } { "EU€" 1.5 } } } [ <" { "US$":1.00, "EU\u20AC":1.50 } "> json> ] unit-test
+{ H{
+    { "fib" { 1 1 2 3 5 8 H{ { "etc" "etc" } } } }
+    { "prime" { 2 3 5 7 11 13 } }
+} } [ <" {
+    "fib": [1, 1,  2,   3,     5,         8,
+        { "etc":"etc" } ],
+    "prime":
+    [ 2,3,     5,7,
+11,
+13
+]      }
+"> json> ] unit-test
+
+{ 0 } [ "      0" json> ] unit-test
+{ 0 } [ "0      " json> ] unit-test
+{ 0 } [ "   0   " json> ] unit-test
+
diff --git a/basis/json/reader/reader.factor b/basis/json/reader/reader.factor
new file mode 100755 (executable)
index 0000000..e21b129
--- /dev/null
@@ -0,0 +1,180 @@
+! Copyright (C) 2006 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel parser-combinators namespaces sequences promises strings 
+       assocs math math.parser math.vectors math.functions math.order
+       lists hashtables ascii accessors ;
+IN: json.reader
+
+! Grammar for JSON from RFC 4627
+
+SYMBOL: json-null
+
+: [<&>] ( quot -- quot )
+  { } make unclip [ <&> ] reduce ;
+
+: [<|>] ( quot -- quot )
+  { } make unclip [ <|> ] reduce ;
+
+LAZY: 'ws' ( -- parser )
+  " " token 
+  "\n" token <|>
+  "\r" token <|>
+  "\t" token <|> <*> ;
+
+LAZY: spaced ( parser -- parser )
+  'ws' swap &> 'ws' <& ;
+
+LAZY: 'begin-array' ( -- parser )
+  "[" token spaced ;
+
+LAZY: 'begin-object' ( -- parser )
+  "{" token spaced ;
+
+LAZY: 'end-array' ( -- parser )
+  "]" token spaced ;
+
+LAZY: 'end-object' ( -- parser )
+  "}" token spaced ;
+
+LAZY: 'name-separator' ( -- parser )
+  ":" token spaced ;
+
+LAZY: 'value-separator' ( -- parser )
+  "," token spaced ;
+
+LAZY: 'false' ( -- parser )
+  "false" token [ drop f ] <@ ;
+
+LAZY: 'null' ( -- parser )
+  "null" token [ drop json-null ] <@ ;
+
+LAZY: 'true' ( -- parser )
+  "true" token [ drop t ] <@ ;
+
+LAZY: 'quot' ( -- parser )
+  "\"" token ;
+
+LAZY: 'hex-digit' ( -- parser )
+  [ digit> ] satisfy [ digit> ] <@ ;
+
+: hex-digits>ch ( digits -- ch )
+    0 [ swap 16 * + ] reduce ;
+
+LAZY: 'string-char' ( -- parser )
+  [ quotable? ] satisfy
+  "\\b" token [ drop 8 ] <@ <|>
+  "\\t" token [ drop CHAR: \t ] <@ <|>
+  "\\n" token [ drop CHAR: \n ] <@ <|>
+  "\\f" token [ drop 12 ] <@ <|>
+  "\\r" token [ drop CHAR: \r ] <@ <|>
+  "\\\"" token [ drop CHAR: " ] <@ <|>
+  "\\/" token [ drop CHAR: / ] <@ <|>
+  "\\\\" token [ drop CHAR: \\ ] <@ <|>
+  "\\u" token 'hex-digit' 4 exactly-n &>
+  [ hex-digits>ch ] <@ <|> ;
+
+LAZY: 'string' ( -- parser )
+  'quot' 
+  'string-char' <*> &> 
+  'quot' <& [ >string ] <@  ;
+
+DEFER: 'value'
+
+LAZY: 'member' ( -- parser )
+  'string'
+  'name-separator' <&  
+  'value' <&> ;
+
+USE: prettyprint 
+LAZY: 'object' ( -- parser )
+  'begin-object' 
+  'member' 'value-separator' list-of &>
+  'end-object' <& [ >hashtable ] <@ ;
+
+LAZY: 'array' ( -- parser )
+  'begin-array' 
+  'value' 'value-separator' list-of &>
+  'end-array' <&  ;
+  
+LAZY: 'minus' ( -- parser )
+  "-" token ;
+
+LAZY: 'plus' ( -- parser )
+  "+" token ;
+
+LAZY: 'sign' ( -- parser )
+  'minus' 'plus' <|> ;
+
+LAZY: 'zero' ( -- parser )
+  "0" token [ drop 0 ] <@ ;
+
+LAZY: 'decimal-point' ( -- parser )
+  "." token ;
+
+LAZY: 'digit1-9' ( -- parser )
+  [ 
+    dup integer? [ 
+      CHAR: 1 CHAR: 9 between? 
+    ] [ 
+      drop f 
+    ] if 
+  ] satisfy [ digit> ] <@ ;
+
+LAZY: 'digit0-9' ( -- parser )
+  [ digit? ] satisfy [ digit> ] <@ ;
+
+: decimal>integer ( seq -- num ) 10 digits>integer ;
+
+LAZY: 'int' ( -- parser )
+  'zero' 
+  'digit1-9' 'digit0-9' <*> <&:> [ decimal>integer ] <@ <|>  ;
+
+LAZY: 'e' ( -- parser )
+  "e" token "E" token <|> ;
+
+: sign-number ( pair -- number )
+  #! Pair is { minus? num }
+  #! Convert the json number value to a factor number
+  dup second swap first [ first "-" = [ -1 * ] when ] when* ;
+
+LAZY: 'exp' ( -- parser )
+    'e' 
+    'sign' <?> &>
+    'digit0-9' <+> [ decimal>integer ] <@ <&> [ sign-number ] <@ ;
+
+: sequence>frac ( seq -- num ) 
+  #! { 1 2 3 } => 0.123
+  reverse 0 [ swap 10 / + ] reduce 10 / >float ;
+
+LAZY: 'frac' ( -- parser )
+  'decimal-point' 'digit0-9' <+> &> [ sequence>frac ] <@ ;
+
+: raise-to-power ( pair -- num )
+  #! Pair is { num exp }.
+  #! Multiply 'num' by 10^exp
+  dup second dup [ 10 swap first ^ swap first * ] [ drop first ] if ;
+
+LAZY: 'number' ( -- parser )
+  'sign' <?>
+  [ 'int' , 'frac' 0 succeed <|> , ] [<&>] [ sum ] <@ 
+  'exp' <?> <&> [ raise-to-power ] <@ <&> [ sign-number ] <@ ;
+
+LAZY: 'value' ( -- parser )
+  [
+    'false' ,
+    'null' ,
+    'true' ,
+    'string' ,
+    'object' ,
+    'array' ,
+    'number' ,
+  ] [<|>] spaced ;
+ERROR: could-not-parse-json ;
+
+: json> ( string -- object )
+  #! Parse a json formatted string to a factor object
+  'value' parse dup nil? [ 
+      could-not-parse-json
+  ] [ 
+    car parsed>> 
+  ] if ;
diff --git a/basis/json/reader/summary.txt b/basis/json/reader/summary.txt
new file mode 100644 (file)
index 0000000..ca038f1
--- /dev/null
@@ -0,0 +1 @@
+JSON to Factor serializer
diff --git a/basis/json/summary.txt b/basis/json/summary.txt
new file mode 100755 (executable)
index 0000000..33c7c97
--- /dev/null
@@ -0,0 +1 @@
+JSON reader and writer
diff --git a/basis/json/writer/authors.txt b/basis/json/writer/authors.txt
new file mode 100644 (file)
index 0000000..44b06f9
--- /dev/null
@@ -0,0 +1 @@
+Chris Double
diff --git a/basis/json/writer/summary.txt b/basis/json/writer/summary.txt
new file mode 100644 (file)
index 0000000..0a45ce2
--- /dev/null
@@ -0,0 +1 @@
+Factor to JSON serializer
diff --git a/basis/json/writer/writer-docs.factor b/basis/json/writer/writer-docs.factor
new file mode 100644 (file)
index 0000000..21aa8b2
--- /dev/null
@@ -0,0 +1,15 @@
+! Copyright (C) 2006 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+USING: help.markup help.syntax ;
+IN: json.writer
+
+HELP: >json "( obj -- string )"
+{ $values { "obj" "an object" } { "string" "the object converted to JSON format" } }
+{ $description "Serializes the object into a JSON formatted string." } 
+{ $see-also json-print } ;
+
+HELP: json-print "( obj -- )"
+{ $values { "obj" "an object" } }
+{ $description "Serializes the object into a JSON formatted string and outputs it to the standard output stream." } 
+{ $see-also >json } ;
+
diff --git a/basis/json/writer/writer.factor b/basis/json/writer/writer.factor
new file mode 100644 (file)
index 0000000..0d22494
--- /dev/null
@@ -0,0 +1,44 @@
+! Copyright (C) 2006 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel io.streams.string io strings splitting sequences math 
+       math.parser assocs classes words namespaces prettyprint
+       hashtables mirrors tr ;
+IN: json.writer
+
+#! Writes the object out to a stream in JSON format
+GENERIC: json-print ( obj -- )
+
+: >json ( obj -- string )
+  #! Returns a string representing the factor object in JSON format
+  [ json-print ] with-string-writer ;
+
+M: f json-print ( f -- )
+  drop "false" write ;
+
+M: string json-print ( obj -- )
+  CHAR: " write1 "\"" split "\\\"" join CHAR: \r swap remove "\n" split "\\r\\n" join write CHAR: " write1 ;
+
+M: number json-print ( num -- )  
+  number>string write ;
+
+M: sequence json-print ( array -- ) 
+  CHAR: [ write1 [ >json ] map "," join write CHAR: ] write1 ;
+
+TR: jsvar-encode "-" "_" ;
+  
+: tuple>fields ( object -- seq )
+  <mirror> [
+    [ swap jsvar-encode >json % " : " % >json % ] "" make
+  ] { } assoc>map ;
+
+M: tuple json-print ( tuple -- )
+  CHAR: { write1 tuple>fields "," join write CHAR: } write1 ;
+
+M: hashtable json-print ( hashtable -- )
+  CHAR: { write1 
+  [ [ swap jsvar-encode >json % CHAR: : , >json % ] "" make ]
+  { } assoc>map "," join write 
+  CHAR: } write1 ;
+
+M: object json-print ( object -- )
+    unparse json-print ;
diff --git a/basis/openssl/test/errors.txt b/basis/openssl/test/errors.txt
deleted file mode 100644 (file)
index e965047..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Hello
diff --git a/basis/peg/ebnf/authors.txt b/basis/peg/ebnf/authors.txt
new file mode 100644 (file)
index 0000000..44b06f9
--- /dev/null
@@ -0,0 +1 @@
+Chris Double
diff --git a/basis/peg/ebnf/ebnf-tests.factor b/basis/peg/ebnf/ebnf-tests.factor
new file mode 100644 (file)
index 0000000..a6d3cf0
--- /dev/null
@@ -0,0 +1,522 @@
+! Copyright (C) 2007 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+!
+USING: kernel tools.test peg peg.ebnf words math math.parser 
+       sequences accessors peg.parsers parser namespaces arrays 
+       strings eval ;
+IN: peg.ebnf.tests
+
+{ T{ ebnf-non-terminal f "abc" } } [
+  "abc" 'non-terminal' parse 
+] unit-test
+
+{ T{ ebnf-terminal f "55" } } [
+  "'55'" 'terminal' parse 
+] unit-test
+
+{
+  T{ ebnf-rule f 
+     "digit"
+     T{ ebnf-choice f
+        V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } }
+     }
+  } 
+} [
+  "digit = '1' | '2'" 'rule' parse
+] unit-test
+
+{
+  T{ ebnf-rule f 
+     "digit" 
+     T{ ebnf-sequence f
+        V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } }
+     }
+  }   
+} [
+  "digit = '1' '2'" 'rule' parse
+] unit-test
+
+{
+  T{ ebnf-choice f
+     V{ 
+       T{ ebnf-sequence f
+          V{ T{ ebnf-non-terminal f "one" } T{ ebnf-non-terminal f "two" } }
+       }
+       T{ ebnf-non-terminal f "three" }
+     }
+  } 
+} [
+  "one two | three" 'choice' parse
+] unit-test
+
+{
+  T{ ebnf-sequence f
+     V{ 
+       T{ ebnf-non-terminal f "one" }
+       T{ ebnf-whitespace f
+         T{ ebnf-choice f
+            V{ T{ ebnf-non-terminal f "two" } T{ ebnf-non-terminal f "three" } }
+         }
+       }
+     }
+  } 
+} [
+  "one {two | three}" 'choice' parse
+] unit-test
+
+{
+  T{ ebnf-sequence f
+     V{ 
+       T{ ebnf-non-terminal f "one" }
+       T{ ebnf-repeat0 f
+          T{ ebnf-sequence f
+             V{
+                T{ ebnf-choice f
+                   V{ T{ ebnf-non-terminal f "two" } T{ ebnf-non-terminal f "three" } }
+                }
+                T{ ebnf-non-terminal f "four" }
+             }
+          }
+        }
+     }
+  } 
+} [
+  "one ((two | three) four)*" 'choice' parse
+] unit-test
+
+{
+  T{ ebnf-sequence f
+     V{ 
+         T{ ebnf-non-terminal f "one" } 
+         T{ ebnf-optional f T{ ebnf-non-terminal f "two" } }
+         T{ ebnf-non-terminal f "three" }
+     }
+  } 
+} [
+  "one ( two )? three" 'choice' parse
+] unit-test
+
+{ "foo" } [
+  "\"foo\"" 'identifier' parse
+] unit-test
+
+{ "foo" } [
+  "'foo'" 'identifier' parse
+] unit-test
+
+{ "foo" } [
+  "foo" 'non-terminal' parse symbol>>
+] unit-test
+
+{ "foo" } [
+  "foo]" 'non-terminal' parse symbol>>
+] unit-test
+
+{ V{ "a" "b" } } [
+  "ab" [EBNF foo='a' 'b' EBNF] 
+] unit-test
+
+{ V{ 1 "b" } } [
+  "ab" [EBNF foo=('a')[[ drop 1 ]] 'b' EBNF]
+] unit-test
+
+{ V{ 1 2 } } [
+  "ab" [EBNF foo=('a') [[ drop 1 ]] ('b') [[ drop 2 ]] EBNF]
+] unit-test
+
+{ CHAR: A } [
+  "A" [EBNF foo=[A-Z] EBNF]
+] unit-test
+
+{ CHAR: Z } [
+  "Z" [EBNF foo=[A-Z] EBNF]
+] unit-test
+
+[
+  "0" [EBNF foo=[A-Z] EBNF]  
+] must-fail
+
+{ CHAR: 0 } [
+  "0" [EBNF foo=[^A-Z] EBNF]
+] unit-test
+
+[
+  "A" [EBNF foo=[^A-Z] EBNF]  
+] must-fail
+
+[
+  "Z" [EBNF foo=[^A-Z] EBNF]  
+] must-fail
+
+{ V{ "1" "+" "foo" } } [
+  "1+1" [EBNF foo='1' '+' '1' [[ drop "foo" ]] EBNF]
+] unit-test
+
+{ "foo" } [
+  "1+1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] EBNF]
+] unit-test
+
+{ "foo" } [
+  "1+1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] | '1' '-' '1' => [[ drop "bar" ]] EBNF]
+] unit-test
+
+{ "bar" } [
+  "1-1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] | '1' '-' '1' => [[ drop "bar" ]] EBNF]
+] unit-test
+
+{ 6 } [
+  "4+2" [EBNF num=[0-9] => [[ digit> ]] foo=num:x '+' num:y => [[ x y + ]] EBNF]
+] unit-test
+
+{ 6 } [
+  "4+2" [EBNF foo=[0-9]:x '+' [0-9]:y => [[ x digit> y digit> + ]] EBNF]
+] unit-test
+
+{ 10 } [
+  { 1 2 3 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF]
+] unit-test
+
+[
+  { "a" 2 3 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF] 
+] must-fail
+
+{ 3 } [
+  { 1 2 "a" 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF]
+] unit-test
+
+[
+  "ab" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF] 
+] must-fail
+
+{ V{ "a" " " "b" } } [
+  "a b" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
+] unit-test
+
+{ V{ "a" "\t" "b" } } [
+  "a\tb" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
+] unit-test
+
+{ V{ "a" "\n" "b" } } [
+  "a\nb" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
+] unit-test
+
+{ V{ "a" f "b" } } [
+  "ab" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
+] unit-test
+
+{ V{ "a" " " "b" } } [
+  "a b" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
+] unit-test
+
+
+{ V{ "a" "\t" "b" } } [
+  "a\tb" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
+] unit-test
+
+{ V{ "a" "\n" "b" } } [
+  "a\nb" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
+] unit-test
+
+{ V{ "a" "b" } } [
+  "ab" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
+] unit-test
+
+{ V{ "a" "b" } } [
+  "a\tb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
+] unit-test
+
+{ V{ "a" "b" } } [
+  "a\nb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
+] unit-test
+
+[
+  "axb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF] 
+] must-fail
+
+{ V{ V{ 49 } "+" V{ 49 } } } [ 
+  #! Test direct left recursion. 
+  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
+  "1+1" [EBNF num=([0-9])+ expr=expr "+" num | num EBNF]
+] unit-test
+
+{ V{ V{ V{ 49 } "+" V{ 49 } } "+" V{ 49 } } } [ 
+  #! Test direct left recursion. 
+  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
+  "1+1+1" [EBNF num=([0-9])+ expr=expr "+" num | num EBNF]
+] unit-test
+
+{ V{ V{ V{ 49 } "+" V{ 49 } } "+" V{ 49 } } } [ 
+  #! Test indirect left recursion. 
+  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
+  "1+1+1" [EBNF num=([0-9])+ x=expr expr=x "+" num | num EBNF]
+] unit-test
+
+{ t } [
+  "abcd='9' | ('8'):x => [[ x ]]" 'ebnf' (parse) remaining>> empty?
+] unit-test
+
+EBNF: primary 
+Primary = PrimaryNoNewArray
+PrimaryNoNewArray =  ClassInstanceCreationExpression
+                   | MethodInvocation
+                   | FieldAccess
+                   | ArrayAccess
+                   | "this"
+ClassInstanceCreationExpression =  "new" ClassOrInterfaceType "(" ")"
+                                 | Primary "." "new" Identifier "(" ")"
+MethodInvocation =  Primary "." MethodName "(" ")"
+                  | MethodName "(" ")"
+FieldAccess =  Primary "." Identifier
+             | "super" "." Identifier  
+ArrayAccess =  Primary "[" Expression "]" 
+             | ExpressionName "[" Expression "]"
+ClassOrInterfaceType = ClassName | InterfaceTypeName
+ClassName = "C" | "D"
+InterfaceTypeName = "I" | "J"
+Identifier = "x" | "y" | ClassOrInterfaceType
+MethodName = "m" | "n"
+ExpressionName = Identifier
+Expression = "i" | "j"
+main = Primary
+;EBNF 
+
+{ "this" } [
+  "this" primary
+] unit-test
+
+{ V{ "this" "." "x" } } [
+  "this.x" primary
+] unit-test
+
+{ V{ V{ "this" "." "x" } "." "y" } } [
+  "this.x.y" primary
+] unit-test
+
+{ V{ V{ "this" "." "x" } "." "m" "(" ")" } } [
+  "this.x.m()" primary
+] unit-test
+
+{ V{ V{ V{ "x" "[" "i" "]" } "[" "j" "]" } "." "y" } } [
+  "x[i][j].y" primary
+] unit-test
+
+'ebnf' compile must-infer
+
+{ V{ V{ "a" "b" } "c" } } [
+  "abc" [EBNF a="a" "b" foo=(a "c") EBNF]
+] unit-test
+
+{ V{ V{ "a" "b" } "c" } } [
+  "abc" [EBNF a="a" "b" foo={a "c"} EBNF]
+] unit-test
+
+{ V{ V{ "a" "b" } "c" } } [
+  "abc" [EBNF a="a" "b" foo=a "c" EBNF]
+] unit-test
+
+[
+  "a bc" [EBNF a="a" "b" foo=(a "c") EBNF] 
+] must-fail
+
+[
+  "a bc" [EBNF a="a" "b" foo=a "c" EBNF] 
+] must-fail
+
+[
+  "a bc" [EBNF a="a" "b" foo={a "c"} EBNF]
+] must-fail
+
+[
+  "ab c" [EBNF a="a" "b" foo=a "c" EBNF] 
+] must-fail
+
+{ V{ V{ "a" "b" } "c" } } [
+  "ab c" [EBNF a="a" "b" foo={a "c"} EBNF]
+] unit-test
+
+[
+  "ab c" [EBNF a="a" "b" foo=(a "c") EBNF] 
+] must-fail
+
+[
+  "a b c" [EBNF a="a" "b" foo=a "c" EBNF] 
+] must-fail
+
+[
+  "a b c" [EBNF a="a" "b" foo=(a "c") EBNF] 
+] must-fail
+
+[
+  "a b c" [EBNF a="a" "b" foo={a "c"} EBNF] 
+] must-fail
+
+{ V{ V{ V{ "a" "b" } "c" } V{ V{ "a" "b" } "c" } } } [
+  "ab cab c" [EBNF a="a" "b" foo={a "c"}* EBNF]
+] unit-test
+
+{ V{ } } [
+  "ab cab c" [EBNF a="a" "b" foo=(a "c")* EBNF]
+] unit-test
+
+{ V{ V{ V{ "a" "b" } "c" } V{ V{ "a" "b" } "c" } } } [
+  "ab c ab c" [EBNF a="a" "b" foo={a "c"}* EBNF]
+] unit-test
+
+{ V{ } } [
+  "ab c ab c" [EBNF a="a" "b" foo=(a "c")* EBNF]
+] unit-test
+
+{ V{ "a" "a" "a" } } [
+  "aaa" [EBNF a=('a')* b=!('b') a:x => [[ x ]] EBNF]
+] unit-test
+
+{ t } [
+  "aaa" [EBNF a=('a')* b=!('b') a:x => [[ x ]] EBNF]
+  "aaa" [EBNF a=('a')* b=!('b') (a):x => [[ x ]] EBNF] =
+] unit-test
+
+{ V{ "a" "a" "a" } } [
+  "aaa" [EBNF a=('a')* b=a:x => [[ x ]] EBNF]
+] unit-test
+
+{ t } [
+  "aaa" [EBNF a=('a')* b=a:x => [[ x ]] EBNF]
+  "aaa" [EBNF a=('a')* b=(a):x => [[ x ]] EBNF] =
+] unit-test
+
+{ t } [
+  "number=(digit)+:n 'a'" 'ebnf' (parse) remaining>> length zero?
+] unit-test
+
+{ t } [
+  "number=(digit)+ 'a'" 'ebnf' (parse) remaining>> length zero?
+] unit-test
+
+{ t } [
+  "number=digit+ 'a'" 'ebnf' (parse) remaining>> length zero?
+] unit-test
+
+{ t } [
+  "number=digit+:n 'a'" 'ebnf' (parse) remaining>> length zero?
+] unit-test
+
+{ t } [
+  "foo=(name):n !(keyword) => [[ n ]]" 'rule' parse
+  "foo=name:n !(keyword) => [[ n ]]" 'rule' parse =
+] unit-test
+
+{ t } [
+  "foo=!(keyword) (name):n => [[ n ]]" 'rule' parse
+  "foo=!(keyword) name:n => [[ n ]]" 'rule' parse =
+] unit-test
+
+<<
+EBNF: parser1 
+foo='a' 
+;EBNF
+>>
+
+EBNF: parser2
+foo=<foreign parser1 foo> 'b'
+;EBNF
+
+EBNF: parser3
+foo=<foreign parser1> 'c'
+;EBNF
+
+EBNF: parser4
+foo=<foreign any-char> 'd'
+;EBNF
+
+{ "a" } [
+  "a" parser1
+] unit-test
+
+{ V{ "a" "b" } } [
+  "ab" parser2
+] unit-test
+
+{ V{ "a" "c" } } [
+  "ac" parser3
+] unit-test
+
+{ V{ CHAR: a "d" } } [
+  "ad" parser4
+] unit-test
+
+{ t } [
+ "USING: kernel peg.ebnf ; \"a\\n\" [EBNF foo='a' '\n'  => [[ drop \"\n\" ]] EBNF]" eval drop t
+] unit-test
+
+[
+  "USING: peg.ebnf ; <EBNF foo='a' foo='b' EBNF>" eval drop
+] must-fail
+
+{ t } [
+  #! Rule lookup occurs in a namespace. This causes an incorrect duplicate rule
+  #! if a var in a namespace is set. This unit test is to remind me to fix this.
+  [ "fail" "foo" set "foo='a'" 'ebnf' parse transform drop t ] with-scope
+] unit-test
+
+#! Tokenizer tests
+{ V{ "a" CHAR: b } } [
+  "ab" [EBNF tokenizer=default foo="a" . EBNF]
+] unit-test
+
+TUPLE: ast-number value ;
+
+EBNF: a-tokenizer 
+Letter            = [a-zA-Z]
+Digit             = [0-9]
+Digits            = Digit+
+SingleLineComment = "//" (!("\n") .)* "\n" => [[ ignore ]]
+MultiLineComment  = "/*" (!("*/") .)* "*/" => [[ ignore ]]
+Space             = " " | "\t" | "\r" | "\n" | SingleLineComment | MultiLineComment
+Spaces            = Space* => [[ ignore ]]
+Number            = Digits:ws '.' Digits:fs => [[ ws "." fs 3array concat >string string>number ast-number boa ]]
+                    | Digits => [[ >string string>number ast-number boa ]]  
+Special            =   "("   | ")"   | "{"   | "}"   | "["   | "]"   | ","   | ";"
+                     | "?"   | ":"   | "!==" | "~="  | "===" | "=="  | "="   | ">="
+                     | ">"   | "<="  | "<"   | "++"  | "+="  | "+"   | "--"  | "-="
+                     | "-"   | "*="  | "*"   | "/="  | "/"   | "%="  | "%"   | "&&="
+                     | "&&"  | "||=" | "||"  | "."   | "!"
+Tok                = Spaces (Number | Special )
+;EBNF
+
+{ V{ CHAR: 1 T{ ast-number f 23 } ";" CHAR: x } } [
+  "123;x" [EBNF bar = . 
+                tokenizer = <foreign a-tokenizer Tok>  foo=. 
+                tokenizer=default baz=. 
+                main = bar foo foo baz 
+          EBNF]
+] unit-test
+
+{ V{ CHAR: 5 "+" CHAR: 2 } } [
+  "5+2" [EBNF 
+          space=(" " | "\n") 
+          number=[0-9] 
+          operator=("*" | "+") 
+          spaces=space* => [[ ignore ]] 
+          tokenizer=spaces (number | operator) 
+          main= . . . 
+        EBNF]
+] unit-test
+
+{ V{ CHAR: 5 "+" CHAR: 2 } } [
+  "5 + 2" [EBNF 
+          space=(" " | "\n") 
+          number=[0-9] 
+          operator=("*" | "+") 
+          spaces=space* => [[ ignore ]] 
+          tokenizer=spaces (number | operator) 
+          main= . . . 
+        EBNF]
+] unit-test
+
+{ "++" } [
+  "++--" [EBNF tokenizer=("++" | "--") main="++" EBNF]
+] unit-test
+
+{ "\\" } [
+  "\\" [EBNF foo="\\" EBNF]
+] unit-test
diff --git a/basis/peg/ebnf/ebnf.factor b/basis/peg/ebnf/ebnf.factor
new file mode 100644 (file)
index 0000000..6e9d78e
--- /dev/null
@@ -0,0 +1,540 @@
+! Copyright (C) 2007 Chris Double.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: kernel compiler.units words arrays strings math.parser sequences \r
+       quotations vectors namespaces math assocs continuations peg\r
+       peg.parsers unicode.categories multiline combinators.lib \r
+       splitting accessors effects sequences.deep peg.search\r
+       combinators.short-circuit lexer io.streams.string\r
+       stack-checker io prettyprint combinators parser ;\r
+IN: peg.ebnf\r
+\r
+: rule ( name word -- parser )\r
+  #! Given an EBNF word produced from EBNF: return the EBNF rule\r
+  "ebnf-parser" word-prop at ;\r
+\r
+TUPLE: tokenizer any one many ;\r
+\r
+: default-tokenizer ( -- tokenizer )\r
+  T{ tokenizer f \r
+    [ any-char ]\r
+    [ token ]\r
+    [ [ = ] curry any-char swap semantic ]\r
+  } ;\r
+\r
+: parser-tokenizer ( parser -- tokenizer )\r
+  [ 1quotation ] keep\r
+  [ swap [ = ] curry semantic ] curry dup \ tokenizer boa ;\r
+\r
+: rule-tokenizer ( name word -- tokenizer )\r
+  rule parser-tokenizer ;\r
+\r
+: tokenizer ( -- word )\r
+  \ tokenizer get-global [ default-tokenizer ] unless* ;\r
+\r
+: reset-tokenizer ( -- )\r
+  default-tokenizer \ tokenizer set-global ;\r
+\r
+: TOKENIZER: \r
+  scan search [ "Tokenizer not found" throw ] unless*\r
+  execute \ tokenizer set-global ; parsing\r
+\r
+TUPLE: ebnf-non-terminal symbol ;\r
+TUPLE: ebnf-terminal symbol ;\r
+TUPLE: ebnf-foreign word rule ;\r
+TUPLE: ebnf-any-character ;\r
+TUPLE: ebnf-range pattern ;\r
+TUPLE: ebnf-ensure group ;\r
+TUPLE: ebnf-ensure-not group ;\r
+TUPLE: ebnf-choice options ;\r
+TUPLE: ebnf-sequence elements ;\r
+TUPLE: ebnf-repeat0 group ;\r
+TUPLE: ebnf-repeat1 group ;\r
+TUPLE: ebnf-optional group ;\r
+TUPLE: ebnf-whitespace group ;\r
+TUPLE: ebnf-tokenizer elements ;\r
+TUPLE: ebnf-rule symbol elements ;\r
+TUPLE: ebnf-action parser code ;\r
+TUPLE: ebnf-var parser name ;\r
+TUPLE: ebnf-semantic parser code ;\r
+TUPLE: ebnf rules ;\r
+\r
+C: <ebnf-non-terminal> ebnf-non-terminal\r
+C: <ebnf-terminal> ebnf-terminal\r
+C: <ebnf-foreign> ebnf-foreign\r
+C: <ebnf-any-character> ebnf-any-character\r
+C: <ebnf-range> ebnf-range\r
+C: <ebnf-ensure> ebnf-ensure\r
+C: <ebnf-ensure-not> ebnf-ensure-not\r
+C: <ebnf-choice> ebnf-choice\r
+C: <ebnf-sequence> ebnf-sequence\r
+C: <ebnf-repeat0> ebnf-repeat0\r
+C: <ebnf-repeat1> ebnf-repeat1\r
+C: <ebnf-optional> ebnf-optional\r
+C: <ebnf-whitespace> ebnf-whitespace\r
+C: <ebnf-tokenizer> ebnf-tokenizer\r
+C: <ebnf-rule> ebnf-rule\r
+C: <ebnf-action> ebnf-action\r
+C: <ebnf-var> ebnf-var\r
+C: <ebnf-semantic> ebnf-semantic\r
+C: <ebnf> ebnf\r
+\r
+: filter-hidden ( seq -- seq )\r
+  #! Remove elements that produce no AST from sequence\r
+  [ ebnf-ensure-not? not ] filter [ ebnf-ensure? not ] filter ;\r
+\r
+: syntax ( string -- parser )\r
+  #! Parses the string, ignoring white space, and\r
+  #! does not put the result in the AST.\r
+  token sp hide ;\r
+\r
+: syntax-pack ( begin parser end -- parser )\r
+  #! Parse 'parser' surrounded by syntax elements\r
+  #! begin and end.\r
+  [ syntax ] 2dip syntax pack ;\r
+\r
+#! Don't want to use 'replace' in an action since replace doesn't infer.\r
+#! Do the compilation of the peg at parse time and call (replace).\r
+PEG: escaper ( string -- ast )\r
+  [\r
+    "\\t" token [ drop "\t" ] action ,\r
+    "\\n" token [ drop "\n" ] action ,\r
+    "\\r" token [ drop "\r" ] action ,\r
+    "\\\\" token [ drop "\\" ] action ,\r
+  ] choice* any-char-parser 2array choice repeat0 ;\r
+\r
+: replace-escapes ( string -- string )\r
+  escaper sift [ [ tree-write ] each ] with-string-writer ;\r
+\r
+: insert-escapes ( string -- string )\r
+  [\r
+    "\t" token [ drop "\\t" ] action ,\r
+    "\n" token [ drop "\\n" ] action ,\r
+    "\r" token [ drop "\\r" ] action ,\r
+  ] choice* replace ;\r
+\r
+: 'identifier' ( -- parser )\r
+  #! Return a parser that parses an identifer delimited by\r
+  #! a quotation character. The quotation can be single\r
+  #! or double quotes. The AST produced is the identifier\r
+  #! between the quotes.\r
+  [\r
+    [ CHAR: " = not ] satisfy repeat1 "\"" "\"" surrounded-by ,\r
+    [ CHAR: ' = not ] satisfy repeat1 "'" "'" surrounded-by ,\r
+  ] choice* [ >string replace-escapes ] action ;\r
+  \r
+: 'non-terminal' ( -- parser )\r
+  #! A non-terminal is the name of another rule. It can\r
+  #! be any non-blank character except for characters used\r
+  #! in the EBNF syntax itself.\r
+  [\r
+    {\r
+      [ dup blank?    ]\r
+      [ dup CHAR: " = ]\r
+      [ dup CHAR: ' = ]\r
+      [ dup CHAR: | = ]\r
+      [ dup CHAR: { = ]\r
+      [ dup CHAR: } = ]\r
+      [ dup CHAR: = = ]\r
+      [ dup CHAR: ) = ]\r
+      [ dup CHAR: ( = ]\r
+      [ dup CHAR: ] = ]\r
+      [ dup CHAR: [ = ]\r
+      [ dup CHAR: . = ]\r
+      [ dup CHAR: ! = ]\r
+      [ dup CHAR: & = ]\r
+      [ dup CHAR: * = ]\r
+      [ dup CHAR: + = ]\r
+      [ dup CHAR: ? = ]\r
+      [ dup CHAR: : = ]\r
+      [ dup CHAR: ~ = ]\r
+      [ dup CHAR: < = ]\r
+      [ dup CHAR: > = ]\r
+    } 0|| not nip    \r
+  ] satisfy repeat1 [ >string <ebnf-non-terminal> ] action ;\r
+\r
+: 'terminal' ( -- parser )\r
+  #! A terminal is an identifier enclosed in quotations\r
+  #! and it represents the literal value of the identifier.\r
+  'identifier' [ <ebnf-terminal> ] action ;\r
+\r
+: 'foreign-name' ( -- parser )\r
+  #! Parse a valid foreign parser name\r
+  [\r
+    {\r
+      [ dup blank?    ]\r
+      [ dup CHAR: > = ]\r
+    } 0|| not nip    \r
+  ] satisfy repeat1 [ >string ] action ;\r
+\r
+: 'foreign' ( -- parser )\r
+  #! A foreign call is a call to a rule in another ebnf grammar\r
+  [\r
+    "<foreign" syntax ,\r
+    'foreign-name' sp ,\r
+    'foreign-name' sp optional ,\r
+    ">" syntax ,\r
+  ] seq* [ first2 <ebnf-foreign> ] action ;\r
+\r
+: 'any-character' ( -- parser )\r
+  #! A parser to match the symbol for any character match.\r
+  [ CHAR: . = ] satisfy [ drop <ebnf-any-character> ] action ;\r
+\r
+: 'range-parser' ( -- parser )\r
+  #! Match the syntax for declaring character ranges\r
+  [\r
+    [ "[" syntax , "[" token ensure-not , ] seq* hide ,\r
+    [ CHAR: ] = not ] satisfy repeat1 , \r
+    "]" syntax ,\r
+  ] seq* [ first >string <ebnf-range> ] action ;\r
\r
+: ('element') ( -- parser )\r
+  #! An element of a rule. It can be a terminal or a \r
+  #! non-terminal but must not be followed by a "=". \r
+  #! The latter indicates that it is the beginning of a\r
+  #! new rule.\r
+  [\r
+    [\r
+      [ \r
+        'non-terminal' ,\r
+        'terminal' ,\r
+        'foreign' ,\r
+        'range-parser' ,\r
+        'any-character' ,\r
+      ] choice* \r
+      [ dup , "*" token hide , ] seq* [ first <ebnf-repeat0> ] action ,\r
+      [ dup , "+" token hide , ] seq* [ first <ebnf-repeat1> ] action ,\r
+      [ dup , "?[" token ensure-not , "?" token hide , ] seq* [ first <ebnf-optional> ] action ,\r
+      ,\r
+    ] choice* ,\r
+    [\r
+      "=" syntax ensure-not ,\r
+      "=>" syntax ensure ,\r
+    ] choice* ,\r
+  ] seq* [ first ] action ;\r
+\r
+DEFER: 'action'\r
+\r
+: 'element' ( -- parser )\r
+  [\r
+    [ ('element') , ":" syntax , "a-zA-Z" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
+    ('element') ,\r
+  ] choice* ;\r
+\r
+DEFER: 'choice'\r
+\r
+: grouped ( quot suffix  -- parser )\r
+  #! Parse a group of choices, with a suffix indicating\r
+  #! the type of group (repeat0, repeat1, etc) and\r
+  #! an quot that is the action that produces the AST.\r
+  2dup\r
+  [\r
+    "(" [ 'choice' sp ] delay ")" syntax-pack \r
+    swap 2seq  \r
+    [ first ] rot compose action ,\r
+    "{" [ 'choice' sp ] delay "}" syntax-pack \r
+    swap 2seq  \r
+    [ first <ebnf-whitespace> ] rot compose action ,\r
+  ] choice* ;\r
+  \r
+: 'group' ( -- parser )\r
+  #! A grouping with no suffix. Used for precedence.\r
+  [ ] [\r
+    "*" token sp ensure-not ,\r
+    "+" token sp ensure-not ,\r
+    "?" token sp ensure-not ,\r
+  ] seq* hide grouped ; \r
+\r
+: 'repeat0' ( -- parser )\r
+  [ <ebnf-repeat0> ] "*" syntax grouped ;\r
+\r
+: 'repeat1' ( -- parser )\r
+  [ <ebnf-repeat1> ] "+" syntax grouped ;\r
+\r
+: 'optional' ( -- parser )\r
+  [ <ebnf-optional> ] "?" syntax grouped ;\r
+\r
+: 'factor-code' ( -- parser )\r
+  [\r
+    "]]" token ensure-not ,\r
+    "]?" token ensure-not ,\r
+    [ drop t ] satisfy ,\r
+  ] seq* [ first ] action repeat0 [ >string ] action ;\r
+\r
+: 'ensure-not' ( -- parser )\r
+  #! Parses the '!' syntax to ensure that \r
+  #! something that matches the following elements do\r
+  #! not exist in the parse stream.\r
+  [\r
+    "!" syntax ,\r
+    'group' sp ,\r
+  ] seq* [ first <ebnf-ensure-not> ] action ;\r
+\r
+: 'ensure' ( -- parser )\r
+  #! Parses the '&' syntax to ensure that \r
+  #! something that matches the following elements does\r
+  #! exist in the parse stream.\r
+  [\r
+    "&" syntax ,\r
+    'group' sp ,\r
+  ] seq* [ first <ebnf-ensure> ] action ;\r
+\r
+: ('sequence') ( -- parser )\r
+  #! A sequence of terminals and non-terminals, including\r
+  #! groupings of those. \r
+  [\r
+    [ \r
+      'ensure-not' sp ,\r
+      'ensure' sp ,\r
+      'element' sp ,\r
+      'group' sp , \r
+      'repeat0' sp ,\r
+      'repeat1' sp ,\r
+      'optional' sp , \r
+    ] choice* \r
+    [ dup  , ":" syntax , "a-zA-Z" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
+    ,\r
+  ] choice* ;\r
+\r
+: 'action' ( -- parser )\r
+   "[[" 'factor-code' "]]" syntax-pack ;\r
+\r
+: 'semantic' ( -- parser )\r
+   "?[" 'factor-code' "]?" syntax-pack ;\r
+\r
+: 'sequence' ( -- parser )\r
+  #! A sequence of terminals and non-terminals, including\r
+  #! groupings of those. \r
+  [\r
+    [ ('sequence') , 'action' , ] seq* [ first2 <ebnf-action> ] action ,\r
+    [ ('sequence') , 'semantic' , ] seq* [ first2 <ebnf-semantic> ] action ,\r
+    ('sequence') ,\r
+  ] choice* repeat1 [ \r
+     dup length 1 = [ first ] [ <ebnf-sequence> ] if\r
+  ] action ;\r
+\r
+: 'actioned-sequence' ( -- parser )\r
+  [\r
+    [ 'sequence' , "=>" syntax , 'action' , ] seq* [ first2 <ebnf-action> ] action ,\r
+    'sequence' ,\r
+  ] choice* ;\r
+  \r
+: 'choice' ( -- parser )\r
+  'actioned-sequence' sp repeat1 [ dup length 1 = [ first ] [ <ebnf-sequence> ] if  ] action "|" token sp list-of [ \r
+    dup length 1 = [ first ] [ <ebnf-choice> ] if\r
+  ] action ;\r
\r
+: 'tokenizer' ( -- parser )\r
+  [\r
+    "tokenizer" syntax ,\r
+    "=" syntax ,\r
+    ">" token ensure-not ,\r
+    [ "default" token sp , 'choice' , ] choice* ,\r
+  ] seq* [ first <ebnf-tokenizer> ] action ;\r
+\r
+: 'rule' ( -- parser )\r
+  [\r
+    "tokenizer" token ensure-not , \r
+    'non-terminal' [ symbol>> ] action  ,\r
+    "=" syntax  ,\r
+    ">" token ensure-not ,\r
+    'choice' ,\r
+  ] seq* [ first2 <ebnf-rule> ] action ;\r
+\r
+: 'ebnf' ( -- parser )\r
+  [ 'tokenizer' sp , 'rule' sp , ] choice* repeat1 [ <ebnf> ] action ;\r
+\r
+GENERIC: (transform) ( ast -- parser )\r
+\r
+SYMBOL: parser\r
+SYMBOL: main\r
+SYMBOL: ignore-ws\r
+\r
+: transform ( ast -- object )\r
+  H{ } clone dup dup [ \r
+    f ignore-ws set \r
+    parser set \r
+    swap (transform) \r
+    main set \r
+  ] bind ;\r
+\r
+M: ebnf (transform) ( ast -- parser )\r
+  rules>> [ (transform) ] map peek ;\r
+\r
+M: ebnf-tokenizer (transform) ( ast -- parser )\r
+  elements>> dup "default" = [\r
+    drop default-tokenizer \ tokenizer set-global any-char\r
+  ] [\r
+  (transform) \r
+  dup parser-tokenizer \ tokenizer set-global\r
+  ] if ;\r
+  \r
+M: ebnf-rule (transform) ( ast -- parser )\r
+  dup elements>> \r
+  (transform) [\r
+    swap symbol>> dup get parser? [ \r
+      "Rule '" over append "' defined more than once" append throw \r
+    ] [ \r
+      set \r
+    ] if\r
+  ] keep ;\r
+\r
+M: ebnf-sequence (transform) ( ast -- parser )\r
+  #! If ignore-ws is set then each element of the sequence\r
+  #! ignores leading whitespace. This is not inherited by\r
+  #! subelements of the sequence.\r
+  elements>> [ \r
+    f ignore-ws [ (transform) ] with-variable\r
+    ignore-ws get [ sp ] when\r
+  ] map seq [ dup length 1 = [ first ] when ] action ;\r
+\r
+M: ebnf-choice (transform) ( ast -- parser )\r
+  options>> [ (transform) ] map choice ;\r
+\r
+M: ebnf-any-character (transform) ( ast -- parser )\r
+  drop tokenizer any>> call ;\r
+\r
+M: ebnf-range (transform) ( ast -- parser )\r
+  pattern>> range-pattern ;\r
+\r
+: transform-group ( ast -- parser ) \r
+  #! convert a ast node with groups to a parser for that group\r
+  group>> (transform) ;\r
+\r
+M: ebnf-ensure (transform) ( ast -- parser )\r
+  transform-group ensure ;\r
+\r
+M: ebnf-ensure-not (transform) ( ast -- parser )\r
+  transform-group ensure-not ;\r
+\r
+M: ebnf-repeat0 (transform) ( ast -- parser )\r
+  transform-group repeat0 ;\r
+\r
+M: ebnf-repeat1 (transform) ( ast -- parser )\r
+  transform-group repeat1 ;\r
+\r
+M: ebnf-optional (transform) ( ast -- parser )\r
+  transform-group optional ;\r
+\r
+M: ebnf-whitespace (transform) ( ast -- parser )\r
+  t ignore-ws [ transform-group ] with-variable ;\r
+\r
+GENERIC: build-locals ( code ast -- code )\r
+\r
+M: ebnf-sequence build-locals ( code ast -- code )\r
+  #! Note the need to filter out this ebnf items that\r
+  #! leave nothing in the AST\r
+  elements>> filter-hidden dup length 1 = [ \r
+    first build-locals \r
+  ]  [\r
+    dup [ ebnf-var? ] filter empty? [\r
+      drop \r
+    ] [ \r
+      [\r
+        "USING: locals sequences ;  [let* | " %\r
+          dup length swap [\r
+            dup ebnf-var? [\r
+              name>> % \r
+              " [ " % # " over nth ] " %\r
+            ] [\r
+              2drop\r
+            ] if\r
+          ] 2each\r
+          " | " %\r
+          %  \r
+          " nip ]" %     \r
+      ] "" make \r
+    ] if\r
+  ] if ;\r
+\r
+M: ebnf-var build-locals ( code ast -- )\r
+  [\r
+    "USING: locals kernel ;  [let* | " %\r
+    name>> % " [ dup ] " %\r
+    " | " %\r
+    %  \r
+    " nip ]" %     \r
+  ] "" make ;\r
+\r
+M: object build-locals ( code ast -- )\r
+  drop ;\r
+   \r
+: check-action-effect ( quot -- quot )\r
+  dup infer {\r
+    { [ dup (( a -- b )) effect<= ] [ drop ] }\r
+    { [ dup (( -- b )) effect<= ] [ drop [ drop ] prepose ] }\r
+    [\r
+      [ \r
+        "Bad effect: " write effect>string write \r
+        " for quotation " write pprint\r
+      ] with-string-writer throw\r
+    ]\r
+  } cond ;\r
\r
+M: ebnf-action (transform) ( ast -- parser )\r
+  [ parser>> (transform) ] [ code>> insert-escapes ] [ parser>> ] tri build-locals  \r
+  string-lines parse-lines check-action-effect action ;\r
+\r
+M: ebnf-semantic (transform) ( ast -- parser )\r
+  [ parser>> (transform) ] [ code>> insert-escapes ] [ parser>> ] tri build-locals \r
+  string-lines parse-lines semantic ;\r
+\r
+M: ebnf-var (transform) ( ast -- parser )\r
+  parser>> (transform) ;\r
+\r
+M: ebnf-terminal (transform) ( ast -- parser )\r
+  symbol>> tokenizer one>> call ;\r
+\r
+M: ebnf-foreign (transform) ( ast -- parser )\r
+  dup word>> search\r
+  [ "Foreign word '" swap word>> append "' not found" append throw ] unless*\r
+  swap rule>> [ main ] unless* dupd swap rule [\r
+    nip\r
+  ] [\r
+    execute\r
+  ] if* ;\r
+\r
+: parser-not-found ( name -- * )\r
+  [\r
+    "Parser '" % % "' not found." %\r
+  ] "" make throw ;\r
+\r
+M: ebnf-non-terminal (transform) ( ast -- parser )\r
+  symbol>>  [\r
+    , \ dup , parser get , \ at , [ parser-not-found ] , \ unless* , \ nip ,    \r
+  ] [ ] make box ;\r
+\r
+: transform-ebnf ( string -- object )\r
+  'ebnf' parse transform ;\r
+\r
+: check-parse-result ( result -- result )\r
+  dup [\r
+    dup remaining>> [ blank? ] trim empty? [\r
+      [ \r
+        "Unable to fully parse EBNF. Left to parse was: " %\r
+        remaining>> % \r
+      ] "" make throw\r
+    ] unless\r
+  ] [\r
+    "Could not parse EBNF" throw\r
+  ] if ;\r
+\r
+: parse-ebnf ( string -- hashtable )\r
+  'ebnf' (parse) check-parse-result ast>> transform ;\r
+\r
+: ebnf>quot ( string -- hashtable quot )\r
+  parse-ebnf dup dup parser [ main swap at compile ] with-variable\r
+  [ compiled-parse ] curry [ with-scope ast>> ] curry ;\r
+\r
+: <EBNF "EBNF>" reset-tokenizer parse-multiline-string parse-ebnf main swap at  \r
+  parsed reset-tokenizer ; parsing\r
+\r
+: [EBNF "EBNF]" reset-tokenizer parse-multiline-string ebnf>quot nip \r
+  parsed \ call parsed reset-tokenizer ; parsing\r
+\r
+: EBNF: \r
+  reset-tokenizer CREATE-WORD dup ";EBNF" parse-multiline-string  \r
+  ebnf>quot swapd 1 1 <effect> define-declared "ebnf-parser" set-word-prop \r
+  reset-tokenizer ; parsing\r
+\r
+\r
+\r
diff --git a/basis/peg/ebnf/summary.txt b/basis/peg/ebnf/summary.txt
new file mode 100644 (file)
index 0000000..473cf4f
--- /dev/null
@@ -0,0 +1 @@
+Grammar for parsing EBNF
diff --git a/basis/peg/ebnf/tags.txt b/basis/peg/ebnf/tags.txt
new file mode 100644 (file)
index 0000000..9da5688
--- /dev/null
@@ -0,0 +1 @@
+parsing
diff --git a/basis/peg/peg.factor b/basis/peg/peg.factor
new file mode 100755 (executable)
index 0000000..0cf0382
--- /dev/null
@@ -0,0 +1,652 @@
+! Copyright (C) 2007, 2008 Chris Double.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel sequences strings fry namespaces math assocs shuffle debugger io
+       vectors arrays math.parser math.order vectors combinators
+       classes sets unicode.categories compiler.units parser
+       words quotations effects memoize accessors locals effects splitting 
+       combinators.short-circuit combinators.short-circuit.smart
+       generalizations ;
+IN: peg
+
+USE: prettyprint
+
+TUPLE: parse-result remaining ast ;
+TUPLE: parse-error position messages ; 
+TUPLE: parser peg compiled id ;
+
+M: parser equal?    { [ [ class ] bi@ = ] [ [ id>> ] bi@ = ] } 2&& ;
+M: parser hashcode* id>> hashcode* ;
+
+C: <parse-result> parse-result
+C: <parse-error>  parse-error
+
+M: parse-error error.
+  "Peg parsing error at character position " write dup position>> number>string write 
+  "." print "Expected " write messages>> [ " or " write ] [ write ] interleave nl ;
+
+SYMBOL: error-stack
+
+: (merge-errors) ( a b -- c )
+  {
+    { [ over position>> not ] [ nip ] } 
+    { [ dup  position>> not ] [ drop ] } 
+    [ 2dup [ position>> ] bi@ <=> {
+        { +lt+ [ nip ] }
+        { +gt+ [ drop ] }
+        { +eq+ [ messages>> over messages>> union [ position>> ] dip <parse-error> ] }
+      } case 
+    ]
+  } cond ;
+
+: merge-errors ( -- )
+  error-stack get dup length 1 >  [
+    dup pop over pop swap (merge-errors) swap push
+  ] [
+    drop
+  ] if ;
+
+: add-error ( remaining message -- )
+  <parse-error> error-stack get push ;
+  
+SYMBOL: ignore 
+
+: packrat ( id -- cache )
+  #! The packrat cache is a mapping of parser-id->cache.
+  #! For each parser it maps to a cache holding a mapping
+  #! of position->result. The packrat cache therefore keeps
+  #! track of all parses that have occurred at each position
+  #! of the input string and the results obtained from that
+  #! parser.
+  \ packrat get [ drop H{ } clone ] cache ;
+
+SYMBOL: pos
+SYMBOL: input
+SYMBOL: fail
+SYMBOL: lrstack
+
+: heads ( -- cache )
+  #! A mapping from position->peg-head.        It maps a
+  #! position in the input string being parsed to 
+  #! the head of the left recursion which is currently
+  #! being grown. It is 'f' at any position where
+  #! left recursion growth is not underway.
+  \ heads get ;
+
+: failed? ( obj -- ? )
+  fail = ;
+
+: peg-cache ( -- cache )
+  #! Holds a hashtable mapping a peg tuple to
+  #! the parser tuple for that peg. The parser tuple
+  #! holds a unique id and the compiled form of that peg.
+  \ peg-cache get-global [
+    H{ } clone dup \ peg-cache set-global
+  ] unless* ;
+
+: reset-pegs ( -- )
+  H{ } clone \ peg-cache set-global ;
+
+reset-pegs 
+
+#! An entry in the table of memoized parse results
+#! ast = an AST produced from the parse
+#!       or the symbol 'fail'
+#!       or a left-recursion object
+#! pos = the position in the input string of this entry
+TUPLE: memo-entry ans pos ;
+
+TUPLE: left-recursion seed rule-id head next ; 
+TUPLE: peg-head rule-id involved-set eval-set ;
+
+: rule-id ( word -- id ) 
+  #! A rule is the parser compiled down to a word. It has
+  #! a "peg-id" property containing the id of the original parser.
+  "peg-id" word-prop ;
+
+: input-slice ( -- slice )
+  #! Return a slice of the input from the current parse position
+  input get pos get tail-slice ;
+
+: input-from ( input -- n )
+  #! Return the index from the original string that the
+  #! input slice is based on.
+  dup slice? [ from>> ] [ drop 0 ] if ;
+
+: process-rule-result ( p result -- result )
+  [
+    nip [ ast>> ] [ remaining>> ] bi input-from pos set    
+  ] [ 
+    pos set fail
+  ] if* ; 
+
+: eval-rule ( rule -- ast )
+  #! Evaluate a rule, return an ast resulting from it.
+  #! Return fail if the rule failed. The rule has
+  #! stack effect ( -- parse-result )
+  pos get swap execute process-rule-result ; inline
+
+: memo ( pos id -- memo-entry )
+  #! Return the result from the memo cache. 
+  packrat at 
+!  "  memo result " write dup . 
+  ;
+
+: set-memo ( memo-entry pos id -- )
+  #! Store an entry in the cache
+  packrat set-at ;
+
+: update-m ( ast m -- )
+  swap >>ans pos get >>pos drop ;
+
+: stop-growth? ( ast m -- ? )
+  [ failed? pos get ] dip 
+  pos>> <= or ;
+
+: setup-growth ( h p -- )
+  pos set dup involved-set>> clone >>eval-set drop ;
+
+: (grow-lr) ( h p r: ( -- result ) m -- )
+  >r >r [ setup-growth ] 2keep r> r>
+  >r dup eval-rule r> swap
+  dup pick stop-growth? [
+    5 ndrop
+  ] [
+    over update-m
+    (grow-lr)
+  ] if ; inline recursive
+: grow-lr ( h p r m -- ast )
+  >r >r [ heads set-at ] 2keep r> r>
+  pick over >r >r (grow-lr) r> r>
+  swap heads delete-at
+  dup pos>> pos set ans>>
+  ; inline
+
+:: (setup-lr) ( r l s -- )
+  s head>> l head>> eq? [
+    l head>> s (>>head)
+    l head>> [ s rule-id>> suffix ] change-involved-set drop
+    r l s next>> (setup-lr)
+  ] unless ;
+
+:: setup-lr ( r l -- )
+  l head>> [
+    r rule-id V{ } clone V{ } clone peg-head boa l (>>head)
+  ] unless
+  r l lrstack get (setup-lr) ;
+
+:: lr-answer ( r p m -- ast )
+  [let* |
+          h [ m ans>> head>> ]
+        |
+    h rule-id>> r rule-id eq? [
+      m ans>> seed>> m (>>ans)
+      m ans>> failed? [
+        fail
+      ] [
+        h p r m grow-lr
+      ] if
+    ] [
+      m ans>> seed>>
+    ] if
+  ] ; inline
+
+:: recall ( r p -- memo-entry )
+  [let* |
+          m [ p r rule-id memo ]
+          h [ p heads at ]
+        |
+    h [
+      m r rule-id h involved-set>> h rule-id>> suffix member? not and [
+        fail p memo-entry boa
+      ] [
+        r rule-id h eval-set>> member? [
+          h [ r rule-id swap remove ] change-eval-set drop
+          r eval-rule
+          m update-m
+          m
+        ] [ 
+          m
+        ] if
+      ] if
+    ] [
+      m
+    ] if
+  ] ; inline
+
+:: apply-non-memo-rule ( r p -- ast )
+  [let* |
+          lr  [ fail r rule-id f lrstack get left-recursion boa ]
+          m   [ lr lrstack set lr p memo-entry boa dup p r rule-id set-memo ]
+          ans [ r eval-rule ]
+        |
+    lrstack get next>> lrstack set
+    pos get m (>>pos)
+    lr head>> [
+      ans lr (>>seed)
+      r p m lr-answer
+    ] [
+      ans m (>>ans)
+      ans
+    ] if
+  ] ; inline
+
+: apply-memo-rule ( r m -- ast )
+  [ ans>> ] [ pos>> ] bi pos set
+  dup left-recursion? [ 
+    [ setup-lr ] keep seed>>
+  ] [
+    nip
+  ] if ; 
+
+USE: prettyprint
+
+: apply-rule ( r p -- ast )
+!   2dup [ rule-id ] dip 2array "apply-rule: " write .
+   2dup recall [
+!     "  memoed" print
+     nip apply-memo-rule
+   ] [
+!     "  not memoed" print
+     apply-non-memo-rule
+   ] if* ; inline
+
+: with-packrat ( input quot -- result )
+  #! Run the quotation with a packrat cache active.
+  swap [ 
+    input set
+    0 pos set
+    f lrstack set
+    V{ } clone error-stack set
+    H{ } clone \ heads set
+    H{ } clone \ packrat set
+  ] H{ } make-assoc swap bind ; inline
+
+
+GENERIC: (compile) ( peg -- quot )
+
+: process-parser-result ( result -- result )
+  dup failed? [ 
+    drop f 
+  ] [
+    input-slice swap <parse-result>
+  ] if ;
+    
+: execute-parser ( word -- result )
+  pos get apply-rule process-parser-result ; inline
+
+: parser-body ( parser -- quot )
+  #! Return the body of the word that is the compiled version
+  #! of the parser.
+  gensym 2dup swap peg>> (compile) 0 1 <effect> define-declared swap dupd id>> "peg-id" set-word-prop
+  [ execute-parser ] curry ;
+
+: preset-parser-word ( parser -- parser word )
+  gensym [ >>compiled ] keep ;
+
+: define-parser-word ( parser word -- )
+  swap parser-body (( -- result )) define-declared ;
+
+: compile-parser ( parser -- word )
+  #! Look to see if the given parser has been compiled.
+  #! If not, compile it to a temporary word, cache it,
+  #! and return it. Otherwise return the existing one.
+  #! Circular parsers are supported by getting the word
+  #! name and storing it in the cache, before compiling, 
+  #! so it is picked up when re-entered.
+  dup compiled>> [
+    nip
+  ] [
+    preset-parser-word [ define-parser-word ] keep
+  ] if* ;
+
+SYMBOL: delayed
+
+: fixup-delayed ( -- )
+  #! Work through all delayed parsers and recompile their
+  #! words to have the correct bodies.
+  delayed get [
+    call compile-parser 1quotation 0 1 <effect> define-declared
+  ] assoc-each ;
+
+: compile ( parser -- word )
+  [
+    H{ } clone delayed [ 
+      compile-parser fixup-delayed 
+    ] with-variable
+  ] with-compilation-unit ;
+
+: compiled-parse ( state word -- result )
+  swap [ execute [ error-stack get first throw ] unless* ] with-packrat ; inline 
+
+: (parse) ( input parser -- result )
+  dup word? [ compile ] unless compiled-parse ;
+
+: parse ( input parser -- ast )
+  (parse) ast>> ;
+
+<PRIVATE
+
+SYMBOL: id 
+
+: next-id ( -- n )
+  #! Return the next unique id for a parser
+  id get-global [
+    dup 1+ id set-global
+  ] [
+    1 id set-global 0
+  ] if* ;
+
+: wrap-peg ( peg -- parser )
+  #! Wrap a parser tuple around the peg object.
+  #! Look for an existing parser tuple for that
+  #! peg object.
+  peg-cache [
+    f next-id parser boa 
+  ] cache ;
+
+TUPLE: token-parser symbol ;
+
+: parse-token ( input string -- result )
+  #! Parse the string, returning a parse result
+  [ ?head-slice ] keep swap [
+    <parse-result> f f add-error
+  ] [
+    >r drop pos get "token '" r> append "'" append 1vector add-error f
+  ] if ;
+
+M: token-parser (compile) ( peg -- quot )
+  symbol>> '[ input-slice , parse-token ] ;
+   
+TUPLE: satisfy-parser quot ;
+
+: parse-satisfy ( input quot -- result )
+  swap dup empty? [
+    2drop f 
+  ] [
+    unclip-slice rot dupd call [
+      <parse-result>
+    ] [  
+      2drop f
+    ] if
+  ] if ; inline
+
+
+M: satisfy-parser (compile) ( peg -- quot )
+  quot>> '[ input-slice , parse-satisfy ] ;
+
+TUPLE: range-parser min max ;
+
+: parse-range ( input min max -- result )
+  pick empty? [ 
+    3drop f 
+  ] [
+    pick first -rot between? [
+      unclip-slice <parse-result>
+    ] [ 
+      drop f
+    ] if
+  ] if ;
+
+M: range-parser (compile) ( peg -- quot )
+  [ min>> ] [ max>> ] bi '[ input-slice , , parse-range ] ;
+
+TUPLE: seq-parser parsers ;
+
+: ignore? ( ast -- bool )
+  ignore = ;
+
+: calc-seq-result ( prev-result current-result -- next-result )
+  [
+    [ remaining>> swap (>>remaining) ] 2keep
+    ast>> dup ignore? [  
+      drop
+    ] [
+      swap [ ast>> push ] keep
+    ] if
+  ] [
+    drop f
+  ] if* ;
+
+: parse-seq-element ( result quot -- result )
+  over [
+    call calc-seq-result
+  ] [
+    2drop f
+  ] if ; inline
+
+M: seq-parser (compile) ( peg -- quot )
+  [
+    [ input-slice V{ } clone <parse-result> ] %
+    [
+      parsers>> unclip compile-parser 1quotation [ parse-seq-element ] curry ,
+      [ compile-parser 1quotation [ merge-errors ] compose [ parse-seq-element ] curry , ] each 
+    ] { } make , \ && , 
+  ] [ ] make ;
+
+TUPLE: choice-parser parsers ;
+
+M: choice-parser (compile) ( peg -- quot )
+  [ 
+    [
+      parsers>> [ compile-parser ] map 
+      unclip 1quotation , [ 1quotation [ merge-errors ] compose , ] each
+    ] { } make , \ || ,
+  ] [ ] make ;
+
+TUPLE: repeat0-parser p1 ;
+
+: (repeat) ( quot: ( -- result ) result -- result )
+  over call [
+    [ remaining>> swap (>>remaining) ] 2keep 
+    ast>> swap [ ast>> push ] keep
+    (repeat) 
+  ] [
+    nip
+  ] if* ; inline recursive
+
+M: repeat0-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ 
+    input-slice V{ } clone <parse-result> , swap (repeat) 
+  ] ; 
+
+TUPLE: repeat1-parser p1 ;
+
+: repeat1-empty-check ( result -- result )
+  [
+    dup ast>> empty? [ drop f ] when
+  ] [
+    f
+  ] if* ;
+
+M: repeat1-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ 
+    input-slice V{ } clone <parse-result> , swap (repeat) repeat1-empty-check  
+  ] ; 
+
+TUPLE: optional-parser p1 ;
+
+: check-optional ( result -- result )
+  [ input-slice f <parse-result> ] unless* ;
+
+M: optional-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ @ check-optional ] ;
+
+TUPLE: semantic-parser p1 quot ;
+
+: check-semantic ( result quot -- result )
+  over [
+    over ast>> swap call [ drop f ] unless
+  ] [
+    drop
+  ] if ; inline
+
+M: semantic-parser (compile) ( peg -- quot )
+  [ p1>> compile-parser 1quotation ] [ quot>> ] bi  
+  '[ @ , check-semantic ] ;
+
+TUPLE: ensure-parser p1 ;
+
+: check-ensure ( old-input result -- result )
+  [ ignore <parse-result> ] [ drop f ] if ;
+
+M: ensure-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ input-slice @ check-ensure ] ;
+
+TUPLE: ensure-not-parser p1 ;
+
+: check-ensure-not ( old-input result -- result )
+  [ drop f ] [ ignore <parse-result> ] if ;
+
+M: ensure-not-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ input-slice @ check-ensure-not ] ;
+
+TUPLE: action-parser p1 quot ;
+
+: check-action ( result quot -- result )
+  over [
+    over ast>> swap call >>ast
+  ] [
+    drop
+  ] if ; inline
+
+M: action-parser (compile) ( peg -- quot )
+  [ p1>> compile-parser 1quotation ] [ quot>> ] bi '[ @ , check-action ] ;
+
+: left-trim-slice ( string -- string )
+  #! Return a new string without any leading whitespace
+  #! from the original string.
+  dup empty? [
+    dup first blank? [ rest-slice left-trim-slice ] when
+  ] unless ;
+
+TUPLE: sp-parser p1 ;
+
+M: sp-parser (compile) ( peg -- quot )
+  p1>> compile-parser 1quotation '[ 
+    input-slice left-trim-slice input-from pos set @ 
+  ] ;
+
+TUPLE: delay-parser quot ;
+
+M: delay-parser (compile) ( peg -- quot )
+  #! For efficiency we memoize the quotation.
+  #! This way it is run only once and the 
+  #! parser constructed once at run time.
+  quot>> gensym [ delayed get set-at ] keep 1quotation ; 
+
+TUPLE: box-parser quot ;
+
+M: box-parser (compile) ( peg -- quot )
+  #! Calls the quotation at compile time
+  #! to produce the parser to be compiled.
+  #! This differs from 'delay' which calls
+  #! it at run time.
+  quot>> call compile-parser 1quotation ;
+
+PRIVATE>
+
+: token ( string -- parser )
+  token-parser boa wrap-peg ;      
+
+: satisfy ( quot -- parser )
+  satisfy-parser boa wrap-peg ;
+
+: range ( min max -- parser )
+  range-parser boa wrap-peg ;
+
+: seq ( seq -- parser )
+  seq-parser boa wrap-peg ;
+
+: 2seq ( parser1 parser2 -- parser )
+  2array seq ;
+
+: 3seq ( parser1 parser2 parser3 -- parser )
+  3array seq ;
+
+: 4seq ( parser1 parser2 parser3 parser4 -- parser )
+  4array seq ;
+
+: seq* ( quot -- paser )
+  { } make seq ; inline 
+
+: choice ( seq -- parser )
+  choice-parser boa wrap-peg ;
+
+: 2choice ( parser1 parser2 -- parser )
+  2array choice ;
+
+: 3choice ( parser1 parser2 parser3 -- parser )
+  3array choice ;
+
+: 4choice ( parser1 parser2 parser3 parser4 -- parser )
+  4array choice ;
+
+: choice* ( quot -- paser )
+  { } make choice ; inline 
+
+: repeat0 ( parser -- parser )
+  repeat0-parser boa wrap-peg ;
+
+: repeat1 ( parser -- parser )
+  repeat1-parser boa wrap-peg ;
+
+: optional ( parser -- parser )
+  optional-parser boa wrap-peg ;
+
+: semantic ( parser quot -- parser )
+  semantic-parser boa wrap-peg ;
+
+: ensure ( parser -- parser )
+  ensure-parser boa wrap-peg ;
+
+: ensure-not ( parser -- parser )
+  ensure-not-parser boa wrap-peg ;
+
+: action ( parser quot -- parser )
+  action-parser boa wrap-peg ;
+
+: sp ( parser -- parser )
+  sp-parser boa wrap-peg ;
+
+: hide ( parser -- parser )
+  [ drop ignore ] action ;
+
+: delay ( quot -- parser )
+  delay-parser boa wrap-peg ;
+
+: box ( quot -- parser )
+  #! because a box has its quotation run at compile time
+  #! it must always have a new parser wrapper created, 
+  #! not a cached one. This is because the same box,
+  #! compiled twice can have a different compiled word
+  #! due to running at compile time.
+  #! Why the [ ] action at the end? Box parsers don't get
+  #! memoized during parsing due to all box parsers being
+  #! unique. This breaks left recursion detection during the
+  #! parse. The action adds an indirection with a parser type
+  #! that gets memoized and fixes this. Need to rethink how
+  #! to fix boxes so this isn't needed...
+  box-parser boa f next-id parser boa [ ] action ;
+
+ERROR: parse-failed input word ;
+
+M: parse-failed error.
+  "The " write dup word>> pprint " word could not parse the following input:" print nl
+  input>> . ;
+
+: PEG:
+  (:)
+  [let | def [ ] word [ ] |
+    [
+      [
+        [let | compiled-def [ def call compile ] |
+          [
+            dup compiled-def compiled-parse
+            [ ast>> ] [ word parse-failed ] ?if
+          ]
+          word swap define
+        ]
+      ] with-compilation-unit
+    ] over push-all
+  ] ; parsing
diff --git a/basis/syndication/authors.txt b/basis/syndication/authors.txt
new file mode 100755 (executable)
index 0000000..89b32ce
--- /dev/null
@@ -0,0 +1,3 @@
+Daniel Ehrenberg
+Chris Double
+Slava Pestov
diff --git a/basis/syndication/readme.txt b/basis/syndication/readme.txt
new file mode 100644 (file)
index 0000000..2e64b0d
--- /dev/null
@@ -0,0 +1,32 @@
+This library is a simple RSS2 parser and RSS reader web
+application. To run the web application you'll need to make sure you
+have the sqlite library working. This can be tested with
+
+  "contrib/sqlite" require
+  "contrib/sqlite" test-module
+
+Remember that to use "sqlite" you need to have done the following
+somewhere:
+
+  USE: alien
+  "sqlite" "/usr/lib/libsqlite3.so" "cdecl" add-library
+
+Replacing "libsqlite3.so" with the path to the sqlite shared library
+or DLL. I put this in my ~/.factor-rc.
+
+The RSS reader web application creates a database file called
+'rss-reader.db' in the same directory as the Factor executable when
+first started. This database contains all the feed information.
+
+To load the web application use:
+
+  "contrib/rss" require
+
+Fire up the web server and navigate to the URL:
+
+  http://localhost:8888/responder/maintain-feeds
+
+Add any RSS2 compatible feed. Use 'Update Feeds' to retrieve them and
+update the sqlite database with the feed contains. Use 'Database' to
+view the entries from the database for that feed.
+
diff --git a/basis/syndication/summary.txt b/basis/syndication/summary.txt
new file mode 100755 (executable)
index 0000000..b65787a
--- /dev/null
@@ -0,0 +1 @@
+RSS 1.0, 2.0 and Atom feed parser
diff --git a/basis/syndication/syndication-tests.factor b/basis/syndication/syndication-tests.factor
new file mode 100755 (executable)
index 0000000..73541e7
--- /dev/null
@@ -0,0 +1,45 @@
+USING: syndication io kernel io.files tools.test io.encodings.utf8
+calendar urls ;
+IN: syndication.tests
+
+\ download-feed must-infer
+\ feed>xml must-infer
+
+: load-news-file ( filename -- feed )
+    #! Load an news syndication file and process it, returning
+    #! it as an feed tuple.
+    utf8 file-contents read-feed ;
+
+[ T{
+    feed
+    f
+    "Meerkat"
+    URL" http://meerkat.oreillynet.com"
+    {
+        T{
+            entry
+            f
+            "XML: A Disruptive Technology"
+            URL" http://c.moreover.com/click/here.pl?r123"
+            "\n      XML is placing increasingly heavy loads on the existing technical\n      infrastructure of the Internet.\n    "
+            f
+        }
+    }
+} ] [ "resource:extra/syndication/test/rss1.xml" load-news-file ] unit-test
+[ T{
+    feed
+    f
+    "dive into mark"
+    URL" http://example.org/"
+    {
+        T{
+            entry
+            f
+            "Atom draft-07 snapshot"
+            URL" http://example.org/2005/04/02/atom"
+            "\n         <div xmlns=\"http://www.w3.org/1999/xhtml\">\n           <p><i>[Update: The Atom draft is finished.]</i></p>\n         </div>\n       "
+
+            T{ timestamp f 2003 12 13 8 29 29 T{ duration f 0 0 0 -4 0 0 } }
+        }
+    }
+} ] [ "resource:extra/syndication/test/atom.xml" load-news-file ] unit-test
diff --git a/basis/syndication/syndication.factor b/basis/syndication/syndication.factor
new file mode 100644 (file)
index 0000000..2fa8abc
--- /dev/null
@@ -0,0 +1,135 @@
+! Copyright (C) 2006 Chris Double, Daniel Ehrenberg.
+! Portions copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: xml.utilities kernel assocs xml.generator math.order
+    strings sequences xml.data xml.writer
+    io.streams.string combinators xml xml.entities io.files io
+    http.client namespaces xml.generator hashtables
+    calendar.format accessors continuations urls present ;
+IN: syndication
+
+: any-tag-named ( tag names -- tag-inside )
+    f -rot [ tag-named nip dup ] with find 2drop ;
+
+TUPLE: feed title url entries ;
+
+: <feed> ( -- feed ) feed new ;
+
+TUPLE: entry title url description date ;
+
+: set-entries ( feed entries -- feed )
+    [ dup url>> ] dip
+    [ [ derive-url ] change-url ] with map
+    >>entries ;
+
+: <entry> ( -- entry ) entry new ;
+
+: try-parsing-timestamp ( string -- timestamp )
+    [ rfc822>timestamp ] [ drop rfc3339>timestamp ] recover ;
+
+: rss1.0-entry ( tag -- entry )
+    entry new
+    swap {
+        [ "title" tag-named children>string >>title ]
+        [ "link" tag-named children>string >url >>url ]
+        [ "description" tag-named children>string >>description ]
+        [
+            f "date" "http://purl.org/dc/elements/1.1/" <name>
+            tag-named dup [ children>string try-parsing-timestamp ] when
+            >>date
+        ]
+    } cleave ;
+
+: rss1.0 ( xml -- feed )
+    feed new
+    swap [
+        "channel" tag-named
+        [ "title" tag-named children>string >>title ]
+        [ "link" tag-named children>string >url >>url ] bi
+    ] [ "item" tags-named [ rss1.0-entry ] map set-entries ] bi ;
+
+: rss2.0-entry ( tag -- entry )
+    entry new
+    swap {
+        [ "title" tag-named children>string >>title ]
+        [ { "link" "guid" } any-tag-named children>string >url >>url ]
+        [ { "description" "encoded" } any-tag-named children>string >>description ]
+        [
+            { "date" "pubDate" } any-tag-named
+            children>string try-parsing-timestamp >>date
+        ]
+    } cleave ;
+
+: rss2.0 ( xml -- feed )
+    feed new
+    swap
+    "channel" tag-named 
+    [ "title" tag-named children>string >>title ]
+    [ "link" tag-named children>string >url >>url ]
+    [ "item" tags-named [ rss2.0-entry ] map set-entries ]
+    tri ;
+
+: atom1.0-entry ( tag -- entry )
+    entry new
+    swap {
+        [ "title" tag-named children>string >>title ]
+        [ "link" tag-named "href" swap at >url >>url ]
+        [
+            { "content" "summary" } any-tag-named
+            dup children>> [ string? not ] contains?
+            [ children>> [ write-chunk ] with-string-writer ]
+            [ children>string ] if >>description
+        ]
+        [
+            { "published" "updated" "issued" "modified" } 
+            any-tag-named children>string try-parsing-timestamp
+            >>date
+        ]
+    } cleave ;
+
+: atom1.0 ( xml -- feed )
+    feed new
+    swap
+    [ "title" tag-named children>string >>title ]
+    [ "link" tag-named "href" swap at >url >>url ]
+    [ "entry" tags-named [ atom1.0-entry ] map set-entries ]
+    tri ;
+
+: xml>feed ( xml -- feed )
+    dup main>> {
+        { "RDF" [ rss1.0 ] }
+        { "rss" [ rss2.0 ] }
+        { "feed" [ atom1.0 ] }
+    } case ;
+
+: read-feed ( string -- feed )
+    [ string>xml xml>feed ] with-html-entities ;
+
+: download-feed ( url -- feed )
+    #! Retrieve an news syndication file, return as a feed tuple.
+    http-get nip read-feed ;
+
+! Atom generation
+: simple-tag, ( content name -- )
+    [ , ] tag, ;
+
+: simple-tag*, ( content name attrs -- )
+    [ , ] tag*, ;
+
+: entry, ( entry -- )
+    "entry" [
+        {
+            [ title>> "title" { { "type" "html" } } simple-tag*, ]
+            [ url>> present "href" associate "link" swap contained*, ]
+            [ date>> timestamp>rfc3339 "published" simple-tag, ]
+            [ description>> [ "content" { { "type" "html" } } simple-tag*, ] when* ]
+        } cleave
+    ] tag, ;
+
+: feed>xml ( feed -- xml )
+    "feed" { { "xmlns" "http://www.w3.org/2005/Atom" } } [
+        [ title>> "title" simple-tag, ]
+        [ url>> present "href" associate "link" swap contained*, ]
+        [ entries>> [ entry, ] each ]
+        tri
+    ] make-xml* ;
diff --git a/basis/syndication/tags.txt b/basis/syndication/tags.txt
new file mode 100644 (file)
index 0000000..c077218
--- /dev/null
@@ -0,0 +1 @@
+web
diff --git a/basis/syndication/test/atom.xml b/basis/syndication/test/atom.xml
new file mode 100644 (file)
index 0000000..d019566
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+   <feed xmlns="http://www.w3.org/2005/Atom">
+     <title type="text">dive into mark</title>
+     <subtitle type="html">
+       A &lt;em&gt;lot&lt;/em&gt; of effort
+       went into making this effortless
+     </subtitle>
+     <updated>2005-07-31T12:29:29Z</updated>
+     <id>tag:example.org,2003:3</id>
+     <link rel="alternate" type="text/html"
+      hreflang="en" href="http://example.org/"/>
+     <link rel="self" type="application/atom+xml"
+      href="http://example.org/feed.atom"/>
+     <rights>Copyright (c) 2003, Mark Pilgrim</rights>
+     <generator uri="http://www.example.com/" version="1.0">
+       Example Toolkit
+     </generator>
+     <entry>
+       <title>Atom draft-07 snapshot</title>
+       <link rel="alternate" type="text/html"
+        href="http://example.org/2005/04/02/atom"/>
+       <link rel="enclosure" type="audio/mpeg" length="1337"
+        href="http://example.org/audio/ph34r_my_podcast.mp3"/>
+       <id>tag:example.org,2003:3.2397</id>
+       <updated>2005-07-31T12:29:29Z</updated>
+       <published>2003-12-13T08:29:29-04:00</published>
+       <author>
+         <name>Mark Pilgrim</name>
+         <uri>http://example.org/</uri>
+         <email>f8dy@example.com</email>
+       </author>
+       <contributor>
+         <name>Sam Ruby</name>
+       </contributor>
+       <contributor>
+         <name>Joe Gregorio</name>
+       </contributor>
+       <content type="xhtml" xml:lang="en"
+        xml:base="http://diveintomark.org/">
+         <div xmlns="http://www.w3.org/1999/xhtml">
+           <p><i>[Update: The Atom draft is finished.]</i></p>
+         </div>
+       </content>
+     </entry>
+   </feed>
diff --git a/basis/syndication/test/rss1.xml b/basis/syndication/test/rss1.xml
new file mode 100644 (file)
index 0000000..78a253b
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?> 
+
+<rdf:RDF 
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
+  xmlns:co="http://purl.org/rss/1.0/modules/company/"
+  xmlns:ti="http://purl.org/rss/1.0/modules/textinput/"
+  xmlns="http://purl.org/rss/1.0/"
+> 
+
+  <channel rdf:about="http://meerkat.oreillynet.com/?_fl=rss1.0">
+    <title>Meerkat</title>
+    <link>http://meerkat.oreillynet.com</link>
+    <description>Meerkat: An Open Wire Service</description>
+    <dc:publisher>The O'Reilly Network</dc:publisher>
+    <dc:creator>Rael Dornfest (mailto:rael@oreilly.com)</dc:creator>
+    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
+    <dc:date>2000-01-01T12:00+00:00</dc:date>
+    <sy:updatePeriod>hourly</sy:updatePeriod>
+    <sy:updateFrequency>2</sy:updateFrequency>
+    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
+
+    <image rdf:resource="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg" />
+
+    <items>
+      <rdf:Seq>
+        <rdf:li resource="http://c.moreover.com/click/here.pl?r123" />
+      </rdf:Seq>
+    </items>
+
+    <textinput rdf:resource="http://meerkat.oreillynet.com" />
+
+  </channel>
+
+  <image rdf:about="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg">
+    <title>Meerkat Powered!</title>
+    <url>http://meerkat.oreillynet.com/icons/meerkat-powered.jpg</url>
+    <link>http://meerkat.oreillynet.com</link>
+  </image>
+
+  <item rdf:about="http://c.moreover.com/click/here.pl?r123">
+    <title>XML: A Disruptive Technology</title> 
+    <link>http://c.moreover.com/click/here.pl?r123</link>
+    <dc:description>
+      XML is placing increasingly heavy loads on the existing technical
+      infrastructure of the Internet.
+    </dc:description>
+    <dc:publisher>The O'Reilly Network</dc:publisher>
+    <dc:creator>Simon St.Laurent (mailto:simonstl@simonstl.com)</dc:creator>
+    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
+    <dc:subject>XML</dc:subject>
+    <co:name>XML.com</co:name>
+    <co:market>NASDAQ</co:market>
+    <co:symbol>XML</co:symbol>
+  </item> 
+
+  <textinput rdf:about="http://meerkat.oreillynet.com">
+    <title>Search Meerkat</title>
+    <description>Search Meerkat's RSS Database...</description>
+    <name>s</name>
+    <link>http://meerkat.oreillynet.com/</link>
+    <ti:function>search</ti:function>
+    <ti:inputType>regex</ti:inputType>
+  </textinput>
+
+</rdf:RDF>
diff --git a/basis/xmode/README.txt b/basis/xmode/README.txt
new file mode 100755 (executable)
index 0000000..07d56dd
--- /dev/null
@@ -0,0 +1,44 @@
+This is a Factor port of the jEdit 4.3 syntax highlighting engine
+(http://www.jedit.org).
+
+jEdit 1.2, released in late 1998, was the first release to support
+syntax highlighting. It featured a small number of hand-coded
+"token markers" -- simple incremental parers -- all based on the
+original JavaTokenMarker contributed by Tal Davidson.
+
+Around the time of jEdit 1.5 in 1999, Mike Dillon began developing a
+jEdit plugin named "XMode". This plugin implemented a generic,
+rule-driven token marker which read mode descriptions from XML files.
+XMode eventually matured to the point where it could replace the
+formerly hand-coded token markers.
+
+With the release of jEdit 2.4, I merged XMode into the core and
+eliminated the old hand-coded token markers.
+
+XMode suffers from a somewhat archaic design, and was written at a time
+when Java VMs with JIT compilers were relatively uncommon, object
+allocation was expensive, and heap space tight. As a result the parser
+design is less general than it could be.
+
+Furthermore, the parser has a few bugs which some mode files have come
+to depend on:
+
+- If a RULES tag does not define any keywords or rules, then its
+  NO_WORD_SEP attribute is ignored.
+
+  The Factor implementation duplicates this behavior.
+
+- if a RULES tag does not have a NO_WORD_SEP attribute, then
+  it inherits the value of the NO_WORD_SEP attribute from the previous
+  RULES tag.
+
+  The Factor implementation does not duplicate this behavior. If you
+  find a mode file which depends on this flaw, please fix it and submit
+  the changes to the jEdit project.
+
+- References to non-existent rule sets in IMPORT tags and DELEGATE
+  attributes were ignored in jEdit. They raise an error in Factor.
+
+If you wish to contribute a new or improved mode file, please contact
+the jEdit project. Updated mode files in jEdit will be periodically
+imported into the Factor source tree.
diff --git a/basis/xmode/authors.txt b/basis/xmode/authors.txt
new file mode 100644 (file)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/catalog/authors.txt b/basis/xmode/catalog/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/catalog/catalog-tests.factor b/basis/xmode/catalog/catalog-tests.factor
new file mode 100644 (file)
index 0000000..75e377b
--- /dev/null
@@ -0,0 +1,11 @@
+IN: xmode.catalog.tests
+USING: xmode.catalog tools.test hashtables assocs
+kernel sequences io ;
+
+[ t ] [ modes hashtable? ] unit-test
+
+[ ] [
+    modes keys [
+        dup print flush load-mode drop reset-modes
+    ] each
+] unit-test
diff --git a/basis/xmode/catalog/catalog.factor b/basis/xmode/catalog/catalog.factor
new file mode 100755 (executable)
index 0000000..16da4be
--- /dev/null
@@ -0,0 +1,119 @@
+USING: xmode.loader xmode.utilities xmode.rules namespaces
+strings splitting assocs sequences kernel io.files xml memoize
+words globs combinators io.encodings.utf8 sorting accessors ;
+IN: xmode.catalog
+
+TUPLE: mode file file-name-glob first-line-glob ;
+
+<TAGS: parse-mode-tag ( modes tag -- )
+
+TAG: MODE
+    "NAME" over at >r
+    mode new {
+        { "FILE" f (>>file) }
+        { "FILE_NAME_GLOB" f (>>file-name-glob) }
+        { "FIRST_LINE_GLOB" f (>>first-line-glob) }
+    } init-from-tag r>
+    rot set-at ;
+
+TAGS>
+
+: parse-modes-tag ( tag -- modes )
+    H{ } clone [
+        swap child-tags [ parse-mode-tag ] with each
+    ] keep ;
+
+MEMO: modes ( -- modes )
+    "resource:basis/xmode/modes/catalog"
+    file>xml parse-modes-tag ;
+
+MEMO: mode-names ( -- modes )
+    modes keys natural-sort ;
+
+: reset-catalog ( -- )
+    \ modes reset-memoized ;
+
+MEMO: (load-mode) ( name -- rule-sets )
+    modes at [
+        file>>
+        "resource:basis/xmode/modes/" prepend
+        utf8 <file-reader> parse-mode
+    ] [
+        "text" (load-mode)
+    ] if* ;
+
+SYMBOL: rule-sets
+
+: no-such-rule-set ( name -- * )
+    "No such rule set: " prepend throw ;
+
+: get-rule-set ( name -- rule-sets rules )
+    dup "::" split1 [ swap (load-mode) ] [ rule-sets get ] if*
+    dup -roll at* [ nip ] [ drop no-such-rule-set ] if ;
+
+: resolve-delegate ( rule -- )
+    dup delegate>> dup string?
+    [ get-rule-set nip swap (>>delegate) ] [ 2drop ] if ;
+
+: each-rule ( rule-set quot -- )
+    >r rules>> values concat r> each ; inline
+
+: resolve-delegates ( ruleset -- )
+    [ resolve-delegate ] each-rule ;
+
+: ?update ( keyword-map/f keyword-map -- keyword-map )
+    over [ dupd update ] [ nip clone ] if ;
+
+: import-keywords ( parent child -- )
+    over >r [ keywords>> ] bi@ ?update
+    r> (>>keywords) ;
+
+: import-rules ( parent child -- )
+    swap [ add-rule ] curry each-rule ;
+
+: resolve-imports ( ruleset -- )
+    dup imports>> [
+        get-rule-set swap rule-sets [
+            dup resolve-delegates
+            2dup import-keywords
+            import-rules
+        ] with-variable
+    ] with each ;
+
+ERROR: mutually-recursive-rulesets ruleset ;
+: finalize-rule-set ( ruleset -- )
+    dup finalized?>> {
+        { f [
+            {
+                [ 1 >>finalized? drop ]
+                [ resolve-imports ]
+                [ resolve-delegates ]
+                [ t >>finalized? drop ]
+            } cleave
+        ] }
+        { t [ drop ] }
+        { 1 [ mutually-recursive-rulesets ] }
+    } case ;
+
+: finalize-mode ( rulesets -- )
+    rule-sets [
+        dup [ nip finalize-rule-set ] assoc-each
+    ] with-variable ;
+
+: load-mode ( name -- rule-sets )
+    (load-mode) dup finalize-mode ;
+
+: reset-modes ( -- )
+    \ (load-mode) reset-memoized ;
+
+: ?glob-matches ( string glob/f -- ? )
+    dup [ glob-matches? ] [ 2drop f ] if ;
+
+: suitable-mode? ( file-name first-line mode -- ? )
+    tuck first-line-glob>> ?glob-matches
+    [ 2drop t ] [ file-name-glob>> ?glob-matches ] if ;
+
+: find-mode ( file-name first-line -- mode )
+    modes
+    [ nip >r 2dup r> suitable-mode? ] assoc-find
+    2drop >r 2drop r> [ "text" ] unless* ;
diff --git a/basis/xmode/code2html/authors.txt b/basis/xmode/code2html/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/code2html/code2html.factor b/basis/xmode/code2html/code2html.factor
new file mode 100755 (executable)
index 0000000..032b2b2
--- /dev/null
@@ -0,0 +1,48 @@
+USING: xmode.tokens xmode.marker xmode.catalog kernel
+html.elements io io.files sequences words io.encodings.utf8
+namespaces xml.entities accessors ;
+IN: xmode.code2html
+
+: htmlize-tokens ( tokens -- )
+    [
+        [ str>> ] [ id>> ] bi [
+            <span name>> =class span> escape-string write </span>
+        ] [
+            escape-string write
+        ] if*
+    ] each ;
+
+: htmlize-line ( line-context line rules -- line-context' )
+    tokenize-line htmlize-tokens ;
+
+: htmlize-lines ( lines mode -- )
+    f swap load-mode [ htmlize-line nl ] curry reduce drop ;
+
+: default-stylesheet ( -- )
+    <style>
+        "resource:basis/xmode/code2html/stylesheet.css"
+        utf8 file-contents escape-string write
+    </style> ;
+
+: htmlize-stream ( path stream -- )
+    lines swap
+    <html>
+        <head>
+            default-stylesheet
+            <title> dup escape-string write </title>
+        </head>
+        <body>
+            <pre>
+                over empty?
+                [ 2drop ]
+                [ over first find-mode htmlize-lines ] if
+            </pre>
+        </body>
+    </html> ;
+
+: htmlize-file ( path -- )
+    dup utf8 [
+        dup ".html" append utf8 [
+            input-stream get htmlize-stream
+        ] with-file-writer
+    ] with-file-reader ;
diff --git a/basis/xmode/code2html/responder/responder.factor b/basis/xmode/code2html/responder/responder.factor
new file mode 100755 (executable)
index 0000000..2bc766d
--- /dev/null
@@ -0,0 +1,16 @@
+! Copyright (C) 2007, 2008 Slava Pestov.\r
+! See http://factorcode.org/license.txt for BSD license.\r
+USING: io io.files io.encodings.utf8 namespaces http.server\r
+http.server.responses http.server.static http xmode.code2html\r
+kernel sequences accessors fry ;\r
+IN: xmode.code2html.responder\r
+\r
+: <sources> ( root -- responder )\r
+    [\r
+        drop\r
+        dup '[\r
+            , utf8 [\r
+                , file-name input-stream get htmlize-stream\r
+            ] with-file-reader\r
+        ] "text/html" <content>\r
+    ] <file-responder> ;\r
diff --git a/basis/xmode/code2html/stylesheet.css b/basis/xmode/code2html/stylesheet.css
new file mode 100644 (file)
index 0000000..4cd4f8b
--- /dev/null
@@ -0,0 +1,63 @@
+.NULL {
+color: #000000;
+}
+.COMMENT1 {
+color: #cc0000;
+}
+.COMMENT2 {
+color: #ff8400;
+}
+.COMMENT3 {
+color: #6600cc;
+}
+.COMMENT4 {
+color: #cc6600;
+}
+.DIGIT {
+color: #ff0000;
+}
+.FUNCTION {
+color: #9966ff;
+}
+.INVALID {
+background: #ffffcc;
+color: #ff0066;
+}
+.KEYWORD1 {
+color: #006699;
+font-weight: bold;
+}
+.KEYWORD2 {
+color: #009966;
+font-weight: bold;
+}
+.KEYWORD3 {
+color: #0099ff;
+font-weight: bold;
+}
+.KEYWORD4 {
+color: #66ccff;
+font-weight: bold;
+}
+.LABEL {
+color: #02b902;
+}
+.LITERAL1 {
+color: #ff00cc;
+}
+.LITERAL2 {
+color: #cc00cc;
+}
+.LITERAL3 {
+color: #9900cc;
+}
+.LITERAL4 {
+color: #6600cc;
+}
+.MARKUP {
+color: #0000ff;
+}
+.OPERATOR {
+color: #000000;
+font-weight: bold;
+}
diff --git a/basis/xmode/keyword-map/authors.txt b/basis/xmode/keyword-map/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/keyword-map/keyword-map-tests.factor b/basis/xmode/keyword-map/keyword-map-tests.factor
new file mode 100644 (file)
index 0000000..b14bbd0
--- /dev/null
@@ -0,0 +1,30 @@
+IN: xmode.keyword-map.tests
+USING: xmode.keyword-map xmode.tokens
+tools.test namespaces assocs kernel strings ;
+
+f <keyword-map> dup "k" set
+
+{
+    { "int" KEYWORD1 }
+    { "void" KEYWORD2 }
+    { "size_t" KEYWORD3 }
+} update
+
+[ 3 ] [ "k" get assoc-size ] unit-test
+[ KEYWORD1 ] [ "int" "k" get at ] unit-test
+[ "_" ] [ "k" get keyword-map-no-word-sep* >string ] unit-test
+[ ] [ LITERAL1 "x-y" "k" get set-at ] unit-test
+[ "-_" ] [ "k" get keyword-map-no-word-sep* >string ] unit-test
+
+t <keyword-map> dup "k" set
+{
+    { "Foo" KEYWORD1 }
+    { "bbar" KEYWORD2 }
+    { "BAZ" KEYWORD3 }
+} update
+
+[ KEYWORD1 ] [ "fOo" "k" get at ] unit-test
+
+[ KEYWORD2 ] [ "BBAR" "k" get at ] unit-test
+
+[ KEYWORD3 ] [ "baz" "k" get at ] unit-test
diff --git a/basis/xmode/keyword-map/keyword-map.factor b/basis/xmode/keyword-map/keyword-map.factor
new file mode 100644 (file)
index 0000000..877eda4
--- /dev/null
@@ -0,0 +1,43 @@
+! Copyright (C) 2007, 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel strings assocs sequences hashtables
+sorting unicode.case unicode.categories sets ;
+IN: xmode.keyword-map
+
+! Based on org.gjt.sp.jedit.syntax.KeywordMap
+TUPLE: keyword-map no-word-sep ignore-case? assoc ;
+
+: <keyword-map> ( ignore-case? -- map )
+    keyword-map new
+        swap >>ignore-case?
+        H{ } clone >>assoc ;
+
+: invalid-no-word-sep ( keyword-map -- ) f >>no-word-sep drop ;
+
+: handle-case ( key keyword-map -- key assoc )
+    [ ignore-case?>> [ >upper ] when ] [ assoc>> ] bi ;
+
+M: keyword-map assoc-size
+    assoc>> assoc-size ;
+
+M: keyword-map at* handle-case at* ;
+
+M: keyword-map set-at
+    [ handle-case set-at ] [ invalid-no-word-sep ] bi ;
+
+M: keyword-map clear-assoc
+    [ assoc>> clear-assoc ] [ invalid-no-word-sep ] bi ;
+
+M: keyword-map >alist
+    assoc>> >alist ;
+
+: (keyword-map-no-word-sep) ( assoc -- str )
+    keys concat [ alpha? not ] filter prune natural-sort ;
+
+: keyword-map-no-word-sep* ( keyword-map -- str )
+    dup no-word-sep>> [ ] [
+        dup (keyword-map-no-word-sep) >>no-word-sep
+        keyword-map-no-word-sep*
+    ] ?if ;
+
+INSTANCE: keyword-map assoc
diff --git a/basis/xmode/loader/authors.txt b/basis/xmode/loader/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/loader/loader.factor b/basis/xmode/loader/loader.factor
new file mode 100755 (executable)
index 0000000..28c0de4
--- /dev/null
@@ -0,0 +1,88 @@
+USING: xmode.loader.syntax xmode.tokens xmode.rules
+xmode.keyword-map xml.data xml.utilities xml assocs kernel
+combinators sequences math.parser namespaces parser
+xmode.utilities regexp io.files accessors ;
+IN: xmode.loader
+
+! Based on org.gjt.sp.jedit.XModeHandler
+
+! RULES and its children
+<TAGS: parse-rule-tag ( rule-set tag -- )
+
+TAG: PROPS
+    parse-props-tag >>props drop ;
+
+TAG: IMPORT
+    "DELEGATE" swap at swap import-rule-set ;
+
+TAG: TERMINATE
+    "AT_CHAR" swap at string>number >>terminate-char drop ;
+
+RULE: SEQ seq-rule
+    shared-tag-attrs delegate-attr literal-start ;
+
+RULE: SEQ_REGEXP seq-rule
+    shared-tag-attrs delegate-attr regexp-attr regexp-start ;
+
+RULE: SPAN span-rule
+    shared-tag-attrs delegate-attr match-type-attr span-attrs parse-begin/end-tags init-span-tag ;
+
+RULE: SPAN_REGEXP span-rule
+    shared-tag-attrs delegate-attr match-type-attr span-attrs regexp-attr parse-begin/end-tags init-span-tag ;
+
+RULE: EOL_SPAN eol-span-rule
+    shared-tag-attrs delegate-attr match-type-attr literal-start init-eol-span-tag ;
+
+RULE: EOL_SPAN_REGEXP eol-span-rule
+    shared-tag-attrs delegate-attr match-type-attr regexp-attr regexp-start init-eol-span-tag ;
+
+RULE: MARK_FOLLOWING mark-following-rule
+    shared-tag-attrs match-type-attr literal-start ;
+
+RULE: MARK_PREVIOUS mark-previous-rule
+    shared-tag-attrs match-type-attr literal-start ;
+
+TAG: KEYWORDS ( rule-set tag -- key value )
+    ignore-case? get <keyword-map>
+    swap child-tags [ over parse-keyword-tag ] each
+    swap (>>keywords) ;
+
+TAGS>
+
+: ?<regexp> ( string/f -- regexp/f )
+    dup [ ignore-case? get <regexp> ] when ;
+
+: (parse-rules-tag) ( tag -- rule-set )
+    <rule-set>
+    {
+        { "SET" string>rule-set-name (>>name) }
+        { "IGNORE_CASE" string>boolean (>>ignore-case?) }
+        { "HIGHLIGHT_DIGITS" string>boolean (>>highlight-digits?) }
+        { "DIGIT_RE" ?<regexp> (>>digit-re) }
+        { "ESCAPE" f add-escape-rule }
+        { "DEFAULT" string>token (>>default) }
+        { "NO_WORD_SEP" f (>>no-word-sep) }
+    } init-from-tag ;
+
+: parse-rules-tag ( tag -- rule-set )
+    dup (parse-rules-tag) [
+        dup ignore-case?>> ignore-case? [
+            swap child-tags [ parse-rule-tag ] with each
+        ] with-variable
+    ] keep ;
+
+: merge-rule-set-props ( props rule-set -- )
+    [ assoc-union ] change-props drop ;
+
+! Top-level entry points
+: parse-mode-tag ( tag -- rule-sets )
+    dup "RULES" tags-named [
+        parse-rules-tag dup name>> swap
+    ] H{ } map>assoc
+    swap "PROPS" tag-named [
+        parse-props-tag over values
+        [ merge-rule-set-props ] with each
+    ] when* ;
+
+: parse-mode ( stream -- rule-sets )
+    read-xml parse-mode-tag ;
diff --git a/basis/xmode/loader/syntax/authors.txt b/basis/xmode/loader/syntax/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/loader/syntax/syntax.factor b/basis/xmode/loader/syntax/syntax.factor
new file mode 100644 (file)
index 0000000..5512b68
--- /dev/null
@@ -0,0 +1,101 @@
+USING: accessors xmode.tokens xmode.rules xmode.keyword-map xml.data
+xml.utilities xml assocs kernel combinators sequences
+math.parser namespaces parser lexer xmode.utilities regexp io.files ;
+IN: xmode.loader.syntax
+
+SYMBOL: ignore-case?
+
+! Rule tag parsing utilities
+: (parse-rule-tag) ( rule-set tag specs class -- )
+    new swap init-from-tag swap add-rule ; inline
+
+: RULE:
+    scan scan-word
+    parse-definition { } make
+    swap [ (parse-rule-tag) ] 2curry (TAG:) ; parsing
+
+! Attribute utilities
+: string>boolean ( string -- ? ) "TRUE" = ;
+
+: string>match-type ( string -- obj )
+    {
+        { "RULE" [ f ] }
+        { "CONTEXT" [ t ] }
+        [ string>token ]
+    } case ;
+
+: string>rule-set-name ( string -- name ) "MAIN" or ;
+
+! PROP, PROPS
+: parse-prop-tag ( tag -- key value )
+    "NAME" over at "VALUE" rot at ;
+
+: parse-props-tag ( tag -- assoc )
+    child-tags
+    [ parse-prop-tag ] H{ } map>assoc ;
+
+: position-attrs ( tag -- at-line-start? at-whitespace-end? at-word-start? )
+    ! XXX Wrong logic!
+    { "AT_LINE_START" "AT_WHITESPACE_END" "AT_WORD_START" }
+    swap [ at string>boolean ] curry map first3 ;
+
+: parse-literal-matcher ( tag -- matcher )
+    dup children>string
+    ignore-case? get <string-matcher>
+    swap position-attrs <matcher> ;
+
+: parse-regexp-matcher ( tag -- matcher )
+    dup children>string ignore-case? get <regexp>
+    swap position-attrs <matcher> ;
+
+: shared-tag-attrs ( -- )
+    { "TYPE" string>token (>>body-token) } , ; inline
+
+: delegate-attr ( -- )
+    { "DELEGATE" f (>>delegate) } , ;
+
+: regexp-attr ( -- )
+    { "HASH_CHAR" f (>>chars) } , ;
+
+: match-type-attr ( -- )
+    { "MATCH_TYPE" string>match-type (>>match-token) } , ;
+
+: span-attrs ( -- )
+    { "NO_LINE_BREAK" string>boolean (>>no-line-break?) } ,
+    { "NO_WORD_BREAK" string>boolean (>>no-word-break?) } ,
+    { "NO_ESCAPE" string>boolean (>>no-escape?) } , ;
+
+: literal-start ( -- )
+    [ parse-literal-matcher >>start drop ] , ;
+
+: regexp-start ( -- )
+    [ parse-regexp-matcher >>start drop ] , ;
+
+: literal-end ( -- )
+    [ parse-literal-matcher >>end drop ] , ;
+
+! SPAN's children
+<TAGS: parse-begin/end-tag ( rule tag -- )
+
+TAG: BEGIN
+    ! XXX
+    parse-literal-matcher >>start drop ;
+
+TAG: END
+    ! XXX
+    parse-literal-matcher >>end drop ;
+
+TAGS>
+
+: parse-begin/end-tags ( -- )
+    [
+        ! XXX: handle position attrs on span tag itself
+        child-tags [ parse-begin/end-tag ] with each
+    ] , ;
+
+: init-span-tag ( -- ) [ drop init-span ] , ;
+
+: init-eol-span-tag ( -- ) [ drop init-eol-span ] , ;
+
+: parse-keyword-tag ( tag keyword-map -- )
+    >r dup main>> string>token swap children>string r> set-at ;
diff --git a/basis/xmode/marker/authors.txt b/basis/xmode/marker/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/marker/context/authors.txt b/basis/xmode/marker/context/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/marker/context/context.factor b/basis/xmode/marker/context/context.factor
new file mode 100644 (file)
index 0000000..da20503
--- /dev/null
@@ -0,0 +1,19 @@
+USING: accessors kernel ;
+IN: xmode.marker.context
+
+! Based on org.gjt.sp.jedit.syntax.TokenMarker.LineContext
+TUPLE: line-context
+parent
+in-rule
+in-rule-set
+end
+;
+
+: <line-context> ( ruleset parent -- line-context )
+    over [ "no context" throw ] unless
+    line-context new
+        swap >>parent
+        swap >>in-rule-set ;
+
+M: line-context clone
+    call-next-method [ clone ] change-parent ;
diff --git a/basis/xmode/marker/marker-tests.factor b/basis/xmode/marker/marker-tests.factor
new file mode 100755 (executable)
index 0000000..1d05985
--- /dev/null
@@ -0,0 +1,143 @@
+USING: xmode.tokens xmode.catalog
+xmode.marker tools.test kernel ;
+IN: xmode.marker.tests
+
+[
+    {
+        T{ token f "int" KEYWORD3 }
+        T{ token f " " f }
+        T{ token f "x" f }
+    }
+] [ f "int x" "c" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "\"" LITERAL1 }
+        T{ token f "hello\\\"" LITERAL1 }
+        T{ token f " " LITERAL1 }
+        T{ token f "world" LITERAL1 }
+        T{ token f "\"" LITERAL1 }
+    }
+] [ f "\"hello\\\" world\"" "c" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "\"" LITERAL1 }
+        T{ token f "hello\\\ world" LITERAL1 }
+        T{ token f "\"" LITERAL1 }
+    }
+] [ f "\"hello\\\ world\"" "c" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "int" KEYWORD3 }
+        T{ token f " " f }
+        T{ token f "x" f }
+    }
+] [ f "int x" "java" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "//" COMMENT2 }
+        T{ token f " " COMMENT2 }
+        T{ token f "hello" COMMENT2 }
+        T{ token f " " COMMENT2 }
+        T{ token f "world" COMMENT2 }
+    }
+] [ f "// hello world" "java" load-mode tokenize-line nip ] unit-test
+
+
+[
+    {
+        T{ token f "hello" f }
+        T{ token f " " f }
+        T{ token f "world" f }
+        T{ token f ":" f }
+    }
+] [ f "hello world:" "java" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "hello_world" LABEL }
+        T{ token f ":" OPERATOR }
+    }
+] [ f "hello_world:" "java" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "\t" f }
+        T{ token f "hello_world" LABEL }
+        T{ token f ":" OPERATOR }
+    }
+] [ f "\thello_world:" "java" load-mode tokenize-line nip ] unit-test
+
+[
+    {
+        T{ token f "<!" KEYWORD2 }
+        T{ token f "ELEMENT" KEYWORD2 }
+        T{ token f " " KEYWORD2 }
+        T{ token f "%" LITERAL2 }
+        T{ token f "hello" LITERAL2 }
+        T{ token f ";" LITERAL2 }
+        T{ token f " " KEYWORD2 }
+        T{ token f ">" KEYWORD2 }
+    }
+] [
+     f "<!ELEMENT %hello; >" "xml" load-mode tokenize-line nip
+] unit-test
+
+[
+    {
+        T{ token f "<!" KEYWORD2 }
+        T{ token f "ELEMENT" KEYWORD2 }
+        T{ token f " " KEYWORD2 }
+        T{ token f "%" LITERAL2 }
+        T{ token f "hello-world" LITERAL2 }
+        T{ token f ";" LITERAL2 }
+        T{ token f " " KEYWORD2 }
+        T{ token f ">" KEYWORD2 }
+    }
+] [
+     f "<!ELEMENT %hello-world; >" "xml" load-mode tokenize-line nip
+] unit-test
+
+[
+    {
+        T{ token f "$" KEYWORD2 }
+        T{ token f "FOO" KEYWORD2 }
+    }
+] [
+    f "$FOO" "shellscript" load-mode tokenize-line nip
+] unit-test
+
+[
+    {
+        T{ token f "AND" KEYWORD1 }
+    }
+] [
+    f "AND" "pascal" load-mode tokenize-line nip
+] unit-test
+
+[
+    {
+        T{ token f "Comment {" COMMENT1 }
+        T{ token f "XXX" COMMENT1 }
+        T{ token f "}" COMMENT1 }
+    }
+] [
+    f "Comment {XXX}" "rebol" load-mode tokenize-line nip
+] unit-test
+
+[
+    
+] [
+    f "font:75%/1.6em \"Lucida Grande\", \"Lucida Sans Unicode\", verdana, geneva, sans-serif;" "css" load-mode tokenize-line 2drop
+] unit-test
+
+[
+    {
+        T{ token f "<" MARKUP }
+        T{ token f "aaa" MARKUP }
+        T{ token f ">" MARKUP }
+    }
+] [ f "<aaa>" "html" load-mode tokenize-line nip ] unit-test
diff --git a/basis/xmode/marker/marker.factor b/basis/xmode/marker/marker.factor
new file mode 100755 (executable)
index 0000000..f11ac6b
--- /dev/null
@@ -0,0 +1,304 @@
+IN: xmode.marker
+USING: kernel namespaces xmode.rules xmode.tokens
+xmode.marker.state xmode.marker.context xmode.utilities
+xmode.catalog sequences math assocs combinators combinators.lib
+strings regexp splitting parser-combinators ascii unicode.case
+combinators.short-circuit accessors ;
+
+! Based on org.gjt.sp.jedit.syntax.TokenMarker
+
+: current-keyword ( -- string )
+    last-offset get position get line get subseq ;
+
+: keyword-number? ( keyword -- ? )
+    {
+        [ current-rule-set highlight-digits?>> ]
+        [ dup [ digit? ] contains? ]
+        [
+            dup [ digit? ] all? [
+                current-rule-set digit-re>>
+                dup [ dupd matches? ] [ drop f ] if
+            ] unless*
+        ]
+    } 0&& nip ;
+
+: mark-number ( keyword -- id )
+    keyword-number? DIGIT and ;
+
+: mark-keyword ( keyword -- id )
+    current-rule-set keywords>> at ;
+
+: add-remaining-token ( -- )
+    current-rule-set default>> prev-token, ;
+
+: mark-token ( -- )
+    current-keyword
+    dup mark-number [ ] [ mark-keyword ] ?if
+    [ prev-token, ] when* ;
+
+: current-char ( -- char )
+    position get line get nth ;
+
+GENERIC: match-position ( rule -- n )
+
+M: mark-previous-rule match-position drop last-offset get ;
+
+M: rule match-position drop position get ;
+
+: can-match-here? ( matcher rule -- ? )
+    match-position {
+        [ over ]
+        [ over at-line-start?>>     over zero?                implies ]
+        [ over at-whitespace-end?>> over whitespace-end get = implies ]
+        [ over at-word-start?>>     over last-offset get =    implies ]
+    } 0&& 2nip ;
+
+: rest-of-line ( -- str )
+    line get position get tail-slice ;
+
+GENERIC: text-matches? ( string text -- match-count/f )
+
+M: f text-matches?
+    2drop f ;
+
+M: string-matcher text-matches?
+    [
+        [ string>> ] [ ignore-case?>> ] bi string-head?
+    ] keep string>> length and ;
+
+M: regexp text-matches?
+    >r >string r> match-head ;
+
+: rule-start-matches? ( rule -- match-count/f )
+    dup start>> tuck swap can-match-here? [
+        rest-of-line swap text>> text-matches?
+    ] [
+        drop f
+    ] if ;
+
+: rule-end-matches? ( rule -- match-count/f )
+    dup mark-following-rule? [
+        dup start>> swap can-match-here? 0 and
+    ] [
+        dup end>> tuck swap can-match-here? [
+            rest-of-line
+            swap text>> context get end>> or
+            text-matches?
+        ] [
+            drop f
+        ] if
+    ] if ;
+
+DEFER: get-rules
+
+: get-always-rules ( vector/f ruleset -- vector/f )
+    f swap rules>> at ?push-all ;
+
+: get-char-rules ( vector/f char ruleset -- vector/f )
+    >r ch>upper r> rules>> at ?push-all ;
+
+: get-rules ( char ruleset -- seq )
+    f -rot [ get-char-rules ] keep get-always-rules ;
+
+GENERIC: handle-rule-start ( match-count rule -- )
+
+GENERIC: handle-rule-end ( match-count rule -- )
+
+: find-escape-rule ( -- rule )
+    context get dup
+    in-rule-set>> escape-rule>> [ ] [
+        parent>> in-rule-set>>
+        dup [ escape-rule>> ] when
+    ] ?if ;
+
+: check-escape-rule ( rule -- ? )
+    no-escape?>> [ f ] [
+        find-escape-rule dup [
+            dup rule-start-matches? dup [
+                swap handle-rule-start
+                delegate-end-escaped? [ not ] change
+                t
+            ] [
+                2drop f
+            ] if
+        ] when
+    ] if ;
+
+: check-every-rule ( -- ? )
+    current-char current-rule-set get-rules
+    [ rule-start-matches? ] map-find
+    dup [ handle-rule-start t ] [ 2drop f ] if ;
+
+: ?end-rule ( -- )
+    current-rule [
+        dup rule-end-matches?
+        dup [ swap handle-rule-end ] [ 2drop ] if
+    ] when* ;
+
+: rule-match-token* ( rule -- id )
+    dup match-token>> {
+        { f [ dup body-token>> ] }
+        { t [ current-rule-set default>> ] }
+        [ ]
+    } case nip ;
+
+M: escape-rule handle-rule-start
+    drop
+    ?end-rule
+    process-escape? get [
+        escaped? [ not ] change
+        position [ + ] change
+    ] [ 2drop ] if ;
+
+M: seq-rule handle-rule-start
+    ?end-rule
+    mark-token
+    add-remaining-token
+    tuck body-token>> next-token,
+    delegate>> [ push-context ] when* ;
+
+UNION: abstract-span-rule span-rule eol-span-rule ;
+
+M: abstract-span-rule handle-rule-start
+    ?end-rule
+    mark-token
+    add-remaining-token
+    tuck rule-match-token* next-token,
+    ! ... end subst ...
+    dup context get (>>in-rule)
+    delegate>> push-context ;
+
+M: span-rule handle-rule-end
+    2drop ;
+
+M: mark-following-rule handle-rule-start
+    ?end-rule
+    mark-token add-remaining-token
+    tuck rule-match-token* next-token,
+    f context get (>>end)
+    context get (>>in-rule) ;
+
+M: mark-following-rule handle-rule-end
+    nip rule-match-token* prev-token,
+    f context get (>>in-rule) ;
+
+M: mark-previous-rule handle-rule-start
+    ?end-rule
+    mark-token
+    dup body-token>> prev-token,
+    rule-match-token* next-token, ;
+
+: do-escaped ( -- )
+    escaped? get [
+        escaped? off
+        ! ...
+    ] when ;
+
+: check-end-delegate ( -- ? )
+    context get parent>> [
+        in-rule>> [
+            dup rule-end-matches? dup [
+                [
+                    swap handle-rule-end
+                    ?end-rule
+                    mark-token
+                    add-remaining-token
+                ] keep context get parent>> in-rule>>
+                rule-match-token* next-token,
+                pop-context
+                seen-whitespace-end? on t
+            ] [ drop check-escape-rule ] if
+        ] [ f ] if*
+    ] [ f ] if* ;
+
+: handle-no-word-break ( -- )
+    context get parent>> [
+        in-rule>> [
+            dup no-word-break?>> [
+                rule-match-token* prev-token,
+                pop-context
+            ] [ drop ] if
+        ] when*
+    ] when* ;
+
+: check-rule ( -- )
+    ?end-rule
+    handle-no-word-break
+    mark-token
+    add-remaining-token ;
+
+: (check-word-break) ( -- )
+    check-rule
+    
+    1 current-rule-set default>> next-token, ;
+
+: rule-set-empty? ( ruleset -- ? )
+    [ rules>> ] [ keywords>> ] bi
+    [ assoc-empty? ] bi@ and ;
+
+: check-word-break ( -- ? )
+    current-char dup blank? [
+        drop
+
+        seen-whitespace-end? get [
+            position get 1+ whitespace-end set
+        ] unless
+
+        (check-word-break)
+
+    ] [
+        ! Micro-optimization with incorrect semantics; we keep
+        ! it here because jEdit mode files depend on it now...
+        current-rule-set rule-set-empty? [
+            drop
+        ] [
+            dup alpha? [
+                drop
+            ] [
+                current-rule-set rule-set-no-word-sep* member? [
+                    (check-word-break)
+                ] unless
+            ] if
+        ] if
+
+        seen-whitespace-end? on
+    ] if
+    escaped? off
+    delegate-end-escaped? off t ;
+
+
+: mark-token-loop ( -- )
+    position get line get length < [
+        {
+            [ check-end-delegate ]
+            [ check-every-rule ]
+            [ check-word-break ]
+        } 0|| drop
+
+        position inc
+        mark-token-loop
+    ] when ;
+
+: mark-remaining ( -- )
+    line get length position set
+    check-rule ;
+
+: unwind-no-line-break ( -- )
+    context get parent>> [
+        in-rule>> [
+            no-line-break?>> [
+                pop-context
+                unwind-no-line-break
+            ] when
+        ] when*
+    ] when* ;
+
+: tokenize-line ( line-context line rules -- line-context' seq )
+    [
+        "MAIN" swap at -rot
+        init-token-marker
+        mark-token-loop
+        mark-remaining
+        unwind-no-line-break
+        context get
+    ] { } make ;
diff --git a/basis/xmode/marker/state/authors.txt b/basis/xmode/marker/state/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/marker/state/state.factor b/basis/xmode/marker/state/state.factor
new file mode 100755 (executable)
index 0000000..9075ff6
--- /dev/null
@@ -0,0 +1,44 @@
+USING: xmode.marker.context xmode.rules symbols accessors
+xmode.tokens namespaces kernel sequences assocs math ;
+IN: xmode.marker.state
+
+! Based on org.gjt.sp.jedit.syntax.TokenMarker
+
+SYMBOLS: line last-offset position context
+ whitespace-end seen-whitespace-end?
+ escaped?  process-escape?  delegate-end-escaped? ;
+
+: current-rule ( -- rule )
+    context get in-rule>> ;
+
+: current-rule-set ( -- rule )
+    context get in-rule-set>> ;
+
+: current-keywords ( -- keyword-map )
+    current-rule-set keywords>> ;
+
+: token, ( from to id -- )
+    2over = [ 3drop ] [ >r line get subseq r> <token> , ] if ;
+
+: prev-token, ( id -- )
+    >r last-offset get position get r> token,
+    position get last-offset set ;
+
+: next-token, ( len id -- )
+    >r position get 2dup + r> token,
+    position get + dup 1- position set last-offset set ;
+
+: push-context ( rules -- )
+    context [ <line-context> ] change ;
+
+: pop-context ( -- )
+    context get parent>>
+    f >>in-rule context set ;
+
+: init-token-marker ( main prev-context line -- )
+    line set
+    [ ] [ f <line-context> ] ?if context set
+    0 position set
+    0 last-offset set
+    0 whitespace-end set
+    process-escape? on ;
diff --git a/basis/xmode/modes/actionscript.xml b/basis/xmode/modes/actionscript.xml
new file mode 100644 (file)
index 0000000..387258d
--- /dev/null
@@ -0,0 +1,829 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       ActionScript mode by Ben Glazer <ben@enspire.com>\r
+       Adapted from JavaScript mode by Andre Kaplan\r
+       Updated for Flash MX 2004 by Nahuel Foronda <www.asfusion.com>\r
+-->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <!-- the ; hack is there so that stuff like if(bob) fred();\r
+                    does not indent the next line -->\r
+               <PROPERTY NAME="indentPrevLine" VALUE="\s*(if|while)\s*(|else|case|default:)[^;]*|for\s*\(.*)" />\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- whitespace: (space and tab) -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- ActionScript's reserved words (see AS:TDG p.332) -->\r
+                       <KEYWORD1>add</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>and</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>eq</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>ge</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>gt</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>ifFrameLoaded</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>le</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>lt</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>ne</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>on</KEYWORD1>\r
+                       <KEYWORD1>onClipEvent</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <KEYWORD1>tellTarget</KEYWORD1>   <!-- deprecated -->\r
+                       <KEYWORD1>typeof</KEYWORD1>\r
+                       <KEYWORD1>var</KEYWORD1>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+\r
+                       <!-- Built-in objects (good idea not to use these names!)-->\r
+                       <KEYWORD3>Array</KEYWORD3>\r
+                       <KEYWORD3>Boolean</KEYWORD3>\r
+                       <KEYWORD3>Color</KEYWORD3>\r
+                       <KEYWORD3>Date</KEYWORD3>\r
+                       <KEYWORD3>Function</KEYWORD3>\r
+                       <KEYWORD3>Key</KEYWORD3>\r
+                       <KEYWORD3>MovieClip</KEYWORD3>\r
+                       <KEYWORD3>Math</KEYWORD3>\r
+                       <KEYWORD3>Mouse</KEYWORD3>\r
+                       <KEYWORD3>Number</KEYWORD3>\r
+                       <KEYWORD3>Object</KEYWORD3>\r
+                       <KEYWORD3>Selection</KEYWORD3>\r
+                       <KEYWORD3>Sound</KEYWORD3>\r
+                       <KEYWORD3>String</KEYWORD3>\r
+                       <KEYWORD3>XML</KEYWORD3>\r
+                       <KEYWORD3>XMLNode</KEYWORD3>\r
+                       <KEYWORD3>XMLSocket</KEYWORD3>\r
+\r
+                       <!-- Literals -->\r
+                       <LITERAL2>NaN</LITERAL2>\r
+                       <LITERAL2>Infinity</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>undefined</LITERAL2>\r
+\r
+                       <!-- Global functions -->\r
+                       <LITERAL2>Boolean</LITERAL2>\r
+                       <LITERAL2>call</LITERAL2>\r
+                       <LITERAL2>Date</LITERAL2>\r
+                       <LITERAL2>escape</LITERAL2>\r
+                       <LITERAL2>eval</LITERAL2>\r
+                       <LITERAL2>fscommand</LITERAL2>\r
+                       <LITERAL2>getProperty</LITERAL2>\r
+                       <LITERAL2>getTimer</LITERAL2>\r
+                       <LITERAL2>getURL</LITERAL2>\r
+                       <LITERAL2>getVersion</LITERAL2>\r
+                       <LITERAL2>gotoAndPlay</LITERAL2>\r
+                       <LITERAL2>gotoAndStop</LITERAL2>\r
+                       <LITERAL2>#include</LITERAL2>\r
+                       <LITERAL2>int</LITERAL2>   <!-- deprecated -->\r
+                       <LITERAL2>isFinite</LITERAL2>\r
+                       <LITERAL2>isNaN</LITERAL2>\r
+                       <LITERAL2>loadMovie</LITERAL2>\r
+                       <LITERAL2>loadMovieNum</LITERAL2>\r
+                       <LITERAL2>loadVariables</LITERAL2>\r
+                       <LITERAL2>loadVariablesNum</LITERAL2>\r
+                       <LITERAL2>maxscroll</LITERAL2>\r
+                       <LITERAL2>newline</LITERAL2>\r
+                       <LITERAL2>nextFrame</LITERAL2>\r
+                       <LITERAL2>nextScene</LITERAL2>\r
+                       <LITERAL2>Number</LITERAL2>\r
+                       <LITERAL2>parseFloat</LITERAL2>\r
+                       <LITERAL2>parseInt</LITERAL2>\r
+                       <LITERAL2>play</LITERAL2>\r
+                       <LITERAL2>prevFrame</LITERAL2>\r
+                       <LITERAL2>prevScene</LITERAL2>\r
+                       <LITERAL2>print</LITERAL2>\r
+                       <LITERAL2>printAsBitmap</LITERAL2>\r
+                       <LITERAL2>printAsBitmapNum</LITERAL2>\r
+                       <LITERAL2>printNum</LITERAL2>\r
+                       <LITERAL2>random</LITERAL2>   <!-- deprecated -->\r
+                       <LITERAL2>removeMovieClip</LITERAL2>\r
+                       <LITERAL2>scroll</LITERAL2>\r
+                       <LITERAL2>setProperty</LITERAL2>\r
+                       <LITERAL2>startDrag</LITERAL2>\r
+                       <LITERAL2>stop</LITERAL2>\r
+                       <LITERAL2>stopAllSounds</LITERAL2>\r
+                       <LITERAL2>stopDrag</LITERAL2>\r
+                       <LITERAL2>String</LITERAL2>\r
+                       <LITERAL2>targetPath</LITERAL2>\r
+                       <LITERAL2>tellTarget</LITERAL2>   <!-- deprecated -->\r
+                       <LITERAL2>toggleHighQuality</LITERAL2>   <!-- deprecated -->\r
+                       <LITERAL2>trace</LITERAL2>\r
+                       <LITERAL2>unescape</LITERAL2>\r
+                       <LITERAL2>unloadMovie</LITERAL2>\r
+                       <LITERAL2>unloadMovieNum</LITERAL2>\r
+                       <LITERAL2>updateAfterEvent</LITERAL2>\r
+\r
+                        <!-- Start Update -->\r
+                       <LITERAL2>prototype</LITERAL2>\r
+                       <LITERAL2>clearInterval</LITERAL2>\r
+                       <LITERAL2>getVersion</LITERAL2>\r
+                       <LITERAL2>length</LITERAL2>\r
+                       <LITERAL2>__proto__</LITERAL2>\r
+                       <LITERAL2>__constructor__</LITERAL2>\r
+                       <LITERAL2>ASSetPropFlags</LITERAL2>\r
+                       <LITERAL2>setInterval</LITERAL2>\r
+                       <LITERAL2>setI</LITERAL2>\r
+                       <KEYWORD3>MMExecute</KEYWORD3>\r
+\r
+                        <!-- MovieCLip methods-->\r
+                       <LITERAL2>attachMovie</LITERAL2>\r
+                       <LITERAL2>createEmptyMovieClip</LITERAL2>\r
+                       <LITERAL2>createTextField</LITERAL2>\r
+                       <LITERAL2>duplicateMovieClip</LITERAL2>\r
+                       <LITERAL2>getBounds</LITERAL2>\r
+                       <LITERAL2>getBytesLoaded</LITERAL2>\r
+                       <LITERAL2>getBytesTotal</LITERAL2>\r
+                       <LITERAL2>getDepth</LITERAL2>\r
+                       <LITERAL2>globalToLocal</LITERAL2>\r
+                       <LITERAL2>hitTest</LITERAL2>\r
+                       <LITERAL2>localToGlobal</LITERAL2>\r
+                       <LITERAL2>setMask</LITERAL2>\r
+                       <LITERAL2>swapDepths</LITERAL2>\r
+                       <LITERAL2>attachAudio</LITERAL2>\r
+                       <LITERAL2>getInstanceAtDepth</LITERAL2>\r
+                       <LITERAL2>getNextHighestDepth</LITERAL2>\r
+                       <LITERAL2>getSWFVersion</LITERAL2>\r
+                       <LITERAL2>getTextSnapshot</LITERAL2>\r
+                       <LITERAL2>getSWFVersion</LITERAL2>\r
+                       <LITERAL2>getSWFVersion</LITERAL2>\r
+\r
+                       <!-- MovieCLip drawing methods  -->\r
+                       <LITERAL2>beginFill</LITERAL2>\r
+                       <LITERAL2>beginGradientFill</LITERAL2>\r
+                       <LITERAL2>clear</LITERAL2>\r
+                       <LITERAL2>curveTo</LITERAL2>\r
+                       <LITERAL2>endFill</LITERAL2>\r
+                       <LITERAL2>lineStyle</LITERAL2>\r
+                       <LITERAL2>lineTo</LITERAL2>\r
+                       <LITERAL2>moveTo</LITERAL2>\r
+\r
+                       <!-- MovieCLip properties  -->\r
+                       <LITERAL2>enabled</LITERAL2>\r
+                       <LITERAL2>focusEnabled</LITERAL2>\r
+                       <LITERAL2>hitArea</LITERAL2>\r
+                       <LITERAL2>tabChildren</LITERAL2>\r
+                       <LITERAL2>tabEnabled</LITERAL2>\r
+                       <LITERAL2>tabIndex</LITERAL2>\r
+                       <LITERAL2>trackAsMenu</LITERAL2>\r
+                       <LITERAL2>menu</LITERAL2>\r
+                       <LITERAL2>useHandCursor</LITERAL2>\r
+\r
+                       <!-- MovieCLip Events  -->\r
+                       <LITERAL2>onData</LITERAL2>\r
+                       <LITERAL2>onDragOut</LITERAL2>\r
+                       <LITERAL2>onDragOver</LITERAL2>\r
+                       <LITERAL2>onEnterFrame</LITERAL2>\r
+                       <LITERAL2>onKeyDown</LITERAL2>\r
+                       <LITERAL2>onKeyUp</LITERAL2>\r
+                       <LITERAL2>onKillFocus</LITERAL2>\r
+                       <LITERAL2>onLoad</LITERAL2>\r
+                       <LITERAL2>onMouseDown</LITERAL2>\r
+                       <LITERAL2>onMouseMove</LITERAL2>\r
+                       <LITERAL2>onMouseUp</LITERAL2>\r
+                       <LITERAL2>onPress</LITERAL2>\r
+                       <LITERAL2>onRelease</LITERAL2>\r
+                       <LITERAL2>onReleaseOutside</LITERAL2>\r
+                       <LITERAL2>onRollOut</LITERAL2>\r
+                       <LITERAL2>onRollOver</LITERAL2>\r
+                       <LITERAL2>onSetFocus</LITERAL2>\r
+                       <LITERAL2>onUnload</LITERAL2>\r
+\r
+                       <!-- MovieClipLoader class -->\r
+                       <LITERAL2>MovieClipLoader</LITERAL2>\r
+                       <LITERAL2>getProgress</LITERAL2>\r
+                       <LITERAL2>loadClip</LITERAL2>\r
+                       <LITERAL2>onLoadComplete</LITERAL2>\r
+                       <LITERAL2>onLoadError</LITERAL2>\r
+                       <LITERAL2>onLoadInit</LITERAL2>\r
+                       <LITERAL2>onLoadProgress</LITERAL2>\r
+                       <LITERAL2>onLoadStart</LITERAL2>\r
+                       <LITERAL2>unloadClip</LITERAL2>\r
+\r
+                       <!-- PrintJob class -->\r
+                       <LITERAL2>PrintJob</LITERAL2>\r
+                       <LITERAL2>addPage</LITERAL2>\r
+\r
+                       <!-- Camera class -->\r
+                       <LITERAL2>Camera</LITERAL2>\r
+                       <LITERAL2>activityLevel</LITERAL2>\r
+                       <LITERAL2>bandwidth</LITERAL2>\r
+                       <LITERAL2>currentFps</LITERAL2>\r
+                       <LITERAL2>fps</LITERAL2>\r
+                       <LITERAL2>index</LITERAL2>\r
+                       <LITERAL2>motionLevel</LITERAL2>\r
+                       <LITERAL2>motionTimeOut</LITERAL2>\r
+                       <LITERAL2>muted</LITERAL2>\r
+                       <LITERAL2>name</LITERAL2>\r
+                       <LITERAL2>names</LITERAL2>\r
+                       <LITERAL2>onActivity</LITERAL2>\r
+                       <LITERAL2>onStatus</LITERAL2>\r
+                       <LITERAL2>quality</LITERAL2>\r
+                       <LITERAL2>setMode</LITERAL2>\r
+                       <LITERAL2>setMotionLevel</LITERAL2>\r
+                       <LITERAL2>setQuality</LITERAL2>\r
+\r
+                       <!-- Microphone class -->\r
+                       <LITERAL2>Microphone</LITERAL2>\r
+                       <LITERAL2>gain</LITERAL2>\r
+                       <LITERAL2>rate</LITERAL2>\r
+                       <LITERAL2>setGain</LITERAL2>\r
+                       <LITERAL2>setRate</LITERAL2>\r
+                       <LITERAL2>setSilenceLevel</LITERAL2>\r
+                       <LITERAL2>setUseEchoSuppression</LITERAL2>\r
+                       <LITERAL2>silenceLevel</LITERAL2>\r
+                       <LITERAL2>silenceTimeout</LITERAL2>\r
+                       <LITERAL2>useEchoSuppression</LITERAL2>\r
+\r
+                       <!-- ContextMenu Class -->\r
+                       <LITERAL2>ContextMenu</LITERAL2>\r
+                       <LITERAL2>builtInItems</LITERAL2>\r
+                       <LITERAL2>copy</LITERAL2>\r
+                       <LITERAL2>customItems</LITERAL2>\r
+                       <LITERAL2>hideBuiltInItems</LITERAL2>\r
+                       <LITERAL2>onSelect</LITERAL2>\r
+                       <LITERAL2>caption</LITERAL2>\r
+                       <LITERAL2>ContextMenuItem</LITERAL2>\r
+                       <LITERAL2>separatorBefore</LITERAL2>\r
+                       <LITERAL2>visible</LITERAL2>\r
+\r
+                       <!-- Error class -->\r
+                       <LITERAL2>Error</LITERAL2>\r
+                       <LITERAL2>visible</LITERAL2>\r
+                       <LITERAL2>message</LITERAL2>\r
+\r
+                       <!-- operators grenn-->\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>#endinitclip</KEYWORD1>\r
+                       <KEYWORD1>#initclip</KEYWORD1>\r
+\r
+                       <!-- properties -->\r
+                       <LITERAL2>_alpha</LITERAL2>\r
+                       <LITERAL2>_currentframe</LITERAL2>\r
+                       <LITERAL2>_droptarget</LITERAL2>\r
+                       <LITERAL2>_focusrect</LITERAL2>\r
+                       <LITERAL2>_framesloaded</LITERAL2>\r
+                       <LITERAL2>_height</LITERAL2>\r
+                       <LITERAL2>_name</LITERAL2>\r
+                       <LITERAL2>_quality</LITERAL2>\r
+                       <LITERAL2>_rotation</LITERAL2>\r
+                       <LITERAL2>_soundbuftime</LITERAL2>\r
+                       <LITERAL2>_target</LITERAL2>\r
+                       <LITERAL2>_totalframes</LITERAL2>\r
+                       <LITERAL2>_url</LITERAL2>\r
+                       <LITERAL2>_visible</LITERAL2>\r
+                       <LITERAL2>_width</LITERAL2>\r
+                       <LITERAL2>_x</LITERAL2>\r
+                       <LITERAL2>_xmouse</LITERAL2>\r
+                       <LITERAL2>_xscale</LITERAL2>\r
+                       <LITERAL2>_y</LITERAL2>\r
+                       <LITERAL2>_ymouse</LITERAL2>\r
+                       <LITERAL2>_yscale</LITERAL2>\r
+                       <LITERAL2>_parent</LITERAL2>\r
+                       <LITERAL2>_root</LITERAL2>\r
+                       <LITERAL2>_level</LITERAL2>\r
+                       <LITERAL2>_lockroot</LITERAL2>\r
+                       <LITERAL2>_accProps</LITERAL2>\r
+\r
+\r
+                       <!-- Array -->\r
+                       <LITERAL2>sortOn</LITERAL2>\r
+                       <LITERAL2>toString</LITERAL2>\r
+                       <LITERAL2>splice</LITERAL2>\r
+                       <LITERAL2>sort</LITERAL2>\r
+                       <LITERAL2>slice</LITERAL2>\r
+                       <LITERAL2>shift</LITERAL2>\r
+                       <LITERAL2>reverse</LITERAL2>\r
+                       <LITERAL2>push</LITERAL2>\r
+                       <LITERAL2>join</LITERAL2>\r
+                       <LITERAL2>pop</LITERAL2>\r
+                       <LITERAL2>concat</LITERAL2>\r
+                       <LITERAL2>unshift</LITERAL2>\r
+\r
+                       <!-- Arguments -->\r
+                       <LITERAL2>arguments</LITERAL2>\r
+                       <LITERAL2>callee</LITERAL2>\r
+                       <LITERAL2>caller</LITERAL2>\r
+                       <LITERAL2>valueOf</LITERAL2>\r
+\r
+                       <!-- Date Class -->\r
+                       <LITERAL2>getDate</LITERAL2>\r
+                       <LITERAL2>getDay</LITERAL2>\r
+                       <LITERAL2>getFullYear</LITERAL2>\r
+                       <LITERAL2>getHours</LITERAL2>\r
+                       <LITERAL2>getMilliseconds</LITERAL2>\r
+                       <LITERAL2>getMinutes</LITERAL2>\r
+                       <LITERAL2>getMonth</LITERAL2>\r
+                       <LITERAL2>getSeconds</LITERAL2>\r
+                       <LITERAL2>getTime</LITERAL2>\r
+                       <LITERAL2>getTimezoneOffset</LITERAL2>\r
+                       <LITERAL2>getUTCDate</LITERAL2>\r
+                       <LITERAL2>getUTCDay</LITERAL2>\r
+                       <LITERAL2>getUTCFullYear</LITERAL2>\r
+                       <LITERAL2>getUTCHours</LITERAL2>\r
+                       <LITERAL2>getUTCMilliseconds</LITERAL2>\r
+                       <LITERAL2>getUTCMinutes</LITERAL2>\r
+                       <LITERAL2>getUTCMonth</LITERAL2>\r
+                       <LITERAL2>getUTCSeconds</LITERAL2>\r
+                       <LITERAL2>getYear</LITERAL2>\r
+                       <LITERAL2>setDate</LITERAL2>\r
+                       <LITERAL2>setFullYear</LITERAL2>\r
+                       <LITERAL2>setHours</LITERAL2>\r
+                       <LITERAL2>setMilliseconds</LITERAL2>\r
+                       <LITERAL2>setMinutes</LITERAL2>\r
+                       <LITERAL2>setMonth</LITERAL2>\r
+                       <LITERAL2>setSeconds</LITERAL2>\r
+                       <LITERAL2>setTime</LITERAL2>\r
+                       <LITERAL2>setUTCDate</LITERAL2>\r
+                       <LITERAL2>setUTCFullYear</LITERAL2>\r
+                       <LITERAL2>setUTCHours</LITERAL2>\r
+                       <LITERAL2>setUTCMilliseconds</LITERAL2>\r
+                       <LITERAL2>setUTCMinutes</LITERAL2>\r
+                       <LITERAL2>setUTCMonth</LITERAL2>\r
+                       <LITERAL2>setUTCSeconds</LITERAL2>\r
+                       <LITERAL2>setYear</LITERAL2>\r
+                       <LITERAL2>UTC</LITERAL2>\r
+\r
+                       <!-- Function -->\r
+                       <LITERAL2>_global</LITERAL2>\r
+                       <LITERAL2>apply</LITERAL2>\r
+\r
+                       <!--  Math Class -->\r
+                       <LITERAL2>abs</LITERAL2>\r
+                       <LITERAL2>acos</LITERAL2>\r
+                       <LITERAL2>asin</LITERAL2>\r
+                       <LITERAL2>atan</LITERAL2>\r
+                       <LITERAL2>atan2</LITERAL2>\r
+                       <LITERAL2>ceil</LITERAL2>\r
+                       <LITERAL2>cos</LITERAL2>\r
+                       <LITERAL2>exp</LITERAL2>\r
+                       <LITERAL2>floor</LITERAL2>\r
+                       <LITERAL2>log</LITERAL2>\r
+                       <LITERAL2>max</LITERAL2>\r
+                       <LITERAL2>min</LITERAL2>\r
+                       <LITERAL2>pow</LITERAL2>\r
+                       <LITERAL2>round</LITERAL2>\r
+                       <LITERAL2>sin</LITERAL2>\r
+                       <LITERAL2>sqrt</LITERAL2>\r
+                       <LITERAL2>tan</LITERAL2>\r
+\r
+                       <LITERAL2>E</LITERAL2>\r
+                       <LITERAL2>LN2</LITERAL2>\r
+                       <LITERAL2>LN10</LITERAL2>\r
+                       <LITERAL2>LOG2E</LITERAL2>\r
+                       <LITERAL2>LOG10E</LITERAL2>\r
+                       <LITERAL2>PI</LITERAL2>\r
+                       <LITERAL2>SQRT1_2</LITERAL2>\r
+                       <LITERAL2>SQRT2</LITERAL2>\r
+\r
+                       <!-- Number -->\r
+                       <LITERAL2>MAX_VALUE</LITERAL2>\r
+                       <LITERAL2>MIN_VALUE</LITERAL2>\r
+                       <LITERAL2>NEGATIVE_INFINITY</LITERAL2>\r
+                       <LITERAL2>POSITIVE_INFINITY</LITERAL2>\r
+\r
+                       <!-- Object -->\r
+                       <LITERAL2>addProperty</LITERAL2>\r
+                       <LITERAL2>registerClass</LITERAL2>\r
+                       <LITERAL2>unwatch</LITERAL2>\r
+                       <LITERAL2>watch</LITERAL2>\r
+\r
+                       <!-- String -->\r
+                       <LITERAL2>charAt</LITERAL2>\r
+                       <LITERAL2>charCodeAt</LITERAL2>\r
+                       <LITERAL2>fromCharCode</LITERAL2>\r
+                       <LITERAL2>lastIndexOf</LITERAL2>\r
+                       <LITERAL2>indexOf</LITERAL2>\r
+                       <LITERAL2>split</LITERAL2>\r
+                       <LITERAL2>substr</LITERAL2>\r
+                       <LITERAL2>substring</LITERAL2>\r
+                       <LITERAL2>toLowerCase</LITERAL2>\r
+                       <LITERAL2>toUpperCase</LITERAL2>\r
+\r
+                       <!-- Accessibility -->\r
+                       <LITERAL2>Accessibility</LITERAL2>\r
+                       <LITERAL2>isActive</LITERAL2>\r
+                       <LITERAL2>updateProperties</LITERAL2>\r
+\r
+\r
+                       <!-- System capabilities Class-->\r
+                       <LITERAL2>System</LITERAL2>\r
+                       <LITERAL2>capabilities</LITERAL2>\r
+                       <LITERAL2>exactSettings</LITERAL2>\r
+                       <LITERAL2>setClipboard</LITERAL2>\r
+                       <LITERAL2>showSettings</LITERAL2>\r
+                       <LITERAL2>useCodepage</LITERAL2>\r
+                       <LITERAL2>avHardwareDisable</LITERAL2>\r
+                       <LITERAL2>hasAccessibility</LITERAL2>\r
+                       <LITERAL2>hasAudio</LITERAL2>\r
+                       <LITERAL2>hasAudioEncoder</LITERAL2>\r
+                       <LITERAL2>hasMP3</LITERAL2>\r
+                       <LITERAL2>hasVideoEncoder</LITERAL2>\r
+                       <LITERAL2>pixelAspectRatio</LITERAL2>\r
+                       <LITERAL2>screenColor</LITERAL2>\r
+                       <LITERAL2>screenDPI</LITERAL2>\r
+                       <LITERAL2>screenResolutionX</LITERAL2>\r
+                       <LITERAL2>screenResolutionY</LITERAL2>\r
+                       <LITERAL2>hasEmbeddedVideo</LITERAL2>\r
+                       <LITERAL2>hasPrinting</LITERAL2>\r
+                       <LITERAL2>hasScreenBroadcast</LITERAL2>\r
+                       <LITERAL2>hasScreenPlayback</LITERAL2>\r
+                       <LITERAL2>hasStreamingAudio</LITERAL2>\r
+                       <LITERAL2>hasStreamingVideo</LITERAL2>\r
+                       <LITERAL2>isDebugger</LITERAL2>\r
+                       <LITERAL2>language</LITERAL2>\r
+                       <LITERAL2>manufacturer</LITERAL2>\r
+                       <LITERAL2>os</LITERAL2>\r
+                       <LITERAL2>playerType</LITERAL2>\r
+                       <LITERAL2>serverString</LITERAL2>\r
+                       <LITERAL2>localFileReadDisable</LITERAL2>\r
+                       <LITERAL2>version</LITERAL2>\r
+                       <!-- System security Class -->\r
+                       <LITERAL2>security</LITERAL2>\r
+\r
+                       <!-- Color Class -->\r
+                       <LITERAL2>getRGB</LITERAL2>\r
+                       <LITERAL2>getTransform</LITERAL2>\r
+                       <LITERAL2>setRGB</LITERAL2>\r
+                       <LITERAL2>setTransform</LITERAL2>\r
+\r
+                       <!-- Key Class -->\r
+                       <LITERAL2>addListener</LITERAL2>\r
+                       <LITERAL2>getAscii</LITERAL2>\r
+                       <LITERAL2>isDown</LITERAL2>\r
+                       <LITERAL2>getCode</LITERAL2>\r
+                       <LITERAL2>isToggled</LITERAL2>\r
+                       <LITERAL2>removeListener</LITERAL2>\r
+                       <LITERAL2>BACKSPACE</LITERAL2>\r
+                       <LITERAL2>CAPSLOCK</LITERAL2>\r
+                       <LITERAL2>CONTROL</LITERAL2>\r
+                       <LITERAL2>DELETEKEY</LITERAL2>\r
+                       <LITERAL2>DOWN</LITERAL2>\r
+                       <LITERAL2>END</LITERAL2>\r
+                       <LITERAL2>ENTER</LITERAL2>\r
+                       <LITERAL2>ESCAPE</LITERAL2>\r
+                       <LITERAL2>HOME</LITERAL2>\r
+                       <LITERAL2>INSERT</LITERAL2>\r
+                       <LITERAL2>LEFT</LITERAL2>\r
+                       <LITERAL2>PGDN</LITERAL2>\r
+                       <LITERAL2>PGUP</LITERAL2>\r
+                       <LITERAL2>SHIFT</LITERAL2>\r
+                       <LITERAL2>RIGHT</LITERAL2>\r
+                       <LITERAL2>SPACE</LITERAL2>\r
+                       <LITERAL2>TAB</LITERAL2>\r
+                       <LITERAL2>UP</LITERAL2>\r
+\r
+                       <!-- Mouse -->\r
+                       <LITERAL2>hide</LITERAL2>\r
+                       <LITERAL2>show</LITERAL2>\r
+                       <LITERAL2>onMouseWheel</LITERAL2>\r
+\r
+                       <!-- Selection Class-->\r
+                       <LITERAL2>getBeginIndex</LITERAL2>\r
+                       <LITERAL2>getCaretIndex</LITERAL2>\r
+                       <LITERAL2>getEndIndex</LITERAL2>\r
+                       <LITERAL2>getFocus</LITERAL2>\r
+                       <LITERAL2>setFocus</LITERAL2>\r
+                       <LITERAL2>setSelection</LITERAL2>\r
+\r
+                       <!-- SharedObject Class-->\r
+                       <LITERAL2>SharedObject</LITERAL2>\r
+                       <LITERAL2>data</LITERAL2>\r
+                       <LITERAL2>flush</LITERAL2>\r
+                       <LITERAL2>getLocal</LITERAL2>\r
+                       <LITERAL2>getSize</LITERAL2>\r
+\r
+                       <!-- Sound Class -->\r
+                       <LITERAL2>attachSound</LITERAL2>\r
+                       <LITERAL2>getVolume</LITERAL2>\r
+                       <LITERAL2>loadSound</LITERAL2>\r
+                       <LITERAL2>setPan</LITERAL2>\r
+                       <LITERAL2>getPan</LITERAL2>\r
+                       <LITERAL2>setVolume</LITERAL2>\r
+                       <LITERAL2>start</LITERAL2>\r
+                       <LITERAL2>duration</LITERAL2>\r
+                       <LITERAL2>position</LITERAL2>\r
+                       <LITERAL2>onSoundComplete</LITERAL2>\r
+                       <LITERAL2>id3</LITERAL2>\r
+                       <LITERAL2>onID3</LITERAL2>\r
+\r
+                       <!-- Video Class -->\r
+                       <LITERAL2>Video</LITERAL2>\r
+                       <LITERAL2>deblocking</LITERAL2>\r
+                       <LITERAL2>smoothing</LITERAL2>\r
+\r
+                       <!--  Stage Class -->\r
+                       <LITERAL2>Stage</LITERAL2>\r
+                       <LITERAL2>align</LITERAL2>\r
+                       <LITERAL2>height</LITERAL2>\r
+                       <LITERAL2>scaleMode</LITERAL2>\r
+                       <LITERAL2>showMenu</LITERAL2>\r
+                       <LITERAL2>width</LITERAL2>\r
+                       <LITERAL2>onResize</LITERAL2>\r
+\r
+                       <!-- TextField Class -->\r
+                       <LITERAL2>getFontList</LITERAL2>\r
+                       <LITERAL2>getNewTextFormat</LITERAL2>\r
+                       <LITERAL2>getTextFormat</LITERAL2>\r
+                       <LITERAL2>removeTextField</LITERAL2>\r
+                       <LITERAL2>replaceSel</LITERAL2>\r
+                       <LITERAL2>setNewTextFormat</LITERAL2>\r
+                       <LITERAL2>setTextFormat</LITERAL2>\r
+                       <LITERAL2>autoSize</LITERAL2>\r
+                       <LITERAL2>background</LITERAL2>\r
+                       <LITERAL2>backgroundColor</LITERAL2>\r
+                       <LITERAL2>border</LITERAL2>\r
+                       <LITERAL2>borderColor</LITERAL2>\r
+                       <LITERAL2>bottomScroll</LITERAL2>\r
+                       <LITERAL2>embedFonts</LITERAL2>\r
+                       <LITERAL2>hscroll</LITERAL2>\r
+                       <LITERAL2>html</LITERAL2>\r
+                       <LITERAL2>htmlText</LITERAL2>\r
+                       <LITERAL2>maxChars</LITERAL2>\r
+                       <LITERAL2>maxhscroll</LITERAL2>\r
+                       <LITERAL2>multiline</LITERAL2>\r
+                       <LITERAL2>password</LITERAL2>\r
+                       <LITERAL2>restrict</LITERAL2>\r
+                       <LITERAL2>selectable</LITERAL2>\r
+                       <LITERAL2>text</LITERAL2>\r
+                       <LITERAL2>textColor</LITERAL2>\r
+                       <LITERAL2>textHeight</LITERAL2>\r
+                       <LITERAL2>textWidth</LITERAL2>\r
+                       <LITERAL2>type</LITERAL2>\r
+                       <LITERAL2>variable</LITERAL2>\r
+                       <LITERAL2>wordWrap</LITERAL2>\r
+                       <LITERAL2>onChanged</LITERAL2>\r
+                       <LITERAL2>onScroller</LITERAL2>\r
+                       <LITERAL2>TextField</LITERAL2>\r
+                       <LITERAL2>mouseWheelEnabled</LITERAL2>\r
+                       <LITERAL2>replaceText</LITERAL2>\r
+\r
+                       <!-- StyleSheet Class -->\r
+                       <LITERAL2>StyleSheet</LITERAL2>\r
+                       <LITERAL2>getStyle</LITERAL2>\r
+                       <LITERAL2>getStyleNames</LITERAL2>\r
+                       <LITERAL2>parseCSS</LITERAL2>\r
+                       <LITERAL2>setStyle</LITERAL2>\r
+                       <LITERAL2>styleSheet</LITERAL2>\r
+\r
+                       <!-- TextFormat Class -->\r
+                       <LITERAL2>TextFormat</LITERAL2>\r
+                       <LITERAL2>getTextExtent</LITERAL2>\r
+                       <LITERAL2>blockIndent</LITERAL2>\r
+                       <LITERAL2>bold</LITERAL2>\r
+                       <LITERAL2>bullet</LITERAL2>\r
+                       <LITERAL2>color</LITERAL2>\r
+                       <LITERAL2>font</LITERAL2>\r
+                       <LITERAL2>indent</LITERAL2>\r
+                       <LITERAL2>italic</LITERAL2>\r
+                       <LITERAL2>leading</LITERAL2>\r
+                       <LITERAL2>leftMargin</LITERAL2>\r
+                       <LITERAL2>rightMargin</LITERAL2>\r
+                       <LITERAL2>size</LITERAL2>\r
+                       <LITERAL2>tabStops</LITERAL2>\r
+                       <LITERAL2>target</LITERAL2>\r
+                       <LITERAL2>underline</LITERAL2>\r
+                       <LITERAL2>url</LITERAL2>\r
+\r
+                       <!-- TextSnapshot object -->\r
+                       <LITERAL2>TextSnapshot</LITERAL2>\r
+                       <LITERAL2>findText</LITERAL2>\r
+                       <LITERAL2>getCount</LITERAL2>\r
+                       <LITERAL2>getSelected</LITERAL2>\r
+                       <LITERAL2>getSelectedText</LITERAL2>\r
+                       <LITERAL2>hitTestTextNearPos</LITERAL2>\r
+                       <LITERAL2>getText</LITERAL2>\r
+                       <LITERAL2>setSelectColor</LITERAL2>\r
+                       <LITERAL2>setSelected</LITERAL2>\r
+\r
+                       <!-- LoadVars Class-->\r
+                       <LITERAL2>LoadVars</LITERAL2>\r
+                       <LITERAL2>load</LITERAL2>\r
+                       <LITERAL2>send</LITERAL2>\r
+                       <LITERAL2>sendAndLoad</LITERAL2>\r
+                       <LITERAL2>contentType</LITERAL2>\r
+                       <LITERAL2>loaded</LITERAL2>\r
+                       <LITERAL2>addRequestHeader</LITERAL2>\r
+\r
+                       <!-- LocalConnection Class-->\r
+                       <LITERAL2>LocalConnection</LITERAL2>\r
+                       <LITERAL2>allowDomain</LITERAL2>\r
+                       <LITERAL2>allowInsecureDomain</LITERAL2>\r
+                       <LITERAL2>domain</LITERAL2>\r
+\r
+                       <!-- XML Class -->\r
+                       <LITERAL2>appendChild</LITERAL2>\r
+                       <LITERAL2>cloneNode</LITERAL2>\r
+                       <LITERAL2>createElement</LITERAL2>\r
+                       <LITERAL2>createTextNode</LITERAL2>\r
+                       <LITERAL2>hasChildNodes</LITERAL2>\r
+                       <LITERAL2>insertBefore</LITERAL2>\r
+                       <LITERAL2>parseXML</LITERAL2>\r
+                       <LITERAL2>removeNode</LITERAL2>\r
+                       <LITERAL2>attributes</LITERAL2>\r
+                       <LITERAL2>childNodes</LITERAL2>\r
+                       <LITERAL2>docTypeDecl</LITERAL2>\r
+                       <LITERAL2>firstChild</LITERAL2>\r
+                       <LITERAL2>ignoreWhite</LITERAL2>\r
+                       <LITERAL2>lastChild</LITERAL2>\r
+                       <LITERAL2>nextSibling</LITERAL2>\r
+                       <LITERAL2>nodeName</LITERAL2>\r
+                       <LITERAL2>nodeType</LITERAL2>\r
+                       <LITERAL2>nodeValue</LITERAL2>\r
+                       <LITERAL2>parentNode</LITERAL2>\r
+                       <LITERAL2>previousSibling</LITERAL2>\r
+                       <LITERAL2>status</LITERAL2>\r
+                       <LITERAL2>xmlDecl</LITERAL2>\r
+                       <LITERAL2>close</LITERAL2>\r
+                       <LITERAL2>connect</LITERAL2>\r
+                       <LITERAL2>onClose</LITERAL2>\r
+                       <LITERAL2>onConnect</LITERAL2>\r
+                       <LITERAL2>onXML</LITERAL2>\r
+\r
+                       <!-- CustomActions Class -->\r
+                       <LITERAL2>CustomActions</LITERAL2>\r
+                       <LITERAL2>onUpdate</LITERAL2>\r
+                       <LITERAL2>uninstall</LITERAL2>\r
+                       <LITERAL2>list</LITERAL2>\r
+                       <LITERAL2>install</LITERAL2>\r
+                       <LITERAL2>get</LITERAL2>\r
+\r
+                       <!-- NetConnection Class -->\r
+                       <LITERAL2>NetConnection</LITERAL2>\r
+\r
+                       <!-- NetStream Class-->\r
+                       <LITERAL2>NetStream</LITERAL2>\r
+                       <LITERAL2>bufferLength</LITERAL2>\r
+                       <LITERAL2>bufferTime</LITERAL2>\r
+                       <LITERAL2>bytesLoaded</LITERAL2>\r
+                       <LITERAL2>bytesTotal</LITERAL2>\r
+                       <LITERAL2>pause</LITERAL2>\r
+                       <LITERAL2>seek</LITERAL2>\r
+                       <LITERAL2>setBufferTime</LITERAL2>\r
+                       <LITERAL2>time</LITERAL2>\r
+\r
+                       <!-- RecordSet Class -->\r
+                       <LITERAL2>DataGlue</LITERAL2>\r
+                       <LITERAL2>bindFormatFunction</LITERAL2>\r
+                       <LITERAL2>bindFormatStrings</LITERAL2>\r
+                       <LITERAL2>getDebugConfig</LITERAL2>\r
+                       <LITERAL2>getDebugID</LITERAL2>\r
+                       <LITERAL2>getService</LITERAL2>\r
+                       <LITERAL2>setCredentials</LITERAL2>\r
+                       <LITERAL2>setDebugID</LITERAL2>\r
+                       <LITERAL2>getDebug</LITERAL2>\r
+                       <LITERAL2>setDebug</LITERAL2>\r
+                       <LITERAL2>createGatewayConnection</LITERAL2>\r
+                       <LITERAL2>NetServices</LITERAL2>\r
+                       <LITERAL2>setDefaultGatewayURL</LITERAL2>\r
+                       <LITERAL2>addItem</LITERAL2>\r
+                       <LITERAL2>addItemAt</LITERAL2>\r
+                       <LITERAL2>addView</LITERAL2>\r
+                       <LITERAL2>filter</LITERAL2>\r
+                       <LITERAL2>getColumnNames</LITERAL2>\r
+                       <LITERAL2>getItemAt</LITERAL2>\r
+                       <LITERAL2>getLength</LITERAL2>\r
+                       <LITERAL2>getNumberAvailable</LITERAL2>\r
+                       <LITERAL2>isFullyPopulated</LITERAL2>\r
+                       <LITERAL2>isLocal</LITERAL2>\r
+                       <LITERAL2>removeAll</LITERAL2>\r
+                       <LITERAL2>removeItemAt</LITERAL2>\r
+                       <LITERAL2>replaceItemAt</LITERAL2>\r
+                       <LITERAL2>setDeliveryMode</LITERAL2>\r
+                       <LITERAL2>setField</LITERAL2>\r
+                       <LITERAL2>sortItemsBy</LITERAL2>\r
+\r
+                       <!-- deprecated-->\r
+                       <KEYWORD2>chr</KEYWORD2>\r
+                       <KEYWORD2>mbchr</KEYWORD2>\r
+                       <KEYWORD2>mblength</KEYWORD2>\r
+                       <KEYWORD2>mbord</KEYWORD2>\r
+                       <KEYWORD2>mbsubstring</KEYWORD2>\r
+                       <KEYWORD2>ord</KEYWORD2>\r
+                       <KEYWORD2>_highquality</KEYWORD2>\r
+\r
+                       <!-- END-->\r
+\r
+                       <!--ECMAScript keywords-->\r
+                       <!-- Reserved for future use\r
+                               (some are already used in some Javascript Engines)\r
+                       -->\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>debugger</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD1>enum</KEYWORD1>\r
+                       <KEYWORD2>export</KEYWORD2>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+\r
+                       <KEYWORD2>import</KEYWORD2>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD1>interface</KEYWORD1>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD2>package</KEYWORD2>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>Void</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>dynamic</KEYWORD1>\r
+\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <LITERAL2>super</LITERAL2>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>volatile</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ada95.xml b/basis/xmode/modes/ada95.xml
new file mode 100644 (file)
index 0000000..a6d1550
--- /dev/null
@@ -0,0 +1,224 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Normal comments. -->\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               \r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">..</SEQ>\r
+               <SEQ TYPE="OPERATOR">.all</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="NULL">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="LABEL">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="LABEL">&gt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">**</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <SEQ TYPE="KEYWORD3">'access</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'address</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'adjacent</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'aft</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'alignment</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'base</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'bit_order</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'body_version</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'callable</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'caller</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'ceiling</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'class</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'component_size</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'composed</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'constrained</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'copy_size</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'count</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'definite</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'delta</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'denorm</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'digits</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'exponent</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'external_tag</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'first</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'first_bit</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'floor</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'fore</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'fraction</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'genetic</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'identity</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'image</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'input</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'last</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'last_bit</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'leading_part</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'length</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_emax</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_emin</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_mantissa</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_overflows</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_radix</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'machine_rounds</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'max</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'max_size_in_storage_elements</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'min</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'model</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'model_emin</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'model_epsilon</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'model_mantissa</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'model_small</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'modulus</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'output</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'partition_id</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'pos</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'position</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'pred</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'range</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'read</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'remainder</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'round</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'rounding</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'safe_first</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'safe_last</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'scale</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'scaling</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'signed_zeros</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'size</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'small</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'storage_pool</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'storage_size</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'succ</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'tag</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'terminated</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'truncation</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'unbiased_rounding</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'unchecked_access</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'val</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'valid</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'value</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'version</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'wide_image</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'wide_value</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'wide_width</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'width</SEQ>\r
+               <SEQ TYPE="KEYWORD3">'write</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Reserved words -->\r
+                       <KEYWORD1>entry</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>procedure</KEYWORD1>\r
+\r
+                       <KEYWORD2>abort</KEYWORD2>\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>abstract</KEYWORD2>\r
+                       <KEYWORD2>accept</KEYWORD2>\r
+                       <KEYWORD2>access</KEYWORD2>\r
+                       <KEYWORD2>aliased</KEYWORD2>\r
+                       <KEYWORD2>all</KEYWORD2>\r
+                       <KEYWORD2>and</KEYWORD2>\r
+                       <KEYWORD2>array</KEYWORD2>\r
+                       <KEYWORD2>at</KEYWORD2>\r
+                       <KEYWORD2>begin</KEYWORD2>\r
+                       <KEYWORD2>body</KEYWORD2>\r
+                       <KEYWORD2>case</KEYWORD2>\r
+                       <KEYWORD2>constant</KEYWORD2>\r
+                       <KEYWORD2>declare</KEYWORD2>\r
+                       <KEYWORD2>delay</KEYWORD2>\r
+                       <KEYWORD2>delta</KEYWORD2>\r
+                       <KEYWORD2>digits</KEYWORD2>\r
+                       <KEYWORD2>do</KEYWORD2>\r
+                       <KEYWORD2>else</KEYWORD2>\r
+                       <KEYWORD2>elsif</KEYWORD2>\r
+                       <KEYWORD2>end</KEYWORD2>\r
+                       <KEYWORD2>exception</KEYWORD2>\r
+                       <KEYWORD2>exit</KEYWORD2>\r
+                       <KEYWORD2>for</KEYWORD2>\r
+                       <KEYWORD2>goto</KEYWORD2>\r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>in</KEYWORD2>\r
+                       <KEYWORD2>is</KEYWORD2>\r
+                       <KEYWORD2>limited</KEYWORD2>\r
+                       <KEYWORD2>loop</KEYWORD2>\r
+                       <KEYWORD2>mod</KEYWORD2>\r
+                       <KEYWORD2>new</KEYWORD2>\r
+                       <KEYWORD2>not</KEYWORD2>\r
+                       <KEYWORD2>or</KEYWORD2>\r
+                       <KEYWORD2>others</KEYWORD2>\r
+                       <KEYWORD2>out</KEYWORD2>\r
+                       <KEYWORD2>package</KEYWORD2>\r
+                       <KEYWORD2>pragma</KEYWORD2>\r
+                       <KEYWORD2>private</KEYWORD2>\r
+                       <KEYWORD2>protected</KEYWORD2>\r
+                       <KEYWORD2>raise</KEYWORD2>\r
+                       <KEYWORD2>range</KEYWORD2>\r
+                       <KEYWORD2>record</KEYWORD2>\r
+                       <KEYWORD2>rem</KEYWORD2>\r
+                       <KEYWORD2>renames</KEYWORD2>\r
+                       <KEYWORD2>requeue</KEYWORD2>\r
+                       <KEYWORD2>return</KEYWORD2>\r
+                       <KEYWORD2>select</KEYWORD2>\r
+                       <KEYWORD2>separate</KEYWORD2>\r
+                       <KEYWORD2>string</KEYWORD2>\r
+                       <KEYWORD2>subtype</KEYWORD2>\r
+                       <KEYWORD2>tagged</KEYWORD2>\r
+                       <KEYWORD2>task</KEYWORD2>\r
+                       <KEYWORD2>terminate</KEYWORD2>\r
+                       <KEYWORD2>then</KEYWORD2>\r
+                       <KEYWORD2>type</KEYWORD2>\r
+                       <KEYWORD2>until</KEYWORD2>\r
+                       <KEYWORD2>use</KEYWORD2>\r
+                       <KEYWORD2>when</KEYWORD2>\r
+                       <KEYWORD2>while</KEYWORD2>\r
+                       <KEYWORD2>with</KEYWORD2>\r
+                       <KEYWORD2>xor</KEYWORD2>\r
+\r
+                       <!-- Attributes -->\r
+\r
+                       <!-- Common Pre-defined Types -->\r
+                       <LITERAL2>address</LITERAL2>\r
+                       <LITERAL2>boolean</LITERAL2>\r
+                       <LITERAL2>character</LITERAL2>\r
+                       <LITERAL2>duration</LITERAL2>\r
+                       <LITERAL2>float</LITERAL2>\r
+                       <LITERAL2>integer</LITERAL2>\r
+                       <LITERAL2>latin_1</LITERAL2>\r
+                       <LITERAL2>natural</LITERAL2>\r
+                       <LITERAL2>positive</LITERAL2>\r
+                       <LITERAL2>string</LITERAL2>\r
+                       <LITERAL2>time</LITERAL2>\r
+\r
+                       <!-- Literals -->\r
+                       <LITERAL1>false</LITERAL1>\r
+                       <LITERAL1>null</LITERAL1>\r
+                       <LITERAL1>true</LITERAL1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/antlr.xml b/basis/xmode/modes/antlr.xml
new file mode 100644 (file)
index 0000000..1e5dd12
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+        This mode file describes the ANTLR syntax definition language.\r
+        It is derived from and tested with the ANTLR syntax rules specified in\r
+        antlr.g included with the ANTLR distribution.\r
+        \r
+        Portions of this file from java.xml.\r
+        \r
+        Author: Brant Gurganus <brantgurga@users.sourceforge.net>\r
+-->\r
+<MODE>\r
+        <PROPS>\r
+                <PROPERTY NAME="commentStart" VALUE="/*" />\r
+                <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+                <PROPERTY NAME="lineComment" VALUE="//" />\r
+                <PROPERTY NAME="wordBreakChars" VALUE="" />\r
+        </PROPS>\r
+        <RULES>\r
+               <SPAN TYPE="COMMENT2" DELEGATE="java::JAVADOC">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+                <SPAN TYPE="COMMENT1">\r
+                        <BEGIN>/*</BEGIN>\r
+                        <END>*/</END>\r
+                </SPAN>\r
+                <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+                <SPAN TYPE="LITERAL1">\r
+                        <BEGIN>"</BEGIN>\r
+                        <END>"</END>\r
+                </SPAN>\r
+                <SEQ TYPE="OPERATOR">|</SEQ>\r
+                <SEQ TYPE="OPERATOR">:</SEQ>\r
+                <KEYWORDS>\r
+                        <KEYWORD3>header</KEYWORD3>\r
+                        <KEYWORD3>options</KEYWORD3>\r
+                        <KEYWORD3>tokens</KEYWORD3>\r
+                        <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>volatile</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>package</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+\r
+                       <KEYWORD2>boolean</KEYWORD2>\r
+                       <KEYWORD2>byte</KEYWORD2>\r
+                       <KEYWORD2>char</KEYWORD2>\r
+                       <KEYWORD2>class</KEYWORD2>\r
+                       <KEYWORD2>double</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>int</KEYWORD2>\r
+                       <KEYWORD2>interface</KEYWORD2>\r
+                       <KEYWORD2>long</KEYWORD2>\r
+                       <KEYWORD2>short</KEYWORD2>\r
+                       <KEYWORD2>void</KEYWORD2>\r
+\r
+                       <FUNCTION>assert</FUNCTION>\r
+                       <KEYWORD1>strictfp</KEYWORD1>\r
+\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>super</LITERAL2>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+\r
+                       <INVALID>goto</INVALID>\r
+                       <INVALID>const</INVALID>\r
+                </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/apacheconf.xml b/basis/xmode/modes/apacheconf.xml
new file mode 100644 (file)
index 0000000..1c16a35
--- /dev/null
@@ -0,0 +1,1007 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="noWordSep" VALUE="-" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;VirtualHost" TYPE="MARKUP" DELEGATE="VHOST">\r
+                       <BEGIN><![CDATA[<(VirtualHost)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
+                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>AcceptMutex</KEYWORD1>\r
+                       <KEYWORD1>AcceptPathInfo</KEYWORD1>\r
+                       <KEYWORD1>AccessFileName</KEYWORD1>\r
+                       <KEYWORD1>Action</KEYWORD1>\r
+                       <KEYWORD1>AddAlt</KEYWORD1>\r
+                       <KEYWORD1>AddAltByEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddAltByType</KEYWORD1>\r
+                       <KEYWORD1>AddCharset</KEYWORD1>\r
+                       <KEYWORD1>AddDefaultCharset</KEYWORD1>\r
+                       <KEYWORD1>AddDescription</KEYWORD1>\r
+                       <KEYWORD1>AddEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddHandler</KEYWORD1>\r
+                       <KEYWORD1>AddIcon</KEYWORD1>\r
+                       <KEYWORD1>AddIconByEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddIconByType</KEYWORD1>\r
+                       <KEYWORD1>AddInputFilter</KEYWORD1>\r
+                       <KEYWORD1>AddLanguage</KEYWORD1>\r
+                       <KEYWORD1>AddModuleInfo</KEYWORD1>\r
+                       <KEYWORD1>AddOutputFilter</KEYWORD1>\r
+                       <KEYWORD1>AddOutputFilterByType</KEYWORD1>\r
+                       <KEYWORD1>AddType</KEYWORD1>\r
+                       <KEYWORD1>Alias</KEYWORD1>\r
+                       <KEYWORD1>AliasMatch</KEYWORD1>\r
+                       <KEYWORD1>AllowCONNECT</KEYWORD1>\r
+                       <KEYWORD1>AllowEncodedSlashes</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestNcCheck</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestShmemSize</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPCharsetConfig</KEYWORD1>\r
+                       <KEYWORD1>BS2000Account</KEYWORD1>\r
+                       <KEYWORD1>BrowserMatch</KEYWORD1>\r
+                       <KEYWORD1>BrowserMatchNoCase</KEYWORD1>\r
+                       <KEYWORD1>CacheDefaultExpire</KEYWORD1>\r
+                       <KEYWORD1>CacheDirLength</KEYWORD1>\r
+                       <KEYWORD1>CacheDirLevels</KEYWORD1>\r
+                       <KEYWORD1>CacheDisable</KEYWORD1>\r
+                       <KEYWORD1>CacheEnable</KEYWORD1>\r
+                       <KEYWORD1>CacheExpiryCheck</KEYWORD1>\r
+                       <KEYWORD1>CacheFile</KEYWORD1>\r
+                       <KEYWORD1>CacheForceCompletion</KEYWORD1>\r
+                       <KEYWORD1>CacheGcClean</KEYWORD1>\r
+                       <KEYWORD1>CacheGcDaily</KEYWORD1>\r
+                       <KEYWORD1>CacheGcInterval</KEYWORD1>\r
+                       <KEYWORD1>CacheGcMemUsage</KEYWORD1>\r
+                       <KEYWORD1>CacheGcUnused</KEYWORD1>\r
+                       <KEYWORD1>CacheIgnoreCacheControl</KEYWORD1>\r
+                       <KEYWORD1>CacheIgnoreNoLastMod</KEYWORD1>\r
+                       <KEYWORD1>CacheLastModifiedFactor</KEYWORD1>\r
+                       <KEYWORD1>CacheMaxExpire</KEYWORD1>\r
+                       <KEYWORD1>CacheMaxFileSize</KEYWORD1>\r
+                       <KEYWORD1>CacheMinFileSize</KEYWORD1>\r
+                       <KEYWORD1>CacheNegotiatedDocs</KEYWORD1>\r
+                       <KEYWORD1>CacheRoot</KEYWORD1>\r
+                       <KEYWORD1>CacheSize</KEYWORD1>\r
+                       <KEYWORD1>CacheTimeMargin</KEYWORD1>\r
+                       <KEYWORD1>CharsetDefault</KEYWORD1>\r
+                       <KEYWORD1>CharsetOptions</KEYWORD1>\r
+                       <KEYWORD1>CharsetSourceEnc</KEYWORD1>\r
+                       <KEYWORD1>CheckSpelling</KEYWORD1>\r
+                       <KEYWORD1>ChildPerUserID</KEYWORD1>\r
+                       <KEYWORD1>ContentDigest</KEYWORD1>\r
+                       <KEYWORD1>CookieDomain</KEYWORD1>\r
+                       <KEYWORD1>CookieExpires</KEYWORD1>\r
+                       <KEYWORD1>CookieLog</KEYWORD1>\r
+                       <KEYWORD1>CookieName</KEYWORD1>\r
+                       <KEYWORD1>CookieStyle</KEYWORD1>\r
+                       <KEYWORD1>CookieTracking</KEYWORD1>\r
+                       <KEYWORD1>CoreDumpDirectory</KEYWORD1>\r
+                       <KEYWORD1>CustomLog</KEYWORD1>\r
+                       <KEYWORD1>DavDepthInfinity</KEYWORD1>\r
+                       <KEYWORD1>DavLockDB</KEYWORD1>\r
+                       <KEYWORD1>DavMinTimeout</KEYWORD1>\r
+                       <KEYWORD1>DefaultIcon</KEYWORD1>\r
+                       <KEYWORD1>DefaultLanguage</KEYWORD1>\r
+                       <KEYWORD1>DefaultType</KEYWORD1>\r
+                       <KEYWORD1>DeflateBufferSize</KEYWORD1>\r
+                       <KEYWORD1>DeflateCompressionLevel</KEYWORD1>\r
+                       <KEYWORD1>DeflateFilterNote</KEYWORD1>\r
+                       <KEYWORD1>DeflateMemLevel</KEYWORD1>\r
+                       <KEYWORD1>DeflateWindowSize</KEYWORD1>\r
+                       <KEYWORD1>DirectoryIndex</KEYWORD1>\r
+                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
+                       <KEYWORD1>DocumentRoot</KEYWORD1>\r
+                       <KEYWORD1>EnableExceptionHook</KEYWORD1>\r
+                       <KEYWORD1>EnableMMAP</KEYWORD1>\r
+                       <KEYWORD1>EnableSendfile</KEYWORD1>\r
+                       <KEYWORD1>ErrorDocument</KEYWORD1>\r
+                       <KEYWORD1>ErrorLog</KEYWORD1>\r
+                       <KEYWORD1>Example</KEYWORD1>\r
+                       <KEYWORD1>ExpiresActive</KEYWORD1>\r
+                       <KEYWORD1>ExpiresByType</KEYWORD1>\r
+                       <KEYWORD1>ExpiresDefault</KEYWORD1>\r
+                       <KEYWORD1>ExtFilterDefine</KEYWORD1>\r
+                       <KEYWORD1>ExtendedStatus</KEYWORD1>\r
+                       <KEYWORD1>FileETag</KEYWORD1>\r
+                       <KEYWORD1>ForceLanguagePriority</KEYWORD1>\r
+                       <KEYWORD1>ForensicLog</KEYWORD1>\r
+                       <KEYWORD1>Group</KEYWORD1>\r
+                       <KEYWORD1>Header</KEYWORD1>\r
+                       <KEYWORD1>HeaderName</KEYWORD1>\r
+                       <KEYWORD1>HostnameLookups</KEYWORD1>\r
+                       <KEYWORD1>ISAPIAppendLogToErrors</KEYWORD1>\r
+                       <KEYWORD1>ISAPIAppendLogToQuery</KEYWORD1>\r
+                       <KEYWORD1>ISAPICacheFile</KEYWORD1>\r
+                       <KEYWORD1>ISAPIFakeAsync</KEYWORD1>\r
+                       <KEYWORD1>ISAPILogNotSupported</KEYWORD1>\r
+                       <KEYWORD1>ISAPIReadAheadBuffer</KEYWORD1>\r
+                       <KEYWORD1>IdentityCheck</KEYWORD1>\r
+                       <KEYWORD1>ImapBase</KEYWORD1>\r
+                       <KEYWORD1>ImapDefault</KEYWORD1>\r
+                       <KEYWORD1>ImapMenu</KEYWORD1>\r
+                       <KEYWORD1>Include</KEYWORD1>\r
+                       <KEYWORD1>IndexIgnore</KEYWORD1>\r
+                       <KEYWORD1>IndexOptions</KEYWORD1>\r
+                       <KEYWORD1>IndexOrderDefault</KEYWORD1>\r
+                       <KEYWORD1>KeepAlive</KEYWORD1>\r
+                       <KEYWORD1>KeepAliveTimeout</KEYWORD1>\r
+                       <KEYWORD1>LDAPCacheEntries</KEYWORD1>\r
+                       <KEYWORD1>LDAPCacheTTL</KEYWORD1>\r
+                       <KEYWORD1>LDAPOpCacheEntries</KEYWORD1>\r
+                       <KEYWORD1>LDAPOpCacheTTL</KEYWORD1>\r
+                       <KEYWORD1>LDAPSharedCacheFile</KEYWORD1>\r
+                       <KEYWORD1>LDAPSharedCacheSize</KEYWORD1>\r
+                       <KEYWORD1>LDAPTrustedCA</KEYWORD1>\r
+                       <KEYWORD1>LDAPTrustedCAType</KEYWORD1>\r
+                       <KEYWORD1>LanguagePriority</KEYWORD1>\r
+                       <KEYWORD1>LimitInternalRecursion</KEYWORD1>\r
+                       <KEYWORD1>LimitRequestBody</KEYWORD1>\r
+                       <KEYWORD1>LimitRequestFields</KEYWORD1>\r
+                       <KEYWORD1>LimitRequestFieldsize</KEYWORD1>\r
+                       <KEYWORD1>LimitRequestLine</KEYWORD1>\r
+                       <KEYWORD1>LimitXMLRequestBody</KEYWORD1>\r
+                       <KEYWORD1>Listen</KEYWORD1>\r
+                       <KEYWORD1>ListenBacklog</KEYWORD1>\r
+                       <KEYWORD1>LoadFile</KEYWORD1>\r
+                       <KEYWORD1>LoadModule</KEYWORD1>\r
+                       <KEYWORD1>LockFile</KEYWORD1>\r
+                       <KEYWORD1>LogFormat</KEYWORD1>\r
+                       <KEYWORD1>LogLevel</KEYWORD1>\r
+                       <KEYWORD1>MCacheMaxObjectCount</KEYWORD1>\r
+                       <KEYWORD1>MCacheMaxObjectSize</KEYWORD1>\r
+                       <KEYWORD1>MCacheMaxStreamingBuffer</KEYWORD1>\r
+                       <KEYWORD1>MCacheMinObjectSize</KEYWORD1>\r
+                       <KEYWORD1>MCacheRemovalAlgorithm</KEYWORD1>\r
+                       <KEYWORD1>MCacheSize</KEYWORD1>\r
+                       <KEYWORD1>MMapFile</KEYWORD1>\r
+                       <KEYWORD1>MaxClients</KEYWORD1>\r
+                       <KEYWORD1>MaxKeepAliveRequests</KEYWORD1>\r
+                       <KEYWORD1>MaxMemFree</KEYWORD1>\r
+                       <KEYWORD1>MaxRequestsPerChild</KEYWORD1>\r
+                       <KEYWORD1>MaxRequestsPerThread</KEYWORD1>\r
+                       <KEYWORD1>MaxSpareServers</KEYWORD1>\r
+                       <KEYWORD1>MaxSpareThreads</KEYWORD1>\r
+                       <KEYWORD1>MaxThreads</KEYWORD1>\r
+                       <KEYWORD1>MaxThreadsPerChild</KEYWORD1>\r
+                       <KEYWORD1>MetaDir</KEYWORD1>\r
+                       <KEYWORD1>MetaFiles</KEYWORD1>\r
+                       <KEYWORD1>MetaSuffix</KEYWORD1>\r
+                       <KEYWORD1>MimeMagicFile</KEYWORD1>\r
+                       <KEYWORD1>MinSpareServers</KEYWORD1>\r
+                       <KEYWORD1>MinSpareThreads</KEYWORD1>\r
+                       <KEYWORD1>MultiviewsMatch</KEYWORD1>\r
+                       <KEYWORD1>NWSSLTrustedCerts</KEYWORD1>\r
+                       <KEYWORD1>NWSSLUpgradeable</KEYWORD1>\r
+                       <KEYWORD1>NameVirtualHost</KEYWORD1>\r
+                       <KEYWORD1>NoProxy</KEYWORD1>\r
+                       <KEYWORD1>NumServers</KEYWORD1>\r
+                       <KEYWORD1>Options</KEYWORD1>\r
+                       <KEYWORD1>PassEnv</KEYWORD1>\r
+                       <KEYWORD1>PidFile</KEYWORD1>\r
+                       <KEYWORD1>ProtocolEcho</KEYWORD1>\r
+                       <KEYWORD1>ProxyBadHeader</KEYWORD1>\r
+                       <KEYWORD1>ProxyBlock</KEYWORD1>\r
+                       <KEYWORD1>ProxyDomain</KEYWORD1>\r
+                       <KEYWORD1>ProxyErrorOverride</KEYWORD1>\r
+                       <KEYWORD1>ProxyIOBufferSize</KEYWORD1>\r
+                       <KEYWORD1>ProxyMaxForwards</KEYWORD1>\r
+                       <KEYWORD1>ProxyPass</KEYWORD1>\r
+                       <KEYWORD1>ProxyPassReverse</KEYWORD1>\r
+                       <KEYWORD1>ProxyPreserveHost</KEYWORD1>\r
+                       <KEYWORD1>ProxyReceiveBufferSize</KEYWORD1>\r
+                       <KEYWORD1>ProxyRemote</KEYWORD1>\r
+                       <KEYWORD1>ProxyRemoteMatch</KEYWORD1>\r
+                       <KEYWORD1>ProxyRequests</KEYWORD1>\r
+                       <KEYWORD1>ProxyTimeout</KEYWORD1>\r
+                       <KEYWORD1>ProxyVia</KEYWORD1>\r
+                       <KEYWORD1>RLimitCPU</KEYWORD1>\r
+                       <KEYWORD1>RLimitMEM</KEYWORD1>\r
+                       <KEYWORD1>RLimitNPROC</KEYWORD1>\r
+                       <KEYWORD1>ReadmeName</KEYWORD1>\r
+                       <KEYWORD1>Redirect</KEYWORD1>\r
+                       <KEYWORD1>RedirectMatch</KEYWORD1>\r
+                       <KEYWORD1>RedirectPermanent</KEYWORD1>\r
+                       <KEYWORD1>RedirectTemp</KEYWORD1>\r
+                       <KEYWORD1>RequestHeader</KEYWORD1>\r
+                       <KEYWORD1>RewriteBase</KEYWORD1>\r
+                       <KEYWORD1>RewriteCond</KEYWORD1>\r
+                       <KEYWORD1>RewriteEngine</KEYWORD1>\r
+                       <KEYWORD1>RewriteLock</KEYWORD1>\r
+                       <KEYWORD1>RewriteLog</KEYWORD1>\r
+                       <KEYWORD1>RewriteLogLevel</KEYWORD1>\r
+                       <KEYWORD1>RewriteMap</KEYWORD1>\r
+                       <KEYWORD1>RewriteOptions</KEYWORD1>\r
+                       <KEYWORD1>RewriteRule</KEYWORD1>\r
+                       <KEYWORD1>SSIEndTag</KEYWORD1>\r
+                       <KEYWORD1>SSIErrorMsg</KEYWORD1>\r
+                       <KEYWORD1>SSIStartTag</KEYWORD1>\r
+                       <KEYWORD1>SSITimeFormat</KEYWORD1>\r
+                       <KEYWORD1>SSIUndefinedEcho</KEYWORD1>\r
+                       <KEYWORD1>SSLCACertificateFile</KEYWORD1>\r
+                       <KEYWORD1>SSLCACertificatePath</KEYWORD1>\r
+                       <KEYWORD1>SSLCARevocationFile</KEYWORD1>\r
+                       <KEYWORD1>SSLCARevocationPath</KEYWORD1>\r
+                       <KEYWORD1>SSLCertificateChainFile</KEYWORD1>\r
+                       <KEYWORD1>SSLCertificateFile</KEYWORD1>\r
+                       <KEYWORD1>SSLCertificateKeyFile</KEYWORD1>\r
+                       <KEYWORD1>SSLCipherSuite</KEYWORD1>\r
+                       <KEYWORD1>SSLEngine</KEYWORD1>\r
+                       <KEYWORD1>SSLMutex</KEYWORD1>\r
+                       <KEYWORD1>SSLOptions</KEYWORD1>\r
+                       <KEYWORD1>SSLPassPhraseDialog</KEYWORD1>\r
+                       <KEYWORD1>SSLProtocol</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCACertificateFile</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCACertificatePath</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCARevocationFile</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCARevocationPath</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCipherSuite</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyEngine</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyMachineCertificateFile</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyMachineCertificatePath</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyProtocol</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyVerify</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyVerifyDepth</KEYWORD1>\r
+                       <KEYWORD1>SSLRandomSeed</KEYWORD1>\r
+                       <KEYWORD1>SSLSessionCache</KEYWORD1>\r
+                       <KEYWORD1>SSLSessionCacheTimeout</KEYWORD1>\r
+                       <KEYWORD1>SSLVerifyClient</KEYWORD1>\r
+                       <KEYWORD1>SSLVerifyDepth</KEYWORD1>\r
+                       <KEYWORD1>ScoreBoardFile</KEYWORD1>\r
+                       <KEYWORD1>Script</KEYWORD1>\r
+                       <KEYWORD1>ScriptAlias</KEYWORD1>\r
+                       <KEYWORD1>ScriptAliasMatch</KEYWORD1>\r
+                       <KEYWORD1>ScriptInterpreterSource</KEYWORD1>\r
+                       <KEYWORD1>ScriptLog</KEYWORD1>\r
+                       <KEYWORD1>ScriptLogBuffer</KEYWORD1>\r
+                       <KEYWORD1>ScriptLogLength</KEYWORD1>\r
+                       <KEYWORD1>ScriptSock</KEYWORD1>\r
+                       <KEYWORD1>SecureListen</KEYWORD1>\r
+                       <KEYWORD1>SendBufferSize</KEYWORD1>\r
+                       <KEYWORD1>ServerAdmin</KEYWORD1>\r
+                       <KEYWORD1>ServerLimit</KEYWORD1>\r
+                       <KEYWORD1>ServerName</KEYWORD1>\r
+                       <KEYWORD1>ServerRoot</KEYWORD1>\r
+                       <KEYWORD1>ServerSignature</KEYWORD1>\r
+                       <KEYWORD1>ServerTokens</KEYWORD1>\r
+                       <KEYWORD1>SetEnv</KEYWORD1>\r
+                       <KEYWORD1>SetEnvIf</KEYWORD1>\r
+                       <KEYWORD1>SetEnvIfNoCase</KEYWORD1>\r
+                       <KEYWORD1>SetHandler</KEYWORD1>\r
+                       <KEYWORD1>SetInputFilter</KEYWORD1>\r
+                       <KEYWORD1>SetOutputFilter</KEYWORD1>\r
+                       <KEYWORD1>StartServers</KEYWORD1>\r
+                       <KEYWORD1>StartThreads</KEYWORD1>\r
+                       <KEYWORD1>SuexecUserGroup</KEYWORD1>\r
+                       <KEYWORD1>ThreadLimit</KEYWORD1>\r
+                       <KEYWORD1>ThreadStackSize</KEYWORD1>\r
+                       <KEYWORD1>ThreadsPerChild</KEYWORD1>\r
+                       <KEYWORD1>TimeOut</KEYWORD1>\r
+                       <KEYWORD1>TransferLog</KEYWORD1>\r
+                       <KEYWORD1>TypesConfig</KEYWORD1>\r
+                       <KEYWORD1>UnsetEnv</KEYWORD1>\r
+                       <KEYWORD1>UseCanonicalName</KEYWORD1>\r
+                       <KEYWORD1>User</KEYWORD1>\r
+                       <KEYWORD1>UserDir</KEYWORD1>\r
+                       <KEYWORD1>VirtualDocumentRoot</KEYWORD1>\r
+                       <KEYWORD1>VirtualDocumentRootIP</KEYWORD1>\r
+                       <KEYWORD1>VirtualScriptAlias</KEYWORD1>\r
+                       <KEYWORD1>VirtualScriptAliasIP</KEYWORD1>\r
+                       <KEYWORD1>Win32DisableAcceptEx</KEYWORD1>\r
+                       <KEYWORD1>XBitHack</KEYWORD1>\r
+\r
+                       <!-- Apache 1.x -->\r
+                       <KEYWORD4>AddModule</KEYWORD4>\r
+                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
+                       <KEYWORD4>ServerType</KEYWORD4>\r
+                       <KEYWORD4>Port</KEYWORD4>\r
+\r
+                       <LITERAL2>Off</LITERAL2>\r
+                       <LITERAL2>On</LITERAL2>\r
+                       <LITERAL2>None</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="DIRECTIVE" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;VirtualHost" TYPE="MARKUP" DELEGATE="VHOST">\r
+                       <BEGIN><![CDATA[<(VirtualHost)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
+                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <KEYWORDS>\r
+\r
+                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
+                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
+                       <KEYWORD2>AccessFileName</KEYWORD2>\r
+                       <KEYWORD2>Action</KEYWORD2>\r
+                       <KEYWORD2>AddAlt</KEYWORD2>\r
+                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddAltByType</KEYWORD2>\r
+                       <KEYWORD2>AddCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDescription</KEYWORD2>\r
+                       <KEYWORD2>AddEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddHandler</KEYWORD2>\r
+                       <KEYWORD2>AddIcon</KEYWORD2>\r
+                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddIconByType</KEYWORD2>\r
+                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddLanguage</KEYWORD2>\r
+                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
+                       <KEYWORD2>AddType</KEYWORD2>\r
+                       <KEYWORD2>Alias</KEYWORD2>\r
+                       <KEYWORD2>AliasMatch</KEYWORD2>\r
+                       <KEYWORD2>Allow</KEYWORD2>\r
+                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
+                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
+                       <KEYWORD2>AllowOverride</KEYWORD2>\r
+                       <KEYWORD2>Anonymous</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_Authoritative</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_LogEmail</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_MustGiveEmail</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_NoUserID</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_VerifyEmail</KEYWORD2>\r
+                       <KEYWORD2>AuthAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMType</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMUserFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestAlgorithm</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestDomain</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNonceFormat</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNonceLifetime</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestQop</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
+                       <KEYWORD2>AuthGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPBindDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPBindPassword</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPCompareDNOnServer</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPDereferenceAliases</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPEnabled</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPFrontPageHack</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPGroupAttribute</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPGroupAttributeIsDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPRemoteUserIsDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPUrl</KEYWORD2>\r
+                       <KEYWORD2>AuthName</KEYWORD2>\r
+                       <KEYWORD2>AuthType</KEYWORD2>\r
+                       <KEYWORD2>AuthUserFile</KEYWORD2>\r
+                       <KEYWORD2>BS2000Account</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
+                       <KEYWORD2>CGIMapExtension</KEYWORD2>\r
+                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
+                       <KEYWORD2>CacheDisable</KEYWORD2>\r
+                       <KEYWORD2>CacheEnable</KEYWORD2>\r
+                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
+                       <KEYWORD2>CacheFile</KEYWORD2>\r
+                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
+                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
+                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
+                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
+                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
+                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
+                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
+                       <KEYWORD2>CacheRoot</KEYWORD2>\r
+                       <KEYWORD2>CacheSize</KEYWORD2>\r
+                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
+                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
+                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
+                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
+                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
+                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
+                       <KEYWORD2>ContentDigest</KEYWORD2>\r
+                       <KEYWORD2>CookieDomain</KEYWORD2>\r
+                       <KEYWORD2>CookieExpires</KEYWORD2>\r
+                       <KEYWORD2>CookieLog</KEYWORD2>\r
+                       <KEYWORD2>CookieName</KEYWORD2>\r
+                       <KEYWORD2>CookieStyle</KEYWORD2>\r
+                       <KEYWORD2>CookieTracking</KEYWORD2>\r
+                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
+                       <KEYWORD2>CustomLog</KEYWORD2>\r
+                       <KEYWORD2>Dav</KEYWORD2>\r
+                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
+                       <KEYWORD2>DavLockDB</KEYWORD2>\r
+                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
+                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
+                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
+                       <KEYWORD2>DefaultType</KEYWORD2>\r
+                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
+                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
+                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
+                       <KEYWORD2>Deny</KEYWORD2>\r
+                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
+                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
+                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
+                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
+                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
+                       <KEYWORD2>ErrorLog</KEYWORD2>\r
+                       <KEYWORD2>Example</KEYWORD2>\r
+                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
+                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
+                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
+                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
+                       <KEYWORD2>ExtFilterOptions</KEYWORD2>\r
+                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
+                       <KEYWORD2>FileETag</KEYWORD2>\r
+                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>ForceType</KEYWORD2>\r
+                       <KEYWORD2>Group</KEYWORD2>\r
+                       <KEYWORD2>Header</KEYWORD2>\r
+                       <KEYWORD2>HeaderName</KEYWORD2>\r
+                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
+                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
+                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
+                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
+                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
+                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
+                       <KEYWORD2>ImapBase</KEYWORD2>\r
+                       <KEYWORD2>ImapDefault</KEYWORD2>\r
+                       <KEYWORD2>ImapMenu</KEYWORD2>\r
+                       <KEYWORD2>Include</KEYWORD2>\r
+                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
+                       <KEYWORD2>IndexOptions</KEYWORD2>\r
+                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
+                       <KEYWORD2>KeepAlive</KEYWORD2>\r
+                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
+                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
+                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
+                       <KEYWORD2>Listen</KEYWORD2>\r
+                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
+                       <KEYWORD2>LoadFile</KEYWORD2>\r
+                       <KEYWORD2>LoadModule</KEYWORD2>\r
+                       <KEYWORD2>LockFile</KEYWORD2>\r
+                       <KEYWORD2>LogFormat</KEYWORD2>\r
+                       <KEYWORD2>LogLevel</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
+                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
+                       <KEYWORD2>MCacheSize</KEYWORD2>\r
+                       <KEYWORD2>MMapFile</KEYWORD2>\r
+                       <KEYWORD2>MaxClients</KEYWORD2>\r
+                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
+                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MetaDir</KEYWORD2>\r
+                       <KEYWORD2>MetaFiles</KEYWORD2>\r
+                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
+                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
+                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>ModMimeUsePathInfo</KEYWORD2>\r
+                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
+                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
+                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
+                       <KEYWORD2>NoProxy</KEYWORD2>\r
+                       <KEYWORD2>NumServers</KEYWORD2>\r
+                       <KEYWORD2>Options</KEYWORD2>\r
+                       <KEYWORD2>Order</KEYWORD2>\r
+                       <KEYWORD2>PassEnv</KEYWORD2>\r
+                       <KEYWORD2>PidFile</KEYWORD2>\r
+                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
+                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
+                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
+                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
+                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
+                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
+                       <KEYWORD2>ProxyPass</KEYWORD2>\r
+                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
+                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
+                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
+                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
+                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
+                       <KEYWORD2>ProxyVia</KEYWORD2>\r
+                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
+                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
+                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
+                       <KEYWORD2>ReadmeName</KEYWORD2>\r
+                       <KEYWORD2>Redirect</KEYWORD2>\r
+                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
+                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
+                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
+                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
+                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
+                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
+                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
+                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveType</KEYWORD2>\r
+                       <KEYWORD2>RequestHeader</KEYWORD2>\r
+                       <KEYWORD2>Require</KEYWORD2>\r
+                       <KEYWORD2>RewriteBase</KEYWORD2>\r
+                       <KEYWORD2>RewriteCond</KEYWORD2>\r
+                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
+                       <KEYWORD2>RewriteLock</KEYWORD2>\r
+                       <KEYWORD2>RewriteLog</KEYWORD2>\r
+                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
+                       <KEYWORD2>RewriteMap</KEYWORD2>\r
+                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
+                       <KEYWORD2>RewriteRule</KEYWORD2>\r
+                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
+                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
+                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
+                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
+                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLMutex</KEYWORD2>\r
+                       <KEYWORD2>SSLOptions</KEYWORD2>\r
+                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
+                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
+                       <KEYWORD2>SSLRequire</KEYWORD2>\r
+                       <KEYWORD2>SSLRequireSSL</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>Satisfy</KEYWORD2>\r
+                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
+                       <KEYWORD2>Script</KEYWORD2>\r
+                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
+                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
+                       <KEYWORD2>ScriptLog</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
+                       <KEYWORD2>ScriptSock</KEYWORD2>\r
+                       <KEYWORD2>SecureListen</KEYWORD2>\r
+                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
+                       <KEYWORD2>ServerLimit</KEYWORD2>\r
+                       <KEYWORD2>ServerName</KEYWORD2>\r
+                       <KEYWORD2>ServerRoot</KEYWORD2>\r
+                       <KEYWORD2>ServerSignature</KEYWORD2>\r
+                       <KEYWORD2>ServerTokens</KEYWORD2>\r
+                       <KEYWORD2>SetEnv</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
+                       <KEYWORD2>SetHandler</KEYWORD2>\r
+                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
+                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>StartServers</KEYWORD2>\r
+                       <KEYWORD2>StartThreads</KEYWORD2>\r
+                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
+                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
+                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
+                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>TimeOut</KEYWORD2>\r
+                       <KEYWORD2>TransferLog</KEYWORD2>\r
+                       <KEYWORD2>TypesConfig</KEYWORD2>\r
+                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
+                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
+                       <KEYWORD2>User</KEYWORD2>\r
+                       <KEYWORD2>UserDir</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
+                       <KEYWORD2>XBitHack</KEYWORD2>\r
+\r
+                       <!-- Apache 1.x -->\r
+                       <KEYWORD4>AddModule</KEYWORD4>\r
+                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
+\r
+                       <!-- Subversion directives -->\r
+                       <KEYWORD3>SVNPath</KEYWORD3>\r
+                       <KEYWORD3>SVNParentPath</KEYWORD3>\r
+                       <KEYWORD3>SVNIndexXSLT</KEYWORD3>\r
+\r
+                       <!-- mod_python directives -->\r
+                       <KEYWORD3>PythonHandler</KEYWORD3>\r
+                       <KEYWORD3>PythonDebug</KEYWORD3>\r
+\r
+                       <LITERAL2>All</LITERAL2>\r
+                       <LITERAL2>ExecCGI</LITERAL2>\r
+                       <LITERAL2>FollowSymLinks</LITERAL2>\r
+                       <LITERAL2>Includes</LITERAL2>\r
+                       <LITERAL2>IncludesNOEXEC</LITERAL2>\r
+                       <LITERAL2>Indexes</LITERAL2>\r
+                       <LITERAL2>MultiViews</LITERAL2>\r
+                       <LITERAL2>None</LITERAL2>\r
+                       <LITERAL2>Off</LITERAL2>\r
+                       <LITERAL2>On</LITERAL2>\r
+                       <LITERAL2>SymLinksIfOwnerMatch</LITERAL2>\r
+                       <LITERAL2>from</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="VHOST" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
+                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
+                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
+                       <KEYWORD2>AccessFileName</KEYWORD2>\r
+                       <KEYWORD2>Action</KEYWORD2>\r
+                       <KEYWORD2>AddAlt</KEYWORD2>\r
+                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddAltByType</KEYWORD2>\r
+                       <KEYWORD2>AddCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDescription</KEYWORD2>\r
+                       <KEYWORD2>AddEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddHandler</KEYWORD2>\r
+                       <KEYWORD2>AddIcon</KEYWORD2>\r
+                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddIconByType</KEYWORD2>\r
+                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddLanguage</KEYWORD2>\r
+                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
+                       <KEYWORD2>AddType</KEYWORD2>\r
+                       <KEYWORD2>Alias</KEYWORD2>\r
+                       <KEYWORD2>AliasMatch</KEYWORD2>\r
+                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
+                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
+                       <KEYWORD2>AssignUserID</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
+                       <KEYWORD2>BS2000Account</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
+                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
+                       <KEYWORD2>CacheDisable</KEYWORD2>\r
+                       <KEYWORD2>CacheEnable</KEYWORD2>\r
+                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
+                       <KEYWORD2>CacheFile</KEYWORD2>\r
+                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
+                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
+                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
+                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
+                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
+                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
+                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
+                       <KEYWORD2>CacheRoot</KEYWORD2>\r
+                       <KEYWORD2>CacheSize</KEYWORD2>\r
+                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
+                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
+                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
+                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
+                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
+                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
+                       <KEYWORD2>ContentDigest</KEYWORD2>\r
+                       <KEYWORD2>CookieDomain</KEYWORD2>\r
+                       <KEYWORD2>CookieExpires</KEYWORD2>\r
+                       <KEYWORD2>CookieLog</KEYWORD2>\r
+                       <KEYWORD2>CookieName</KEYWORD2>\r
+                       <KEYWORD2>CookieStyle</KEYWORD2>\r
+                       <KEYWORD2>CookieTracking</KEYWORD2>\r
+                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
+                       <KEYWORD2>CustomLog</KEYWORD2>\r
+                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
+                       <KEYWORD2>DavLockDB</KEYWORD2>\r
+                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
+                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
+                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
+                       <KEYWORD2>DefaultType</KEYWORD2>\r
+                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
+                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
+                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
+                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
+                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
+                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
+                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
+                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
+                       <KEYWORD2>ErrorLog</KEYWORD2>\r
+                       <KEYWORD2>Example</KEYWORD2>\r
+                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
+                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
+                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
+                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
+                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
+                       <KEYWORD2>FileETag</KEYWORD2>\r
+                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>ForensicLog</KEYWORD2>\r
+                       <KEYWORD2>Group</KEYWORD2>\r
+                       <KEYWORD2>Header</KEYWORD2>\r
+                       <KEYWORD2>HeaderName</KEYWORD2>\r
+                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
+                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
+                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
+                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
+                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
+                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
+                       <KEYWORD2>ImapBase</KEYWORD2>\r
+                       <KEYWORD2>ImapDefault</KEYWORD2>\r
+                       <KEYWORD2>ImapMenu</KEYWORD2>\r
+                       <KEYWORD2>Include</KEYWORD2>\r
+                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
+                       <KEYWORD2>IndexOptions</KEYWORD2>\r
+                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
+                       <KEYWORD2>JkMount</KEYWORD2>\r
+                       <KEYWORD2>KeepAlive</KEYWORD2>\r
+                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
+                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
+                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
+                       <KEYWORD2>Listen</KEYWORD2>\r
+                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
+                       <KEYWORD2>LoadFile</KEYWORD2>\r
+                       <KEYWORD2>LoadModule</KEYWORD2>\r
+                       <KEYWORD2>LockFile</KEYWORD2>\r
+                       <KEYWORD2>LogFormat</KEYWORD2>\r
+                       <KEYWORD2>LogLevel</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
+                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
+                       <KEYWORD2>MCacheSize</KEYWORD2>\r
+                       <KEYWORD2>MMapFile</KEYWORD2>\r
+                       <KEYWORD2>MaxClients</KEYWORD2>\r
+                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
+                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MetaDir</KEYWORD2>\r
+                       <KEYWORD2>MetaFiles</KEYWORD2>\r
+                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
+                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
+                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
+                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
+                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
+                       <KEYWORD2>NoProxy</KEYWORD2>\r
+                       <KEYWORD2>NumServers</KEYWORD2>\r
+                       <KEYWORD2>Options</KEYWORD2>\r
+                       <KEYWORD2>PassEnv</KEYWORD2>\r
+                       <KEYWORD2>PidFile</KEYWORD2>\r
+                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
+                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
+                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
+                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
+                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
+                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
+                       <KEYWORD2>ProxyPass</KEYWORD2>\r
+                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
+                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
+                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
+                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
+                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
+                       <KEYWORD2>ProxyVia</KEYWORD2>\r
+                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
+                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
+                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
+                       <KEYWORD2>ReadmeName</KEYWORD2>\r
+                       <KEYWORD2>Redirect</KEYWORD2>\r
+                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
+                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
+                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
+                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
+                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
+                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
+                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
+                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveType</KEYWORD2>\r
+                       <KEYWORD2>RequestHeader</KEYWORD2>\r
+                       <KEYWORD2>RewriteBase</KEYWORD2>\r
+                       <KEYWORD2>RewriteCond</KEYWORD2>\r
+                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
+                       <KEYWORD2>RewriteLock</KEYWORD2>\r
+                       <KEYWORD2>RewriteLog</KEYWORD2>\r
+                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
+                       <KEYWORD2>RewriteMap</KEYWORD2>\r
+                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
+                       <KEYWORD2>RewriteRule</KEYWORD2>\r
+                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
+                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
+                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
+                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
+                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLMutex</KEYWORD2>\r
+                       <KEYWORD2>SSLOptions</KEYWORD2>\r
+                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
+                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
+                       <KEYWORD2>Script</KEYWORD2>\r
+                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
+                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
+                       <KEYWORD2>ScriptLog</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
+                       <KEYWORD2>ScriptSock</KEYWORD2>\r
+                       <KEYWORD2>SecureListen</KEYWORD2>\r
+                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
+                       <KEYWORD2>ServerAlias</KEYWORD2>\r
+                       <KEYWORD2>ServerLimit</KEYWORD2>\r
+                       <KEYWORD2>ServerName</KEYWORD2>\r
+                       <KEYWORD2>ServerPath</KEYWORD2>\r
+                       <KEYWORD2>ServerRoot</KEYWORD2>\r
+                       <KEYWORD2>ServerSignature</KEYWORD2>\r
+                       <KEYWORD2>ServerTokens</KEYWORD2>\r
+                       <KEYWORD2>SetEnv</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
+                       <KEYWORD2>SetHandler</KEYWORD2>\r
+                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
+                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>StartServers</KEYWORD2>\r
+                       <KEYWORD2>StartThreads</KEYWORD2>\r
+                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
+                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
+                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
+                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>TimeOut</KEYWORD2>\r
+                       <KEYWORD2>TransferLog</KEYWORD2>\r
+                       <KEYWORD2>TypesConfig</KEYWORD2>\r
+                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
+                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
+                       <KEYWORD2>User</KEYWORD2>\r
+                       <KEYWORD2>UserDir</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
+                       <KEYWORD2>XBitHack</KEYWORD2>\r
+\r
+                       <LITERAL2>Off</LITERAL2>\r
+                       <LITERAL2>On</LITERAL2>\r
+                       <LITERAL2>None</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/apdl.xml b/basis/xmode/modes/apdl.xml
new file mode 100644 (file)
index 0000000..d66f8bf
--- /dev/null
@@ -0,0 +1,7536 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--   \r
+\r
+       Version 0.9.8 - generated by Randolf Mock on 11/22/2003 \r
+       Randolf.Mock@siemens.com\r
+       \r
+       <KEYWORD1>: ANSYS commands\r
+       <KEYWORD2>: abbreviated *get commands\r
+       <KEYWORD3>: ANSYS command options\r
+       \r
+-->\r
+\r
+<!-- The keywords and functions defined here are those of ANSYS 5.7 -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="!" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <!-- labels - eg :test -->\r
+               <EOL_SPAN TYPE="LABEL" AT_LINE_START="TRUE">:</EOL_SPAN>\r
+\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
+\r
+               <!-- literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+       \r
+<!-- Special treatment of the ANSYS commands\r
+     beginning with a '/' or '*' character --> \r
+\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ABBR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ABB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*AFUN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*AFU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ASK</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFCLOS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFOPEN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFWRITE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFW</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CREATE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CYCLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CYC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DEL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DIM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ELSEIF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ELSE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ENDDO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ENDIF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*END</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EVAL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EVA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EXIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EXI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*GET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*GO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*IF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*LIST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*LIS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFOURI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFUN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOONEY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOPER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MSG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*REPEAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*REP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*SET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*STATUS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*STA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*TREAD</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*TRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ULIB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ULI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*USE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VABS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VAB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCOL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCUM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VEDIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VED</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFACT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFILL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFUN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VGET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VITRP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VLEN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VMASK</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VMA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VOPER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VOP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPLOT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPUT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VREAD</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSCFUN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSTAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VWRITE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VWR</SEQ>\r
+               \r
+               \r
+\r
+\r
+               \r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANFILE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANGLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANNOT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANUM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ASSIGN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ASS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUTO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX15</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX2</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AXLAB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AXL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/BATCH</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/BAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLABEL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLEAR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLOG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CMAP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CMA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COLOR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CONFIG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CONTOUR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CON</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COPY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CPLANE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CPL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CTYPE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CTY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CVAL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CVA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DELETE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEVDISP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEVICE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEV</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DIST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DIS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DSCALE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DSC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DV3D</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DV3</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EDGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EDG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EFACET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EFA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EOF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ERASE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ERA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ESHAPE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ESH</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXPAND</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FACET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FAC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FDELE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FDE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FILNAME</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FIL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOCUS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FORMAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FTYPE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FTY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCMD</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCOLUMN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFILE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFORMAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GLINE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GLI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GMARKER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GMA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOLIST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOPR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRAPHICS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRESUME</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRID</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GROPT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRTYP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GSAVE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GSA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTHK</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTH</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTYPE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/HEADER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/HEA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/INPUT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/INP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LARC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LAR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIGHT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LINE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSPEC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSYMBOL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MENU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MEN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MPLIB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MPL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MREP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MSTART</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NERR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOERASE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOLIST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOPR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NORMAL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NUMBER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NUM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OPT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OUTPUT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OUt</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PAGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PAG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PBC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PBF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCIRCLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCOPY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PLOPTS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PLO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMACRO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMETH</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PME</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMORE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PNUM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PNU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POLYGON</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POST26</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POST1</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PREP7</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PRE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSEARCH</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSF</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSPEC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSTATUS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSYMB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PWEDGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PWE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/QUIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/QUI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RATIO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RAT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RENAME</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REPLOT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RESET</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RES</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RGB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RUNST</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RUN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SECLIB</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SEC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SEG</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHADE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHOWDISP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHOW</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHRINK</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHR</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SOLU</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SOL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SSCALE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SSC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STATUS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STITLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SYP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SYS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TITLE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TLABEL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TLA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRIAD</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRLCY</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRL</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TSPEC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TSP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TYPE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TYP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UCMD</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UCM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UIS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UNITS</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UNI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/USER</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/USE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VCONE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VCO</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VIEW</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VIE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VSCALE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VSC</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VUP</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WAIT</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WAI</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WINDOW</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WIN</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/XRANGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/XRA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/YRANGE</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/YRA</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ZOOM</SEQ>\r
+               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ZOO</SEQ>\r
+\r
+\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">$</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+               <!-- *msg command: variable formats -->\r
+               <SEQ TYPE="KEYWORD2">%C</SEQ>           <!-- alphamuneric format -->\r
+               <SEQ TYPE="KEYWORD2">%G</SEQ>           <!-- double precision format -->\r
+               <SEQ TYPE="KEYWORD2">%I</SEQ>           <!-- integer format -->\r
+               <SEQ TYPE="KEYWORD2">%/</SEQ>           <!-- line break -->\r
+               \r
+               <!-- variables -->\r
+               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>%</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+\r
+<!--           ANSYS Commands (incl. abbreviated version)      -->\r
+\r
+                       <KEYWORD1>A</KEYWORD1>\r
+                       <KEYWORD1>AADD</KEYWORD1>\r
+                       <KEYWORD1>AADD</KEYWORD1>\r
+                       <KEYWORD1>AATT</KEYWORD1>\r
+                       <KEYWORD1>AATT</KEYWORD1>\r
+                       <KEYWORD1>ABBR</KEYWORD1>\r
+                       <KEYWORD1>ABBRES</KEYWORD1>\r
+                       <KEYWORD1>ABBS</KEYWORD1>\r
+                       <KEYWORD1>ABBSAV</KEYWORD1>\r
+                       <KEYWORD1>ABS</KEYWORD1>\r
+                       <KEYWORD1>ACCA</KEYWORD1>\r
+                       <KEYWORD1>ACCAT</KEYWORD1>\r
+                       <KEYWORD1>ACEL</KEYWORD1>\r
+                       <KEYWORD1>ACEL</KEYWORD1>\r
+                       <KEYWORD1>ACLE</KEYWORD1>\r
+                       <KEYWORD1>ACLEAR</KEYWORD1>\r
+                       <KEYWORD1>ADAP</KEYWORD1>\r
+                       <KEYWORD1>ADAPT</KEYWORD1>\r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ADDA</KEYWORD1>\r
+                       <KEYWORD1>ADDAM</KEYWORD1>\r
+                       <KEYWORD1>ADEL</KEYWORD1>\r
+                       <KEYWORD1>ADELE</KEYWORD1>\r
+                       <KEYWORD1>ADGL</KEYWORD1>\r
+                       <KEYWORD1>ADGL</KEYWORD1>\r
+                       <KEYWORD1>ADRA</KEYWORD1>\r
+                       <KEYWORD1>ADRAG</KEYWORD1>\r
+                       <KEYWORD1>AFIL</KEYWORD1>\r
+                       <KEYWORD1>AFILLT</KEYWORD1>\r
+                       <KEYWORD1>AFLI</KEYWORD1>\r
+                       <KEYWORD1>AFLIST</KEYWORD1>\r
+                       <KEYWORD1>AFSU</KEYWORD1>\r
+                       <KEYWORD1>AFSURF</KEYWORD1>\r
+                       <KEYWORD1>AGEN</KEYWORD1>\r
+                       <KEYWORD1>AGEN</KEYWORD1>\r
+                       <KEYWORD1>AGLU</KEYWORD1>\r
+                       <KEYWORD1>AGLUE</KEYWORD1>\r
+                       <KEYWORD1>AINA</KEYWORD1>\r
+                       <KEYWORD1>AINA</KEYWORD1>\r
+                       <KEYWORD1>AINP</KEYWORD1>\r
+                       <KEYWORD1>AINP</KEYWORD1>\r
+                       <KEYWORD1>AINV</KEYWORD1>\r
+                       <KEYWORD1>AINV</KEYWORD1>\r
+                       <KEYWORD1>AL</KEYWORD1>\r
+                       <KEYWORD1>ALIS</KEYWORD1>\r
+                       <KEYWORD1>ALIST</KEYWORD1>\r
+                       <KEYWORD1>ALLS</KEYWORD1>\r
+                       <KEYWORD1>ALLSEL</KEYWORD1>\r
+                       <KEYWORD1>ALPF</KEYWORD1>\r
+                       <KEYWORD1>ALPFILL</KEYWORD1>\r
+                       <KEYWORD1>ALPH</KEYWORD1>\r
+                       <KEYWORD1>ALPHAD</KEYWORD1>\r
+                       <KEYWORD1>AMAP</KEYWORD1>\r
+                       <KEYWORD1>AMAP</KEYWORD1>\r
+                       <KEYWORD1>AMES</KEYWORD1>\r
+                       <KEYWORD1>AMESH</KEYWORD1>\r
+                       <KEYWORD1>ANCN</KEYWORD1>\r
+                       <KEYWORD1>ANCNTR</KEYWORD1>\r
+                       <KEYWORD1>ANCU</KEYWORD1>\r
+                       <KEYWORD1>ANCUT</KEYWORD1>\r
+                       <KEYWORD1>ANDA</KEYWORD1>\r
+                       <KEYWORD1>ANDATA</KEYWORD1>\r
+                       <KEYWORD1>ANDS</KEYWORD1>\r
+                       <KEYWORD1>ANDSCL</KEYWORD1>\r
+                       <KEYWORD1>ANDY</KEYWORD1>\r
+                       <KEYWORD1>ANDYNA</KEYWORD1>\r
+                       <KEYWORD1>ANFL</KEYWORD1>\r
+                       <KEYWORD1>ANFLOW</KEYWORD1>\r
+                       <KEYWORD1>ANIM</KEYWORD1>\r
+                       <KEYWORD1>ANIM</KEYWORD1>\r
+                       <KEYWORD1>ANIS</KEYWORD1>\r
+                       <KEYWORD1>ANISOS</KEYWORD1>\r
+                       <KEYWORD1>ANMO</KEYWORD1>\r
+                       <KEYWORD1>ANMODE</KEYWORD1>\r
+                       <KEYWORD1>ANOR</KEYWORD1>\r
+                       <KEYWORD1>ANORM</KEYWORD1>\r
+                       <KEYWORD1>ANTI</KEYWORD1>\r
+                       <KEYWORD1>ANTIME</KEYWORD1>\r
+                       <KEYWORD1>ANTY</KEYWORD1>\r
+                       <KEYWORD1>ANTYPE</KEYWORD1>\r
+                       <KEYWORD1>AOFF</KEYWORD1>\r
+                       <KEYWORD1>AOFFST</KEYWORD1>\r
+                       <KEYWORD1>AOVL</KEYWORD1>\r
+                       <KEYWORD1>AOVLAP</KEYWORD1>\r
+                       <KEYWORD1>APLO</KEYWORD1>\r
+                       <KEYWORD1>APLOT</KEYWORD1>\r
+                       <KEYWORD1>APPE</KEYWORD1>\r
+                       <KEYWORD1>APPEND</KEYWORD1>\r
+                       <KEYWORD1>APTN</KEYWORD1>\r
+                       <KEYWORD1>APTN</KEYWORD1>\r
+                       <KEYWORD1>ARCL</KEYWORD1>\r
+                       <KEYWORD1>ARCLEN</KEYWORD1>\r
+                       <KEYWORD1>ARCO</KEYWORD1>\r
+                       <KEYWORD1>ARCOLLAPSE</KEYWORD1>\r
+                       <KEYWORD1>ARCT</KEYWORD1>\r
+                       <KEYWORD1>ARCTRM</KEYWORD1>\r
+                       <KEYWORD1>ARDE</KEYWORD1>\r
+                       <KEYWORD1>ARDETACH</KEYWORD1>\r
+                       <KEYWORD1>AREA</KEYWORD1>\r
+                       <KEYWORD1>AREAS</KEYWORD1>\r
+                       <KEYWORD1>AREF</KEYWORD1>\r
+                       <KEYWORD1>AREFINE</KEYWORD1>\r
+                       <KEYWORD1>AREV</KEYWORD1>\r
+                       <KEYWORD1>AREVERSE</KEYWORD1>\r
+                       <KEYWORD1>ARFI</KEYWORD1>\r
+                       <KEYWORD1>ARFILL</KEYWORD1>\r
+                       <KEYWORD1>ARME</KEYWORD1>\r
+                       <KEYWORD1>ARMERGE</KEYWORD1>\r
+                       <KEYWORD1>AROT</KEYWORD1>\r
+                       <KEYWORD1>AROTAT</KEYWORD1>\r
+                       <KEYWORD1>ARSC</KEYWORD1>\r
+                       <KEYWORD1>ARSCALE</KEYWORD1>\r
+                       <KEYWORD1>ARSP</KEYWORD1>\r
+                       <KEYWORD1>ARSPLIT</KEYWORD1>\r
+                       <KEYWORD1>ARSY</KEYWORD1>\r
+                       <KEYWORD1>ARSYM</KEYWORD1>\r
+                       <KEYWORD1>ASBA</KEYWORD1>\r
+                       <KEYWORD1>ASBA</KEYWORD1>\r
+                       <KEYWORD1>ASBL</KEYWORD1>\r
+                       <KEYWORD1>ASBL</KEYWORD1>\r
+                       <KEYWORD1>ASBV</KEYWORD1>\r
+                       <KEYWORD1>ASBV</KEYWORD1>\r
+                       <KEYWORD1>ASBW</KEYWORD1>\r
+                       <KEYWORD1>ASBW</KEYWORD1>\r
+                       <KEYWORD1>ASEL</KEYWORD1>\r
+                       <KEYWORD1>ASEL</KEYWORD1>\r
+                       <KEYWORD1>ASKI</KEYWORD1>\r
+                       <KEYWORD1>ASKIN</KEYWORD1>\r
+                       <KEYWORD1>ASLL</KEYWORD1>\r
+                       <KEYWORD1>ASLL</KEYWORD1>\r
+                       <KEYWORD1>ASLV</KEYWORD1>\r
+                       <KEYWORD1>ASLV</KEYWORD1>\r
+                       <KEYWORD1>ASUB</KEYWORD1>\r
+                       <KEYWORD1>ASUB</KEYWORD1>\r
+                       <KEYWORD1>ASUM</KEYWORD1>\r
+                       <KEYWORD1>ASUM</KEYWORD1>\r
+                       <KEYWORD1>ATAN</KEYWORD1>\r
+                       <KEYWORD1>ATAN</KEYWORD1>\r
+                       <KEYWORD1>ATRA</KEYWORD1>\r
+                       <KEYWORD1>ATRAN</KEYWORD1>\r
+                       <KEYWORD1>ATYP</KEYWORD1>\r
+                       <KEYWORD1>ATYPE</KEYWORD1>\r
+                       <KEYWORD1>AUTO</KEYWORD1>\r
+                       <KEYWORD1>AUTOTS</KEYWORD1>\r
+                       <KEYWORD1>AVPR</KEYWORD1>\r
+                       <KEYWORD1>AVPRIN</KEYWORD1>\r
+                       <KEYWORD1>AVRE</KEYWORD1>\r
+                       <KEYWORD1>AVRES</KEYWORD1>\r
+                       <KEYWORD1>BELL</KEYWORD1>\r
+                       <KEYWORD1>BELLOW</KEYWORD1>\r
+                       <KEYWORD1>BEND</KEYWORD1>\r
+                       <KEYWORD1>BEND</KEYWORD1>\r
+                       <KEYWORD1>BETA</KEYWORD1>\r
+                       <KEYWORD1>BETAD</KEYWORD1>\r
+                       <KEYWORD1>BF</KEYWORD1>\r
+                       <KEYWORD1>BFA</KEYWORD1>\r
+                       <KEYWORD1>BFAD</KEYWORD1>\r
+                       <KEYWORD1>BFADELE</KEYWORD1>\r
+                       <KEYWORD1>BFAL</KEYWORD1>\r
+                       <KEYWORD1>BFALIST</KEYWORD1>\r
+                       <KEYWORD1>BFCU</KEYWORD1>\r
+                       <KEYWORD1>BFCUM</KEYWORD1>\r
+                       <KEYWORD1>BFDE</KEYWORD1>\r
+                       <KEYWORD1>BFDELE</KEYWORD1>\r
+                       <KEYWORD1>BFE</KEYWORD1>\r
+                       <KEYWORD1>BFEC</KEYWORD1>\r
+                       <KEYWORD1>BFECUM</KEYWORD1>\r
+                       <KEYWORD1>BFED</KEYWORD1>\r
+                       <KEYWORD1>BFEDELE</KEYWORD1>\r
+                       <KEYWORD1>BFEL</KEYWORD1>\r
+                       <KEYWORD1>BFELIST</KEYWORD1>\r
+                       <KEYWORD1>BFES</KEYWORD1>\r
+                       <KEYWORD1>BFESCAL</KEYWORD1>\r
+                       <KEYWORD1>BFIN</KEYWORD1>\r
+                       <KEYWORD1>BFINT</KEYWORD1>\r
+                       <KEYWORD1>BFK</KEYWORD1>\r
+                       <KEYWORD1>BFKD</KEYWORD1>\r
+                       <KEYWORD1>BFKDELE</KEYWORD1>\r
+                       <KEYWORD1>BFKL</KEYWORD1>\r
+                       <KEYWORD1>BFKLIST</KEYWORD1>\r
+                       <KEYWORD1>BFL</KEYWORD1>\r
+                       <KEYWORD1>BFLD</KEYWORD1>\r
+                       <KEYWORD1>BFLDELE</KEYWORD1>\r
+                       <KEYWORD1>BFLI</KEYWORD1>\r
+                       <KEYWORD1>BFLIST</KEYWORD1>\r
+                       <KEYWORD1>BFLL</KEYWORD1>\r
+                       <KEYWORD1>BFLLIST</KEYWORD1>\r
+                       <KEYWORD1>BFSC</KEYWORD1>\r
+                       <KEYWORD1>BFSCALE</KEYWORD1>\r
+                       <KEYWORD1>BFTR</KEYWORD1>\r
+                       <KEYWORD1>BFTRAN</KEYWORD1>\r
+                       <KEYWORD1>BFUN</KEYWORD1>\r
+                       <KEYWORD1>BFUNIF</KEYWORD1>\r
+                       <KEYWORD1>BFV</KEYWORD1>\r
+                       <KEYWORD1>BFVD</KEYWORD1>\r
+                       <KEYWORD1>BFVDELE</KEYWORD1>\r
+                       <KEYWORD1>BFVL</KEYWORD1>\r
+                       <KEYWORD1>BFVLIST</KEYWORD1>\r
+                       <KEYWORD1>BIOO</KEYWORD1>\r
+                       <KEYWORD1>BIOOPT</KEYWORD1>\r
+                       <KEYWORD1>BIOT</KEYWORD1>\r
+                       <KEYWORD1>BIOT</KEYWORD1>\r
+                       <KEYWORD1>BLC4</KEYWORD1>\r
+                       <KEYWORD1>BLC4</KEYWORD1>\r
+                       <KEYWORD1>BLC5</KEYWORD1>\r
+                       <KEYWORD1>BLC5</KEYWORD1>\r
+                       <KEYWORD1>BLOC</KEYWORD1>\r
+                       <KEYWORD1>BLOCK</KEYWORD1>\r
+                       <KEYWORD1>BOOL</KEYWORD1>\r
+                       <KEYWORD1>BOOL</KEYWORD1>\r
+                       <KEYWORD1>BOPT</KEYWORD1>\r
+                       <KEYWORD1>BOPTN</KEYWORD1>\r
+                       <KEYWORD1>BRAN</KEYWORD1>\r
+                       <KEYWORD1>BRANCH</KEYWORD1>\r
+                       <KEYWORD1>BSPL</KEYWORD1>\r
+                       <KEYWORD1>BSPLIN</KEYWORD1>\r
+                       <KEYWORD1>BTOL</KEYWORD1>\r
+                       <KEYWORD1>BTOL</KEYWORD1>\r
+                       <KEYWORD1>BUCO</KEYWORD1>\r
+                       <KEYWORD1>BUCOPT</KEYWORD1>\r
+                       <KEYWORD1>CALC</KEYWORD1>\r
+                       <KEYWORD1>CALC</KEYWORD1>\r
+                       <KEYWORD1>CBDO</KEYWORD1>\r
+                       <KEYWORD1>CBDOF</KEYWORD1>\r
+                       <KEYWORD1>CDRE</KEYWORD1>\r
+                       <KEYWORD1>CDREAD</KEYWORD1>\r
+                       <KEYWORD1>CDWR</KEYWORD1>\r
+                       <KEYWORD1>CDWRITE</KEYWORD1>\r
+                       <KEYWORD1>CE</KEYWORD1>\r
+                       <KEYWORD1>CECM</KEYWORD1>\r
+                       <KEYWORD1>CECMOD</KEYWORD1>\r
+                       <KEYWORD1>CECY</KEYWORD1>\r
+                       <KEYWORD1>CECYC</KEYWORD1>\r
+                       <KEYWORD1>CEDE</KEYWORD1>\r
+                       <KEYWORD1>CEDELE</KEYWORD1>\r
+                       <KEYWORD1>CEIN</KEYWORD1>\r
+                       <KEYWORD1>CEINTF</KEYWORD1>\r
+                       <KEYWORD1>CELI</KEYWORD1>\r
+                       <KEYWORD1>CELIST</KEYWORD1>\r
+                       <KEYWORD1>CENT</KEYWORD1>\r
+                       <KEYWORD1>CENTER</KEYWORD1>\r
+                       <KEYWORD1>CEQN</KEYWORD1>\r
+                       <KEYWORD1>CEQN</KEYWORD1>\r
+                       <KEYWORD1>CERI</KEYWORD1>\r
+                       <KEYWORD1>CERIG</KEYWORD1>\r
+                       <KEYWORD1>CESG</KEYWORD1>\r
+                       <KEYWORD1>CESGEN</KEYWORD1>\r
+                       <KEYWORD1>CFAC</KEYWORD1>\r
+                       <KEYWORD1>CFACT</KEYWORD1>\r
+                       <KEYWORD1>CGLO</KEYWORD1>\r
+                       <KEYWORD1>CGLOC</KEYWORD1>\r
+                       <KEYWORD1>CGOM</KEYWORD1>\r
+                       <KEYWORD1>CGOMGA</KEYWORD1>\r
+                       <KEYWORD1>CHEC</KEYWORD1>\r
+                       <KEYWORD1>CHECK</KEYWORD1>\r
+                       <KEYWORD1>CHKM</KEYWORD1>\r
+                       <KEYWORD1>CHKMSH</KEYWORD1>\r
+                       <KEYWORD1>CIRC</KEYWORD1>\r
+                       <KEYWORD1>CIRCLE</KEYWORD1>\r
+                       <KEYWORD1>CLOC</KEYWORD1>\r
+                       <KEYWORD1>CLOCAL</KEYWORD1>\r
+                       <KEYWORD1>CLOG</KEYWORD1>\r
+                       <KEYWORD1>CLOG</KEYWORD1>\r
+                       <KEYWORD1>CLRM</KEYWORD1>\r
+                       <KEYWORD1>CLRMSHLN</KEYWORD1>\r
+                       <KEYWORD1>CM</KEYWORD1>\r
+                       <KEYWORD1>CMDE</KEYWORD1>\r
+                       <KEYWORD1>CMDELE</KEYWORD1>\r
+                       <KEYWORD1>CMED</KEYWORD1>\r
+                       <KEYWORD1>CMEDIT</KEYWORD1>\r
+                       <KEYWORD1>CMGR</KEYWORD1>\r
+                       <KEYWORD1>CMGRP</KEYWORD1>\r
+                       <KEYWORD1>CMLI</KEYWORD1>\r
+                       <KEYWORD1>CMLIST</KEYWORD1>\r
+                       <KEYWORD1>CMPL</KEYWORD1>\r
+                       <KEYWORD1>CMPLOT</KEYWORD1>\r
+                       <KEYWORD1>CMSE</KEYWORD1>\r
+                       <KEYWORD1>CMSEL</KEYWORD1>\r
+                       <KEYWORD1>CNVT</KEYWORD1>\r
+                       <KEYWORD1>CNVTOL</KEYWORD1>\r
+                       <KEYWORD1>CON4</KEYWORD1>\r
+                       <KEYWORD1>CON4</KEYWORD1>\r
+                       <KEYWORD1>CONE</KEYWORD1>\r
+                       <KEYWORD1>CONE</KEYWORD1>\r
+                       <KEYWORD1>CONJ</KEYWORD1>\r
+                       <KEYWORD1>CONJUG</KEYWORD1>\r
+                       <KEYWORD1>COUP</KEYWORD1>\r
+                       <KEYWORD1>COUPLE</KEYWORD1>\r
+                       <KEYWORD1>COVA</KEYWORD1>\r
+                       <KEYWORD1>COVAL</KEYWORD1>\r
+                       <KEYWORD1>CP</KEYWORD1>\r
+                       <KEYWORD1>CPDE</KEYWORD1>\r
+                       <KEYWORD1>CPDELE</KEYWORD1>\r
+                       <KEYWORD1>CPIN</KEYWORD1>\r
+                       <KEYWORD1>CPINTF</KEYWORD1>\r
+                       <KEYWORD1>CPLG</KEYWORD1>\r
+                       <KEYWORD1>CPLGEN</KEYWORD1>\r
+                       <KEYWORD1>CPLI</KEYWORD1>\r
+                       <KEYWORD1>CPLIST</KEYWORD1>\r
+                       <KEYWORD1>CPNG</KEYWORD1>\r
+                       <KEYWORD1>CPNGEN</KEYWORD1>\r
+                       <KEYWORD1>CPSG</KEYWORD1>\r
+                       <KEYWORD1>CPSGEN</KEYWORD1>\r
+                       <KEYWORD1>CQC</KEYWORD1>\r
+                       <KEYWORD1>CRPL</KEYWORD1>\r
+                       <KEYWORD1>CRPLIM</KEYWORD1>\r
+                       <KEYWORD1>CS</KEYWORD1>\r
+                       <KEYWORD1>CSCI</KEYWORD1>\r
+                       <KEYWORD1>CSCIR</KEYWORD1>\r
+                       <KEYWORD1>CSDE</KEYWORD1>\r
+                       <KEYWORD1>CSDELE</KEYWORD1>\r
+                       <KEYWORD1>CSKP</KEYWORD1>\r
+                       <KEYWORD1>CSKP</KEYWORD1>\r
+                       <KEYWORD1>CSLI</KEYWORD1>\r
+                       <KEYWORD1>CSLIST</KEYWORD1>\r
+                       <KEYWORD1>CSWP</KEYWORD1>\r
+                       <KEYWORD1>CSWPLA</KEYWORD1>\r
+                       <KEYWORD1>CSYS</KEYWORD1>\r
+                       <KEYWORD1>CSYS</KEYWORD1>\r
+                       <KEYWORD1>CURR2D</KEYWORD1>\r
+                       <KEYWORD1>CURR</KEYWORD1>\r
+                       <KEYWORD1>CUTC</KEYWORD1>\r
+                       <KEYWORD1>CUTCONTROL</KEYWORD1>\r
+                       <KEYWORD1>CVAR</KEYWORD1>\r
+                       <KEYWORD1>CVAR</KEYWORD1>\r
+                       <KEYWORD1>CYCG</KEYWORD1>\r
+                       <KEYWORD1>CYCGEN</KEYWORD1>\r
+                       <KEYWORD1>CYCS</KEYWORD1>\r
+                       <KEYWORD1>CYCSOL</KEYWORD1>\r
+                       <KEYWORD1>CYL4</KEYWORD1>\r
+                       <KEYWORD1>CYL4</KEYWORD1>\r
+                       <KEYWORD1>CYL5</KEYWORD1>\r
+                       <KEYWORD1>CYL5</KEYWORD1>\r
+                       <KEYWORD1>CYLI</KEYWORD1>\r
+                       <KEYWORD1>CYLIND</KEYWORD1>\r
+                       <KEYWORD1>D</KEYWORD1>\r
+                       <KEYWORD1>DA</KEYWORD1>\r
+                       <KEYWORD1>DADE</KEYWORD1>\r
+                       <KEYWORD1>DADELE</KEYWORD1>\r
+                       <KEYWORD1>DALI</KEYWORD1>\r
+                       <KEYWORD1>DALIST</KEYWORD1>\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>DATADEF</KEYWORD1>\r
+                       <KEYWORD1>DCGO</KEYWORD1>\r
+                       <KEYWORD1>DCGOMG</KEYWORD1>\r
+                       <KEYWORD1>DCUM</KEYWORD1>\r
+                       <KEYWORD1>DCUM</KEYWORD1>\r
+                       <KEYWORD1>DDEL</KEYWORD1>\r
+                       <KEYWORD1>DDELE</KEYWORD1>\r
+                       <KEYWORD1>DEAC</KEYWORD1>\r
+                       <KEYWORD1>DEACT</KEYWORD1>\r
+                       <KEYWORD1>DEFI</KEYWORD1>\r
+                       <KEYWORD1>DEFINE</KEYWORD1>\r
+                       <KEYWORD1>DELT</KEYWORD1>\r
+                       <KEYWORD1>DELTIM</KEYWORD1>\r
+                       <KEYWORD1>DERI</KEYWORD1>\r
+                       <KEYWORD1>DERIV</KEYWORD1>\r
+                       <KEYWORD1>DESI</KEYWORD1>\r
+                       <KEYWORD1>DESIZE</KEYWORD1>\r
+                       <KEYWORD1>DESO</KEYWORD1>\r
+                       <KEYWORD1>DESOL</KEYWORD1>\r
+                       <KEYWORD1>DETA</KEYWORD1>\r
+                       <KEYWORD1>DETAB</KEYWORD1>\r
+                       <KEYWORD1>DIG</KEYWORD1>\r
+                       <KEYWORD1>DIGI</KEYWORD1>\r
+                       <KEYWORD1>DIGIT</KEYWORD1>\r
+                       <KEYWORD1>DISP</KEYWORD1>\r
+                       <KEYWORD1>DISPLAY</KEYWORD1>\r
+                       <KEYWORD1>DK</KEYWORD1>\r
+                       <KEYWORD1>DKDE</KEYWORD1>\r
+                       <KEYWORD1>DKDELE</KEYWORD1>\r
+                       <KEYWORD1>DKLI</KEYWORD1>\r
+                       <KEYWORD1>DKLIST</KEYWORD1>\r
+                       <KEYWORD1>DL</KEYWORD1>\r
+                       <KEYWORD1>DLDE</KEYWORD1>\r
+                       <KEYWORD1>DLDELE</KEYWORD1>\r
+                       <KEYWORD1>DLIS</KEYWORD1>\r
+                       <KEYWORD1>DLIST</KEYWORD1>\r
+                       <KEYWORD1>DLLI</KEYWORD1>\r
+                       <KEYWORD1>DLLIST</KEYWORD1>\r
+                       <KEYWORD1>DMOV</KEYWORD1>\r
+                       <KEYWORD1>DMOVE</KEYWORD1>\r
+                       <KEYWORD1>DMPR</KEYWORD1>\r
+                       <KEYWORD1>DMPRAT</KEYWORD1>\r
+                       <KEYWORD1>DNSO</KEYWORD1>\r
+                       <KEYWORD1>DNSOL</KEYWORD1>\r
+                       <KEYWORD1>DOF</KEYWORD1>\r
+                       <KEYWORD1>DOFS</KEYWORD1>\r
+                       <KEYWORD1>DOFSEL</KEYWORD1>\r
+                       <KEYWORD1>DOME</KEYWORD1>\r
+                       <KEYWORD1>DOMEGA</KEYWORD1>\r
+                       <KEYWORD1>DSCA</KEYWORD1>\r
+                       <KEYWORD1>DSCALE</KEYWORD1>\r
+                       <KEYWORD1>DSET</KEYWORD1>\r
+                       <KEYWORD1>DSET</KEYWORD1>\r
+                       <KEYWORD1>DSUM</KEYWORD1>\r
+                       <KEYWORD1>DSUM</KEYWORD1>\r
+                       <KEYWORD1>DSUR</KEYWORD1>\r
+                       <KEYWORD1>DSURF</KEYWORD1>\r
+                       <KEYWORD1>DSYM</KEYWORD1>\r
+                       <KEYWORD1>DSYM</KEYWORD1>\r
+                       <KEYWORD1>DSYS</KEYWORD1>\r
+                       <KEYWORD1>DSYS</KEYWORD1>\r
+                       <KEYWORD1>DTRA</KEYWORD1>\r
+                       <KEYWORD1>DTRAN</KEYWORD1>\r
+                       <KEYWORD1>DUMP</KEYWORD1>\r
+                       <KEYWORD1>DUMP</KEYWORD1>\r
+                       <KEYWORD1>DYNO</KEYWORD1>\r
+                       <KEYWORD1>DYNOPT</KEYWORD1>\r
+                       <KEYWORD1>E</KEYWORD1>\r
+                       <KEYWORD1>EALI</KEYWORD1>\r
+                       <KEYWORD1>EALIVE</KEYWORD1>\r
+                       <KEYWORD1>EDBO</KEYWORD1>\r
+                       <KEYWORD1>EDBOUND</KEYWORD1>\r
+                       <KEYWORD1>EDBV</KEYWORD1>\r
+                       <KEYWORD1>EDBVIS</KEYWORD1>\r
+                       <KEYWORD1>EDCD</KEYWORD1>\r
+                       <KEYWORD1>EDCDELE</KEYWORD1>\r
+                       <KEYWORD1>EDCG</KEYWORD1>\r
+                       <KEYWORD1>EDCGEN</KEYWORD1>\r
+                       <KEYWORD1>EDCL</KEYWORD1>\r
+                       <KEYWORD1>EDCLIST</KEYWORD1>\r
+                       <KEYWORD1>EDCO</KEYWORD1>\r
+                       <KEYWORD1>EDCONTACT</KEYWORD1>\r
+                       <KEYWORD1>EDCP</KEYWORD1>\r
+                       <KEYWORD1>EDCPU</KEYWORD1>\r
+                       <KEYWORD1>EDCR</KEYWORD1>\r
+                       <KEYWORD1>EDCRB</KEYWORD1>\r
+                       <KEYWORD1>EDCS</KEYWORD1>\r
+                       <KEYWORD1>EDCSC</KEYWORD1>\r
+                       <KEYWORD1>EDCT</KEYWORD1>\r
+                       <KEYWORD1>EDCTS</KEYWORD1>\r
+                       <KEYWORD1>EDCU</KEYWORD1>\r
+                       <KEYWORD1>EDCURVE</KEYWORD1>\r
+                       <KEYWORD1>EDDA</KEYWORD1>\r
+                       <KEYWORD1>EDDAMP</KEYWORD1>\r
+                       <KEYWORD1>EDDR</KEYWORD1>\r
+                       <KEYWORD1>EDDRELAX</KEYWORD1>\r
+                       <KEYWORD1>EDEL</KEYWORD1>\r
+                       <KEYWORD1>EDELE</KEYWORD1>\r
+                       <KEYWORD1>EDEN</KEYWORD1>\r
+                       <KEYWORD1>EDENERGY</KEYWORD1>\r
+                       <KEYWORD1>EDFP</KEYWORD1>\r
+                       <KEYWORD1>EDFPLOT</KEYWORD1>\r
+                       <KEYWORD1>EDHG</KEYWORD1>\r
+                       <KEYWORD1>EDHGLS</KEYWORD1>\r
+                       <KEYWORD1>EDHI</KEYWORD1>\r
+                       <KEYWORD1>EDHIST</KEYWORD1>\r
+                       <KEYWORD1>EDHT</KEYWORD1>\r
+                       <KEYWORD1>EDHTIME</KEYWORD1>\r
+                       <KEYWORD1>EDIN</KEYWORD1>\r
+                       <KEYWORD1>EDINT</KEYWORD1>\r
+                       <KEYWORD1>EDIV</KEYWORD1>\r
+                       <KEYWORD1>EDIVELO</KEYWORD1>\r
+                       <KEYWORD1>EDLC</KEYWORD1>\r
+                       <KEYWORD1>EDLCS</KEYWORD1>\r
+                       <KEYWORD1>EDLD</KEYWORD1>\r
+                       <KEYWORD1>EDLDPLOT</KEYWORD1>\r
+                       <KEYWORD1>EDLO</KEYWORD1>\r
+                       <KEYWORD1>EDLOAD</KEYWORD1>\r
+                       <KEYWORD1>EDMP</KEYWORD1>\r
+                       <KEYWORD1>EDMP</KEYWORD1>\r
+                       <KEYWORD1>EDND</KEYWORD1>\r
+                       <KEYWORD1>EDNDTSD</KEYWORD1>\r
+                       <KEYWORD1>EDNR</KEYWORD1>\r
+                       <KEYWORD1>EDNROT</KEYWORD1>\r
+                       <KEYWORD1>EDOP</KEYWORD1>\r
+                       <KEYWORD1>EDOPT</KEYWORD1>\r
+                       <KEYWORD1>EDOU</KEYWORD1>\r
+                       <KEYWORD1>EDOUT</KEYWORD1>\r
+                       <KEYWORD1>EDRE</KEYWORD1>\r
+                       <KEYWORD1>EDREAD</KEYWORD1>\r
+                       <KEYWORD1>EDRS</KEYWORD1>\r
+                       <KEYWORD1>EDRST</KEYWORD1>\r
+                       <KEYWORD1>EDSH</KEYWORD1>\r
+                       <KEYWORD1>EDSHELL</KEYWORD1>\r
+                       <KEYWORD1>EDSO</KEYWORD1>\r
+                       <KEYWORD1>EDSOLV</KEYWORD1>\r
+                       <KEYWORD1>EDST</KEYWORD1>\r
+                       <KEYWORD1>EDSTART</KEYWORD1>\r
+                       <KEYWORD1>EDWE</KEYWORD1>\r
+                       <KEYWORD1>EDWELD</KEYWORD1>\r
+                       <KEYWORD1>EDWR</KEYWORD1>\r
+                       <KEYWORD1>EDWRITE</KEYWORD1>\r
+                       <KEYWORD1>EGEN</KEYWORD1>\r
+                       <KEYWORD1>EGEN</KEYWORD1>\r
+                       <KEYWORD1>EINT</KEYWORD1>\r
+                       <KEYWORD1>EINTF</KEYWORD1>\r
+                       <KEYWORD1>EKIL</KEYWORD1>\r
+                       <KEYWORD1>EKILL</KEYWORD1>\r
+                       <KEYWORD1>ELEM</KEYWORD1>\r
+                       <KEYWORD1>ELEM</KEYWORD1>\r
+                       <KEYWORD1>ELIS</KEYWORD1>\r
+                       <KEYWORD1>ELIST</KEYWORD1>\r
+                       <KEYWORD1>EMAG</KEYWORD1>\r
+                       <KEYWORD1>EMAGERR</KEYWORD1>\r
+                       <KEYWORD1>EMF</KEYWORD1>\r
+                       <KEYWORD1>EMID</KEYWORD1>\r
+                       <KEYWORD1>EMID</KEYWORD1>\r
+                       <KEYWORD1>EMIS</KEYWORD1>\r
+                       <KEYWORD1>EMIS</KEYWORD1>\r
+                       <KEYWORD1>EMOD</KEYWORD1>\r
+                       <KEYWORD1>EMODIF</KEYWORD1>\r
+                       <KEYWORD1>EMOR</KEYWORD1>\r
+                       <KEYWORD1>EMORE</KEYWORD1>\r
+                       <KEYWORD1>EMSY</KEYWORD1>\r
+                       <KEYWORD1>EMSYM</KEYWORD1>\r
+                       <KEYWORD1>EMUN</KEYWORD1>\r
+                       <KEYWORD1>EMUNIT</KEYWORD1>\r
+                       <KEYWORD1>EN</KEYWORD1>\r
+                       <KEYWORD1>ENGE</KEYWORD1>\r
+                       <KEYWORD1>ENGEN</KEYWORD1>\r
+                       <KEYWORD1>ENOR</KEYWORD1>\r
+                       <KEYWORD1>ENORM</KEYWORD1>\r
+                       <KEYWORD1>ENSY</KEYWORD1>\r
+                       <KEYWORD1>ENSYM</KEYWORD1>\r
+                       <KEYWORD1>EPLO</KEYWORD1>\r
+                       <KEYWORD1>EPLOT</KEYWORD1>\r
+                       <KEYWORD1>EQSL</KEYWORD1>\r
+                       <KEYWORD1>EQSLV</KEYWORD1>\r
+                       <KEYWORD1>ERAS</KEYWORD1>\r
+                       <KEYWORD1>ERASE</KEYWORD1>\r
+                       <KEYWORD1>EREA</KEYWORD1>\r
+                       <KEYWORD1>EREAD</KEYWORD1>\r
+                       <KEYWORD1>EREF</KEYWORD1>\r
+                       <KEYWORD1>EREFINE</KEYWORD1>\r
+                       <KEYWORD1>ERES</KEYWORD1>\r
+                       <KEYWORD1>ERESX</KEYWORD1>\r
+                       <KEYWORD1>ERNO</KEYWORD1>\r
+                       <KEYWORD1>ERNORM</KEYWORD1>\r
+                       <KEYWORD1>ERRA</KEYWORD1>\r
+                       <KEYWORD1>ERRANG</KEYWORD1>\r
+                       <KEYWORD1>ESEL</KEYWORD1>\r
+                       <KEYWORD1>ESEL</KEYWORD1>\r
+                       <KEYWORD1>ESIZ</KEYWORD1>\r
+                       <KEYWORD1>ESIZE</KEYWORD1>\r
+                       <KEYWORD1>ESLA</KEYWORD1>\r
+                       <KEYWORD1>ESLA</KEYWORD1>\r
+                       <KEYWORD1>ESLL</KEYWORD1>\r
+                       <KEYWORD1>ESLL</KEYWORD1>\r
+                       <KEYWORD1>ESLN</KEYWORD1>\r
+                       <KEYWORD1>ESLN</KEYWORD1>\r
+                       <KEYWORD1>ESLV</KEYWORD1>\r
+                       <KEYWORD1>ESLV</KEYWORD1>\r
+                       <KEYWORD1>ESOL</KEYWORD1>\r
+                       <KEYWORD1>ESOL</KEYWORD1>\r
+                       <KEYWORD1>ESOR</KEYWORD1>\r
+                       <KEYWORD1>ESORT</KEYWORD1>\r
+                       <KEYWORD1>ESTI</KEYWORD1>\r
+                       <KEYWORD1>ESTIF</KEYWORD1>\r
+                       <KEYWORD1>ESUR</KEYWORD1>\r
+                       <KEYWORD1>ESURF</KEYWORD1>\r
+                       <KEYWORD1>ESYM</KEYWORD1>\r
+                       <KEYWORD1>ESYM</KEYWORD1>\r
+                       <KEYWORD1>ESYS</KEYWORD1>\r
+                       <KEYWORD1>ESYS</KEYWORD1>\r
+                       <KEYWORD1>ET</KEYWORD1>\r
+                       <KEYWORD1>ETAB</KEYWORD1>\r
+                       <KEYWORD1>ETABLE</KEYWORD1>\r
+                       <KEYWORD1>ETCH</KEYWORD1>\r
+                       <KEYWORD1>ETCHG</KEYWORD1>\r
+                       <KEYWORD1>ETDE</KEYWORD1>\r
+                       <KEYWORD1>ETDELE</KEYWORD1>\r
+                       <KEYWORD1>ETLI</KEYWORD1>\r
+                       <KEYWORD1>ETLIST</KEYWORD1>\r
+                       <KEYWORD1>ETYP</KEYWORD1>\r
+                       <KEYWORD1>ETYPE</KEYWORD1>\r
+                       <KEYWORD1>EUSO</KEYWORD1>\r
+                       <KEYWORD1>EUSORT</KEYWORD1>\r
+                       <KEYWORD1>EWRI</KEYWORD1>\r
+                       <KEYWORD1>EWRITE</KEYWORD1>\r
+                       <KEYWORD1>EXP</KEYWORD1>\r
+                       <KEYWORD1>EXPA</KEYWORD1>\r
+                       <KEYWORD1>EXPA</KEYWORD1>\r
+                       <KEYWORD1>EXPAND</KEYWORD1>\r
+                       <KEYWORD1>EXPASS</KEYWORD1>\r
+                       <KEYWORD1>EXPS</KEYWORD1>\r
+                       <KEYWORD1>EXPSOL</KEYWORD1>\r
+                       <KEYWORD1>EXTO</KEYWORD1>\r
+                       <KEYWORD1>EXTOPT</KEYWORD1>\r
+                       <KEYWORD1>EXTR</KEYWORD1>\r
+                       <KEYWORD1>EXTREM</KEYWORD1>\r
+                       <KEYWORD1>FATI</KEYWORD1>\r
+                       <KEYWORD1>FATIGUE</KEYWORD1>\r
+                       <KEYWORD1>FCUM</KEYWORD1>\r
+                       <KEYWORD1>FCUM</KEYWORD1>\r
+                       <KEYWORD1>FDEL</KEYWORD1>\r
+                       <KEYWORD1>FDELE</KEYWORD1>\r
+                       <KEYWORD1>FE</KEYWORD1>\r
+                       <KEYWORD1>FEBO</KEYWORD1>\r
+                       <KEYWORD1>FEBODY</KEYWORD1>\r
+                       <KEYWORD1>FECO</KEYWORD1>\r
+                       <KEYWORD1>FECONS</KEYWORD1>\r
+                       <KEYWORD1>FEFO</KEYWORD1>\r
+                       <KEYWORD1>FEFOR</KEYWORD1>\r
+                       <KEYWORD1>FELI</KEYWORD1>\r
+                       <KEYWORD1>FELIST</KEYWORD1>\r
+                       <KEYWORD1>FESU</KEYWORD1>\r
+                       <KEYWORD1>FESURF</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILEAUX2</KEYWORD1>\r
+                       <KEYWORD1>FILEDISP</KEYWORD1>\r
+                       <KEYWORD1>FILL</KEYWORD1>\r
+                       <KEYWORD1>FILL</KEYWORD1>\r
+                       <KEYWORD1>FILL</KEYWORD1>\r
+                       <KEYWORD1>FILLDATA</KEYWORD1>\r
+                       <KEYWORD1>FINI</KEYWORD1>\r
+                       <KEYWORD1>FINISH</KEYWORD1>\r
+                       <KEYWORD1>FITE</KEYWORD1>\r
+                       <KEYWORD1>FITEM</KEYWORD1>\r
+                       <KEYWORD1>FK</KEYWORD1>\r
+                       <KEYWORD1>FKDE</KEYWORD1>\r
+                       <KEYWORD1>FKDELE</KEYWORD1>\r
+                       <KEYWORD1>FKLI</KEYWORD1>\r
+                       <KEYWORD1>FKLIST</KEYWORD1>\r
+                       <KEYWORD1>FL</KEYWORD1>\r
+                       <KEYWORD1>FLAN</KEYWORD1>\r
+                       <KEYWORD1>FLANGE</KEYWORD1>\r
+                       <KEYWORD1>FLDA</KEYWORD1>\r
+                       <KEYWORD1>FLDATA</KEYWORD1>\r
+                       <KEYWORD1>FLDATA10</KEYWORD1>\r
+                       <KEYWORD1>FLDATA11</KEYWORD1>\r
+                       <KEYWORD1>FLDATA12</KEYWORD1>\r
+                       <KEYWORD1>FLDATA13</KEYWORD1>\r
+                       <KEYWORD1>FLDATA14</KEYWORD1>\r
+                       <KEYWORD1>FLDATA15</KEYWORD1>\r
+                       <KEYWORD1>FLDATA16</KEYWORD1>\r
+                       <KEYWORD1>FLDATA17</KEYWORD1>\r
+                       <KEYWORD1>FLDATA18</KEYWORD1>\r
+                       <KEYWORD1>FLDATA19</KEYWORD1>\r
+                       <KEYWORD1>FLDATA1</KEYWORD1>\r
+                       <KEYWORD1>FLDATA20</KEYWORD1>\r
+                       <KEYWORD1>FLDATA20A</KEYWORD1>\r
+                       <KEYWORD1>FLDATA21</KEYWORD1>\r
+                       <KEYWORD1>FLDATA22</KEYWORD1>\r
+                       <KEYWORD1>FLDATA23</KEYWORD1>\r
+                       <KEYWORD1>FLDATA24</KEYWORD1>\r
+                       <KEYWORD1>FLDATA24A</KEYWORD1>\r
+                       <KEYWORD1>FLDATA24B</KEYWORD1>\r
+                       <KEYWORD1>FLDATA24C</KEYWORD1>\r
+                       <KEYWORD1>FLDATA24D</KEYWORD1>\r
+                       <KEYWORD1>FLDATA25</KEYWORD1>\r
+                       <KEYWORD1>FLDATA26</KEYWORD1>\r
+                       <KEYWORD1>FLDATA27</KEYWORD1>\r
+                       <KEYWORD1>FLDATA28</KEYWORD1>\r
+                       <KEYWORD1>FLDATA29</KEYWORD1>\r
+                       <KEYWORD1>FLDATA2</KEYWORD1>\r
+                       <KEYWORD1>FLDATA30</KEYWORD1>\r
+                       <KEYWORD1>FLDATA31</KEYWORD1>\r
+                       <KEYWORD1>FLDATA32</KEYWORD1>\r
+                       <KEYWORD1>FLDATA33</KEYWORD1>\r
+                       <KEYWORD1>FLDATA37</KEYWORD1>\r
+                       <KEYWORD1>FLDATA3</KEYWORD1>\r
+                       <KEYWORD1>FLDATA4</KEYWORD1>\r
+                       <KEYWORD1>FLDATA4A</KEYWORD1>\r
+                       <KEYWORD1>FLDATA5</KEYWORD1>\r
+                       <KEYWORD1>FLDATA6</KEYWORD1>\r
+                       <KEYWORD1>FLDATA7</KEYWORD1>\r
+                       <KEYWORD1>FLDATA8</KEYWORD1>\r
+                       <KEYWORD1>FLDATA9</KEYWORD1>\r
+                       <KEYWORD1>FLDATA</KEYWORD1>\r
+                       <KEYWORD1>FLIS</KEYWORD1>\r
+                       <KEYWORD1>FLIST</KEYWORD1>\r
+                       <KEYWORD1>FLLI</KEYWORD1>\r
+                       <KEYWORD1>FLLIST</KEYWORD1>\r
+                       <KEYWORD1>FLOC</KEYWORD1>\r
+                       <KEYWORD1>FLOCHECK</KEYWORD1>\r
+                       <KEYWORD1>FLOT</KEYWORD1>\r
+                       <KEYWORD1>FLOTRAN</KEYWORD1>\r
+                       <KEYWORD1>FLRE</KEYWORD1>\r
+                       <KEYWORD1>FLREAD</KEYWORD1>\r
+                       <KEYWORD1>FLST</KEYWORD1>\r
+                       <KEYWORD1>FLST</KEYWORD1>\r
+                       <KEYWORD1>FLUX</KEYWORD1>\r
+                       <KEYWORD1>FLUXV</KEYWORD1>\r
+                       <KEYWORD1>FMAG</KEYWORD1>\r
+                       <KEYWORD1>FMAG</KEYWORD1>\r
+                       <KEYWORD1>FMAGBC</KEYWORD1>\r
+                       <KEYWORD1>FMAGSUM</KEYWORD1>\r
+                       <KEYWORD1>FOR2</KEYWORD1>\r
+                       <KEYWORD1>FOR2D</KEYWORD1>\r
+                       <KEYWORD1>FORC</KEYWORD1>\r
+                       <KEYWORD1>FORCE</KEYWORD1>\r
+                       <KEYWORD1>FORM</KEYWORD1>\r
+                       <KEYWORD1>FORM</KEYWORD1>\r
+                       <KEYWORD1>FP</KEYWORD1>\r
+                       <KEYWORD1>FPLI</KEYWORD1>\r
+                       <KEYWORD1>FPLIST</KEYWORD1>\r
+                       <KEYWORD1>FREQ</KEYWORD1>\r
+                       <KEYWORD1>FREQ</KEYWORD1>\r
+                       <KEYWORD1>FS</KEYWORD1>\r
+                       <KEYWORD1>FSCA</KEYWORD1>\r
+                       <KEYWORD1>FSCALE</KEYWORD1>\r
+                       <KEYWORD1>FSDE</KEYWORD1>\r
+                       <KEYWORD1>FSDELE</KEYWORD1>\r
+                       <KEYWORD1>FSLI</KEYWORD1>\r
+                       <KEYWORD1>FSLIST</KEYWORD1>\r
+                       <KEYWORD1>FSNO</KEYWORD1>\r
+                       <KEYWORD1>FSNODE</KEYWORD1>\r
+                       <KEYWORD1>FSPL</KEYWORD1>\r
+                       <KEYWORD1>FSPLOT</KEYWORD1>\r
+                       <KEYWORD1>FSSE</KEYWORD1>\r
+                       <KEYWORD1>FSSECT</KEYWORD1>\r
+                       <KEYWORD1>FSUM</KEYWORD1>\r
+                       <KEYWORD1>FSUM</KEYWORD1>\r
+                       <KEYWORD1>FTCA</KEYWORD1>\r
+                       <KEYWORD1>FTCALC</KEYWORD1>\r
+                       <KEYWORD1>FTRA</KEYWORD1>\r
+                       <KEYWORD1>FTRAN</KEYWORD1>\r
+                       <KEYWORD1>FTSI</KEYWORD1>\r
+                       <KEYWORD1>FTSIZE</KEYWORD1>\r
+                       <KEYWORD1>FTWR</KEYWORD1>\r
+                       <KEYWORD1>FTWRITE</KEYWORD1>\r
+                       <KEYWORD1>FVME</KEYWORD1>\r
+                       <KEYWORD1>FVMESH</KEYWORD1>\r
+                       <KEYWORD1>GAP</KEYWORD1>\r
+                       <KEYWORD1>GAPF</KEYWORD1>\r
+                       <KEYWORD1>GAPFINISH</KEYWORD1>\r
+                       <KEYWORD1>GAPL</KEYWORD1>\r
+                       <KEYWORD1>GAPLIST</KEYWORD1>\r
+                       <KEYWORD1>GAPM</KEYWORD1>\r
+                       <KEYWORD1>GAPMERGE</KEYWORD1>\r
+                       <KEYWORD1>GAPO</KEYWORD1>\r
+                       <KEYWORD1>GAPOPT</KEYWORD1>\r
+                       <KEYWORD1>GAPP</KEYWORD1>\r
+                       <KEYWORD1>GAPPLOT</KEYWORD1>\r
+                       <KEYWORD1>GAUG</KEYWORD1>\r
+                       <KEYWORD1>GAUGE</KEYWORD1>\r
+                       <KEYWORD1>GCGE</KEYWORD1>\r
+                       <KEYWORD1>GCGEN</KEYWORD1>\r
+                       <KEYWORD1>GENO</KEYWORD1>\r
+                       <KEYWORD1>GENOPT</KEYWORD1>\r
+                       <KEYWORD1>GEOM</KEYWORD1>\r
+                       <KEYWORD1>GEOM</KEYWORD1>\r
+                       <KEYWORD1>GEOM</KEYWORD1>\r
+                       <KEYWORD1>GEOMETRY</KEYWORD1>\r
+                       <KEYWORD1>GP</KEYWORD1>\r
+                       <KEYWORD1>GPDE</KEYWORD1>\r
+                       <KEYWORD1>GPDELE</KEYWORD1>\r
+                       <KEYWORD1>GPLI</KEYWORD1>\r
+                       <KEYWORD1>GPLIST</KEYWORD1>\r
+                       <KEYWORD1>GPLO</KEYWORD1>\r
+                       <KEYWORD1>GPLOT</KEYWORD1>\r
+                       <KEYWORD1>GRP</KEYWORD1>\r
+                       <KEYWORD1>GSUM</KEYWORD1>\r
+                       <KEYWORD1>GSUM</KEYWORD1>\r
+                       <KEYWORD1>HARF</KEYWORD1>\r
+                       <KEYWORD1>HARFRQ</KEYWORD1>\r
+                       <KEYWORD1>HELP</KEYWORD1>\r
+                       <KEYWORD1>HELP</KEYWORD1>\r
+                       <KEYWORD1>HELP</KEYWORD1>\r
+                       <KEYWORD1>HELPDISP</KEYWORD1>\r
+                       <KEYWORD1>HFSW</KEYWORD1>\r
+                       <KEYWORD1>HFSWEEP</KEYWORD1>\r
+                       <KEYWORD1>HMAG</KEYWORD1>\r
+                       <KEYWORD1>HMAGSOLV</KEYWORD1>\r
+                       <KEYWORD1>HPGL</KEYWORD1>\r
+                       <KEYWORD1>HPGL</KEYWORD1>\r
+                       <KEYWORD1>HPTC</KEYWORD1>\r
+                       <KEYWORD1>HPTCREATE</KEYWORD1>\r
+                       <KEYWORD1>HPTD</KEYWORD1>\r
+                       <KEYWORD1>HPTDELETE</KEYWORD1>\r
+                       <KEYWORD1>HRCP</KEYWORD1>\r
+                       <KEYWORD1>HRCPLX</KEYWORD1>\r
+                       <KEYWORD1>HREX</KEYWORD1>\r
+                       <KEYWORD1>HREXP</KEYWORD1>\r
+                       <KEYWORD1>HROP</KEYWORD1>\r
+                       <KEYWORD1>HROPT</KEYWORD1>\r
+                       <KEYWORD1>HROU</KEYWORD1>\r
+                       <KEYWORD1>HROUT</KEYWORD1>\r
+                       <KEYWORD1>IC</KEYWORD1>\r
+                       <KEYWORD1>ICDE</KEYWORD1>\r
+                       <KEYWORD1>ICDELE</KEYWORD1>\r
+                       <KEYWORD1>ICLI</KEYWORD1>\r
+                       <KEYWORD1>ICLIST</KEYWORD1>\r
+                       <KEYWORD1>IGES</KEYWORD1>\r
+                       <KEYWORD1>IGES</KEYWORD1>\r
+                       <KEYWORD1>IGESIN</KEYWORD1>\r
+                       <KEYWORD1>IGESOUT</KEYWORD1>\r
+                       <KEYWORD1>IMAG</KEYWORD1>\r
+                       <KEYWORD1>IMAGIN</KEYWORD1>\r
+                       <KEYWORD1>IMME</KEYWORD1>\r
+                       <KEYWORD1>IMMED</KEYWORD1>\r
+                       <KEYWORD1>IMPD</KEYWORD1>\r
+                       <KEYWORD1>IMPD</KEYWORD1>\r
+                       <KEYWORD1>INRE</KEYWORD1>\r
+                       <KEYWORD1>INRES</KEYWORD1>\r
+                       <KEYWORD1>INRT</KEYWORD1>\r
+                       <KEYWORD1>INRTIA</KEYWORD1>\r
+                       <KEYWORD1>INT1</KEYWORD1>\r
+                       <KEYWORD1>INT1</KEYWORD1>\r
+                       <KEYWORD1>INTS</KEYWORD1>\r
+                       <KEYWORD1>INTSRF</KEYWORD1>\r
+                       <KEYWORD1>IOPT</KEYWORD1>\r
+                       <KEYWORD1>IOPTN</KEYWORD1>\r
+                       <KEYWORD1>IRLF</KEYWORD1>\r
+                       <KEYWORD1>IRLF</KEYWORD1>\r
+                       <KEYWORD1>IRLI</KEYWORD1>\r
+                       <KEYWORD1>IRLIST</KEYWORD1>\r
+                       <KEYWORD1>K</KEYWORD1>\r
+                       <KEYWORD1>KATT</KEYWORD1>\r
+                       <KEYWORD1>KATT</KEYWORD1>\r
+                       <KEYWORD1>KBC</KEYWORD1>\r
+                       <KEYWORD1>KBET</KEYWORD1>\r
+                       <KEYWORD1>KBETW</KEYWORD1>\r
+                       <KEYWORD1>KCAL</KEYWORD1>\r
+                       <KEYWORD1>KCALC</KEYWORD1>\r
+                       <KEYWORD1>KCEN</KEYWORD1>\r
+                       <KEYWORD1>KCENTER</KEYWORD1>\r
+                       <KEYWORD1>KCLE</KEYWORD1>\r
+                       <KEYWORD1>KCLEAR</KEYWORD1>\r
+                       <KEYWORD1>KDEL</KEYWORD1>\r
+                       <KEYWORD1>KDELE</KEYWORD1>\r
+                       <KEYWORD1>KDIS</KEYWORD1>\r
+                       <KEYWORD1>KDIST</KEYWORD1>\r
+                       <KEYWORD1>KESI</KEYWORD1>\r
+                       <KEYWORD1>KESIZE</KEYWORD1>\r
+                       <KEYWORD1>KEYO</KEYWORD1>\r
+                       <KEYWORD1>KEYOPT</KEYWORD1>\r
+                       <KEYWORD1>KEYP</KEYWORD1>\r
+                       <KEYWORD1>KEYPTS</KEYWORD1>\r
+                       <KEYWORD1>KEYW</KEYWORD1>\r
+                       <KEYWORD1>KEYW</KEYWORD1>\r
+                       <KEYWORD1>KFIL</KEYWORD1>\r
+                       <KEYWORD1>KFILL</KEYWORD1>\r
+                       <KEYWORD1>KGEN</KEYWORD1>\r
+                       <KEYWORD1>KGEN</KEYWORD1>\r
+                       <KEYWORD1>KL</KEYWORD1>\r
+                       <KEYWORD1>KLIS</KEYWORD1>\r
+                       <KEYWORD1>KLIST</KEYWORD1>\r
+                       <KEYWORD1>KMES</KEYWORD1>\r
+                       <KEYWORD1>KMESH</KEYWORD1>\r
+                       <KEYWORD1>KMOD</KEYWORD1>\r
+                       <KEYWORD1>KMODIF</KEYWORD1>\r
+                       <KEYWORD1>KMOV</KEYWORD1>\r
+                       <KEYWORD1>KMOVE</KEYWORD1>\r
+                       <KEYWORD1>KNOD</KEYWORD1>\r
+                       <KEYWORD1>KNODE</KEYWORD1>\r
+                       <KEYWORD1>KPLO</KEYWORD1>\r
+                       <KEYWORD1>KPLOT</KEYWORD1>\r
+                       <KEYWORD1>KPSC</KEYWORD1>\r
+                       <KEYWORD1>KPSCALE</KEYWORD1>\r
+                       <KEYWORD1>KREF</KEYWORD1>\r
+                       <KEYWORD1>KREFINE</KEYWORD1>\r
+                       <KEYWORD1>KSCA</KEYWORD1>\r
+                       <KEYWORD1>KSCALE</KEYWORD1>\r
+                       <KEYWORD1>KSCO</KEYWORD1>\r
+                       <KEYWORD1>KSCON</KEYWORD1>\r
+                       <KEYWORD1>KSEL</KEYWORD1>\r
+                       <KEYWORD1>KSEL</KEYWORD1>\r
+                       <KEYWORD1>KSLL</KEYWORD1>\r
+                       <KEYWORD1>KSLL</KEYWORD1>\r
+                       <KEYWORD1>KSLN</KEYWORD1>\r
+                       <KEYWORD1>KSLN</KEYWORD1>\r
+                       <KEYWORD1>KSUM</KEYWORD1>\r
+                       <KEYWORD1>KSUM</KEYWORD1>\r
+                       <KEYWORD1>KSYM</KEYWORD1>\r
+                       <KEYWORD1>KSYMM</KEYWORD1>\r
+                       <KEYWORD1>KTRA</KEYWORD1>\r
+                       <KEYWORD1>KTRAN</KEYWORD1>\r
+                       <KEYWORD1>KUSE</KEYWORD1>\r
+                       <KEYWORD1>KUSE</KEYWORD1>\r
+                       <KEYWORD1>KWPA</KEYWORD1>\r
+                       <KEYWORD1>KWPAVE</KEYWORD1>\r
+                       <KEYWORD1>KWPL</KEYWORD1>\r
+                       <KEYWORD1>KWPLAN</KEYWORD1>\r
+                       <KEYWORD1>L2AN</KEYWORD1>\r
+                       <KEYWORD1>L2ANG</KEYWORD1>\r
+                       <KEYWORD1>L2TA</KEYWORD1>\r
+                       <KEYWORD1>L2TAN</KEYWORD1>\r
+                       <KEYWORD1>L</KEYWORD1>\r
+                       <KEYWORD1>LANG</KEYWORD1>\r
+                       <KEYWORD1>LANG</KEYWORD1>\r
+                       <KEYWORD1>LARC</KEYWORD1>\r
+                       <KEYWORD1>LARC</KEYWORD1>\r
+                       <KEYWORD1>LARE</KEYWORD1>\r
+                       <KEYWORD1>LAREA</KEYWORD1>\r
+                       <KEYWORD1>LARG</KEYWORD1>\r
+                       <KEYWORD1>LARGE</KEYWORD1>\r
+                       <KEYWORD1>LATT</KEYWORD1>\r
+                       <KEYWORD1>LATT</KEYWORD1>\r
+                       <KEYWORD1>LAYE</KEYWORD1>\r
+                       <KEYWORD1>LAYE</KEYWORD1>\r
+                       <KEYWORD1>LAYER</KEYWORD1>\r
+                       <KEYWORD1>LAYERP26</KEYWORD1>\r
+                       <KEYWORD1>LAYL</KEYWORD1>\r
+                       <KEYWORD1>LAYLIST</KEYWORD1>\r
+                       <KEYWORD1>LAYP</KEYWORD1>\r
+                       <KEYWORD1>LAYPLOT</KEYWORD1>\r
+                       <KEYWORD1>LCAB</KEYWORD1>\r
+                       <KEYWORD1>LCABS</KEYWORD1>\r
+                       <KEYWORD1>LCAS</KEYWORD1>\r
+                       <KEYWORD1>LCASE</KEYWORD1>\r
+                       <KEYWORD1>LCCA</KEYWORD1>\r
+                       <KEYWORD1>LCCA</KEYWORD1>\r
+                       <KEYWORD1>LCCALC</KEYWORD1>\r
+                       <KEYWORD1>LCCAT</KEYWORD1>\r
+                       <KEYWORD1>LCDE</KEYWORD1>\r
+                       <KEYWORD1>LCDEF</KEYWORD1>\r
+                       <KEYWORD1>LCFA</KEYWORD1>\r
+                       <KEYWORD1>LCFACT</KEYWORD1>\r
+                       <KEYWORD1>LCFI</KEYWORD1>\r
+                       <KEYWORD1>LCFILE</KEYWORD1>\r
+                       <KEYWORD1>LCLE</KEYWORD1>\r
+                       <KEYWORD1>LCLEAR</KEYWORD1>\r
+                       <KEYWORD1>LCOM</KEYWORD1>\r
+                       <KEYWORD1>LCOMB</KEYWORD1>\r
+                       <KEYWORD1>LCOP</KEYWORD1>\r
+                       <KEYWORD1>LCOPER</KEYWORD1>\r
+                       <KEYWORD1>LCSE</KEYWORD1>\r
+                       <KEYWORD1>LCSEL</KEYWORD1>\r
+                       <KEYWORD1>LCSL</KEYWORD1>\r
+                       <KEYWORD1>LCSL</KEYWORD1>\r
+                       <KEYWORD1>LCSU</KEYWORD1>\r
+                       <KEYWORD1>LCSUM</KEYWORD1>\r
+                       <KEYWORD1>LCWR</KEYWORD1>\r
+                       <KEYWORD1>LCWRITE</KEYWORD1>\r
+                       <KEYWORD1>LCZE</KEYWORD1>\r
+                       <KEYWORD1>LCZERO</KEYWORD1>\r
+                       <KEYWORD1>LDEL</KEYWORD1>\r
+                       <KEYWORD1>LDELE</KEYWORD1>\r
+                       <KEYWORD1>LDIV</KEYWORD1>\r
+                       <KEYWORD1>LDIV</KEYWORD1>\r
+                       <KEYWORD1>LDRA</KEYWORD1>\r
+                       <KEYWORD1>LDRAG</KEYWORD1>\r
+                       <KEYWORD1>LDRE</KEYWORD1>\r
+                       <KEYWORD1>LDREAD</KEYWORD1>\r
+                       <KEYWORD1>LESI</KEYWORD1>\r
+                       <KEYWORD1>LESIZE</KEYWORD1>\r
+                       <KEYWORD1>LEXT</KEYWORD1>\r
+                       <KEYWORD1>LEXTND</KEYWORD1>\r
+                       <KEYWORD1>LFIL</KEYWORD1>\r
+                       <KEYWORD1>LFILLT</KEYWORD1>\r
+                       <KEYWORD1>LFSU</KEYWORD1>\r
+                       <KEYWORD1>LFSURF</KEYWORD1>\r
+                       <KEYWORD1>LGEN</KEYWORD1>\r
+                       <KEYWORD1>LGEN</KEYWORD1>\r
+                       <KEYWORD1>LGLU</KEYWORD1>\r
+                       <KEYWORD1>LGLUE</KEYWORD1>\r
+                       <KEYWORD1>LGWR</KEYWORD1>\r
+                       <KEYWORD1>LGWRITE</KEYWORD1>\r
+                       <KEYWORD1>LINA</KEYWORD1>\r
+                       <KEYWORD1>LINA</KEYWORD1>\r
+                       <KEYWORD1>LINE</KEYWORD1>\r
+                       <KEYWORD1>LINE</KEYWORD1>\r
+                       <KEYWORD1>LINE</KEYWORD1>\r
+                       <KEYWORD1>LINES</KEYWORD1>\r
+                       <KEYWORD1>LINL</KEYWORD1>\r
+                       <KEYWORD1>LINL</KEYWORD1>\r
+                       <KEYWORD1>LINP</KEYWORD1>\r
+                       <KEYWORD1>LINP</KEYWORD1>\r
+                       <KEYWORD1>LINV</KEYWORD1>\r
+                       <KEYWORD1>LINV</KEYWORD1>\r
+                       <KEYWORD1>LLIS</KEYWORD1>\r
+                       <KEYWORD1>LLIST</KEYWORD1>\r
+                       <KEYWORD1>LMAT</KEYWORD1>\r
+                       <KEYWORD1>LMATRIX</KEYWORD1>\r
+                       <KEYWORD1>LMES</KEYWORD1>\r
+                       <KEYWORD1>LMESH</KEYWORD1>\r
+                       <KEYWORD1>LNCO</KEYWORD1>\r
+                       <KEYWORD1>LNCOLLAPSE</KEYWORD1>\r
+                       <KEYWORD1>LNDE</KEYWORD1>\r
+                       <KEYWORD1>LNDETACH</KEYWORD1>\r
+                       <KEYWORD1>LNFI</KEYWORD1>\r
+                       <KEYWORD1>LNFILL</KEYWORD1>\r
+                       <KEYWORD1>LNME</KEYWORD1>\r
+                       <KEYWORD1>LNMERGE</KEYWORD1>\r
+                       <KEYWORD1>LNSP</KEYWORD1>\r
+                       <KEYWORD1>LNSPLIT</KEYWORD1>\r
+                       <KEYWORD1>LNSR</KEYWORD1>\r
+                       <KEYWORD1>LNSRCH</KEYWORD1>\r
+                       <KEYWORD1>LOCA</KEYWORD1>\r
+                       <KEYWORD1>LOCAL</KEYWORD1>\r
+                       <KEYWORD1>LOVL</KEYWORD1>\r
+                       <KEYWORD1>LOVLAP</KEYWORD1>\r
+                       <KEYWORD1>LPLO</KEYWORD1>\r
+                       <KEYWORD1>LPLOT</KEYWORD1>\r
+                       <KEYWORD1>LPTN</KEYWORD1>\r
+                       <KEYWORD1>LPTN</KEYWORD1>\r
+                       <KEYWORD1>LREF</KEYWORD1>\r
+                       <KEYWORD1>LREFINE</KEYWORD1>\r
+                       <KEYWORD1>LREV</KEYWORD1>\r
+                       <KEYWORD1>LREVERSE</KEYWORD1>\r
+                       <KEYWORD1>LROT</KEYWORD1>\r
+                       <KEYWORD1>LROTAT</KEYWORD1>\r
+                       <KEYWORD1>LSBA</KEYWORD1>\r
+                       <KEYWORD1>LSBA</KEYWORD1>\r
+                       <KEYWORD1>LSBL</KEYWORD1>\r
+                       <KEYWORD1>LSBL</KEYWORD1>\r
+                       <KEYWORD1>LSBV</KEYWORD1>\r
+                       <KEYWORD1>LSBV</KEYWORD1>\r
+                       <KEYWORD1>LSBW</KEYWORD1>\r
+                       <KEYWORD1>LSBW</KEYWORD1>\r
+                       <KEYWORD1>LSCL</KEYWORD1>\r
+                       <KEYWORD1>LSCLEAR</KEYWORD1>\r
+                       <KEYWORD1>LSDE</KEYWORD1>\r
+                       <KEYWORD1>LSDELE</KEYWORD1>\r
+                       <KEYWORD1>LSEL</KEYWORD1>\r
+                       <KEYWORD1>LSEL</KEYWORD1>\r
+                       <KEYWORD1>LSLA</KEYWORD1>\r
+                       <KEYWORD1>LSLA</KEYWORD1>\r
+                       <KEYWORD1>LSLK</KEYWORD1>\r
+                       <KEYWORD1>LSLK</KEYWORD1>\r
+                       <KEYWORD1>LSOP</KEYWORD1>\r
+                       <KEYWORD1>LSOPER</KEYWORD1>\r
+                       <KEYWORD1>LSRE</KEYWORD1>\r
+                       <KEYWORD1>LSREAD</KEYWORD1>\r
+                       <KEYWORD1>LSSC</KEYWORD1>\r
+                       <KEYWORD1>LSSCALE</KEYWORD1>\r
+                       <KEYWORD1>LSSO</KEYWORD1>\r
+                       <KEYWORD1>LSSOLVE</KEYWORD1>\r
+                       <KEYWORD1>LSTR</KEYWORD1>\r
+                       <KEYWORD1>LSTR</KEYWORD1>\r
+                       <KEYWORD1>LSUM</KEYWORD1>\r
+                       <KEYWORD1>LSUM</KEYWORD1>\r
+                       <KEYWORD1>LSWR</KEYWORD1>\r
+                       <KEYWORD1>LSWRITE</KEYWORD1>\r
+                       <KEYWORD1>LSYM</KEYWORD1>\r
+                       <KEYWORD1>LSYMM</KEYWORD1>\r
+                       <KEYWORD1>LTAN</KEYWORD1>\r
+                       <KEYWORD1>LTAN</KEYWORD1>\r
+                       <KEYWORD1>LTRA</KEYWORD1>\r
+                       <KEYWORD1>LTRAN</KEYWORD1>\r
+                       <KEYWORD1>LUMP</KEYWORD1>\r
+                       <KEYWORD1>LUMPM</KEYWORD1>\r
+                       <KEYWORD1>LVSC</KEYWORD1>\r
+                       <KEYWORD1>LVSCALE</KEYWORD1>\r
+                       <KEYWORD1>LWPL</KEYWORD1>\r
+                       <KEYWORD1>LWPLAN</KEYWORD1>\r
+                       <KEYWORD1>M</KEYWORD1>\r
+                       <KEYWORD1>MAGO</KEYWORD1>\r
+                       <KEYWORD1>MAGOPT</KEYWORD1>\r
+                       <KEYWORD1>MAGS</KEYWORD1>\r
+                       <KEYWORD1>MAGSOLV</KEYWORD1>\r
+                       <KEYWORD1>MAST</KEYWORD1>\r
+                       <KEYWORD1>MASTER</KEYWORD1>\r
+                       <KEYWORD1>MAT</KEYWORD1>\r
+                       <KEYWORD1>MATE</KEYWORD1>\r
+                       <KEYWORD1>MATER</KEYWORD1>\r
+                       <KEYWORD1>MDAM</KEYWORD1>\r
+                       <KEYWORD1>MDAMP</KEYWORD1>\r
+                       <KEYWORD1>MDEL</KEYWORD1>\r
+                       <KEYWORD1>MDELE</KEYWORD1>\r
+                       <KEYWORD1>MESH</KEYWORD1>\r
+                       <KEYWORD1>MESHING</KEYWORD1>\r
+                       <KEYWORD1>MGEN</KEYWORD1>\r
+                       <KEYWORD1>MGEN</KEYWORD1>\r
+                       <KEYWORD1>MITE</KEYWORD1>\r
+                       <KEYWORD1>MITER</KEYWORD1>\r
+                       <KEYWORD1>MLIS</KEYWORD1>\r
+                       <KEYWORD1>MLIST</KEYWORD1>\r
+                       <KEYWORD1>MMF</KEYWORD1>\r
+                       <KEYWORD1>MODE</KEYWORD1>\r
+                       <KEYWORD1>MODE</KEYWORD1>\r
+                       <KEYWORD1>MODM</KEYWORD1>\r
+                       <KEYWORD1>MODMSH</KEYWORD1>\r
+                       <KEYWORD1>MODO</KEYWORD1>\r
+                       <KEYWORD1>MODOPT</KEYWORD1>\r
+                       <KEYWORD1>MONI</KEYWORD1>\r
+                       <KEYWORD1>MONITOR</KEYWORD1>\r
+                       <KEYWORD1>MOPT</KEYWORD1>\r
+                       <KEYWORD1>MOPT</KEYWORD1>\r
+                       <KEYWORD1>MOVE</KEYWORD1>\r
+                       <KEYWORD1>MOVE</KEYWORD1>\r
+                       <KEYWORD1>MP</KEYWORD1>\r
+                       <KEYWORD1>MPAM</KEYWORD1>\r
+                       <KEYWORD1>MPAMOD</KEYWORD1>\r
+                       <KEYWORD1>MPCH</KEYWORD1>\r
+                       <KEYWORD1>MPCHG</KEYWORD1>\r
+                       <KEYWORD1>MPDA</KEYWORD1>\r
+                       <KEYWORD1>MPDATA</KEYWORD1>\r
+                       <KEYWORD1>MPDE</KEYWORD1>\r
+                       <KEYWORD1>MPDELE</KEYWORD1>\r
+                       <KEYWORD1>MPDR</KEYWORD1>\r
+                       <KEYWORD1>MPDRES</KEYWORD1>\r
+                       <KEYWORD1>MPLI</KEYWORD1>\r
+                       <KEYWORD1>MPLIST</KEYWORD1>\r
+                       <KEYWORD1>MPMO</KEYWORD1>\r
+                       <KEYWORD1>MPMOD</KEYWORD1>\r
+                       <KEYWORD1>MPPL</KEYWORD1>\r
+                       <KEYWORD1>MPPLOT</KEYWORD1>\r
+                       <KEYWORD1>MPRE</KEYWORD1>\r
+                       <KEYWORD1>MPREAD</KEYWORD1>\r
+                       <KEYWORD1>MPRI</KEYWORD1>\r
+                       <KEYWORD1>MPRINT</KEYWORD1>\r
+                       <KEYWORD1>MPTE</KEYWORD1>\r
+                       <KEYWORD1>MPTEMP</KEYWORD1>\r
+                       <KEYWORD1>MPTG</KEYWORD1>\r
+                       <KEYWORD1>MPTGEN</KEYWORD1>\r
+                       <KEYWORD1>MPTR</KEYWORD1>\r
+                       <KEYWORD1>MPTRES</KEYWORD1>\r
+                       <KEYWORD1>MPUN</KEYWORD1>\r
+                       <KEYWORD1>MPUNDO</KEYWORD1>\r
+                       <KEYWORD1>MPWR</KEYWORD1>\r
+                       <KEYWORD1>MPWRITE</KEYWORD1>\r
+                       <KEYWORD1>MSAD</KEYWORD1>\r
+                       <KEYWORD1>MSADV</KEYWORD1>\r
+                       <KEYWORD1>MSCA</KEYWORD1>\r
+                       <KEYWORD1>MSCAP</KEYWORD1>\r
+                       <KEYWORD1>MSDA</KEYWORD1>\r
+                       <KEYWORD1>MSDATA</KEYWORD1>\r
+                       <KEYWORD1>MSHA</KEYWORD1>\r
+                       <KEYWORD1>MSHAPE</KEYWORD1>\r
+                       <KEYWORD1>MSHK</KEYWORD1>\r
+                       <KEYWORD1>MSHKEY</KEYWORD1>\r
+                       <KEYWORD1>MSHM</KEYWORD1>\r
+                       <KEYWORD1>MSHMID</KEYWORD1>\r
+                       <KEYWORD1>MSHP</KEYWORD1>\r
+                       <KEYWORD1>MSHPATTERN</KEYWORD1>\r
+                       <KEYWORD1>MSME</KEYWORD1>\r
+                       <KEYWORD1>MSMETH</KEYWORD1>\r
+                       <KEYWORD1>MSNO</KEYWORD1>\r
+                       <KEYWORD1>MSNOMF</KEYWORD1>\r
+                       <KEYWORD1>MSPR</KEYWORD1>\r
+                       <KEYWORD1>MSPROP</KEYWORD1>\r
+                       <KEYWORD1>MSQU</KEYWORD1>\r
+                       <KEYWORD1>MSQUAD</KEYWORD1>\r
+                       <KEYWORD1>MSRE</KEYWORD1>\r
+                       <KEYWORD1>MSRELAX</KEYWORD1>\r
+                       <KEYWORD1>MSSO</KEYWORD1>\r
+                       <KEYWORD1>MSSOLU</KEYWORD1>\r
+                       <KEYWORD1>MSSP</KEYWORD1>\r
+                       <KEYWORD1>MSSPEC</KEYWORD1>\r
+                       <KEYWORD1>MSTE</KEYWORD1>\r
+                       <KEYWORD1>MSTERM</KEYWORD1>\r
+                       <KEYWORD1>MSVA</KEYWORD1>\r
+                       <KEYWORD1>MSVARY</KEYWORD1>\r
+                       <KEYWORD1>MXPA</KEYWORD1>\r
+                       <KEYWORD1>MXPAND</KEYWORD1>\r
+                       <KEYWORD1>N</KEYWORD1>\r
+                       <KEYWORD1>NANG</KEYWORD1>\r
+                       <KEYWORD1>NANG</KEYWORD1>\r
+                       <KEYWORD1>NCNV</KEYWORD1>\r
+                       <KEYWORD1>NCNV</KEYWORD1>\r
+                       <KEYWORD1>NDEL</KEYWORD1>\r
+                       <KEYWORD1>NDELE</KEYWORD1>\r
+                       <KEYWORD1>NDIS</KEYWORD1>\r
+                       <KEYWORD1>NDIST</KEYWORD1>\r
+                       <KEYWORD1>NEQI</KEYWORD1>\r
+                       <KEYWORD1>NEQIT</KEYWORD1>\r
+                       <KEYWORD1>NFOR</KEYWORD1>\r
+                       <KEYWORD1>NFORCE</KEYWORD1>\r
+                       <KEYWORD1>NGEN</KEYWORD1>\r
+                       <KEYWORD1>NGEN</KEYWORD1>\r
+                       <KEYWORD1>NKPT</KEYWORD1>\r
+                       <KEYWORD1>NKPT</KEYWORD1>\r
+                       <KEYWORD1>NLGE</KEYWORD1>\r
+                       <KEYWORD1>NLGEOM</KEYWORD1>\r
+                       <KEYWORD1>NLIS</KEYWORD1>\r
+                       <KEYWORD1>NLIST</KEYWORD1>\r
+                       <KEYWORD1>NLOG</KEYWORD1>\r
+                       <KEYWORD1>NLOG</KEYWORD1>\r
+                       <KEYWORD1>NLOP</KEYWORD1>\r
+                       <KEYWORD1>NLOPT</KEYWORD1>\r
+                       <KEYWORD1>NMOD</KEYWORD1>\r
+                       <KEYWORD1>NMODIF</KEYWORD1>\r
+                       <KEYWORD1>NOCO</KEYWORD1>\r
+                       <KEYWORD1>NOCOLOR</KEYWORD1>\r
+                       <KEYWORD1>NODE</KEYWORD1>\r
+                       <KEYWORD1>NODES</KEYWORD1>\r
+                       <KEYWORD1>NOOR</KEYWORD1>\r
+                       <KEYWORD1>NOORDER</KEYWORD1>\r
+                       <KEYWORD1>NPLO</KEYWORD1>\r
+                       <KEYWORD1>NPLOT</KEYWORD1>\r
+                       <KEYWORD1>NPRI</KEYWORD1>\r
+                       <KEYWORD1>NPRINT</KEYWORD1>\r
+                       <KEYWORD1>NREA</KEYWORD1>\r
+                       <KEYWORD1>NREAD</KEYWORD1>\r
+                       <KEYWORD1>NREF</KEYWORD1>\r
+                       <KEYWORD1>NREFINE</KEYWORD1>\r
+                       <KEYWORD1>NRLS</KEYWORD1>\r
+                       <KEYWORD1>NRLSUM</KEYWORD1>\r
+                       <KEYWORD1>NROP</KEYWORD1>\r
+                       <KEYWORD1>NROPT</KEYWORD1>\r
+                       <KEYWORD1>NROT</KEYWORD1>\r
+                       <KEYWORD1>NROTAT</KEYWORD1>\r
+                       <KEYWORD1>NRRA</KEYWORD1>\r
+                       <KEYWORD1>NRRANG</KEYWORD1>\r
+                       <KEYWORD1>NSCA</KEYWORD1>\r
+                       <KEYWORD1>NSCALE</KEYWORD1>\r
+                       <KEYWORD1>NSEL</KEYWORD1>\r
+                       <KEYWORD1>NSEL</KEYWORD1>\r
+                       <KEYWORD1>NSLA</KEYWORD1>\r
+                       <KEYWORD1>NSLA</KEYWORD1>\r
+                       <KEYWORD1>NSLE</KEYWORD1>\r
+                       <KEYWORD1>NSLE</KEYWORD1>\r
+                       <KEYWORD1>NSLK</KEYWORD1>\r
+                       <KEYWORD1>NSLK</KEYWORD1>\r
+                       <KEYWORD1>NSLL</KEYWORD1>\r
+                       <KEYWORD1>NSLL</KEYWORD1>\r
+                       <KEYWORD1>NSLV</KEYWORD1>\r
+                       <KEYWORD1>NSLV</KEYWORD1>\r
+                       <KEYWORD1>NSOL</KEYWORD1>\r
+                       <KEYWORD1>NSOL</KEYWORD1>\r
+                       <KEYWORD1>NSOR</KEYWORD1>\r
+                       <KEYWORD1>NSORT</KEYWORD1>\r
+                       <KEYWORD1>NSTO</KEYWORD1>\r
+                       <KEYWORD1>NSTORE</KEYWORD1>\r
+                       <KEYWORD1>NSUB</KEYWORD1>\r
+                       <KEYWORD1>NSUBST</KEYWORD1>\r
+                       <KEYWORD1>NSVR</KEYWORD1>\r
+                       <KEYWORD1>NSVR</KEYWORD1>\r
+                       <KEYWORD1>NSYM</KEYWORD1>\r
+                       <KEYWORD1>NSYM</KEYWORD1>\r
+                       <KEYWORD1>NUMC</KEYWORD1>\r
+                       <KEYWORD1>NUMCMP</KEYWORD1>\r
+                       <KEYWORD1>NUME</KEYWORD1>\r
+                       <KEYWORD1>NUMEXP</KEYWORD1>\r
+                       <KEYWORD1>NUMM</KEYWORD1>\r
+                       <KEYWORD1>NUMMRG</KEYWORD1>\r
+                       <KEYWORD1>NUMO</KEYWORD1>\r
+                       <KEYWORD1>NUMOFF</KEYWORD1>\r
+                       <KEYWORD1>NUMS</KEYWORD1>\r
+                       <KEYWORD1>NUMSTR</KEYWORD1>\r
+                       <KEYWORD1>NUMV</KEYWORD1>\r
+                       <KEYWORD1>NUMVAR</KEYWORD1>\r
+                       <KEYWORD1>NUSO</KEYWORD1>\r
+                       <KEYWORD1>NUSORT</KEYWORD1>\r
+                       <KEYWORD1>NWPA</KEYWORD1>\r
+                       <KEYWORD1>NWPAVE</KEYWORD1>\r
+                       <KEYWORD1>NWPL</KEYWORD1>\r
+                       <KEYWORD1>NWPLAN</KEYWORD1>\r
+                       <KEYWORD1>NWRI</KEYWORD1>\r
+                       <KEYWORD1>NWRITE</KEYWORD1>\r
+                       <KEYWORD1>nx</KEYWORD1>\r
+                       <KEYWORD1>ny</KEYWORD1>\r
+                       <KEYWORD1>nz</KEYWORD1>\r
+                       <KEYWORD1>OMEG</KEYWORD1>\r
+                       <KEYWORD1>OMEGA</KEYWORD1>\r
+                       <KEYWORD1>OPAD</KEYWORD1>\r
+                       <KEYWORD1>OPADD</KEYWORD1>\r
+                       <KEYWORD1>OPAN</KEYWORD1>\r
+                       <KEYWORD1>OPANL</KEYWORD1>\r
+                       <KEYWORD1>OPCL</KEYWORD1>\r
+                       <KEYWORD1>OPCLR</KEYWORD1>\r
+                       <KEYWORD1>OPDA</KEYWORD1>\r
+                       <KEYWORD1>OPDATA</KEYWORD1>\r
+                       <KEYWORD1>OPDE</KEYWORD1>\r
+                       <KEYWORD1>OPDEL</KEYWORD1>\r
+                       <KEYWORD1>OPEQ</KEYWORD1>\r
+                       <KEYWORD1>OPEQN</KEYWORD1>\r
+                       <KEYWORD1>OPER</KEYWORD1>\r
+                       <KEYWORD1>OPERATE</KEYWORD1>\r
+                       <KEYWORD1>OPEX</KEYWORD1>\r
+                       <KEYWORD1>OPEXE</KEYWORD1>\r
+                       <KEYWORD1>OPFA</KEYWORD1>\r
+                       <KEYWORD1>OPFACT</KEYWORD1>\r
+                       <KEYWORD1>OPFR</KEYWORD1>\r
+                       <KEYWORD1>OPFRST</KEYWORD1>\r
+                       <KEYWORD1>OPGR</KEYWORD1>\r
+                       <KEYWORD1>OPGRAD</KEYWORD1>\r
+                       <KEYWORD1>OPKE</KEYWORD1>\r
+                       <KEYWORD1>OPKEEP</KEYWORD1>\r
+                       <KEYWORD1>OPLF</KEYWORD1>\r
+                       <KEYWORD1>OPLFA</KEYWORD1>\r
+                       <KEYWORD1>OPLG</KEYWORD1>\r
+                       <KEYWORD1>OPLGR</KEYWORD1>\r
+                       <KEYWORD1>OPLI</KEYWORD1>\r
+                       <KEYWORD1>OPLIST</KEYWORD1>\r
+                       <KEYWORD1>OPLO</KEYWORD1>\r
+                       <KEYWORD1>OPLOOP</KEYWORD1>\r
+                       <KEYWORD1>OPLS</KEYWORD1>\r
+                       <KEYWORD1>OPLSW</KEYWORD1>\r
+                       <KEYWORD1>OPMA</KEYWORD1>\r
+                       <KEYWORD1>OPMAKE</KEYWORD1>\r
+                       <KEYWORD1>OPNC</KEYWORD1>\r
+                       <KEYWORD1>OPNCONTROL</KEYWORD1>\r
+                       <KEYWORD1>OPPR</KEYWORD1>\r
+                       <KEYWORD1>OPPRNT</KEYWORD1>\r
+                       <KEYWORD1>OPRA</KEYWORD1>\r
+                       <KEYWORD1>OPRAND</KEYWORD1>\r
+                       <KEYWORD1>OPRE</KEYWORD1>\r
+                       <KEYWORD1>OPRESU</KEYWORD1>\r
+                       <KEYWORD1>OPRF</KEYWORD1>\r
+                       <KEYWORD1>OPRFA</KEYWORD1>\r
+                       <KEYWORD1>OPRG</KEYWORD1>\r
+                       <KEYWORD1>OPRGR</KEYWORD1>\r
+                       <KEYWORD1>OPRS</KEYWORD1>\r
+                       <KEYWORD1>OPRSW</KEYWORD1>\r
+                       <KEYWORD1>OPSA</KEYWORD1>\r
+                       <KEYWORD1>OPSAVE</KEYWORD1>\r
+                       <KEYWORD1>OPSE</KEYWORD1>\r
+                       <KEYWORD1>OPSEL</KEYWORD1>\r
+                       <KEYWORD1>OPSU</KEYWORD1>\r
+                       <KEYWORD1>OPSUBP</KEYWORD1>\r
+                       <KEYWORD1>OPSW</KEYWORD1>\r
+                       <KEYWORD1>OPSWEEP</KEYWORD1>\r
+                       <KEYWORD1>OPTY</KEYWORD1>\r
+                       <KEYWORD1>OPTYPE</KEYWORD1>\r
+                       <KEYWORD1>OPUS</KEYWORD1>\r
+                       <KEYWORD1>OPUSER</KEYWORD1>\r
+                       <KEYWORD1>OPVA</KEYWORD1>\r
+                       <KEYWORD1>OPVAR</KEYWORD1>\r
+                       <KEYWORD1>OUTO</KEYWORD1>\r
+                       <KEYWORD1>OUTOPT</KEYWORD1>\r
+                       <KEYWORD1>OUTP</KEYWORD1>\r
+                       <KEYWORD1>OUTPR</KEYWORD1>\r
+                       <KEYWORD1>OUTR</KEYWORD1>\r
+                       <KEYWORD1>OUTRES</KEYWORD1>\r
+                       <KEYWORD1>PADE</KEYWORD1>\r
+                       <KEYWORD1>PADELE</KEYWORD1>\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>PAGET</KEYWORD1>\r
+                       <KEYWORD1>PAPU</KEYWORD1>\r
+                       <KEYWORD1>PAPUT</KEYWORD1>\r
+                       <KEYWORD1>PARE</KEYWORD1>\r
+                       <KEYWORD1>PARESU</KEYWORD1>\r
+                       <KEYWORD1>PARR</KEYWORD1>\r
+                       <KEYWORD1>PARRES</KEYWORD1>\r
+                       <KEYWORD1>PARS</KEYWORD1>\r
+                       <KEYWORD1>PARSAV</KEYWORD1>\r
+                       <KEYWORD1>PASA</KEYWORD1>\r
+                       <KEYWORD1>PASAVE</KEYWORD1>\r
+                       <KEYWORD1>PATH</KEYWORD1>\r
+                       <KEYWORD1>PATH</KEYWORD1>\r
+                       <KEYWORD1>PCAL</KEYWORD1>\r
+                       <KEYWORD1>PCALC</KEYWORD1>\r
+                       <KEYWORD1>PCIR</KEYWORD1>\r
+                       <KEYWORD1>PCIRC</KEYWORD1>\r
+                       <KEYWORD1>PCON</KEYWORD1>\r
+                       <KEYWORD1>PCONV</KEYWORD1>\r
+                       <KEYWORD1>PCOR</KEYWORD1>\r
+                       <KEYWORD1>PCORRO</KEYWORD1>\r
+                       <KEYWORD1>PCRO</KEYWORD1>\r
+                       <KEYWORD1>PCROSS</KEYWORD1>\r
+                       <KEYWORD1>PDEF</KEYWORD1>\r
+                       <KEYWORD1>PDEF</KEYWORD1>\r
+                       <KEYWORD1>PDOT</KEYWORD1>\r
+                       <KEYWORD1>PDOT</KEYWORD1>\r
+                       <KEYWORD1>PDRA</KEYWORD1>\r
+                       <KEYWORD1>PDRAG</KEYWORD1>\r
+                       <KEYWORD1>PERB</KEYWORD1>\r
+                       <KEYWORD1>PERBC2D</KEYWORD1>\r
+                       <KEYWORD1>PEXC</KEYWORD1>\r
+                       <KEYWORD1>PEXCLUDE</KEYWORD1>\r
+                       <KEYWORD1>PFAC</KEYWORD1>\r
+                       <KEYWORD1>PFACT</KEYWORD1>\r
+                       <KEYWORD1>PFLU</KEYWORD1>\r
+                       <KEYWORD1>PFLUID</KEYWORD1>\r
+                       <KEYWORD1>PGAP</KEYWORD1>\r
+                       <KEYWORD1>PGAP</KEYWORD1>\r
+                       <KEYWORD1>PHYS</KEYWORD1>\r
+                       <KEYWORD1>PHYSICS</KEYWORD1>\r
+                       <KEYWORD1>PINC</KEYWORD1>\r
+                       <KEYWORD1>PINCLUDE</KEYWORD1>\r
+                       <KEYWORD1>PINS</KEYWORD1>\r
+                       <KEYWORD1>PINSUL</KEYWORD1>\r
+                       <KEYWORD1>PIPE</KEYWORD1>\r
+                       <KEYWORD1>PIPE</KEYWORD1>\r
+                       <KEYWORD1>PIVC</KEYWORD1>\r
+                       <KEYWORD1>PIVCHECK</KEYWORD1>\r
+                       <KEYWORD1>PLAN</KEYWORD1>\r
+                       <KEYWORD1>PLANEWAVE</KEYWORD1>\r
+                       <KEYWORD1>PLCO</KEYWORD1>\r
+                       <KEYWORD1>PLCONV</KEYWORD1>\r
+                       <KEYWORD1>PLCP</KEYWORD1>\r
+                       <KEYWORD1>PLCPLX</KEYWORD1>\r
+                       <KEYWORD1>PLCR</KEYWORD1>\r
+                       <KEYWORD1>PLCRACK</KEYWORD1>\r
+                       <KEYWORD1>PLDI</KEYWORD1>\r
+                       <KEYWORD1>PLDISP</KEYWORD1>\r
+                       <KEYWORD1>PLES</KEYWORD1>\r
+                       <KEYWORD1>PLESOL</KEYWORD1>\r
+                       <KEYWORD1>PLET</KEYWORD1>\r
+                       <KEYWORD1>PLETAB</KEYWORD1>\r
+                       <KEYWORD1>PLF2</KEYWORD1>\r
+                       <KEYWORD1>PLF2D</KEYWORD1>\r
+                       <KEYWORD1>PLLS</KEYWORD1>\r
+                       <KEYWORD1>PLLS</KEYWORD1>\r
+                       <KEYWORD1>PLNS</KEYWORD1>\r
+                       <KEYWORD1>PLNSOL</KEYWORD1>\r
+                       <KEYWORD1>PLOT</KEYWORD1>\r
+                       <KEYWORD1>PLOT</KEYWORD1>\r
+                       <KEYWORD1>PLOT</KEYWORD1>\r
+                       <KEYWORD1>PLOTTING</KEYWORD1>\r
+                       <KEYWORD1>PLPA</KEYWORD1>\r
+                       <KEYWORD1>PLPA</KEYWORD1>\r
+                       <KEYWORD1>PLPAGM</KEYWORD1>\r
+                       <KEYWORD1>PLPATH</KEYWORD1>\r
+                       <KEYWORD1>PLSE</KEYWORD1>\r
+                       <KEYWORD1>PLSECT</KEYWORD1>\r
+                       <KEYWORD1>PLTI</KEYWORD1>\r
+                       <KEYWORD1>PLTIME</KEYWORD1>\r
+                       <KEYWORD1>PLTR</KEYWORD1>\r
+                       <KEYWORD1>PLTRAC</KEYWORD1>\r
+                       <KEYWORD1>PLVA</KEYWORD1>\r
+                       <KEYWORD1>PLVA</KEYWORD1>\r
+                       <KEYWORD1>PLVAR</KEYWORD1>\r
+                       <KEYWORD1>PLVAROPT</KEYWORD1>\r
+                       <KEYWORD1>PLVE</KEYWORD1>\r
+                       <KEYWORD1>PLVECT</KEYWORD1>\r
+                       <KEYWORD1>PMAP</KEYWORD1>\r
+                       <KEYWORD1>PMAP</KEYWORD1>\r
+                       <KEYWORD1>PMET</KEYWORD1>\r
+                       <KEYWORD1>PMETH</KEYWORD1>\r
+                       <KEYWORD1>PMGT</KEYWORD1>\r
+                       <KEYWORD1>PMGTRAN</KEYWORD1>\r
+                       <KEYWORD1>PMOP</KEYWORD1>\r
+                       <KEYWORD1>PMOPTS</KEYWORD1>\r
+                       <KEYWORD1>POIN</KEYWORD1>\r
+                       <KEYWORD1>POINT</KEYWORD1>\r
+                       <KEYWORD1>POLY</KEYWORD1>\r
+                       <KEYWORD1>POLY</KEYWORD1>\r
+                       <KEYWORD1>POPT</KEYWORD1>\r
+                       <KEYWORD1>POPT</KEYWORD1>\r
+                       <KEYWORD1>PORT</KEYWORD1>\r
+                       <KEYWORD1>PORTOPT</KEYWORD1>\r
+                       <KEYWORD1>POWE</KEYWORD1>\r
+                       <KEYWORD1>POWERH</KEYWORD1>\r
+                       <KEYWORD1>PPAT</KEYWORD1>\r
+                       <KEYWORD1>PPATH</KEYWORD1>\r
+                       <KEYWORD1>PPLO</KEYWORD1>\r
+                       <KEYWORD1>PPLOT</KEYWORD1>\r
+                       <KEYWORD1>PPRA</KEYWORD1>\r
+                       <KEYWORD1>PPRANGE</KEYWORD1>\r
+                       <KEYWORD1>PPRE</KEYWORD1>\r
+                       <KEYWORD1>PPRES</KEYWORD1>\r
+                       <KEYWORD1>PRAN</KEYWORD1>\r
+                       <KEYWORD1>PRANGE</KEYWORD1>\r
+                       <KEYWORD1>PRCO</KEYWORD1>\r
+                       <KEYWORD1>PRCONV</KEYWORD1>\r
+                       <KEYWORD1>PRCP</KEYWORD1>\r
+                       <KEYWORD1>PRCPLX</KEYWORD1>\r
+                       <KEYWORD1>PREC</KEYWORD1>\r
+                       <KEYWORD1>PRECISION</KEYWORD1>\r
+                       <KEYWORD1>PRED</KEYWORD1>\r
+                       <KEYWORD1>PRED</KEYWORD1>\r
+                       <KEYWORD1>PRER</KEYWORD1>\r
+                       <KEYWORD1>PRERR</KEYWORD1>\r
+                       <KEYWORD1>PRES</KEYWORD1>\r
+                       <KEYWORD1>PRESOL</KEYWORD1>\r
+                       <KEYWORD1>PRET</KEYWORD1>\r
+                       <KEYWORD1>PRETAB</KEYWORD1>\r
+                       <KEYWORD1>PRI2</KEYWORD1>\r
+                       <KEYWORD1>PRI2</KEYWORD1>\r
+                       <KEYWORD1>PRIM</KEYWORD1>\r
+                       <KEYWORD1>PRIM</KEYWORD1>\r
+                       <KEYWORD1>PRIN</KEYWORD1>\r
+                       <KEYWORD1>PRINT</KEYWORD1>\r
+                       <KEYWORD1>PRIS</KEYWORD1>\r
+                       <KEYWORD1>PRISM</KEYWORD1>\r
+                       <KEYWORD1>PRIT</KEYWORD1>\r
+                       <KEYWORD1>PRITER</KEYWORD1>\r
+                       <KEYWORD1>PRNL</KEYWORD1>\r
+                       <KEYWORD1>PRNLD</KEYWORD1>\r
+                       <KEYWORD1>PRNS</KEYWORD1>\r
+                       <KEYWORD1>PRNSOL</KEYWORD1>\r
+                       <KEYWORD1>PROD</KEYWORD1>\r
+                       <KEYWORD1>PROD</KEYWORD1>\r
+                       <KEYWORD1>PRPA</KEYWORD1>\r
+                       <KEYWORD1>PRPATH</KEYWORD1>\r
+                       <KEYWORD1>PRRF</KEYWORD1>\r
+                       <KEYWORD1>PRRFOR</KEYWORD1>\r
+                       <KEYWORD1>PRRS</KEYWORD1>\r
+                       <KEYWORD1>PRRSOL</KEYWORD1>\r
+                       <KEYWORD1>PRSE</KEYWORD1>\r
+                       <KEYWORD1>PRSECT</KEYWORD1>\r
+                       <KEYWORD1>PRSS</KEYWORD1>\r
+                       <KEYWORD1>PRSSOL</KEYWORD1>\r
+                       <KEYWORD1>PRTI</KEYWORD1>\r
+                       <KEYWORD1>PRTIME</KEYWORD1>\r
+                       <KEYWORD1>PRVA</KEYWORD1>\r
+                       <KEYWORD1>PRVA</KEYWORD1>\r
+                       <KEYWORD1>PRVAR</KEYWORD1>\r
+                       <KEYWORD1>PRVAROPT</KEYWORD1>\r
+                       <KEYWORD1>PRVE</KEYWORD1>\r
+                       <KEYWORD1>PRVECT</KEYWORD1>\r
+                       <KEYWORD1>PSCR</KEYWORD1>\r
+                       <KEYWORD1>PSCR</KEYWORD1>\r
+                       <KEYWORD1>PSDC</KEYWORD1>\r
+                       <KEYWORD1>PSDCOM</KEYWORD1>\r
+                       <KEYWORD1>PSDF</KEYWORD1>\r
+                       <KEYWORD1>PSDFRQ</KEYWORD1>\r
+                       <KEYWORD1>PSDR</KEYWORD1>\r
+                       <KEYWORD1>PSDRES</KEYWORD1>\r
+                       <KEYWORD1>PSDS</KEYWORD1>\r
+                       <KEYWORD1>PSDSPL</KEYWORD1>\r
+                       <KEYWORD1>PSDU</KEYWORD1>\r
+                       <KEYWORD1>PSDUNIT</KEYWORD1>\r
+                       <KEYWORD1>PSDV</KEYWORD1>\r
+                       <KEYWORD1>PSDVAL</KEYWORD1>\r
+                       <KEYWORD1>PSDW</KEYWORD1>\r
+                       <KEYWORD1>PSDWAV</KEYWORD1>\r
+                       <KEYWORD1>PSEL</KEYWORD1>\r
+                       <KEYWORD1>PSEL</KEYWORD1>\r
+                       <KEYWORD1>PSOL</KEYWORD1>\r
+                       <KEYWORD1>PSOLVE</KEYWORD1>\r
+                       <KEYWORD1>PSPE</KEYWORD1>\r
+                       <KEYWORD1>PSPEC</KEYWORD1>\r
+                       <KEYWORD1>PSPR</KEYWORD1>\r
+                       <KEYWORD1>PSPRNG</KEYWORD1>\r
+                       <KEYWORD1>PSTR</KEYWORD1>\r
+                       <KEYWORD1>PSTRES</KEYWORD1>\r
+                       <KEYWORD1>PTEM</KEYWORD1>\r
+                       <KEYWORD1>PTEMP</KEYWORD1>\r
+                       <KEYWORD1>PTXY</KEYWORD1>\r
+                       <KEYWORD1>PTXY</KEYWORD1>\r
+                       <KEYWORD1>PUNI</KEYWORD1>\r
+                       <KEYWORD1>PUNIT</KEYWORD1>\r
+                       <KEYWORD1>PVEC</KEYWORD1>\r
+                       <KEYWORD1>PVECT</KEYWORD1>\r
+                       <KEYWORD1>QDVA</KEYWORD1>\r
+                       <KEYWORD1>QDVAL</KEYWORD1>\r
+                       <KEYWORD1>QFAC</KEYWORD1>\r
+                       <KEYWORD1>QFACT</KEYWORD1>\r
+                       <KEYWORD1>QUAD</KEYWORD1>\r
+                       <KEYWORD1>QUAD</KEYWORD1>\r
+                       <KEYWORD1>QUOT</KEYWORD1>\r
+                       <KEYWORD1>QUOT</KEYWORD1>\r
+                       <KEYWORD1>R</KEYWORD1>\r
+                       <KEYWORD1>RACE</KEYWORD1>\r
+                       <KEYWORD1>RACE</KEYWORD1>\r
+                       <KEYWORD1>RALL</KEYWORD1>\r
+                       <KEYWORD1>RALL</KEYWORD1>\r
+                       <KEYWORD1>RAPP</KEYWORD1>\r
+                       <KEYWORD1>RAPPND</KEYWORD1>\r
+                       <KEYWORD1>RBE3</KEYWORD1>\r
+                       <KEYWORD1>RBE3</KEYWORD1>\r
+                       <KEYWORD1>RCON</KEYWORD1>\r
+                       <KEYWORD1>RCON</KEYWORD1>\r
+                       <KEYWORD1>RDEL</KEYWORD1>\r
+                       <KEYWORD1>RDELE</KEYWORD1>\r
+                       <KEYWORD1>REAL</KEYWORD1>\r
+                       <KEYWORD1>REAL</KEYWORD1>\r
+                       <KEYWORD1>REAL</KEYWORD1>\r
+                       <KEYWORD1>REALVAR</KEYWORD1>\r
+                       <KEYWORD1>RECT</KEYWORD1>\r
+                       <KEYWORD1>RECTNG</KEYWORD1>\r
+                       <KEYWORD1>REDU</KEYWORD1>\r
+                       <KEYWORD1>REDUCE</KEYWORD1>\r
+                       <KEYWORD1>REFL</KEYWORD1>\r
+                       <KEYWORD1>REFLCOEF</KEYWORD1>\r
+                       <KEYWORD1>REOR</KEYWORD1>\r
+                       <KEYWORD1>REORDER</KEYWORD1>\r
+                       <KEYWORD1>RESE</KEYWORD1>\r
+                       <KEYWORD1>RESET</KEYWORD1>\r
+                       <KEYWORD1>RESP</KEYWORD1>\r
+                       <KEYWORD1>RESP</KEYWORD1>\r
+                       <KEYWORD1>RESU</KEYWORD1>\r
+                       <KEYWORD1>RESUME</KEYWORD1>\r
+                       <KEYWORD1>REXP</KEYWORD1>\r
+                       <KEYWORD1>REXPORT</KEYWORD1>\r
+                       <KEYWORD1>RFIL</KEYWORD1>\r
+                       <KEYWORD1>RFILSZ</KEYWORD1>\r
+                       <KEYWORD1>RFOR</KEYWORD1>\r
+                       <KEYWORD1>RFORCE</KEYWORD1>\r
+                       <KEYWORD1>RIGI</KEYWORD1>\r
+                       <KEYWORD1>RIGID</KEYWORD1>\r
+                       <KEYWORD1>RIMP</KEYWORD1>\r
+                       <KEYWORD1>RIMPORT</KEYWORD1>\r
+                       <KEYWORD1>RITE</KEYWORD1>\r
+                       <KEYWORD1>RITER</KEYWORD1>\r
+                       <KEYWORD1>RLIS</KEYWORD1>\r
+                       <KEYWORD1>RLIST</KEYWORD1>\r
+                       <KEYWORD1>RMEM</KEYWORD1>\r
+                       <KEYWORD1>RMEMRY</KEYWORD1>\r
+                       <KEYWORD1>RMOD</KEYWORD1>\r
+                       <KEYWORD1>RMODIF</KEYWORD1>\r
+                       <KEYWORD1>RMOR</KEYWORD1>\r
+                       <KEYWORD1>RMORE</KEYWORD1>\r
+                       <KEYWORD1>ROCK</KEYWORD1>\r
+                       <KEYWORD1>ROCK</KEYWORD1>\r
+                       <KEYWORD1>RPOL</KEYWORD1>\r
+                       <KEYWORD1>RPOLY</KEYWORD1>\r
+                       <KEYWORD1>RPR4</KEYWORD1>\r
+                       <KEYWORD1>RPR4</KEYWORD1>\r
+                       <KEYWORD1>RPRI</KEYWORD1>\r
+                       <KEYWORD1>RPRISM</KEYWORD1>\r
+                       <KEYWORD1>RPSD</KEYWORD1>\r
+                       <KEYWORD1>RPSD</KEYWORD1>\r
+                       <KEYWORD1>RSPE</KEYWORD1>\r
+                       <KEYWORD1>RSPEED</KEYWORD1>\r
+                       <KEYWORD1>RSTA</KEYWORD1>\r
+                       <KEYWORD1>RSTAT</KEYWORD1>\r
+                       <KEYWORD1>RSYS</KEYWORD1>\r
+                       <KEYWORD1>RSYS</KEYWORD1>\r
+                       <KEYWORD1>RTIM</KEYWORD1>\r
+                       <KEYWORD1>RTIMST</KEYWORD1>\r
+                       <KEYWORD1>RUN</KEYWORD1>\r
+                       <KEYWORD1>RWFR</KEYWORD1>\r
+                       <KEYWORD1>RWFRNT</KEYWORD1>\r
+                       <KEYWORD1>SABS</KEYWORD1>\r
+                       <KEYWORD1>SABS</KEYWORD1>\r
+                       <KEYWORD1>SADD</KEYWORD1>\r
+                       <KEYWORD1>SADD</KEYWORD1>\r
+                       <KEYWORD1>SALL</KEYWORD1>\r
+                       <KEYWORD1>SALLOW</KEYWORD1>\r
+                       <KEYWORD1>SARP</KEYWORD1>\r
+                       <KEYWORD1>SARPLOT</KEYWORD1>\r
+                       <KEYWORD1>SAVE</KEYWORD1>\r
+                       <KEYWORD1>SAVE</KEYWORD1>\r
+                       <KEYWORD1>SBCL</KEYWORD1>\r
+                       <KEYWORD1>SBCLIST</KEYWORD1>\r
+                       <KEYWORD1>SBCT</KEYWORD1>\r
+                       <KEYWORD1>SBCTRAN</KEYWORD1>\r
+                       <KEYWORD1>SDEL</KEYWORD1>\r
+                       <KEYWORD1>SDELETE</KEYWORD1>\r
+                       <KEYWORD1>SE</KEYWORD1>\r
+                       <KEYWORD1>SECD</KEYWORD1>\r
+                       <KEYWORD1>SECDATA</KEYWORD1>\r
+                       <KEYWORD1>SECN</KEYWORD1>\r
+                       <KEYWORD1>SECNUM</KEYWORD1>\r
+                       <KEYWORD1>SECO</KEYWORD1>\r
+                       <KEYWORD1>SECOFFSET</KEYWORD1>\r
+                       <KEYWORD1>SECP</KEYWORD1>\r
+                       <KEYWORD1>SECPLOT</KEYWORD1>\r
+                       <KEYWORD1>SECR</KEYWORD1>\r
+                       <KEYWORD1>SECREAD</KEYWORD1>\r
+                       <KEYWORD1>SECT</KEYWORD1>\r
+                       <KEYWORD1>SECTYPE</KEYWORD1>\r
+                       <KEYWORD1>SECW</KEYWORD1>\r
+                       <KEYWORD1>SECWRITE</KEYWORD1>\r
+                       <KEYWORD1>SED</KEYWORD1>\r
+                       <KEYWORD1>SEDL</KEYWORD1>\r
+                       <KEYWORD1>SEDLIST</KEYWORD1>\r
+                       <KEYWORD1>SEEX</KEYWORD1>\r
+                       <KEYWORD1>SEEXP</KEYWORD1>\r
+                       <KEYWORD1>SELI</KEYWORD1>\r
+                       <KEYWORD1>SELIST</KEYWORD1>\r
+                       <KEYWORD1>SELM</KEYWORD1>\r
+                       <KEYWORD1>SELM</KEYWORD1>\r
+                       <KEYWORD1>SENE</KEYWORD1>\r
+                       <KEYWORD1>SENERGY</KEYWORD1>\r
+                       <KEYWORD1>SEOP</KEYWORD1>\r
+                       <KEYWORD1>SEOPT</KEYWORD1>\r
+                       <KEYWORD1>SESY</KEYWORD1>\r
+                       <KEYWORD1>SESYMM</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SETR</KEYWORD1>\r
+                       <KEYWORD1>SETRAN</KEYWORD1>\r
+                       <KEYWORD1>SEXP</KEYWORD1>\r
+                       <KEYWORD1>SEXP</KEYWORD1>\r
+                       <KEYWORD1>SF</KEYWORD1>\r
+                       <KEYWORD1>SFA</KEYWORD1>\r
+                       <KEYWORD1>SFAC</KEYWORD1>\r
+                       <KEYWORD1>SFACT</KEYWORD1>\r
+                       <KEYWORD1>SFAD</KEYWORD1>\r
+                       <KEYWORD1>SFADELE</KEYWORD1>\r
+                       <KEYWORD1>SFAL</KEYWORD1>\r
+                       <KEYWORD1>SFALIST</KEYWORD1>\r
+                       <KEYWORD1>SFBE</KEYWORD1>\r
+                       <KEYWORD1>SFBEAM</KEYWORD1>\r
+                       <KEYWORD1>SFCA</KEYWORD1>\r
+                       <KEYWORD1>SFCALC</KEYWORD1>\r
+                       <KEYWORD1>SFCU</KEYWORD1>\r
+                       <KEYWORD1>SFCUM</KEYWORD1>\r
+                       <KEYWORD1>SFDE</KEYWORD1>\r
+                       <KEYWORD1>SFDELE</KEYWORD1>\r
+                       <KEYWORD1>SFE</KEYWORD1>\r
+                       <KEYWORD1>SFED</KEYWORD1>\r
+                       <KEYWORD1>SFEDELE</KEYWORD1>\r
+                       <KEYWORD1>SFEL</KEYWORD1>\r
+                       <KEYWORD1>SFELIST</KEYWORD1>\r
+                       <KEYWORD1>SFFU</KEYWORD1>\r
+                       <KEYWORD1>SFFUN</KEYWORD1>\r
+                       <KEYWORD1>SFGR</KEYWORD1>\r
+                       <KEYWORD1>SFGRAD</KEYWORD1>\r
+                       <KEYWORD1>SFL</KEYWORD1>\r
+                       <KEYWORD1>SFLD</KEYWORD1>\r
+                       <KEYWORD1>SFLDELE</KEYWORD1>\r
+                       <KEYWORD1>SFLI</KEYWORD1>\r
+                       <KEYWORD1>SFLIST</KEYWORD1>\r
+                       <KEYWORD1>SFLL</KEYWORD1>\r
+                       <KEYWORD1>SFLLIST</KEYWORD1>\r
+                       <KEYWORD1>SFSC</KEYWORD1>\r
+                       <KEYWORD1>SFSCALE</KEYWORD1>\r
+                       <KEYWORD1>SFTR</KEYWORD1>\r
+                       <KEYWORD1>SFTRAN</KEYWORD1>\r
+                       <KEYWORD1>SHEL</KEYWORD1>\r
+                       <KEYWORD1>SHELL</KEYWORD1>\r
+                       <KEYWORD1>SHPP</KEYWORD1>\r
+                       <KEYWORD1>SHPP</KEYWORD1>\r
+                       <KEYWORD1>SLIS</KEYWORD1>\r
+                       <KEYWORD1>SLIST</KEYWORD1>\r
+                       <KEYWORD1>SLPP</KEYWORD1>\r
+                       <KEYWORD1>SLPPLOT</KEYWORD1>\r
+                       <KEYWORD1>SLSP</KEYWORD1>\r
+                       <KEYWORD1>SLSPLOT</KEYWORD1>\r
+                       <KEYWORD1>SMAL</KEYWORD1>\r
+                       <KEYWORD1>SMALL</KEYWORD1>\r
+                       <KEYWORD1>SMAX</KEYWORD1>\r
+                       <KEYWORD1>SMAX</KEYWORD1>\r
+                       <KEYWORD1>SMBO</KEYWORD1>\r
+                       <KEYWORD1>SMBODY</KEYWORD1>\r
+                       <KEYWORD1>SMCO</KEYWORD1>\r
+                       <KEYWORD1>SMCONS</KEYWORD1>\r
+                       <KEYWORD1>SMFO</KEYWORD1>\r
+                       <KEYWORD1>SMFOR</KEYWORD1>\r
+                       <KEYWORD1>SMIN</KEYWORD1>\r
+                       <KEYWORD1>SMIN</KEYWORD1>\r
+                       <KEYWORD1>SMRT</KEYWORD1>\r
+                       <KEYWORD1>SMRTSIZE</KEYWORD1>\r
+                       <KEYWORD1>SMSU</KEYWORD1>\r
+                       <KEYWORD1>SMSURF</KEYWORD1>\r
+                       <KEYWORD1>SMUL</KEYWORD1>\r
+                       <KEYWORD1>SMULT</KEYWORD1>\r
+                       <KEYWORD1>SOLC</KEYWORD1>\r
+                       <KEYWORD1>SOLCONTROL</KEYWORD1>\r
+                       <KEYWORD1>SOLU</KEYWORD1>\r
+                       <KEYWORD1>SOLU</KEYWORD1>\r
+                       <KEYWORD1>SOLU</KEYWORD1>\r
+                       <KEYWORD1>SOLUOPT</KEYWORD1>\r
+                       <KEYWORD1>SOLV</KEYWORD1>\r
+                       <KEYWORD1>SOLVE</KEYWORD1>\r
+                       <KEYWORD1>SORT</KEYWORD1>\r
+                       <KEYWORD1>SORT</KEYWORD1>\r
+                       <KEYWORD1>SOUR</KEYWORD1>\r
+                       <KEYWORD1>SOURCE</KEYWORD1>\r
+                       <KEYWORD1>SPAC</KEYWORD1>\r
+                       <KEYWORD1>SPACE</KEYWORD1>\r
+                       <KEYWORD1>SPAR</KEYWORD1>\r
+                       <KEYWORD1>SPARM</KEYWORD1>\r
+                       <KEYWORD1>SPEC</KEYWORD1>\r
+                       <KEYWORD1>SPEC</KEYWORD1>\r
+                       <KEYWORD1>SPH4</KEYWORD1>\r
+                       <KEYWORD1>SPH4</KEYWORD1>\r
+                       <KEYWORD1>SPH5</KEYWORD1>\r
+                       <KEYWORD1>SPH5</KEYWORD1>\r
+                       <KEYWORD1>SPHE</KEYWORD1>\r
+                       <KEYWORD1>SPHERE</KEYWORD1>\r
+                       <KEYWORD1>SPLI</KEYWORD1>\r
+                       <KEYWORD1>SPLINE</KEYWORD1>\r
+                       <KEYWORD1>SPOI</KEYWORD1>\r
+                       <KEYWORD1>SPOINT</KEYWORD1>\r
+                       <KEYWORD1>SPOP</KEYWORD1>\r
+                       <KEYWORD1>SPOPT</KEYWORD1>\r
+                       <KEYWORD1>SPRE</KEYWORD1>\r
+                       <KEYWORD1>SPREAD</KEYWORD1>\r
+                       <KEYWORD1>SPTO</KEYWORD1>\r
+                       <KEYWORD1>SPTOPT</KEYWORD1>\r
+                       <KEYWORD1>SQRT</KEYWORD1>\r
+                       <KEYWORD1>SQRT</KEYWORD1>\r
+                       <KEYWORD1>SRCS</KEYWORD1>\r
+                       <KEYWORD1>SRCS</KEYWORD1>\r
+                       <KEYWORD1>SRSS</KEYWORD1>\r
+                       <KEYWORD1>SRSS</KEYWORD1>\r
+                       <KEYWORD1>SSLN</KEYWORD1>\r
+                       <KEYWORD1>SSLN</KEYWORD1>\r
+                       <KEYWORD1>SSTI</KEYWORD1>\r
+                       <KEYWORD1>SSTIF</KEYWORD1>\r
+                       <KEYWORD1>SSUM</KEYWORD1>\r
+                       <KEYWORD1>SSUM</KEYWORD1>\r
+                       <KEYWORD1>STAT</KEYWORD1>\r
+                       <KEYWORD1>STAT</KEYWORD1>\r
+                       <KEYWORD1>STEF</KEYWORD1>\r
+                       <KEYWORD1>STEF</KEYWORD1>\r
+                       <KEYWORD1>STOR</KEYWORD1>\r
+                       <KEYWORD1>STORE</KEYWORD1>\r
+                       <KEYWORD1>SUBO</KEYWORD1>\r
+                       <KEYWORD1>SUBOPT</KEYWORD1>\r
+                       <KEYWORD1>SUBS</KEYWORD1>\r
+                       <KEYWORD1>SUBSET</KEYWORD1>\r
+                       <KEYWORD1>SUMT</KEYWORD1>\r
+                       <KEYWORD1>SUMTYPE</KEYWORD1>\r
+                       <KEYWORD1>SV</KEYWORD1>\r
+                       <KEYWORD1>SVTY</KEYWORD1>\r
+                       <KEYWORD1>SVTYP</KEYWORD1>\r
+                       <KEYWORD1>TALL</KEYWORD1>\r
+                       <KEYWORD1>TALLOW</KEYWORD1>\r
+                       <KEYWORD1>TB</KEYWORD1>\r
+                       <KEYWORD1>TBCO</KEYWORD1>\r
+                       <KEYWORD1>TBCOPY</KEYWORD1>\r
+                       <KEYWORD1>TBDA</KEYWORD1>\r
+                       <KEYWORD1>TBDATA</KEYWORD1>\r
+                       <KEYWORD1>TBDE</KEYWORD1>\r
+                       <KEYWORD1>TBDELE</KEYWORD1>\r
+                       <KEYWORD1>TBLE</KEYWORD1>\r
+                       <KEYWORD1>TBLE</KEYWORD1>\r
+                       <KEYWORD1>TBLI</KEYWORD1>\r
+                       <KEYWORD1>TBLIST</KEYWORD1>\r
+                       <KEYWORD1>TBMO</KEYWORD1>\r
+                       <KEYWORD1>TBMODIF</KEYWORD1>\r
+                       <KEYWORD1>TBPL</KEYWORD1>\r
+                       <KEYWORD1>TBPLOT</KEYWORD1>\r
+                       <KEYWORD1>TBPT</KEYWORD1>\r
+                       <KEYWORD1>TBPT</KEYWORD1>\r
+                       <KEYWORD1>TBTE</KEYWORD1>\r
+                       <KEYWORD1>TBTEMP</KEYWORD1>\r
+                       <KEYWORD1>TCHG</KEYWORD1>\r
+                       <KEYWORD1>TCHG</KEYWORD1>\r
+                       <KEYWORD1>TEE</KEYWORD1>\r
+                       <KEYWORD1>TERM</KEYWORD1>\r
+                       <KEYWORD1>TERM</KEYWORD1>\r
+                       <KEYWORD1>TIME</KEYWORD1>\r
+                       <KEYWORD1>TIME</KEYWORD1>\r
+                       <KEYWORD1>TIME</KEYWORD1>\r
+                       <KEYWORD1>TIMERANGE</KEYWORD1>\r
+                       <KEYWORD1>TIMI</KEYWORD1>\r
+                       <KEYWORD1>TIMINT</KEYWORD1>\r
+                       <KEYWORD1>TIMP</KEYWORD1>\r
+                       <KEYWORD1>TIMP</KEYWORD1>\r
+                       <KEYWORD1>TINT</KEYWORD1>\r
+                       <KEYWORD1>TINTP</KEYWORD1>\r
+                       <KEYWORD1>TOFF</KEYWORD1>\r
+                       <KEYWORD1>TOFFST</KEYWORD1>\r
+                       <KEYWORD1>TOPD</KEYWORD1>\r
+                       <KEYWORD1>TOPDEF</KEYWORD1>\r
+                       <KEYWORD1>TOPE</KEYWORD1>\r
+                       <KEYWORD1>TOPEXE</KEYWORD1>\r
+                       <KEYWORD1>TOPI</KEYWORD1>\r
+                       <KEYWORD1>TOPITER</KEYWORD1>\r
+                       <KEYWORD1>TORQ2D</KEYWORD1>\r
+                       <KEYWORD1>TORQ</KEYWORD1>\r
+                       <KEYWORD1>TORQ</KEYWORD1>\r
+                       <KEYWORD1>TORQ</KEYWORD1>\r
+                       <KEYWORD1>TORQC2D</KEYWORD1>\r
+                       <KEYWORD1>TORQSUM</KEYWORD1>\r
+                       <KEYWORD1>TORU</KEYWORD1>\r
+                       <KEYWORD1>TORUS</KEYWORD1>\r
+                       <KEYWORD1>TOTA</KEYWORD1>\r
+                       <KEYWORD1>TOTAL</KEYWORD1>\r
+                       <KEYWORD1>TRAN</KEYWORD1>\r
+                       <KEYWORD1>TRAN</KEYWORD1>\r
+                       <KEYWORD1>TRANS</KEYWORD1>\r
+                       <KEYWORD1>TRANSFER</KEYWORD1>\r
+                       <KEYWORD1>TREF</KEYWORD1>\r
+                       <KEYWORD1>TREF</KEYWORD1>\r
+                       <KEYWORD1>TRNO</KEYWORD1>\r
+                       <KEYWORD1>TRNOPT</KEYWORD1>\r
+                       <KEYWORD1>TRPD</KEYWORD1>\r
+                       <KEYWORD1>TRPDEL</KEYWORD1>\r
+                       <KEYWORD1>TRPL</KEYWORD1>\r
+                       <KEYWORD1>TRPLIS</KEYWORD1>\r
+                       <KEYWORD1>TRPO</KEYWORD1>\r
+                       <KEYWORD1>TRPOIN</KEYWORD1>\r
+                       <KEYWORD1>TRTI</KEYWORD1>\r
+                       <KEYWORD1>TRTIME</KEYWORD1>\r
+                       <KEYWORD1>TSHA</KEYWORD1>\r
+                       <KEYWORD1>TSHAP</KEYWORD1>\r
+                       <KEYWORD1>TSRE</KEYWORD1>\r
+                       <KEYWORD1>TSRES</KEYWORD1>\r
+                       <KEYWORD1>TUNI</KEYWORD1>\r
+                       <KEYWORD1>TUNIF</KEYWORD1>\r
+                       <KEYWORD1>TVAR</KEYWORD1>\r
+                       <KEYWORD1>TVAR</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>UIMP</KEYWORD1>\r
+                       <KEYWORD1>UIMP</KEYWORD1>\r
+                       <KEYWORD1>UPCO</KEYWORD1>\r
+                       <KEYWORD1>UPCOORD</KEYWORD1>\r
+                       <KEYWORD1>UPGE</KEYWORD1>\r
+                       <KEYWORD1>UPGEOM</KEYWORD1>\r
+                       <KEYWORD1>USRC</KEYWORD1>\r
+                       <KEYWORD1>USRCAL</KEYWORD1>\r
+                       <KEYWORD1>V</KEYWORD1>\r
+                       <KEYWORD1>VA</KEYWORD1>\r
+                       <KEYWORD1>VADD</KEYWORD1>\r
+                       <KEYWORD1>VADD</KEYWORD1>\r
+                       <KEYWORD1>VALV</KEYWORD1>\r
+                       <KEYWORD1>VALVE</KEYWORD1>\r
+                       <KEYWORD1>VARD</KEYWORD1>\r
+                       <KEYWORD1>VARDEL</KEYWORD1>\r
+                       <KEYWORD1>VARN</KEYWORD1>\r
+                       <KEYWORD1>VARNAM</KEYWORD1>\r
+                       <KEYWORD1>VATT</KEYWORD1>\r
+                       <KEYWORD1>VATT</KEYWORD1>\r
+                       <KEYWORD1>VCLE</KEYWORD1>\r
+                       <KEYWORD1>VCLEAR</KEYWORD1>\r
+                       <KEYWORD1>VCRO</KEYWORD1>\r
+                       <KEYWORD1>VCROSS</KEYWORD1>\r
+                       <KEYWORD1>VCVF</KEYWORD1>\r
+                       <KEYWORD1>VCVFILL</KEYWORD1>\r
+                       <KEYWORD1>VDDA</KEYWORD1>\r
+                       <KEYWORD1>VDDAM</KEYWORD1>\r
+                       <KEYWORD1>VDEL</KEYWORD1>\r
+                       <KEYWORD1>VDELE</KEYWORD1>\r
+                       <KEYWORD1>VDGL</KEYWORD1>\r
+                       <KEYWORD1>VDGL</KEYWORD1>\r
+                       <KEYWORD1>VDOT</KEYWORD1>\r
+                       <KEYWORD1>VDOT</KEYWORD1>\r
+                       <KEYWORD1>VDRA</KEYWORD1>\r
+                       <KEYWORD1>VDRAG</KEYWORD1>\r
+                       <KEYWORD1>VEXT</KEYWORD1>\r
+                       <KEYWORD1>VEXT</KEYWORD1>\r
+                       <KEYWORD1>VGEN</KEYWORD1>\r
+                       <KEYWORD1>VGEN</KEYWORD1>\r
+                       <KEYWORD1>VGET</KEYWORD1>\r
+                       <KEYWORD1>VGET</KEYWORD1>\r
+                       <KEYWORD1>VGLU</KEYWORD1>\r
+                       <KEYWORD1>VGLUE</KEYWORD1>\r
+                       <KEYWORD1>VIMP</KEYWORD1>\r
+                       <KEYWORD1>VIMP</KEYWORD1>\r
+                       <KEYWORD1>VINP</KEYWORD1>\r
+                       <KEYWORD1>VINP</KEYWORD1>\r
+                       <KEYWORD1>VINV</KEYWORD1>\r
+                       <KEYWORD1>VINV</KEYWORD1>\r
+                       <KEYWORD1>VLIS</KEYWORD1>\r
+                       <KEYWORD1>VLIST</KEYWORD1>\r
+                       <KEYWORD1>VLSC</KEYWORD1>\r
+                       <KEYWORD1>VLSCALE</KEYWORD1>\r
+                       <KEYWORD1>VMES</KEYWORD1>\r
+                       <KEYWORD1>VMESH</KEYWORD1>\r
+                       <KEYWORD1>VOFF</KEYWORD1>\r
+                       <KEYWORD1>VOFFST</KEYWORD1>\r
+                       <KEYWORD1>VOLU</KEYWORD1>\r
+                       <KEYWORD1>VOLUMES</KEYWORD1>\r
+                       <KEYWORD1>VOVL</KEYWORD1>\r
+                       <KEYWORD1>VOVLAP</KEYWORD1>\r
+                       <KEYWORD1>VPLO</KEYWORD1>\r
+                       <KEYWORD1>VPLOT</KEYWORD1>\r
+                       <KEYWORD1>VPTN</KEYWORD1>\r
+                       <KEYWORD1>VPTN</KEYWORD1>\r
+                       <KEYWORD1>VPUT</KEYWORD1>\r
+                       <KEYWORD1>VPUT</KEYWORD1>\r
+                       <KEYWORD1>VROT</KEYWORD1>\r
+                       <KEYWORD1>VROTAT</KEYWORD1>\r
+                       <KEYWORD1>VSBA</KEYWORD1>\r
+                       <KEYWORD1>VSBA</KEYWORD1>\r
+                       <KEYWORD1>VSBV</KEYWORD1>\r
+                       <KEYWORD1>VSBV</KEYWORD1>\r
+                       <KEYWORD1>VSBW</KEYWORD1>\r
+                       <KEYWORD1>VSBW</KEYWORD1>\r
+                       <KEYWORD1>VSEL</KEYWORD1>\r
+                       <KEYWORD1>VSEL</KEYWORD1>\r
+                       <KEYWORD1>VSLA</KEYWORD1>\r
+                       <KEYWORD1>VSLA</KEYWORD1>\r
+                       <KEYWORD1>VSUM</KEYWORD1>\r
+                       <KEYWORD1>VSUM</KEYWORD1>\r
+                       <KEYWORD1>VSWE</KEYWORD1>\r
+                       <KEYWORD1>VSWEEP</KEYWORD1>\r
+                       <KEYWORD1>VSYM</KEYWORD1>\r
+                       <KEYWORD1>VSYMM</KEYWORD1>\r
+                       <KEYWORD1>VTRA</KEYWORD1>\r
+                       <KEYWORD1>VTRAN</KEYWORD1>\r
+                       <KEYWORD1>VTYP</KEYWORD1>\r
+                       <KEYWORD1>VTYPE</KEYWORD1>\r
+                       <KEYWORD1>WAVE</KEYWORD1>\r
+                       <KEYWORD1>WAVES</KEYWORD1>\r
+                       <KEYWORD1>WERA</KEYWORD1>\r
+                       <KEYWORD1>WERASE</KEYWORD1>\r
+                       <KEYWORD1>WFRO</KEYWORD1>\r
+                       <KEYWORD1>WFRONT</KEYWORD1>\r
+                       <KEYWORD1>WMOR</KEYWORD1>\r
+                       <KEYWORD1>WMORE</KEYWORD1>\r
+                       <KEYWORD1>WPAV</KEYWORD1>\r
+                       <KEYWORD1>WPAVE</KEYWORD1>\r
+                       <KEYWORD1>WPCS</KEYWORD1>\r
+                       <KEYWORD1>WPCSYS</KEYWORD1>\r
+                       <KEYWORD1>WPLA</KEYWORD1>\r
+                       <KEYWORD1>WPLANE</KEYWORD1>\r
+                       <KEYWORD1>WPOF</KEYWORD1>\r
+                       <KEYWORD1>WPOFFS</KEYWORD1>\r
+                       <KEYWORD1>WPRO</KEYWORD1>\r
+                       <KEYWORD1>WPROTA</KEYWORD1>\r
+                       <KEYWORD1>WPST</KEYWORD1>\r
+                       <KEYWORD1>WPSTYL</KEYWORD1>\r
+                       <KEYWORD1>WRIT</KEYWORD1>\r
+                       <KEYWORD1>WRITE</KEYWORD1>\r
+                       <KEYWORD1>WSOR</KEYWORD1>\r
+                       <KEYWORD1>WSORT</KEYWORD1>\r
+                       <KEYWORD1>WSTA</KEYWORD1>\r
+                       <KEYWORD1>WSTART</KEYWORD1>\r
+                       <KEYWORD1>XVAR</KEYWORD1>\r
+                       <KEYWORD1>XVAR</KEYWORD1>\r
+                       <KEYWORD1>XVAROPT</KEYWORD1>\r
+\r
+<!--           Material properties (short notation)    -->                     \r
+\r
+                       <KEYWORD1>ex</KEYWORD1>\r
+                       <KEYWORD1>ey</KEYWORD1>\r
+                       <KEYWORD1>ez</KEYWORD1>\r
+                       <KEYWORD1>nuxy</KEYWORD1>\r
+                       <KEYWORD1>nuxz</KEYWORD1>\r
+                       <KEYWORD1>nuyz</KEYWORD1>\r
+                       <KEYWORD1>gxy</KEYWORD1>\r
+                       <KEYWORD1>gxz</KEYWORD1>\r
+                       <KEYWORD1>gyz</KEYWORD1>\r
+                       <KEYWORD1>alpx</KEYWORD1>\r
+                       <KEYWORD1>alpy</KEYWORD1>\r
+                       <KEYWORD1>alpz</KEYWORD1>\r
+                       <KEYWORD1>kxx</KEYWORD1>\r
+                       <KEYWORD1>kyy</KEYWORD1>\r
+                       <KEYWORD1>kzz</KEYWORD1>\r
+                       <KEYWORD1>dens</KEYWORD1>\r
+                       <KEYWORD1>damp</KEYWORD1>\r
+                       <KEYWORD1>mu</KEYWORD1>\r
+                       <KEYWORD1>prxy</KEYWORD1>\r
+\r
+<!--           *get functions (abbreviated)    -->                     \r
+\r
+                       <KEYWORD2>ANGLEK</KEYWORD2>\r
+                       <KEYWORD2>ANGLEN</KEYWORD2>\r
+                       <KEYWORD2>AREAKP</KEYWORD2>\r
+                       <KEYWORD2>AREAND</KEYWORD2>\r
+                       <KEYWORD2>ARFACE</KEYWORD2>\r
+                       <KEYWORD2>ARNEXT</KEYWORD2>\r
+                       <KEYWORD2>ARNODE</KEYWORD2>\r
+                       <KEYWORD2>AX</KEYWORD2>\r
+                       <KEYWORD2>AY</KEYWORD2>\r
+                       <KEYWORD2>AZ</KEYWORD2>\r
+                       <KEYWORD2>CENTRX</KEYWORD2>\r
+                       <KEYWORD2>CENTRY</KEYWORD2>\r
+                       <KEYWORD2>CENTRZ</KEYWORD2>\r
+                       <KEYWORD2>DISTEN</KEYWORD2>\r
+                       <KEYWORD2>DISTKP</KEYWORD2>\r
+                       <KEYWORD2>DISTND</KEYWORD2>\r
+                       <KEYWORD2>ELADJ</KEYWORD2>\r
+                       <KEYWORD2>ELNEXT</KEYWORD2>\r
+                       <KEYWORD2>ENDS</KEYWORD2>\r
+                       <KEYWORD2>ENEARN</KEYWORD2>\r
+                       <KEYWORD2>ENEXTN</KEYWORD2>\r
+                       <KEYWORD2>ENKE</KEYWORD2>\r
+                       <KEYWORD2>KNEAR</KEYWORD2>\r
+                       <KEYWORD2>KP</KEYWORD2>\r
+                       <KEYWORD2>KPNEXT</KEYWORD2>\r
+                       <KEYWORD2>KX</KEYWORD2>\r
+                       <KEYWORD2>KY</KEYWORD2>\r
+                       <KEYWORD2>KZ</KEYWORD2>\r
+                       <KEYWORD2>LOC</KEYWORD2>\r
+                       <KEYWORD2>LSNEXT</KEYWORD2>\r
+                       <KEYWORD2>LSX</KEYWORD2>\r
+                       <KEYWORD2>LSY</KEYWORD2>\r
+                       <KEYWORD2>LSZ</KEYWORD2>\r
+                       <KEYWORD2>LX</KEYWORD2>\r
+                       <KEYWORD2>LY</KEYWORD2>\r
+                       <KEYWORD2>LZ</KEYWORD2>\r
+                       <KEYWORD2>MAG</KEYWORD2>\r
+                       <KEYWORD2>NDFACE</KEYWORD2>\r
+                       <KEYWORD2>NDNEXT</KEYWORD2>\r
+                       <KEYWORD2>NELEM</KEYWORD2>\r
+                       <KEYWORD2>NMFACE</KEYWORD2>\r
+                       <KEYWORD2>NNEAR</KEYWORD2>\r
+                       <KEYWORD2>NODE</KEYWORD2>\r
+                       <KEYWORD2>NORMKX</KEYWORD2>\r
+                       <KEYWORD2>NORMKY</KEYWORD2>\r
+                       <KEYWORD2>NORMKZ</KEYWORD2>\r
+                       <KEYWORD2>NORMNX</KEYWORD2>\r
+                       <KEYWORD2>NORMNY</KEYWORD2>\r
+                       <KEYWORD2>NORMNZ</KEYWORD2>\r
+                       <KEYWORD2>NX</KEYWORD2>\r
+                       <KEYWORD2>NY</KEYWORD2>\r
+                       <KEYWORD2>NZ</KEYWORD2>\r
+                       <KEYWORD2>PRES</KEYWORD2>\r
+                       <KEYWORD2>ROTX</KEYWORD2>\r
+                       <KEYWORD2>ROTY</KEYWORD2>\r
+                       <KEYWORD2>ROTZ</KEYWORD2>\r
+                       <KEYWORD2>TEMP</KEYWORD2>\r
+                       <KEYWORD2>UX</KEYWORD2>\r
+                       <KEYWORD2>UY</KEYWORD2>\r
+                       <KEYWORD2>UZ</KEYWORD2>\r
+                       <KEYWORD2>VLNEXT</KEYWORD2>\r
+                       <KEYWORD2>VOLT</KEYWORD2>\r
+                       <KEYWORD2>VX</KEYWORD2>\r
+                       <KEYWORD2>VY</KEYWORD2>\r
+                       <KEYWORD2>VZ</KEYWORD2>\r
+\r
+                       <!-- [Keywords 3] -->\r
+                       <!-- command option labels -->\r
+\r
+                       <!-- AADD command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- *ABBRES command -->\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>change</KEYWORD3>\r
+\r
+                       <!-- *AFUN command -->\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>deg</KEYWORD3>\r
+\r
+                       <!-- ALIST command -->\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+\r
+                       <!-- ALLSEL command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>below</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+\r
+                       <!-- /ANFILE command -->\r
+                       <KEYWORD3>,save</KEYWORD3>\r
+                       <KEYWORD3>resume</KEYWORD3>\r
+\r
+                       <!-- /ANNOT command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>,save</KEYWORD3>\r
+                       <KEYWORD3>scale</KEYWORD3>\r
+                       <KEYWORD3>xorig</KEYWORD3>\r
+                       <KEYWORD3>yorig</KEYWORD3>\r
+                       <KEYWORD3>snap</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>refr</KEYWORD3>\r
+\r
+                       <!-- ANTYPE command -->\r
+                       <KEYWORD3>static</KEYWORD3>\r
+                       <KEYWORD3>buckle</KEYWORD3>\r
+                       <KEYWORD3>modal</KEYWORD3>\r
+                       <KEYWORD3>harmic</KEYWORD3>\r
+                       <KEYWORD3>trans</KEYWORD3>\r
+                       <KEYWORD3>substr</KEYWORD3>\r
+                       <KEYWORD3>spectr</KEYWORD3>\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>rest</KEYWORD3>\r
+\r
+                       <!-- APLOT command -->\r
+                       <KEYWORD3>dege</KEYWORD3>\r
+\r
+                       <!-- APPEND command -->\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>next</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>near</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- ARCTRM command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>,l</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+\r
+                       <!-- AREFINE command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>smooth</KEYWORD3>\r
+                       <KEYWORD3>clean</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- ARSPLIT command -->\r
+                       <KEYWORD3>tight</KEYWORD3>\r
+\r
+                       <!--ARSYM command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!--ASBA, ASBL, ASBV, ASBW commands -->\r
+                       <KEYWORD3>sepo</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+\r
+                       <!-- ASEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>ext</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>acca</KEYWORD3>\r
+\r
+                       <!-- ASLL, ASLV commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+\r
+                       <!-- /ASSIGN command -->\r
+                       <KEYWORD3>emat</KEYWORD3>\r
+                       <KEYWORD3>esav</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>redm</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>rdsp</KEYWORD3>\r
+                       <KEYWORD3>rfrq</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>rst</KEYWORD3>\r
+                       <KEYWORD3>rth</KEYWORD3>\r
+                       <KEYWORD3>rmg</KEYWORD3>\r
+                       <KEYWORD3>erot</KEYWORD3>\r
+                       <KEYWORD3>osav</KEYWORD3>\r
+                       <KEYWORD3>rfl</KEYWORD3>\r
+                       <KEYWORD3>seld</KEYWORD3>\r
+\r
+                       <!-- ASUM command -->\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>fine</KEYWORD3>\r
+\r
+                       <!-- AUTOTS command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- /AXLAB command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+\r
+                       <!-- /BATCH command -->\r
+                       <KEYWORD3>list</KEYWORD3>\r
+\r
+                       <!-- /BEND command -->\r
+                       <KEYWORD3>lr</KEYWORD3>\r
+                       <KEYWORD3>sr</KEYWORD3>\r
+\r
+                       <!-- BF, BFA, BFADELE, BFALIST, BFCUM, BFDELE, BFE, BFECUM, BFEDELE, BFELIST, BFESCAL -->\r
+                       <!-- BFK, BFKDELE, BFKLIST, BFL, BFLDELE, BFLIST, BFLLIST, BFSCALE, BFUNIF, BFV, -->\r
+                       <!-- BFVDELE, BFVLIST commands -->\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>flue</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+                       <KEYWORD3>mvdi</KEYWORD3>\r
+                       <KEYWORD3>chrgd</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>repl</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>igno</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- BIOT command -->\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+\r
+                       <!-- BOPTN command -->\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+                       <KEYWORD3>nwarn</KEYWORD3>\r
+                       <KEYWORD3>version</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>rv52</KEYWORD3>\r
+                       <KEYWORD3>rv51</KEYWORD3>\r
+\r
+                       <!-- BUCOPT command -->\r
+                       <KEYWORD3>subsp</KEYWORD3>\r
+                       <KEYWORD3>lanb</KEYWORD3>\r
+                       <KEYWORD3>reduc</KEYWORD3>\r
+\r
+                       <!-- CDREAD, CDWRITE commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>db</KEYWORD3>\r
+                       <KEYWORD3>solid</KEYWORD3>\r
+                       <KEYWORD3>comb</KEYWORD3>\r
+                       <KEYWORD3>geom</KEYWORD3>\r
+                       <KEYWORD3>cm</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>load</KEYWORD3>\r
+                       <KEYWORD3>blocked</KEYWORD3>\r
+                       <KEYWORD3>unblocked</KEYWORD3>\r
+\r
+                       <!-- CELIST command -->\r
+                       <KEYWORD3>any</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- CERIG command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>uxyz</KEYWORD3>\r
+                       <KEYWORD3>rxyz</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+\r
+                       <!-- CFOPEN command -->\r
+                       <KEYWORD3>append</KEYWORD3>\r
+\r
+                       <!-- CHECK command -->\r
+                       <KEYWORD3>,esel</KEYWORD3>\r
+                       <KEYWORD3>warn</KEYWORD3>\r
+                       <KEYWORD3>err</KEYWORD3>\r
+\r
+                       <!-- CLEAR command -->\r
+                       <KEYWORD3>start</KEYWORD3>\r
+                       <KEYWORD3>nostart</KEYWORD3>\r
+\r
+                       <!-- CLOCAL, CS, CSKP, CSWPLA commands -->\r
+                       <KEYWORD3>cart</KEYWORD3>\r
+                       <KEYWORD3>cylin</KEYWORD3>\r
+                       <KEYWORD3>sphe</KEYWORD3>\r
+                       <KEYWORD3>toro</KEYWORD3>\r
+\r
+                       <!-- CM command -->\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+\r
+                       <!-- CMAP command -->\r
+                       <KEYWORD3>create</KEYWORD3>\r
+\r
+                       <!-- CMEDIT command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- CMPLOT command -->\r
+                       <KEYWORD3>,n</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- CMSEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+\r
+                       <!-- CNVTOL command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>curt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+\r
+                       <!-- COLOR command -->\r
+                       <KEYWORD3>axes</KEYWORD3>\r
+                       <KEYWORD3>axnum</KEYWORD3>\r
+                       <KEYWORD3>num</KEYWORD3>\r
+                       <KEYWORD3>outl</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>isurf</KEYWORD3>\r
+                       <KEYWORD3>wbak</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>curt</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+                       <KEYWORD3>mast</KEYWORD3>\r
+                       <KEYWORD3>,cp</KEYWORD3>\r
+                       <KEYWORD3>,ce</KEYWORD3>\r
+                       <KEYWORD3>nfor</KEYWORD3>\r
+                       <KEYWORD3>nmom</KEYWORD3>\r
+                       <KEYWORD3>rfor</KEYWORD3>\r
+                       <KEYWORD3>rmom</KEYWORD3>\r
+                       <KEYWORD3>path</KEYWORD3>\r
+                       <KEYWORD3>grbak</KEYWORD3>\r
+                       <KEYWORD3>grid</KEYWORD3>\r
+                       <KEYWORD3>axlab</KEYWORD3>\r
+                       <KEYWORD3>curve</KEYWORD3>\r
+                       <KEYWORD3>cm</KEYWORD3>\r
+                       <KEYWORD3>cntr</KEYWORD3>\r
+                       <KEYWORD3>smax</KEYWORD3>\r
+                       <KEYWORD3>smin</KEYWORD3>\r
+                       <KEYWORD3>mred</KEYWORD3>\r
+                       <KEYWORD3>cblu</KEYWORD3>\r
+                       <KEYWORD3>ygre</KEYWORD3>\r
+                       <KEYWORD3>dgra</KEYWORD3>\r
+                       <KEYWORD3>mage</KEYWORD3>\r
+                       <KEYWORD3>cyan</KEYWORD3>\r
+                       <KEYWORD3>yell</KEYWORD3>\r
+                       <KEYWORD3>lgra</KEYWORD3>\r
+                       <KEYWORD3>bmag</KEYWORD3>\r
+                       <KEYWORD3>gcya</KEYWORD3>\r
+                       <KEYWORD3>oran</KEYWORD3>\r
+                       <KEYWORD3>whit</KEYWORD3>\r
+                       <KEYWORD3>blue</KEYWORD3>\r
+                       <KEYWORD3>gree</KEYWORD3>\r
+                       <KEYWORD3>red</KEYWORD3>\r
+                       <KEYWORD3>blac</KEYWORD3>\r
+\r
+                       <!-- CONFIG command -->\r
+                       <KEYWORD3>nres</KEYWORD3>\r
+                       <KEYWORD3>nbuf</KEYWORD3>\r
+                       <KEYWORD3>nproc</KEYWORD3>\r
+                       <KEYWORD3>locfl</KEYWORD3>\r
+                       <KEYWORD3>szbio</KEYWORD3>\r
+                       <KEYWORD3>ncont</KEYWORD3>\r
+                       <KEYWORD3>order</KEYWORD3>\r
+                       <KEYWORD3>fsplit</KEYWORD3>\r
+                       <KEYWORD3>mxnd</KEYWORD3>\r
+                       <KEYWORD3>mxel</KEYWORD3>\r
+                       <KEYWORD3>mxkp</KEYWORD3>\r
+                       <KEYWORD3>mxls</KEYWORD3>\r
+                       <KEYWORD3>mxar</KEYWORD3>\r
+                       <KEYWORD3>mxvl</KEYWORD3>\r
+                       <KEYWORD3>mxrl</KEYWORD3>\r
+                       <KEYWORD3>mxcp</KEYWORD3>\r
+                       <KEYWORD3>mxce</KEYWORD3>\r
+                       <KEYWORD3>nlcontrol</KEYWORD3>\r
+\r
+                       <!-- CP command -->\r
+                       <KEYWORD3>high</KEYWORD3>\r
+                       <KEYWORD3>next</KEYWORD3>\r
+\r
+                       <!-- CPDELE, CPLIST commands -->\r
+                       <KEYWORD3>any</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- CPINTF, D, DA, DADELE, DDELE, DK, DL, DLDELE, DOF, DOFSEL, FKLIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>ay</KEYWORD3>\r
+                       <KEYWORD3>az</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>symm</KEYWORD3>\r
+                       <KEYWORD3>asym</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>en</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>chrg</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csgx</KEYWORD3>\r
+                       <KEYWORD3>csgy</KEYWORD3>\r
+                       <KEYWORD3>csgz</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+\r
+                       <!-- CQC command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- CSDELE, CSLIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- CUTCONTROL command -->\r
+                       <KEYWORD3>plslimit</KEYWORD3>\r
+                       <KEYWORD3>crplimit</KEYWORD3>\r
+                       <KEYWORD3>dsplimit</KEYWORD3>\r
+                       <KEYWORD3>npoint</KEYWORD3>\r
+                       <KEYWORD3>noiterpredict</KEYWORD3>\r
+\r
+                       <!-- DCUM command -->\r
+                       <KEYWORD3>repl</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>igno</KEYWORD3>\r
+\r
+                       <!-- DEL command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>_prm</KEYWORD3>\r
+\r
+                       <!-- DELTIM command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- DESIZE command -->\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- DESOL, DNSOL commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+\r
+                       <!-- DEVDISP command -->\r
+                       <KEYWORD3>dither</KEYWORD3>\r
+                       <KEYWORD3>font</KEYWORD3>\r
+                       <KEYWORD3>text</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- DEVICE command -->\r
+                       <KEYWORD3>vector</KEYWORD3>\r
+                       <KEYWORD3>dither</KEYWORD3>\r
+                       <KEYWORD3>anim</KEYWORD3>\r
+                       <KEYWORD3>font</KEYWORD3>\r
+                       <KEYWORD3>text</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- DIM command -->\r
+                       <KEYWORD3>array</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>table</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>velocity</KEYWORD3>\r
+                       <KEYWORD3>pressure</KEYWORD3>\r
+\r
+                       <!-- /DSCALE command -->\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+\r
+                       <!-- DSUM command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- DSYM command -->\r
+                       <KEYWORD3>symm</KEYWORD3>\r
+                       <KEYWORD3>asym</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- DUMP command -->\r
+                       <KEYWORD3>head</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /DV3D command -->\r
+                       <KEYWORD3>anim</KEYWORD3>\r
+                       <KEYWORD3>dgen</KEYWORD3>\r
+                       <KEYWORD3>dlist</KEYWORD3>\r
+\r
+                       <!-- EDBOUND command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>cycl</KEYWORD3>\r
+\r
+                       <!-- EDCDELE, EDCGEN commands -->\r
+                       <KEYWORD3>ants</KEYWORD3>\r
+                       <KEYWORD3>assc</KEYWORD3>\r
+                       <KEYWORD3>asts</KEYWORD3>\r
+                       <KEYWORD3>drawbead</KEYWORD3>\r
+                       <KEYWORD3>ents</KEYWORD3>\r
+                       <KEYWORD3>ess</KEYWORD3>\r
+                       <KEYWORD3>ests</KEYWORD3>\r
+                       <KEYWORD3>nts</KEYWORD3>\r
+                       <KEYWORD3>osts</KEYWORD3>\r
+                       <KEYWORD3>rntr</KEYWORD3>\r
+                       <KEYWORD3>rotr</KEYWORD3>\r
+                       <KEYWORD3>se</KEYWORD3>\r
+                       <KEYWORD3>ss</KEYWORD3>\r
+                       <KEYWORD3>sts</KEYWORD3>\r
+                       <KEYWORD3>tdns</KEYWORD3>\r
+                       <KEYWORD3>tdss</KEYWORD3>\r
+                       <KEYWORD3>tnts</KEYWORD3>\r
+                       <KEYWORD3>tsts</KEYWORD3>\r
+\r
+                       <!-- EDCRB, EDCURVE, EDLCS commands -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+\r
+                       <!-- EDCSC command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- EDDAMP command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- EDDRELAX command -->\r
+                       <KEYWORD3>ansys</KEYWORD3>\r
+                       <KEYWORD3>dyna</KEYWORD3>\r
+\r
+                       <!-- EDELE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- EDENERGY, EDFPLOT commands -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- EDHIST, EDIVELO commands -->\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- EDLDPLOT, EDLOAD command -->\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>ay</KEYWORD3>\r
+                       <KEYWORD3>az</KEYWORD3>\r
+                       <KEYWORD3>aclx</KEYWORD3>\r
+                       <KEYWORD3>acly</KEYWORD3>\r
+                       <KEYWORD3>aclz</KEYWORD3>\r
+                       <KEYWORD3>omgx</KEYWORD3>\r
+                       <KEYWORD3>omgy</KEYWORD3>\r
+                       <KEYWORD3>omgz</KEYWORD3>\r
+                       <KEYWORD3>press</KEYWORD3>\r
+                       <KEYWORD3>rbux</KEYWORD3>\r
+                       <KEYWORD3>rbuy</KEYWORD3>\r
+                       <KEYWORD3>rbuz</KEYWORD3>\r
+                       <KEYWORD3>rbrx</KEYWORD3>\r
+                       <KEYWORD3>rbry</KEYWORD3>\r
+                       <KEYWORD3>rbrz</KEYWORD3>\r
+                       <KEYWORD3>rbvx</KEYWORD3>\r
+                       <KEYWORD3>rbvy</KEYWORD3>\r
+                       <KEYWORD3>rbvz</KEYWORD3>\r
+                       <KEYWORD3>rbfx</KEYWORD3>\r
+                       <KEYWORD3>rbfy</KEYWORD3>\r
+                       <KEYWORD3>rbfz</KEYWORD3>\r
+                       <KEYWORD3>rbmx</KEYWORD3>\r
+                       <KEYWORD3>rbmy</KEYWORD3>\r
+                       <KEYWORD3>rbmz</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+\r
+                       <!-- EDMP command -->\r
+                       <KEYWORD3>hgls</KEYWORD3>\r
+                       <KEYWORD3>rigid</KEYWORD3>\r
+                       <KEYWORD3>cable</KEYWORD3>\r
+                       <KEYWORD3>ortho</KEYWORD3>\r
+\r
+                       <!-- EDNROT, EDOPT commands -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>ansys</KEYWORD3>\r
+                       <KEYWORD3>taurus</KEYWORD3>\r
+                       <KEYWORD3>both</KEYWORD3>\r
+\r
+                       <!-- EDOUT, EDREAD commands -->\r
+                       <KEYWORD3>glstat</KEYWORD3>\r
+                       <KEYWORD3>bndout</KEYWORD3>\r
+                       <KEYWORD3>rwforc</KEYWORD3>\r
+                       <KEYWORD3>deforc</KEYWORD3>\r
+                       <KEYWORD3>,matsum</KEYWORD3>\r
+                       <KEYWORD3>ncforc</KEYWORD3>\r
+                       <KEYWORD3>rcforc</KEYWORD3>\r
+                       <KEYWORD3>defgeo</KEYWORD3>\r
+                       <KEYWORD3>spcforc</KEYWORD3>\r
+                       <KEYWORD3>swforc</KEYWORD3>\r
+                       <KEYWORD3>rbdout</KEYWORD3>\r
+                       <KEYWORD3>gceout</KEYWORD3>\r
+                       <KEYWORD3>sleout</KEYWORD3>\r
+                       <KEYWORD3>jntforc</KEYWORD3>\r
+                       <KEYWORD3>nodout</KEYWORD3>\r
+                       <KEYWORD3>elout</KEYWORD3>\r
+\r
+                       <!-- EDWELD command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+\r
+                       <!-- EDWRITE command -->\r
+                       <KEYWORD3>ansys</KEYWORD3>\r
+                       <KEYWORD3>taurus</KEYWORD3>\r
+                       <KEYWORD3>both</KEYWORD3>\r
+                       <KEYWORD3>pcreate</KEYWORD3>\r
+                       <KEYWORD3>pupdate</KEYWORD3>\r
+                       <KEYWORD3>plist</KEYWORD3>\r
+\r
+                       <!-- EKILL, ELIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- *ELSEIF command -->\r
+                       <KEYWORD3>eq</KEYWORD3>\r
+                       <KEYWORD3>ne</KEYWORD3>\r
+                       <KEYWORD3>lt</KEYWORD3>\r
+                       <KEYWORD3>gt</KEYWORD3>\r
+                       <KEYWORD3>le</KEYWORD3>\r
+                       <KEYWORD3>ge</KEYWORD3>\r
+                       <KEYWORD3>ablt</KEYWORD3>\r
+                       <KEYWORD3>abgt</KEYWORD3>\r
+\r
+                       <!-- EMID command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>remove</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>either</KEYWORD3>\r
+                       <KEYWORD3>both</KEYWORD3>\r
+\r
+                       <!-- EMODIF command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>secnum</KEYWORD3>\r
+\r
+                       <!-- EMORE, EN commands -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- EMUNIT command -->\r
+                       <KEYWORD3>mks</KEYWORD3>\r
+                       <KEYWORD3>muzro</KEYWORD3>\r
+                       <KEYWORD3>epzro</KEYWORD3>\r
+\r
+                       <!-- ENGEN, ENORM, ENSYM commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- EQSLV command -->\r
+                       <KEYWORD3>front</KEYWORD3>\r
+                       <KEYWORD3>sparse</KEYWORD3>\r
+                       <KEYWORD3>jcg</KEYWORD3>\r
+                       <KEYWORD3>jcgout</KEYWORD3>\r
+                       <KEYWORD3>iccg</KEYWORD3>\r
+                       <KEYWORD3>pcg</KEYWORD3>\r
+                       <KEYWORD3>pcgout</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+\r
+                       <!-- EREFINE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>smooth</KEYWORD3>\r
+                       <KEYWORD3>clean</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- ERESX command -->\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+\r
+                       <!-- ERNORM command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- ESEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>adj</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>ename</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>live</KEYWORD3>\r
+                       <KEYWORD3>layer</KEYWORD3>\r
+                       <KEYWORD3>sec</KEYWORD3>\r
+                       <KEYWORD3>pinc</KEYWORD3>\r
+                       <KEYWORD3>pexc</KEYWORD3>\r
+                       <KEYWORD3>sfe</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>flue</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>mvdi</KEYWORD3>\r
+                       <KEYWORD3>chrgd</KEYWORD3>\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+\r
+                       <!-- ESLA, ESLL, ESLN, ESLV commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>inactive</KEYWORD3>\r
+                       <KEYWORD3>corner</KEYWORD3>\r
+                       <KEYWORD3>mid</KEYWORD3>\r
+\r
+                       <!-- ESOL command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>pene</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>sfric</KEYWORD3>\r
+                       <KEYWORD3>stot</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>sene</KEYWORD3>\r
+                       <KEYWORD3>kene</KEYWORD3>\r
+                       <KEYWORD3>jheat</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+                       <KEYWORD3>mre</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+\r
+                       <!-- ESORT command -->\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+\r
+                       <!-- ESURF command -->\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>bottom</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+\r
+                       <!-- ESYM command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- ETABLE command -->\r
+                       <KEYWORD3>refl</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>eras</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>lmd1</KEYWORD3>\r
+                       <KEYWORD3>lmd2</KEYWORD3>\r
+                       <KEYWORD3>lmd3</KEYWORD3>\r
+                       <KEYWORD3>lmd4</KEYWORD3>\r
+                       <KEYWORD3>lmd5</KEYWORD3>\r
+                       <KEYWORD3>lmd6</KEYWORD3>\r
+                       <KEYWORD3>emd1</KEYWORD3>\r
+                       <KEYWORD3>emd2</KEYWORD3>\r
+                       <KEYWORD3>emd3</KEYWORD3>\r
+                       <KEYWORD3>emd4</KEYWORD3>\r
+                       <KEYWORD3>emd5</KEYWORD3>\r
+                       <KEYWORD3>emd6</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>serr</KEYWORD3>\r
+                       <KEYWORD3>sdsg</KEYWORD3>\r
+                       <KEYWORD3>terr</KEYWORD3>\r
+                       <KEYWORD3>tdsg</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>sene</KEYWORD3>\r
+                       <KEYWORD3>aene</KEYWORD3>\r
+                       <KEYWORD3>tene</KEYWORD3>\r
+                       <KEYWORD3>kene</KEYWORD3>\r
+                       <KEYWORD3>jheat</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+                       <KEYWORD3>mre</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>smisc</KEYWORD3>\r
+                       <KEYWORD3>nmisc</KEYWORD3>\r
+                       <KEYWORD3>surf</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>pene</KEYWORD3>\r
+                       <KEYWORD3>sfric</KEYWORD3>\r
+                       <KEYWORD3>stot</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>gap</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+\r
+                       <!-- ETCHG command -->\r
+                       <KEYWORD3>eti</KEYWORD3>\r
+                       <KEYWORD3>ite</KEYWORD3>\r
+                       <KEYWORD3>tts</KEYWORD3>\r
+                       <KEYWORD3>stt</KEYWORD3>\r
+                       <KEYWORD3>mtt</KEYWORD3>\r
+                       <KEYWORD3>fts</KEYWORD3>\r
+                       <KEYWORD3>ets</KEYWORD3>\r
+\r
+                       <!-- ETDELE, ETLIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- EWRITE command -->\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD3>long1</KEYWORD3>\r
+\r
+                       <!-- /EXIT command -->\r
+                       <KEYWORD3>model</KEYWORD3>\r
+                       <KEYWORD3>solu</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>nosave</KEYWORD3>\r
+\r
+                       <!-- /EXPAND command -->\r
+                       <KEYWORD3>rect</KEYWORD3>\r
+                       <KEYWORD3>polar</KEYWORD3>\r
+                       <KEYWORD3>modal</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>half</KEYWORD3>\r
+\r
+                       <!-- EXPASS command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- EXPSOL command -->\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+\r
+                       <!-- EXTOPT command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>attr</KEYWORD3>\r
+                       <KEYWORD3>esize</KEYWORD3>\r
+                       <KEYWORD3>aclear</KEYWORD3>\r
+\r
+                       <!-- F, FDELE, FK, FKDELE commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>chrg</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csgx</KEYWORD3>\r
+                       <KEYWORD3>csgy</KEYWORD3>\r
+                       <KEYWORD3>csgz</KEYWORD3>\r
+\r
+                       <!-- /FACET command -->\r
+                       <KEYWORD3>fine</KEYWORD3>\r
+                       <KEYWORD3>norml</KEYWORD3>\r
+                       <KEYWORD3>wire</KEYWORD3>\r
+\r
+                       <!-- FCUM command -->\r
+                       <KEYWORD3>repl</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>igno</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- /FDELE command -->\r
+                       <KEYWORD3>emat</KEYWORD3>\r
+                       <KEYWORD3>esav</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>sub</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>dsub</KEYWORD3>\r
+                       <KEYWORD3>usub</KEYWORD3>\r
+                       <KEYWORD3>osav</KEYWORD3>\r
+                       <KEYWORD3>seld</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- FELIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- FILL command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- FLDATA1 command -->\r
+                       <KEYWORD3>solu</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>turb</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>swrl</KEYWORD3>\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+                       <KEYWORD3>spec</KEYWORD3>\r
+                       <KEYWORD3>true</KEYWORD3>\r
+                       <KEYWORD3>t</KEYWORD3>\r
+                       <KEYWORD3>false</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+\r
+                       <!-- FLDATA2 command -->\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+                       <KEYWORD3>exec</KEYWORD3>\r
+                       <KEYWORD3>appe</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+\r
+                       <!-- FLDATA3 command -->\r
+                       <KEYWORD3>term</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA4 command -->\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>step</KEYWORD3>\r
+                       <KEYWORD3>istep</KEYWORD3>\r
+                       <KEYWORD3>bc</KEYWORD3>\r
+                       <KEYWORD3>numb</KEYWORD3>\r
+                       <KEYWORD3>glob</KEYWORD3>\r
+                       <KEYWORD3>tend</KEYWORD3>\r
+                       <KEYWORD3>appe</KEYWORD3>\r
+                       <KEYWORD3>sumf</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA4A command -->\r
+                       <KEYWORD3>step</KEYWORD3>\r
+                       <KEYWORD3>appe</KEYWORD3>\r
+                       <KEYWORD3>sumf</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+\r
+                       <!-- FLDATA5 command -->\r
+                       <KEYWORD3>outp</KEYWORD3>\r
+                       <KEYWORD3>sumf</KEYWORD3>\r
+                       <KEYWORD3>debg</KEYWORD3>\r
+                       <KEYWORD3>resi</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>lmd</KEYWORD3>\r
+                       <KEYWORD3>emd</KEYWORD3>\r
+\r
+                       <!-- FLDATA6 command -->\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>outp</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+                       <KEYWORD3>land</KEYWORD3>\r
+                       <KEYWORD3>bloc</KEYWORD3>\r
+                       <KEYWORD3>bnow</KEYWORD3>\r
+\r
+                       <!-- FLDATA7 command -->\r
+                       <KEYWORD3>prot</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>constant</KEYWORD3>\r
+                       <KEYWORD3>liquid</KEYWORD3>\r
+                       <KEYWORD3>table</KEYWORD3>\r
+                       <KEYWORD3>powl</KEYWORD3>\r
+                       <KEYWORD3>carr</KEYWORD3>\r
+                       <KEYWORD3>bing</KEYWORD3>\r
+                       <KEYWORD3>usrv</KEYWORD3>\r
+                       <KEYWORD3>air</KEYWORD3>\r
+                       <KEYWORD3>air_b</KEYWORD3>\r
+                       <KEYWORD3>air-si</KEYWORD3>\r
+                       <KEYWORD3>air-si_b</KEYWORD3>\r
+                       <KEYWORD3>air-cm</KEYWORD3>\r
+                       <KEYWORD3>air-cm_b</KEYWORD3>\r
+                       <KEYWORD3>air-mm</KEYWORD3>\r
+                       <KEYWORD3>air-mm_b</KEYWORD3>\r
+                       <KEYWORD3>air-ft</KEYWORD3>\r
+                       <KEYWORD3>air-ft_b</KEYWORD3>\r
+                       <KEYWORD3>air-in</KEYWORD3>\r
+                       <KEYWORD3>air-in_b</KEYWORD3>\r
+                       <KEYWORD3>cmix</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+\r
+                       <!-- FLDATA8 command -->\r
+                       <KEYWORD3>nomi</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- FLDATA9 command -->\r
+                       <KEYWORD3>cof1</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- FLDATA10 command -->\r
+                       <KEYWORD3>cof2</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- FLDATA11 command -->\r
+                       <KEYWORD3>cof3</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- FLDATA12 command -->\r
+                       <KEYWORD3>prop</KEYWORD3>\r
+                       <KEYWORD3>ivis</KEYWORD3>\r
+                       <KEYWORD3>ufrq</KEYWORD3>\r
+\r
+                       <!-- FLDATA13 command -->\r
+                       <KEYWORD3>vary</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>t</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+\r
+                       <!-- FLDATA14 command -->\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>nomi</KEYWORD3>\r
+                       <KEYWORD3>bulk</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+\r
+                       <!-- FLDATA15 command -->\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>refe</KEYWORD3>\r
+\r
+                       <!-- FLDATA16 command -->\r
+                       <KEYWORD3>bulk</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+\r
+                       <!-- FLDATA17 command -->\r
+                       <KEYWORD3>gamm</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+\r
+                       <!-- FLDATA18 command -->\r
+                       <KEYWORD3>meth</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA19 command -->\r
+                       <KEYWORD3>tdma</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA20 command -->\r
+                       <KEYWORD3>srch</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA20A command -->\r
+                       <KEYWORD3>pgmr</KEYWORD3>\r
+                       <KEYWORD3>fill</KEYWORD3>\r
+                       <KEYWORD3>modp</KEYWORD3>\r
+\r
+                       <!-- FLDATA21 command -->\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA22 command -->\r
+                       <KEYWORD3>maxi</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA23 command -->\r
+                       <KEYWORD3>delt</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <!-- FLDATA24 command -->\r
+                       <KEYWORD3>turb</KEYWORD3>\r
+                       <KEYWORD3>modl</KEYWORD3>\r
+                       <KEYWORD3>rati</KEYWORD3>\r
+                       <KEYWORD3>inin</KEYWORD3>\r
+                       <KEYWORD3>insf</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>cmu</KEYWORD3>\r
+                       <KEYWORD3>c1</KEYWORD3>\r
+                       <KEYWORD3>c2</KEYWORD3>\r
+                       <KEYWORD3>buc3</KEYWORD3>\r
+                       <KEYWORD3>buc4</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+                       <KEYWORD3>kapp</KEYWORD3>\r
+                       <KEYWORD3>ewll</KEYWORD3>\r
+                       <KEYWORD3>wall</KEYWORD3>\r
+                       <KEYWORD3>vand</KEYWORD3>\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+                       <KEYWORD3>zels</KEYWORD3>\r
+\r
+                       <!-- FLDATA24A command -->\r
+                       <KEYWORD3>rngt</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>cmu</KEYWORD3>\r
+                       <KEYWORD3>c1</KEYWORD3>\r
+                       <KEYWORD3>c2</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+                       <KEYWORD3>etai</KEYWORD3>\r
+\r
+                       <!-- FLDATA24B command -->\r
+                       <KEYWORD3>nket</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>c2</KEYWORD3>\r
+                       <KEYWORD3>c1mx</KEYWORD3>\r
+\r
+                       <!-- FLDATA24C command -->\r
+                       <KEYWORD3>girt</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>g0</KEYWORD3>\r
+                       <KEYWORD3>g1</KEYWORD3>\r
+                       <KEYWORD3>g2</KEYWORD3>\r
+                       <KEYWORD3>g3</KEYWORD3>\r
+                       <KEYWORD3>g4</KEYWORD3>\r
+\r
+                       <!-- FLDATA24D command -->\r
+                       <KEYWORD3>szlt</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>szl1</KEYWORD3>\r
+                       <KEYWORD3>szl2</KEYWORD3>\r
+                       <KEYWORD3>szl3</KEYWORD3>\r
+\r
+                       <!-- FLDATA25 command -->\r
+                       <KEYWORD3>relx</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- FLDATA26 command -->\r
+                       <KEYWORD3>stab</KEYWORD3>\r
+                       <KEYWORD3>turb</KEYWORD3>\r
+                       <KEYWORD3>mome</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+\r
+                       <!-- FLDATA27 command -->\r
+                       <KEYWORD3>prin</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+\r
+                       <!-- FLDATA28 command -->\r
+                       <KEYWORD3>modr</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>t</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+\r
+                       <!-- FLDATA29 command -->\r
+                       <KEYWORD3>modv</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>lmd</KEYWORD3>\r
+                       <KEYWORD3>emd</KEYWORD3>\r
+\r
+                       <!-- FLDATA30 command -->\r
+                       <KEYWORD3>quad</KEYWORD3>\r
+                       <KEYWORD3>momd</KEYWORD3>\r
+                       <KEYWORD3>moms</KEYWORD3>\r
+                       <KEYWORD3>prsd</KEYWORD3>\r
+                       <KEYWORD3>prss</KEYWORD3>\r
+                       <KEYWORD3>thrd</KEYWORD3>\r
+                       <KEYWORD3>thrs</KEYWORD3>\r
+                       <KEYWORD3>trbd</KEYWORD3>\r
+                       <KEYWORD3>trbs</KEYWORD3>\r
+\r
+                       <!-- FLDATA31 command -->\r
+                       <KEYWORD3>capp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>umin</KEYWORD3>\r
+                       <KEYWORD3>umax</KEYWORD3>\r
+                       <KEYWORD3>vmin</KEYWORD3>\r
+                       <KEYWORD3>vmax</KEYWORD3>\r
+                       <KEYWORD3>wmin</KEYWORD3>\r
+                       <KEYWORD3>wmax</KEYWORD3>\r
+                       <KEYWORD3>tmin</KEYWORD3>\r
+                       <KEYWORD3>tmax</KEYWORD3>\r
+                       <KEYWORD3>pmin</KEYWORD3>\r
+                       <KEYWORD3>pmax</KEYWORD3>\r
+\r
+                       <!-- FLDATA32 command -->\r
+                       <KEYWORD3>rest</KEYWORD3>\r
+                       <KEYWORD3>nset</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+                       <KEYWORD3>lstp</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>rfil</KEYWORD3>\r
+                       <KEYWORD3>wfil</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+\r
+                       <!-- FLDATA33 command -->\r
+                       <KEYWORD3>advm</KEYWORD3>\r
+                       <KEYWORD3>mome</KEYWORD3>\r
+                       <KEYWORD3>turb</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>msu</KEYWORD3>\r
+                       <KEYWORD3>supg</KEYWORD3>\r
+\r
+                       <!-- FLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- FLLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- FLST command -->\r
+                       <KEYWORD3>noor</KEYWORD3>\r
+                       <KEYWORD3>order</KEYWORD3>\r
+\r
+                       <!-- /FOCUS command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+\r
+                       <!-- FORCE command -->\r
+                       <KEYWORD3>total</KEYWORD3>\r
+                       <KEYWORD3>static</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+                       <KEYWORD3>inert</KEYWORD3>\r
+\r
+                       <!-- FORM command -->\r
+                       <KEYWORD3>reco</KEYWORD3>\r
+                       <KEYWORD3>ten</KEYWORD3>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+\r
+                       <!-- /FORMAT command -->\r
+                       <KEYWORD3>g</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>e</KEYWORD3>\r
+\r
+                       <!-- FP command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- FSLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- FSUM command -->\r
+                       <KEYWORD3>rsys</KEYWORD3>\r
+\r
+                       <!-- /FTYPE command -->\r
+                       <KEYWORD3>emat</KEYWORD3>\r
+                       <KEYWORD3>esav</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>redm</KEYWORD3>\r
+                       <KEYWORD3>sub</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>dsub</KEYWORD3>\r
+                       <KEYWORD3>usub</KEYWORD3>\r
+                       <KEYWORD3>erot</KEYWORD3>\r
+                       <KEYWORD3>osav</KEYWORD3>\r
+                       <KEYWORD3>seld</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>ext</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+\r
+                       <!-- GAPLIST command -->\r
+                       <KEYWORD3>open</KEYWORD3>\r
+                       <KEYWORD3>closed</KEYWORD3>\r
+\r
+                       <!-- GAPMERGE command -->\r
+                       <KEYWORD3>toler</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+\r
+                       <!-- GAPOPT command -->\r
+                       <KEYWORD3>toler</KEYWORD3>\r
+                       <KEYWORD3>oesele</KEYWORD3>\r
+                       <KEYWORD3>merge</KEYWORD3>\r
+                       <KEYWORD3>remain</KEYWORD3>\r
+\r
+                       <!-- GAPPLOT command -->\r
+                       <KEYWORD3>open</KEYWORD3>\r
+                       <KEYWORD3>closed</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- GAUGE command -->\r
+                       <KEYWORD3>tree</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- GCGEN command -->\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>bot</KEYWORD3>\r
+\r
+                       <!-- /GCMD command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- *GET command -->\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>imme</KEYWORD3>\r
+                       <KEYWORD3>menu</KEYWORD3>\r
+                       <KEYWORD3>prkey</KEYWORD3>\r
+                       <KEYWORD3>units</KEYWORD3>\r
+                       <KEYWORD3>rout</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>wall</KEYWORD3>\r
+                       <KEYWORD3>cpu</KEYWORD3>\r
+                       <KEYWORD3>dbase</KEYWORD3>\r
+                       <KEYWORD3>ldate</KEYWORD3>\r
+                       <KEYWORD3>dbase</KEYWORD3>\r
+                       <KEYWORD3>ltime</KEYWORD3>\r
+                       <KEYWORD3>rev</KEYWORD3>\r
+                       <KEYWORD3>title</KEYWORD3>\r
+                       <KEYWORD3>jobnam</KEYWORD3>\r
+\r
+                       <KEYWORD3>parm</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>basic</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>dim</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <KEYWORD3>cmd</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>nargs</KEYWORD3>\r
+                       <KEYWORD3>field</KEYWORD3>\r
+\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>ncomp</KEYWORD3>\r
+                       <KEYWORD3>name</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>nscomp</KEYWORD3>\r
+                       <KEYWORD3>sname</KEYWORD3>\r
+\r
+                       <KEYWORD3>graph</KEYWORD3>\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>angle</KEYWORD3>\r
+                       <KEYWORD3>contour</KEYWORD3>\r
+                       <KEYWORD3>dist</KEYWORD3>\r
+                       <KEYWORD3>dscale</KEYWORD3>\r
+                       <KEYWORD3>dmult</KEYWORD3>\r
+                       <KEYWORD3>edge</KEYWORD3>\r
+                       <KEYWORD3>focus</KEYWORD3>\r
+                       <KEYWORD3>gline</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>normal</KEYWORD3>\r
+                       <KEYWORD3>range</KEYWORD3>\r
+                       <KEYWORD3>xmin</KEYWORD3>\r
+                       <KEYWORD3>ymin</KEYWORD3>\r
+                       <KEYWORD3>xmax</KEYWORD3>\r
+                       <KEYWORD3>ymax</KEYWORD3>\r
+                       <KEYWORD3>ratio</KEYWORD3>\r
+                       <KEYWORD3>sscale</KEYWORD3>\r
+                       <KEYWORD3>smult</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>vcone</KEYWORD3>\r
+                       <KEYWORD3>view</KEYWORD3>\r
+                       <KEYWORD3>vscale</KEYWORD3>\r
+                       <KEYWORD3>vratio</KEYWORD3>\r
+                       <KEYWORD3>display</KEYWORD3>\r
+                       <KEYWORD3>erase</KEYWORD3>\r
+                       <KEYWORD3>ndist</KEYWORD3>\r
+                       <KEYWORD3>number</KEYWORD3>\r
+                       <KEYWORD3>plopts</KEYWORD3>\r
+                       <KEYWORD3>seg</KEYWORD3>\r
+                       <KEYWORD3>shrink</KEYWORD3>\r
+\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>,csys</KEYWORD3>\r
+                       <KEYWORD3>,dsys</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>,cp</KEYWORD3>\r
+                       <KEYWORD3>,ce</KEYWORD3>\r
+                       <KEYWORD3>wfront</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>rms</KEYWORD3>\r
+\r
+                       <KEYWORD3>cdsy</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>ang</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>attr</KEYWORD3>\r
+\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>,nsel</KEYWORD3>\r
+                       <KEYWORD3>nxth</KEYWORD3>\r
+                       <KEYWORD3>nxtl</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>csgx</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>num</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>count</KEYWORD3>\r
+                       <KEYWORD3>mxloc</KEYWORD3>\r
+                       <KEYWORD3>mnloc</KEYWORD3>\r
+\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>adj</KEYWORD3>\r
+                       <KEYWORD3>attr</KEYWORD3>\r
+                       <KEYWORD3>leng</KEYWORD3>\r
+                       <KEYWORD3>lproj</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>aproj</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>,esel</KEYWORD3>\r
+                       <KEYWORD3>nxth</KEYWORD3>\r
+                       <KEYWORD3>nxtl</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>hcoe</KEYWORD3>\r
+                       <KEYWORD3>tbulk</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>shpar</KEYWORD3>\r
+                       <KEYWORD3>angd</KEYWORD3>\r
+                       <KEYWORD3>aspe</KEYWORD3>\r
+                       <KEYWORD3>jacr</KEYWORD3>\r
+                       <KEYWORD3>maxa</KEYWORD3>\r
+                       <KEYWORD3>para</KEYWORD3>\r
+                       <KEYWORD3>warp</KEYWORD3>\r
+                       <KEYWORD3>num</KEYWORD3>\r
+                       <KEYWORD3>,ksel</KEYWORD3>\r
+                       <KEYWORD3>nxth</KEYWORD3>\r
+                       <KEYWORD3>nxtl</KEYWORD3>\r
+                       <KEYWORD3>div</KEYWORD3>\r
+\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>ior</KEYWORD3>\r
+                       <KEYWORD3>imc</KEYWORD3>\r
+                       <KEYWORD3>irp</KEYWORD3>\r
+                       <KEYWORD3>ixv</KEYWORD3>\r
+                       <KEYWORD3>iyv</KEYWORD3>\r
+                       <KEYWORD3>izv</KEYWORD3>\r
+                       <KEYWORD3>nrelm</KEYWORD3>\r
+\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>,lsel</KEYWORD3>\r
+\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>,asel</KEYWORD3>\r
+                       <KEYWORD3>loop</KEYWORD3>\r
+\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>,vsel</KEYWORD3>\r
+                       <KEYWORD3>shell</KEYWORD3>\r
+\r
+                       <KEYWORD3>etyp</KEYWORD3>\r
+\r
+                       <KEYWORD3>rcon</KEYWORD3>\r
+\r
+                       <KEYWORD3>ex</KEYWORD3>\r
+                       <KEYWORD3>alpx</KEYWORD3>\r
+                       <KEYWORD3>reft</KEYWORD3>\r
+                       <KEYWORD3>prxy</KEYWORD3>\r
+                       <KEYWORD3>nuxy</KEYWORD3>\r
+                       <KEYWORD3>gxy</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+                       <KEYWORD3>mu</KEYWORD3>\r
+                       <KEYWORD3>dnes</KEYWORD3>\r
+                       <KEYWORD3>c</KEYWORD3>\r
+                       <KEYWORD3>enth</KEYWORD3>\r
+                       <KEYWORD3>kxx</KEYWORD3>\r
+                       <KEYWORD3>hf</KEYWORD3>\r
+                       <KEYWORD3>emis</KEYWORD3>\r
+                       <KEYWORD3>qrate</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>sonc</KEYWORD3>\r
+                       <KEYWORD3>rsvx</KEYWORD3>\r
+                       <KEYWORD3>perx</KEYWORD3>\r
+                       <KEYWORD3>murx</KEYWORD3>\r
+                       <KEYWORD3>mgxx</KEYWORD3>\r
+                       <KEYWORD3>lsst</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+\r
+                       <KEYWORD3>fldata</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>turb</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>swrl</KEYWORD3>\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+                       <KEYWORD3>spec</KEYWORD3>\r
+                       <KEYWORD3>exec</KEYWORD3>\r
+                       <KEYWORD3>appe</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>step</KEYWORD3>\r
+                       <KEYWORD3>istep</KEYWORD3>\r
+                       <KEYWORD3>bc</KEYWORD3>\r
+                       <KEYWORD3>numb</KEYWORD3>\r
+                       <KEYWORD3>glob</KEYWORD3>\r
+                       <KEYWORD3>tend</KEYWORD3>\r
+                       <KEYWORD3>appe</KEYWORD3>\r
+                       <KEYWORD3>sumf</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+                       <KEYWORD3>sumf</KEYWORD3>\r
+                       <KEYWORD3>debg</KEYWORD3>\r
+                       <KEYWORD3>resi</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>lmd</KEYWORD3>\r
+                       <KEYWORD3>emd</KEYWORD3>\r
+                       <KEYWORD3>outp</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>ivis</KEYWORD3>\r
+                       <KEYWORD3>ufrq</KEYWORD3>\r
+                       <KEYWORD3>nomi</KEYWORD3>\r
+                       <KEYWORD3>bulk</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>refe</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>fill</KEYWORD3>\r
+                       <KEYWORD3>modp</KEYWORD3>\r
+                       <KEYWORD3>modl</KEYWORD3>\r
+                       <KEYWORD3>rati</KEYWORD3>\r
+                       <KEYWORD3>inin</KEYWORD3>\r
+                       <KEYWORD3>insf</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>cmu</KEYWORD3>\r
+                       <KEYWORD3>c1</KEYWORD3>\r
+                       <KEYWORD3>c2</KEYWORD3>\r
+                       <KEYWORD3>buc3</KEYWORD3>\r
+                       <KEYWORD3>buc4</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+                       <KEYWORD3>kapp</KEYWORD3>\r
+                       <KEYWORD3>ewll</KEYWORD3>\r
+                       <KEYWORD3>wall</KEYWORD3>\r
+                       <KEYWORD3>vand</KEYWORD3>\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+                       <KEYWORD3>zels</KEYWORD3>\r
+                       <KEYWORD3>sctk</KEYWORD3>\r
+                       <KEYWORD3>sctd</KEYWORD3>\r
+                       <KEYWORD3>cmu</KEYWORD3>\r
+                       <KEYWORD3>c1</KEYWORD3>\r
+                       <KEYWORD3>c2</KEYWORD3>\r
+                       <KEYWORD3>etai</KEYWORD3>\r
+                       <KEYWORD3>c1mx</KEYWORD3>\r
+                       <KEYWORD3>g0</KEYWORD3>\r
+                       <KEYWORD3>g1</KEYWORD3>\r
+                       <KEYWORD3>g2</KEYWORD3>\r
+                       <KEYWORD3>g3</KEYWORD3>\r
+                       <KEYWORD3>g4</KEYWORD3>\r
+                       <KEYWORD3>szl1</KEYWORD3>\r
+                       <KEYWORD3>szl2</KEYWORD3>\r
+                       <KEYWORD3>szl3</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>mome</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>momd</KEYWORD3>\r
+                       <KEYWORD3>moms</KEYWORD3>\r
+                       <KEYWORD3>prsd</KEYWORD3>\r
+                       <KEYWORD3>prss</KEYWORD3>\r
+                       <KEYWORD3>thrd</KEYWORD3>\r
+                       <KEYWORD3>thrs</KEYWORD3>\r
+                       <KEYWORD3>trbd</KEYWORD3>\r
+                       <KEYWORD3>trbs</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>umin</KEYWORD3>\r
+                       <KEYWORD3>umax</KEYWORD3>\r
+                       <KEYWORD3>vmin</KEYWORD3>\r
+                       <KEYWORD3>vmax</KEYWORD3>\r
+                       <KEYWORD3>wmin</KEYWORD3>\r
+                       <KEYWORD3>wmax</KEYWORD3>\r
+                       <KEYWORD3>tmin</KEYWORD3>\r
+                       <KEYWORD3>tmax</KEYWORD3>\r
+                       <KEYWORD3>pmin</KEYWORD3>\r
+                       <KEYWORD3>pmax</KEYWORD3>\r
+                       <KEYWORD3>nset</KEYWORD3>\r
+                       <KEYWORD3>iter</KEYWORD3>\r
+                       <KEYWORD3>lstp</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>rfil</KEYWORD3>\r
+                       <KEYWORD3>wfil</KEYWORD3>\r
+                       <KEYWORD3>over</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+\r
+                       <KEYWORD3>msdata</KEYWORD3>\r
+                       <KEYWORD3>spec</KEYWORD3>\r
+                       <KEYWORD3>ugas</KEYWORD3>\r
+\r
+                       <KEYWORD3>msprop</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>mdif</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>nomi</KEYWORD3>\r
+                       <KEYWORD3>cof1</KEYWORD3>\r
+                       <KEYWORD3>cof2</KEYWORD3>\r
+                       <KEYWORD3>cof3</KEYWORD3>\r
+\r
+                       <KEYWORD3>msspec</KEYWORD3>\r
+                       <KEYWORD3>name</KEYWORD3>\r
+                       <KEYWORD3>molw</KEYWORD3>\r
+                       <KEYWORD3>schm</KEYWORD3>\r
+\r
+                       <KEYWORD3>msrelax</KEYWORD3>\r
+                       <KEYWORD3>conc</KEYWORD3>\r
+                       <KEYWORD3>emdi</KEYWORD3>\r
+                       <KEYWORD3>stab</KEYWORD3>\r
+\r
+                       <KEYWORD3>mssolu</KEYWORD3>\r
+                       <KEYWORD3>nswe</KEYWORD3>\r
+                       <KEYWORD3>maxi</KEYWORD3>\r
+                       <KEYWORD3>nsrc</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>delt</KEYWORD3>\r
+\r
+                       <KEYWORD3>msmeth</KEYWORD3>\r
+\r
+                       <KEYWORD3>mscap</KEYWORD3>\r
+                       <KEYWORD3>key</KEYWORD3>\r
+                       <KEYWORD3>upp</KEYWORD3>\r
+                       <KEYWORD3>low</KEYWORD3>\r
+\r
+                       <KEYWORD3>msvary</KEYWORD3>\r
+\r
+                       <KEYWORD3>msnomf</KEYWORD3>\r
+\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>anty</KEYWORD3>\r
+                       <KEYWORD3>solu</KEYWORD3>\r
+                       <KEYWORD3>dtime</KEYWORD3>\r
+                       <KEYWORD3>ncmls</KEYWORD3>\r
+                       <KEYWORD3>ncmss</KEYWORD3>\r
+                       <KEYWORD3>eqit</KEYWORD3>\r
+                       <KEYWORD3>ncmit</KEYWORD3>\r
+                       <KEYWORD3>cnvg</KEYWORD3>\r
+                       <KEYWORD3>mxdvl</KEYWORD3>\r
+                       <KEYWORD3>resfrq</KEYWORD3>\r
+                       <KEYWORD3>reseig</KEYWORD3>\r
+                       <KEYWORD3>dsprm</KEYWORD3>\r
+                       <KEYWORD3>focv</KEYWORD3>\r
+                       <KEYWORD3>mocv</KEYWORD3>\r
+                       <KEYWORD3>hfcv</KEYWORD3>\r
+                       <KEYWORD3>mfcv</KEYWORD3>\r
+                       <KEYWORD3>cscv</KEYWORD3>\r
+                       <KEYWORD3>cucv</KEYWORD3>\r
+                       <KEYWORD3>ffcv</KEYWORD3>\r
+                       <KEYWORD3>dicv</KEYWORD3>\r
+                       <KEYWORD3>rocv</KEYWORD3>\r
+                       <KEYWORD3>tecv</KEYWORD3>\r
+                       <KEYWORD3>vmcv</KEYWORD3>\r
+                       <KEYWORD3>smcv</KEYWORD3>\r
+                       <KEYWORD3>vocv</KEYWORD3>\r
+                       <KEYWORD3>prcv</KEYWORD3>\r
+                       <KEYWORD3>vecv</KEYWORD3>\r
+                       <KEYWORD3>nc48</KEYWORD3>\r
+                       <KEYWORD3>nc49</KEYWORD3>\r
+                       <KEYWORD3>crprat</KEYWORD3>\r
+                       <KEYWORD3>psinc</KEYWORD3>\r
+\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>mtot</KEYWORD3>\r
+                       <KEYWORD3>mc</KEYWORD3>\r
+                       <KEYWORD3>ior</KEYWORD3>\r
+                       <KEYWORD3>imc</KEYWORD3>\r
+                       <KEYWORD3>fmc</KEYWORD3>\r
+                       <KEYWORD3>mmor</KEYWORD3>\r
+                       <KEYWORD3>mmmc</KEYWORD3>\r
+\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>freq</KEYWORD3>\r
+                       <KEYWORD3>pfact</KEYWORD3>\r
+                       <KEYWORD3>mcoef</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>,set</KEYWORD3>\r
+                       <KEYWORD3>lstp</KEYWORD3>\r
+                       <KEYWORD3>sbst</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>rsys</KEYWORD3>\r
+\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>ntemp</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>rf</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>hs</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>conc</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>serr</KEYWORD3>\r
+                       <KEYWORD3>sdsg</KEYWORD3>\r
+                       <KEYWORD3>terr</KEYWORD3>\r
+                       <KEYWORD3>tdsg</KEYWORD3>\r
+                       <KEYWORD3>sene</KEYWORD3>\r
+                       <KEYWORD3>tene</KEYWORD3>\r
+                       <KEYWORD3>kene</KEYWORD3>\r
+                       <KEYWORD3>jheat</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+                       <KEYWORD3>smisc</KEYWORD3>\r
+                       <KEYWORD3>nmisc</KEYWORD3>\r
+\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+                       <KEYWORD3>ncol</KEYWORD3>\r
+                       <KEYWORD3>nleng</KEYWORD3>\r
+\r
+                       <KEYWORD3>sort</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>imax</KEYWORD3>\r
+                       <KEYWORD3>imin</KEYWORD3>\r
+\r
+                       <KEYWORD3>ssum</KEYWORD3>\r
+                       <KEYWORD3>item</KEYWORD3>\r
+\r
+                       <KEYWORD3>fsum</KEYWORD3>\r
+\r
+                       <KEYWORD3>path</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>nval</KEYWORD3>\r
+\r
+                       <KEYWORD3>kcalc</KEYWORD3>\r
+                       <KEYWORD3>k</KEYWORD3>\r
+\r
+                       <KEYWORD3>intsrf</KEYWORD3>\r
+\r
+                       <KEYWORD3>plnsol</KEYWORD3>\r
+                       <KEYWORD3>bmax</KEYWORD3>\r
+                       <KEYWORD3>bmin</KEYWORD3>\r
+\r
+                       <KEYWORD3>prerr</KEYWORD3>\r
+                       <KEYWORD3>sepc</KEYWORD3>\r
+                       <KEYWORD3>tepc</KEYWORD3>\r
+                       <KEYWORD3>sersm</KEYWORD3>\r
+                       <KEYWORD3>tersm</KEYWORD3>\r
+                       <KEYWORD3>sensm</KEYWORD3>\r
+                       <KEYWORD3>tensm</KEYWORD3>\r
+\r
+                       <KEYWORD3>section</KEYWORD3>\r
+                       <KEYWORD3>inside</KEYWORD3>\r
+                       <KEYWORD3>sx</KEYWORD3>\r
+                       <KEYWORD3>sy</KEYWORD3>\r
+                       <KEYWORD3>sz</KEYWORD3>\r
+                       <KEYWORD3>sxxy</KEYWORD3>\r
+                       <KEYWORD3>syz</KEYWORD3>\r
+                       <KEYWORD3>szx</KEYWORD3>\r
+                       <KEYWORD3>center</KEYWORD3>\r
+                       <KEYWORD3>outside</KEYWORD3>\r
+\r
+                       <KEYWORD3>vari</KEYWORD3>\r
+                       <KEYWORD3>extrem</KEYWORD3>\r
+                       <KEYWORD3>vmax</KEYWORD3>\r
+                       <KEYWORD3>tmax</KEYWORD3>\r
+                       <KEYWORD3>vmin</KEYWORD3>\r
+                       <KEYWORD3>tmin</KEYWORD3>\r
+                       <KEYWORD3>vlast</KEYWORD3>\r
+                       <KEYWORD3>tlast</KEYWORD3>\r
+                       <KEYWORD3>cvar</KEYWORD3>\r
+                       <KEYWORD3>rtime</KEYWORD3>\r
+                       <KEYWORD3>itime</KEYWORD3>\r
+                       <KEYWORD3>t</KEYWORD3>\r
+                       <KEYWORD3>rset</KEYWORD3>\r
+                       <KEYWORD3>iset</KEYWORD3>\r
+                       <KEYWORD3>nsets</KEYWORD3>\r
+\r
+                       <KEYWORD3>opt</KEYWORD3>\r
+                       <KEYWORD3>total</KEYWORD3>\r
+                       <KEYWORD3>feas</KEYWORD3>\r
+                       <KEYWORD3>term</KEYWORD3>\r
+                       <KEYWORD3>best</KEYWORD3>\r
+\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+                       <KEYWORD3>act</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>porv</KEYWORD3>\r
+                       <KEYWORD3>loads</KEYWORD3>\r
+\r
+                       <KEYWORD3>runst</KEYWORD3>\r
+                       <KEYWORD3>rspeed</KEYWORD3>\r
+                       <KEYWORD3>mips</KEYWORD3>\r
+                       <KEYWORD3>smflop</KEYWORD3>\r
+                       <KEYWORD3>vmflop</KEYWORD3>\r
+                       <KEYWORD3>rfilsz</KEYWORD3>\r
+                       <KEYWORD3>emat</KEYWORD3>\r
+                       <KEYWORD3>erot</KEYWORD3>\r
+                       <KEYWORD3>esav</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>rdsp</KEYWORD3>\r
+                       <KEYWORD3>redm</KEYWORD3>\r
+                       <KEYWORD3>rfrq</KEYWORD3>\r
+                       <KEYWORD3>rgeom</KEYWORD3>\r
+                       <KEYWORD3>rst</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>rtimst</KEYWORD3>\r
+                       <KEYWORD3>tfirst</KEYWORD3>\r
+                       <KEYWORD3>titer</KEYWORD3>\r
+                       <KEYWORD3>eqprep</KEYWORD3>\r
+                       <KEYWORD3>,solve</KEYWORD3>\r
+                       <KEYWORD3>bsub</KEYWORD3>\r
+                       <KEYWORD3>eigen</KEYWORD3>\r
+                       <KEYWORD3>elform</KEYWORD3>\r
+                       <KEYWORD3>elstrs</KEYWORD3>\r
+                       <KEYWORD3>nelm</KEYWORD3>\r
+                       <KEYWORD3>rmemry</KEYWORD3>\r
+                       <KEYWORD3>wsreq</KEYWORD3>\r
+                       <KEYWORD3>wsavail</KEYWORD3>\r
+                       <KEYWORD3>dbpsize</KEYWORD3>\r
+                       <KEYWORD3>dbpdisk</KEYWORD3>\r
+                       <KEYWORD3>dbpmem</KEYWORD3>\r
+                       <KEYWORD3>dbsize</KEYWORD3>\r
+                       <KEYWORD3>dbmem</KEYWORD3>\r
+                       <KEYWORD3>scrsize</KEYWORD3>\r
+                       <KEYWORD3>scravail</KEYWORD3>\r
+                       <KEYWORD3>iomem</KEYWORD3>\r
+                       <KEYWORD3>iopsiz</KEYWORD3>\r
+                       <KEYWORD3>iobuf</KEYWORD3>\r
+                       <KEYWORD3>rwfrnt</KEYWORD3>\r
+                       <KEYWORD3>rms</KEYWORD3>\r
+                       <KEYWORD3>mean</KEYWORD3>\r
+\r
+                       <KEYWORD3>,nsel</KEYWORD3>\r
+                       <KEYWORD3>,esel</KEYWORD3>\r
+                       <KEYWORD3>,ksel</KEYWORD3>\r
+                       <KEYWORD3>,lsel</KEYWORD3>\r
+                       <KEYWORD3>,asel</KEYWORD3>\r
+                       <KEYWORD3>,vsel</KEYWORD3>\r
+                       <KEYWORD3>ndnext</KEYWORD3>\r
+                       <KEYWORD3>elnext</KEYWORD3>\r
+                       <KEYWORD3>kpnext</KEYWORD3>\r
+                       <KEYWORD3>lsnext</KEYWORD3>\r
+                       <KEYWORD3>arnext</KEYWORD3>\r
+                       <KEYWORD3>vlnext</KEYWORD3>\r
+                       <KEYWORD3>centrx</KEYWORD3>\r
+                       <KEYWORD3>centry</KEYWORD3>\r
+                       <KEYWORD3>centrz</KEYWORD3>\r
+                       <KEYWORD3>nx</KEYWORD3>\r
+                       <KEYWORD3>ny</KEYWORD3>\r
+                       <KEYWORD3>nz</KEYWORD3>\r
+                       <KEYWORD3>kx</KEYWORD3>\r
+                       <KEYWORD3>ky</KEYWORD3>\r
+                       <KEYWORD3>kz</KEYWORD3>\r
+                       <KEYWORD3>lx</KEYWORD3>\r
+                       <KEYWORD3>ly</KEYWORD3>\r
+                       <KEYWORD3>lz</KEYWORD3>\r
+                       <KEYWORD3>lsx</KEYWORD3>\r
+                       <KEYWORD3>lsy</KEYWORD3>\r
+                       <KEYWORD3>lsz</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>distnd</KEYWORD3>\r
+                       <KEYWORD3>distkp</KEYWORD3>\r
+                       <KEYWORD3>disten</KEYWORD3>\r
+                       <KEYWORD3>anglen</KEYWORD3>\r
+                       <KEYWORD3>anglek</KEYWORD3>\r
+                       <KEYWORD3>nnear</KEYWORD3>\r
+                       <KEYWORD3>knear</KEYWORD3>\r
+                       <KEYWORD3>enearn</KEYWORD3>\r
+                       <KEYWORD3>areand</KEYWORD3>\r
+                       <KEYWORD3>areakp</KEYWORD3>\r
+                       <KEYWORD3>arnode</KEYWORD3>\r
+                       <KEYWORD3>normnx</KEYWORD3>\r
+                       <KEYWORD3>normny</KEYWORD3>\r
+                       <KEYWORD3>normnz</KEYWORD3>\r
+                       <KEYWORD3>normkx</KEYWORD3>\r
+                       <KEYWORD3>normky</KEYWORD3>\r
+                       <KEYWORD3>normkz</KEYWORD3>\r
+                       <KEYWORD3>enextn</KEYWORD3>\r
+                       <KEYWORD3>nelem</KEYWORD3>\r
+                       <KEYWORD3>eladj</KEYWORD3>\r
+                       <KEYWORD3>ndface</KEYWORD3>\r
+                       <KEYWORD3>nmface</KEYWORD3>\r
+                       <KEYWORD3>arface</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>ay</KEYWORD3>\r
+                       <KEYWORD3>az</KEYWORD3>\r
+\r
+                       <!-- /GFORMAT command -->\r
+                       <KEYWORD3>g</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>e</KEYWORD3>\r
+\r
+                       <!-- /GLINE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- *GO command -->\r
+                       <KEYWORD3>stop</KEYWORD3>\r
+\r
+                       <!-- GP command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+\r
+                       <!-- GPLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /GRAPHICS command -->\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>power</KEYWORD3>\r
+\r
+                       <!-- /GROPT command -->\r
+                       <KEYWORD3>axdv</KEYWORD3>\r
+                       <KEYWORD3>axnm</KEYWORD3>\r
+                       <KEYWORD3>axnsc</KEYWORD3>\r
+                       <KEYWORD3>ascal</KEYWORD3>\r
+                       <KEYWORD3>logx</KEYWORD3>\r
+                       <KEYWORD3>logy</KEYWORD3>\r
+                       <KEYWORD3>fill</KEYWORD3>\r
+                       <KEYWORD3>cgrid</KEYWORD3>\r
+                       <KEYWORD3>dig1</KEYWORD3>\r
+                       <KEYWORD3>dig2</KEYWORD3>\r
+                       <KEYWORD3>view</KEYWORD3>\r
+                       <KEYWORD3>revx</KEYWORD3>\r
+                       <KEYWORD3>revy</KEYWORD3>\r
+                       <KEYWORD3>divx</KEYWORD3>\r
+                       <KEYWORD3>divy</KEYWORD3>\r
+                       <KEYWORD3>ltyp</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>front</KEYWORD3>\r
+\r
+                       <!-- GRP command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- /GST command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- /GTHK command -->\r
+                       <KEYWORD3>axis</KEYWORD3>\r
+                       <KEYWORD3>grid</KEYWORD3>\r
+                       <KEYWORD3>curve</KEYWORD3>\r
+\r
+                       <!-- /GTYPE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>keyp</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>grph</KEYWORD3>\r
+\r
+                       <!-- /HEADER command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- HPGL command -->\r
+                       <KEYWORD3>model</KEYWORD3>\r
+                       <KEYWORD3>paper</KEYWORD3>\r
+                       <KEYWORD3>color</KEYWORD3>\r
+                       <KEYWORD3>direct</KEYWORD3>\r
+\r
+                       <!-- HPTCREATE command -->\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>coord</KEYWORD3>\r
+                       <KEYWORD3>ratio</KEYWORD3>\r
+\r
+                       <!-- HPTDELETE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- HREXP command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- HROPT command -->\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>reduc</KEYWORD3>\r
+                       <KEYWORD3>msup</KEYWORD3>\r
+\r
+                       <!-- HROUT command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- IC command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>so02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>ay</KEYWORD3>\r
+                       <KEYWORD3>az</KEYWORD3>\r
+\r
+                       <!-- ICLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+\r
+                       <!-- *IF command -->\r
+                       <KEYWORD3>eq</KEYWORD3>\r
+                       <KEYWORD3>ne</KEYWORD3>\r
+                       <KEYWORD3>lt</KEYWORD3>\r
+                       <KEYWORD3>gt</KEYWORD3>\r
+                       <KEYWORD3>le</KEYWORD3>\r
+                       <KEYWORD3>ge</KEYWORD3>\r
+                       <KEYWORD3>ablt</KEYWORD3>\r
+                       <KEYWORD3>abgt</KEYWORD3>\r
+                       <KEYWORD3>stop</KEYWORD3>\r
+                       <KEYWORD3>exit</KEYWORD3>\r
+                       <KEYWORD3>cycle</KEYWORD3>\r
+                       <KEYWORD3>then</KEYWORD3>\r
+\r
+                       <!-- INRES command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>basic</KEYWORD3>\r
+                       <KEYWORD3>nsol</KEYWORD3>\r
+                       <KEYWORD3>rsol</KEYWORD3>\r
+                       <KEYWORD3>esol</KEYWORD3>\r
+                       <KEYWORD3>nload</KEYWORD3>\r
+                       <KEYWORD3>strs</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>fgrad</KEYWORD3>\r
+                       <KEYWORD3>fflux</KEYWORD3>\r
+                       <KEYWORD3>misc</KEYWORD3>\r
+\r
+                       <!-- INTSRF command -->\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+\r
+                       <!-- IOPTN command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>merg</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+                       <KEYWORD3>solid</KEYWORD3>\r
+                       <KEYWORD3>gtoler</KEYWORD3>\r
+                       <KEYWORD3>file</KEYWORD3>\r
+                       <KEYWORD3>iges</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>small</KEYWORD3>\r
+\r
+                       <!-- K command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- KBETW command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>ratio</KEYWORD3>\r
+                       <KEYWORD3>dist</KEYWORD3>\r
+\r
+                       <!-- KCENTER command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+\r
+                       <!-- KCLEAR, KDELE, KDIST, KESIZE, KFILL, KGEN, KL, KLIST, KMESH, KMODIF, -->\r
+                       <!-- KMOVE, KNODE, KPLOT, KPSCALE, KSCALE, KSCON commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>coord</KEYWORD3>\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- KREFINE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>smooth</KEYWORD3>\r
+                       <KEYWORD3>clean</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- KSEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>ext</KEYWORD3>\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- KSLL, KSLN commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+\r
+                       <!-- KSYMM, KTRAN, KWPAVE, KWPLAN commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- L, L2ANG, L2TAN, LANG, LARC, LAREA commands -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- LAYER, LAYERP26 commands -->\r
+                       <KEYWORD3>fcmax</KEYWORD3>\r
+\r
+                       <!-- LAYLIST, LCABS, LCCAT, LCFACT, LCLEAR, LCOMB, LCSL, LCSUM, LDELE, -->\r
+                       <!-- LDIV, LDRAG, LESIZE, LEXTND, LFILLT, LGEN, LGLUE, /LIGHT, LINA, -->\r
+                       <!-- LINL, LINP, LINV, LMESH, LNFILL, LNMERGE, LOVLAP, LPLOT, LPTN, -->\r
+                       <!-- LREVERSE, LROTAT, LSSCALE, LSTR commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- LCDEF command -->\r
+                       <KEYWORD3>erase</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- LCOPER command -->\r
+                       <KEYWORD3>zero</KEYWORD3>\r
+                       <KEYWORD3>squa</KEYWORD3>\r
+                       <KEYWORD3>sqrt</KEYWORD3>\r
+                       <KEYWORD3>lprin</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>sub</KEYWORD3>\r
+                       <KEYWORD3>srss</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>abmn</KEYWORD3>\r
+                       <KEYWORD3>abmx</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>mult</KEYWORD3>\r
+\r
+                       <!-- LCSEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- LDREAD command -->\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>ehflu</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>reac</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+\r
+                       <!-- LGWRITE command -->\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>comment</KEYWORD3>\r
+                       <KEYWORD3>remove</KEYWORD3>\r
+\r
+                       <!-- LLIST command -->\r
+                       <KEYWORD3>radius</KEYWORD3>\r
+                       <KEYWORD3>layer</KEYWORD3>\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+                       <KEYWORD3>orient</KEYWORD3>\r
+\r
+                       <!-- LNSEARCH command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+\r
+                       <!-- LOCAL command -->\r
+                       <KEYWORD3>cart</KEYWORD3>\r
+                       <KEYWORD3>cylin</KEYWORD3>\r
+                       <KEYWORD3>sphe</KEYWORD3>\r
+                       <KEYWORD3>toro</KEYWORD3>\r
+\r
+                       <!-- LREFINE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>smooth</KEYWORD3>\r
+                       <KEYWORD3>clean</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- LSBA, LSBL, LSBV, LSBW commands -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>sepo</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+\r
+                       <!-- LSCLEAR command -->\r
+                       <KEYWORD3>solid</KEYWORD3>\r
+                       <KEYWORD3>fe</KEYWORD3>\r
+                       <KEYWORD3>iner</KEYWORD3>\r
+                       <KEYWORD3>lfact</KEYWORD3>\r
+                       <KEYWORD3>lsopt</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- LSEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>ext</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>tan1</KEYWORD3>\r
+                       <KEYWORD3>tan2</KEYWORD3>\r
+                       <KEYWORD3>ndiv</KEYWORD3>\r
+                       <KEYWORD3>space</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>sec</KEYWORD3>\r
+                       <KEYWORD3>lenght</KEYWORD3>\r
+                       <KEYWORD3>radius</KEYWORD3>\r
+                       <KEYWORD3>hpt</KEYWORD3>\r
+                       <KEYWORD3>lcca</KEYWORD3>\r
+\r
+                       <!-- LSLA, LSLK commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+\r
+                       <!-- LSREAD, LSWRITE commands -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>init</KEYWORD3>\r
+\r
+                       <!-- LSYMM, LTAN, LTRAN, LWPLAN commands -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- LUMPM command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- M, MONITOR commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+\r
+                       <!-- MDELE, MGEN, MLIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- /MENU command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>grph</KEYWORD3>\r
+\r
+                       <!-- *MFOURI command -->\r
+                       <KEYWORD3>fit</KEYWORD3>\r
+                       <KEYWORD3>eval</KEYWORD3>\r
+\r
+                       <!-- *MFUN command -->\r
+                       <KEYWORD3>copy</KEYWORD3>\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+\r
+                       <!-- MODMSH command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>nocheck</KEYWORD3>\r
+                       <KEYWORD3>check</KEYWORD3>\r
+                       <KEYWORD3>detach</KEYWORD3>\r
+\r
+                       <!-- MODOPT command -->\r
+                       <KEYWORD3>subsp</KEYWORD3>\r
+                       <KEYWORD3>lanb</KEYWORD3>\r
+                       <KEYWORD3>reduc</KEYWORD3>\r
+                       <KEYWORD3>unsym</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- *MOPER command -->\r
+                       <KEYWORD3>mult</KEYWORD3>\r
+                       <KEYWORD3>solv</KEYWORD3>\r
+                       <KEYWORD3>sort</KEYWORD3>\r
+                       <KEYWORD3>covar</KEYWORD3>\r
+                       <KEYWORD3>corr</KEYWORD3>\r
+\r
+                       <!-- MOPT command -->\r
+                       <KEYWORD3>expnd</KEYWORD3>\r
+                       <KEYWORD3>tetexpnd</KEYWORD3>\r
+                       <KEYWORD3>trans</KEYWORD3>\r
+                       <KEYWORD3>iesz</KEYWORD3>\r
+                       <KEYWORD3>amesh</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>main</KEYWORD3>\r
+                       <KEYWORD3>alternate</KEYWORD3>\r
+                       <KEYWORD3>alt2</KEYWORD3>\r
+                       <KEYWORD3>qmesh</KEYWORD3>\r
+                       <KEYWORD3>vmesh</KEYWORD3>\r
+                       <KEYWORD3>split</KEYWORD3>\r
+                       <KEYWORD3>lsmo</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+                       <KEYWORD3>pyra</KEYWORD3>\r
+                       <KEYWORD3>timp</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+\r
+                       <!-- MOVE command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- MP, MPDATA commands -->\r
+                       <KEYWORD3>ex</KEYWORD3>\r
+                       <KEYWORD3>ey</KEYWORD3>\r
+                       <KEYWORD3>ez</KEYWORD3>\r
+                       <KEYWORD3>alpx</KEYWORD3>\r
+                       <KEYWORD3>alpy</KEYWORD3>\r
+                       <KEYWORD3>alpz</KEYWORD3>\r
+                       <KEYWORD3>reft</KEYWORD3>\r
+                       <KEYWORD3>prxy</KEYWORD3>\r
+                       <KEYWORD3>pryz</KEYWORD3>\r
+                       <KEYWORD3>prxz</KEYWORD3>\r
+                       <KEYWORD3>nuxy</KEYWORD3>\r
+                       <KEYWORD3>nuyz</KEYWORD3>\r
+                       <KEYWORD3>nuzx</KEYWORD3>\r
+                       <KEYWORD3>gxy</KEYWORD3>\r
+                       <KEYWORD3>gyz</KEYWORD3>\r
+                       <KEYWORD3>gxz</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+                       <KEYWORD3>mu</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>c</KEYWORD3>\r
+                       <KEYWORD3>enth</KEYWORD3>\r
+                       <KEYWORD3>kxx</KEYWORD3>\r
+                       <KEYWORD3>kyy</KEYWORD3>\r
+                       <KEYWORD3>kzz</KEYWORD3>\r
+                       <KEYWORD3>hf</KEYWORD3>\r
+                       <KEYWORD3>emis</KEYWORD3>\r
+                       <KEYWORD3>qrate</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>sonc</KEYWORD3>\r
+                       <KEYWORD3>rsvx</KEYWORD3>\r
+                       <KEYWORD3>rsvy</KEYWORD3>\r
+                       <KEYWORD3>rsvz</KEYWORD3>\r
+                       <KEYWORD3>perx</KEYWORD3>\r
+                       <KEYWORD3>pery</KEYWORD3>\r
+                       <KEYWORD3>perz</KEYWORD3>\r
+                       <KEYWORD3>murx</KEYWORD3>\r
+                       <KEYWORD3>mury</KEYWORD3>\r
+                       <KEYWORD3>murz</KEYWORD3>\r
+                       <KEYWORD3>mgxx</KEYWORD3>\r
+                       <KEYWORD3>mgyy</KEYWORD3>\r
+                       <KEYWORD3>mgzz</KEYWORD3>\r
+                       <KEYWORD3>lsst</KEYWORD3>\r
+\r
+                       <!-- MPCHG, MPDELE commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /MPLIB command -->\r
+                       <KEYWORD3>read</KEYWORD3>\r
+                       <KEYWORD3>write</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- MPLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>evlt</KEYWORD3>\r
+\r
+                       <!-- MSADV command -->\r
+                       <KEYWORD3>msu</KEYWORD3>\r
+                       <KEYWORD3>supg</KEYWORD3>\r
+\r
+                       <!-- MSCAP command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- *MSG command -->\r
+                       <KEYWORD3>info</KEYWORD3>\r
+                       <KEYWORD3>note</KEYWORD3>\r
+                       <KEYWORD3>warn</KEYWORD3>\r
+                       <KEYWORD3>error</KEYWORD3>\r
+                       <KEYWORD3>fatal</KEYWORD3>\r
+                       <KEYWORD3>ui</KEYWORD3>\r
+\r
+                       <!-- MSHAPE command -->\r
+                       <KEYWORD3>2d</KEYWORD3>\r
+                       <KEYWORD3>3d</KEYWORD3>\r
+\r
+                       <!-- MSPROP command -->\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>mdif</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>constant</KEYWORD3>\r
+                       <KEYWORD3>liquid</KEYWORD3>\r
+                       <KEYWORD3>gas</KEYWORD3>\r
+\r
+                       <!-- /MSTART command -->\r
+                       <KEYWORD3>main</KEYWORD3>\r
+                       <KEYWORD3>input</KEYWORD3>\r
+                       <KEYWORD3>grph</KEYWORD3>\r
+                       <KEYWORD3>tool</KEYWORD3>\r
+                       <KEYWORD3>zoom</KEYWORD3>\r
+                       <KEYWORD3>work</KEYWORD3>\r
+                       <KEYWORD3>wpset</KEYWORD3>\r
+                       <KEYWORD3>abbr</KEYWORD3>\r
+                       <KEYWORD3>parm</KEYWORD3>\r
+                       <KEYWORD3>sele</KEYWORD3>\r
+                       <KEYWORD3>anno</KEYWORD3>\r
+                       <KEYWORD3>hard</KEYWORD3>\r
+                       <KEYWORD3>help</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- MSVARY command -->\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>mdif</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- MXPAND command -->\r
+                       <KEYWORD3>no</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+\r
+                       <!-- N, NDELE, NDIST, NGEN, NKPT commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- NLGEOM, NOORDER commands -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- NLIST, NMODIF commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>coord</KEYWORD3>\r
+\r
+                       <!-- NREFINE, NROTAT, NSCALE commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>smooth</KEYWORD3>\r
+                       <KEYWORD3>clean</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- NRLSUM command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- NROPT command -->\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>modi</KEYWORD3>\r
+                       <KEYWORD3>init</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- NSEL, NSOL, NSORT commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>ext</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>ang</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>,cp</KEYWORD3>\r
+                       <KEYWORD3>,ce</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>ax</KEYWORD3>\r
+                       <KEYWORD3>ay</KEYWORD3>\r
+                       <KEYWORD3>az</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>csgx</KEYWORD3>\r
+                       <KEYWORD3>csgy</KEYWORD3>\r
+                       <KEYWORD3>csgz</KEYWORD3>\r
+                       <KEYWORD3>chrg</KEYWORD3>\r
+                       <KEYWORD3>chrgd</KEYWORD3>\r
+                       <KEYWORD3>,bf</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>flue</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jsx</KEYWORD3>\r
+                       <KEYWORD3>jsy</KEYWORD3>\r
+                       <KEYWORD3>jsz</KEYWORD3>\r
+                       <KEYWORD3>mvdi</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>pene</KEYWORD3>\r
+                       <KEYWORD3>sfric</KEYWORD3>\r
+                       <KEYWORD3>stot</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+\r
+                       <!-- NSLA, NSLE, NSLK, NSLL, NSLV commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>inactive</KEYWORD3>\r
+                       <KEYWORD3>corner</KEYWORD3>\r
+                       <KEYWORD3>mid</KEYWORD3>\r
+\r
+                       <!-- NSUBST command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- NSYM command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- NUMCMP, NUMMRG, NUMOFF, NUMSTR commands -->\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,cp</KEYWORD3>\r
+                       <KEYWORD3>,ce</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>low</KEYWORD3>\r
+                       <KEYWORD3>high</KEYWORD3>\r
+                       <KEYWORD3>,csys</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+\r
+                       <!-- NUMEXP command -->\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+\r
+                       <!-- NWPLAN command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- OPDEL, OPLIST, OPRFA, OPRGR, OPRSW commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- OPFACT command -->\r
+                       <KEYWORD3>full</KEYWORD3>\r
+\r
+                       <!-- OPGRAD, OPSWEEP commands -->\r
+                       <KEYWORD3>best</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>,n</KEYWORD3>\r
+\r
+                       <!-- OPKEEP commmand -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- OPLFA command -->\r
+                       <KEYWORD3>main</KEYWORD3>\r
+                       <KEYWORD3>2fac</KEYWORD3>\r
+                       <KEYWORD3>3fac</KEYWORD3>\r
+\r
+                       <!-- OPLOOP command -->\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>prep</KEYWORD3>\r
+                       <KEYWORD3>ignore</KEYWORD3>\r
+                       <KEYWORD3>process</KEYWORD3>\r
+                       <KEYWORD3>scalar</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- OPNCONTROL command -->\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+\r
+                       <!-- OPPRNT command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+\r
+                       <!-- OPTYPE command -->\r
+                       <KEYWORD3>subp</KEYWORD3>\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>rand</KEYWORD3>\r
+                       <KEYWORD3>run</KEYWORD3>\r
+                       <KEYWORD3>fact</KEYWORD3>\r
+                       <KEYWORD3>grad</KEYWORD3>\r
+                       <KEYWORD3>sweep</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+\r
+                       <!-- OPVAR command -->\r
+                       <KEYWORD3>dv</KEYWORD3>\r
+                       <KEYWORD3>sv</KEYWORD3>\r
+                       <KEYWORD3>obj</KEYWORD3>\r
+                       <KEYWORD3>del</KEYWORD3>\r
+\r
+                       <!-- OUTPR command -->\r
+                       <KEYWORD3>basic</KEYWORD3>\r
+                       <KEYWORD3>nsol</KEYWORD3>\r
+                       <KEYWORD3>rsol</KEYWORD3>\r
+                       <KEYWORD3>esol</KEYWORD3>\r
+                       <KEYWORD3>nload</KEYWORD3>\r
+                       <KEYWORD3>veng</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>erase</KEYWORD3>\r
+\r
+                       <!-- /OUTPUT command -->\r
+                       <KEYWORD3>term</KEYWORD3>\r
+                       <KEYWORD3>append</KEYWORD3>\r
+\r
+                       <!-- OUTRES command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>basic</KEYWORD3>\r
+                       <KEYWORD3>nsol</KEYWORD3>\r
+                       <KEYWORD3>rsol</KEYWORD3>\r
+                       <KEYWORD3>esol</KEYWORD3>\r
+                       <KEYWORD3>nload</KEYWORD3>\r
+                       <KEYWORD3>strs</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>fgrad</KEYWORD3>\r
+                       <KEYWORD3>fflux</KEYWORD3>\r
+                       <KEYWORD3>misc</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+\r
+                       <!-- PADELE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>name</KEYWORD3>\r
+\r
+                       <!-- PAGET, PAPUT commands -->\r
+                       <KEYWORD3>points</KEYWORD3>\r
+                       <KEYWORD3>table</KEYWORD3>\r
+                       <KEYWORD3>label</KEYWORD3>\r
+\r
+                       <!-- PARESU command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>path</KEYWORD3>\r
+\r
+                       <!-- PARRES command -->\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>change</KEYWORD3>\r
+\r
+                       <!-- PARSAV command -->\r
+                       <KEYWORD3>scalar</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- PASAVE command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /PBC command -->\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>vx</KEYWORD3>\r
+                       <KEYWORD3>vy</KEYWORD3>\r
+                       <KEYWORD3>vz</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>chrg</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>mome</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>my</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>mast</KEYWORD3>\r
+                       <KEYWORD3>,cp</KEYWORD3>\r
+                       <KEYWORD3>,ce</KEYWORD3>\r
+                       <KEYWORD3>nfor</KEYWORD3>\r
+                       <KEYWORD3>nmom</KEYWORD3>\r
+                       <KEYWORD3>rfor</KEYWORD3>\r
+                       <KEYWORD3>rmom</KEYWORD3>\r
+                       <KEYWORD3>path</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+                       <KEYWORD3>acelx</KEYWORD3>\r
+                       <KEYWORD3>acely</KEYWORD3>\r
+                       <KEYWORD3>acelz</KEYWORD3>\r
+                       <KEYWORD3>omeg</KEYWORD3>\r
+                       <KEYWORD3>omegx</KEYWORD3>\r
+                       <KEYWORD3>omegy</KEYWORD3>\r
+                       <KEYWORD3>omegz</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /PBF command -->\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>flue</KEYWORD3>\r
+                       <KEYWORD3>hgen</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jsx</KEYWORD3>\r
+                       <KEYWORD3>jsy</KEYWORD3>\r
+                       <KEYWORD3>jsz</KEYWORD3>\r
+                       <KEYWORD3>phase</KEYWORD3>\r
+                       <KEYWORD3>mvdi</KEYWORD3>\r
+                       <KEYWORD3>chrgd</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+\r
+                       <!-- PCALC command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>mult</KEYWORD3>\r
+                       <KEYWORD3>div</KEYWORD3>\r
+                       <KEYWORD3>exp</KEYWORD3>\r
+                       <KEYWORD3>deri</KEYWORD3>\r
+                       <KEYWORD3>intg</KEYWORD3>\r
+                       <KEYWORD3>sin</KEYWORD3>\r
+                       <KEYWORD3>cos</KEYWORD3>\r
+                       <KEYWORD3>asin</KEYWORD3>\r
+                       <KEYWORD3>acos</KEYWORD3>\r
+                       <KEYWORD3>log</KEYWORD3>\r
+\r
+                       <!-- PCONV command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>erase</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+                       <KEYWORD3>se</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>mid</KEYWORD3>\r
+                       <KEYWORD3>bot</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+\r
+                       <!-- /PCOPY command -->\r
+                       <KEYWORD3>now</KEYWORD3>\r
+\r
+                       <!-- PDEF command -->\r
+                       <KEYWORD3>avg</KEYWORD3>\r
+                       <KEYWORD3>noav</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+\r
+                       <!-- PDRAG command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- PEXCLUDE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- PFACT command -->\r
+                       <KEYWORD3>base</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>wave</KEYWORD3>\r
+                       <KEYWORD3>spat</KEYWORD3>\r
+\r
+                       <!-- PHYSICS command -->\r
+                       <KEYWORD3>write</KEYWORD3>\r
+                       <KEYWORD3>read</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+\r
+                       <!-- PINCLUDE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- PIVCHECK command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- PLCONV command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>se</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>mid</KEYWORD3>\r
+                       <KEYWORD3>bot</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+\r
+                       <!-- PLESOL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>pene</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>sfric</KEYWORD3>\r
+                       <KEYWORD3>stot</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>gap</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>serr</KEYWORD3>\r
+                       <KEYWORD3>sdsg</KEYWORD3>\r
+                       <KEYWORD3>terr</KEYWORD3>\r
+                       <KEYWORD3>tdsg</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>sene</KEYWORD3>\r
+                       <KEYWORD3>tene</KEYWORD3>\r
+                       <KEYWORD3>kene</KEYWORD3>\r
+                       <KEYWORD3>jheat</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+                       <KEYWORD3>mre</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>smisc</KEYWORD3>\r
+                       <KEYWORD3>nmisc</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+\r
+                       <!-- PLETAB command -->\r
+                       <KEYWORD3>noav</KEYWORD3>\r
+                       <KEYWORD3>avg</KEYWORD3>\r
+\r
+                       <!-- PLNSOL command -->\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>pene</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>sfric</KEYWORD3>\r
+                       <KEYWORD3>stot</KEYWORD3>\r
+                       <KEYWORD3>slide</KEYWORD3>\r
+                       <KEYWORD3>gap</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>lmd1</KEYWORD3>\r
+                       <KEYWORD3>lmd2</KEYWORD3>\r
+                       <KEYWORD3>lmd3</KEYWORD3>\r
+                       <KEYWORD3>lmd4</KEYWORD3>\r
+                       <KEYWORD3>lmd5</KEYWORD3>\r
+                       <KEYWORD3>lmd6</KEYWORD3>\r
+                       <KEYWORD3>emd1</KEYWORD3>\r
+                       <KEYWORD3>emd2</KEYWORD3>\r
+                       <KEYWORD3>emd3</KEYWORD3>\r
+                       <KEYWORD3>emd4</KEYWORD3>\r
+                       <KEYWORD3>emd5</KEYWORD3>\r
+                       <KEYWORD3>emd6</KEYWORD3>\r
+\r
+                       <!-- /PLOPTS command -->\r
+                       <KEYWORD3>leg1</KEYWORD3>\r
+                       <KEYWORD3>leg2</KEYWORD3>\r
+                       <KEYWORD3>info</KEYWORD3>\r
+                       <KEYWORD3>frame</KEYWORD3>\r
+                       <KEYWORD3>title</KEYWORD3>\r
+                       <KEYWORD3>minm</KEYWORD3>\r
+                       <KEYWORD3>logo</KEYWORD3>\r
+                       <KEYWORD3>wins</KEYWORD3>\r
+                       <KEYWORD3>wp</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+\r
+                       <!-- PLOT command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- PLPAGM command -->\r
+                       <KEYWORD3>node</KEYWORD3>\r
+\r
+                       <!-- PLPATH command -->\r
+                       <KEYWORD3>xg</KEYWORD3>\r
+                       <KEYWORD3>yg</KEYWORD3>\r
+                       <KEYWORD3>zg</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+\r
+                       <!-- PLSECT command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+\r
+                       <!-- PLTRAC command -->\r
+                       <KEYWORD3>fluid</KEYWORD3>\r
+                       <KEYWORD3>elec</KEYWORD3>\r
+                       <KEYWORD3>magn</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+\r
+                       <!-- PLVECT command -->\r
+                       <KEYWORD3>rast</KEYWORD3>\r
+                       <KEYWORD3>vect</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+\r
+                       <!-- PMAP command -->\r
+                       <KEYWORD3>uniform</KEYWORD3>\r
+                       <KEYWORD3>accurate</KEYWORD3>\r
+\r
+                       <!-- /PMETH command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- /PNUM command -->\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>sval</KEYWORD3>\r
+                       <KEYWORD3>tabnam</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- POPT command -->\r
+                       <KEYWORD3>b31.1</KEYWORD3>\r
+                       <KEYWORD3>nc</KEYWORD3>\r
+\r
+                       <!-- PORTOPT command -->\r
+                       <KEYWORD3>coax</KEYWORD3>\r
+                       <KEYWORD3>te10</KEYWORD3>\r
+                       <KEYWORD3>te11circ</KEYWORD3>\r
+                       <KEYWORD3>tm01circ</KEYWORD3>\r
+\r
+                       <!-- PPATH command -->\r
+                       <KEYWORD3>pick</KEYWORD3>\r
+\r
+                       <!-- PRED command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- PRESOL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>serr</KEYWORD3>\r
+                       <KEYWORD3>sdsg</KEYWORD3>\r
+                       <KEYWORD3>terr</KEYWORD3>\r
+                       <KEYWORD3>tdsg</KEYWORD3>\r
+                       <KEYWORD3>sene</KEYWORD3>\r
+                       <KEYWORD3>tene</KEYWORD3>\r
+                       <KEYWORD3>kene</KEYWORD3>\r
+                       <KEYWORD3>jheat</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+                       <KEYWORD3>mre</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>smisc</KEYWORD3>\r
+                       <KEYWORD3>nmisc</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+\r
+                       <!-- PRNLD, PRRFOR, PRRSOL commands -->\r
+                       <KEYWORD3>fx</KEYWORD3>\r
+                       <KEYWORD3>fy</KEYWORD3>\r
+                       <KEYWORD3>fz</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>mx</KEYWORD3>\r
+                       <KEYWORD3>ym</KEYWORD3>\r
+                       <KEYWORD3>mz</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>vfx</KEYWORD3>\r
+                       <KEYWORD3>vfy</KEYWORD3>\r
+                       <KEYWORD3>vfz</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>curt</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>csgx</KEYWORD3>\r
+                       <KEYWORD3>csgy</KEYWORD3>\r
+                       <KEYWORD3>csgz</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+\r
+                       <!-- PRNSOL, PRSSOL commands -->\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>sp01</KEYWORD3>\r
+                       <KEYWORD3>sp02</KEYWORD3>\r
+                       <KEYWORD3>sp03</KEYWORD3>\r
+                       <KEYWORD3>sp04</KEYWORD3>\r
+                       <KEYWORD3>sp05</KEYWORD3>\r
+                       <KEYWORD3>sp06</KEYWORD3>\r
+                       <KEYWORD3>dof</KEYWORD3>\r
+\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>prin</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>cont</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>topo</KEYWORD3>\r
+\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>spht</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>cmuv</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+                       <KEYWORD3>lmd</KEYWORD3>\r
+                       <KEYWORD3>emd</KEYWORD3>\r
+\r
+                       <!-- PRVECT command -->\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>js</KEYWORD3>\r
+                       <KEYWORD3>jt</KEYWORD3>\r
+\r
+                       <!-- PSCR command -->\r
+                       <KEYWORD3>cmap</KEYWORD3>\r
+                       <KEYWORD3>lwid</KEYWORD3>\r
+                       <KEYWORD3>color</KEYWORD3>\r
+                       <KEYWORD3>tranx</KEYWORD3>\r
+                       <KEYWORD3>trany</KEYWORD3>\r
+                       <KEYWORD3>rotate</KEYWORD3>\r
+                       <KEYWORD3>scale</KEYWORD3>\r
+                       <KEYWORD3>tiff</KEYWORD3>\r
+                       <KEYWORD3>epsi</KEYWORD3>\r
+\r
+                       <!-- PSDRES command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+                       <KEYWORD3>rel</KEYWORD3>\r
+                       <KEYWORD3>abs</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- PSDUNIT command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+                       <KEYWORD3>accg</KEYWORD3>\r
+                       <KEYWORD3>forc</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+\r
+                       <!-- /PSEARCH command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- PSEL command -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inv</KEYWORD3>\r
+\r
+                       <!-- /PSF command -->\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>norm</KEYWORD3>\r
+                       <KEYWORD3>tanx</KEYWORD3>\r
+                       <KEYWORD3>tany</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hcoef</KEYWORD3>\r
+                       <KEYWORD3>tbulk</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>emis</KEYWORD3>\r
+                       <KEYWORD3>tamb</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>mur</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+\r
+                       <!-- PSOLVE command -->\r
+                       <KEYWORD3>cgsol</KEYWORD3>\r
+                       <KEYWORD3>eigdamp</KEYWORD3>\r
+                       <KEYWORD3>eigexp</KEYWORD3>\r
+                       <KEYWORD3>eigfull</KEYWORD3>\r
+                       <KEYWORD3>eigreduc</KEYWORD3>\r
+                       <KEYWORD3>eigunsym</KEYWORD3>\r
+                       <KEYWORD3>elform</KEYWORD3>\r
+                       <KEYWORD3>elprep</KEYWORD3>\r
+                       <KEYWORD3>redwrite</KEYWORD3>\r
+                       <KEYWORD3>triang</KEYWORD3>\r
+\r
+                       <!-- PSPRNG command -->\r
+                       <KEYWORD3>tran</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+\r
+                       <!-- PSTRES command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- /PSYMB command -->\r
+                       <KEYWORD3>cs</KEYWORD3>\r
+                       <KEYWORD3>ndir</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+                       <KEYWORD3>ldir</KEYWORD3>\r
+                       <KEYWORD3>layr</KEYWORD3>\r
+                       <KEYWORD3>pcon</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>dot</KEYWORD3>\r
+                       <KEYWORD3>xnod</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- PTEMP command -->\r
+                       <KEYWORD3>none</KEYWORD3>\r
+\r
+                       <!-- PTXY command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- PUNIT command -->\r
+                       <KEYWORD3>ftin</KEYWORD3>\r
+                       <KEYWORD3>metric</KEYWORD3>\r
+\r
+                       <!-- PVECT command -->\r
+                       <KEYWORD3>norm</KEYWORD3>\r
+                       <KEYWORD3>tang</KEYWORD3>\r
+                       <KEYWORD3>radi</KEYWORD3>\r
+\r
+                       <!-- QUAD command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- /RATIO command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- RBE3 command -->\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>uxyz</KEYWORD3>\r
+                       <KEYWORD3>rxyz</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- RDELE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /REPLOT command -->\r
+                       <KEYWORD3>resize</KEYWORD3>\r
+                       <KEYWORD3>fast</KEYWORD3>\r
+\r
+                       <!-- REXPORT command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>dyna</KEYWORD3>\r
+\r
+                       <!-- RFORCE command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>,f</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>,m</KEYWORD3>\r
+                       <KEYWORD3>heat</KEYWORD3>\r
+                       <KEYWORD3>flow</KEYWORD3>\r
+                       <KEYWORD3>amps</KEYWORD3>\r
+                       <KEYWORD3>flux</KEYWORD3>\r
+                       <KEYWORD3>vf</KEYWORD3>\r
+                       <KEYWORD3>csg</KEYWORD3>\r
+                       <KEYWORD3>vltg</KEYWORD3>\r
+                       <KEYWORD3>durt</KEYWORD3>\r
+\r
+                       <!-- /RGB command -->\r
+                       <KEYWORD3>index</KEYWORD3>\r
+                       <KEYWORD3>cntr</KEYWORD3>\r
+\r
+                       <!-- RIGID command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>ux</KEYWORD3>\r
+                       <KEYWORD3>uy</KEYWORD3>\r
+                       <KEYWORD3>uz</KEYWORD3>\r
+                       <KEYWORD3>rotx</KEYWORD3>\r
+                       <KEYWORD3>roty</KEYWORD3>\r
+                       <KEYWORD3>rotz</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- RIMPORT command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>dyna</KEYWORD3>\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>stress</KEYWORD3>\r
+\r
+                       <!-- RLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- RSYS command -->\r
+                       <KEYWORD3>solu</KEYWORD3>\r
+\r
+                       <!-- SARPLOT command -->\r
+                       <KEYWORD3>factor</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>narrow</KEYWORD3>\r
+\r
+                       <!-- /SECLIB command -->\r
+                       <KEYWORD3>read</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+\r
+                       <!-- SECOFFSET command -->\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>shrc</KEYWORD3>\r
+                       <KEYWORD3>origin</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+\r
+                       <!-- SECREAD, SECWRITE commands -->\r
+                       <KEYWORD3>library</KEYWORD3>\r
+                       <KEYWORD3>mesh</KEYWORD3>\r
+\r
+                       <!-- SECTYPE command -->\r
+                       <KEYWORD3>beam</KEYWORD3>\r
+                       <KEYWORD3>rect</KEYWORD3>\r
+                       <KEYWORD3>quad</KEYWORD3>\r
+                       <KEYWORD3>csolid</KEYWORD3>\r
+                       <KEYWORD3>ctube</KEYWORD3>\r
+                       <KEYWORD3>chan</KEYWORD3>\r
+                       <KEYWORD3>i</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>,l</KEYWORD3>\r
+                       <KEYWORD3>t</KEYWORD3>\r
+                       <KEYWORD3>hats</KEYWORD3>\r
+                       <KEYWORD3>hrec</KEYWORD3>\r
+                       <KEYWORD3>asec</KEYWORD3>\r
+                       <KEYWORD3>mesh</KEYWORD3>\r
+\r
+                       <!-- SEDLIST command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- SEEXP command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- /SEG command -->\r
+                       <KEYWORD3>singl</KEYWORD3>\r
+                       <KEYWORD3>multi</KEYWORD3>\r
+                       <KEYWORD3>delet</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>pc</KEYWORD3>\r
+\r
+                       <!-- SESYMM command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- *SET command -->\r
+\r
+                       <!-- SET command -->\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>next</KEYWORD3>\r
+                       <KEYWORD3>near</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+\r
+                       <!-- SF command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>port</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+\r
+                       <!-- SFA command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>port</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+\r
+                       <!-- SFACT command -->\r
+                       <KEYWORD3>,sf</KEYWORD3>\r
+                       <KEYWORD3>ms</KEYWORD3>\r
+\r
+                       <!-- SFADELE, SFALIST, SFBEAM commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- SFCUM command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>selv</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>repl</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>igno</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+\r
+                       <!-- SFDELE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>selv</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>port</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+\r
+                       <!-- SFE, SFEDELE, SFELIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>selv</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>port</KEYWORD3>\r
+                       <KEYWORD3>shld</KEYWORD3>\r
+\r
+                       <!-- SFFUN, SFGRAD commands -->\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+\r
+                       <!-- SFL, SFLDELE, SFLIST, SFLLIST, SFSCALE commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>conv</KEYWORD3>\r
+                       <KEYWORD3>hflux</KEYWORD3>\r
+                       <KEYWORD3>rad</KEYWORD3>\r
+                       <KEYWORD3>fsi</KEYWORD3>\r
+                       <KEYWORD3>impd</KEYWORD3>\r
+                       <KEYWORD3>mci</KEYWORD3>\r
+                       <KEYWORD3>mxwf</KEYWORD3>\r
+                       <KEYWORD3>chrgs</KEYWORD3>\r
+                       <KEYWORD3>inf</KEYWORD3>\r
+                       <KEYWORD3>port</KEYWORD3>\r
+                       <KEYWORD3>shdl</KEYWORD3>\r
+                       <KEYWORD3>selv</KEYWORD3>\r
+\r
+                       <!-- /SHADE command -->\r
+                       <KEYWORD3>facet</KEYWORD3>\r
+                       <KEYWORD3>gouraud</KEYWORD3>\r
+                       <KEYWORD3>phong</KEYWORD3>\r
+\r
+                       <!-- SHELL command -->\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>mid</KEYWORD3>\r
+                       <KEYWORD3>bot</KEYWORD3>\r
+\r
+                       <!-- /SHOW command -->\r
+                       <KEYWORD3>term</KEYWORD3>\r
+                       <KEYWORD3>file</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>pscr</KEYWORD3>\r
+                       <KEYWORD3>hpgl</KEYWORD3>\r
+                       <KEYWORD3>hpgl2</KEYWORD3>\r
+                       <KEYWORD3>vrml</KEYWORD3>\r
+\r
+                       <!-- /SHOWDISP command -->\r
+                       <KEYWORD3>hpgl</KEYWORD3>\r
+                       <KEYWORD3>hpgl2</KEYWORD3>\r
+                       <KEYWORD3>interleaf</KEYWORD3>\r
+                       <KEYWORD3>postscript</KEYWORD3>\r
+                       <KEYWORD3>dump</KEYWORD3>\r
+\r
+                       <!-- SHPP command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>warn</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>silent</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+                       <KEYWORD3>summary</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>object</KEYWORD3>\r
+                       <KEYWORD3>modify</KEYWORD3>\r
+                       <KEYWORD3>angd</KEYWORD3>\r
+                       <KEYWORD3>aspect</KEYWORD3>\r
+                       <KEYWORD3>paral</KEYWORD3>\r
+                       <KEYWORD3>maxang</KEYWORD3>\r
+                       <KEYWORD3>jacrat</KEYWORD3>\r
+                       <KEYWORD3>warp</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+\r
+                       <!-- SLPPLOT, SLSPLOT commands -->\r
+                       <KEYWORD3>factor</KEYWORD3>\r
+                       <KEYWORD3>radius</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+\r
+                       <!-- SMRTSIZE command -->\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- SOLCONTROL command -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+\r
+                       <!-- SOLU command -->\r
+                       <KEYWORD3>allf</KEYWORD3>\r
+                       <KEYWORD3>aldlf</KEYWORD3>\r
+                       <KEYWORD3>arcl</KEYWORD3>\r
+                       <KEYWORD3>cnvg</KEYWORD3>\r
+                       <KEYWORD3>crprat</KEYWORD3>\r
+                       <KEYWORD3>cscv</KEYWORD3>\r
+                       <KEYWORD3>cucv</KEYWORD3>\r
+                       <KEYWORD3>dicv</KEYWORD3>\r
+                       <KEYWORD3>dsprm</KEYWORD3>\r
+                       <KEYWORD3>dtime</KEYWORD3>\r
+                       <KEYWORD3>eqit</KEYWORD3>\r
+                       <KEYWORD3>ffcv</KEYWORD3>\r
+                       <KEYWORD3>focv</KEYWORD3>\r
+                       <KEYWORD3>hfcv</KEYWORD3>\r
+                       <KEYWORD3>nc48</KEYWORD3>\r
+                       <KEYWORD3>nc49</KEYWORD3>\r
+                       <KEYWORD3>ncmit</KEYWORD3>\r
+                       <KEYWORD3>ncmls</KEYWORD3>\r
+                       <KEYWORD3>ncmss</KEYWORD3>\r
+                       <KEYWORD3>mfcv</KEYWORD3>\r
+                       <KEYWORD3>mocv</KEYWORD3>\r
+                       <KEYWORD3>mxdvl</KEYWORD3>\r
+                       <KEYWORD3>prcv</KEYWORD3>\r
+                       <KEYWORD3>psinc</KEYWORD3>\r
+                       <KEYWORD3>resfrq</KEYWORD3>\r
+                       <KEYWORD3>reseig</KEYWORD3>\r
+                       <KEYWORD3>rocv</KEYWORD3>\r
+                       <KEYWORD3>smcv</KEYWORD3>\r
+                       <KEYWORD3>tecv</KEYWORD3>\r
+                       <KEYWORD3>vecv</KEYWORD3>\r
+                       <KEYWORD3>vocv</KEYWORD3>\r
+                       <KEYWORD3>vmcv</KEYWORD3>\r
+\r
+                       <!-- SPOPT command -->\r
+                       <KEYWORD3>sprs</KEYWORD3>\r
+                       <KEYWORD3>mprs</KEYWORD3>\r
+                       <KEYWORD3>ddam</KEYWORD3>\r
+                       <KEYWORD3>psd</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+\r
+                       <!-- SRSS command -->\r
+                       <KEYWORD3>disp</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- /SSCALE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- SSTIF command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- *STATUS command -->\r
+                       <KEYWORD3>argx</KEYWORD3>\r
+\r
+                       <!-- /STATUS command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>title</KEYWORD3>\r
+                       <KEYWORD3>units</KEYWORD3>\r
+                       <KEYWORD3>mem</KEYWORD3>\r
+                       <KEYWORD3>db</KEYWORD3>\r
+                       <KEYWORD3>config</KEYWORD3>\r
+                       <KEYWORD3>global</KEYWORD3>\r
+                       <KEYWORD3>solu</KEYWORD3>\r
+                       <KEYWORD3>phys</KEYWORD3>\r
+\r
+                       <!-- STORE command -->\r
+                       <KEYWORD3>merge</KEYWORD3>\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>appen</KEYWORD3>\r
+                       <KEYWORD3>alloc</KEYWORD3>\r
+                       <KEYWORD3>psd</KEYWORD3>\r
+\r
+                       <!-- SUBOPT command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>part</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+\r
+                       <!-- SUBSET command -->\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>next</KEYWORD3>\r
+                       <KEYWORD3>near</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>velo</KEYWORD3>\r
+                       <KEYWORD3>acel</KEYWORD3>\r
+\r
+                       <!-- SUMTYPE command -->\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>prin</KEYWORD3>\r
+\r
+                       <!-- TB command -->\r
+                       <KEYWORD3>bkin</KEYWORD3>\r
+                       <KEYWORD3>mkin</KEYWORD3>\r
+                       <KEYWORD3>miso</KEYWORD3>\r
+                       <KEYWORD3>biso</KEYWORD3>\r
+                       <KEYWORD3>aniso</KEYWORD3>\r
+                       <KEYWORD3>dp</KEYWORD3>\r
+                       <KEYWORD3>melas</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+                       <KEYWORD3>kinh</KEYWORD3>\r
+                       <KEYWORD3>anand</KEYWORD3>\r
+                       <KEYWORD3>creep</KEYWORD3>\r
+                       <KEYWORD3>swell</KEYWORD3>\r
+                       <KEYWORD3>bh</KEYWORD3>\r
+                       <KEYWORD3>piez</KEYWORD3>\r
+                       <KEYWORD3>fail</KEYWORD3>\r
+                       <KEYWORD3>mooney</KEYWORD3>\r
+                       <KEYWORD3>water</KEYWORD3>\r
+                       <KEYWORD3>anel</KEYWORD3>\r
+                       <KEYWORD3>concr</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>fcon</KEYWORD3>\r
+                       <KEYWORD3>pflow</KEYWORD3>\r
+                       <KEYWORD3>evisc</KEYWORD3>\r
+                       <KEYWORD3>plaw</KEYWORD3>\r
+                       <KEYWORD3>foam</KEYWORD3>\r
+                       <KEYWORD3>honey</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>eos</KEYWORD3>\r
+\r
+                       <!-- TBDELE, TBLIST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- TBPLOT command -->\r
+                       <KEYWORD3>mkin</KEYWORD3>\r
+                       <KEYWORD3>kinh</KEYWORD3>\r
+                       <KEYWORD3>melas</KEYWORD3>\r
+                       <KEYWORD3>miso</KEYWORD3>\r
+                       <KEYWORD3>bkin</KEYWORD3>\r
+                       <KEYWORD3>biso</KEYWORD3>\r
+                       <KEYWORD3>bh</KEYWORD3>\r
+                       <KEYWORD3>nb</KEYWORD3>\r
+                       <KEYWORD3>mh</KEYWORD3>\r
+                       <KEYWORD3>sbh</KEYWORD3>\r
+                       <KEYWORD3>snb</KEYWORD3>\r
+                       <KEYWORD3>smh</KEYWORD3>\r
+\r
+                       <!-- TBPT command -->\r
+                       <KEYWORD3>defi</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- TEE command -->\r
+                       <KEYWORD3>wt</KEYWORD3>\r
+                       <KEYWORD3>uft</KEYWORD3>\r
+\r
+                       <!-- TERM command -->\r
+                       <KEYWORD3>copy</KEYWORD3>\r
+                       <KEYWORD3>loop</KEYWORD3>\r
+                       <KEYWORD3>noprom</KEYWORD3>\r
+\r
+                       <!-- TIMINT command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>struc</KEYWORD3>\r
+                       <KEYWORD3>therm</KEYWORD3>\r
+                       <KEYWORD3>elect</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>fluid</KEYWORD3>\r
+\r
+                       <!-- TIMP command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- TRANSFER command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- /TRIAD command -->\r
+                       <KEYWORD3>orig</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>lbot</KEYWORD3>\r
+                       <KEYWORD3>rbot</KEYWORD3>\r
+                       <KEYWORD3>ltop</KEYWORD3>\r
+                       <KEYWORD3>rtop</KEYWORD3>\r
+\r
+                       <!-- /TRLCY command -->\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>isurf</KEYWORD3>\r
+                       <KEYWORD3>cm</KEYWORD3>\r
+                       <KEYWORD3>curve</KEYWORD3>\r
+\r
+                       <!-- TRNOPT command -->\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>reduc</KEYWORD3>\r
+                       <KEYWORD3>msup</KEYWORD3>\r
+                       <KEYWORD3>damp</KEYWORD3>\r
+                       <KEYWORD3>nodamp</KEYWORD3>\r
+\r
+                       <!-- TRPDEL, TRPLIS, TRPOIN commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- TSHAP command -->\r
+                       <KEYWORD3>iine</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>para</KEYWORD3>\r
+                       <KEYWORD3>arc</KEYWORD3>\r
+                       <KEYWORD3>carc</KEYWORD3>\r
+                       <KEYWORD3>circ</KEYWORD3>\r
+                       <KEYWORD3>tria</KEYWORD3>\r
+                       <KEYWORD3>tri6</KEYWORD3>\r
+                       <KEYWORD3>quad</KEYWORD3>\r
+                       <KEYWORD3>qua8</KEYWORD3>\r
+                       <KEYWORD3>cyli</KEYWORD3>\r
+                       <KEYWORD3>cone</KEYWORD3>\r
+                       <KEYWORD3>sphe</KEYWORD3>\r
+                       <KEYWORD3>pilo</KEYWORD3>\r
+\r
+                       <!-- /TYPE command -->\r
+                       <KEYWORD3>basic</KEYWORD3>\r
+                       <KEYWORD3>sect</KEYWORD3>\r
+                       <KEYWORD3>hidc</KEYWORD3>\r
+                       <KEYWORD3>hidd</KEYWORD3>\r
+                       <KEYWORD3>hidp</KEYWORD3>\r
+                       <KEYWORD3>cap</KEYWORD3>\r
+                       <KEYWORD3>zbuf</KEYWORD3>\r
+                       <KEYWORD3>zcap</KEYWORD3>\r
+                       <KEYWORD3>zqsl</KEYWORD3>\r
+                       <KEYWORD3>hqsl</KEYWORD3>\r
+\r
+                       <!-- /UI command -->\r
+                       <KEYWORD3>help</KEYWORD3>\r
+                       <KEYWORD3>view</KEYWORD3>\r
+                       <KEYWORD3>wpse</KEYWORD3>\r
+                       <KEYWORD3>wpvi</KEYWORD3>\r
+                       <KEYWORD3>result</KEYWORD3>\r
+                       <KEYWORD3>query</KEYWORD3>\r
+                       <KEYWORD3>copy</KEYWORD3>\r
+                       <KEYWORD3>anno</KEYWORD3>\r
+                       <KEYWORD3>select</KEYWORD3>\r
+                       <KEYWORD3>,nsel</KEYWORD3>\r
+                       <KEYWORD3>,esel</KEYWORD3>\r
+                       <KEYWORD3>,ksel</KEYWORD3>\r
+                       <KEYWORD3>,lsel</KEYWORD3>\r
+                       <KEYWORD3>,asel</KEYWORD3>\r
+                       <KEYWORD3>,vsel</KEYWORD3>\r
+                       <KEYWORD3>refresh</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>element</KEYWORD3>\r
+                       <KEYWORD3>grid</KEYWORD3>\r
+                       <KEYWORD3>format</KEYWORD3>\r
+                       <KEYWORD3>pscr</KEYWORD3>\r
+                       <KEYWORD3>tiff</KEYWORD3>\r
+                       <KEYWORD3>epsi</KEYWORD3>\r
+                       <KEYWORD3>bmp</KEYWORD3>\r
+                       <KEYWORD3>wmf</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>screen</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>graph</KEYWORD3>\r
+                       <KEYWORD3>color</KEYWORD3>\r
+                       <KEYWORD3>mono</KEYWORD3>\r
+                       <KEYWORD3>grey</KEYWORD3>\r
+                       <KEYWORD3>krev</KEYWORD3>\r
+                       <KEYWORD3>norm</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>orient</KEYWORD3>\r
+                       <KEYWORD3>landscape</KEYWORD3>\r
+                       <KEYWORD3>portrait</KEYWORD3>\r
+                       <KEYWORD3>compress</KEYWORD3>\r
+                       <KEYWORD3>yes</KEYWORD3>\r
+                       <KEYWORD3>no</KEYWORD3>\r
+\r
+                       <!-- /UIS command -->\r
+                       <KEYWORD3>msgpop</KEYWORD3>\r
+                       <KEYWORD3>replot</KEYWORD3>\r
+                       <KEYWORD3>abort</KEYWORD3>\r
+                       <KEYWORD3>dyna</KEYWORD3>\r
+                       <KEYWORD3>pick</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>defa</KEYWORD3>\r
+\r
+                       <!-- /UNITS command -->\r
+                       <KEYWORD3>user</KEYWORD3>\r
+                       <KEYWORD3>si</KEYWORD3>\r
+                       <KEYWORD3>cgs</KEYWORD3>\r
+                       <KEYWORD3>bft</KEYWORD3>\r
+                       <KEYWORD3>bin</KEYWORD3>\r
+\r
+                       <!-- UPCOORD command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+\r
+                       <!-- /USER command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- USRCAL command -->\r
+                       <KEYWORD3>usrefl</KEYWORD3>\r
+                       <KEYWORD3>userfl</KEYWORD3>\r
+                       <KEYWORD3>usercv</KEYWORD3>\r
+                       <KEYWORD3>userpr</KEYWORD3>\r
+                       <KEYWORD3>userfx</KEYWORD3>\r
+                       <KEYWORD3>userch</KEYWORD3>\r
+                       <KEYWORD3>userfd</KEYWORD3>\r
+                       <KEYWORD3>userou</KEYWORD3>\r
+                       <KEYWORD3>usermc</KEYWORD3>\r
+                       <KEYWORD3>usolbeg</KEYWORD3>\r
+                       <KEYWORD3>uldbeg</KEYWORD3>\r
+                       <KEYWORD3>ussbeg</KEYWORD3>\r
+                       <KEYWORD3>uitbeg</KEYWORD3>\r
+                       <KEYWORD3>uitfin</KEYWORD3>\r
+                       <KEYWORD3>ussfin</KEYWORD3>\r
+                       <KEYWORD3>uldfin</KEYWORD3>\r
+                       <KEYWORD3>usolfin</KEYWORD3>\r
+                       <KEYWORD3>uanbeg</KEYWORD3>\r
+                       <KEYWORD3>uanfin</KEYWORD3>\r
+                       <KEYWORD3>uelmatx</KEYWORD3>\r
+\r
+                       <!-- VA, VADD, VCLEAR, /VCONE, VCVFILL, VDELE, VDGL, VDRAG, VEXT commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- *VFILL command -->\r
+                       <KEYWORD3>data</KEYWORD3>\r
+                       <KEYWORD3>ramp</KEYWORD3>\r
+                       <KEYWORD3>rand</KEYWORD3>\r
+                       <KEYWORD3>gdis</KEYWORD3>\r
+                       <KEYWORD3>tria</KEYWORD3>\r
+                       <KEYWORD3>beta</KEYWORD3>\r
+                       <KEYWORD3>gamm</KEYWORD3>\r
+\r
+                       <!-- *VFUN command -->\r
+                       <KEYWORD3>acos</KEYWORD3>\r
+                       <KEYWORD3>asin</KEYWORD3>\r
+                       <KEYWORD3>asort</KEYWORD3>\r
+                       <KEYWORD3>atan</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>copy</KEYWORD3>\r
+                       <KEYWORD3>cos</KEYWORD3>\r
+                       <KEYWORD3>cosh</KEYWORD3>\r
+                       <KEYWORD3>dircos</KEYWORD3>\r
+                       <KEYWORD3>dsort</KEYWORD3>\r
+                       <KEYWORD3>euler</KEYWORD3>\r
+                       <KEYWORD3>exp</KEYWORD3>\r
+                       <KEYWORD3>expa</KEYWORD3>\r
+                       <KEYWORD3>log</KEYWORD3>\r
+                       <KEYWORD3>log10</KEYWORD3>\r
+                       <KEYWORD3>nint</KEYWORD3>\r
+                       <KEYWORD3>not</KEYWORD3>\r
+                       <KEYWORD3>pwr</KEYWORD3>\r
+                       <KEYWORD3>sin</KEYWORD3>\r
+                       <KEYWORD3>sinh</KEYWORD3>\r
+                       <KEYWORD3>sqrt</KEYWORD3>\r
+                       <KEYWORD3>tan</KEYWORD3>\r
+                       <KEYWORD3>tanh</KEYWORD3>\r
+                       <KEYWORD3>tang</KEYWORD3>\r
+                       <KEYWORD3>norm</KEYWORD3>\r
+                       <KEYWORD3>local</KEYWORD3>\r
+                       <KEYWORD3>global</KEYWORD3>\r
+\r
+                       <!-- VGEN command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- *VGET command -->\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>ang</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>zx</KEYWORD3>\r
+                       <KEYWORD3>,nsel</KEYWORD3>\r
+\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>cent</KEYWORD3>\r
+                       <KEYWORD3>adj</KEYWORD3>\r
+                       <KEYWORD3>attr</KEYWORD3>\r
+                       <KEYWORD3>geom</KEYWORD3>\r
+                       <KEYWORD3>,esel</KEYWORD3>\r
+                       <KEYWORD3>shpar</KEYWORD3>\r
+\r
+                       <KEYWORD3>kp</KEYWORD3>\r
+                       <KEYWORD3>div</KEYWORD3>\r
+                       <KEYWORD3>,ksel</KEYWORD3>\r
+\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>leng</KEYWORD3>\r
+                       <KEYWORD3>,lsel</KEYWORD3>\r
+\r
+                       <KEYWORD3>area</KEYWORD3>\r
+                       <KEYWORD3>loop</KEYWORD3>\r
+                       <KEYWORD3>,asel</KEYWORD3>\r
+\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>shell</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>,vsel</KEYWORD3>\r
+\r
+                       <KEYWORD3>cdsy</KEYWORD3>\r
+\r
+                       <KEYWORD3>rcon</KEYWORD3>\r
+                       <KEYWORD3>const</KEYWORD3>\r
+\r
+                       <KEYWORD3>const</KEYWORD3>\r
+                       <KEYWORD3>bkin</KEYWORD3>\r
+                       <KEYWORD3>mkin</KEYWORD3>\r
+                       <KEYWORD3>miso</KEYWORD3>\r
+                       <KEYWORD3>biso</KEYWORD3>\r
+                       <KEYWORD3>aniso</KEYWORD3>\r
+                       <KEYWORD3>dp</KEYWORD3>\r
+                       <KEYWORD3>melas</KEYWORD3>\r
+                       <KEYWORD3>user</KEYWORD3>\r
+                       <KEYWORD3>kinh</KEYWORD3>\r
+                       <KEYWORD3>anand</KEYWORD3>\r
+                       <KEYWORD3>creep</KEYWORD3>\r
+                       <KEYWORD3>swell</KEYWORD3>\r
+                       <KEYWORD3>bh</KEYWORD3>\r
+                       <KEYWORD3>piez</KEYWORD3>\r
+                       <KEYWORD3>fail</KEYWORD3>\r
+                       <KEYWORD3>mooney</KEYWORD3>\r
+                       <KEYWORD3>water</KEYWORD3>\r
+                       <KEYWORD3>anel</KEYWORD3>\r
+                       <KEYWORD3>concr</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>fcon</KEYWORD3>\r
+                       <KEYWORD3>pflow</KEYWORD3>\r
+                       <KEYWORD3>evisc</KEYWORD3>\r
+                       <KEYWORD3>plaw</KEYWORD3>\r
+                       <KEYWORD3>foam</KEYWORD3>\r
+                       <KEYWORD3>honey</KEYWORD3>\r
+                       <KEYWORD3>comp</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>eos</KEYWORD3>\r
+\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>hs</KEYWORD3>\r
+                       <KEYWORD3>bfe</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+\r
+                       <!-- VGLUE, VIMP, VINP, VINV, VLIST, VLSCALE, VMESH, VOFFST commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- /VIEW command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>wp</KEYWORD3>\r
+\r
+                       <!-- *VOPER command -->\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>sub</KEYWORD3>\r
+                       <KEYWORD3>mult</KEYWORD3>\r
+                       <KEYWORD3>div</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>lt</KEYWORD3>\r
+                       <KEYWORD3>le</KEYWORD3>\r
+                       <KEYWORD3>eq</KEYWORD3>\r
+                       <KEYWORD3>ne</KEYWORD3>\r
+                       <KEYWORD3>ge</KEYWORD3>\r
+                       <KEYWORD3>gt</KEYWORD3>\r
+                       <KEYWORD3>der1</KEYWORD3>\r
+                       <KEYWORD3>der2</KEYWORD3>\r
+                       <KEYWORD3>int1</KEYWORD3>\r
+                       <KEYWORD3>int2</KEYWORD3>\r
+                       <KEYWORD3>dot</KEYWORD3>\r
+                       <KEYWORD3>cross</KEYWORD3>\r
+                       <KEYWORD3>gath</KEYWORD3>\r
+                       <KEYWORD3>scat</KEYWORD3>\r
+\r
+                       <!-- VOVLAP, VPTN commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- VPLOT command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>dege</KEYWORD3>\r
+\r
+                       <!-- *VPUT command -->\r
+                       <KEYWORD3>node</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>rot</KEYWORD3>\r
+                       <KEYWORD3>temp</KEYWORD3>\r
+                       <KEYWORD3>pres</KEYWORD3>\r
+                       <KEYWORD3>volt</KEYWORD3>\r
+                       <KEYWORD3>mag</KEYWORD3>\r
+                       <KEYWORD3>v</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>curr</KEYWORD3>\r
+                       <KEYWORD3>emf</KEYWORD3>\r
+                       <KEYWORD3>enke</KEYWORD3>\r
+                       <KEYWORD3>ends</KEYWORD3>\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>xy</KEYWORD3>\r
+                       <KEYWORD3>yz</KEYWORD3>\r
+                       <KEYWORD3>xz</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>eqv</KEYWORD3>\r
+                       <KEYWORD3>epto</KEYWORD3>\r
+                       <KEYWORD3>epel</KEYWORD3>\r
+                       <KEYWORD3>eppl</KEYWORD3>\r
+                       <KEYWORD3>epcr</KEYWORD3>\r
+                       <KEYWORD3>epth</KEYWORD3>\r
+                       <KEYWORD3>epsw</KEYWORD3>\r
+                       <KEYWORD3>nl</KEYWORD3>\r
+                       <KEYWORD3>sepl</KEYWORD3>\r
+                       <KEYWORD3>srat</KEYWORD3>\r
+                       <KEYWORD3>hpres</KEYWORD3>\r
+                       <KEYWORD3>epeq</KEYWORD3>\r
+                       <KEYWORD3>psv</KEYWORD3>\r
+                       <KEYWORD3>plwk</KEYWORD3>\r
+                       <KEYWORD3>tg</KEYWORD3>\r
+                       <KEYWORD3>tf</KEYWORD3>\r
+                       <KEYWORD3>pg</KEYWORD3>\r
+                       <KEYWORD3>ef</KEYWORD3>\r
+                       <KEYWORD3>,d</KEYWORD3>\r
+                       <KEYWORD3>h</KEYWORD3>\r
+                       <KEYWORD3>b</KEYWORD3>\r
+                       <KEYWORD3>fmag</KEYWORD3>\r
+                       <KEYWORD3>ttot</KEYWORD3>\r
+                       <KEYWORD3>hflu</KEYWORD3>\r
+                       <KEYWORD3>hflm</KEYWORD3>\r
+                       <KEYWORD3>cond</KEYWORD3>\r
+                       <KEYWORD3>pcoe</KEYWORD3>\r
+                       <KEYWORD3>ptot</KEYWORD3>\r
+                       <KEYWORD3>mach</KEYWORD3>\r
+                       <KEYWORD3>strm</KEYWORD3>\r
+                       <KEYWORD3>dens</KEYWORD3>\r
+                       <KEYWORD3>visc</KEYWORD3>\r
+                       <KEYWORD3>evis</KEYWORD3>\r
+                       <KEYWORD3>econ</KEYWORD3>\r
+                       <KEYWORD3>yplu</KEYWORD3>\r
+                       <KEYWORD3>tauw</KEYWORD3>\r
+\r
+                       <KEYWORD3>elem</KEYWORD3>\r
+                       <KEYWORD3>etab</KEYWORD3>\r
+\r
+                       <!-- VROTAT command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- VSBA, VSBV, VSBW commands -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>sepo</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+\r
+                       <!-- *VSCFUN command -->\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>lmax</KEYWORD3>\r
+                       <KEYWORD3>lmin</KEYWORD3>\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>medi</KEYWORD3>\r
+                       <KEYWORD3>mean</KEYWORD3>\r
+                       <KEYWORD3>vari</KEYWORD3>\r
+                       <KEYWORD3>stdv</KEYWORD3>\r
+                       <KEYWORD3>rms</KEYWORD3>\r
+                       <KEYWORD3>num</KEYWORD3>\r
+\r
+                       <!-- VSEL, VSLA commands -->\r
+                       <KEYWORD3>s</KEYWORD3>\r
+                       <KEYWORD3>,r</KEYWORD3>\r
+                       <KEYWORD3>,a</KEYWORD3>\r
+                       <KEYWORD3>u</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>inve</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>volu</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>,mat</KEYWORD3>\r
+                       <KEYWORD3>,type</KEYWORD3>\r
+                       <KEYWORD3>,real</KEYWORD3>\r
+                       <KEYWORD3>,esys</KEYWORD3>\r
+\r
+                       <!-- VSUM command -->\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>fine</KEYWORD3>\r
+\r
+                       <!-- VSWEEP command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- VSYMM, VTRAN, /VUP commands -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>p</KEYWORD3>\r
+                       <KEYWORD3>-x</KEYWORD3>\r
+                       <KEYWORD3>-y</KEYWORD3>\r
+                       <KEYWORD3>-z</KEYWORD3>\r
+\r
+                       <!-- WAVES command -->\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>rms</KEYWORD3>\r
+\r
+                       <!-- /WINDOW command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>full</KEYWORD3>\r
+                       <KEYWORD3>left</KEYWORD3>\r
+                       <KEYWORD3>righ</KEYWORD3>\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>bot</KEYWORD3>\r
+                       <KEYWORD3>ltop</KEYWORD3>\r
+                       <KEYWORD3>lbot</KEYWORD3>\r
+                       <KEYWORD3>rtop</KEYWORD3>\r
+                       <KEYWORD3>rbot</KEYWORD3>\r
+                       <KEYWORD3>squa</KEYWORD3>\r
+                       <KEYWORD3>dele</KEYWORD3>\r
+\r
+                       <!-- WPAVE command -->\r
+                       <KEYWORD3>p</KEYWORD3>\r
+\r
+                       <!-- WSORT command -->\r
+                       <KEYWORD3>x</KEYWORD3>\r
+                       <KEYWORD3>y</KEYWORD3>\r
+                       <KEYWORD3>z</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>rms</KEYWORD3>\r
+\r
+                       <!-- WSTART command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /YRANGE command -->\r
+                       <KEYWORD3>all</KEYWORD3>\r
+\r
+                       <!-- /ZOOM command -->\r
+                       <KEYWORD3>off</KEYWORD3>\r
+                       <KEYWORD3>back</KEYWORD3>\r
+                       <KEYWORD3>scrn</KEYWORD3>\r
+                       <KEYWORD3>rect</KEYWORD3>\r
+                       \r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/applescript.xml b/basis/xmode/modes/applescript.xml
new file mode 100644 (file)
index 0000000..f4d18e0
--- /dev/null
@@ -0,0 +1,280 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- AppleScript mode by Kris Kopicki (21/8/2002) -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+               <PROPERTY NAME="commentStart" VALUE="(*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*)" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>(*</BEGIN>\r
+                       <END>*)</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               \r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">­</SEQ>\r
+\r
+       <!-- Constants -->\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="application"\r
+                       AT_WORD_START="TRUE"\r
+               >application[\t\s]+responses</SEQ_REGEXP>\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="current"\r
+                       AT_WORD_START="TRUE"\r
+               >current[\t\s]+application</SEQ_REGEXP>\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="white"\r
+                       AT_WORD_START="TRUE"\r
+               >white[\t\s]+space</SEQ_REGEXP>\r
+               \r
+               <!-- Text Styles -->\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="all"\r
+               >all[\t\s]+caps</SEQ_REGEXP>\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="all"\r
+                       AT_WORD_START="TRUE"\r
+               >all[\t\s]+lowercase</SEQ_REGEXP>\r
+               <SEQ_REGEXP\r
+                       TYPE="LITERAL2"\r
+                       HASH_CHAR="small"\r
+                       AT_WORD_START="TRUE"\r
+               >small[\t\s]+caps</SEQ_REGEXP>\r
+       \r
+       <!-- Predefined Variables -->\r
+               <SEQ_REGEXP\r
+                       TYPE="KEYWORD3"\r
+                       HASH_CHAR="missing"\r
+                       AT_WORD_START="TRUE"\r
+               >missing[\t\s]+value</SEQ_REGEXP>\r
+               \r
+               <KEYWORDS>\r
+               <!-- Keywords -->\r
+                       <KEYWORD1>script</KEYWORD1>\r
+                       <KEYWORD1>property</KEYWORD1>\r
+                       <KEYWORD1>prop</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+                       <KEYWORD1>global</KEYWORD1>\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>on</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>given</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>without</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>tell</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>times</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>from</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>error</KEYWORD1>\r
+                       <KEYWORD1>considering</KEYWORD1>\r
+                       <KEYWORD1>ignoring</KEYWORD1>\r
+                       <KEYWORD1>timeout</KEYWORD1>\r
+                       <KEYWORD1>transaction</KEYWORD1>\r
+                       <KEYWORD1>my</KEYWORD1>\r
+                       <KEYWORD1>get</KEYWORD1>\r
+                       <KEYWORD1>put</KEYWORD1>\r
+                       <KEYWORD1>into</KEYWORD1>\r
+                       <KEYWORD1>is</KEYWORD1>\r
+               \r
+               <!-- References -->\r
+                       <KEYWORD2>each</KEYWORD2>\r
+                       <KEYWORD2>some</KEYWORD2>\r
+                       <KEYWORD2>every</KEYWORD2>\r
+                       <KEYWORD2>whose</KEYWORD2>\r
+                       <KEYWORD2>where</KEYWORD2>\r
+                       <KEYWORD2>id</KEYWORD2>\r
+                       <KEYWORD2>index</KEYWORD2>\r
+                       <KEYWORD2>first</KEYWORD2>\r
+                       <KEYWORD2>second</KEYWORD2>\r
+                       <KEYWORD2>third</KEYWORD2>\r
+                       <KEYWORD2>fourth</KEYWORD2>\r
+                       <KEYWORD2>fifth</KEYWORD2>\r
+                       <KEYWORD2>sixth</KEYWORD2>\r
+                       <KEYWORD2>seventh</KEYWORD2>\r
+                       <KEYWORD2>eighth</KEYWORD2>\r
+                       <KEYWORD2>ninth</KEYWORD2>\r
+                       <KEYWORD2>tenth</KEYWORD2>\r
+                       <KEYWORD2>last</KEYWORD2>\r
+                       <KEYWORD2>front</KEYWORD2>\r
+                       <KEYWORD2>back</KEYWORD2>\r
+                       <KEYWORD2>st</KEYWORD2>\r
+                       <KEYWORD2>nd</KEYWORD2>\r
+                       <KEYWORD2>rd</KEYWORD2>\r
+                       <KEYWORD2>th</KEYWORD2>\r
+                       <KEYWORD2>middle</KEYWORD2>\r
+                       <KEYWORD2>named</KEYWORD2>\r
+                       <KEYWORD2>through</KEYWORD2>\r
+                       <KEYWORD2>thru</KEYWORD2>\r
+                       <KEYWORD2>before</KEYWORD2>\r
+                       <KEYWORD2>after</KEYWORD2>\r
+                       <KEYWORD2>beginning</KEYWORD2>\r
+                       <KEYWORD2>the</KEYWORD2>\r
+               \r
+               <!-- Commands -->\r
+                       <KEYWORD3>close</KEYWORD3>\r
+                       <KEYWORD3>copy</KEYWORD3>\r
+                       <KEYWORD3>count</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>duplicate</KEYWORD3>\r
+                       <KEYWORD3>exists</KEYWORD3>\r
+                       <KEYWORD3>launch</KEYWORD3>\r
+                       <KEYWORD3>make</KEYWORD3>\r
+                       <KEYWORD3>move</KEYWORD3>\r
+                       <KEYWORD3>open</KEYWORD3>\r
+                       <KEYWORD3>print</KEYWORD3>\r
+                       <KEYWORD3>quit</KEYWORD3>\r
+                       <KEYWORD3>reopen</KEYWORD3>\r
+                       <KEYWORD3>run</KEYWORD3>\r
+                       <KEYWORD3>save</KEYWORD3>\r
+                       <KEYWORD3>saving</KEYWORD3>\r
+               \r
+               <!-- Predefined Variables -->\r
+                       <LITERAL2>it</LITERAL2>\r
+                       <LITERAL2>me</LITERAL2>\r
+                       <LITERAL2>version</LITERAL2>\r
+                       <LITERAL2>pi</LITERAL2>\r
+                       <LITERAL2>result</LITERAL2>\r
+                       <LITERAL2>space</LITERAL2>\r
+                       <LITERAL2>tab</LITERAL2>\r
+                       <LITERAL2>anything</LITERAL2>\r
+               \r
+               <!-- Constants -->\r
+                       <LITERAL2>case</LITERAL2>\r
+                       <LITERAL2>diacriticals</LITERAL2>\r
+                       <LITERAL2>expansion</LITERAL2>\r
+                       <LITERAL2>hyphens</LITERAL2>\r
+                       <LITERAL2>punctuation</LITERAL2>\r
+                       \r
+                       <!-- Text Styles -->\r
+                       <LITERAL2>bold</LITERAL2>\r
+                       <LITERAL2>condensed</LITERAL2>\r
+                       <LITERAL2>expanded</LITERAL2>\r
+                       <LITERAL2>hidden</LITERAL2>\r
+                       <LITERAL2>italic</LITERAL2>\r
+                       <LITERAL2>outline</LITERAL2>\r
+                       <LITERAL2>plain</LITERAL2>\r
+                       <LITERAL2>shadow</LITERAL2>\r
+                       <LITERAL2>strikethrough</LITERAL2>\r
+                       <LITERAL2>subscript</LITERAL2>\r
+                       <LITERAL2>superscript</LITERAL2>\r
+                       <LITERAL2>underline</LITERAL2>\r
+                       \r
+                       <!-- Save options -->\r
+                       <LITERAL2>ask</LITERAL2>\r
+                       <LITERAL2>no</LITERAL2>\r
+                       <LITERAL2>yes</LITERAL2>\r
+                       \r
+                       <!-- Booleans -->\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+                       \r
+                       <!-- Date & Time -->\r
+                       <LITERAL2>weekday</LITERAL2>\r
+                       <LITERAL2>monday</LITERAL2>\r
+                       <LITERAL2>mon</LITERAL2>\r
+                       <LITERAL2>tuesday</LITERAL2>\r
+                       <LITERAL2>tue</LITERAL2>\r
+                       <LITERAL2>wednesday</LITERAL2>\r
+                       <LITERAL2>wed</LITERAL2>\r
+                       <LITERAL2>thursday</LITERAL2>\r
+                       <LITERAL2>thu</LITERAL2>\r
+                       <LITERAL2>friday</LITERAL2>\r
+                       <LITERAL2>fri</LITERAL2>\r
+                       <LITERAL2>saturday</LITERAL2>\r
+                       <LITERAL2>sat</LITERAL2>\r
+                       <LITERAL2>sunday</LITERAL2>\r
+                       <LITERAL2>sun</LITERAL2>\r
+                       \r
+                       <LITERAL2>month</LITERAL2>\r
+                       <LITERAL2>january</LITERAL2>\r
+                       <LITERAL2>jan</LITERAL2>\r
+                       <LITERAL2>february</LITERAL2>\r
+                       <LITERAL2>feb</LITERAL2>\r
+                       <LITERAL2>march</LITERAL2>\r
+                       <LITERAL2>mar</LITERAL2>\r
+                       <LITERAL2>april</LITERAL2>\r
+                       <LITERAL2>apr</LITERAL2>\r
+                       <LITERAL2>may</LITERAL2>\r
+                       <LITERAL2>june</LITERAL2>\r
+                       <LITERAL2>jun</LITERAL2>\r
+                       <LITERAL2>july</LITERAL2>\r
+                       <LITERAL2>jul</LITERAL2>\r
+                       <LITERAL2>august</LITERAL2>\r
+                       <LITERAL2>aug</LITERAL2>\r
+                       <LITERAL2>september</LITERAL2>\r
+                       <LITERAL2>sep</LITERAL2>\r
+                       <LITERAL2>october</LITERAL2>\r
+                       <LITERAL2>oct</LITERAL2>\r
+                       <LITERAL2>november</LITERAL2>\r
+                       <LITERAL2>nov</LITERAL2>\r
+                       <LITERAL2>december</LITERAL2>\r
+                       <LITERAL2>dec</LITERAL2>\r
+                       \r
+                       <LITERAL2>minutes</LITERAL2>\r
+                       <LITERAL2>hours</LITERAL2>\r
+                       <LITERAL2>days</LITERAL2>\r
+                       <LITERAL2>weeks</LITERAL2>\r
+                       \r
+               <!-- Operators -->\r
+                       <OPERATOR>div</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <OPERATOR>not</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>as</OPERATOR>\r
+                       <OPERATOR>contains</OPERATOR>\r
+                       <OPERATOR>equal</OPERATOR>\r
+                       <OPERATOR>equals</OPERATOR>\r
+                       <OPERATOR>isn't</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/asp.xml b/basis/xmode/modes/asp.xml
new file mode 100644 (file)
index 0000000..01735ba
--- /dev/null
@@ -0,0 +1,518 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- ASP mode by Andre Kaplan\r
+        Updated by Simon Ruggier       -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <SEQ TYPE="MARKUP" DELEGATE="ASPVB">&lt;%@LANGUAGE="VBSCRIPT"%</SEQ>\r
+               <SEQ TYPE="MARKUP" DELEGATE="ASPJS">&lt;%@LANGUAGE="JSCRIPT"%</SEQ>\r
+               <SEQ TYPE="MARKUP" DELEGATE="ASPJS">&lt;%@LANGUAGE="JAVASCRIPT"%</SEQ>\r
+               <SEQ TYPE="MARKUP" DELEGATE="ASPPL">&lt;%@LANGUAGE="PERLSCRIPT"%</SEQ>\r
+\r
+               <!-- Inlined server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side Javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Client-side javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script language="jscript"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script language="javascript"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-Side include -->\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="ASPVB_SGML">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_STYLE">\r
+                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ******************************************************************\r
+            ASP with VBScript as default script engine\r
+            ****************************************************************** -->\r
+       <RULES SET="ASPVB" IGNORE_CASE="TRUE">\r
+               <!-- Inlined server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side Javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Client-side javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
+                       <BEGIN>&lt;script&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-Side include -->\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="ASPVB_SGML">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_STYLE">\r
+                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
+                       <BEGIN>&lt;/</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ******************************************************************\r
+            ASP with JScript as default script engine\r
+            ****************************************************************** -->\r
+       <RULES SET="ASPJS" IGNORE_CASE="TRUE">\r
+               <!-- Inlined server-side Javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side Javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Client-side javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
+                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
+                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
+                       <BEGIN>&lt;script&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-Side include -->\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="ASPJS_SGML">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_STYLE">\r
+                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_TAGS">\r
+                       <BEGIN>&lt;/</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ******************************************************************\r
+            ASP with PerlScript as default script engine\r
+            ****************************************************************** -->\r
+       <RULES SET="ASPPL" IGNORE_CASE="TRUE">\r
+               <!-- Inlined server-side Perlscript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side Javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="javascript" runat="server"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Client-side javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
+                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
+                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
+                       <BEGIN>&lt;script&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-Side include -->\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="ASPPL_SGML">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_STYLE">\r
+                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_TAGS">\r
+                       <BEGIN>&lt;/</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ******************************************************************\r
+            HTML Tags\r
+            ****************************************************************** -->\r
+       <RULES SET="ASPVB_TAGS" DEFAULT="MARKUP">\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPVB_LIT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPVB_LIT1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>            \r
+       </RULES>\r
+\r
+       <RULES SET="ASPVB_LIT1" DEFAULT="LITERAL1">\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPJS_TAGS" DEFAULT="MARKUP">\r
+               <!-- Server-side JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPJS_LIT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPJS_LIT1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>            \r
+       </RULES>\r
+       \r
+       <RULES SET="ASPJS_LIT1" DEFAULT="LITERAL1">\r
+               <!-- Server-side JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPPL_TAGS" DEFAULT="MARKUP">\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPPL_LIT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE ="ASPPL_LIT1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>            \r
+       </RULES>\r
+\r
+       <RULES SET="ASPPL_LIT1" DEFAULT="LITERAL1">\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+       \r
+       <!-- These three rules sets handle server side scripts being mixed into client side javascript -->\r
+       <RULES SET="ASPVB_CSJS">\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="javascript::MAIN"/>\r
+       </RULES>\r
+       \r
+       <RULES SET="ASPJS_CSJS">\r
+               <!-- Server-side JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="javascript::MAIN"/>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPPL_CSJS">\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="javascript::MAIN"/>\r
+       </RULES>\r
+       \r
+       <!-- These three rules sets handle server side scripts being mixed into stylesheets -->\r
+       <RULES SET="ASPVB_STYLE">\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="css::MAIN"/>\r
+       </RULES>\r
+       \r
+       <RULES SET="ASPJS_STYLE">\r
+               <!-- Server-side JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="css::MAIN"/>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPPL_STYLE">\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="css::MAIN"/>\r
+       </RULES>\r
+\r
+       <!-- These three rules sets handle server side scripts being mixed into SGML Comments -->\r
+       <RULES SET="ASPVB_SGML" DEFAULT="COMMENT1">\r
+               <!-- Server-side VBScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPJS_SGML" DEFAULT="COMMENT1">\r
+               <!-- Server-side JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="ASPPL_SGML" DEFAULT="COMMENT1">\r
+               <!-- Server-side PerlScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/aspect-j.xml b/basis/xmode/modes/aspect-j.xml
new file mode 100644 (file)
index 0000000..8c7609a
--- /dev/null
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+        <PROPS>\r
+                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+                <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+                <PROPERTY NAME="indentPrevLine"\r
+                        VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+                <!-- set this to 'true' if you want to use GNU coding style -->\r
+                <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+                <PROPERTY NAME="commentStart" VALUE="/*" />\r
+                <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+                <PROPERTY NAME="lineComment" VALUE="//" />\r
+                <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+        </PROPS>\r
+        <RULES ESCAPE="\"\r
+                IGNORE_CASE="FALSE"\r
+                HIGHLIGHT_DIGITS="TRUE"\r
+                DIGIT_RE="(0x)?[\p{XDigit}]+[lLdDfF]?">\r
+\r
+                <!-- Silly comment -->\r
+                <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+                <!-- Javadoc comment -->\r
+                <SPAN TYPE="COMMENT3" DELEGATE="java::JAVADOC">\r
+                        <BEGIN>/**</BEGIN>\r
+                        <END>*/</END>\r
+                </SPAN>\r
+\r
+                <!-- Java comment (C style) -->\r
+                <SPAN TYPE="COMMENT1">\r
+                        <BEGIN>/*</BEGIN>\r
+                        <END>*/</END>\r
+                </SPAN>\r
+\r
+                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                        <BEGIN>"</BEGIN>\r
+                        <END>"</END>\r
+                </SPAN>\r
+                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                        <BEGIN>'</BEGIN>\r
+                        <END>'</END>\r
+                </SPAN>\r
+\r
+                <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+                <SEQ TYPE="OPERATOR">=</SEQ>\r
+                <SEQ TYPE="OPERATOR">!</SEQ>\r
+                <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+                <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+                <SEQ TYPE="OPERATOR">+</SEQ>\r
+                <SEQ TYPE="OPERATOR">-</SEQ>\r
+                <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+                <!-- workaround to stop "*" from being colorized\r
+                     in import statements. -->\r
+                <SEQ TYPE="NULL">.*</SEQ>\r
+\r
+                <SEQ TYPE="OPERATOR">*</SEQ>\r
+                <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+                <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+                <SEQ TYPE="OPERATOR">%</SEQ>\r
+                <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+                <SEQ TYPE="OPERATOR">|</SEQ>\r
+                <SEQ TYPE="OPERATOR">^</SEQ>\r
+                <SEQ TYPE="OPERATOR">~</SEQ>\r
+                <SEQ TYPE="OPERATOR">}</SEQ>\r
+                <SEQ TYPE="OPERATOR">{</SEQ>\r
+                <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                        AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
+\r
+                <!-- Function calls -->\r
+                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+                               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+                <KEYWORDS>\r
+                        <KEYWORD1>abstract</KEYWORD1>\r
+                                               <KEYWORD1>break</KEYWORD1>\r
+                                               <KEYWORD1>case</KEYWORD1>\r
+                                               <KEYWORD1>catch</KEYWORD1>\r
+                                               <KEYWORD1>continue</KEYWORD1>\r
+                                               <KEYWORD1>default</KEYWORD1>\r
+                                               <KEYWORD1>do</KEYWORD1>\r
+                                               <KEYWORD1>else</KEYWORD1>\r
+                                               <KEYWORD1>extends</KEYWORD1>\r
+                                               <KEYWORD1>final</KEYWORD1>\r
+                                               <KEYWORD1>finally</KEYWORD1>\r
+                                               <KEYWORD1>for</KEYWORD1>\r
+                                               <KEYWORD1>if</KEYWORD1>\r
+                                               <KEYWORD1>implements</KEYWORD1>\r
+                                               <KEYWORD1>instanceof</KEYWORD1>\r
+                                               <KEYWORD1>native</KEYWORD1>\r
+                                               <KEYWORD1>new</KEYWORD1>\r
+                                               <KEYWORD1>private</KEYWORD1>\r
+                                               <KEYWORD1>protected</KEYWORD1>\r
+                                               <KEYWORD1>public</KEYWORD1>\r
+                                               <KEYWORD1>return</KEYWORD1>\r
+                                               <KEYWORD1>static</KEYWORD1>\r
+                                               <KEYWORD1>switch</KEYWORD1>\r
+                                               <KEYWORD1>synchronized</KEYWORD1>\r
+                                               <KEYWORD1>throw</KEYWORD1>\r
+                                               <KEYWORD1>throws</KEYWORD1>\r
+                                               <KEYWORD1>transient</KEYWORD1>\r
+                                               <KEYWORD1>try</KEYWORD1>\r
+                                               <KEYWORD1>volatile</KEYWORD1>\r
+                                               <KEYWORD1>while</KEYWORD1>\r
+\r
+                                               <KEYWORD2>package</KEYWORD2>\r
+                                               <KEYWORD2>import</KEYWORD2>\r
+\r
+                                               <KEYWORD3>boolean</KEYWORD3>\r
+                                               <KEYWORD3>byte</KEYWORD3>\r
+                                               <KEYWORD3>char</KEYWORD3>\r
+                                               <KEYWORD3>class</KEYWORD3>\r
+                                               <KEYWORD3>double</KEYWORD3>\r
+                                               <KEYWORD3>float</KEYWORD3>\r
+                                               <KEYWORD3>int</KEYWORD3>\r
+                                               <KEYWORD3>interface</KEYWORD3>\r
+                                               <KEYWORD3>long</KEYWORD3>\r
+                                               <KEYWORD3>short</KEYWORD3>\r
+                                               <KEYWORD3>void</KEYWORD3>\r
+\r
+                                               <FUNCTION>assert</FUNCTION>\r
+                                               <KEYWORD1>strictfp</KEYWORD1>\r
+\r
+                                               <LITERAL2>false</LITERAL2>\r
+                                               <LITERAL2>null</LITERAL2>\r
+                                               <LITERAL2>super</LITERAL2>\r
+                                               <LITERAL2>this</LITERAL2>\r
+                                               <LITERAL2>true</LITERAL2>\r
+\r
+                                               <INVALID>goto</INVALID>\r
+                                               <INVALID>const</INVALID>\r
+\r
+                        <KEYWORD4>args</KEYWORD4>\r
+                        <KEYWORD4>percflow</KEYWORD4>\r
+                        <KEYWORD4>get</KEYWORD4>\r
+                        <KEYWORD4>set</KEYWORD4>\r
+                        <KEYWORD4>preinitialization</KEYWORD4>\r
+                        <KEYWORD4>handler</KEYWORD4>\r
+                        <KEYWORD4>adviceexecution</KEYWORD4>\r
+                        <KEYWORD4>cflow</KEYWORD4>\r
+                        <KEYWORD4>target</KEYWORD4>\r
+                        <KEYWORD4>cflowbelow</KEYWORD4>\r
+                        <KEYWORD4>withincode</KEYWORD4>\r
+                        <KEYWORD4>declare</KEYWORD4>\r
+                        <KEYWORD4>precedence</KEYWORD4>\r
+                        <KEYWORD4>issingleton</KEYWORD4>\r
+                        <KEYWORD4>perthis</KEYWORD4>\r
+                        <KEYWORD4>pertarget</KEYWORD4>\r
+                        <KEYWORD4>privileged</KEYWORD4>\r
+                        <KEYWORD4>after</KEYWORD4>\r
+                        <KEYWORD4>around</KEYWORD4>\r
+                        <KEYWORD4>aspect</KEYWORD4>\r
+                        <KEYWORD4>before</KEYWORD4>\r
+                        <KEYWORD4>call</KEYWORD4>\r
+                        <KEYWORD4>execution</KEYWORD4>\r
+                        <KEYWORD4>initialization</KEYWORD4>\r
+                        <KEYWORD4>pointcut</KEYWORD4>\r
+                        <KEYWORD4>proceed</KEYWORD4>\r
+                        <KEYWORD4>staticinitialization</KEYWORD4>\r
+                        <KEYWORD4>within</KEYWORD4>\r
+                        <KEYWORD4>..</KEYWORD4>\r
+                </KEYWORDS>\r
+        </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-m68k.xml b/basis/xmode/modes/assembly-m68k.xml
new file mode 100644 (file)
index 0000000..03a6c4c
--- /dev/null
@@ -0,0 +1,508 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       M68000 Assembly mode by Igor Lesik (curoles@yahoo.com)\r
+       version 0.2 (July 24, 2006)\r
+       TODO: i)add missing size qualifiers, ii)add Xcc like instructions\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x\p{XDigit}+|\d+)">\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">*</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">$</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+\r
+               <KEYWORDS>\r
+\r
+                       <!-- ************************* REGISTERS ********************************* -->\r
+                       <!-- For sake of commonality with existing asm86 mode we use Keyword3 for registers-->\r
+\r
+                       <!-- General-purpose data registers -->\r
+                       <KEYWORD3>D0</KEYWORD3>\r
+                       <KEYWORD3>D1</KEYWORD3>\r
+                       <KEYWORD3>D2</KEYWORD3>\r
+                       <KEYWORD3>D3</KEYWORD3>\r
+                       <KEYWORD3>D4</KEYWORD3>\r
+                       <KEYWORD3>D5</KEYWORD3>\r
+                       <KEYWORD3>D6</KEYWORD3>\r
+                       <KEYWORD3>D7</KEYWORD3>\r
+\r
+                       <!-- Address registers -->\r
+                       <KEYWORD3>A0</KEYWORD3>\r
+                       <KEYWORD3>A1</KEYWORD3>\r
+                       <KEYWORD3>A2</KEYWORD3>\r
+                       <KEYWORD3>A3</KEYWORD3>\r
+                       <KEYWORD3>A4</KEYWORD3>\r
+                       <KEYWORD3>A5</KEYWORD3>\r
+                       <KEYWORD3>A6</KEYWORD3>\r
+                       <KEYWORD3>A7</KEYWORD3>\r
+\r
+                       <!-- Floating-point data registers -->\r
+                       <KEYWORD3>FP0</KEYWORD3>\r
+                       <KEYWORD3>FP1</KEYWORD3>\r
+                       <KEYWORD3>FP2</KEYWORD3>\r
+                       <KEYWORD3>FP3</KEYWORD3>\r
+                       <KEYWORD3>FP4</KEYWORD3>\r
+                       <KEYWORD3>FP5</KEYWORD3>\r
+                       <KEYWORD3>FP6</KEYWORD3>\r
+                       <KEYWORD3>FP7</KEYWORD3>\r
+\r
+                       <KEYWORD3>SP</KEYWORD3>\r
+                       <KEYWORD3>CCR</KEYWORD3>\r
+\r
+                       <!-- ************************** DIRECTIVES ********************************** -->\r
+\r
+                       <!-- Assembler directives give instructions to the assembler (not the 68000 chip which will execute\r
+                       your program) on how to assemble your program.\r
+                       These directives may be grouped into the following categories.-->\r
+\r
+                       <!-- Miscellaneous  -->\r
+                       <KEYWORD1>OPT</KEYWORD1>\r
+                       <KEYWORD1>INCLUDE</KEYWORD1>\r
+                       <KEYWORD1>FAIL</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>REG</KEYWORD1>\r
+\r
+                       <!-- Listing Control -->\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>LIST</KEYWORD1>\r
+                       <KEYWORD1>NOLIST</KEYWORD1>\r
+                       <KEYWORD1>SPC</KEYWORD1>\r
+                       <KEYWORD1>TTL</KEYWORD1>\r
+\r
+                       <!-- Section Control -->\r
+                       <KEYWORD1>ORG</KEYWORD1>\r
+\r
+                       <!-- Symbol Definition  -->\r
+                       <KEYWORD1>EQU</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+\r
+                       <!-- Data Definition -->\r
+                       <KEYWORD1>DS</KEYWORD1>\r
+                       <KEYWORD1>DC</KEYWORD1>\r
+\r
+                       <!-- Structured Programming Constructs -->\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>ENDF</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>ENDI</KEYWORD1>\r
+                       <KEYWORD1>REPEAT</KEYWORD1>\r
+                       <KEYWORD1>UNTIL</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>DO</KEYWORD1>\r
+                       <KEYWORD1>ENDW</KEYWORD1>\r
+\r
+                       <KEYWORD1>MACRO</KEYWORD1>\r
+\r
+\r
+                       <!-- *************************** INSTRUCTIONS **************************************** -->\r
+                       <FUNCTION>ABCD</FUNCTION>\r
+                       <FUNCTION>ADD</FUNCTION>\r
+                               <FUNCTION>ADD.B</FUNCTION>\r
+                               <FUNCTION>ADD.W</FUNCTION>\r
+                               <FUNCTION>ADD.L</FUNCTION>\r
+                       <FUNCTION>ADDA</FUNCTION>\r
+                               <FUNCTION>ADDA.W</FUNCTION>\r
+                               <FUNCTION>ADDA.L</FUNCTION>\r
+                       <FUNCTION>ADDI</FUNCTION>\r
+                               <FUNCTION>ADDI.B</FUNCTION>\r
+                               <FUNCTION>ADDI.W</FUNCTION>\r
+                               <FUNCTION>ADDI.L</FUNCTION>\r
+                       <FUNCTION>ADDQ</FUNCTION>\r
+                               <FUNCTION>ADDQ.B</FUNCTION>\r
+                               <FUNCTION>ADDQ.W</FUNCTION>\r
+                               <FUNCTION>ADDQ.L</FUNCTION>\r
+                       <FUNCTION>ADDX</FUNCTION>\r
+                               <FUNCTION>ADDX.B</FUNCTION>\r
+                               <FUNCTION>ADDX.W</FUNCTION>\r
+                               <FUNCTION>ADDX.L</FUNCTION>\r
+                       <FUNCTION>AND</FUNCTION>\r
+                               <FUNCTION>AND.B</FUNCTION>\r
+                               <FUNCTION>AND.W</FUNCTION>\r
+                               <FUNCTION>AND.L</FUNCTION>\r
+                       <FUNCTION>ANDI</FUNCTION>\r
+                               <FUNCTION>ANDI.B</FUNCTION>\r
+                               <FUNCTION>ANDI.W</FUNCTION>\r
+                               <FUNCTION>ANDI.L</FUNCTION>\r
+                       <FUNCTION>ASL</FUNCTION>\r
+                               <FUNCTION>ASL.B</FUNCTION>\r
+                               <FUNCTION>ASL.W</FUNCTION>\r
+                               <FUNCTION>ASL.L</FUNCTION>\r
+                       <FUNCTION>ASR</FUNCTION>\r
+                               <FUNCTION>ASR.B</FUNCTION>\r
+                               <FUNCTION>ASR.W</FUNCTION>\r
+                               <FUNCTION>ASR.L</FUNCTION>\r
+                       <!-- Bcc -->\r
+                               <FUNCTION>BCC</FUNCTION>\r
+                               <FUNCTION>BCS</FUNCTION>\r
+                               <FUNCTION>BEQ</FUNCTION>\r
+                               <FUNCTION>BGE</FUNCTION>\r
+                               <FUNCTION>BGT</FUNCTION>\r
+                               <FUNCTION>BHI</FUNCTION>\r
+                               <FUNCTION>BLE</FUNCTION>\r
+                               <FUNCTION>BLS</FUNCTION>\r
+                               <FUNCTION>BLT</FUNCTION>\r
+                               <FUNCTION>BMI</FUNCTION>\r
+                               <FUNCTION>BNE</FUNCTION>\r
+                               <FUNCTION>BPL</FUNCTION>\r
+                               <FUNCTION>BVC</FUNCTION>\r
+                               <FUNCTION>BVS</FUNCTION>\r
+                       <FUNCTION>BCHG</FUNCTION>\r
+                       <FUNCTION>BCLR</FUNCTION>\r
+                       <FUNCTION>BFCHG</FUNCTION>\r
+                       <FUNCTION>BFCLR</FUNCTION>\r
+                       <FUNCTION>BFEXTS</FUNCTION>\r
+                       <FUNCTION>BFEXTU</FUNCTION>\r
+                       <FUNCTION>BFFF0</FUNCTION>\r
+                       <FUNCTION>BFINS</FUNCTION>\r
+                       <FUNCTION>BFSET</FUNCTION>\r
+                       <FUNCTION>BFTST</FUNCTION>\r
+                       <FUNCTION>BGND</FUNCTION>\r
+                       <FUNCTION>BKPT</FUNCTION>\r
+                       <FUNCTION>BRA</FUNCTION>\r
+                       <FUNCTION>BSET</FUNCTION>\r
+                       <FUNCTION>BSR</FUNCTION>\r
+                       <FUNCTION>BTST</FUNCTION>\r
+                       <FUNCTION>CALLM</FUNCTION>\r
+                       <FUNCTION>CAS</FUNCTION>\r
+                       <FUNCTION>CAS2</FUNCTION>\r
+                       <FUNCTION>CHK</FUNCTION>\r
+                       <FUNCTION>CHK2</FUNCTION>\r
+                       <FUNCTION>CINV</FUNCTION>\r
+                       <FUNCTION>CLR</FUNCTION>\r
+                               <FUNCTION>CLR.B</FUNCTION>\r
+                               <FUNCTION>CLR.W</FUNCTION>\r
+                               <FUNCTION>CLR.L</FUNCTION>\r
+                       <FUNCTION>CMP</FUNCTION>\r
+                               <FUNCTION>CMP.B</FUNCTION>\r
+                               <FUNCTION>CMP.W</FUNCTION>\r
+                               <FUNCTION>CMP.L</FUNCTION>\r
+                       <FUNCTION>CMPA</FUNCTION>\r
+                               <FUNCTION>CMPA.W</FUNCTION>\r
+                               <FUNCTION>CMPA.L</FUNCTION>\r
+                       <FUNCTION>CMPI</FUNCTION>\r
+                               <FUNCTION>CMPI.B</FUNCTION>\r
+                               <FUNCTION>CMPI.W</FUNCTION>\r
+                               <FUNCTION>CMPI.L</FUNCTION>\r
+                       <FUNCTION>CMPM</FUNCTION>\r
+                               <FUNCTION>CMPM.B</FUNCTION>\r
+                               <FUNCTION>CMPM.W</FUNCTION>\r
+                               <FUNCTION>CMPM.L</FUNCTION>\r
+                       <FUNCTION>CMP2</FUNCTION>\r
+                               <FUNCTION>CMP2.B</FUNCTION>\r
+                               <FUNCTION>CMP2.W</FUNCTION>\r
+                               <FUNCTION>CMP2.L</FUNCTION>\r
+                       <!-- FUNCTION>cpBcc</FUNCTION>\r
+                       <FUNCTION>cpDBcc</FUNCTION>\r
+                       <FUNCTION>cpGEN</FUNCTION>\r
+                       <FUNCTION>cpRESTORE</FUNCTION>\r
+                       <FUNCTION>cpSAVE</FUNCTION>\r
+                       <FUNCTION>cpScc</FUNCTION>\r
+                       <FUNCTION>cpTRAPcc</FUNCTION -->\r
+                       <FUNCTION>CPUSH</FUNCTION>\r
+                       <!-- DBcc -->\r
+                               <FUNCTION>DBCC</FUNCTION>\r
+                               <FUNCTION>DBCS</FUNCTION>\r
+                               <FUNCTION>DBEQ</FUNCTION>\r
+                               <FUNCTION>DBGE</FUNCTION>\r
+                               <FUNCTION>DBGT</FUNCTION>\r
+                               <FUNCTION>DBHI</FUNCTION>\r
+                               <FUNCTION>DBLE</FUNCTION>\r
+                               <FUNCTION>DBLS</FUNCTION>\r
+                               <FUNCTION>DBLT</FUNCTION>\r
+                               <FUNCTION>DBMI</FUNCTION>\r
+                               <FUNCTION>DBNE</FUNCTION>\r
+                               <FUNCTION>DBPL</FUNCTION>\r
+                               <FUNCTION>DBVC</FUNCTION>\r
+                               <FUNCTION>DBVS</FUNCTION>\r
+\r
+                       <FUNCTION>DIVS</FUNCTION>\r
+                       <FUNCTION>DIVSL</FUNCTION>\r
+                       <FUNCTION>DIVU</FUNCTION>\r
+                       <FUNCTION>DIVUL</FUNCTION>\r
+                       <FUNCTION>EOR</FUNCTION>\r
+                               <FUNCTION>EOR.B</FUNCTION>\r
+                               <FUNCTION>EOR.W</FUNCTION>\r
+                               <FUNCTION>EOR.L</FUNCTION>\r
+                       <FUNCTION>EORI</FUNCTION>\r
+                               <FUNCTION>EORI.B</FUNCTION>\r
+                               <FUNCTION>EORI.W</FUNCTION>\r
+                               <FUNCTION>EORI.L</FUNCTION>\r
+                       <FUNCTION>EXG</FUNCTION>\r
+                       <FUNCTION>EXT</FUNCTION>\r
+                       <FUNCTION>EXTB</FUNCTION>\r
+                       <FUNCTION>FABS</FUNCTION>\r
+                       <FUNCTION>FSABS</FUNCTION>\r
+                       <FUNCTION>FDABS</FUNCTION>\r
+                       <FUNCTION>FACOS</FUNCTION>\r
+                       <FUNCTION>FADD</FUNCTION>\r
+                       <FUNCTION>FSADD</FUNCTION>\r
+                       <FUNCTION>FDADD</FUNCTION>\r
+                       <FUNCTION>FASIN</FUNCTION>\r
+                       <FUNCTION>FATAN</FUNCTION>\r
+                       <FUNCTION>FATANH</FUNCTION>\r
+                       <!--FUNCTION>FBcc</FUNCTION-->\r
+                       <FUNCTION>FCMP</FUNCTION>\r
+                       <FUNCTION>FCOS</FUNCTION>\r
+                       <FUNCTION>FCOSH</FUNCTION>\r
+                       <!--FUNCTION>FDBcc</FUNCTION-->\r
+                       <FUNCTION>FDIV</FUNCTION>\r
+                       <FUNCTION>FSDIV</FUNCTION>\r
+                       <FUNCTION>FDDIV</FUNCTION>\r
+                       <FUNCTION>FETOX</FUNCTION>\r
+                       <FUNCTION>FETOXM1</FUNCTION>\r
+                       <FUNCTION>FGETEXP</FUNCTION>\r
+                       <FUNCTION>FGETMAN</FUNCTION>\r
+                       <FUNCTION>FINT</FUNCTION>\r
+                       <FUNCTION>FINTRZ</FUNCTION>\r
+                       <FUNCTION>FLOG10</FUNCTION>\r
+                       <FUNCTION>FLOG2</FUNCTION>\r
+                       <FUNCTION>FLOGN</FUNCTION>\r
+                       <FUNCTION>FLOGNP1</FUNCTION>\r
+                       <FUNCTION>FMOD</FUNCTION>\r
+                       <FUNCTION>FMOVE</FUNCTION>\r
+                       <FUNCTION>FSMOVE</FUNCTION>\r
+                       <FUNCTION>FDMOVE</FUNCTION>\r
+                       <FUNCTION>FMOVECR</FUNCTION>\r
+                       <FUNCTION>FMOVEM</FUNCTION>\r
+                       <FUNCTION>FMUL</FUNCTION>\r
+                       <FUNCTION>FSMUL</FUNCTION>\r
+                       <FUNCTION>FDMUL</FUNCTION>\r
+                       <FUNCTION>FNEG</FUNCTION>\r
+                       <FUNCTION>FSNEG</FUNCTION>\r
+                       <FUNCTION>FDNEG</FUNCTION>\r
+                       <FUNCTION>FNOP</FUNCTION>\r
+                       <FUNCTION>FREM</FUNCTION>\r
+                       <FUNCTION>FRESTORE</FUNCTION>\r
+                       <FUNCTION>FSAVE</FUNCTION>\r
+                       <FUNCTION>FSCALE</FUNCTION>\r
+                       <!--FUNCTION>FScc</FUNCTION-->\r
+                       <FUNCTION>FSGLMUL</FUNCTION>\r
+                       <FUNCTION>FSIN</FUNCTION>\r
+                       <FUNCTION>FSINCOS</FUNCTION>\r
+                       <FUNCTION>FSINH</FUNCTION>\r
+                       <FUNCTION>FSQRT</FUNCTION>\r
+                       <FUNCTION>FSSQRT</FUNCTION>\r
+                       <FUNCTION>FDSQRT</FUNCTION>\r
+                       <FUNCTION>FSUB</FUNCTION>\r
+                       <FUNCTION>FSSUB</FUNCTION>\r
+                       <FUNCTION>FDSUB</FUNCTION>\r
+                       <FUNCTION>FTAN</FUNCTION>\r
+                       <FUNCTION>FTANH</FUNCTION>\r
+                       <FUNCTION>FTENTOX</FUNCTION>\r
+                       <!--FUNCTION>FTRAPcc</FUNCTION-->\r
+                       <FUNCTION>FTST</FUNCTION>\r
+                       <FUNCTION>FTWOTOX</FUNCTION>\r
+                       <FUNCTION>ILLEGAL</FUNCTION>\r
+                       <FUNCTION>JMP</FUNCTION>\r
+                       <FUNCTION>JSR</FUNCTION>\r
+                       <FUNCTION>LEA</FUNCTION>\r
+                       <FUNCTION>LINK</FUNCTION>\r
+                       <FUNCTION>LPSTOP</FUNCTION>\r
+                       <FUNCTION>LSL</FUNCTION>\r
+                               <FUNCTION>LSL.B</FUNCTION>\r
+                               <FUNCTION>LSL.W</FUNCTION>\r
+                               <FUNCTION>LSL.L</FUNCTION>\r
+                       <FUNCTION>LSR</FUNCTION>\r
+                               <FUNCTION>LSR.B</FUNCTION>\r
+                               <FUNCTION>LSR.W</FUNCTION>\r
+                               <FUNCTION>LSR.L</FUNCTION>\r
+                       <FUNCTION>MOVE</FUNCTION>\r
+                               <FUNCTION>MOVE.B</FUNCTION>\r
+                               <FUNCTION>MOVE.W</FUNCTION>\r
+                               <FUNCTION>MOVE.L</FUNCTION>\r
+                       <FUNCTION>MOVEA</FUNCTION>\r
+                               <FUNCTION>MOVEA.W</FUNCTION>\r
+                               <FUNCTION>MOVEA.L</FUNCTION>\r
+                       <FUNCTION>MOVE16</FUNCTION>\r
+                       <FUNCTION>MOVEC</FUNCTION>\r
+                       <FUNCTION>MOVEM</FUNCTION>\r
+                       <FUNCTION>MOVEP</FUNCTION>\r
+                       <FUNCTION>MOVEQ</FUNCTION>\r
+                       <FUNCTION>MOVES</FUNCTION>\r
+                       <FUNCTION>MULS</FUNCTION>\r
+                       <FUNCTION>MULU</FUNCTION>\r
+                       <FUNCTION>NBCD</FUNCTION>\r
+                       <FUNCTION>NEG</FUNCTION>\r
+                               <FUNCTION>NEG.B</FUNCTION>\r
+                               <FUNCTION>NEG.W</FUNCTION>\r
+                               <FUNCTION>NEG.L</FUNCTION>\r
+                       <FUNCTION>NEGX</FUNCTION>\r
+                               <FUNCTION>NEGX.B</FUNCTION>\r
+                               <FUNCTION>NEGX.W</FUNCTION>\r
+                               <FUNCTION>NEGX.L</FUNCTION>\r
+                       <FUNCTION>NOP</FUNCTION>\r
+                       <FUNCTION>NOT</FUNCTION>\r
+                               <FUNCTION>NOT.B</FUNCTION>\r
+                               <FUNCTION>NOT.W</FUNCTION>\r
+                               <FUNCTION>NOT.L</FUNCTION>\r
+                       <FUNCTION>OR</FUNCTION>\r
+                               <FUNCTION>OR.B</FUNCTION>\r
+                               <FUNCTION>OR.W</FUNCTION>\r
+                               <FUNCTION>OR.L</FUNCTION>\r
+                       <FUNCTION>ORI</FUNCTION>\r
+                               <FUNCTION>ORI.B</FUNCTION>\r
+                               <FUNCTION>ORI.W</FUNCTION>\r
+                               <FUNCTION>ORI.L</FUNCTION>\r
+                       <FUNCTION>PACK</FUNCTION>\r
+                       <!--FUNCTION>PBcc</FUNCTION-->\r
+                       <!--FUNCTION>PDBcc</FUNCTION-->\r
+                       <FUNCTION>PEA</FUNCTION>\r
+                       <FUNCTION>PFLUSH</FUNCTION>\r
+                       <FUNCTION>PFLUSHA</FUNCTION>\r
+                       <FUNCTION>PFLUSHR</FUNCTION>\r
+                       <FUNCTION>PFLUSHS</FUNCTION>\r
+                       <FUNCTION>PLOAD</FUNCTION>\r
+                       <FUNCTION>PMOVE</FUNCTION>\r
+                       <FUNCTION>PRESTORE</FUNCTION>\r
+                       <FUNCTION>PSAVE</FUNCTION>\r
+                       <!--FUNCTION>PScc</FUNCTION-->\r
+                       <FUNCTION>PTEST</FUNCTION>\r
+                       <!--FUNCTION>PTRAPcc</FUNCTION-->\r
+                       <FUNCTION>PVALID</FUNCTION>\r
+                       <FUNCTION>RESET</FUNCTION>\r
+                       <FUNCTION>ROL</FUNCTION>\r
+                               <FUNCTION>ROL.B</FUNCTION>\r
+                               <FUNCTION>ROL.W</FUNCTION>\r
+                               <FUNCTION>ROL.L</FUNCTION>\r
+                       <FUNCTION>ROR</FUNCTION>\r
+                               <FUNCTION>ROR.B</FUNCTION>\r
+                               <FUNCTION>ROR.W</FUNCTION>\r
+                               <FUNCTION>ROR.L</FUNCTION>\r
+                       <FUNCTION>ROXL</FUNCTION>\r
+                               <FUNCTION>ROXL.B</FUNCTION>\r
+                               <FUNCTION>ROXL.W</FUNCTION>\r
+                               <FUNCTION>ROXL.L</FUNCTION>\r
+                       <FUNCTION>ROXR</FUNCTION>\r
+                               <FUNCTION>ROXR.B</FUNCTION>\r
+                               <FUNCTION>ROXR.W</FUNCTION>\r
+                               <FUNCTION>ROXR.L</FUNCTION>\r
+                       <FUNCTION>RTD</FUNCTION>\r
+                       <FUNCTION>RTE</FUNCTION>\r
+                       <FUNCTION>RTM</FUNCTION>\r
+                       <FUNCTION>RTR</FUNCTION>\r
+                       <FUNCTION>RTS</FUNCTION>\r
+                       <FUNCTION>SBCD</FUNCTION>\r
+                       <!--Scc-->\r
+                               <FUNCTION>SCC</FUNCTION>\r
+                               <FUNCTION>SCS</FUNCTION>\r
+                               <FUNCTION>SEQ</FUNCTION>\r
+                               <FUNCTION>SF</FUNCTION>\r
+                               <FUNCTION>SGE</FUNCTION>\r
+                               <FUNCTION>SGT</FUNCTION>\r
+                               <FUNCTION>SHI</FUNCTION>\r
+                               <FUNCTION>SLE</FUNCTION>\r
+                               <FUNCTION>SLS</FUNCTION>\r
+                               <FUNCTION>SLT</FUNCTION>\r
+                               <FUNCTION>SMI</FUNCTION>\r
+                               <FUNCTION>SNE</FUNCTION>\r
+                               <FUNCTION>SPL</FUNCTION>\r
+                               <FUNCTION>ST</FUNCTION>\r
+                               <FUNCTION>SVC</FUNCTION>\r
+                               <FUNCTION>SVS</FUNCTION>\r
+\r
+                       <FUNCTION>STOP</FUNCTION>\r
+                       <FUNCTION>SUB</FUNCTION>\r
+                               <FUNCTION>SUB.B</FUNCTION>\r
+                               <FUNCTION>SUB.W</FUNCTION>\r
+                               <FUNCTION>SUB.L</FUNCTION>\r
+                       <FUNCTION>SUBA</FUNCTION>\r
+                       <FUNCTION>SUBI</FUNCTION>\r
+                               <FUNCTION>SUBI.B</FUNCTION>\r
+                               <FUNCTION>SUBI.W</FUNCTION>\r
+                               <FUNCTION>SUBI.L</FUNCTION>\r
+                       <FUNCTION>SUBQ</FUNCTION>\r
+                               <FUNCTION>SUBQ.B</FUNCTION>\r
+                               <FUNCTION>SUBQ.W</FUNCTION>\r
+                               <FUNCTION>SUBQ.L</FUNCTION>\r
+                       <FUNCTION>SUBX</FUNCTION>\r
+                               <FUNCTION>SUBX.B</FUNCTION>\r
+                               <FUNCTION>SUBX.W</FUNCTION>\r
+                               <FUNCTION>SUBX.L</FUNCTION>\r
+                       <FUNCTION>SWAP</FUNCTION>\r
+                       <FUNCTION>TAS</FUNCTION>\r
+                       <FUNCTION>TBLS</FUNCTION>\r
+                       <FUNCTION>TBLSN</FUNCTION>\r
+                       <FUNCTION>TBLU</FUNCTION>\r
+                       <FUNCTION>TBLUN</FUNCTION>\r
+                       <FUNCTION>TRAP</FUNCTION>\r
+                       <!--TRAPcc-->\r
+                               <FUNCTION>TRAPCC</FUNCTION>\r
+                               <FUNCTION>TRAPCS</FUNCTION>\r
+                               <FUNCTION>TRAPEQ</FUNCTION>\r
+                               <FUNCTION>TRAPF</FUNCTION>\r
+                               <FUNCTION>TRAPGE</FUNCTION>\r
+                               <FUNCTION>TRAPGT</FUNCTION>\r
+                               <FUNCTION>TRAPHI</FUNCTION>\r
+                               <FUNCTION>TRAPLE</FUNCTION>\r
+                               <FUNCTION>TRAPLS</FUNCTION>\r
+                               <FUNCTION>TRAPLT</FUNCTION>\r
+                               <FUNCTION>TRAPMI</FUNCTION>\r
+                               <FUNCTION>TRAPNE</FUNCTION>\r
+                               <FUNCTION>TRAPPL</FUNCTION>\r
+                               <FUNCTION>TRAPT</FUNCTION>\r
+                               <FUNCTION>TRAPVC</FUNCTION>\r
+                               <FUNCTION>TRAPVS</FUNCTION>\r
+\r
+                       <FUNCTION>TRAPV</FUNCTION>\r
+                       <FUNCTION>TST</FUNCTION>\r
+                               <FUNCTION>TST.B</FUNCTION>\r
+                               <FUNCTION>TST.W</FUNCTION>\r
+                               <FUNCTION>TST.L</FUNCTION>\r
+                       <FUNCTION>UNLK</FUNCTION>\r
+                       <FUNCTION>UNPK</FUNCTION>\r
+\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-macro32.xml b/basis/xmode/modes/assembly-macro32.xml
new file mode 100644 (file)
index 0000000..763d17e
--- /dev/null
@@ -0,0 +1,577 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+  VAX Macro32 Assembly mode by Mark Wickens (m.wickens@rhodium-consulting.com)\r
+       based on\r
+       x86 Assembly mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- NASM: label inside a macro -->\r
+               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">%</MARK_FOLLOWING>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <!-- Unary Operators -->\r
+               <SEQ TYPE="OPERATOR">B^</SEQ>\r
+               <SEQ TYPE="OPERATOR">D^</SEQ>\r
+               <SEQ TYPE="OPERATOR">O^</SEQ>\r
+               <SEQ TYPE="OPERATOR">X^</SEQ>\r
+               <SEQ TYPE="OPERATOR">A^</SEQ>\r
+               <SEQ TYPE="OPERATOR">M^</SEQ>\r
+               <SEQ TYPE="OPERATOR">F^</SEQ>\r
+               <SEQ TYPE="OPERATOR">C^</SEQ>\r
+               <SEQ TYPE="OPERATOR">L^</SEQ>\r
+               <SEQ TYPE="OPERATOR">G^</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+\r
+               <!-- Binary Operators -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">#</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Directives -->\r
+                       <KEYWORD1>.ADDRESS</KEYWORD1>\r
+                       <KEYWORD1>.ALIGN</KEYWORD1>\r
+                       <KEYWORD1>.ALIGN</KEYWORD1>\r
+                       <KEYWORD1>.ASCIC</KEYWORD1>\r
+                       <KEYWORD1>.ASCID</KEYWORD1>\r
+                       <KEYWORD1>.ASCII</KEYWORD1>\r
+                       <KEYWORD1>.ASCIZ</KEYWORD1>\r
+                       <KEYWORD1>.BLKA</KEYWORD1>\r
+                       <KEYWORD1>.BLKB</KEYWORD1>\r
+                       <KEYWORD1>.BLKD</KEYWORD1>\r
+                       <KEYWORD1>.BLKF</KEYWORD1>\r
+                       <KEYWORD1>.BLKG</KEYWORD1>\r
+                       <KEYWORD1>.BLKH</KEYWORD1>\r
+                       <KEYWORD1>.BLKL</KEYWORD1>\r
+                       <KEYWORD1>.BLKO</KEYWORD1>\r
+                       <KEYWORD1>.BLKQ</KEYWORD1>\r
+                       <KEYWORD1>.BLKW</KEYWORD1>\r
+                       <KEYWORD1>.BYTE</KEYWORD1>\r
+                       <KEYWORD1>.CROSS</KEYWORD1>\r
+                       <KEYWORD1>.CROSS</KEYWORD1>\r
+                       <KEYWORD1>.DEBUG</KEYWORD1>\r
+                       <KEYWORD1>.DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>.D_FLOATING</KEYWORD1>\r
+                       <KEYWORD1>.DISABLE</KEYWORD1>\r
+                       <KEYWORD1>.DOUBLE</KEYWORD1>\r
+                       <KEYWORD1>.DSABL</KEYWORD1>\r
+                       <KEYWORD1>.ENABL</KEYWORD1>\r
+                       <KEYWORD1>.ENABLE</KEYWORD1>\r
+                       <KEYWORD1>.END</KEYWORD1>\r
+                       <KEYWORD1>.ENDC</KEYWORD1>\r
+                       <KEYWORD1>.ENDM</KEYWORD1>\r
+                       <KEYWORD1>.ENDR</KEYWORD1>\r
+                       <KEYWORD1>.ENTRY</KEYWORD1>\r
+                       <KEYWORD1>.ERROR</KEYWORD1>\r
+                       <KEYWORD1>.EVEN</KEYWORD1>\r
+                       <KEYWORD1>.EXTERNAL</KEYWORD1>\r
+                       <KEYWORD1>.EXTRN</KEYWORD1>\r
+                       <KEYWORD1>.F_FLOATING</KEYWORD1>\r
+                       <KEYWORD1>.FLOAT</KEYWORD1>\r
+                       <KEYWORD1>.G_FLOATING</KEYWORD1>\r
+                       <KEYWORD1>.GLOBAL</KEYWORD1>\r
+                       <KEYWORD1>.GLOBL</KEYWORD1>\r
+                       <KEYWORD1>.H_FLOATING</KEYWORD1>\r
+                       <KEYWORD1>.IDENT</KEYWORD1>\r
+                       <KEYWORD1>.IF</KEYWORD1>\r
+                       <KEYWORD1>.IFF</KEYWORD1>\r
+                       <KEYWORD1>.IF_FALSE</KEYWORD1>\r
+                       <KEYWORD1>.IFT</KEYWORD1>\r
+                       <KEYWORD1>.IFTF</KEYWORD1>\r
+                       <KEYWORD1>.IF_TRUE</KEYWORD1>\r
+                       <KEYWORD1>.IF_TRUE_FALSE</KEYWORD1>\r
+                       <KEYWORD1>.IIF</KEYWORD1>\r
+                       <KEYWORD1>.IRP</KEYWORD1>\r
+                       <KEYWORD1>.IRPC</KEYWORD1>\r
+                       <KEYWORD1>.LIBRARY</KEYWORD1>\r
+                       <KEYWORD1>.LINK</KEYWORD1>\r
+                       <KEYWORD1>.LIST</KEYWORD1>\r
+                       <KEYWORD1>.LONG</KEYWORD1>\r
+                       <KEYWORD1>.MACRO</KEYWORD1>\r
+                       <KEYWORD1>.MASK</KEYWORD1>\r
+                       <KEYWORD1>.MCALL</KEYWORD1>\r
+                       <KEYWORD1>.MDELETE</KEYWORD1>\r
+                       <KEYWORD1>.MEXIT</KEYWORD1>\r
+                       <KEYWORD1>.NARG</KEYWORD1>\r
+                       <KEYWORD1>.NCHR</KEYWORD1>\r
+                       <KEYWORD1>.NLIST</KEYWORD1>\r
+                       <KEYWORD1>.NOCROSS</KEYWORD1>\r
+                       <KEYWORD1>.NOCROSS</KEYWORD1>\r
+                       <KEYWORD1>.NOSHOW</KEYWORD1>\r
+                       <KEYWORD1>.NOSHOW</KEYWORD1>\r
+                       <KEYWORD1>.NTYPE</KEYWORD1>\r
+                       <KEYWORD1>.OCTA</KEYWORD1>\r
+                       <KEYWORD1>.OCTA</KEYWORD1>\r
+                       <KEYWORD1>.ODD</KEYWORD1>\r
+                       <KEYWORD1>.OPDEF</KEYWORD1>\r
+                       <KEYWORD1>.PACKED</KEYWORD1>\r
+                       <KEYWORD1>.PAGE</KEYWORD1>\r
+                       <KEYWORD1>.PRINT</KEYWORD1>\r
+                       <KEYWORD1>.PSECT</KEYWORD1>\r
+                       <KEYWORD1>.PSECT</KEYWORD1>\r
+                       <KEYWORD1>.QUAD</KEYWORD1>\r
+                       <KEYWORD1>.QUAD</KEYWORD1>\r
+                       <KEYWORD1>.REF1</KEYWORD1>\r
+                       <KEYWORD1>.REF2</KEYWORD1>\r
+                       <KEYWORD1>.REF4</KEYWORD1>\r
+                       <KEYWORD1>.REF8</KEYWORD1>\r
+                       <KEYWORD1>.REF16</KEYWORD1>\r
+                       <KEYWORD1>.REPEAT</KEYWORD1>\r
+                       <KEYWORD1>.REPT</KEYWORD1>\r
+                       <KEYWORD1>.RESTORE</KEYWORD1>\r
+                       <KEYWORD1>.RESTORE_PSECT</KEYWORD1>\r
+                       <KEYWORD1>.SAVE</KEYWORD1>\r
+                       <KEYWORD1>.SAVE_PSECT</KEYWORD1>\r
+                       <KEYWORD1>.SBTTL</KEYWORD1>\r
+                       <KEYWORD1>.SHOW</KEYWORD1>\r
+                       <KEYWORD1>.SHOW</KEYWORD1>\r
+                       <KEYWORD1>.SIGNED_BYTE</KEYWORD1>\r
+                       <KEYWORD1>.SIGNED_WORD</KEYWORD1>\r
+                       <KEYWORD1>.SUBTITLE</KEYWORD1>\r
+                       <KEYWORD1>.TITLE</KEYWORD1>\r
+                       <KEYWORD1>.TRANSFER</KEYWORD1>\r
+                       <KEYWORD1>.WARN</KEYWORD1>\r
+                       <KEYWORD1>.WEAK</KEYWORD1>\r
+                       <KEYWORD1>.WORD</KEYWORD1>\r
+\r
+                       <!-- Registers -->\r
+                       <KEYWORD3>R0</KEYWORD3>\r
+                       <KEYWORD3>R1</KEYWORD3>\r
+                       <KEYWORD3>R2</KEYWORD3>\r
+                       <KEYWORD3>R3</KEYWORD3>\r
+                       <KEYWORD3>R4</KEYWORD3>\r
+                       <KEYWORD3>R5</KEYWORD3>\r
+                       <KEYWORD3>R6</KEYWORD3>\r
+                       <KEYWORD3>R7</KEYWORD3>\r
+                       <KEYWORD3>R8</KEYWORD3>\r
+                       <KEYWORD3>R9</KEYWORD3>\r
+                       <KEYWORD3>R10</KEYWORD3>\r
+                       <KEYWORD3>R11</KEYWORD3>\r
+                       <KEYWORD3>R12</KEYWORD3>\r
+                       <KEYWORD3>AP</KEYWORD3>\r
+                       <KEYWORD3>FP</KEYWORD3>\r
+                       <KEYWORD3>SP</KEYWORD3>\r
+                       <KEYWORD3>PC</KEYWORD3>\r
+\r
+                       <!-- Instructions -->\r
+                       <FUNCTION>ACBB</FUNCTION>\r
+                       <FUNCTION>ACBD</FUNCTION>\r
+                       <FUNCTION>ACBF</FUNCTION>\r
+                       <FUNCTION>ACBG</FUNCTION>\r
+                       <FUNCTION>ACBH</FUNCTION>\r
+                       <FUNCTION>ACBL</FUNCTION>\r
+                       <FUNCTION>ACBW</FUNCTION>\r
+                       <FUNCTION>ADAWI</FUNCTION>\r
+                       <FUNCTION>ADDB2</FUNCTION>\r
+                       <FUNCTION>ADDB3</FUNCTION>\r
+                       <FUNCTION>ADDD2</FUNCTION>\r
+                       <FUNCTION>ADDD3</FUNCTION>\r
+                       <FUNCTION>ADDF2</FUNCTION>\r
+                       <FUNCTION>ADDF3</FUNCTION>\r
+                       <FUNCTION>ADDG2</FUNCTION>\r
+                       <FUNCTION>ADDG3</FUNCTION>\r
+                       <FUNCTION>ADDH2</FUNCTION>\r
+                       <FUNCTION>ADDH3</FUNCTION>\r
+                       <FUNCTION>ADDL2</FUNCTION>\r
+                       <FUNCTION>ADDL3</FUNCTION>\r
+                       <FUNCTION>ADDP4</FUNCTION>\r
+                       <FUNCTION>ADDP6</FUNCTION>\r
+                       <FUNCTION>ADDW2</FUNCTION>\r
+                       <FUNCTION>ADDW3</FUNCTION>\r
+                       <FUNCTION>ADWC</FUNCTION>\r
+                       <FUNCTION>AOBLEQ</FUNCTION>\r
+                       <FUNCTION>AOBLSS</FUNCTION>\r
+                       <FUNCTION>ASHL</FUNCTION>\r
+                       <FUNCTION>ASHP</FUNCTION>\r
+                       <FUNCTION>ASHQ</FUNCTION>\r
+                       <FUNCTION>BBC</FUNCTION>\r
+                       <FUNCTION>BBCC</FUNCTION>\r
+                       <FUNCTION>BBCCI</FUNCTION>\r
+                       <FUNCTION>BBCS</FUNCTION>\r
+                       <FUNCTION>BBS</FUNCTION>\r
+                       <FUNCTION>BBSC</FUNCTION>\r
+                       <FUNCTION>BBSS</FUNCTION>\r
+                       <FUNCTION>BBSSI</FUNCTION>\r
+                       <FUNCTION>BCC</FUNCTION>\r
+                       <FUNCTION>BCS</FUNCTION>\r
+                       <FUNCTION>BEQL</FUNCTION>\r
+                       <FUNCTION>BEQLU</FUNCTION>\r
+                       <FUNCTION>BGEQ</FUNCTION>\r
+                       <FUNCTION>BGEQU</FUNCTION>\r
+                       <FUNCTION>BGTR</FUNCTION>\r
+                       <FUNCTION>BGTRU</FUNCTION>\r
+                       <FUNCTION>BICB2</FUNCTION>\r
+                       <FUNCTION>BICB3</FUNCTION>\r
+                       <FUNCTION>BICL2</FUNCTION>\r
+                       <FUNCTION>BICL3</FUNCTION>\r
+                       <FUNCTION>BICPSW</FUNCTION>\r
+                       <FUNCTION>BICW2</FUNCTION>\r
+                       <FUNCTION>BICW3</FUNCTION>\r
+                       <FUNCTION>BISB2</FUNCTION>\r
+                       <FUNCTION>BISB3</FUNCTION>\r
+                       <FUNCTION>BISL2</FUNCTION>\r
+                       <FUNCTION>BISL3</FUNCTION>\r
+                       <FUNCTION>BISPSW</FUNCTION>\r
+                       <FUNCTION>BISW2</FUNCTION>\r
+                       <FUNCTION>BISW3</FUNCTION>\r
+                       <FUNCTION>BITB</FUNCTION>\r
+                       <FUNCTION>BITL</FUNCTION>\r
+                       <FUNCTION>BITW</FUNCTION>\r
+                       <FUNCTION>BLBC</FUNCTION>\r
+                       <FUNCTION>BLBS</FUNCTION>\r
+                       <FUNCTION>BLEQ</FUNCTION>\r
+                       <FUNCTION>BLEQU</FUNCTION>\r
+                       <FUNCTION>BLSS</FUNCTION>\r
+                       <FUNCTION>BLSSU</FUNCTION>\r
+                       <FUNCTION>BNEQ</FUNCTION>\r
+                       <FUNCTION>BNEQU</FUNCTION>\r
+                       <FUNCTION>BPT</FUNCTION>\r
+                       <FUNCTION>BRB</FUNCTION>\r
+                       <FUNCTION>BRW</FUNCTION>\r
+                       <FUNCTION>BSBB</FUNCTION>\r
+                       <FUNCTION>BSBW</FUNCTION>\r
+                       <FUNCTION>BVC</FUNCTION>\r
+                       <FUNCTION>BVS</FUNCTION>\r
+                       <FUNCTION>CALLG</FUNCTION>\r
+                       <FUNCTION>CALLS</FUNCTION>\r
+                       <FUNCTION>CASEB</FUNCTION>\r
+                       <FUNCTION>CASEL</FUNCTION>\r
+                       <FUNCTION>CASEW</FUNCTION>\r
+                       <FUNCTION>CHME</FUNCTION>\r
+                       <FUNCTION>CHMK</FUNCTION>\r
+                       <FUNCTION>CHMS</FUNCTION>\r
+                       <FUNCTION>CHMU</FUNCTION>\r
+                       <FUNCTION>CLRB</FUNCTION>\r
+                       <FUNCTION>CLRD</FUNCTION>\r
+                       <FUNCTION>CLRF</FUNCTION>\r
+                       <FUNCTION>CLRG</FUNCTION>\r
+                       <FUNCTION>CLRH</FUNCTION>\r
+                       <FUNCTION>CLRL</FUNCTION>\r
+                       <FUNCTION>CLRO</FUNCTION>\r
+                       <FUNCTION>CLRQ</FUNCTION>\r
+                       <FUNCTION>CLRW</FUNCTION>\r
+                       <FUNCTION>CMPB</FUNCTION>\r
+                       <FUNCTION>CMPC3</FUNCTION>\r
+                       <FUNCTION>CMPC5</FUNCTION>\r
+                       <FUNCTION>CMPD</FUNCTION>\r
+                       <FUNCTION>CMPF</FUNCTION>\r
+                       <FUNCTION>CMPG</FUNCTION>\r
+                       <FUNCTION>CMPH</FUNCTION>\r
+                       <FUNCTION>CMPL</FUNCTION>\r
+                       <FUNCTION>CMPP3</FUNCTION>\r
+                       <FUNCTION>CMPP4</FUNCTION>\r
+                       <FUNCTION>CMPV</FUNCTION>\r
+                       <FUNCTION>CMPW</FUNCTION>\r
+                       <FUNCTION>CMPZV</FUNCTION>\r
+                       <FUNCTION>CRC</FUNCTION>\r
+                       <FUNCTION>CVTBD</FUNCTION>\r
+                       <FUNCTION>CVTBF</FUNCTION>\r
+                       <FUNCTION>CVTBG</FUNCTION>\r
+                       <FUNCTION>CVTBH</FUNCTION>\r
+                       <FUNCTION>CVTBL</FUNCTION>\r
+                       <FUNCTION>CVTBW</FUNCTION>\r
+                       <FUNCTION>CVTDB</FUNCTION>\r
+                       <FUNCTION>CVTDF</FUNCTION>\r
+                       <FUNCTION>CVTDH</FUNCTION>\r
+                       <FUNCTION>CVTDL</FUNCTION>\r
+                       <FUNCTION>CVTDW</FUNCTION>\r
+                       <FUNCTION>CVTFB</FUNCTION>\r
+                       <FUNCTION>CVTFD</FUNCTION>\r
+                       <FUNCTION>CVTFG</FUNCTION>\r
+                       <FUNCTION>CVTFH</FUNCTION>\r
+                       <FUNCTION>CVTFL</FUNCTION>\r
+                       <FUNCTION>CVTFW</FUNCTION>\r
+                       <FUNCTION>CVTGB</FUNCTION>\r
+                       <FUNCTION>CVTGF</FUNCTION>\r
+                       <FUNCTION>CVTGH</FUNCTION>\r
+                       <FUNCTION>CVTGL</FUNCTION>\r
+                       <FUNCTION>CVTGW</FUNCTION>\r
+                       <FUNCTION>CVTHB</FUNCTION>\r
+                       <FUNCTION>CVTHD</FUNCTION>\r
+                       <FUNCTION>CVTHF</FUNCTION>\r
+                       <FUNCTION>CVTHG</FUNCTION>\r
+                       <FUNCTION>CVTHL</FUNCTION>\r
+                       <FUNCTION>CVTHW</FUNCTION>\r
+                       <FUNCTION>CVTLB</FUNCTION>\r
+                       <FUNCTION>CVTLD</FUNCTION>\r
+                       <FUNCTION>CVTLF</FUNCTION>\r
+                       <FUNCTION>CVTLG</FUNCTION>\r
+                       <FUNCTION>CVTLH</FUNCTION>\r
+                       <FUNCTION>CVTLP</FUNCTION>\r
+                       <FUNCTION>CVTLW</FUNCTION>\r
+                       <FUNCTION>CVTPL</FUNCTION>\r
+                       <FUNCTION>CVTPS</FUNCTION>\r
+                       <FUNCTION>CVTPT</FUNCTION>\r
+                       <FUNCTION>CVTRDL</FUNCTION>\r
+                       <FUNCTION>CVTRFL</FUNCTION>\r
+                       <FUNCTION>CVTRGL</FUNCTION>\r
+                       <FUNCTION>CVTRHL</FUNCTION>\r
+                       <FUNCTION>CVTSP</FUNCTION>\r
+                       <FUNCTION>CVTTP</FUNCTION>\r
+                       <FUNCTION>CVTWB</FUNCTION>\r
+                       <FUNCTION>CVTWD</FUNCTION>\r
+                       <FUNCTION>CVTWF</FUNCTION>\r
+                       <FUNCTION>CVTWG</FUNCTION>\r
+                       <FUNCTION>CVTWH</FUNCTION>\r
+                       <FUNCTION>CVTWL</FUNCTION>\r
+                       <FUNCTION>DECB</FUNCTION>\r
+                       <FUNCTION>DECL</FUNCTION>\r
+                       <FUNCTION>DECW</FUNCTION>\r
+                       <FUNCTION>DIVB2</FUNCTION>\r
+                       <FUNCTION>DIVB3</FUNCTION>\r
+                       <FUNCTION>DIVD2</FUNCTION>\r
+                       <FUNCTION>DIVD3</FUNCTION>\r
+                       <FUNCTION>DIVF2</FUNCTION>\r
+                       <FUNCTION>DIVF3</FUNCTION>\r
+                       <FUNCTION>DIVG2</FUNCTION>\r
+                       <FUNCTION>DIVG3</FUNCTION>\r
+                       <FUNCTION>DIVH2</FUNCTION>\r
+                       <FUNCTION>DIVH3</FUNCTION>\r
+                       <FUNCTION>DIVL2</FUNCTION>\r
+                       <FUNCTION>DIVL3</FUNCTION>\r
+                       <FUNCTION>DIVP</FUNCTION>\r
+                       <FUNCTION>DIVW2</FUNCTION>\r
+                       <FUNCTION>DIVW3</FUNCTION>\r
+                       <FUNCTION>EDITPC</FUNCTION>\r
+                       <FUNCTION>EDIV</FUNCTION>\r
+                       <FUNCTION>EMODD</FUNCTION>\r
+                       <FUNCTION>EMODF</FUNCTION>\r
+                       <FUNCTION>EMODG</FUNCTION>\r
+                       <FUNCTION>EMODH</FUNCTION>\r
+                       <FUNCTION>EMUL</FUNCTION>\r
+                       <FUNCTION>EXTV</FUNCTION>\r
+                       <FUNCTION>EXTZV</FUNCTION>\r
+                       <FUNCTION>FFC</FUNCTION>\r
+                       <FUNCTION>FFS</FUNCTION>\r
+                       <FUNCTION>HALT</FUNCTION>\r
+                       <FUNCTION>INCB</FUNCTION>\r
+                       <FUNCTION>INCL</FUNCTION>\r
+                       <FUNCTION>INCW</FUNCTION>\r
+                       <FUNCTION>INDEX</FUNCTION>\r
+                       <FUNCTION>INSQHI</FUNCTION>\r
+                       <FUNCTION>INSQTI</FUNCTION>\r
+                       <FUNCTION>INSQUE</FUNCTION>\r
+                       <FUNCTION>INSV</FUNCTION>\r
+                       <FUNCTION>IOTA</FUNCTION>\r
+                       <FUNCTION>JMP</FUNCTION>\r
+                       <FUNCTION>JSB</FUNCTION>\r
+                       <FUNCTION>LDPCTX</FUNCTION>\r
+                       <FUNCTION>LOCC</FUNCTION>\r
+                       <FUNCTION>MATCHC</FUNCTION>\r
+                       <FUNCTION>MCOMB</FUNCTION>\r
+                       <FUNCTION>MCOML</FUNCTION>\r
+                       <FUNCTION>MCOMW</FUNCTION>\r
+                       <FUNCTION>MFPR</FUNCTION>\r
+                       <FUNCTION>MFVP</FUNCTION>\r
+                       <FUNCTION>MNEGB</FUNCTION>\r
+                       <FUNCTION>MNEGD</FUNCTION>\r
+                       <FUNCTION>MNEGF</FUNCTION>\r
+                       <FUNCTION>MNEGG</FUNCTION>\r
+                       <FUNCTION>MNEGH</FUNCTION>\r
+                       <FUNCTION>MNEGL</FUNCTION>\r
+                       <FUNCTION>MNEGW</FUNCTION>\r
+                       <FUNCTION>MOVAB</FUNCTION>\r
+                       <FUNCTION>MOVAD</FUNCTION>\r
+                       <FUNCTION>MOVAF</FUNCTION>\r
+                       <FUNCTION>MOVAG</FUNCTION>\r
+                       <FUNCTION>MOVAH</FUNCTION>\r
+                       <FUNCTION>MOVAL</FUNCTION>\r
+                       <FUNCTION>MOVAO</FUNCTION>\r
+                       <FUNCTION>MOVAQ</FUNCTION>\r
+                       <FUNCTION>MOVAW</FUNCTION>\r
+                       <FUNCTION>MOVB</FUNCTION>\r
+                       <FUNCTION>MOVC3</FUNCTION>\r
+                       <FUNCTION>MOVC5</FUNCTION>\r
+                       <FUNCTION>MOVD</FUNCTION>\r
+                       <FUNCTION>MOVF</FUNCTION>\r
+                       <FUNCTION>MOVG</FUNCTION>\r
+                       <FUNCTION>MOVH</FUNCTION>\r
+                       <FUNCTION>MOVL</FUNCTION>\r
+                       <FUNCTION>MOVO</FUNCTION>\r
+                       <FUNCTION>MOVP</FUNCTION>\r
+                       <FUNCTION>MOVPSL</FUNCTION>\r
+                       <FUNCTION>MOVQ</FUNCTION>\r
+                       <FUNCTION>MOVTC</FUNCTION>\r
+                       <FUNCTION>MOVTUC</FUNCTION>\r
+                       <FUNCTION>MOVW</FUNCTION>\r
+                       <FUNCTION>MOVZBL</FUNCTION>\r
+                       <FUNCTION>MOVZBW</FUNCTION>\r
+                       <FUNCTION>MOVZWL</FUNCTION>\r
+                       <FUNCTION>MTPR</FUNCTION>\r
+                       <FUNCTION>MTVP</FUNCTION>\r
+                       <FUNCTION>MULB2</FUNCTION>\r
+                       <FUNCTION>MULB3</FUNCTION>\r
+                       <FUNCTION>MULD2</FUNCTION>\r
+                       <FUNCTION>MULD3</FUNCTION>\r
+                       <FUNCTION>MULF2</FUNCTION>\r
+                       <FUNCTION>MULF3</FUNCTION>\r
+                       <FUNCTION>MULG2</FUNCTION>\r
+                       <FUNCTION>MULG3</FUNCTION>\r
+                       <FUNCTION>MULH2</FUNCTION>\r
+                       <FUNCTION>MULH3</FUNCTION>\r
+                       <FUNCTION>MULL2</FUNCTION>\r
+                       <FUNCTION>MULL3</FUNCTION>\r
+                       <FUNCTION>MULP</FUNCTION>\r
+                       <FUNCTION>MULW2</FUNCTION>\r
+                       <FUNCTION>MULW3</FUNCTION>\r
+                       <FUNCTION>NOP</FUNCTION>\r
+                       <FUNCTION>POLYD</FUNCTION>\r
+                       <FUNCTION>POLYF</FUNCTION>\r
+                       <FUNCTION>POLYG</FUNCTION>\r
+                       <FUNCTION>POLYH</FUNCTION>\r
+                       <FUNCTION>POPR</FUNCTION>\r
+                       <FUNCTION>PROBER</FUNCTION>\r
+                       <FUNCTION>PROBEW</FUNCTION>\r
+                       <FUNCTION>PUSHAB</FUNCTION>\r
+                       <FUNCTION>PUSHABL</FUNCTION>\r
+                       <FUNCTION>PUSHAL</FUNCTION>\r
+                       <FUNCTION>PUSHAD</FUNCTION>\r
+                       <FUNCTION>PUSHAF</FUNCTION>\r
+                       <FUNCTION>PUSHAG</FUNCTION>\r
+                       <FUNCTION>PUSHAH</FUNCTION>\r
+                       <FUNCTION>PUSHAL</FUNCTION>\r
+                       <FUNCTION>PUSHAO</FUNCTION>\r
+                       <FUNCTION>PUSHAQ</FUNCTION>\r
+                       <FUNCTION>PUSHAW</FUNCTION>\r
+                       <FUNCTION>PUSHL</FUNCTION>\r
+                       <FUNCTION>PUSHR</FUNCTION>\r
+                       <FUNCTION>REI</FUNCTION>\r
+                       <FUNCTION>REMQHI</FUNCTION>\r
+                       <FUNCTION>REMQTI</FUNCTION>\r
+                       <FUNCTION>REMQUE</FUNCTION>\r
+                       <FUNCTION>RET</FUNCTION>\r
+                       <FUNCTION>ROTL</FUNCTION>\r
+                       <FUNCTION>RSB</FUNCTION>\r
+                       <FUNCTION>SBWC</FUNCTION>\r
+                       <FUNCTION>SCANC</FUNCTION>\r
+                       <FUNCTION>SKPC</FUNCTION>\r
+                       <FUNCTION>SOBGEQ</FUNCTION>\r
+                       <FUNCTION>SOBGTR</FUNCTION>\r
+                       <FUNCTION>SPANC</FUNCTION>\r
+                       <FUNCTION>SUBB2</FUNCTION>\r
+                       <FUNCTION>SUBB3</FUNCTION>\r
+                       <FUNCTION>SUBD2</FUNCTION>\r
+                       <FUNCTION>SUBD3</FUNCTION>\r
+                       <FUNCTION>SUBF2</FUNCTION>\r
+                       <FUNCTION>SUBF3</FUNCTION>\r
+                       <FUNCTION>SUBG2</FUNCTION>\r
+                       <FUNCTION>SUBG3</FUNCTION>\r
+                       <FUNCTION>SUBH2</FUNCTION>\r
+                       <FUNCTION>SUBH3</FUNCTION>\r
+                       <FUNCTION>SUBL2</FUNCTION>\r
+                       <FUNCTION>SUBL3</FUNCTION>\r
+                       <FUNCTION>SUBP4</FUNCTION>\r
+                       <FUNCTION>SUBP6</FUNCTION>\r
+                       <FUNCTION>SUBW2</FUNCTION>\r
+                       <FUNCTION>SUBW3</FUNCTION>\r
+                       <FUNCTION>SVPCTX</FUNCTION>\r
+                       <FUNCTION>TSTB</FUNCTION>\r
+                       <FUNCTION>TSTD</FUNCTION>\r
+                       <FUNCTION>TSTF</FUNCTION>\r
+                       <FUNCTION>TSTG</FUNCTION>\r
+                       <FUNCTION>TSTH</FUNCTION>\r
+                       <FUNCTION>TSTL</FUNCTION>\r
+                       <FUNCTION>TSTW</FUNCTION>\r
+                       <FUNCTION>VGATHL</FUNCTION>\r
+                       <FUNCTION>VGATHQ</FUNCTION>\r
+                       <FUNCTION>VLDL</FUNCTION>\r
+                       <FUNCTION>VLDQ</FUNCTION>\r
+                       <FUNCTION>VSADDD</FUNCTION>\r
+                       <FUNCTION>VSADDF</FUNCTION>\r
+                       <FUNCTION>VSADDG</FUNCTION>\r
+                       <FUNCTION>VSADDL</FUNCTION>\r
+                       <FUNCTION>VSBICL</FUNCTION>\r
+                       <FUNCTION>VSBISL</FUNCTION>\r
+                       <FUNCTION>VSCATL</FUNCTION>\r
+                       <FUNCTION>VSCATQ</FUNCTION>\r
+                       <FUNCTION>VSCMPD</FUNCTION>\r
+                       <FUNCTION>VSCMPF</FUNCTION>\r
+                       <FUNCTION>VSCMPG</FUNCTION>\r
+                       <FUNCTION>VSCMPL</FUNCTION>\r
+                       <FUNCTION>VSDIVD</FUNCTION>\r
+                       <FUNCTION>VSDIVF</FUNCTION>\r
+                       <FUNCTION>VSDIVG</FUNCTION>\r
+                       <FUNCTION>VSMERGE</FUNCTION>\r
+                       <FUNCTION>VSMULD</FUNCTION>\r
+                       <FUNCTION>VSMULF</FUNCTION>\r
+                       <FUNCTION>VSMULG</FUNCTION>\r
+                       <FUNCTION>VSMULL</FUNCTION>\r
+                       <FUNCTION>VSSLLL</FUNCTION>\r
+                       <FUNCTION>VSSRLL</FUNCTION>\r
+                       <FUNCTION>VSSUBD</FUNCTION>\r
+                       <FUNCTION>VSSUBF</FUNCTION>\r
+                       <FUNCTION>VSSUBG</FUNCTION>\r
+                       <FUNCTION>VSSUBL</FUNCTION>\r
+                       <FUNCTION>VSTL</FUNCTION>\r
+                       <FUNCTION>VSTQ</FUNCTION>\r
+                       <FUNCTION>VSXORL</FUNCTION>\r
+                       <FUNCTION>VSYNC</FUNCTION>\r
+                       <FUNCTION>VVADDD</FUNCTION>\r
+                       <FUNCTION>VVADDF</FUNCTION>\r
+                       <FUNCTION>VVADDG</FUNCTION>\r
+                       <FUNCTION>VVADDL</FUNCTION>\r
+                       <FUNCTION>VVBICL</FUNCTION>\r
+                       <FUNCTION>VVBISL</FUNCTION>\r
+                       <FUNCTION>VVCMPD</FUNCTION>\r
+                       <FUNCTION>VVCMPF</FUNCTION>\r
+                       <FUNCTION>VVCMPG</FUNCTION>\r
+                       <FUNCTION>VVCMPL</FUNCTION>\r
+                       <FUNCTION>VVCVT</FUNCTION>\r
+                       <FUNCTION>VVDIVD</FUNCTION>\r
+                       <FUNCTION>VVDIVF</FUNCTION>\r
+                       <FUNCTION>VVDIVG</FUNCTION>\r
+                       <FUNCTION>VVMERGE</FUNCTION>\r
+                       <FUNCTION>VVMULD</FUNCTION>\r
+                       <FUNCTION>VVMULF</FUNCTION>\r
+                       <FUNCTION>VVMULG</FUNCTION>\r
+                       <FUNCTION>VVMULL</FUNCTION>\r
+                       <FUNCTION>VVSLLL</FUNCTION>\r
+                       <FUNCTION>VVSRLL</FUNCTION>\r
+                       <FUNCTION>VVSUBD</FUNCTION>\r
+                       <FUNCTION>VVSUBF</FUNCTION>\r
+                       <FUNCTION>VVSUBG</FUNCTION>\r
+                       <FUNCTION>VVSUBL</FUNCTION>\r
+                       <FUNCTION>VVXORL</FUNCTION>\r
+                       <FUNCTION>XFC</FUNCTION>\r
+                       <FUNCTION>XORB2</FUNCTION>\r
+                       <FUNCTION>XORB3</FUNCTION>\r
+                       <FUNCTION>XORL2</FUNCTION>\r
+                       <FUNCTION>XORL3</FUNCTION>\r
+                       <FUNCTION>XORW2</FUNCTION>\r
+                       <FUNCTION>XORW3</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-mcs51.xml b/basis/xmode/modes/assembly-mcs51.xml
new file mode 100644 (file)
index 0000000..113e196
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       MCS51 Assembly mode by Mirco Bova (mirco.bova@libero.it)\r
+\r
+       - KEIL syntax\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- NASM: label inside a macro -->\r
+               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">$</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>MOD</KEYWORD1>\r
+                       <KEYWORD1>SHR</KEYWORD1>\r
+                       <KEYWORD1>SHL</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>XOR</KEYWORD1>\r
+                       <KEYWORD1>HIGH</KEYWORD1>\r
+                       <KEYWORD1>LOW</KEYWORD1>\r
+                       <KEYWORD1>LT</KEYWORD1>\r
+                       <KEYWORD1>LE</KEYWORD1>\r
+                       <KEYWORD1>NE</KEYWORD1>\r
+                       <KEYWORD1>EQ</KEYWORD1>\r
+                       <KEYWORD1>GE</KEYWORD1>\r
+                       <KEYWORD1>GT</KEYWORD1>\r
+                       <KEYWORD1>DPTR</KEYWORD1>\r
+                       <KEYWORD1>PC</KEYWORD1>\r
+                       <KEYWORD1>EQU</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>NUMBER</KEYWORD1>\r
+                       <KEYWORD1>CSEG</KEYWORD1>\r
+                       <KEYWORD1>XSEG</KEYWORD1>\r
+                       <KEYWORD1>DSEG</KEYWORD1>\r
+                       <KEYWORD1>ISEG</KEYWORD1>\r
+                       <KEYWORD1>BSEG</KEYWORD1>\r
+                       <KEYWORD1>RSEG</KEYWORD1>\r
+                       <KEYWORD1>NUL</KEYWORD1>\r
+                       <KEYWORD1>DB</KEYWORD1>\r
+                       <KEYWORD1>DW</KEYWORD1>\r
+                       <KEYWORD1>DWR</KEYWORD1>\r
+                       <KEYWORD1>DS</KEYWORD1>\r
+                       <KEYWORD1>DBIT</KEYWORD1>\r
+                       <KEYWORD1>ORG</KEYWORD1>\r
+                       <KEYWORD1>USING</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>NAME</KEYWORD1>\r
+                       <KEYWORD1>PUBLIC</KEYWORD1>\r
+                       <KEYWORD1>EXTRN</KEYWORD1>\r
+                       <KEYWORD1>SEGMENT</KEYWORD1>\r
+                       <KEYWORD1>UNIT</KEYWORD1>\r
+                       <KEYWORD1>BITADDRESSABLE</KEYWORD1>\r
+                       <KEYWORD1>INPAGE</KEYWORD1>\r
+                       <KEYWORD1>INBLOCK</KEYWORD1>\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>OVERLAYABLE</KEYWORD1>\r
+                       <KEYWORD1>AT</KEYWORD1>\r
+                       <KEYWORD1>STACKLEN</KEYWORD1>\r
+                       <KEYWORD1>SBIT</KEYWORD1>\r
+                       <KEYWORD1>SFR</KEYWORD1>\r
+                       <KEYWORD1>SFR16</KEYWORD1>\r
+                       <KEYWORD1>__ERROR__</KEYWORD1>\r
+                       <KEYWORD1>ACALL</KEYWORD1>\r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ADDC</KEYWORD1>\r
+                       <KEYWORD1>AJMP</KEYWORD1>\r
+                       <KEYWORD1>ANL</KEYWORD1>\r
+                       <KEYWORD1>CALL</KEYWORD1>\r
+                       <KEYWORD1>CJNE</KEYWORD1>\r
+                       <KEYWORD1>CLR</KEYWORD1>\r
+                       <KEYWORD1>CPL</KEYWORD1>\r
+                       <KEYWORD1>DA</KEYWORD1>\r
+                       <KEYWORD1>DEC</KEYWORD1>\r
+                       <KEYWORD1>DIV</KEYWORD1>\r
+                       <KEYWORD1>DJNZ</KEYWORD1>\r
+                       <KEYWORD1>INC</KEYWORD1>\r
+                       <KEYWORD1>JB</KEYWORD1>\r
+                       <KEYWORD1>JBC</KEYWORD1>\r
+                       <KEYWORD1>JC</KEYWORD1>\r
+                       <KEYWORD1>JMP</KEYWORD1>\r
+                       <KEYWORD1>JNB</KEYWORD1>\r
+                       <KEYWORD1>JNC</KEYWORD1>\r
+                       <KEYWORD1>JNZ</KEYWORD1>\r
+                       <KEYWORD1>JZ</KEYWORD1>\r
+                       <KEYWORD1>LCALL</KEYWORD1>\r
+                       <KEYWORD1>LJMP</KEYWORD1>\r
+                       <KEYWORD1>MOV</KEYWORD1>\r
+                       <KEYWORD1>MOVC</KEYWORD1>\r
+                       <KEYWORD1>MOVX</KEYWORD1>\r
+                       <KEYWORD1>MUL</KEYWORD1>\r
+                       <KEYWORD1>NOP</KEYWORD1>\r
+                       <KEYWORD1>ORL</KEYWORD1>\r
+                       <KEYWORD1>POP</KEYWORD1>\r
+                       <KEYWORD1>PUSH</KEYWORD1>\r
+                       <KEYWORD1>RET</KEYWORD1>\r
+                       <KEYWORD1>RETI</KEYWORD1>\r
+                       <KEYWORD1>RL</KEYWORD1>\r
+                       <KEYWORD1>RLC</KEYWORD1>\r
+                       <KEYWORD1>RR</KEYWORD1>\r
+                       <KEYWORD1>RRC</KEYWORD1>\r
+                       <KEYWORD1>SETB</KEYWORD1>\r
+                       <KEYWORD1>SJMP</KEYWORD1>\r
+                       <KEYWORD1>SUBB</KEYWORD1>\r
+                       <KEYWORD1>SWAP</KEYWORD1>\r
+                       <KEYWORD1>XCH</KEYWORD1>\r
+                       <KEYWORD1>XCHD</KEYWORD1>\r
+                       <KEYWORD1>XRL</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>ELSEIF</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>ENDIF</KEYWORD1>\r
+                       <KEYWORD1>MACRO</KEYWORD1>\r
+                       <KEYWORD1>REPT</KEYWORD1>\r
+                       <KEYWORD1>IRP</KEYWORD1>\r
+                       <KEYWORD1>IRPC</KEYWORD1>\r
+                       <KEYWORD1>ENDM</KEYWORD1>\r
+                       <KEYWORD1>EXITM</KEYWORD1>\r
+                       <KEYWORD1>LOCAL</KEYWORD1>\r
+                       <KEYWORD1>DPTX</KEYWORD1>\r
+                       <KEYWORD1>DPTN</KEYWORD1>\r
+                       <KEYWORD1>DPTR8</KEYWORD1>\r
+                       <KEYWORD1>DPTR16</KEYWORD1>\r
+                       <KEYWORD1>WR0</KEYWORD1>\r
+                       <KEYWORD1>WR2</KEYWORD1>\r
+                       <KEYWORD1>WR4</KEYWORD1>\r
+                       <KEYWORD1>WR6</KEYWORD1>\r
+                       <KEYWORD1>DR0</KEYWORD1>\r
+                       <KEYWORD1>DR4</KEYWORD1>\r
+                       <KEYWORD1>RJC</KEYWORD1>\r
+                       <KEYWORD1>RJNC</KEYWORD1>\r
+                       <KEYWORD1>RJZ</KEYWORD1>\r
+                       <KEYWORD1>RJNZ</KEYWORD1>\r
+                       <KEYWORD1>JMPI</KEYWORD1>\r
+                       <KEYWORD1>MOVB</KEYWORD1>\r
+                       <KEYWORD1>PUSHA</KEYWORD1>\r
+                       <KEYWORD1>POPA</KEYWORD1>\r
+                       <KEYWORD1>SUB</KEYWORD1>\r
+                       <KEYWORD1>ADDM</KEYWORD1>\r
+                       <KEYWORD1>SUBM</KEYWORD1>\r
+                       <KEYWORD1>SLEEP</KEYWORD1>\r
+                       <KEYWORD1>SYNC</KEYWORD1>\r
+                       <KEYWORD1>DEFINE</KEYWORD1>\r
+                       <KEYWORD1>SUBSTR</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>LEN</KEYWORD1>\r
+                       <KEYWORD1>EQS</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>FI</KEYWORD1>\r
+\r
+                       <KEYWORD2>$IF</KEYWORD2>\r
+                       <KEYWORD2>$ELSEIF</KEYWORD2>\r
+                       <KEYWORD2>$ELSE</KEYWORD2>\r
+                       <KEYWORD2>$ENDIF</KEYWORD2>\r
+                       <KEYWORD2>$MOD167</KEYWORD2>\r
+                       <KEYWORD2>$CASE</KEYWORD2>\r
+                       <KEYWORD2>$SEGMENTED</KEYWORD2>\r
+                       <KEYWORD2>$INCLUDE</KEYWORD2>\r
+\r
+                       <!-- memory types -->\r
+                       <KEYWORD2>CODE</KEYWORD2>\r
+                       <KEYWORD2>XDATA</KEYWORD2>\r
+                       <KEYWORD2>DATA</KEYWORD2>\r
+                       <KEYWORD2>IDATA</KEYWORD2>\r
+                       <KEYWORD2>BIT</KEYWORD2>\r
+\r
+                       <!-- Registers -->\r
+                       <KEYWORD3>R0</KEYWORD3>\r
+                       <KEYWORD3>R1</KEYWORD3>\r
+                       <KEYWORD3>R2</KEYWORD3>\r
+                       <KEYWORD3>R3</KEYWORD3>\r
+                       <KEYWORD3>R4</KEYWORD3>\r
+                       <KEYWORD3>R5</KEYWORD3>\r
+                       <KEYWORD3>R6</KEYWORD3>\r
+                       <KEYWORD3>R7</KEYWORD3>\r
+\r
+                       <KEYWORD3>SP</KEYWORD3>\r
+                       <KEYWORD3>A</KEYWORD3>\r
+                       <KEYWORD3>C</KEYWORD3>\r
+                       <KEYWORD3>AB</KEYWORD3>\r
+\r
+                       <!-- Instructions -->\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-parrot.xml b/basis/xmode/modes/assembly-parrot.xml
new file mode 100644 (file)
index 0000000..212e182
--- /dev/null
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+        <PROPS>\r
+                <PROPERTY NAME="lineComment" VALUE="#" />\r
+        </PROPS>\r
+        <RULES IGNORE_CASE="FALSE"\r
+                HIGHLIGHT_DIGITS="TRUE"\r
+                DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+)"\r
+        >\r
+\r
+                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                        <BEGIN>"</BEGIN>\r
+                        <END>"</END>\r
+                </SPAN>\r
+\r
+                <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+                <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                                AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+                <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+                <SEQ_REGEXP TYPE="LITERAL2"\r
+                        HASH_CHARS="ISNP"\r
+                        AT_WORD_START="TRUE"\r
+                >[ISNP]\d{1,2}</SEQ_REGEXP>\r
+\r
+                <KEYWORDS>\r
+                        <KEYWORD1>abs</KEYWORD1>\r
+                        <KEYWORD1>acos</KEYWORD1>\r
+                        <KEYWORD1>add</KEYWORD1>\r
+                        <KEYWORD1>and</KEYWORD1>\r
+                        <KEYWORD1>asec</KEYWORD1>\r
+                        <KEYWORD1>asin</KEYWORD1>\r
+                        <KEYWORD1>atan</KEYWORD1>\r
+                        <KEYWORD1>bounds</KEYWORD1>\r
+                        <KEYWORD1>branch</KEYWORD1>\r
+                        <KEYWORD1>bsr</KEYWORD1>\r
+                        <KEYWORD1>chopm</KEYWORD1>\r
+                        <KEYWORD1>cleari</KEYWORD1>\r
+                        <KEYWORD1>clearn</KEYWORD1>\r
+                        <KEYWORD1>clearp</KEYWORD1>\r
+                        <KEYWORD1>clears</KEYWORD1>\r
+                        <KEYWORD1>clone</KEYWORD1>\r
+                        <KEYWORD1>close</KEYWORD1>\r
+                        <KEYWORD1>cmod</KEYWORD1>\r
+                        <KEYWORD1>concat</KEYWORD1>\r
+                        <KEYWORD1>cos</KEYWORD1>\r
+                        <KEYWORD1>cosh</KEYWORD1>\r
+                        <KEYWORD1>debug</KEYWORD1>\r
+                        <KEYWORD1>dec</KEYWORD1>\r
+                        <KEYWORD1>div</KEYWORD1>\r
+                        <KEYWORD1>end</KEYWORD1>\r
+                        <KEYWORD1>entrytype</KEYWORD1>\r
+                        <KEYWORD1>eq</KEYWORD1>\r
+                        <KEYWORD1>err</KEYWORD1>\r
+                        <KEYWORD1>exp</KEYWORD1>\r
+                        <KEYWORD1>find_global</KEYWORD1>\r
+                        <KEYWORD1>find_type</KEYWORD1>\r
+                        <KEYWORD1>ge</KEYWORD1>\r
+                        <KEYWORD1>getfile</KEYWORD1>\r
+                        <KEYWORD1>getline</KEYWORD1>\r
+                        <KEYWORD1>getpackage</KEYWORD1>\r
+                        <KEYWORD1>gt</KEYWORD1>\r
+                        <KEYWORD1>if</KEYWORD1>\r
+                        <KEYWORD1>inc</KEYWORD1>\r
+                        <KEYWORD1>index</KEYWORD1>\r
+                        <KEYWORD1>jsr</KEYWORD1>\r
+                        <KEYWORD1>jump</KEYWORD1>\r
+                        <KEYWORD1>le</KEYWORD1>\r
+                        <KEYWORD1>length</KEYWORD1>\r
+                        <KEYWORD1>ln</KEYWORD1>\r
+                        <KEYWORD1>log2</KEYWORD1>\r
+                        <KEYWORD1>log10</KEYWORD1>\r
+                        <KEYWORD1>lt</KEYWORD1>\r
+                        <KEYWORD1>mod</KEYWORD1>\r
+                        <KEYWORD1>mul</KEYWORD1>\r
+                        <KEYWORD1>ne</KEYWORD1>\r
+                        <KEYWORD1>new</KEYWORD1>\r
+                        <KEYWORD1>newinterp</KEYWORD1>\r
+                        <KEYWORD1>noop</KEYWORD1>\r
+                        <KEYWORD1>not</KEYWORD1>\r
+                        <KEYWORD1>not</KEYWORD1>\r
+                        <KEYWORD1>open</KEYWORD1>\r
+                        <KEYWORD1>or</KEYWORD1>\r
+                        <KEYWORD1>ord</KEYWORD1>\r
+                        <KEYWORD1>pack</KEYWORD1>\r
+                        <KEYWORD1>pop</KEYWORD1>\r
+                        <KEYWORD1>popi</KEYWORD1>\r
+                        <KEYWORD1>popn</KEYWORD1>\r
+                        <KEYWORD1>popp</KEYWORD1>\r
+                        <KEYWORD1>pops</KEYWORD1>\r
+                        <KEYWORD1>pow</KEYWORD1>\r
+                        <KEYWORD1>print</KEYWORD1>\r
+                        <KEYWORD1>profile</KEYWORD1>\r
+                        <KEYWORD1>push</KEYWORD1>\r
+                        <KEYWORD1>pushi</KEYWORD1>\r
+                        <KEYWORD1>pushn</KEYWORD1>\r
+                        <KEYWORD1>pushp</KEYWORD1>\r
+                        <KEYWORD1>pushs</KEYWORD1>\r
+                        <KEYWORD1>read</KEYWORD1>\r
+                        <KEYWORD1>readline</KEYWORD1>\r
+                        <KEYWORD1>repeat</KEYWORD1>\r
+                        <KEYWORD1>restore</KEYWORD1>\r
+                        <KEYWORD1>ret</KEYWORD1>\r
+                        <KEYWORD1>rotate_up</KEYWORD1>\r
+                        <KEYWORD1>runinterp</KEYWORD1>\r
+                        <KEYWORD1>save</KEYWORD1>\r
+                        <KEYWORD1>sec</KEYWORD1>\r
+                        <KEYWORD1>sech</KEYWORD1>\r
+                        <KEYWORD1>set</KEYWORD1>\r
+                        <KEYWORD1>set_keyed</KEYWORD1>\r
+                        <KEYWORD1>setfile</KEYWORD1>\r
+                        <KEYWORD1>setline</KEYWORD1>\r
+                        <KEYWORD1>setpackage</KEYWORD1>\r
+                        <KEYWORD1>shl</KEYWORD1>\r
+                        <KEYWORD1>shr</KEYWORD1>\r
+                        <KEYWORD1>sin</KEYWORD1>\r
+                        <KEYWORD1>sinh</KEYWORD1>\r
+                        <KEYWORD1>sleep</KEYWORD1>\r
+                        <KEYWORD1>sub</KEYWORD1>\r
+                        <KEYWORD1>substr</KEYWORD1>\r
+                        <KEYWORD1>tan</KEYWORD1>\r
+                        <KEYWORD1>tanh</KEYWORD1>\r
+                        <KEYWORD1>time</KEYWORD1>\r
+                        <KEYWORD1>trace</KEYWORD1>\r
+                        <KEYWORD1>typeof</KEYWORD1>\r
+                        <KEYWORD1>unless</KEYWORD1>\r
+                        <KEYWORD1>warningsoff</KEYWORD1>\r
+                        <KEYWORD1>warningson</KEYWORD1>\r
+                        <KEYWORD1>write</KEYWORD1>\r
+                        <KEYWORD1>xor</KEYWORD1>\r
+                </KEYWORDS>\r
+        </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-r2000.xml b/basis/xmode/modes/assembly-r2000.xml
new file mode 100644 (file)
index 0000000..4023f54
--- /dev/null
@@ -0,0 +1,259 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- MIPS/SPIM Assembly Mode from\r
+       Marc Rummel marc.rummel@stud.uni-karlsruhe.de \r
+       SIPM Homepage: http://www.cs.wisc.edu/~larus/spim.html\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="blockComment" VALUE="#" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",()" />\r
+       </PROPS>\r
+       \r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+               <!-- Comment --> \r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+               \r
+               <!-- Strings -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               \r
+               <!-- Labels -->\r
+               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+               \r
+               <!-- Assembler directives -->\r
+               <KEYWORDS>\r
+                       <KEYWORD1>.align</KEYWORD1>\r
+                       <KEYWORD1>.ascii</KEYWORD1>\r
+                       <KEYWORD1>.asciiz</KEYWORD1>\r
+                       <KEYWORD1>.byte</KEYWORD1>\r
+                       <KEYWORD1>.data</KEYWORD1>\r
+                       <KEYWORD1>.double</KEYWORD1>\r
+                       <KEYWORD1>.extern</KEYWORD1>\r
+                       <KEYWORD1>.float</KEYWORD1>\r
+                       <KEYWORD1>.globl</KEYWORD1>\r
+                       <KEYWORD1>.half</KEYWORD1>\r
+                       <KEYWORD1>.kdata</KEYWORD1>\r
+                       <KEYWORD1>.ktext</KEYWORD1>\r
+                       <KEYWORD1>.space</KEYWORD1>\r
+                       <KEYWORD1>.text</KEYWORD1>\r
+                       <KEYWORD1>.word</KEYWORD1>\r
+                       \r
+               <!-- MIPS/SPIM Operations -->\r
+                       <FUNCTION>add</FUNCTION>\r
+                       <FUNCTION>addi</FUNCTION>\r
+                       <FUNCTION>addu</FUNCTION>\r
+                       <FUNCTION>addiu</FUNCTION>\r
+                       <FUNCTION>and</FUNCTION>\r
+                       <FUNCTION>andi</FUNCTION>\r
+                       <FUNCTION>div</FUNCTION>\r
+                       <FUNCTION>divu</FUNCTION>\r
+                       <FUNCTION>mul</FUNCTION>\r
+                       <FUNCTION>mulo</FUNCTION>\r
+                       <FUNCTION>mulou</FUNCTION>\r
+                       <FUNCTION>mult</FUNCTION>\r
+                       <FUNCTION>multu</FUNCTION>\r
+                       <FUNCTION>neg</FUNCTION>\r
+                       <FUNCTION>negu</FUNCTION>\r
+                       <FUNCTION>nor</FUNCTION>\r
+                       <FUNCTION>not</FUNCTION>\r
+                       <FUNCTION>or</FUNCTION>\r
+                       <FUNCTION>ori</FUNCTION>\r
+                       <FUNCTION>rem</FUNCTION>\r
+                       <FUNCTION>remu</FUNCTION>\r
+                       <FUNCTION>rol</FUNCTION>\r
+                       <FUNCTION>ror</FUNCTION>\r
+                       <FUNCTION>sll</FUNCTION>\r
+                       <FUNCTION>sllv</FUNCTION>\r
+                       <FUNCTION>sra</FUNCTION>\r
+                       <FUNCTION>srav</FUNCTION>\r
+                       <FUNCTION>srl</FUNCTION>\r
+                       <FUNCTION>srlv</FUNCTION>\r
+                       <FUNCTION>sub</FUNCTION>\r
+                       <FUNCTION>subu</FUNCTION>\r
+                       <FUNCTION>xor</FUNCTION>\r
+                       <FUNCTION>xori</FUNCTION>\r
+                       <FUNCTION>li</FUNCTION>\r
+                       <FUNCTION>lui</FUNCTION>\r
+                       <FUNCTION>seq</FUNCTION>\r
+                       <FUNCTION>sge</FUNCTION>\r
+                       <FUNCTION>sgt</FUNCTION>\r
+                       <FUNCTION>sgtu</FUNCTION>\r
+                       <FUNCTION>sle</FUNCTION>\r
+                       <FUNCTION>sleu</FUNCTION>\r
+                       <FUNCTION>slt</FUNCTION>\r
+                       <FUNCTION>slti</FUNCTION>\r
+                       <FUNCTION>sltu</FUNCTION>\r
+                       <FUNCTION>sltiu</FUNCTION>\r
+                       <FUNCTION>sne</FUNCTION>\r
+                       <FUNCTION>b</FUNCTION>\r
+                       <FUNCTION>bczt</FUNCTION>\r
+                       <FUNCTION>bczf</FUNCTION>\r
+                       <FUNCTION>beq</FUNCTION>\r
+                       <FUNCTION>beqz</FUNCTION>\r
+                       <FUNCTION>bge</FUNCTION>\r
+                       <FUNCTION>bgeu</FUNCTION>\r
+                       <FUNCTION>bgez</FUNCTION>\r
+                       <FUNCTION>bgezal</FUNCTION>\r
+                       <FUNCTION>bgt</FUNCTION>\r
+                       <FUNCTION>bgtu</FUNCTION>\r
+                       <FUNCTION>bgtz</FUNCTION>\r
+                       <FUNCTION>ble</FUNCTION>\r
+                       <FUNCTION>bleu</FUNCTION>\r
+                       <FUNCTION>blez</FUNCTION>\r
+                       <FUNCTION>bgezal</FUNCTION>\r
+                       <FUNCTION>bltzal</FUNCTION>\r
+                       <FUNCTION>blt</FUNCTION>\r
+                       <FUNCTION>bltu</FUNCTION>\r
+                       <FUNCTION>bltz</FUNCTION>\r
+                       <FUNCTION>bne</FUNCTION>\r
+                       <FUNCTION>bnez</FUNCTION>\r
+                       <FUNCTION>j</FUNCTION>\r
+                       <FUNCTION>jal</FUNCTION>\r
+                       <FUNCTION>jalr</FUNCTION>\r
+                       <FUNCTION>jr</FUNCTION>\r
+                       <FUNCTION>la</FUNCTION>\r
+                       <FUNCTION>lb</FUNCTION>\r
+                       <FUNCTION>blu</FUNCTION>\r
+                       <FUNCTION>lh</FUNCTION>\r
+                       <FUNCTION>lhu</FUNCTION>\r
+                       <FUNCTION>lw</FUNCTION>\r
+                       <FUNCTION>lwcz</FUNCTION>\r
+                       <FUNCTION>lwl</FUNCTION>\r
+                       <FUNCTION>lwr</FUNCTION>\r
+                       <FUNCTION>ulh</FUNCTION>\r
+                       <FUNCTION>ulhu</FUNCTION>\r
+                       <FUNCTION>ulw</FUNCTION>\r
+                       <FUNCTION>sb</FUNCTION>\r
+                       <FUNCTION>sd</FUNCTION>\r
+                       <FUNCTION>sh</FUNCTION>\r
+                       <FUNCTION>sw</FUNCTION>\r
+                       <FUNCTION>swcz</FUNCTION>\r
+                       <FUNCTION>swl</FUNCTION>\r
+                       <FUNCTION>swr</FUNCTION>\r
+                       <FUNCTION>ush</FUNCTION>\r
+                       <FUNCTION>usw</FUNCTION>\r
+                       <FUNCTION>move</FUNCTION>\r
+                       <FUNCTION>mfhi</FUNCTION>\r
+                       <FUNCTION>mflo</FUNCTION>\r
+                       <FUNCTION>mthi</FUNCTION>\r
+                       <FUNCTION>mtlo</FUNCTION>\r
+                       <FUNCTION>mfcz</FUNCTION>\r
+                       <FUNCTION>mfc1.d</FUNCTION>\r
+                       <FUNCTION>mtcz</FUNCTION>\r
+                       <FUNCTION>abs.d</FUNCTION>\r
+                       <FUNCTION>abs.s</FUNCTION>\r
+                       <FUNCTION>add.d</FUNCTION>\r
+                       <FUNCTION>add.s</FUNCTION>\r
+                       <FUNCTION>c.eq.d</FUNCTION>\r
+                       <FUNCTION>c.eq.s</FUNCTION>\r
+                       <FUNCTION>c.le.d</FUNCTION>\r
+                       <FUNCTION>c.le.s</FUNCTION>\r
+                       <FUNCTION>c.lt.d</FUNCTION>\r
+                       <FUNCTION>c.lt.s</FUNCTION>\r
+                       <FUNCTION>cvt.d.s</FUNCTION>\r
+                       <FUNCTION>cbt.d.w</FUNCTION>\r
+                       <FUNCTION>cvt.s.d</FUNCTION>\r
+                       <FUNCTION>cvt.s.w</FUNCTION>\r
+                       <FUNCTION>cvt.w.d</FUNCTION>\r
+                       <FUNCTION>cvt.w.s</FUNCTION>\r
+                       <FUNCTION>div.d</FUNCTION>\r
+                       <FUNCTION>div.s</FUNCTION>\r
+                       <FUNCTION>l.d</FUNCTION>\r
+                       <FUNCTION>l.s</FUNCTION>\r
+                       <FUNCTION>mov.d</FUNCTION>\r
+                       <FUNCTION>mov.s</FUNCTION>\r
+                       <FUNCTION>mul.d</FUNCTION>\r
+                       <FUNCTION>mul.s</FUNCTION>\r
+                       <FUNCTION>neg.d</FUNCTION>\r
+                       <FUNCTION>neg.s</FUNCTION>\r
+                       <FUNCTION>s.d</FUNCTION>\r
+                       <FUNCTION>s.s</FUNCTION>\r
+                       <FUNCTION>sub.d</FUNCTION>\r
+                       <FUNCTION>sub.s</FUNCTION>\r
+                       <FUNCTION>rfe</FUNCTION>\r
+                       <FUNCTION>syscall</FUNCTION>\r
+                       <FUNCTION>break</FUNCTION>\r
+                       <FUNCTION>nop</FUNCTION>\r
+\r
+               <!-- Integer Registers -->\r
+                       <KEYWORD2>$zero</KEYWORD2>\r
+                       <KEYWORD2>$at</KEYWORD2>\r
+                       <KEYWORD2>$v0</KEYWORD2>\r
+                       <KEYWORD2>$v1</KEYWORD2>\r
+                       <KEYWORD2>$a0</KEYWORD2>\r
+                       <KEYWORD2>$a1</KEYWORD2>\r
+                       <KEYWORD2>$a2</KEYWORD2>\r
+                       <KEYWORD2>$a3</KEYWORD2>\r
+            <KEYWORD2>$t0</KEYWORD2>\r
+                       <KEYWORD2>$t1</KEYWORD2>\r
+                       <KEYWORD2>$t2</KEYWORD2>\r
+                       <KEYWORD2>$t3</KEYWORD2>\r
+                       <KEYWORD2>$t4</KEYWORD2>\r
+                       <KEYWORD2>$t5</KEYWORD2>\r
+                       <KEYWORD2>$t6</KEYWORD2>\r
+                       <KEYWORD2>$t7</KEYWORD2>\r
+                       <KEYWORD2>$s0</KEYWORD2>\r
+                       <KEYWORD2>$s1</KEYWORD2>\r
+                       <KEYWORD2>$s2</KEYWORD2>\r
+                       <KEYWORD2>$s3</KEYWORD2>\r
+                       <KEYWORD2>$s4</KEYWORD2>\r
+                       <KEYWORD2>$s5</KEYWORD2>\r
+                       <KEYWORD2>$s6</KEYWORD2>\r
+                       <KEYWORD2>$s7</KEYWORD2>\r
+                       <KEYWORD2>$t8</KEYWORD2>\r
+                       <KEYWORD2>$t9</KEYWORD2>\r
+                       <KEYWORD2>$k0</KEYWORD2>\r
+                       <KEYWORD2>$k1</KEYWORD2>\r
+            <KEYWORD2>$gp</KEYWORD2>\r
+                       <KEYWORD2>$sp</KEYWORD2>\r
+                       <KEYWORD2>$fp</KEYWORD2>\r
+                       <KEYWORD2>$ra</KEYWORD2>\r
+                       \r
+               <!-- Floating Point Registers -->\r
+                       <KEYWORD3>$f0</KEYWORD3>\r
+                       <KEYWORD3>$f1</KEYWORD3>\r
+                       <KEYWORD3>$f2</KEYWORD3>\r
+                       <KEYWORD3>$f3</KEYWORD3>\r
+                       <KEYWORD3>$f4</KEYWORD3>\r
+                       <KEYWORD3>$f5</KEYWORD3>\r
+                       <KEYWORD3>$f6</KEYWORD3>\r
+                       <KEYWORD3>$f7</KEYWORD3>\r
+                       <KEYWORD3>$f8</KEYWORD3>\r
+                       <KEYWORD3>$f9</KEYWORD3>\r
+                       <KEYWORD3>$f10</KEYWORD3>\r
+                       <KEYWORD3>$f11</KEYWORD3>\r
+                       <KEYWORD3>$f12</KEYWORD3>\r
+                       <KEYWORD3>$f13</KEYWORD3>\r
+                       <KEYWORD3>$f14</KEYWORD3>\r
+                       <KEYWORD3>$f15</KEYWORD3>\r
+                       <KEYWORD3>$f16</KEYWORD3>\r
+                       <KEYWORD3>$f17</KEYWORD3>\r
+                       <KEYWORD3>$f18</KEYWORD3>\r
+                       <KEYWORD3>$f19</KEYWORD3>\r
+                       <KEYWORD3>$f20</KEYWORD3>\r
+                       <KEYWORD3>$f21</KEYWORD3>\r
+                       <KEYWORD3>$f22</KEYWORD3>\r
+                       <KEYWORD3>$f23</KEYWORD3>\r
+                       <KEYWORD3>$f24</KEYWORD3>\r
+                       <KEYWORD3>$f25</KEYWORD3>\r
+                       <KEYWORD3>$f26</KEYWORD3>\r
+                       <KEYWORD3>$f27</KEYWORD3>\r
+                       <KEYWORD3>$f28</KEYWORD3>\r
+                       <KEYWORD3>$f29</KEYWORD3>\r
+                       <KEYWORD3>$f30</KEYWORD3>\r
+                       <KEYWORD3>$f31</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/assembly-x86.xml b/basis/xmode/modes/assembly-x86.xml
new file mode 100644 (file)
index 0000000..76882ae
--- /dev/null
@@ -0,0 +1,863 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       x86 Assembly mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
+\r
+       - Intel syntax\r
+       - Instructions and registers of Pentium III/Athlon\r
+         (including FPU, MMX, 3DNow! and SSE)\r
+       - Full NASM 0.98 & MASM 6.15 keyword support, partial TASM support\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- NASM: label inside a macro -->\r
+               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">%</MARK_FOLLOWING>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>.186</KEYWORD1>\r
+                       <KEYWORD1>.286</KEYWORD1>\r
+                       <KEYWORD1>.286P</KEYWORD1>\r
+                       <KEYWORD1>.287</KEYWORD1>\r
+                       <KEYWORD1>.386</KEYWORD1>\r
+                       <KEYWORD1>.386P</KEYWORD1>\r
+                       <KEYWORD1>.387</KEYWORD1>\r
+                       <KEYWORD1>.486</KEYWORD1>\r
+                       <KEYWORD1>.486P</KEYWORD1>\r
+                       <KEYWORD1>.586</KEYWORD1>\r
+                       <KEYWORD1>.586P</KEYWORD1>\r
+                       <KEYWORD1>.686</KEYWORD1>\r
+                       <KEYWORD1>.686P</KEYWORD1>\r
+                       <KEYWORD1>.8086</KEYWORD1>\r
+                       <KEYWORD1>.8087</KEYWORD1>\r
+                       <KEYWORD1>.ALPHA</KEYWORD1>\r
+                       <KEYWORD1>.BREAK</KEYWORD1>\r
+                       <KEYWORD1>.BSS</KEYWORD1>\r
+                       <KEYWORD1>.CODE</KEYWORD1>\r
+                       <KEYWORD1>.CONST</KEYWORD1>\r
+                       <KEYWORD1>.CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>.CREF</KEYWORD1>\r
+                       <KEYWORD1>.DATA</KEYWORD1>\r
+                       <KEYWORD1>.DATA?</KEYWORD1>\r
+                       <KEYWORD1>.DOSSEG</KEYWORD1>\r
+                       <KEYWORD1>.ELSE</KEYWORD1>\r
+                       <KEYWORD1>.ELSEIF</KEYWORD1>\r
+                       <KEYWORD1>.ENDIF</KEYWORD1>\r
+                       <KEYWORD1>.ENDW</KEYWORD1>\r
+                       <KEYWORD1>.ERR</KEYWORD1>\r
+                       <KEYWORD1>.ERR1</KEYWORD1>\r
+                       <KEYWORD1>.ERR2</KEYWORD1>\r
+                       <KEYWORD1>.ERRB</KEYWORD1>\r
+                       <KEYWORD1>.ERRDEF</KEYWORD1>\r
+                       <KEYWORD1>.ERRDIF</KEYWORD1>\r
+                       <KEYWORD1>.ERRDIFI</KEYWORD1>\r
+                       <KEYWORD1>.ERRE</KEYWORD1>\r
+                       <KEYWORD1>.ERRIDN</KEYWORD1>\r
+                       <KEYWORD1>.ERRIDNI</KEYWORD1>\r
+                       <KEYWORD1>.ERRNB</KEYWORD1>\r
+                       <KEYWORD1>.ERRNDEF</KEYWORD1>\r
+                       <KEYWORD1>.ERRNZ</KEYWORD1>\r
+                       <KEYWORD1>.EXIT</KEYWORD1>\r
+                       <KEYWORD1>.FARDATA</KEYWORD1>\r
+                       <KEYWORD1>.FARDATA?</KEYWORD1>\r
+                       <KEYWORD1>.IF</KEYWORD1>\r
+                       <KEYWORD1>.K3D</KEYWORD1>\r
+                       <KEYWORD1>.LALL</KEYWORD1>\r
+                       <KEYWORD1>.LFCOND</KEYWORD1>\r
+                       <KEYWORD1>.LIST</KEYWORD1>\r
+                       <KEYWORD1>.LISTALL</KEYWORD1>\r
+                       <KEYWORD1>.LISTIF</KEYWORD1>\r
+                       <KEYWORD1>.LISTMACRO</KEYWORD1>\r
+                       <KEYWORD1>.LISTMACROALL</KEYWORD1>\r
+                       <KEYWORD1>.MMX</KEYWORD1>\r
+                       <KEYWORD1>.MODEL</KEYWORD1>\r
+                       <KEYWORD1>.MSFLOAT</KEYWORD1>\r
+                       <KEYWORD1>.NO87</KEYWORD1>\r
+                       <KEYWORD1>.NOCREF</KEYWORD1>\r
+                       <KEYWORD1>.NOLIST</KEYWORD1>\r
+                       <KEYWORD1>.NOLISTIF</KEYWORD1>\r
+                       <KEYWORD1>.NOLISTMACRO</KEYWORD1>\r
+                       <KEYWORD1>.RADIX</KEYWORD1>\r
+                       <KEYWORD1>.REPEAT</KEYWORD1>\r
+                       <KEYWORD1>.SALL</KEYWORD1>\r
+                       <KEYWORD1>.SEQ</KEYWORD1>\r
+                       <KEYWORD1>.SFCOND</KEYWORD1>\r
+                       <KEYWORD1>.STACK</KEYWORD1>\r
+                       <KEYWORD1>.STARTUP</KEYWORD1>\r
+                       <KEYWORD1>.TEXT</KEYWORD1>\r
+                       <KEYWORD1>.TFCOND</KEYWORD1>\r
+                       <KEYWORD1>.UNTIL</KEYWORD1>\r
+                       <KEYWORD1>.UNTILCXZ</KEYWORD1>\r
+                       <KEYWORD1>.WHILE</KEYWORD1>\r
+                       <KEYWORD1>.XALL</KEYWORD1>\r
+                       <KEYWORD1>.XCREF</KEYWORD1>\r
+                       <KEYWORD1>.XLIST</KEYWORD1>\r
+                       <KEYWORD1>.XMM</KEYWORD1>\r
+                       <KEYWORD1>__FILE__</KEYWORD1>\r
+                       <KEYWORD1>__LINE__</KEYWORD1>\r
+                       <KEYWORD1>A16</KEYWORD1>\r
+                       <KEYWORD1>A32</KEYWORD1>\r
+                       <KEYWORD1>ADDR</KEYWORD1>\r
+                       <KEYWORD1>ALIGN</KEYWORD1>\r
+                       <KEYWORD1>ALIGNB</KEYWORD1>\r
+                       <KEYWORD1>ASSUME</KEYWORD1>\r
+                       <KEYWORD1>BITS</KEYWORD1>\r
+                       <KEYWORD1>CARRY?</KEYWORD1>\r
+                       <KEYWORD1>CATSTR</KEYWORD1>\r
+                       <KEYWORD1>CODESEG</KEYWORD1>\r
+                       <KEYWORD1>COMM</KEYWORD1>\r
+                       <KEYWORD1>COMMENT</KEYWORD1>\r
+                       <KEYWORD1>COMMON</KEYWORD1>\r
+                       <KEYWORD1>DATASEG</KEYWORD1>\r
+                       <KEYWORD1>DOSSEG</KEYWORD1>\r
+                       <KEYWORD1>ECHO</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>ELSEIF</KEYWORD1>\r
+                       <KEYWORD1>ELSEIF1</KEYWORD1>\r
+                       <KEYWORD1>ELSEIF2</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFB</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFDEF</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFE</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFIDN</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFNB</KEYWORD1>\r
+                       <KEYWORD1>ELSEIFNDEF</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>ENDIF</KEYWORD1>\r
+                       <KEYWORD1>ENDM</KEYWORD1>\r
+                       <KEYWORD1>ENDP</KEYWORD1>\r
+                       <KEYWORD1>ENDS</KEYWORD1>\r
+                       <KEYWORD1>ENDSTRUC</KEYWORD1>\r
+                       <KEYWORD1>EVEN</KEYWORD1>\r
+                       <KEYWORD1>EXITM</KEYWORD1>\r
+                       <KEYWORD1>EXPORT</KEYWORD1>\r
+                       <KEYWORD1>EXTERN</KEYWORD1>\r
+                       <KEYWORD1>EXTERNDEF</KEYWORD1>\r
+                       <KEYWORD1>EXTRN</KEYWORD1>\r
+                       <KEYWORD1>FAR</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>FORC</KEYWORD1>\r
+                       <KEYWORD1>GLOBAL</KEYWORD1>\r
+                       <KEYWORD1>GOTO</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+                       <KEYWORD1>HIGH</KEYWORD1>\r
+                       <KEYWORD1>HIGHWORD</KEYWORD1>\r
+                       <KEYWORD1>IEND</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>IF1</KEYWORD1>\r
+                       <KEYWORD1>IF2</KEYWORD1>\r
+                       <KEYWORD1>IFB</KEYWORD1>\r
+                       <KEYWORD1>IFDEF</KEYWORD1>\r
+                       <KEYWORD1>IFDIF</KEYWORD1>\r
+                       <KEYWORD1>IFDIFI</KEYWORD1>\r
+                       <KEYWORD1>IFE</KEYWORD1>\r
+                       <KEYWORD1>IFIDN</KEYWORD1>\r
+                       <KEYWORD1>IFIDNI</KEYWORD1>\r
+                       <KEYWORD1>IFNB</KEYWORD1>\r
+                       <KEYWORD1>IFNDEF</KEYWORD1>\r
+                       <KEYWORD1>IMPORT</KEYWORD1>\r
+                       <KEYWORD1>INCBIN</KEYWORD1>\r
+                       <KEYWORD1>INCLUDE</KEYWORD1>\r
+                       <KEYWORD1>INCLUDELIB</KEYWORD1>\r
+                       <KEYWORD1>INSTR</KEYWORD1>\r
+                       <KEYWORD1>INVOKE</KEYWORD1>\r
+                       <KEYWORD1>IRP</KEYWORD1>\r
+                       <KEYWORD1>IRPC</KEYWORD1>\r
+                       <KEYWORD1>ISTRUC</KEYWORD1>\r
+                       <KEYWORD1>LABEL</KEYWORD1>\r
+                       <KEYWORD1>LENGTH</KEYWORD1>\r
+                       <KEYWORD1>LENGTHOF</KEYWORD1>\r
+                       <KEYWORD1>LOCAL</KEYWORD1>\r
+                       <KEYWORD1>LOW</KEYWORD1>\r
+                       <KEYWORD1>LOWWORD</KEYWORD1>\r
+                       <KEYWORD1>LROFFSET</KEYWORD1>\r
+                       <KEYWORD1>MACRO</KEYWORD1>\r
+                       <KEYWORD1>NAME</KEYWORD1>\r
+                       <KEYWORD1>NEAR</KEYWORD1>\r
+                       <KEYWORD1>NOSPLIT</KEYWORD1>\r
+                       <KEYWORD1>O16</KEYWORD1>\r
+                       <KEYWORD1>O32</KEYWORD1>\r
+                       <KEYWORD1>OFFSET</KEYWORD1>\r
+                       <KEYWORD1>OPATTR</KEYWORD1>\r
+                       <KEYWORD1>OPTION</KEYWORD1>\r
+                       <KEYWORD1>ORG</KEYWORD1>\r
+                       <KEYWORD1>OVERFLOW?</KEYWORD1>\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>PARITY?</KEYWORD1>\r
+                       <KEYWORD1>POPCONTEXT</KEYWORD1>\r
+                       <KEYWORD1>PRIVATE</KEYWORD1>\r
+                       <KEYWORD1>PROC</KEYWORD1>\r
+                       <KEYWORD1>PROTO</KEYWORD1>\r
+                       <KEYWORD1>PTR</KEYWORD1>\r
+                       <KEYWORD1>PUBLIC</KEYWORD1>\r
+                       <KEYWORD1>PURGE</KEYWORD1>\r
+                       <KEYWORD1>PUSHCONTEXT</KEYWORD1>\r
+                       <KEYWORD1>RECORD</KEYWORD1>\r
+                       <KEYWORD1>REPEAT</KEYWORD1>\r
+                       <KEYWORD1>REPT</KEYWORD1>\r
+                       <KEYWORD1>SECTION</KEYWORD1>\r
+                       <KEYWORD1>SEG</KEYWORD1>\r
+                       <KEYWORD1>SEGMENT</KEYWORD1>\r
+                       <KEYWORD1>SHORT</KEYWORD1>\r
+                       <KEYWORD1>SIGN?</KEYWORD1>\r
+                       <KEYWORD1>SIZE</KEYWORD1>\r
+                       <KEYWORD1>SIZEOF</KEYWORD1>\r
+                       <KEYWORD1>SIZESTR</KEYWORD1>\r
+                       <KEYWORD1>STACK</KEYWORD1>\r
+                       <KEYWORD1>STRUC</KEYWORD1>\r
+                       <KEYWORD1>STRUCT</KEYWORD1>\r
+                       <KEYWORD1>SUBSTR</KEYWORD1>\r
+                       <KEYWORD1>SUBTITLE</KEYWORD1>\r
+                       <KEYWORD1>SUBTTL</KEYWORD1>\r
+                       <KEYWORD1>THIS</KEYWORD1>\r
+                       <KEYWORD1>TITLE</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>TYPEDEF</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>USE16</KEYWORD1>\r
+                       <KEYWORD1>USE32</KEYWORD1>\r
+                       <KEYWORD1>USES</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>WRT</KEYWORD1>\r
+                       <KEYWORD1>ZERO?</KEYWORD1>\r
+\r
+                       <KEYWORD2>DB</KEYWORD2>\r
+                       <KEYWORD2>DW</KEYWORD2>\r
+                       <KEYWORD2>DD</KEYWORD2>\r
+                       <KEYWORD2>DF</KEYWORD2>\r
+                       <KEYWORD2>DQ</KEYWORD2>\r
+                       <KEYWORD2>DT</KEYWORD2>\r
+                       <KEYWORD2>RESB</KEYWORD2>\r
+                       <KEYWORD2>RESW</KEYWORD2>\r
+                       <KEYWORD2>RESD</KEYWORD2>\r
+                       <KEYWORD2>RESQ</KEYWORD2>\r
+                       <KEYWORD2>REST</KEYWORD2>\r
+                       <KEYWORD2>EQU</KEYWORD2>\r
+                       <KEYWORD2>TEXTEQU</KEYWORD2>\r
+                       <KEYWORD2>TIMES</KEYWORD2>\r
+                       <KEYWORD2>DUP</KEYWORD2>\r
+\r
+                       <KEYWORD2>BYTE</KEYWORD2>\r
+                       <KEYWORD2>WORD</KEYWORD2>\r
+                       <KEYWORD2>DWORD</KEYWORD2>\r
+                       <KEYWORD2>FWORD</KEYWORD2>\r
+                       <KEYWORD2>QWORD</KEYWORD2>\r
+                       <KEYWORD2>TBYTE</KEYWORD2>\r
+                       <KEYWORD2>SBYTE</KEYWORD2>\r
+                       <KEYWORD2>TWORD</KEYWORD2>\r
+                       <KEYWORD2>SWORD</KEYWORD2>\r
+                       <KEYWORD2>SDWORD</KEYWORD2>\r
+                       <KEYWORD2>REAL4</KEYWORD2>\r
+                       <KEYWORD2>REAL8</KEYWORD2>\r
+                       <KEYWORD2>REAL10</KEYWORD2>\r
+\r
+                       <!-- Registers -->\r
+                       <KEYWORD3>AL</KEYWORD3>\r
+                       <KEYWORD3>BL</KEYWORD3>\r
+                       <KEYWORD3>CL</KEYWORD3>\r
+                       <KEYWORD3>DL</KEYWORD3>\r
+                       <KEYWORD3>AH</KEYWORD3>\r
+                       <KEYWORD3>BH</KEYWORD3>\r
+                       <KEYWORD3>CH</KEYWORD3>\r
+                       <KEYWORD3>DH</KEYWORD3>\r
+                       <KEYWORD3>AX</KEYWORD3>\r
+                       <KEYWORD3>BX</KEYWORD3>\r
+                       <KEYWORD3>CX</KEYWORD3>\r
+                       <KEYWORD3>DX</KEYWORD3>\r
+                       <KEYWORD3>SI</KEYWORD3>\r
+                       <KEYWORD3>DI</KEYWORD3>\r
+                       <KEYWORD3>SP</KEYWORD3>\r
+                       <KEYWORD3>BP</KEYWORD3>\r
+                       <KEYWORD3>EAX</KEYWORD3>\r
+                       <KEYWORD3>EBX</KEYWORD3>\r
+                       <KEYWORD3>ECX</KEYWORD3>\r
+                       <KEYWORD3>EDX</KEYWORD3>\r
+                       <KEYWORD3>ESI</KEYWORD3>\r
+                       <KEYWORD3>EDI</KEYWORD3>\r
+                       <KEYWORD3>ESP</KEYWORD3>\r
+                       <KEYWORD3>EBP</KEYWORD3>\r
+                       <KEYWORD3>CS</KEYWORD3>\r
+                       <KEYWORD3>DS</KEYWORD3>\r
+                       <KEYWORD3>SS</KEYWORD3>\r
+                       <KEYWORD3>ES</KEYWORD3>\r
+                       <KEYWORD3>FS</KEYWORD3>\r
+                       <KEYWORD3>GS</KEYWORD3>\r
+                       <KEYWORD3>ST</KEYWORD3>\r
+                       <KEYWORD3>ST0</KEYWORD3>\r
+                       <KEYWORD3>ST1</KEYWORD3>\r
+                       <KEYWORD3>ST2</KEYWORD3>\r
+                       <KEYWORD3>ST3</KEYWORD3>\r
+                       <KEYWORD3>ST4</KEYWORD3>\r
+                       <KEYWORD3>ST5</KEYWORD3>\r
+                       <KEYWORD3>ST6</KEYWORD3>\r
+                       <KEYWORD3>ST7</KEYWORD3>\r
+                       <KEYWORD3>MM0</KEYWORD3>\r
+                       <KEYWORD3>MM1</KEYWORD3>\r
+                       <KEYWORD3>MM2</KEYWORD3>\r
+                       <KEYWORD3>MM3</KEYWORD3>\r
+                       <KEYWORD3>MM4</KEYWORD3>\r
+                       <KEYWORD3>MM5</KEYWORD3>\r
+                       <KEYWORD3>MM6</KEYWORD3>\r
+                       <KEYWORD3>MM7</KEYWORD3>\r
+                       <KEYWORD3>XMM0</KEYWORD3>\r
+                       <KEYWORD3>XMM1</KEYWORD3>\r
+                       <KEYWORD3>XMM2</KEYWORD3>\r
+                       <KEYWORD3>XMM3</KEYWORD3>\r
+                       <KEYWORD3>XMM4</KEYWORD3>\r
+                       <KEYWORD3>XMM5</KEYWORD3>\r
+                       <KEYWORD3>XMM6</KEYWORD3>\r
+                       <KEYWORD3>XMM7</KEYWORD3>\r
+                       <KEYWORD3>CR0</KEYWORD3>\r
+                       <KEYWORD3>CR2</KEYWORD3>\r
+                       <KEYWORD3>CR3</KEYWORD3>\r
+                       <KEYWORD3>CR4</KEYWORD3>\r
+                       <KEYWORD3>DR0</KEYWORD3>\r
+                       <KEYWORD3>DR1</KEYWORD3>\r
+                       <KEYWORD3>DR2</KEYWORD3>\r
+                       <KEYWORD3>DR3</KEYWORD3>\r
+                       <KEYWORD3>DR4</KEYWORD3>\r
+                       <KEYWORD3>DR5</KEYWORD3>\r
+                       <KEYWORD3>DR6</KEYWORD3>\r
+                       <KEYWORD3>DR7</KEYWORD3>\r
+                       <KEYWORD3>TR3</KEYWORD3>\r
+                       <KEYWORD3>TR4</KEYWORD3>\r
+                       <KEYWORD3>TR5</KEYWORD3>\r
+                       <KEYWORD3>TR6</KEYWORD3>\r
+                       <KEYWORD3>TR7</KEYWORD3>\r
+\r
+                       <!-- Instructions: Pentium III/MMX/SSE -->\r
+                       <FUNCTION>AAA</FUNCTION>\r
+                       <FUNCTION>AAD</FUNCTION>\r
+                       <FUNCTION>AAM</FUNCTION>\r
+                       <FUNCTION>AAS</FUNCTION>\r
+                       <FUNCTION>ADC</FUNCTION>\r
+                       <FUNCTION>ADD</FUNCTION>\r
+                       <FUNCTION>ADDPS</FUNCTION>\r
+                       <FUNCTION>ADDSS</FUNCTION>\r
+                       <FUNCTION>AND</FUNCTION>\r
+                       <FUNCTION>ANDNPS</FUNCTION>\r
+                       <FUNCTION>ANDPS</FUNCTION>\r
+                       <FUNCTION>ARPL</FUNCTION>\r
+                       <FUNCTION>BOUND</FUNCTION>\r
+                       <FUNCTION>BSF</FUNCTION>\r
+                       <FUNCTION>BSR</FUNCTION>\r
+                       <FUNCTION>BSWAP</FUNCTION>\r
+                       <FUNCTION>BT</FUNCTION>\r
+                       <FUNCTION>BTC</FUNCTION>\r
+                       <FUNCTION>BTR</FUNCTION>\r
+                       <FUNCTION>BTS</FUNCTION>\r
+                       <FUNCTION>CALL</FUNCTION>\r
+                       <FUNCTION>CBW</FUNCTION>\r
+                       <FUNCTION>CDQ</FUNCTION>\r
+                       <FUNCTION>CLC</FUNCTION>\r
+                       <FUNCTION>CLD</FUNCTION>\r
+                       <FUNCTION>CLI</FUNCTION>\r
+                       <FUNCTION>CLTS</FUNCTION>\r
+                       <FUNCTION>CMC</FUNCTION>\r
+                       <FUNCTION>CMOVA</FUNCTION>\r
+                       <FUNCTION>CMOVAE</FUNCTION>\r
+                       <FUNCTION>CMOVB</FUNCTION>\r
+                       <FUNCTION>CMOVBE</FUNCTION>\r
+                       <FUNCTION>CMOVC</FUNCTION>\r
+                       <FUNCTION>CMOVE</FUNCTION>\r
+                       <FUNCTION>CMOVG</FUNCTION>\r
+                       <FUNCTION>CMOVGE</FUNCTION>\r
+                       <FUNCTION>CMOVL</FUNCTION>\r
+                       <FUNCTION>CMOVLE</FUNCTION>\r
+                       <FUNCTION>CMOVNA</FUNCTION>\r
+                       <FUNCTION>CMOVNAE</FUNCTION>\r
+                       <FUNCTION>CMOVNB</FUNCTION>\r
+                       <FUNCTION>CMOVNBE</FUNCTION>\r
+                       <FUNCTION>CMOVNC</FUNCTION>\r
+                       <FUNCTION>CMOVNE</FUNCTION>\r
+                       <FUNCTION>CMOVNG</FUNCTION>\r
+                       <FUNCTION>CMOVNGE</FUNCTION>\r
+                       <FUNCTION>CMOVNL</FUNCTION>\r
+                       <FUNCTION>CMOVNLE</FUNCTION>\r
+                       <FUNCTION>CMOVNO</FUNCTION>\r
+                       <FUNCTION>CMOVNP</FUNCTION>\r
+                       <FUNCTION>CMOVNS</FUNCTION>\r
+                       <FUNCTION>CMOVNZ</FUNCTION>\r
+                       <FUNCTION>CMOVO</FUNCTION>\r
+                       <FUNCTION>CMOVP</FUNCTION>\r
+                       <FUNCTION>CMOVPE</FUNCTION>\r
+                       <FUNCTION>CMOVPO</FUNCTION>\r
+                       <FUNCTION>CMOVS</FUNCTION>\r
+                       <FUNCTION>CMOVZ</FUNCTION>\r
+                       <FUNCTION>CMP</FUNCTION>\r
+                       <FUNCTION>CMPPS</FUNCTION>\r
+                       <FUNCTION>CMPS</FUNCTION>\r
+                       <FUNCTION>CMPSB</FUNCTION>\r
+                       <FUNCTION>CMPSD</FUNCTION>\r
+                       <FUNCTION>CMPSS</FUNCTION>\r
+                       <FUNCTION>CMPSW</FUNCTION>\r
+                       <FUNCTION>CMPXCHG</FUNCTION>\r
+                       <FUNCTION>CMPXCHGB</FUNCTION>\r
+                       <FUNCTION>COMISS</FUNCTION>\r
+                       <FUNCTION>CPUID</FUNCTION>\r
+                       <FUNCTION>CWD</FUNCTION>\r
+                       <FUNCTION>CWDE</FUNCTION>\r
+                       <FUNCTION>CVTPI2PS</FUNCTION>\r
+                       <FUNCTION>CVTPS2PI</FUNCTION>\r
+                       <FUNCTION>CVTSI2SS</FUNCTION>\r
+                       <FUNCTION>CVTSS2SI</FUNCTION>\r
+                       <FUNCTION>CVTTPS2PI</FUNCTION>\r
+                       <FUNCTION>CVTTSS2SI</FUNCTION>\r
+                       <FUNCTION>DAA</FUNCTION>\r
+                       <FUNCTION>DAS</FUNCTION>\r
+                       <FUNCTION>DEC</FUNCTION>\r
+                       <FUNCTION>DIV</FUNCTION>\r
+                       <FUNCTION>DIVPS</FUNCTION>\r
+                       <FUNCTION>DIVSS</FUNCTION>\r
+                       <FUNCTION>EMMS</FUNCTION>\r
+                       <FUNCTION>ENTER</FUNCTION>\r
+                       <FUNCTION>F2XM1</FUNCTION>\r
+                       <FUNCTION>FABS</FUNCTION>\r
+                       <FUNCTION>FADD</FUNCTION>\r
+                       <FUNCTION>FADDP</FUNCTION>\r
+                       <FUNCTION>FBLD</FUNCTION>\r
+                       <FUNCTION>FBSTP</FUNCTION>\r
+                       <FUNCTION>FCHS</FUNCTION>\r
+                       <FUNCTION>FCLEX</FUNCTION>\r
+                       <FUNCTION>FCMOVB</FUNCTION>\r
+                       <FUNCTION>FCMOVBE</FUNCTION>\r
+                       <FUNCTION>FCMOVE</FUNCTION>\r
+                       <FUNCTION>FCMOVNB</FUNCTION>\r
+                       <FUNCTION>FCMOVNBE</FUNCTION>\r
+                       <FUNCTION>FCMOVNE</FUNCTION>\r
+                       <FUNCTION>FCMOVNU</FUNCTION>\r
+                       <FUNCTION>FCMOVU</FUNCTION>\r
+                       <FUNCTION>FCOM</FUNCTION>\r
+                       <FUNCTION>FCOMI</FUNCTION>\r
+                       <FUNCTION>FCOMIP</FUNCTION>\r
+                       <FUNCTION>FCOMP</FUNCTION>\r
+                       <FUNCTION>FCOMPP</FUNCTION>\r
+                       <FUNCTION>FCOS</FUNCTION>\r
+                       <FUNCTION>FDECSTP</FUNCTION>\r
+                       <FUNCTION>FDIV</FUNCTION>\r
+                       <FUNCTION>FDIVP</FUNCTION>\r
+                       <FUNCTION>FDIVR</FUNCTION>\r
+                       <FUNCTION>FDIVRP</FUNCTION>\r
+                       <FUNCTION>FFREE</FUNCTION>\r
+                       <FUNCTION>FIADD</FUNCTION>\r
+                       <FUNCTION>FICOM</FUNCTION>\r
+                       <FUNCTION>FICOMP</FUNCTION>\r
+                       <FUNCTION>FIDIV</FUNCTION>\r
+                       <FUNCTION>FIDIVR</FUNCTION>\r
+                       <FUNCTION>FILD</FUNCTION>\r
+                       <FUNCTION>FIMUL</FUNCTION>\r
+                       <FUNCTION>FINCSTP</FUNCTION>\r
+                       <FUNCTION>FINIT</FUNCTION>\r
+                       <FUNCTION>FIST</FUNCTION>\r
+                       <FUNCTION>FISTP</FUNCTION>\r
+                       <FUNCTION>FISUB</FUNCTION>\r
+                       <FUNCTION>FISUBR</FUNCTION>\r
+                       <FUNCTION>FLD1</FUNCTION>\r
+                       <FUNCTION>FLDCW</FUNCTION>\r
+                       <FUNCTION>FLDENV</FUNCTION>\r
+                       <FUNCTION>FLDL2E</FUNCTION>\r
+                       <FUNCTION>FLDL2T</FUNCTION>\r
+                       <FUNCTION>FLDLG2</FUNCTION>\r
+                       <FUNCTION>FLDLN2</FUNCTION>\r
+                       <FUNCTION>FLDPI</FUNCTION>\r
+                       <FUNCTION>FLDZ</FUNCTION>\r
+                       <FUNCTION>FMUL</FUNCTION>\r
+                       <FUNCTION>FMULP</FUNCTION>\r
+                       <FUNCTION>FNCLEX</FUNCTION>\r
+                       <FUNCTION>FNINIT</FUNCTION>\r
+                       <FUNCTION>FNOP</FUNCTION>\r
+                       <FUNCTION>FNSAVE</FUNCTION>\r
+                       <FUNCTION>FNSTCW</FUNCTION>\r
+                       <FUNCTION>FNSTENV</FUNCTION>\r
+                       <FUNCTION>FNSTSW</FUNCTION>\r
+                       <FUNCTION>FPATAN</FUNCTION>\r
+                       <FUNCTION>FPREM</FUNCTION>\r
+                       <FUNCTION>FPREMI</FUNCTION>\r
+                       <FUNCTION>FPTAN</FUNCTION>\r
+                       <FUNCTION>FRNDINT</FUNCTION>\r
+                       <FUNCTION>FRSTOR</FUNCTION>\r
+                       <FUNCTION>FSAVE</FUNCTION>\r
+                       <FUNCTION>FSCALE</FUNCTION>\r
+                       <FUNCTION>FSIN</FUNCTION>\r
+                       <FUNCTION>FSINCOS</FUNCTION>\r
+                       <FUNCTION>FSQRT</FUNCTION>\r
+                       <FUNCTION>FST</FUNCTION>\r
+                       <FUNCTION>FSTCW</FUNCTION>\r
+                       <FUNCTION>FSTENV</FUNCTION>\r
+                       <FUNCTION>FSTP</FUNCTION>\r
+                       <FUNCTION>FSTSW</FUNCTION>\r
+                       <FUNCTION>FSUB</FUNCTION>\r
+                       <FUNCTION>FSUBP</FUNCTION>\r
+                       <FUNCTION>FSUBR</FUNCTION>\r
+                       <FUNCTION>FSUBRP</FUNCTION>\r
+                       <FUNCTION>FTST</FUNCTION>\r
+                       <FUNCTION>FUCOM</FUNCTION>\r
+                       <FUNCTION>FUCOMI</FUNCTION>\r
+                       <FUNCTION>FUCOMIP</FUNCTION>\r
+                       <FUNCTION>FUCOMP</FUNCTION>\r
+                       <FUNCTION>FUCOMPP</FUNCTION>\r
+                       <FUNCTION>FWAIT</FUNCTION>\r
+                       <FUNCTION>FXAM</FUNCTION>\r
+                       <FUNCTION>FXCH</FUNCTION>\r
+                       <FUNCTION>FXRSTOR</FUNCTION>\r
+                       <FUNCTION>FXSAVE</FUNCTION>\r
+                       <FUNCTION>FXTRACT</FUNCTION>\r
+                       <FUNCTION>FYL2X</FUNCTION>\r
+                       <FUNCTION>FYL2XP1</FUNCTION>\r
+                       <FUNCTION>HLT</FUNCTION>\r
+                       <FUNCTION>IDIV</FUNCTION>\r
+                       <FUNCTION>IMUL</FUNCTION>\r
+                       <FUNCTION>IN</FUNCTION>\r
+                       <FUNCTION>INC</FUNCTION>\r
+                       <FUNCTION>INS</FUNCTION>\r
+                       <FUNCTION>INSB</FUNCTION>\r
+                       <FUNCTION>INSD</FUNCTION>\r
+                       <FUNCTION>INSW</FUNCTION>\r
+                       <FUNCTION>INT</FUNCTION>\r
+                       <FUNCTION>INTO</FUNCTION>\r
+                       <FUNCTION>INVD</FUNCTION>\r
+                       <FUNCTION>INVLPG</FUNCTION>\r
+                       <FUNCTION>IRET</FUNCTION>\r
+                       <FUNCTION>JA</FUNCTION>\r
+                       <FUNCTION>JAE</FUNCTION>\r
+                       <FUNCTION>JB</FUNCTION>\r
+                       <FUNCTION>JBE</FUNCTION>\r
+                       <FUNCTION>JC</FUNCTION>\r
+                       <FUNCTION>JCXZ</FUNCTION>\r
+                       <FUNCTION>JE</FUNCTION>\r
+                       <FUNCTION>JECXZ</FUNCTION>\r
+                       <FUNCTION>JG</FUNCTION>\r
+                       <FUNCTION>JGE</FUNCTION>\r
+                       <FUNCTION>JL</FUNCTION>\r
+                       <FUNCTION>JLE</FUNCTION>\r
+                       <FUNCTION>JMP</FUNCTION>\r
+                       <FUNCTION>JNA</FUNCTION>\r
+                       <FUNCTION>JNAE</FUNCTION>\r
+                       <FUNCTION>JNB</FUNCTION>\r
+                       <FUNCTION>JNBE</FUNCTION>\r
+                       <FUNCTION>JNC</FUNCTION>\r
+                       <FUNCTION>JNE</FUNCTION>\r
+                       <FUNCTION>JNG</FUNCTION>\r
+                       <FUNCTION>JNGE</FUNCTION>\r
+                       <FUNCTION>JNL</FUNCTION>\r
+                       <FUNCTION>JNLE</FUNCTION>\r
+                       <FUNCTION>JNO</FUNCTION>\r
+                       <FUNCTION>JNP</FUNCTION>\r
+                       <FUNCTION>JNS</FUNCTION>\r
+                       <FUNCTION>JNZ</FUNCTION>\r
+                       <FUNCTION>JO</FUNCTION>\r
+                       <FUNCTION>JP</FUNCTION>\r
+                       <FUNCTION>JPE</FUNCTION>\r
+                       <FUNCTION>JPO</FUNCTION>\r
+                       <FUNCTION>JS</FUNCTION>\r
+                       <FUNCTION>JZ</FUNCTION>\r
+                       <FUNCTION>LAHF</FUNCTION>\r
+                       <FUNCTION>LAR</FUNCTION>\r
+                       <FUNCTION>LDMXCSR</FUNCTION>\r
+                       <FUNCTION>LDS</FUNCTION>\r
+                       <FUNCTION>LEA</FUNCTION>\r
+                       <FUNCTION>LEAVE</FUNCTION>\r
+                       <FUNCTION>LES</FUNCTION>\r
+                       <FUNCTION>LFS</FUNCTION>\r
+                       <FUNCTION>LGDT</FUNCTION>\r
+                       <FUNCTION>LGS</FUNCTION>\r
+                       <FUNCTION>LIDT</FUNCTION>\r
+                       <FUNCTION>LLDT</FUNCTION>\r
+                       <FUNCTION>LMSW</FUNCTION>\r
+                       <FUNCTION>LOCK</FUNCTION>\r
+                       <FUNCTION>LODS</FUNCTION>\r
+                       <FUNCTION>LODSB</FUNCTION>\r
+                       <FUNCTION>LODSD</FUNCTION>\r
+                       <FUNCTION>LODSW</FUNCTION>\r
+                       <FUNCTION>LOOP</FUNCTION>\r
+                       <FUNCTION>LOOPE</FUNCTION>\r
+                       <FUNCTION>LOOPNE</FUNCTION>\r
+                       <FUNCTION>LOOPNZ</FUNCTION>\r
+                       <FUNCTION>LOOPZ</FUNCTION>\r
+                       <FUNCTION>LSL</FUNCTION>\r
+                       <FUNCTION>LSS</FUNCTION>\r
+                       <FUNCTION>LTR</FUNCTION>\r
+                       <FUNCTION>MASKMOVQ</FUNCTION>\r
+                       <FUNCTION>MAXPS</FUNCTION>\r
+                       <FUNCTION>MAXSS</FUNCTION>\r
+                       <FUNCTION>MINPS</FUNCTION>\r
+                       <FUNCTION>MINSS</FUNCTION>\r
+                       <FUNCTION>MOV</FUNCTION>\r
+                       <FUNCTION>MOVAPS</FUNCTION>\r
+                       <FUNCTION>MOVD</FUNCTION>\r
+                       <FUNCTION>MOVHLPS</FUNCTION>\r
+                       <FUNCTION>MOVHPS</FUNCTION>\r
+                       <FUNCTION>MOVLHPS</FUNCTION>\r
+                       <FUNCTION>MOVLPS</FUNCTION>\r
+                       <FUNCTION>MOVMSKPS</FUNCTION>\r
+                       <FUNCTION>MOVNTPS</FUNCTION>\r
+                       <FUNCTION>MOVNTQ</FUNCTION>\r
+                       <FUNCTION>MOVQ</FUNCTION>\r
+                       <FUNCTION>MOVS</FUNCTION>\r
+                       <FUNCTION>MOVSB</FUNCTION>\r
+                       <FUNCTION>MOVSD</FUNCTION>\r
+                       <FUNCTION>MOVSS</FUNCTION>\r
+                       <FUNCTION>MOVSW</FUNCTION>\r
+                       <FUNCTION>MOVSX</FUNCTION>\r
+                       <FUNCTION>MOVUPS</FUNCTION>\r
+                       <FUNCTION>MOVZX</FUNCTION>\r
+                       <FUNCTION>MUL</FUNCTION>\r
+                       <FUNCTION>MULPS</FUNCTION>\r
+                       <FUNCTION>MULSS</FUNCTION>\r
+                       <FUNCTION>NEG</FUNCTION>\r
+                       <FUNCTION>NOP</FUNCTION>\r
+                       <FUNCTION>NOT</FUNCTION>\r
+                       <FUNCTION>OR</FUNCTION>\r
+                       <FUNCTION>ORPS</FUNCTION>\r
+                       <FUNCTION>OUT</FUNCTION>\r
+                       <FUNCTION>OUTS</FUNCTION>\r
+                       <FUNCTION>OUTSB</FUNCTION>\r
+                       <FUNCTION>OUTSD</FUNCTION>\r
+                       <FUNCTION>OUTSW</FUNCTION>\r
+                       <FUNCTION>PACKSSDW</FUNCTION>\r
+                       <FUNCTION>PACKSSWB</FUNCTION>\r
+                       <FUNCTION>PACKUSWB</FUNCTION>\r
+                       <FUNCTION>PADDB</FUNCTION>\r
+                       <FUNCTION>PADDD</FUNCTION>\r
+                       <FUNCTION>PADDSB</FUNCTION>\r
+                       <FUNCTION>PADDSW</FUNCTION>\r
+                       <FUNCTION>PADDUSB</FUNCTION>\r
+                       <FUNCTION>PADDUSW</FUNCTION>\r
+                       <FUNCTION>PADDW</FUNCTION>\r
+                       <FUNCTION>PAND</FUNCTION>\r
+                       <FUNCTION>PANDN</FUNCTION>\r
+                       <FUNCTION>PAVGB</FUNCTION>\r
+                       <FUNCTION>PAVGW</FUNCTION>\r
+                       <FUNCTION>PCMPEQB</FUNCTION>\r
+                       <FUNCTION>PCMPEQD</FUNCTION>\r
+                       <FUNCTION>PCMPEQW</FUNCTION>\r
+                       <FUNCTION>PCMPGTB</FUNCTION>\r
+                       <FUNCTION>PCMPGTD</FUNCTION>\r
+                       <FUNCTION>PCMPGTW</FUNCTION>\r
+                       <FUNCTION>PEXTRW</FUNCTION>\r
+                       <FUNCTION>PINSRW</FUNCTION>\r
+                       <FUNCTION>PMADDWD</FUNCTION>\r
+                       <FUNCTION>PMAXSW</FUNCTION>\r
+                       <FUNCTION>PMAXUB</FUNCTION>\r
+                       <FUNCTION>PMINSW</FUNCTION>\r
+                       <FUNCTION>PMINUB</FUNCTION>\r
+                       <FUNCTION>PMOVMSKB</FUNCTION>\r
+                       <FUNCTION>PMULHUW</FUNCTION>\r
+                       <FUNCTION>PMULHW</FUNCTION>\r
+                       <FUNCTION>PMULLW</FUNCTION>\r
+                       <FUNCTION>POP</FUNCTION>\r
+                       <FUNCTION>POPA</FUNCTION>\r
+                       <FUNCTION>POPAD</FUNCTION>\r
+                       <FUNCTION>POPAW</FUNCTION>\r
+                       <FUNCTION>POPF</FUNCTION>\r
+                       <FUNCTION>POPFD</FUNCTION>\r
+                       <FUNCTION>POPFW</FUNCTION>\r
+                       <FUNCTION>POR</FUNCTION>\r
+                       <FUNCTION>PREFETCH</FUNCTION>\r
+                       <FUNCTION>PSADBW</FUNCTION>\r
+                       <FUNCTION>PSHUFW</FUNCTION>\r
+                       <FUNCTION>PSLLD</FUNCTION>\r
+                       <FUNCTION>PSLLQ</FUNCTION>\r
+                       <FUNCTION>PSLLW</FUNCTION>\r
+                       <FUNCTION>PSRAD</FUNCTION>\r
+                       <FUNCTION>PSRAW</FUNCTION>\r
+                       <FUNCTION>PSRLD</FUNCTION>\r
+                       <FUNCTION>PSRLQ</FUNCTION>\r
+                       <FUNCTION>PSRLW</FUNCTION>\r
+                       <FUNCTION>PSUBB</FUNCTION>\r
+                       <FUNCTION>PSUBD</FUNCTION>\r
+                       <FUNCTION>PSUBSB</FUNCTION>\r
+                       <FUNCTION>PSUBSW</FUNCTION>\r
+                       <FUNCTION>PSUBUSB</FUNCTION>\r
+                       <FUNCTION>PSUBUSW</FUNCTION>\r
+                       <FUNCTION>PSUBW</FUNCTION>\r
+                       <FUNCTION>PUNPCKHBW</FUNCTION>\r
+                       <FUNCTION>PUNPCKHDQ</FUNCTION>\r
+                       <FUNCTION>PUNPCKHWD</FUNCTION>\r
+                       <FUNCTION>PUNPCKLBW</FUNCTION>\r
+                       <FUNCTION>PUNPCKLDQ</FUNCTION>\r
+                       <FUNCTION>PUNPCKLWD</FUNCTION>\r
+                       <FUNCTION>PUSH</FUNCTION>\r
+                       <FUNCTION>PUSHA</FUNCTION>\r
+                       <FUNCTION>PUSHAD</FUNCTION>\r
+                       <FUNCTION>PUSHAW</FUNCTION>\r
+                       <FUNCTION>PUSHF</FUNCTION>\r
+                       <FUNCTION>PUSHFD</FUNCTION>\r
+                       <FUNCTION>PUSHFW</FUNCTION>\r
+                       <FUNCTION>PXOR</FUNCTION>\r
+                       <FUNCTION>RCL</FUNCTION>\r
+                       <FUNCTION>RCR</FUNCTION>\r
+                       <FUNCTION>RDMSR</FUNCTION>\r
+                       <FUNCTION>RDPMC</FUNCTION>\r
+                       <FUNCTION>RDTSC</FUNCTION>\r
+                       <FUNCTION>REP</FUNCTION>\r
+                       <FUNCTION>REPE</FUNCTION>\r
+                       <FUNCTION>REPNE</FUNCTION>\r
+                       <FUNCTION>REPNZ</FUNCTION>\r
+                       <FUNCTION>REPZ</FUNCTION>\r
+                       <FUNCTION>RET</FUNCTION>\r
+                       <FUNCTION>RETF</FUNCTION>\r
+                       <FUNCTION>RETN</FUNCTION>\r
+                       <FUNCTION>ROL</FUNCTION>\r
+                       <FUNCTION>ROR</FUNCTION>\r
+                       <FUNCTION>RSM</FUNCTION>\r
+                       <FUNCTION>SAHF</FUNCTION>\r
+                       <FUNCTION>SAL</FUNCTION>\r
+                       <FUNCTION>SAR</FUNCTION>\r
+                       <FUNCTION>SBB</FUNCTION>\r
+                       <FUNCTION>SCAS</FUNCTION>\r
+                       <FUNCTION>SCASB</FUNCTION>\r
+                       <FUNCTION>SCASD</FUNCTION>\r
+                       <FUNCTION>SCASW</FUNCTION>\r
+                       <FUNCTION>SETA</FUNCTION>\r
+                       <FUNCTION>SETAE</FUNCTION>\r
+                       <FUNCTION>SETB</FUNCTION>\r
+                       <FUNCTION>SETBE</FUNCTION>\r
+                       <FUNCTION>SETC</FUNCTION>\r
+                       <FUNCTION>SETE</FUNCTION>\r
+                       <FUNCTION>SETG</FUNCTION>\r
+                       <FUNCTION>SETGE</FUNCTION>\r
+                       <FUNCTION>SETL</FUNCTION>\r
+                       <FUNCTION>SETLE</FUNCTION>\r
+                       <FUNCTION>SETNA</FUNCTION>\r
+                       <FUNCTION>SETNAE</FUNCTION>\r
+                       <FUNCTION>SETNB</FUNCTION>\r
+                       <FUNCTION>SETNBE</FUNCTION>\r
+                       <FUNCTION>SETNC</FUNCTION>\r
+                       <FUNCTION>SETNE</FUNCTION>\r
+                       <FUNCTION>SETNG</FUNCTION>\r
+                       <FUNCTION>SETNGE</FUNCTION>\r
+                       <FUNCTION>SETNL</FUNCTION>\r
+                       <FUNCTION>SETNLE</FUNCTION>\r
+                       <FUNCTION>SETNO</FUNCTION>\r
+                       <FUNCTION>SETNP</FUNCTION>\r
+                       <FUNCTION>SETNS</FUNCTION>\r
+                       <FUNCTION>SETNZ</FUNCTION>\r
+                       <FUNCTION>SETO</FUNCTION>\r
+                       <FUNCTION>SETP</FUNCTION>\r
+                       <FUNCTION>SETPE</FUNCTION>\r
+                       <FUNCTION>SETPO</FUNCTION>\r
+                       <FUNCTION>SETS</FUNCTION>\r
+                       <FUNCTION>SETZ</FUNCTION>\r
+                       <FUNCTION>SFENCE</FUNCTION>\r
+                       <FUNCTION>SGDT</FUNCTION>\r
+                       <FUNCTION>SHL</FUNCTION>\r
+                       <FUNCTION>SHLD</FUNCTION>\r
+                       <FUNCTION>SHR</FUNCTION>\r
+                       <FUNCTION>SHRD</FUNCTION>\r
+                       <FUNCTION>SHUFPS</FUNCTION>\r
+                       <FUNCTION>SIDT</FUNCTION>\r
+                       <FUNCTION>SLDT</FUNCTION>\r
+                       <FUNCTION>SMSW</FUNCTION>\r
+                       <FUNCTION>SQRTPS</FUNCTION>\r
+                       <FUNCTION>SQRTSS</FUNCTION>\r
+                       <FUNCTION>STC</FUNCTION>\r
+                       <FUNCTION>STD</FUNCTION>\r
+                       <FUNCTION>STI</FUNCTION>\r
+                       <FUNCTION>STMXCSR</FUNCTION>\r
+                       <FUNCTION>STOS</FUNCTION>\r
+                       <FUNCTION>STOSB</FUNCTION>\r
+                       <FUNCTION>STOSD</FUNCTION>\r
+                       <FUNCTION>STOSW</FUNCTION>\r
+                       <FUNCTION>STR</FUNCTION>\r
+                       <FUNCTION>SUB</FUNCTION>\r
+                       <FUNCTION>SUBPS</FUNCTION>\r
+                       <FUNCTION>SUBSS</FUNCTION>\r
+                       <FUNCTION>SYSENTER</FUNCTION>\r
+                       <FUNCTION>SYSEXIT</FUNCTION>\r
+                       <FUNCTION>TEST</FUNCTION>\r
+                       <FUNCTION>UB2</FUNCTION>\r
+                       <FUNCTION>UCOMISS</FUNCTION>\r
+                       <FUNCTION>UNPCKHPS</FUNCTION>\r
+                       <FUNCTION>UNPCKLPS</FUNCTION>\r
+                       <FUNCTION>WAIT</FUNCTION>\r
+                       <FUNCTION>WBINVD</FUNCTION>\r
+                       <FUNCTION>VERR</FUNCTION>\r
+                       <FUNCTION>VERW</FUNCTION>\r
+                       <FUNCTION>WRMSR</FUNCTION>\r
+                       <FUNCTION>XADD</FUNCTION>\r
+                       <FUNCTION>XCHG</FUNCTION>\r
+                       <FUNCTION>XLAT</FUNCTION>\r
+                       <FUNCTION>XLATB</FUNCTION>\r
+                       <FUNCTION>XOR</FUNCTION>\r
+                       <FUNCTION>XORPS</FUNCTION>\r
+\r
+                       <!-- Instructions: 3DNow! -->\r
+                       <FUNCTION>FEMMS</FUNCTION>\r
+                       <FUNCTION>PAVGUSB</FUNCTION>\r
+                       <FUNCTION>PF2ID</FUNCTION>\r
+                       <FUNCTION>PFACC</FUNCTION>\r
+                       <FUNCTION>PFADD</FUNCTION>\r
+                       <FUNCTION>PFCMPEQ</FUNCTION>\r
+                       <FUNCTION>PFCMPGE</FUNCTION>\r
+                       <FUNCTION>PFCMPGT</FUNCTION>\r
+                       <FUNCTION>PFMAX</FUNCTION>\r
+                       <FUNCTION>PFMIN</FUNCTION>\r
+                       <FUNCTION>PFMUL</FUNCTION>\r
+                       <FUNCTION>PFRCP</FUNCTION>\r
+                       <FUNCTION>PFRCPIT1</FUNCTION>\r
+                       <FUNCTION>PFRCPIT2</FUNCTION>\r
+                       <FUNCTION>PFRSQIT1</FUNCTION>\r
+                       <FUNCTION>PFRSQRT</FUNCTION>\r
+                       <FUNCTION>PFSUB</FUNCTION>\r
+                       <FUNCTION>PFSUBR</FUNCTION>\r
+                       <FUNCTION>PI2FD</FUNCTION>\r
+                       <FUNCTION>PMULHRW</FUNCTION>\r
+                       <FUNCTION>PREFETCHW</FUNCTION>\r
+\r
+                       <!-- Instructions: 3DNow! (Athlon extensions) -->\r
+                       <FUNCTION>PF2IW</FUNCTION>\r
+                       <FUNCTION>PFNACC</FUNCTION>\r
+                       <FUNCTION>PFPNACC</FUNCTION>\r
+                       <FUNCTION>PI2FW</FUNCTION>\r
+                       <FUNCTION>PSWAPD</FUNCTION>\r
+\r
+                       <!-- Instructions: MMX (Athlon extensions) -->\r
+                       <FUNCTION>PREFETCHNTA</FUNCTION>\r
+                       <FUNCTION>PREFETCHT0</FUNCTION>\r
+                       <FUNCTION>PREFETCHT1</FUNCTION>\r
+                       <FUNCTION>PREFETCHT2</FUNCTION>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/awk.xml b/basis/xmode/modes/awk.xml
new file mode 100644 (file)
index 0000000..2be33ea
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- AWK mode, by Matthias M. Schneider -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+                       MATCH_TYPE="OPERATOR"\r
+                       TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>close</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>fflush</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>huge</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <KEYWORD1>nextfile</KEYWORD1>\r
+                       <KEYWORD1>print</KEYWORD1>\r
+                       <KEYWORD1>printf</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD2>atan2</KEYWORD2>\r
+                       <KEYWORD2>cos</KEYWORD2>\r
+                       <KEYWORD2>exp</KEYWORD2>\r
+                       <KEYWORD2>gensub</KEYWORD2>\r
+                       <KEYWORD2>getline</KEYWORD2>\r
+                       <KEYWORD2>gsub</KEYWORD2>\r
+                       <KEYWORD2>index</KEYWORD2>\r
+                       <KEYWORD2>int</KEYWORD2>\r
+                       <KEYWORD2>length</KEYWORD2>\r
+                       <KEYWORD2>log</KEYWORD2>\r
+                       <KEYWORD2>match</KEYWORD2>\r
+                       <KEYWORD2>rand</KEYWORD2>\r
+                       <KEYWORD2>sin</KEYWORD2>\r
+                       <KEYWORD2>split</KEYWORD2>\r
+                       <KEYWORD2>sprintf</KEYWORD2>\r
+                       <KEYWORD2>sqrt</KEYWORD2>\r
+                       <KEYWORD2>srand</KEYWORD2>\r
+                       <KEYWORD2>sub</KEYWORD2>\r
+                       <KEYWORD2>substr</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>tolower</KEYWORD2>\r
+                       <KEYWORD2>toupper</KEYWORD2>\r
+\r
+                       <KEYWORD3>BEGIN</KEYWORD3>\r
+                       <KEYWORD3>END</KEYWORD3>\r
+                       <KEYWORD3>$0</KEYWORD3>\r
+                       <KEYWORD3>ARGC</KEYWORD3>\r
+                       <KEYWORD3>ARGIND</KEYWORD3>\r
+                       <KEYWORD3>ARGV</KEYWORD3>\r
+                       <KEYWORD3>CONVFMT</KEYWORD3>\r
+                       <KEYWORD3>ENVIRON</KEYWORD3>\r
+                       <KEYWORD3>ERRNO</KEYWORD3>\r
+                       <KEYWORD3>FIELDSWIDTH</KEYWORD3>\r
+                       <KEYWORD3>FILENAME</KEYWORD3>\r
+                       <KEYWORD3>FNR</KEYWORD3>\r
+                       <KEYWORD3>FS</KEYWORD3>\r
+                       <KEYWORD3>IGNORECASE</KEYWORD3>\r
+                       <KEYWORD3>NF</KEYWORD3>\r
+                       <KEYWORD3>NR</KEYWORD3>\r
+                       <KEYWORD3>OFMT</KEYWORD3>\r
+                       <KEYWORD3>OFS</KEYWORD3>\r
+                       <KEYWORD3>ORS</KEYWORD3>\r
+                       <KEYWORD3>RLENGTH</KEYWORD3>\r
+                       <KEYWORD3>RS</KEYWORD3>\r
+                       <KEYWORD3>RSTART</KEYWORD3>\r
+                       <KEYWORD3>RT</KEYWORD3>\r
+                       <KEYWORD3>SUBSEP</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/b.xml b/basis/xmode/modes/b.xml
new file mode 100644 (file)
index 0000000..6609b19
--- /dev/null
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLine" VALUE="\s*(((ANY|ASSERT|CASE|CHOICE|IF|LET|PRE|SELECT|VAR|WHILE|WHEN)\s*\(|ELSE|ELSEIF|EITHER|OR|VARIANT|INVARIANT)[^;]*|for\s*\(.*)" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- B style comment -->\r
+               <SPAN TYPE="COMMENT3">\r
+                       <BEGIN>/*?</BEGIN>\r
+                       <END>?*/</END>\r
+               </SPAN>\r
+               \r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+                               \r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               \r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">#</SEQ>\r
+               <SEQ TYPE="OPERATOR">$0</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <!-- pour le & -->\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <!-- pour le < et  > -->\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               \r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               \r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+\r
+               <KEYWORDS>\r
+               \r
+                       <!-- clauses -->\r
+                       <KEYWORD2>ABSTRACT_CONSTANTS</KEYWORD2>\r
+                       <KEYWORD2>ABSTRACT_VARIABLES</KEYWORD2>\r
+                       <KEYWORD2>CONCRETE_CONSTANTS</KEYWORD2>\r
+                       <KEYWORD2>CONCRETE_VARIABLES</KEYWORD2>\r
+                       <KEYWORD2>CONSTANTS</KEYWORD2>\r
+                       <KEYWORD2>VARIABLES</KEYWORD2>\r
+                       <KEYWORD2>ASSERTIONS</KEYWORD2>\r
+                       <KEYWORD2>CONSTRAINTS</KEYWORD2>\r
+                       <KEYWORD2>DEFINITIONS</KEYWORD2>\r
+                       <KEYWORD2>EXTENDS</KEYWORD2>\r
+                       <KEYWORD2>IMPLEMENTATION</KEYWORD2>\r
+                       <KEYWORD2>IMPORTS</KEYWORD2>\r
+                       <KEYWORD2>INCLUDES</KEYWORD2>\r
+                       <KEYWORD2>INITIALISATION</KEYWORD2>\r
+                       <KEYWORD2>INVARIANT</KEYWORD2>\r
+                       <KEYWORD2>LOCAL_OPERATIONS</KEYWORD2>\r
+                       <KEYWORD2>MACHINE</KEYWORD2>\r
+                       <KEYWORD2>OPERATIONS</KEYWORD2>\r
+                       <KEYWORD2>PROMOTES</KEYWORD2>\r
+                       <KEYWORD2>PROPERTIES</KEYWORD2>\r
+                       <KEYWORD2>REFINES</KEYWORD2>\r
+                       <KEYWORD2>REFINEMENT</KEYWORD2>\r
+                       <KEYWORD2>SEES</KEYWORD2>\r
+                       <KEYWORD2>SETS</KEYWORD2>\r
+                       <KEYWORD2>USES</KEYWORD2>\r
+                       <KEYWORD2>VALUES</KEYWORD2>\r
+\r
+       \r
+                       <!-- substitutions -->\r
+                       <KEYWORD2>ANY</KEYWORD2>\r
+                       <KEYWORD2>ASSERT</KEYWORD2>\r
+                       <KEYWORD2>BE</KEYWORD2>\r
+                       <KEYWORD2>BEGIN</KEYWORD2>\r
+                       <KEYWORD2>CASE</KEYWORD2>\r
+                       <KEYWORD2>CHOICE</KEYWORD2>\r
+                       <KEYWORD2>DO</KEYWORD2>\r
+                       <KEYWORD2>EITHER</KEYWORD2>\r
+                       <KEYWORD2>ELSE</KEYWORD2>\r
+                       <KEYWORD2>ELSIF</KEYWORD2>\r
+                       <!-- voir pour le end -->\r
+                       <KEYWORD2>END</KEYWORD2>\r
+                       <KEYWORD2>IF</KEYWORD2>\r
+                       <KEYWORD2>IN</KEYWORD2>\r
+                       <KEYWORD2>LET</KEYWORD2>\r
+                       <KEYWORD2>OF</KEYWORD2>\r
+                       <KEYWORD2>OR</KEYWORD2>\r
+                       <KEYWORD2>PRE</KEYWORD2>\r
+                       <KEYWORD2>SELECT</KEYWORD2>\r
+                       <KEYWORD2>THEN</KEYWORD2>\r
+                       <KEYWORD2>VAR</KEYWORD2>\r
+                       <KEYWORD2>VARIANT</KEYWORD2>\r
+                       <KEYWORD2>WHEN</KEYWORD2>\r
+                       <KEYWORD2>WHERE</KEYWORD2>\r
+                       <KEYWORD2>WHILE</KEYWORD2>\r
+                       \r
+                       \r
+                       <KEYWORD3>FIN</KEYWORD3>\r
+                       <KEYWORD3>FIN1</KEYWORD3>\r
+                       <KEYWORD3>INT</KEYWORD3>\r
+                       <KEYWORD3>INTEGER</KEYWORD3>\r
+                       <KEYWORD3>INTER</KEYWORD3>\r
+                       <KEYWORD3>MAXINT</KEYWORD3>\r
+                       <KEYWORD3>MININT</KEYWORD3>\r
+                       <KEYWORD3>NAT</KEYWORD3>\r
+                       <KEYWORD3>NAT1</KEYWORD3>\r
+                       <KEYWORD3>NATURAL</KEYWORD3>\r
+                       <KEYWORD3>NATURAL1</KEYWORD3>\r
+                       <KEYWORD3>PI</KEYWORD3>\r
+                       <KEYWORD3>POW</KEYWORD3>\r
+                       <KEYWORD3>POW1</KEYWORD3>\r
+                       <KEYWORD3>SIGMA</KEYWORD3>\r
+                       <KEYWORD3>UNION</KEYWORD3>\r
+\r
+                       <FUNCTION>arity</FUNCTION>\r
+                       <FUNCTION>bin</FUNCTION>\r
+                       <FUNCTION>bool</FUNCTION>\r
+                       <FUNCTION>btree</FUNCTION>\r
+                       <FUNCTION>card</FUNCTION>\r
+                       <FUNCTION>closure</FUNCTION>\r
+                       <FUNCTION>closure1</FUNCTION>\r
+                       <FUNCTION>conc</FUNCTION>\r
+                       <FUNCTION>const</FUNCTION>\r
+                       <FUNCTION>dom</FUNCTION>\r
+                       <FUNCTION>father</FUNCTION>\r
+                       <FUNCTION>first</FUNCTION>\r
+                       <FUNCTION>fnc</FUNCTION>\r
+                       <FUNCTION>front</FUNCTION>\r
+                       <FUNCTION>id</FUNCTION>\r
+                       <FUNCTION>infix</FUNCTION>\r
+                       <FUNCTION>inter</FUNCTION>\r
+                       <FUNCTION>iseq</FUNCTION>\r
+                       <FUNCTION>iseq1</FUNCTION>\r
+                       <FUNCTION>iterate</FUNCTION>\r
+                       <FUNCTION>last</FUNCTION>\r
+                       <FUNCTION>left</FUNCTION>\r
+                       <FUNCTION>max</FUNCTION>\r
+                       <FUNCTION>min</FUNCTION>\r
+                       <FUNCTION>mirror</FUNCTION>\r
+                       <FUNCTION>mod</FUNCTION>\r
+                       <FUNCTION>not</FUNCTION>\r
+                       <FUNCTION>or</FUNCTION>\r
+                       <FUNCTION>perm</FUNCTION>\r
+                       <FUNCTION>postfix</FUNCTION>\r
+                       <FUNCTION>pred</FUNCTION>\r
+                       <FUNCTION>prefix</FUNCTION>\r
+                       <FUNCTION>prj1</FUNCTION>\r
+                       <FUNCTION>prj2</FUNCTION>\r
+                       <FUNCTION>r~</FUNCTION>\r
+                       <FUNCTION>ran</FUNCTION>\r
+                       <FUNCTION>rank</FUNCTION>\r
+                       <FUNCTION>rec</FUNCTION>\r
+                       <FUNCTION>rel</FUNCTION>\r
+                       <FUNCTION>rev</FUNCTION>\r
+                       <FUNCTION>right</FUNCTION>\r
+                       <FUNCTION>seq</FUNCTION>\r
+                       <FUNCTION>seq1</FUNCTION>\r
+                       <FUNCTION>size</FUNCTION>\r
+                       <FUNCTION>sizet</FUNCTION>\r
+                       <FUNCTION>skip</FUNCTION>\r
+                       <FUNCTION>son</FUNCTION>\r
+                       <FUNCTION>sons</FUNCTION>\r
+                       <FUNCTION>struct</FUNCTION>\r
+                       <FUNCTION>subtree</FUNCTION>\r
+                       <FUNCTION>succ</FUNCTION>\r
+                       <FUNCTION>tail</FUNCTION>\r
+                       <FUNCTION>top</FUNCTION>\r
+                       <FUNCTION>tree</FUNCTION>\r
+                       <FUNCTION>union</FUNCTION>\r
+\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/batch.xml b/basis/xmode/modes/batch.xml
new file mode 100644 (file)
index 0000000..ebfe13a
--- /dev/null
@@ -0,0 +1,172 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       09-10-2003 - Mirco Bova\r
+       Added some new batch commands using win2K help as reference.\r
+\r
+       04-12-2001 - Mirco Bova\r
+       this file is based on the original JEdit batch.xml mode.\r
+       The main upgrade consisting in adding the standard MS-DOS\r
+       commands as keywords and functions:\r
+       - keywords =            internal shell commands;\r
+       -       functions =             standard MS-DOS commands (.exe or .com in DOS or\r
+                                                                       windows\command directory).\r
+\r
+       Minor enhancements by Alex Jacoby on 28-feb-2003\r
+-->\r
+\r
+<!-- The keywords and functions here defined are those of MS-DOS 6.22,\r
+                plus a few as of Windows XP.\r
+ -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="rem" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE=")" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+               <!-- 'echo off' statements -->\r
+               <SEQ TYPE="KEYWORD3">@</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+               <!-- labels - eg ":test" or "goto :test" -->\r
+               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="LABEL">:</MARK_FOLLOWING>\r
+\r
+               <!-- comments -->\r
+               <EOL_SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="REM" TYPE="COMMENT1">REM\s</EOL_SPAN_REGEXP>\r
+\r
+               <!-- literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- variables -->\r
+               <SEQ TYPE="KEYWORD2">%0</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%1</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%2</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%3</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%4</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%5</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%6</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%7</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%8</SEQ>\r
+               <SEQ TYPE="KEYWORD2">%9</SEQ>\r
+               <!-- for-loop variable (one char after %%) -->\r
+               <SEQ_REGEXP TYPE="KEYWORD2"\r
+                                       HASH_CHAR="%%"\r
+                                       AT_WORD_START="TRUE"\r
+                                       >%%[\p{Alpha}]</SEQ_REGEXP>\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>%</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <!-- KEYWORD1 are internal MS-DOS shell commands -->\r
+                       <KEYWORD1>cd</KEYWORD1>\r
+                       <KEYWORD1>chdir</KEYWORD1>\r
+                       <KEYWORD1>md</KEYWORD1>\r
+                       <KEYWORD1>mkdir</KEYWORD1>\r
+\r
+                       <KEYWORD1>cls</KEYWORD1>\r
+\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+\r
+                       <KEYWORD1>echo</KEYWORD1>\r
+                       <KEYWORD1>echo.</KEYWORD1>\r
+\r
+                       <KEYWORD1>move</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>move</KEYWORD1>\r
+                       <KEYWORD1>ren</KEYWORD1>\r
+                       <KEYWORD1>del</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+\r
+                       <!-- new KEYWORDS from Win2K help -->\r
+                       <KEYWORD1>call</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>setlocal</KEYWORD1>\r
+                       <KEYWORD1>shift</KEYWORD1>\r
+                       <KEYWORD1>endlocal</KEYWORD1>\r
+                       <KEYWORD1>pause</KEYWORD1>\r
+\r
+                       <!-- KEYWORD2 are commands options -->\r
+\r
+                       <KEYWORD2>defined</KEYWORD2>\r
+                       <KEYWORD2>exist</KEYWORD2>\r
+                       <KEYWORD2>errorlevel</KEYWORD2>\r
+\r
+                       <!-- new KEYWORD options from Win2K help -->\r
+                       <KEYWORD2>else</KEYWORD2>\r
+\r
+                       <KEYWORD2>in</KEYWORD2>\r
+                       <KEYWORD2>do</KEYWORD2>\r
+\r
+                       <KEYWORD2>NUL</KEYWORD2>\r
+                       <KEYWORD2>AUX</KEYWORD2>\r
+                       <KEYWORD2>PRN</KEYWORD2>\r
+\r
+                       <KEYWORD1>not</KEYWORD1>\r
+\r
+                       <!-- goto is a special case we want to distinguish it -->\r
+                       <KEYWORD3>goto</KEYWORD3>\r
+\r
+                       <!-- FUNCTION are standard MS-DOS commands -->\r
+                       <!-- (those you find as stand-alone .exe or .com) in win95 %windows_root%\command folder -->\r
+                       <FUNCTION>APPEND</FUNCTION>\r
+                       <FUNCTION>ATTRIB</FUNCTION>\r
+                       <FUNCTION>CHKDSK</FUNCTION>\r
+                       <FUNCTION>CHOICE</FUNCTION>\r
+                       <FUNCTION>DEBUG</FUNCTION>\r
+                       <FUNCTION>DEFRAG</FUNCTION>\r
+                       <FUNCTION>DELTREE</FUNCTION>\r
+                       <FUNCTION>DISKCOMP</FUNCTION>\r
+                       <FUNCTION>DISKCOPY</FUNCTION>\r
+                       <FUNCTION>DOSKEY</FUNCTION>\r
+                       <FUNCTION>DRVSPACE</FUNCTION>\r
+                       <FUNCTION>EMM386</FUNCTION>\r
+                       <FUNCTION>EXPAND</FUNCTION>\r
+                       <FUNCTION>FASTOPEN</FUNCTION>\r
+                       <FUNCTION>FC</FUNCTION>\r
+                       <FUNCTION>FDISK</FUNCTION>\r
+                       <FUNCTION>FIND</FUNCTION>\r
+                       <FUNCTION>FORMAT</FUNCTION>\r
+                       <FUNCTION>GRAPHICS</FUNCTION>\r
+                       <FUNCTION>KEYB</FUNCTION>\r
+                       <FUNCTION>LABEL</FUNCTION>\r
+                       <FUNCTION>LOADFIX</FUNCTION>\r
+                       <FUNCTION>MEM</FUNCTION>\r
+                       <FUNCTION>MODE</FUNCTION>\r
+                       <FUNCTION>MORE</FUNCTION>\r
+                       <FUNCTION>MOVE</FUNCTION>\r
+                       <FUNCTION>MSCDEX</FUNCTION>\r
+                       <FUNCTION>NLSFUNC</FUNCTION>\r
+                       <FUNCTION>POWER</FUNCTION>\r
+                       <FUNCTION>PRINT</FUNCTION>\r
+                       <FUNCTION>RD</FUNCTION>\r
+                       <FUNCTION>REPLACE</FUNCTION>\r
+                       <FUNCTION>RESTORE</FUNCTION>\r
+                       <FUNCTION>SETVER</FUNCTION>\r
+                       <FUNCTION>SHARE</FUNCTION>\r
+                       <FUNCTION>SORT</FUNCTION>\r
+                       <FUNCTION>SUBST</FUNCTION>\r
+                       <FUNCTION>SYS</FUNCTION>\r
+                       <FUNCTION>TREE</FUNCTION>\r
+                       <FUNCTION>UNDELETE</FUNCTION>\r
+                       <FUNCTION>UNFORMAT</FUNCTION>\r
+                       <FUNCTION>VSAFE</FUNCTION>\r
+                       <FUNCTION>XCOPY</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/bbj.xml b/basis/xmode/modes/bbj.xml
new file mode 100644 (file)
index 0000000..91f684c
--- /dev/null
@@ -0,0 +1,308 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- enhancement if using some preprocessor -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">REM </EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR"> and </SEQ>\r
+               <SEQ TYPE="OPERATOR"> or </SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>ABS</KEYWORD1>\r
+                       <KEYWORD1>ADJN</KEYWORD1>\r
+                       <KEYWORD1>ARGC</KEYWORD1>\r
+                       <KEYWORD1>ARGV</KEYWORD1>\r
+                       <KEYWORD1>ASC</KEYWORD1>\r
+                       <KEYWORD1>ATH</KEYWORD1>\r
+                       <KEYWORD1>ATN</KEYWORD1>\r
+                       <KEYWORD1>BACKGROUND</KEYWORD1>\r
+                       <KEYWORD1>BIN</KEYWORD1>\r
+                       <KEYWORD1>BSZ</KEYWORD1>\r
+                       <KEYWORD1>CALLBACK</KEYWORD1>\r
+                       <KEYWORD1>CHANOPT</KEYWORD1>\r
+                       <KEYWORD1>CHR</KEYWORD1>\r
+                       <KEYWORD1>CLIPCLEAR</KEYWORD1>\r
+                       <KEYWORD1>CLIPFROMFILE</KEYWORD1>\r
+                       <KEYWORD1>CLIPFROMSTR</KEYWORD1>\r
+                       <KEYWORD1>CLIPISFORMAT</KEYWORD1>\r
+                       <KEYWORD1>CLIPLOCK</KEYWORD1>\r
+                       <KEYWORD1>CLIPREGFORMAT</KEYWORD1>\r
+                       <KEYWORD1>CLIPTOFILE</KEYWORD1>\r
+                       <KEYWORD1>CLIPTOSTR</KEYWORD1>\r
+                       <KEYWORD1>CLIPUNLOCK</KEYWORD1>\r
+                       <KEYWORD1>COS</KEYWORD1>\r
+                       <KEYWORD1>CPL</KEYWORD1>\r
+                       <KEYWORD1>CRC</KEYWORD1>\r
+                       <KEYWORD1>CRC16</KEYWORD1>\r
+                       <KEYWORD1>CTRL</KEYWORD1>\r
+                       <KEYWORD1>CVS</KEYWORD1>\r
+                       <KEYWORD1>CVT</KEYWORD1>\r
+                       <KEYWORD1>DATE</KEYWORD1>\r
+                       <KEYWORD1>DEC</KEYWORD1>\r
+                       <KEYWORD1>DIMS</KEYWORD1>\r
+                       <KEYWORD1>DSK</KEYWORD1>\r
+                       <KEYWORD1>DSZ</KEYWORD1>\r
+                       <KEYWORD1>EPT</KEYWORD1>\r
+                       <KEYWORD1>ERRMES</KEYWORD1>\r
+                       <KEYWORD1>FATTR</KEYWORD1>\r
+                       <KEYWORD1>FBIN</KEYWORD1>\r
+                       <KEYWORD1>FDEC</KEYWORD1>\r
+                       <KEYWORD1>FIELD</KEYWORD1>\r
+                       <KEYWORD1>FILEOPT</KEYWORD1>\r
+                       <KEYWORD1>FILL</KEYWORD1>\r
+                       <KEYWORD1>FLOATINGPOINT</KEYWORD1>\r
+                       <KEYWORD1>FPT</KEYWORD1>\r
+                       <KEYWORD1>GAP</KEYWORD1>\r
+                       <KEYWORD1>HSA</KEYWORD1>\r
+                       <KEYWORD1>HSH</KEYWORD1>\r
+                       <KEYWORD1>HTA</KEYWORD1>\r
+                       <KEYWORD1>IMP</KEYWORD1>\r
+                       <KEYWORD1>INFO</KEYWORD1>\r
+                       <KEYWORD1>INT</KEYWORD1>\r
+                       <KEYWORD1>JUL</KEYWORD1>\r
+                       <KEYWORD1>LCHECKIN</KEYWORD1>\r
+                       <KEYWORD1>LCHECKOUT</KEYWORD1>\r
+                       <KEYWORD1>LEN</KEYWORD1>\r
+                       <KEYWORD1>LINFO</KEYWORD1>\r
+                       <KEYWORD1>LOG</KEYWORD1>\r
+                       <KEYWORD1>LRC</KEYWORD1>\r
+                       <KEYWORD1>LST</KEYWORD1>\r
+                       <KEYWORD1>MASK</KEYWORD1>\r
+                       <KEYWORD1>MAX</KEYWORD1>\r
+                       <KEYWORD1>MENUINFO</KEYWORD1>\r
+                       <KEYWORD1>MIN</KEYWORD1>\r
+                       <KEYWORD1>MOD</KEYWORD1>\r
+                       <KEYWORD1>MSGBOX</KEYWORD1>\r
+                       <KEYWORD1>NEVAL</KEYWORD1>\r
+                       <KEYWORD1>NFIELD</KEYWORD1>\r
+                       <KEYWORD1>NOTICE</KEYWORD1>\r
+                       <KEYWORD1>NOTICETPL</KEYWORD1>\r
+                       <KEYWORD1>NUM</KEYWORD1>\r
+                       <KEYWORD1>PAD</KEYWORD1>\r
+                       <KEYWORD1>PCK</KEYWORD1>\r
+                       <KEYWORD1>PGM</KEYWORD1>\r
+                       <KEYWORD1>POS</KEYWORD1>\r
+                       <KEYWORD1>PROCESS_EVENTS</KEYWORD1>\r
+                       <KEYWORD1>PROGRAM</KEYWORD1>\r
+                       <KEYWORD1>PSZ</KEYWORD1>\r
+                       <KEYWORD1>PUB</KEYWORD1>\r
+                       <KEYWORD1>REMOVE_CALLBACK</KEYWORD1>\r
+                       <KEYWORD1>RESERVE</KEYWORD1>\r
+                       <KEYWORD1>RND</KEYWORD1>\r
+                       <KEYWORD1>ROUND</KEYWORD1>\r
+                       <KEYWORD1>SCALL</KEYWORD1>\r
+                       <KEYWORD1>SENDMSG</KEYWORD1>\r
+                       <KEYWORD1>SEVAL</KEYWORD1>\r
+                       <KEYWORD1>SGN</KEYWORD1>\r
+                       <KEYWORD1>SIN</KEYWORD1>\r
+                       <KEYWORD1>SQR</KEYWORD1>\r
+                       <KEYWORD1>SSORT</KEYWORD1>\r
+                       <KEYWORD1>SSZ</KEYWORD1>\r
+                       <KEYWORD1>STBL</KEYWORD1>\r
+                       <KEYWORD1>STR</KEYWORD1>\r
+                       <KEYWORD1>SWAP</KEYWORD1>\r
+                       <KEYWORD1>SYS</KEYWORD1>\r
+                       <KEYWORD1>TCB</KEYWORD1>\r
+                       <KEYWORD1>TMPL</KEYWORD1>\r
+                       <KEYWORD1>TSK</KEYWORD1>\r
+                       <KEYWORD1>UPK</KEYWORD1>\r
+                       <KEYWORD1>WINFIRST</KEYWORD1>\r
+                       <KEYWORD1>WININFO</KEYWORD1>\r
+                       <KEYWORD1>WINNEXT</KEYWORD1>\r
+\r
+                       <KEYWORD2>CHDIR</KEYWORD2>\r
+                       <KEYWORD2>CISAM</KEYWORD2>\r
+                       <KEYWORD2>CLOSE</KEYWORD2>\r
+                       <KEYWORD2>CONTINUE</KEYWORD2>\r
+                       <KEYWORD2>DIRECT</KEYWORD2>\r
+                       <KEYWORD2>DIR</KEYWORD2>\r
+                       <KEYWORD2>DISABLE</KEYWORD2>\r
+                       <KEYWORD2>DOM</KEYWORD2>\r
+                       <KEYWORD2>DUMP</KEYWORD2>\r
+                       <KEYWORD2>ENABLE</KEYWORD2>\r
+                       <KEYWORD2>END</KEYWORD2>\r
+                       <KEYWORD2>ENDTRACE</KEYWORD2>\r
+                       <KEYWORD2>ERASE</KEYWORD2>\r
+                       <KEYWORD2>EXTRACT</KEYWORD2>\r
+                       <KEYWORD2>FID</KEYWORD2>\r
+                       <KEYWORD2>FILE</KEYWORD2>\r
+                       <KEYWORD2>FIN</KEYWORD2>\r
+                       <KEYWORD2>FIND</KEYWORD2>\r
+                       <KEYWORD2>FROM</KEYWORD2>\r
+                       <KEYWORD2>IND</KEYWORD2>\r
+                       <KEYWORD2>INDEXED</KEYWORD2>\r
+                       <KEYWORD2>INPUT</KEYWORD2>\r
+                       <KEYWORD2>INPUTE</KEYWORD2>\r
+                       <KEYWORD2>INPUTN</KEYWORD2>\r
+                       <KEYWORD2>IOL</KEYWORD2>\r
+                       <KEYWORD2>IOLIST</KEYWORD2>\r
+                       <KEYWORD2>KEY</KEYWORD2>\r
+                       <KEYWORD2>KEYF</KEYWORD2>\r
+                       <KEYWORD2>KEYL</KEYWORD2>\r
+                       <KEYWORD2>KEYN</KEYWORD2>\r
+                       <KEYWORD2>KEYP</KEYWORD2>\r
+                       <KEYWORD2>KGEN</KEYWORD2>\r
+                       <KEYWORD2>KNUM</KEYWORD2>\r
+                       <KEYWORD2>LIST</KEYWORD2>\r
+                       <KEYWORD2>LOAD</KEYWORD2>\r
+                       <KEYWORD2>LOCK</KEYWORD2>\r
+                       <KEYWORD2>MERGE</KEYWORD2>\r
+                       <KEYWORD2>MKDIR</KEYWORD2>\r
+                       <KEYWORD2>MKEYED</KEYWORD2>\r
+                       <KEYWORD2>OPEN</KEYWORD2>\r
+                       <KEYWORD2>PREFIX</KEYWORD2>\r
+                       <KEYWORD2>PRINT</KEYWORD2>\r
+                       <KEYWORD2>READ_RESOURCE</KEYWORD2>\r
+                       <KEYWORD2>READ</KEYWORD2>\r
+                       <KEYWORD2>RECORD</KEYWORD2>\r
+                       <KEYWORD2>REMOVE</KEYWORD2>\r
+                       <KEYWORD2>RENAME</KEYWORD2>\r
+                       <KEYWORD2>RESCLOSE</KEYWORD2>\r
+                       <KEYWORD2>RESFIRST</KEYWORD2>\r
+                       <KEYWORD2>RESGET</KEYWORD2>\r
+                       <KEYWORD2>RESINFO</KEYWORD2>\r
+                       <KEYWORD2>RESNEXT</KEYWORD2>\r
+                       <KEYWORD2>RESOPEN</KEYWORD2>\r
+                       <KEYWORD2>REV</KEYWORD2>\r
+                       <KEYWORD2>RMDIR</KEYWORD2>\r
+                       <KEYWORD2>SAVE</KEYWORD2>\r
+                       <KEYWORD2>SELECT</KEYWORD2>\r
+                       <KEYWORD2>SERIAL</KEYWORD2>\r
+                       <KEYWORD2>SETDAY</KEYWORD2>\r
+                       <KEYWORD2>SETDRIVE</KEYWORD2>\r
+                       <KEYWORD2>SETTRACE</KEYWORD2>\r
+                       <KEYWORD2>SIZ</KEYWORD2>\r
+                       <KEYWORD2>SORT</KEYWORD2>\r
+                       <KEYWORD2>SQLCHN</KEYWORD2>\r
+                       <KEYWORD2>SQLCLOSE</KEYWORD2>\r
+                       <KEYWORD2>SQLERR</KEYWORD2>\r
+                       <KEYWORD2>SQLEXEC</KEYWORD2>\r
+                       <KEYWORD2>SQLFETCH</KEYWORD2>\r
+                       <KEYWORD2>SQLLIST</KEYWORD2>\r
+                       <KEYWORD2>SQLOPEN</KEYWORD2>\r
+                       <KEYWORD2>SQLPREP</KEYWORD2>\r
+                       <KEYWORD2>SQLSET</KEYWORD2>\r
+                       <KEYWORD2>SQLTABLES</KEYWORD2>\r
+                       <KEYWORD2>SQLTMPL</KEYWORD2>\r
+                       <KEYWORD2>SQLUNT</KEYWORD2>\r
+                       <KEYWORD2>STRING</KEYWORD2>\r
+                       <KEYWORD2>TABLE</KEYWORD2>\r
+                       <KEYWORD2>TBL</KEYWORD2>\r
+                       <KEYWORD2>TIM</KEYWORD2>\r
+                       <KEYWORD2>UNLOCK</KEYWORD2>\r
+                       <KEYWORD2>WHERE</KEYWORD2>\r
+                       <KEYWORD2>WRITE</KEYWORD2>\r
+                       <KEYWORD2>XFID</KEYWORD2>\r
+                       <KEYWORD2>XFILE</KEYWORD2>\r
+                       <KEYWORD2>XFIN</KEYWORD2>\r
+\r
+                       <KEYWORD3>ADDR</KEYWORD3>\r
+                       <KEYWORD3>ALL</KEYWORD3>\r
+                       <KEYWORD3>AUTO</KEYWORD3>\r
+                       <KEYWORD3>BEGIN</KEYWORD3>\r
+                       <KEYWORD3>BREAK</KEYWORD3>\r
+                       <KEYWORD3>CALL</KEYWORD3>\r
+                       <KEYWORD3>CASE</KEYWORD3>\r
+                       <KEYWORD3>CHN</KEYWORD3>\r
+                       <KEYWORD3>CLEAR</KEYWORD3>\r
+                       <KEYWORD3>CTL</KEYWORD3>\r
+                       <KEYWORD3>DATA</KEYWORD3>\r
+                       <KEYWORD3>DAY</KEYWORD3>\r
+                       <KEYWORD3>DEF</KEYWORD3>\r
+                       <KEYWORD3>DEFAULT</KEYWORD3>\r
+                       <KEYWORD3>DEFEND</KEYWORD3>\r
+                       <KEYWORD3>DELETE</KEYWORD3>\r
+                       <KEYWORD3>DIM</KEYWORD3>\r
+                       <KEYWORD3>DREAD</KEYWORD3>\r
+                       <KEYWORD3>DROP</KEYWORD3>\r
+                       <KEYWORD3>EDIT</KEYWORD3>\r
+                       <KEYWORD3>ELSE</KEYWORD3>\r
+                       <KEYWORD3>ENDIF</KEYWORD3>\r
+                       <KEYWORD3>ENTER</KEYWORD3>\r
+                       <KEYWORD3>ERR</KEYWORD3>\r
+                       <KEYWORD3>ESCAPE</KEYWORD3>\r
+                       <KEYWORD3>ESCOFF</KEYWORD3>\r
+                       <KEYWORD3>ESCON</KEYWORD3>\r
+                       <KEYWORD3>EXECUTE</KEYWORD3>\r
+                       <KEYWORD3>EXIT</KEYWORD3>\r
+                       <KEYWORD3>EXITTO</KEYWORD3>\r
+                       <KEYWORD3>FI</KEYWORD3>\r
+                       <KEYWORD3>FOR</KEYWORD3>\r
+                       <KEYWORD3>GOSUB</KEYWORD3>\r
+                       <KEYWORD3>GOTO</KEYWORD3>\r
+                       <KEYWORD3>IF</KEYWORD3>\r
+                       <KEYWORD3>IFF</KEYWORD3>\r
+                       <KEYWORD3>INITFILE</KEYWORD3>\r
+                       <KEYWORD3>IOR</KEYWORD3>\r
+                       <KEYWORD3>LET</KEYWORD3>\r
+                       <KEYWORD3>NEXT</KEYWORD3>\r
+                       <KEYWORD3>NOT</KEYWORD3>\r
+                       <KEYWORD3>ON</KEYWORD3>\r
+                       <KEYWORD3>OPTS</KEYWORD3>\r
+                       <KEYWORD3>OR</KEYWORD3>\r
+                       <KEYWORD3>PFX</KEYWORD3>\r
+                       <KEYWORD3>PRECISION</KEYWORD3>\r
+                       <KEYWORD3>RELEASE</KEYWORD3>\r
+                       <KEYWORD3>RENUM</KEYWORD3>\r
+                       <KEYWORD3>REPEAT</KEYWORD3>\r
+                       <KEYWORD3>RESET</KEYWORD3>\r
+                       <KEYWORD3>RESTORE</KEYWORD3>\r
+                       <KEYWORD3>RETRY</KEYWORD3>\r
+                       <KEYWORD3>RETURN</KEYWORD3>\r
+                       <KEYWORD3>RUN</KEYWORD3>\r
+                       <KEYWORD3>SET_CASE_SENSITIVE_OFF</KEYWORD3>\r
+                       <KEYWORD3>SET_CASE_SENSITIVE_ON</KEYWORD3>\r
+                       <KEYWORD3>SETERR</KEYWORD3>\r
+                       <KEYWORD3>SETESC</KEYWORD3>\r
+                       <KEYWORD3>SETOPTS</KEYWORD3>\r
+                       <KEYWORD3>SETTIME</KEYWORD3>\r
+                       <KEYWORD3>SSN</KEYWORD3>\r
+                       <KEYWORD3>START</KEYWORD3>\r
+                       <KEYWORD3>STEP</KEYWORD3>\r
+                       <KEYWORD3>STOP</KEYWORD3>\r
+                       <KEYWORD3>SWEND</KEYWORD3>\r
+                       <KEYWORD3>SWITCH</KEYWORD3>\r
+                       <KEYWORD3>THEN</KEYWORD3>\r
+                       <KEYWORD3>TO</KEYWORD3>\r
+                       <KEYWORD3>UNT</KEYWORD3>\r
+                       <KEYWORD3>UNTIL</KEYWORD3>\r
+                       <KEYWORD3>WAIT</KEYWORD3>\r
+                       <KEYWORD3>WEND</KEYWORD3>\r
+                       <KEYWORD3>WHILE</KEYWORD3>\r
+                       <KEYWORD3>XOR</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/bcel.xml b/basis/xmode/modes/bcel.xml
new file mode 100644 (file)
index 0000000..628911f
--- /dev/null
@@ -0,0 +1,320 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+    Java bytecode mode. Used by Andre Kaplan's JavaInsight plugin.\r
+-->\r
+\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+    </PROPS>\r
+\r
+\r
+    <RULES HIGHLIGHT_DIGITS="TRUE">\r
+        <!-- Silly comment -->\r
+        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+        <!-- Javadoc comment -->\r
+        <SPAN TYPE="COMMENT3">\r
+            <BEGIN>/**</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <!-- Java comment (C style) -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>/*</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+\r
+        <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="FALSE">%</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="FALSE">#</MARK_FOLLOWING>\r
+\r
+        <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+            AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <!-- Some java keywords -->\r
+            <KEYWORD1>abstract</KEYWORD1>\r
+            <!-- <KEYWORD1>break</KEYWORD1> -->\r
+            <!-- <KEYWORD1>case</KEYWORD1> -->\r
+            <!-- <KEYWORD1>catch</KEYWORD1> -->\r
+            <!-- <KEYWORD1>continue</KEYWORD1> -->\r
+            <!-- <KEYWORD1>default</KEYWORD1> -->\r
+            <!-- <KEYWORD1>do</KEYWORD1> -->\r
+            <!-- <KEYWORD1>else</KEYWORD1> -->\r
+            <KEYWORD1>extends</KEYWORD1>\r
+            <KEYWORD1>final</KEYWORD1>\r
+            <!-- <KEYWORD1>finally</KEYWORD1> -->\r
+            <!-- <KEYWORD1>for</KEYWORD1> -->\r
+            <!-- <KEYWORD1>if</KEYWORD1> -->\r
+            <KEYWORD1>implements</KEYWORD1>\r
+            <!-- <KEYWORD1>instanceof</KEYWORD1> -->\r
+            <KEYWORD1>native</KEYWORD1>\r
+            <!-- <KEYWORD1>new</KEYWORD1> -->\r
+            <KEYWORD1>private</KEYWORD1>\r
+            <KEYWORD1>protected</KEYWORD1>\r
+            <KEYWORD1>public</KEYWORD1>\r
+            <!-- <KEYWORD1>return</KEYWORD1> -->\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <!-- <KEYWORD1>switch</KEYWORD1> -->\r
+            <KEYWORD1>synchronized</KEYWORD1>\r
+            <KEYWORD1>throw</KEYWORD1>\r
+            <KEYWORD1>throws</KEYWORD1>\r
+            <KEYWORD1>transient</KEYWORD1>\r
+            <!-- <KEYWORD1>try</KEYWORD1> -->\r
+            <KEYWORD1>volatile</KEYWORD1>\r
+            <!-- <KEYWORD1>while</KEYWORD1> -->\r
+\r
+            <!-- <KEYWORD2>package</KEYWORD2> -->\r
+            <!-- <KEYWORD2>import</KEYWORD2> -->\r
+\r
+            <KEYWORD3>boolean</KEYWORD3>\r
+            <KEYWORD3>byte</KEYWORD3>\r
+            <KEYWORD3>char</KEYWORD3>\r
+            <KEYWORD3>class</KEYWORD3>\r
+            <KEYWORD3>double</KEYWORD3>\r
+            <KEYWORD3>float</KEYWORD3>\r
+            <KEYWORD3>int</KEYWORD3>\r
+            <KEYWORD3>interface</KEYWORD3>\r
+            <KEYWORD3>long</KEYWORD3>\r
+            <KEYWORD3>short</KEYWORD3>\r
+            <KEYWORD3>void</KEYWORD3>\r
+\r
+            <!-- <LITERAL2>false</LITERAL2> -->\r
+            <!-- <LITERAL2>null</LITERAL2> -->\r
+            <!-- <LITERAL2>super</LITERAL2> -->\r
+            <!-- <LITERAL2>this</LITERAL2> -->\r
+            <!-- <LITERAL2>true</LITERAL2> -->\r
+\r
+            <KEYWORD1>clinit</KEYWORD1>\r
+            <KEYWORD1>init</KEYWORD1>\r
+\r
+            <!-- 00 (0x00) --><KEYWORD1>nop</KEYWORD1>\r
+            <!-- 01 (0x01) --><KEYWORD1>aconst_null</KEYWORD1>\r
+            <!-- 02 (0x02) --><KEYWORD1>iconst_m1</KEYWORD1>\r
+            <!-- 03 (0x03) --><KEYWORD1>iconst_0</KEYWORD1>\r
+            <!-- 04 (0x04) --><KEYWORD1>iconst_1</KEYWORD1>\r
+            <!-- 05 (0x05) --><KEYWORD1>iconst_2</KEYWORD1>\r
+            <!-- 06 (0x06) --><KEYWORD1>iconst_3</KEYWORD1>\r
+            <!-- 07 (0x07) --><KEYWORD1>iconst_4</KEYWORD1>\r
+            <!-- 08 (0x08) --><KEYWORD1>iconst_5</KEYWORD1>\r
+            <!-- 09 (0x09) --><KEYWORD1>lconst_0</KEYWORD1>\r
+            <!-- 10 (0x0a) --><KEYWORD1>lconst_1</KEYWORD1>\r
+            <!-- 11 (0x0b) --><KEYWORD1>fconst_0</KEYWORD1>\r
+            <!-- 12 (0x0c) --><KEYWORD1>fconst_1</KEYWORD1>\r
+            <!-- 13 (0x0d) --><KEYWORD1>fconst_2</KEYWORD1>\r
+            <!-- 14 (0x0e) --><KEYWORD1>dconst_0</KEYWORD1>\r
+            <!-- 15 (0x0f) --><KEYWORD1>dconst_1</KEYWORD1>\r
+            <!-- 16 (0x10) --><KEYWORD1>bipush</KEYWORD1>\r
+            <!-- 17 (0x11) --><KEYWORD1>sipush</KEYWORD1>\r
+            <!-- 18 (0x12) --><KEYWORD1>ldc</KEYWORD1>\r
+            <!-- 19 (0x13) --><KEYWORD1>ldc_w</KEYWORD1>\r
+            <!-- 20 (0x14) --><KEYWORD1>ldc2_w</KEYWORD1>\r
+            <!-- 21 (0x15) --><KEYWORD1>iload</KEYWORD1>\r
+            <!-- 22 (0x16) --><KEYWORD1>lload</KEYWORD1>\r
+            <!-- 23 (0x17) --><KEYWORD1>fload</KEYWORD1>\r
+            <!-- 24 (0x18) --><KEYWORD1>dload</KEYWORD1>\r
+            <!-- 25 (0x19) --><KEYWORD1>aload</KEYWORD1>\r
+            <!-- 26 (0x1a) --><KEYWORD1>iload_0</KEYWORD1>\r
+            <!-- 27 (0x1b) --><KEYWORD1>iload_1</KEYWORD1>\r
+            <!-- 28 (0x1c) --><KEYWORD1>iload_2</KEYWORD1>\r
+            <!-- 29 (0x1d) --><KEYWORD1>iload_3</KEYWORD1>\r
+            <!-- 30 (0x1e) --><KEYWORD1>lload_0</KEYWORD1>\r
+            <!-- 31 (0x1f) --><KEYWORD1>lload_1</KEYWORD1>\r
+            <!-- 32 (0x20) --><KEYWORD1>lload_2</KEYWORD1>\r
+            <!-- 33 (0x21) --><KEYWORD1>lload_3</KEYWORD1>\r
+            <!-- 34 (0x22) --><KEYWORD1>fload_0</KEYWORD1>\r
+            <!-- 35 (0x23) --><KEYWORD1>fload_1</KEYWORD1>\r
+            <!-- 36 (0x24) --><KEYWORD1>fload_2</KEYWORD1>\r
+            <!-- 37 (0x25) --><KEYWORD1>fload_3</KEYWORD1>\r
+            <!-- 38 (0x26) --><KEYWORD1>dload_0</KEYWORD1>\r
+            <!-- 39 (0x27) --><KEYWORD1>dload_1</KEYWORD1>\r
+            <!-- 40 (0x28) --><KEYWORD1>dload_2</KEYWORD1>\r
+            <!-- 41 (0x29) --><KEYWORD1>dload_3</KEYWORD1>\r
+            <!-- 42 (0x2a) --><KEYWORD1>aload_0</KEYWORD1>\r
+            <!-- 43 (0x2b) --><KEYWORD1>aload_1</KEYWORD1>\r
+            <!-- 44 (0x2c) --><KEYWORD1>aload_2</KEYWORD1>\r
+            <!-- 45 (0x2d) --><KEYWORD1>aload_3</KEYWORD1>\r
+            <!-- 46 (0x2e) --><KEYWORD1>iaload</KEYWORD1>\r
+            <!-- 47 (0x2f) --><KEYWORD1>laload</KEYWORD1>\r
+            <!-- 48 (0x30) --><KEYWORD1>faload</KEYWORD1>\r
+            <!-- 49 (0x31) --><KEYWORD1>daload</KEYWORD1>\r
+            <!-- 50 (0x32) --><KEYWORD1>aaload</KEYWORD1>\r
+            <!-- 51 (0x33) --><KEYWORD1>baload</KEYWORD1>\r
+            <!-- 52 (0x34) --><KEYWORD1>caload</KEYWORD1>\r
+            <!-- 53 (0x35) --><KEYWORD1>saload</KEYWORD1>\r
+            <!-- 54 (0x36) --><KEYWORD1>istore</KEYWORD1>\r
+            <!-- 55 (0x37) --><KEYWORD1>lstore</KEYWORD1>\r
+            <!-- 56 (0x38) --><KEYWORD1>fstore</KEYWORD1>\r
+            <!-- 57 (0x39) --><KEYWORD1>dstore</KEYWORD1>\r
+            <!-- 58 (0x3a) --><KEYWORD1>astore</KEYWORD1>\r
+            <!-- 59 (0x3b) --><KEYWORD1>istore_0</KEYWORD1>\r
+            <!-- 60 (0x3c) --><KEYWORD1>istore_1</KEYWORD1>\r
+            <!-- 61 (0x3d) --><KEYWORD1>istore_2</KEYWORD1>\r
+            <!-- 62 (0x3e) --><KEYWORD1>istore_3</KEYWORD1>\r
+            <!-- 63 (0x3f) --><KEYWORD1>lstore_0</KEYWORD1>\r
+            <!-- 64 (0x40) --><KEYWORD1>lstore_1</KEYWORD1>\r
+            <!-- 65 (0x41) --><KEYWORD1>lstore_2</KEYWORD1>\r
+            <!-- 66 (0x42) --><KEYWORD1>lstore_3</KEYWORD1>\r
+            <!-- 67 (0x43) --><KEYWORD1>fstore_0</KEYWORD1>\r
+            <!-- 68 (0x44) --><KEYWORD1>fstore_1</KEYWORD1>\r
+            <!-- 69 (0x45) --><KEYWORD1>fstore_2</KEYWORD1>\r
+            <!-- 70 (0x46) --><KEYWORD1>fstore_3</KEYWORD1>\r
+            <!-- 71 (0x47) --><KEYWORD1>dstore_0</KEYWORD1>\r
+            <!-- 72 (0x48) --><KEYWORD1>dstore_1</KEYWORD1>\r
+            <!-- 73 (0x49) --><KEYWORD1>dstore_2</KEYWORD1>\r
+            <!-- 74 (0x4a) --><KEYWORD1>dstore_3</KEYWORD1>\r
+            <!-- 75 (0x4b) --><KEYWORD1>astore_0</KEYWORD1>\r
+            <!-- 76 (0x4c) --><KEYWORD1>astore_1</KEYWORD1>\r
+            <!-- 77 (0x4d) --><KEYWORD1>astore_2</KEYWORD1>\r
+            <!-- 78 (0x4e) --><KEYWORD1>astore_3</KEYWORD1>\r
+            <!-- 79 (0x4f) --><KEYWORD1>iastore</KEYWORD1>\r
+            <!-- 80 (0x50) --><KEYWORD1>lastore</KEYWORD1>\r
+            <!-- 81 (0x51) --><KEYWORD1>fastore</KEYWORD1>\r
+            <!-- 82 (0x52) --><KEYWORD1>dastore</KEYWORD1>\r
+            <!-- 83 (0x53) --><KEYWORD1>aastore</KEYWORD1>\r
+            <!-- 84 (0x54) --><KEYWORD1>bastore</KEYWORD1>\r
+            <!-- 85 (0x55) --><KEYWORD1>castore</KEYWORD1>\r
+            <!-- 86 (0x56) --><KEYWORD1>sastore</KEYWORD1>\r
+            <!-- 87 (0x57) --><KEYWORD1>pop</KEYWORD1>\r
+            <!-- 88 (0x58) --><KEYWORD1>pop2</KEYWORD1>\r
+            <!-- 089 (0x59) --><KEYWORD1>dup</KEYWORD1>\r
+            <!-- 090 (0x5a) --><KEYWORD1>dup_x1</KEYWORD1>\r
+            <!-- 091 (0x5b) --><KEYWORD1>dup_x2</KEYWORD1>\r
+            <!-- 092 (0x5c) --><KEYWORD1>dup2</KEYWORD1>\r
+            <!-- 093 (0x5d) --><KEYWORD1>dup2_x1</KEYWORD1>\r
+            <!-- 094 (0x5e) --><KEYWORD1>dup2_x2</KEYWORD1>\r
+            <!-- 095 (0x5f) --><KEYWORD1>swap</KEYWORD1>\r
+            <!-- 096 (0x60) --><KEYWORD1>iadd</KEYWORD1>\r
+            <!-- 097 (0x61) --><KEYWORD1>ladd</KEYWORD1>\r
+            <!-- 098 (0x62) --><KEYWORD1>fadd</KEYWORD1>\r
+            <!-- 099 (0x63) --><KEYWORD1>dadd</KEYWORD1>\r
+            <!-- 100 (0x64) --><KEYWORD1>isub</KEYWORD1>\r
+            <!-- 101 (0x65) --><KEYWORD1>lsub</KEYWORD1>\r
+            <!-- 102 (0x66) --><KEYWORD1>fsub</KEYWORD1>\r
+            <!-- 103 (0x67) --><KEYWORD1>dsub</KEYWORD1>\r
+            <!-- 104 (0x68) --><KEYWORD1>imul</KEYWORD1>\r
+            <!-- 105 (0x69) --><KEYWORD1>lmul</KEYWORD1>\r
+            <!-- 106 (0x6a) --><KEYWORD1>fmul</KEYWORD1>\r
+            <!-- 107 (0x6b) --><KEYWORD1>dmul</KEYWORD1>\r
+            <!-- 108 (0x6c) --><KEYWORD1>idiv</KEYWORD1>\r
+            <!-- 109 (0x6d) --><KEYWORD1>ldiv</KEYWORD1>\r
+            <!-- 110 (0x6e) --><KEYWORD1>fdiv</KEYWORD1>\r
+            <!-- 111 (0x6f) --><KEYWORD1>ddiv</KEYWORD1>\r
+            <!-- 112 (0x70) --><KEYWORD1>irem</KEYWORD1>\r
+            <!-- 113 (0x71) --><KEYWORD1>lrem</KEYWORD1>\r
+            <!-- 114 (0x72) --><KEYWORD1>frem</KEYWORD1>\r
+            <!-- 115 (0x73) --><KEYWORD1>drem</KEYWORD1>\r
+            <!-- 116 (0x74) --><KEYWORD1>ineg</KEYWORD1>\r
+            <!-- 117 (0x75) --><KEYWORD1>lneg</KEYWORD1>\r
+            <!-- 118 (0x76) --><KEYWORD1>fneg</KEYWORD1>\r
+            <!-- 119 (0x77) --><KEYWORD1>dneg</KEYWORD1>\r
+            <!-- 120 (0x78) --><KEYWORD1>ishl</KEYWORD1>\r
+            <!-- 121 (0x79) --><KEYWORD1>lshl</KEYWORD1>\r
+            <!-- 122 (0x7a) --><KEYWORD1>ishr</KEYWORD1>\r
+            <!-- 123 (0x7b) --><KEYWORD1>lshr</KEYWORD1>\r
+            <!-- 124 (0x7c) --><KEYWORD1>iushr</KEYWORD1>\r
+            <!-- 125 (0x7d) --><KEYWORD1>lushr</KEYWORD1>\r
+            <!-- 126 (0x7e) --><KEYWORD1>iand</KEYWORD1>\r
+            <!-- 127 (0x7f) --><KEYWORD1>land</KEYWORD1>\r
+            <!-- 128 (0x80) --><KEYWORD1>ior</KEYWORD1>\r
+            <!-- 129 (0x81) --><KEYWORD1>lor</KEYWORD1>\r
+            <!-- 130 (0x82) --><KEYWORD1>ixor</KEYWORD1>\r
+            <!-- 131 (0x83) --><KEYWORD1>lxor</KEYWORD1>\r
+            <!-- 132 (0x84) --><KEYWORD1>iinc</KEYWORD1>\r
+            <!-- 133 (0x85) --><KEYWORD1>i2l</KEYWORD1>\r
+            <!-- 134 (0x86) --><KEYWORD1>i2f</KEYWORD1>\r
+            <!-- 135 (0x87) --><KEYWORD1>i2d</KEYWORD1>\r
+            <!-- 136 (0x88) --><KEYWORD1>l2i</KEYWORD1>\r
+            <!-- 137 (0x89) --><KEYWORD1>l2f</KEYWORD1>\r
+            <!-- 138 (0x8a) --><KEYWORD1>l2d</KEYWORD1>\r
+            <!-- 139 (0x8b) --><KEYWORD1>f2i</KEYWORD1>\r
+            <!-- 140 (0x8c) --><KEYWORD1>f2l</KEYWORD1>\r
+            <!-- 141 (0x8d) --><KEYWORD1>f2d</KEYWORD1>\r
+            <!-- 142 (0x8e) --><KEYWORD1>d2i</KEYWORD1>\r
+            <!-- 143 (0x8f) --><KEYWORD1>d2l</KEYWORD1>\r
+            <!-- 144 (0x90) --><KEYWORD1>d2f</KEYWORD1>\r
+            <!-- 145 (0x91) --><KEYWORD1>i2b</KEYWORD1>\r
+            <!-- 146 (0x92) --><KEYWORD1>i2c</KEYWORD1>\r
+            <!-- 147 (0x93) --><KEYWORD1>i2s</KEYWORD1>\r
+            <!-- 148 (0x94) --><KEYWORD1>lcmp</KEYWORD1>\r
+            <!-- 149 (0x95) --><KEYWORD1>fcmpl</KEYWORD1>\r
+            <!-- 150 (0x96) --><KEYWORD1>fcmpg</KEYWORD1>\r
+            <!-- 151 (0x97) --><KEYWORD1>dcmpl</KEYWORD1>\r
+            <!-- 152 (0x98) --><KEYWORD1>dcmpg</KEYWORD1>\r
+            <!-- 153 (0x99) --><KEYWORD1>ifeq</KEYWORD1>\r
+            <!-- 154 (0x9a) --><KEYWORD1>ifne</KEYWORD1>\r
+            <!-- 155 (0x9b) --><KEYWORD1>iflt</KEYWORD1>\r
+            <!-- 156 (0x9c) --><KEYWORD1>ifge</KEYWORD1>\r
+            <!-- 157 (0x9d) --><KEYWORD1>ifgt</KEYWORD1>\r
+            <!-- 158 (0x9e) --><KEYWORD1>ifle</KEYWORD1>\r
+            <!-- 159 (0x9f) --><KEYWORD1>if_icmpeq</KEYWORD1>\r
+            <!-- 160 (0xa0) --><KEYWORD1>if_icmpne</KEYWORD1>\r
+            <!-- 161 (0xa1) --><KEYWORD1>if_icmplt</KEYWORD1>\r
+            <!-- 162 (0xa2) --><KEYWORD1>if_icmpge</KEYWORD1>\r
+            <!-- 163 (0xa3) --><KEYWORD1>if_icmpgt</KEYWORD1>\r
+            <!-- 164 (0xa4) --><KEYWORD1>if_icmple</KEYWORD1>\r
+            <!-- 165 (0xa5) --><KEYWORD1>if_acmpeq</KEYWORD1>\r
+            <!-- 166 (0xa6) --><KEYWORD1>if_acmpne</KEYWORD1>\r
+            <!-- 167 (0xa7) --><KEYWORD1>goto</KEYWORD1>\r
+            <!-- 168 (0xa8) --><KEYWORD1>jsr</KEYWORD1>\r
+            <!-- 169 (0xa9) --><KEYWORD1>ret</KEYWORD1>\r
+            <!-- 170 (0xaa) --><KEYWORD1>tableswitch</KEYWORD1>\r
+            <!-- 171 (0xab) --><KEYWORD1>lookupswitch</KEYWORD1>\r
+            <!-- 172 (0xac) --><KEYWORD1>ireturn</KEYWORD1>\r
+            <!-- 173 (0xad) --><KEYWORD1>lreturn</KEYWORD1>\r
+            <!-- 174 (0xae) --><KEYWORD1>freturn</KEYWORD1>\r
+            <!-- 175 (0xaf) --><KEYWORD1>dreturn</KEYWORD1>\r
+            <!-- 176 (0xb0) --><KEYWORD1>areturn</KEYWORD1>\r
+            <!-- 177 (0xb1) --><KEYWORD1>return</KEYWORD1>\r
+            <!-- 178 (0xb2) --><KEYWORD1>getstatic</KEYWORD1>\r
+            <!-- 179 (0xb3) --><KEYWORD1>putstatic</KEYWORD1>\r
+            <!-- 180 (0xb4) --><KEYWORD1>getfield</KEYWORD1>\r
+            <!-- 181 (0xb5) --><KEYWORD1>putfield</KEYWORD1>\r
+            <!-- 182 (0xb6) --><KEYWORD1>invokevirtual</KEYWORD1>\r
+            <!-- 183 (0xb7) --><KEYWORD1>invokespecial</KEYWORD1>\r
+            <!-- 184 (0xb8) --><KEYWORD1>invokestatic</KEYWORD1>\r
+            <!-- 185 (0xb9) --><KEYWORD1>invokeinterface</KEYWORD1>\r
+            <!-- 186 (0xba) --><!-- xxxunusedxxx -->\r
+            <!-- 187 (0xbb) --><KEYWORD1>new</KEYWORD1>\r
+            <!-- 188 (0xbc) --><KEYWORD1>newarray</KEYWORD1>\r
+            <!-- 189 (0xbd) --><KEYWORD1>anewarray</KEYWORD1>\r
+            <!-- 190 (0xbe) --><KEYWORD1>arraylength</KEYWORD1>\r
+            <!-- 191 (0xbf) --><KEYWORD1>athrow</KEYWORD1>\r
+            <!-- 192 (0xc0) --><KEYWORD1>checkcast</KEYWORD1>\r
+            <!-- 193 (0xc1) --><KEYWORD1>instanceof</KEYWORD1>\r
+            <!-- 194 (0xc2) --><KEYWORD1>monitorenter</KEYWORD1>\r
+            <!-- 195 (0xc3) --><KEYWORD1>monitorexit</KEYWORD1>\r
+            <!-- 196 (0xc4) --><KEYWORD1>wide</KEYWORD1>\r
+            <!-- 197 (0xc5) --><KEYWORD1>multianewarray</KEYWORD1>\r
+            <!-- 198 (0xc6) --><KEYWORD1>ifnull</KEYWORD1>\r
+            <!-- 199 (0xc7) --><KEYWORD1>ifnonnull</KEYWORD1>\r
+            <!-- 200 (0xc8) --><KEYWORD1>goto_w</KEYWORD1>\r
+            <!-- 201 (0xc9) --><KEYWORD1>jsr_w</KEYWORD1>\r
+\r
+            <!-- Reserved opcodes: -->\r
+            <!-- 202 (0xca) --><KEYWORD1>breakpoint</KEYWORD1>\r
+            <!-- 254 (0xfe) --><KEYWORD1>impdep1</KEYWORD1>\r
+            <!-- 255 (0xff) --><KEYWORD1>impdep2</KEYWORD1>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/bibtex.xml b/basis/xmode/modes/bibtex.xml
new file mode 100644 (file)
index 0000000..d9211c0
--- /dev/null
@@ -0,0 +1,960 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--  BibTeX mode, by Thomas Alspaugh alspaugh@ics.uci.edu, 2004Mar25  v1.1  -->\r
+<!--  Catalog entry (suggested)\r
+<MODE NAME="BibTeX"            FILE="bibtex.xml"\r
+                               FILE_NAME_GLOB="*.bib" />\r
+  -->\r
+<!--\r
+      This BibTeX mode highlights the fields for each entry type to distinguish\r
+      required, optional, or other fields from Lamport.  \r
+      I have added several commonly-accepted fields (highlighted in yet another\r
+      color);  these are\r
+\r
+        abstract\r
+        annotation\r
+        day\r
+        keywords\r
+        lccn\r
+        location\r
+        references\r
+        url\r
+\r
+      The month name abbreviations are highlighted (jan, feb, mar, ...).\r
+      Escaped quotes (as in {\"o}) are treated correctly.\r
+      Text may be quoted "" or braced {} and may contain \{\}.\r
+      Entries may be braced {} or parenthesized ().\r
+      @strings are highlighted correctly.\r
+      .\r
+      Comments and suggestions are welcome.\r
+      Enjoy!\r
+  -->\r
+<!--  Things BibTeX mode does not do:\r
+        - highlight keys, which must appear after the { or ( \r
+          and match [a-zA-Z0-9.:;?!`'()[\]\-/*@]+\r
+  -->\r
+<!--  Use of token types:\r
+        COMMENT1   % comments\r
+        FUNCTION   entries\r
+        KEYWORD1   additional fields\r
+        KEYWORD2   Lamport fields neither required nor optional\r
+        KEYWORD3   Lamport fields optional\r
+        KEYWORD4   Lamport fields required\r
+        LITERAL1   "text", months, unquoted numbers\r
+        LITERAL2   {text}\r
+        LITERAL3  \{text\}\r
+        OPERATOR   = ,\r
+  -->\r
+<!--  bibtex.xml is generated automatically from a summary of Lamport \r
+      "LaTeX : A document preparation system : User guide and reference manual",\r
+      1994 (LaTeX2e) edition, appendix B, using a Perl scripts.  -->\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="lineComment" VALUE="%"/>\r
+  </PROPS>\r
+\r
+  <RULES IGNORE_CASE="TRUE">\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+    \r
+    <!-- Entry types.  Each entry type has its own ruleset. -->\r
+    <!-- entry: FUNCTION -->\r
+    <SPAN TYPE="FUNCTION" DELEGATE="article"      ><BEGIN>@article{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="article"      ><BEGIN>@article(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="book"         ><BEGIN>@book{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="book"         ><BEGIN>@book(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="booklet"      ><BEGIN>@booklet{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="booklet"      ><BEGIN>@booklet(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="conference"   ><BEGIN>@conference{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="conference"   ><BEGIN>@conference(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="inbook"       ><BEGIN>@inbook{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="inbook"       ><BEGIN>@inbook(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="incollection" ><BEGIN>@incollection{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="incollection" ><BEGIN>@incollection(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="inproceedings"><BEGIN>@inproceedings{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="inproceedings"><BEGIN>@inproceedings(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="manual"       ><BEGIN>@manual{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="manual"       ><BEGIN>@manual(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="mastersthesis"><BEGIN>@mastersthesis{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="mastersthesis"><BEGIN>@mastersthesis(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="misc"         ><BEGIN>@misc{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="misc"         ><BEGIN>@misc(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="phdthesis"    ><BEGIN>@phdthesis{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="phdthesis"    ><BEGIN>@phdthesis(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="proceedings"  ><BEGIN>@proceedings{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="proceedings"  ><BEGIN>@proceedings(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="techreport"   ><BEGIN>@techreport{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="techreport"   ><BEGIN>@techreport(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="unpublished"  ><BEGIN>@unpublished{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="unpublished"  ><BEGIN>@unpublished(</BEGIN><END>)</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="string"       ><BEGIN>@string{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="FUNCTION" DELEGATE="string"       ><BEGIN>@string(</BEGIN><END>)</END></SPAN>\r
+    \r
+  </RULES>\r
+\r
+<RULES SET="article">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>journal</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>pages</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>address</KEYWORD2>\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="book">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>editor</KEYWORD4>\r
+      <KEYWORD4>publisher</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>edition</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="booklet">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>author</KEYWORD3>\r
+      <KEYWORD3>howpublished</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>year</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="conference">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>booktitle</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>editor</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>organization</KEYWORD3>\r
+      <KEYWORD3>pages</KEYWORD3>\r
+      <KEYWORD3>publisher</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="inbook">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>chapter</KEYWORD4>\r
+      <KEYWORD4>editor</KEYWORD4>\r
+      <KEYWORD4>pages</KEYWORD4>\r
+      <KEYWORD4>publisher</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>edition</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>type</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="incollection">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>booktitle</KEYWORD4>\r
+      <KEYWORD4>publisher</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>chapter</KEYWORD3>\r
+      <KEYWORD3>edition</KEYWORD3>\r
+      <KEYWORD3>editor</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>pages</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>type</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="inproceedings">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>booktitle</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>editor</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>organization</KEYWORD3>\r
+      <KEYWORD3>pages</KEYWORD3>\r
+      <KEYWORD3>publisher</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="manual">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>author</KEYWORD3>\r
+      <KEYWORD3>edition</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>organization</KEYWORD3>\r
+      <KEYWORD3>year</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="mastersthesis">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>school</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>type</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="misc">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <!-- optional -->\r
+      <KEYWORD3>author</KEYWORD3>\r
+      <KEYWORD3>howpublished</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>title</KEYWORD3>\r
+      <KEYWORD3>year</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>address</KEYWORD2>\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="phdthesis">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>school</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>type</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="proceedings">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>editor</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>organization</KEYWORD3>\r
+      <KEYWORD3>publisher</KEYWORD3>\r
+      <KEYWORD3>series</KEYWORD3>\r
+      <KEYWORD3>volume</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>author</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="techreport">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>institution</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <KEYWORD4>year</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>address</KEYWORD3>\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>note</KEYWORD3>\r
+      <KEYWORD3>number</KEYWORD3>\r
+      <KEYWORD3>type</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+<RULES SET="unpublished">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
+    <KEYWORDS>\r
+      <!-- required -->\r
+      <KEYWORD4>author</KEYWORD4>\r
+      <KEYWORD4>note</KEYWORD4>\r
+      <KEYWORD4>title</KEYWORD4>\r
+      <!-- optional -->\r
+      <KEYWORD3>month</KEYWORD3>\r
+      <KEYWORD3>year</KEYWORD3>\r
+      <!-- others -->\r
+      <KEYWORD2>address</KEYWORD2>\r
+      <KEYWORD2>annote</KEYWORD2>\r
+      <KEYWORD2>booktitle</KEYWORD2>\r
+      <KEYWORD2>chapter</KEYWORD2>\r
+      <KEYWORD2>crossref</KEYWORD2>\r
+      <KEYWORD2>edition</KEYWORD2>\r
+      <KEYWORD2>editor</KEYWORD2>\r
+      <KEYWORD2>howpublished</KEYWORD2>\r
+      <KEYWORD2>institution</KEYWORD2>\r
+      <KEYWORD2>journal</KEYWORD2>\r
+      <KEYWORD2>key</KEYWORD2>\r
+      <KEYWORD2>number</KEYWORD2>\r
+      <KEYWORD2>organization</KEYWORD2>\r
+      <KEYWORD2>pages</KEYWORD2>\r
+      <KEYWORD2>publisher</KEYWORD2>\r
+      <KEYWORD2>school</KEYWORD2>\r
+      <KEYWORD2>series</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <KEYWORD2>volume</KEYWORD2>\r
+      <!-- not in Lamport but widely accepted -->\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>annotation</KEYWORD1>\r
+      <KEYWORD1>day</KEYWORD1>\r
+      <KEYWORD1>keywords</KEYWORD1>\r
+      <KEYWORD1>lccn</KEYWORD1>\r
+      <KEYWORD1>location</KEYWORD1>\r
+      <KEYWORD1>references</KEYWORD1>\r
+      <KEYWORD1>url</KEYWORD1>\r
+      <!-- total: 32 fields -->\r
+      <LITERAL1>jan</LITERAL1>\r
+      <LITERAL1>feb</LITERAL1>\r
+      <LITERAL1>mar</LITERAL1>\r
+      <LITERAL1>apr</LITERAL1>\r
+      <LITERAL1>may</LITERAL1>\r
+      <LITERAL1>jun</LITERAL1>\r
+      <LITERAL1>jul</LITERAL1>\r
+      <LITERAL1>aug</LITERAL1>\r
+      <LITERAL1>sep</LITERAL1>\r
+      <LITERAL1>oct</LITERAL1>\r
+      <LITERAL1>nov</LITERAL1>\r
+      <LITERAL1>dec</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+  <RULES SET="textbraced" DEFAULT="LITERAL2">\r
+    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SEQ  TYPE="LITERAL3">\"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="textquoted" DEFAULT="LITERAL1">\r
+    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SEQ  TYPE="LITERAL3">\"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="string" DEFAULT="LITERAL1">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+    <SEQ TYPE="LITERAL3">\"</SEQ>\r
+  </RULES>\r
+\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/c.xml b/basis/xmode/modes/c.xml
new file mode 100644 (file)
index 0000000..a4a9469
--- /dev/null
@@ -0,0 +1,401 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- This is based on ISO C++ Standard, 2003 and ISO C Standard, 1999.\r
+     The C++ keywords have been removed from this mode file, though. -->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+        <!-- Auto indent -->\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+        <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+        <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+        <PROPERTY NAME="indentNextLine"\r
+            VALUE="(?!^\s*(#|//)).*(\b(if|while|for)\s*\(.*\)|\b(else|do)\b)[^{;]*$" />\r
+        <PROPERTY NAME="unindentThisLine"\r
+            VALUE="^\s*((case\b.*|[\p{Alpha}_][\p{Alnum}_]*)\s*:(?!:)).*$" />\r
+        <PROPERTY NAME="electricKeys" VALUE=":" />\r
+    </PROPS>\r
+\r
+    <RULES\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
+\r
+        <IMPORT DELEGATE="LEX"/>\r
+        <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+    <!-- Comments, Trigraph, Alternate-Tokens -->\r
+    <RULES SET="LEX"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <!-- Doxygen comment, Javadoc style -->\r
+        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/**&lt;</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/**</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">///&lt;</EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">///</EOL_SPAN>\r
+\r
+        <!-- Doxygen comment, Qt style -->\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/*!&lt;</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/*!</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">//!&lt;</EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">//!</EOL_SPAN>\r
+\r
+        <!-- C style comment -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>/*</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+        <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>L"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>L'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <!-- Trigraphs -->\r
+        <SEQ TYPE="LITERAL4">??(</SEQ>\r
+        <SEQ TYPE="LITERAL4">??/</SEQ>\r
+        <SEQ TYPE="LITERAL4">??)</SEQ>\r
+        <SEQ TYPE="LITERAL4">??'</SEQ>\r
+        <SEQ TYPE="LITERAL4">??&lt;</SEQ>\r
+        <SEQ TYPE="LITERAL4">??!</SEQ>\r
+        <SEQ TYPE="LITERAL4">??&gt;</SEQ>\r
+        <SEQ TYPE="LITERAL4">??-</SEQ>\r
+        <SEQ TYPE="LITERAL4">??=</SEQ>\r
+\r
+        <!-- Alternate tokens -->\r
+        <SEQ TYPE="LITERAL4">&lt;:</SEQ>\r
+        <SEQ TYPE="LITERAL4">:&gt;</SEQ>\r
+        <SEQ TYPE="LITERAL4">&lt;%</SEQ>\r
+        <SEQ TYPE="LITERAL4">%&gt;</SEQ>\r
+        <SEQ TYPE="LITERAL4">%:</SEQ>\r
+\r
+        <!-- Labels.\r
+            This is a part of core language syntax, but must be here\r
+            because it can't work after SEQ for ':'. -->\r
+        <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+            MATCH_TYPE="OPERATOR"\r
+            TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+        <!-- Function-like macro or function calls.\r
+            This can't work after SEQ for '('. -->\r
+        <MARK_PREVIOUS\r
+            TYPE="FUNCTION"\r
+            MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">?</SEQ>\r
+        <SEQ TYPE="OPERATOR">:</SEQ>\r
+        <SEQ TYPE="OPERATOR">.</SEQ>\r
+        <SEQ TYPE="OPERATOR">,</SEQ>\r
+        <SEQ TYPE="OPERATOR">[</SEQ>\r
+        <SEQ TYPE="OPERATOR">]</SEQ>\r
+        <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+        <SEQ TYPE="OPERATOR">;</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <!-- Predefined macro names from ISO C++ Standard 2003 -->\r
+            <LITERAL2>__DATE__</LITERAL2>\r
+            <LITERAL2>__FILE__</LITERAL2>\r
+            <LITERAL2>__LINE__</LITERAL2>\r
+            <LITERAL2>__STDC_HOSTED__</LITERAL2>\r
+            <LITERAL2>__STDC_ISO_10646__</LITERAL2>\r
+            <LITERAL2>__STDC_VERSION__</LITERAL2>\r
+            <LITERAL2>__STDC__</LITERAL2>\r
+            <LITERAL2>__TIME__</LITERAL2>\r
+            <LITERAL2>__cplusplus</LITERAL2>\r
+            <!-- Standard library macro names from ISO C++ Standard 2003 -->\r
+            <!-- Hilight these to indicate accidental use of them\r
+                in user source. They may be valid, but should cause\r
+                future conflicts. -->\r
+            <LITERAL2>BUFSIZ</LITERAL2>\r
+            <LITERAL2>CLOCKS_PER_SEC</LITERAL2>\r
+            <LITERAL2>EDOM</LITERAL2>\r
+            <LITERAL2>EILSEQ</LITERAL2>\r
+            <LITERAL2>EOF</LITERAL2>\r
+            <LITERAL2>ERANGE</LITERAL2>\r
+            <LITERAL2>EXIT_FAILURE</LITERAL2>\r
+            <LITERAL2>EXIT_SUCCESS</LITERAL2>\r
+            <LITERAL2>FILENAME_MAX</LITERAL2>\r
+            <LITERAL2>FOPEN_MAX</LITERAL2>\r
+            <LITERAL2>HUGE_VAL</LITERAL2>\r
+            <LITERAL2>LC_ALL</LITERAL2>\r
+            <LITERAL2>LC_COLLATE</LITERAL2>\r
+            <LITERAL2>LC_CTYPE</LITERAL2>\r
+            <LITERAL2>LC_MONETARY</LITERAL2>\r
+            <LITERAL2>LC_NUMERIC</LITERAL2>\r
+            <LITERAL2>LC_TIME</LITERAL2>\r
+            <LITERAL2>L_tmpnam</LITERAL2>\r
+            <LITERAL2>MB_CUR_MAX</LITERAL2>\r
+            <LITERAL2>NULL</LITERAL2>\r
+            <LITERAL2>RAND_MAX</LITERAL2>\r
+            <LITERAL2>SEEK_CUR</LITERAL2>\r
+            <LITERAL2>SEEK_END</LITERAL2>\r
+            <LITERAL2>SEEK_SET</LITERAL2>\r
+            <LITERAL2>SIGABRT</LITERAL2>\r
+            <LITERAL2>SIGFPE</LITERAL2>\r
+            <LITERAL2>SIGILL</LITERAL2>\r
+            <LITERAL2>SIGINT</LITERAL2>\r
+            <LITERAL2>SIGSEGV</LITERAL2>\r
+            <LITERAL2>SIGTERM</LITERAL2>\r
+            <LITERAL2>SIG_DFL</LITERAL2>\r
+            <LITERAL2>SIG_ERR</LITERAL2>\r
+            <LITERAL2>SIG_IGN</LITERAL2>\r
+            <LITERAL2>TMP_MAX</LITERAL2>\r
+            <LITERAL2>WCHAR_MAX</LITERAL2>\r
+            <LITERAL2>WCHAR_MIN</LITERAL2>\r
+            <LITERAL2>WEOF</LITERAL2>\r
+            <LITERAL2>_IOFBF</LITERAL2>\r
+            <LITERAL2>_IOLBF</LITERAL2>\r
+            <LITERAL2>_IONBF</LITERAL2>\r
+            <LITERAL2>assert</LITERAL2>\r
+            <LITERAL2>errno</LITERAL2>\r
+            <LITERAL2>offsetof</LITERAL2>\r
+            <LITERAL2>setjmp</LITERAL2>\r
+            <LITERAL2>stderr</LITERAL2>\r
+            <LITERAL2>stdin</LITERAL2>\r
+            <LITERAL2>stdout</LITERAL2>\r
+            <LITERAL2>va_arg</LITERAL2>\r
+            <LITERAL2>va_end</LITERAL2>\r
+            <LITERAL2>va_start</LITERAL2>\r
+            <!-- Standard C library values from ISO C++ Standard 2003 -->\r
+            <!-- These are not explicitly defined as macro. But they like\r
+                to be due to compatibility with C library implementation.\r
+                So, treat them like standard library macro names. -->\r
+            <LITERAL2>CHAR_BIT</LITERAL2>\r
+            <LITERAL2>CHAR_MAX</LITERAL2>\r
+            <LITERAL2>CHAR_MIN</LITERAL2>\r
+            <LITERAL2>DBL_DIG</LITERAL2>\r
+            <LITERAL2>DBL_EPSILON</LITERAL2>\r
+            <LITERAL2>DBL_MANT_DIG</LITERAL2>\r
+            <LITERAL2>DBL_MAX</LITERAL2>\r
+            <LITERAL2>DBL_MAX_10_EXP</LITERAL2>\r
+            <LITERAL2>DBL_MAX_EXP</LITERAL2>\r
+            <LITERAL2>DBL_MIN</LITERAL2>\r
+            <LITERAL2>DBL_MIN_10_EXP</LITERAL2>\r
+            <LITERAL2>DBL_MIN_EXP</LITERAL2>\r
+            <LITERAL2>FLT_DIG</LITERAL2>\r
+            <LITERAL2>FLT_EPSILON</LITERAL2>\r
+            <LITERAL2>FLT_MANT_DIG</LITERAL2>\r
+            <LITERAL2>FLT_MAX</LITERAL2>\r
+            <LITERAL2>FLT_MAX_10_EXP</LITERAL2>\r
+            <LITERAL2>FLT_MAX_EXP</LITERAL2>\r
+            <LITERAL2>FLT_MIN</LITERAL2>\r
+            <LITERAL2>FLT_MIN_10_EXP</LITERAL2>\r
+            <LITERAL2>FLT_MIN_EXP</LITERAL2>\r
+            <LITERAL2>FLT_RADIX</LITERAL2>\r
+            <LITERAL2>FLT_ROUNDS</LITERAL2>\r
+            <LITERAL2>INT_MAX</LITERAL2>\r
+            <LITERAL2>INT_MIN</LITERAL2>\r
+            <LITERAL2>LDBL_DIG</LITERAL2>\r
+            <LITERAL2>LDBL_EPSILON</LITERAL2>\r
+            <LITERAL2>LDBL_MANT_DIG</LITERAL2>\r
+            <LITERAL2>LDBL_MAX</LITERAL2>\r
+            <LITERAL2>LDBL_MAX_10_EXP</LITERAL2>\r
+            <LITERAL2>LDBL_MAX_EXP</LITERAL2>\r
+            <LITERAL2>LDBL_MIN</LITERAL2>\r
+            <LITERAL2>LDBL_MIN_10_EXP</LITERAL2>\r
+            <LITERAL2>LDBL_MIN_EXP</LITERAL2>\r
+            <LITERAL2>LONG_MAX</LITERAL2>\r
+            <LITERAL2>LONG_MIN</LITERAL2>\r
+            <LITERAL2>MB_LEN_MAX</LITERAL2>\r
+            <LITERAL2>SCHAR_MAX</LITERAL2>\r
+            <LITERAL2>SCHAR_MIN</LITERAL2>\r
+            <LITERAL2>SHRT_MAX</LITERAL2>\r
+            <LITERAL2>SHRT_MIN</LITERAL2>\r
+            <LITERAL2>UCHAR_MAX</LITERAL2>\r
+            <LITERAL2>UINT_MAX</LITERAL2>\r
+            <LITERAL2>ULONG_MAX</LITERAL2>\r
+            <LITERAL2>USRT_MAX</LITERAL2>\r
+            <!-- Alternative representations of some operators\r
+                from ISO C++ Standard 2003 -->\r
+            <!-- These are separated from CORE because they are\r
+                available in the constant expressions after\r
+                #if and #elif preprocessor directives. -->\r
+            <KEYWORD3>and</KEYWORD3>\r
+            <KEYWORD3>and_eq</KEYWORD3>\r
+            <KEYWORD3>bitand</KEYWORD3>\r
+            <KEYWORD3>bitor</KEYWORD3>\r
+            <KEYWORD3>compl</KEYWORD3>\r
+            <KEYWORD3>not</KEYWORD3>\r
+            <KEYWORD3>not_eq</KEYWORD3>\r
+            <KEYWORD3>or</KEYWORD3>\r
+            <KEYWORD3>or_eq</KEYWORD3>\r
+            <KEYWORD3>xor</KEYWORD3>\r
+            <KEYWORD3>xor_eq</KEYWORD3>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- Core language -->\r
+    <RULES SET="CORE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <KEYWORDS>\r
+            <!-- Types -->\r
+            <KEYWORD3>bool</KEYWORD3>\r
+            <KEYWORD3>char</KEYWORD3>\r
+            <KEYWORD3>double</KEYWORD3>\r
+            <KEYWORD3>enum</KEYWORD3>\r
+            <KEYWORD3>float</KEYWORD3>\r
+            <KEYWORD3>int</KEYWORD3>\r
+            <KEYWORD3>long</KEYWORD3>\r
+            <KEYWORD3>short</KEYWORD3>\r
+            <KEYWORD3>signed</KEYWORD3>\r
+            <KEYWORD3>struct</KEYWORD3>\r
+            <KEYWORD3>union</KEYWORD3>\r
+            <KEYWORD3>unsigned</KEYWORD3>\r
+            <!-- Keywords from ISO C++ Standard 2003 -->\r
+            <KEYWORD2>asm</KEYWORD2>\r
+            <KEYWORD1>auto</KEYWORD1>\r
+            <KEYWORD1>break</KEYWORD1>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>const</KEYWORD1>\r
+            <KEYWORD1>continue</KEYWORD1>\r
+            <KEYWORD1>default</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD2>extern</KEYWORD2>\r
+            <LITERAL2>false</LITERAL2>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>goto</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD1>inline</KEYWORD1>\r
+            <KEYWORD1>register</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD1>sizeof</KEYWORD1>\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <KEYWORD1>switch</KEYWORD1>\r
+            <LITERAL2>true</LITERAL2>\r
+            <KEYWORD3>typedef</KEYWORD3>\r
+            <KEYWORD1>void</KEYWORD1>\r
+            <KEYWORD1>volatile</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+            <!-- Additional keywords from ISO C Standard(C99) -->\r
+            <KEYWORD3>restrict</KEYWORD3>\r
+            <KEYWORD3>_Bool</KEYWORD3>\r
+            <KEYWORD3>_Complex</KEYWORD3>\r
+            <KEYWORD3>_Pragma</KEYWORD3>\r
+            <KEYWORD3>_Imaginary</KEYWORD3>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- Preprocessor specific rules -->\r
+    <RULES SET="CPP"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="INCLUDE">include\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="LEX">endif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="CONDITION">elif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="CONDITION">if\b</EOL_SPAN_REGEXP>\r
+\r
+        <IMPORT DELEGATE="LEX"/>\r
+\r
+        <!-- Directives -->\r
+        <KEYWORDS>\r
+            <MARKUP>ifdef</MARKUP>\r
+            <MARKUP>ifndef</MARKUP>\r
+            <MARKUP>else</MARKUP>\r
+            <MARKUP>error</MARKUP>\r
+            <MARKUP>line</MARKUP>\r
+            <MARKUP>pragma</MARKUP>\r
+            <MARKUP>undef</MARKUP>\r
+            <MARKUP>warning</MARKUP>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- After #include directive -->\r
+    <!-- "\"s are not escaped. -->\r
+    <RULES SET="INCLUDE"\r
+        IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <IMPORT DELEGATE="LEX"/>\r
+    </RULES>\r
+\r
+    <!-- After #define directive -->\r
+    <!-- Almost same as the normal code,\r
+        except two additional operators # and ##. -->\r
+    <RULES SET="DEFINE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <SEQ TYPE="OPERATOR">#</SEQ>\r
+        <IMPORT DELEGATE="LEX"/>\r
+        <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+    <!-- After #if or #elif directive -->\r
+    <!-- All constant expressions and a special operator\r
+        'defined' is available. But the core language elements\r
+        (such as operator 'sizeof', type casting, etc...) are not. -->\r
+    <RULES SET="CONDITION"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <IMPORT DELEGATE="LEX"/>\r
+        <KEYWORDS>\r
+            <KEYWORD2>defined</KEYWORD2>\r
+            <!-- Both true and false are specially permitted by\r
+                ISO C++ Standard 2003 16.1p4 -->\r
+            <KEYWORD2>true</KEYWORD2>\r
+            <KEYWORD2>false</KEYWORD2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/catalog b/basis/xmode/modes/catalog
new file mode 100644 (file)
index 0000000..f4300b4
--- /dev/null
@@ -0,0 +1,486 @@
+<?xml version="1.0"?>\r
+\r
+<!-- This is a mode catalog. Edit modes must be listed here, -->\r
+<!-- otherwise they will not be available to jEdit. -->\r
+\r
+<!DOCTYPE MODES SYSTEM "catalog.dtd">\r
+\r
+<MODES>\r
+\r
+<MODE NAME="actionscript"      FILE="actionscript.xml"\r
+                               FILE_NAME_GLOB="*.as" />\r
+\r
+<MODE NAME="ada95"             FILE="ada95.xml"\r
+                               FILE_NAME_GLOB="*.{ada,adb,ads}" />\r
+\r
+<MODE NAME="antlr"             FILE="antlr.xml"\r
+                               FILE_NAME_GLOB="*.g" />\r
+\r
+<MODE NAME="apacheconf"                FILE="apacheconf.xml"\r
+                               FILE_NAME_GLOB="*httpd.conf" />\r
+\r
+\r
+<MODE NAME="apdl"              FILE="apdl.xml"\r
+                               FILE_NAME_GLOB="*.{ans,inp,mak,mac}" />\r
+\r
+<MODE NAME="applescript"       FILE="applescript.xml"\r
+                               FILE_NAME_GLOB="*.applescript" />\r
+\r
+<MODE NAME="asp"               FILE="asp.xml"\r
+                               FILE_NAME_GLOB="*.{asp,asa}" />\r
+\r
+<MODE NAME="aspect-j"          FILE="aspect-j.xml"\r
+                               FILE_NAME_GLOB="*.aj" />\r
+\r
+<MODE NAME="assembly-m68k"     FILE="assembly-m68k.xml" />\r
+\r
+<MODE NAME="assembly-macro32"  FILE="assembly-macro32.xml"\r
+                               FILE_NAME_GLOB="*.mar" />\r
+\r
+<MODE NAME="assembly-r2000"    FILE="assembly-r2000.xml"\r
+                               FILE_NAME_GLOB="*.mips" />\r
+\r
+<MODE NAME="assembly-parrot"   FILE="assembly-parrot.xml"\r
+                               FILE_NAME_GLOB="*.pasm" />\r
+\r
+<MODE NAME="assembly-x86"      FILE="assembly-x86.xml"\r
+                               FILE_NAME_GLOB="*.asm" />\r
+\r
+<MODE NAME="awk"               FILE="awk.xml"\r
+                               FILE_NAME_GLOB="*.awk"\r
+                               FIRST_LINE_GLOB="#!*awk*" />\r
+\r
+<MODE NAME="b"                 FILE="b.xml"\r
+                               FILE_NAME_GLOB="*.{imp,ref,mch}" />\r
+\r
+<MODE NAME="batch"             FILE="batch.xml"\r
+                               FILE_NAME_GLOB="*.{bat,cmd}" />\r
+\r
+<MODE NAME="bbj"               FILE="bbj.xml"\r
+                               FILE_NAME_GLOB="*.bbj" />\r
+\r
+<!-- if anyone knows a file name glob that can be used with this mode,\r
+     please let me know -->\r
+<MODE NAME="bcel"              FILE="bcel.xml" />\r
+\r
+<!-- Now that BeanShell 2.0 supports class declarations, its syntax is\r
+     almost identical to Java. -->\r
+<MODE NAME="beanshell"         FILE="java.xml"\r
+                               FILE_NAME_GLOB="*.bsh" />\r
+\r
+<MODE NAME="bibtex"            FILE="bibtex.xml"\r
+                               FILE_NAME_GLOB="*.bib" />\r
+\r
+<!--  We let Objective C mode highlight .h files -->\r
+<MODE NAME="c"                 FILE="c.xml"\r
+                               FILE_NAME_GLOB="*.c" />\r
+\r
+<MODE NAME="chill"             FILE="chill.xml"\r
+                               FILE_NAME_GLOB="*.{chl,mpol}" />\r
+\r
+<MODE NAME="cil"               FILE="cil.xml"\r
+                               FILE_NAME_GLOB="*.il" />\r
+\r
+<MODE NAME="clips"             FILE="clips.xml"\r
+                               FILE_NAME_GLOB="*.clp" />\r
+\r
+<MODE NAME="cobol"             FILE="cobol.xml"\r
+                               FILE_NAME_GLOB="*.cbl" />\r
+\r
+<MODE NAME="coldfusion"                FILE="coldfusion.xml"\r
+                               FILE_NAME_GLOB="*.{cfm,dbm,cfc}" />\r
+\r
+<MODE NAME="c++"               FILE="cplusplus.xml"\r
+                               FILE_NAME_GLOB="*.{cc,cpp,hh,hpp,cxx}" />\r
+\r
+<MODE NAME="c#"                        FILE="csharp.xml"\r
+                               FILE_NAME_GLOB="*.cs" />\r
+\r
+<MODE NAME="css"               FILE="css.xml"\r
+                               FILE_NAME_GLOB="*.css" />\r
+\r
+<MODE NAME="csv"               FILE="csv.xml"\r
+                               FILE_NAME_GLOB="*.csv" />\r
+\r
+<MODE NAME="cvs-commit"                FILE="cvs-commit.xml"\r
+                               FILE_NAME_GLOB="cvs*.tmp"/>\r
+\r
+<MODE NAME="d"                 FILE="d.xml"\r
+                               FILE_NAME_GLOB="*.d" />\r
+\r
+<MODE NAME="django"            FILE="django.xml"/>\r
+\r
+<MODE NAME="doxygen"           FILE="doxygen.xml"\r
+                               FILE_NAME_GLOB="doxyfile*" />\r
+\r
+<MODE NAME="dsssl"             FILE="dsssl.xml"\r
+                               FILE_NAME_GLOB="*.dsl" />\r
+\r
+<MODE NAME="embperl"           FILE="embperl.xml"\r
+                               FILE_NAME_GLOB="*.epl"/>\r
+\r
+<MODE NAME="erlang"            FILE="erlang.xml"\r
+                               FILE_NAME_GLOB="*.erl"/>\r
+\r
+<MODE NAME="eiffel"            FILE="eiffel.xml"\r
+                               FILE_NAME_GLOB="*.e" />\r
+\r
+<MODE NAME="fhtml"             FILE="fhtml.xml"\r
+                               FILE_NAME_GLOB="*.{furnace,fhtml}" />\r
+\r
+<MODE NAME="factor"            FILE="factor.xml"\r
+                               FILE_NAME_GLOB="*.factor"/>\r
+\r
+<MODE NAME="forth"             FILE="forth.xml"\r
+                               FILE_NAME_GLOB="*.f" />\r
+\r
+<MODE NAME="fortran"           FILE="fortran.xml"\r
+                               FILE_NAME_GLOB="*.{for,fort,f77,f90}" />\r
+\r
+<MODE NAME="foxpro"            FILE="foxpro.xml"\r
+                               FILE_NAME_GLOB="*.prg" />\r
+\r
+<MODE NAME="freemarker"                FILE="freemarker.xml"\r
+                               FILE_NAME_GLOB="*.ftl"\r
+                               FIRST_LINE_GLOB="&lt;\#ftl*"/>\r
+\r
+<MODE NAME="gettext"           FILE="gettext.xml"\r
+                               FILE_NAME_GLOB="*.{po,pot}" />\r
+\r
+<MODE NAME="gnuplot"           FILE="gnuplot.xml"\r
+                               FILE_NAME_GLOB="*.{dem,plt}" />\r
+\r
+<MODE NAME="groovy"            FILE="groovy.xml"\r
+                               FILE_NAME_GLOB="*.{groovy,grv}"/>\r
+\r
+<MODE NAME="haskell"           FILE="haskell.xml"\r
+                               FILE_NAME_GLOB="*.hs" />\r
+\r
+<!-- Used by Andre Kaplan's Hex plugin -->\r
+<MODE NAME="hex"               FILE="hex.xml" />\r
+\r
+<MODE NAME="hlsl"              FILE="hlsl.xml"\r
+                               FILE_NAME_GLOB="*.fx" />\r
+\r
+<MODE NAME="htaccess"                  FILE="htaccess.xml"\r
+                               FILE_NAME_GLOB=".htaccess" />\r
+\r
+<MODE NAME="html"              FILE="html.xml"\r
+                               FILE_NAME_GLOB="*.{html,htm,hta}" />\r
+\r
+<MODE NAME="i4gl"              FILE="i4gl.xml"\r
+                               FILE_NAME_GLOB="*.4gl" />\r
+\r
+<MODE NAME="icon"              FILE="icon.xml"\r
+                               FILE_NAME_GLOB="*.icn" />\r
+\r
+<MODE NAME="idl"               FILE="idl.xml"\r
+                               FILE_NAME_GLOB="*.idl" />\r
+\r
+<MODE NAME="inform"            FILE="inform.xml"\r
+                               FILE_NAME_GLOB="*.inf" />\r
+\r
+<MODE NAME="inno-setup"                FILE="inno-setup.xml"\r
+                               FILE_NAME_GLOB="*.iss" />\r
+\r
+<MODE NAME="ini"               FILE="ini.xml"\r
+                               FILE_NAME_GLOB="*.{ini,reg}" />\r
+\r
+<MODE NAME="interlis"          FILE="interlis.xml"\r
+                               FILE_NAME_GLOB="*.ili" />\r
+\r
+<MODE NAME="io"                        FILE="io.xml"\r
+                               FILE_NAME_GLOB="*.io" />\r
+\r
+<MODE NAME="javacc" FILE="javacc.xml"\r
+        FILE_NAME_GLOB="*.{jj,jjt}"/>\r
+\r
+<MODE NAME="java"              FILE="java.xml"\r
+                               FILE_NAME_GLOB="*.java" />\r
+\r
+<MODE NAME="javascript"                FILE="javascript.xml"\r
+                               FILE_NAME_GLOB="*.js" />\r
+\r
+<MODE NAME="jcl"               FILE="jcl.xml"\r
+                               FILE_NAME_GLOB="*.jcl" />\r
+\r
+<MODE NAME="jhtml"             FILE="jhtml.xml"\r
+                               FILE_NAME_GLOB="*.jhtml" />\r
+\r
+<MODE NAME="jmk"               FILE="jmk.xml"\r
+                               FILE_NAME_GLOB="*.jmk" />\r
+\r
+<MODE NAME="jsp"               FILE="jsp.xml"\r
+                               FILE_NAME_GLOB="*.{jsp,jsf,jspf}" />\r
+\r
+<!-- Note that a generic 'tex.xml' is included as well, for minimal\r
+     plain TeX/AMSTeX highlighting. -->\r
+\r
+<MODE NAME="latex"             FILE="latex.xml"\r
+                               FILE_NAME_GLOB="*.{tex,sty,ltx}" />\r
+\r
+<MODE NAME="lilypond"          FILE="lilypond.xml"\r
+                               FILE_NAME_GLOB="*.ly" />\r
+\r
+<MODE NAME="lisp"              FILE="lisp.xml"\r
+                               FILE_NAME_GLOB="*.{lisp,lsp,el}" />\r
+\r
+<MODE NAME="literate-haskell"  FILE="literate-haskell.xml"\r
+                               FILE_NAME_GLOB="*.lhs" />\r
+\r
+<MODE NAME="lotos"             FILE="lotos.xml"\r
+                               FILE_NAME_GLOB="*.{lot,lotos}"/>\r
+\r
+<MODE NAME="lua"               FILE="lua.xml"\r
+                               FILE_NAME_GLOB="*.lua" />\r
+\r
+<MODE NAME="mail"              FILE="mail.xml" />\r
+\r
+<MODE NAME="makefile"          FILE="makefile.xml"\r
+                               FILE_NAME_GLOB="*makefile" />\r
+\r
+<MODE NAME="maple"             FILE="maple.xml"\r
+                               FILE_NAME_GLOB="*.{mpl,mws}" />\r
+\r
+<MODE NAME="ml"                        FILE="ml.xml"\r
+                               FILE_NAME_GLOB="*.{sml,ml}" />\r
+\r
+<MODE NAME="modula3"           FILE="modula3.xml"\r
+                               FILE_NAME_GLOB="*.[im]3" />\r
+\r
+<MODE NAME="moin"              FILE="moin.xml"\r
+                               FILE_NAME_GLOB="*.moin" />\r
+\r
+<MODE NAME="mqsc"              FILE="mqsc.xml"\r
+                               FILE_NAME_GLOB="*.mqsc" />\r
+\r
+<MODE NAME="myghty"                    FILE="myghty.xml"\r
+                               FILE_NAME_GLOB="{autohandler,dhandler,*.myt}"/>\r
+\r
+<MODE NAME="mysql"             FILE="mysql.xml" />\r
+\r
+<MODE NAME="netrexx"           FILE="netrexx.xml"\r
+                               FILE_NAME_GLOB="*.nrx" />\r
+\r
+<MODE NAME="nqc"               FILE="nqc.xml"\r
+                               FILE_NAME_GLOB="*.nqc" />\r
+\r
+<MODE NAME="nsis2"             FILE="nsis2.xml"\r
+                               FILE_NAME_GLOB="*.{nsi,nsh}" />\r
+\r
+<MODE NAME="objective-c"       FILE="objective-c.xml"\r
+                               FILE_NAME_GLOB="*.[mh]" />\r
+\r
+<MODE NAME="objectrexx"                FILE="objectrexx.xml"\r
+                               FILE_NAME_GLOB="*.{rex,orx}" />\r
+\r
+<MODE NAME="occam"             FILE="occam.xml"\r
+                               FILE_NAME_GLOB="*.icc" />\r
+\r
+<MODE NAME="omnimark"          FILE="omnimark.xml"\r
+                               FILE_NAME_GLOB="*.x{om,in}" />\r
+\r
+<MODE NAME="pascal"            FILE="pascal.xml"\r
+                               FILE_NAME_GLOB="*.{pas,dpr,dpk}" />\r
+\r
+<MODE NAME="patch"             FILE="patch.xml"\r
+                               FILE_NAME_GLOB="*.{diff,patch}" />\r
+\r
+<MODE NAME="perl"              FILE="perl.xml"\r
+                               FILE_NAME_GLOB="*.p[lm]"\r
+                               FIRST_LINE_GLOB="#!/*perl*" />\r
+\r
+<MODE NAME="php"               FILE="php.xml"\r
+                               FILE_NAME_GLOB="*.{php3,php4,php,phtml,inc}"\r
+                               FIRST_LINE_GLOB="{&lt;?php*,#!/*php*}" />\r
+\r
+<MODE NAME="pike"              FILE="pike.xml"\r
+                               FILE_NAME_GLOB="*.{pike,pmod}" />\r
+\r
+<MODE NAME="pl-sql"            FILE="pl-sql.xml"\r
+                               FILE_NAME_GLOB="*.pls" />\r
+\r
+<MODE NAME="pl1"               FILE="pl1.xml"\r
+                               FILE_NAME_GLOB="*.pl[i1]" />\r
+\r
+<MODE NAME="pop11"             FILE="pop11.xml"\r
+                               FILE_NAME_GLOB="*.{p,pop11,p11}" />\r
+\r
+<MODE NAME="postscript"                FILE="postscript.xml"\r
+                               FILE_NAME_GLOB="*.{ps,eps}" />\r
+\r
+<MODE NAME="powerdynamo"       FILE="powerdynamo.xml"\r
+                               FILE_NAME_GLOB="*.{ssc,stm}" />\r
+\r
+<MODE NAME="povray"            FILE="povray.xml"\r
+                               FILE_NAME_GLOB="*.{pov,povray}" />\r
+\r
+<MODE NAME="prolog"             FILE="prolog.xml"\r
+                                FILE_NAME_GLOB="*.pro" />\r
+\r
+<MODE NAME="progress"           FILE="progress.xml"\r
+                                FILE_NAME_GLOB="*.[piw]" />\r
+\r
+<MODE NAME="properties"                FILE="props.xml"\r
+                               FILE_NAME_GLOB="*{properties,props}" />\r
+\r
+<MODE NAME="psp"               FILE="psp.xml"\r
+                               FILE_NAME_GLOB="*.psp" />\r
+\r
+<MODE NAME="ptl"               FILE="ptl.xml"\r
+                               FILE_NAME_GLOB="*.ptl"/>\r
+\r
+<MODE NAME="pvwave"            FILE="pvwave.xml"\r
+                               FILE_NAME_GLOB="*.jou" />\r
+\r
+<MODE NAME="pyrex"             FILE="pyrex.xml"\r
+                               FILE_NAME_GLOB="*.{pyx}" />\r
+\r
+<MODE NAME="python"            FILE="python.xml"\r
+                               FILE_NAME_GLOB="*.{py,pyw,sc}"\r
+                               FIRST_LINE_GLOB="#!*/*python*" />\r
+\r
+<MODE NAME="rebol"             FILE="rebol.xml"\r
+                               FILE_NAME_GLOB="*.r" />\r
+\r
+<MODE NAME="redcode"           FILE="redcode.xml"\r
+                               FILE_NAME_GLOB="*.{red,rc}" />\r
+\r
+<MODE NAME="relax-ng-compact"  FILE="relax-ng-compact.xml"\r
+                               FILE_NAME_GLOB="*.rnc" />\r
+\r
+<MODE NAME="renderman-rib"     FILE="rib.xml"\r
+                               FILE_NAME_GLOB="*.rib" />\r
+\r
+<MODE NAME="rd"                        FILE="rd.xml"\r
+                               FILE_NAME_GLOB="*.rd" />\r
+\r
+<MODE NAME="rest"              FILE="rest.xml"\r
+                               FILE_NAME_GLOB="*.{rst,rest}"\r
+                               FIRST_LINE_GLOB="{===,~~~}*"/>\r
+\r
+<MODE NAME="rhtml"             FILE="rhtml.xml"\r
+                               FILE_NAME_GLOB="*.rhtml" />\r
+\r
+<MODE NAME="rpm-spec"          FILE="rpmspec.xml"\r
+                               FILE_NAME_GLOB="*.spec" />\r
+\r
+<MODE NAME="rtf"               FILE="rtf.xml"\r
+                               FILE_NAME_GLOB="*.rtf" />\r
+\r
+<MODE NAME="ruby"              FILE="ruby.xml"\r
+                               FILE_NAME_GLOB="*.{rb,rbw}"\r
+                   FIRST_LINE_GLOB="#!*/*ruby*" />\r
+\r
+<MODE NAME="rview"             FILE="rview.xml"\r
+                               FILE_NAME_GLOB="*.rvw" />\r
+\r
+<MODE NAME="s+"                        FILE="splus.xml"\r
+                               FILE_NAME_GLOB="*.ssc" />\r
+\r
+<MODE NAME="s#"                        FILE="ssharp.xml"\r
+                               FILE_NAME_GLOB="*.{ss,ssc,ssi,ssw,sts,aml}"  />\r
+\r
+<MODE NAME="sas"               FILE="sas.xml"\r
+                               FILE_NAME_GLOB="*.sas" />\r
+\r
+<MODE NAME="scheme"            FILE="scheme.xml"\r
+                               FILE_NAME_GLOB="*.scm" />\r
+\r
+<MODE NAME="sgml"              FILE="sgml.xml"\r
+                               FILE_NAME_GLOB="*.{sgml,sgm,dtd}" />\r
+\r
+<MODE NAME="rcp" FILE="rcp.xml" FILE_NAME_GLOB="*.rcp" />\r
+\r
+<MODE NAME="shellscript"       FILE="shellscript.xml"\r
+                               FILE_NAME_GLOB="*.{csh,sh,bash}"\r
+                               FIRST_LINE_GLOB="#!/*sh*" />\r
+\r
+<MODE NAME="shtml"             FILE="shtml.xml"\r
+                               FILE_NAME_GLOB="*.{shtml,shtm,ssi}" />\r
+\r
+<MODE NAME="slate"             FILE="slate.xml"\r
+                               FILE_NAME_GLOB="*.slate" />\r
+\r
+<MODE NAME="smalltalk"         FILE="smalltalk.xml"\r
+                               FILE_NAME_GLOB="*.{st,sources,changes}" />\r
+\r
+<MODE NAME="sdl/pr"            FILE="sdl_pr.xml"\r
+                               FILE_NAME_GLOB="*.pr"/>\r
+\r
+<MODE NAME="sql-loader"        FILE="sql-loader.xml"\r
+                               FILE_NAME_GLOB="*.ctl" />\r
+\r
+<MODE NAME="smi-mib"           FILE="smi-mib.xml"\r
+                               FILE_NAME_GLOB="*{.mib,-MIB.txt}" />\r
+\r
+<MODE NAME="sqr"                FILE="sqr.xml"\r
+                                FILE_NAME_GLOB="*.{sqr,sqc}" />\r
+\r
+<MODE NAME="squidconf"         FILE="squidconf.xml"\r
+                               FILE_NAME_GLOB="squid.conf" />\r
+\r
+<MODE NAME="svn-commit"         FILE="svn-commit.xml"\r
+                               FILE_NAME_GLOB="svn-commit*.tmp" />\r
+\r
+<MODE NAME="swig"              FILE="swig.xml"\r
+                               FILE_NAME_GLOB="*.{i,swg}" />\r
+\r
+<MODE NAME="tcl"               FILE="tcl.xml"\r
+                               FILE_NAME_GLOB="*.{tcl,tsh}" />\r
+\r
+<MODE NAME="texinfo"           FILE="texinfo.xml"\r
+                               FILE_NAME_GLOB="*.texi" />\r
+\r
+<MODE NAME="tex"               FILE="tex.xml" />\r
+\r
+<MODE NAME="text"              FILE="text.xml"\r
+                               FILE_NAME_GLOB="*.txt" />\r
+\r
+<MODE NAME="tpl"               FILE="tpl.xml"\r
+                               FILE_NAME_GLOB="*.tpl" />\r
+\r
+<MODE NAME="transact-sql"      FILE="tsql.xml"\r
+                               FILE_NAME_GLOB="*.sql" />\r
+\r
+<MODE NAME="template-toolkit"  FILE="tthtml.xml"\r
+                               FILE_NAME_GLOB="*.tt{html,css,js}" />\r
+\r
+<MODE NAME="twiki"             FILE="twiki.xml"\r
+                               FILE_NAME_GLOB="*.twiki"/>\r
+\r
+<MODE NAME="typoscript"         FILE="typoscript.xml"\r
+                                FILE_NAME_GLOB="*.ts"/>\r
+\r
+<MODE NAME="uscript"           FILE="uscript.xml"\r
+                               FILE_NAME_GLOB="*.uc" />\r
+\r
+<MODE NAME="vbscript"          FILE="vbscript.xml"\r
+                               FILE_NAME_GLOB="*.{vbs,bas,cls}" />\r
+\r
+<MODE NAME="velocity"          FILE="velocity.xml"\r
+                               FILE_NAME_GLOB="*.vm" />\r
+\r
+<MODE NAME="verilog"           FILE="verilog.xml"\r
+                               FILE_NAME_GLOB="*.{ver,v}" />\r
+\r
+<MODE NAME="vhdl"              FILE="vhdl.xml"\r
+                               FILE_NAME_GLOB="*.vh*" />\r
+\r
+<!-- Great. AElfred doesn't support entities in attribute values,\r
+     but all other XML parsers complain if < appears. -->\r
+<MODE NAME="xml"               FILE="xml.xml"\r
+                               FILE_NAME_GLOB="*.{xml,xhtml,xsd}"\r
+                               FIRST_LINE_GLOB="&lt;\?xml*" />\r
+\r
+<MODE NAME="xq"                        FILE="xq.xml"\r
+                               FILE_NAME_GLOB="*.x{q,qm,ql}" />\r
+\r
+<MODE NAME="xsl"               FILE="xsl.xml"\r
+                               FILE_NAME_GLOB="*.xsl" />\r
+\r
+<MODE NAME="zpt"               FILE="zpt.xml"\r
+                               FILE_NAME_GLOB="*.{pt,zpt}"/>\r
+\r
+<MODE NAME="rfc" FILE="rfc.xml" FILE_NAME_GLOB="rfc*.txt" />\r
+</MODES>\r
diff --git a/basis/xmode/modes/chill.xml b/basis/xmode/modes/chill.xml
new file mode 100644 (file)
index 0000000..2ef3b8f
--- /dev/null
@@ -0,0 +1,134 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- CHILL mode by Rudolf Widmann (Rudi.Widmann@web.de)\r
+     CHILL = "CCITT High Level Programming Language" used for telecommunication programming\r
+     Pascal was used as reference.\r
+     Keywords   = KEYWORD1\r
+     Directives = KEYWORD2.\r
+     Everything else as is-->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+    </PROPS>\r
+\r
+    <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+        <!-- Compiler directives. -->\r
+        <SPAN TYPE="COMMENT2">\r
+            <BEGIN>&lt;&gt;</BEGIN>\r
+            <END>&lt;&gt;</END>\r
+        </SPAN>\r
+        <!-- Normal comments. -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>/*</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>H'</BEGIN>\r
+            <END>;</END>\r
+        </SPAN>\r
+\r
+        <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <SEQ TYPE="OPERATOR">(</SEQ>\r
+        <SEQ TYPE="OPERATOR">]</SEQ>\r
+        <SEQ TYPE="OPERATOR">[</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">.</SEQ>\r
+        <SEQ TYPE="OPERATOR">,</SEQ>\r
+        <SEQ TYPE="OPERATOR">;</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">@</SEQ>\r
+        <SEQ TYPE="OPERATOR">:=</SEQ>\r
+        <SEQ TYPE="OPERATOR">:</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">/=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <!-- Reserved words -->\r
+            <KEYWORD1>AND</KEYWORD1>\r
+            <KEYWORD1>BEGIN</KEYWORD1>\r
+            <KEYWORD1>CASE</KEYWORD1>\r
+            <KEYWORD1>DIV</KEYWORD1>\r
+            <KEYWORD1>DO</KEYWORD1>\r
+            <KEYWORD1>ELSE</KEYWORD1>\r
+            <KEYWORD1>ELSIF</KEYWORD1>\r
+            <KEYWORD1>END</KEYWORD1>\r
+            <KEYWORD1>ESAC</KEYWORD1>\r
+            <KEYWORD1>EXIT</KEYWORD1>\r
+            <KEYWORD1>FI</KEYWORD1>\r
+            <KEYWORD1>FOR</KEYWORD1>\r
+            <KEYWORD1>GOTO</KEYWORD1>\r
+            <KEYWORD1>IF</KEYWORD1>\r
+            <KEYWORD1>IN</KEYWORD1>\r
+            <KEYWORD1>MOD</KEYWORD1>\r
+            <KEYWORD1>NOT</KEYWORD1>\r
+            <KEYWORD1>OD</KEYWORD1>\r
+            <KEYWORD1>OF</KEYWORD1>\r
+            <KEYWORD1>ON</KEYWORD1>\r
+            <KEYWORD1>OR</KEYWORD1>\r
+            <KEYWORD1>OUT</KEYWORD1>\r
+            <KEYWORD1>RESULT</KEYWORD1>\r
+            <KEYWORD1>RETURN</KEYWORD1>\r
+            <KEYWORD1>THEN</KEYWORD1>\r
+            <KEYWORD1>THEN</KEYWORD1>\r
+            <KEYWORD1>TO</KEYWORD1>\r
+            <KEYWORD1>UNTIL</KEYWORD1>\r
+            <KEYWORD1>USES</KEYWORD1>\r
+            <KEYWORD1>WHILE</KEYWORD1>\r
+            <KEYWORD1>WITH</KEYWORD1>\r
+            <KEYWORD1>XOR</KEYWORD1>\r
+            <!-- DEFINITIONS. -->\r
+            <KEYWORD2>ARRAY</KEYWORD2>\r
+            <KEYWORD2>DCL</KEYWORD2>\r
+            <KEYWORD2>GRANT</KEYWORD2>\r
+            <KEYWORD2>LABEL</KEYWORD2>\r
+            <KEYWORD2>MODULE</KEYWORD2>\r
+            <KEYWORD2>NEWMODE</KEYWORD2>\r
+            <KEYWORD2>PROC</KEYWORD2>\r
+            <KEYWORD2>POWERSET</KEYWORD2>\r
+            <KEYWORD2>SEIZE</KEYWORD2>\r
+            <KEYWORD2>SET</KEYWORD2>\r
+            <KEYWORD2>STRUCT</KEYWORD2>\r
+            <KEYWORD2>SYN</KEYWORD2>\r
+            <KEYWORD2>SYNMODE</KEYWORD2>\r
+            <KEYWORD2>TYPE</KEYWORD2>\r
+            <KEYWORD2>PACK</KEYWORD2>\r
+            <!-- ORDINAL TYPES. -->\r
+            <KEYWORD3>BIN</KEYWORD3>\r
+            <KEYWORD3>CHAR</KEYWORD3>\r
+            <KEYWORD3>INT</KEYWORD3>\r
+            <KEYWORD3>RANGE</KEYWORD3>\r
+            <!-- BOOLEAN TYPES. -->\r
+            <KEYWORD3>BOOL</KEYWORD3>\r
+            <!-- UNTYPED POINTER. -->\r
+            <KEYWORD3>PTR</KEYWORD3>\r
+            <KEYWORD3>REF</KEYWORD3>\r
+            \r
+            <LABEL>MODULE_DESCRIPTION_HEADER</LABEL>\r
+            <LABEL>PATCH_INFOS</LABEL>\r
+            <LABEL>LIO_INFOS</LABEL>\r
+            <LABEL>SWSG_INFOS</LABEL>\r
+            <LABEL>MSG_XREF</LABEL>            \r
+            <LABEL>EJECT</LABEL>            \r
+\r
+            <LITERAL2>FALSE</LITERAL2>\r
+            <LITERAL2>NULL</LITERAL2>\r
+            <LITERAL2>TRUE</LITERAL2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/cil.xml b/basis/xmode/modes/cil.xml
new file mode 100644 (file)
index 0000000..93b3816
--- /dev/null
@@ -0,0 +1,385 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       .NET CIL by Cullen Linn (linnc@cs.arizona.edu)\r
+    (pg102 or 198 of PartitionII)\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+\\" />\r
+       </PROPS>\r
+\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+        <KEYWORD1>public</KEYWORD1>\r
+            <KEYWORD1>private</KEYWORD1>\r
+            <KEYWORD1>family</KEYWORD1>\r
+            <KEYWORD1>assembly</KEYWORD1>\r
+            <KEYWORD1>famandassem</KEYWORD1>\r
+            <KEYWORD1>famorassem</KEYWORD1>\r
+            <KEYWORD1>autochar</KEYWORD1>\r
+            <KEYWORD1>abstract</KEYWORD1>\r
+            <KEYWORD1>ansi</KEYWORD1>\r
+            <KEYWORD1>beforefieldinit</KEYWORD1>\r
+            <KEYWORD1>explicit</KEYWORD1>\r
+            <KEYWORD1>interface</KEYWORD1>\r
+            <KEYWORD1>nested</KEYWORD1>\r
+            <KEYWORD1>rtspecialname</KEYWORD1>\r
+            <KEYWORD1>sealed</KEYWORD1>\r
+            <KEYWORD1>sequential</KEYWORD1>\r
+            <KEYWORD1>serializable</KEYWORD1>\r
+            <KEYWORD1>specialname</KEYWORD1>\r
+            <KEYWORD1>unicode</KEYWORD1>\r
+            <KEYWORD1>final</KEYWORD1>\r
+            <KEYWORD1>hidebysig</KEYWORD1>\r
+            <KEYWORD1>newslot</KEYWORD1>\r
+            <KEYWORD1>pinvokeimpl</KEYWORD1>\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <KEYWORD1>virtual</KEYWORD1>\r
+            <KEYWORD1>cil</KEYWORD1>\r
+            <KEYWORD1>forwardref</KEYWORD1>\r
+            <KEYWORD1>internalcall</KEYWORD1>\r
+            <KEYWORD1>managed</KEYWORD1>\r
+            <KEYWORD1>native</KEYWORD1>\r
+            <KEYWORD1>noinlining</KEYWORD1>\r
+            <KEYWORD1>runtime</KEYWORD1>\r
+            <KEYWORD1>synchronized</KEYWORD1>\r
+            <KEYWORD1>unmanaged</KEYWORD1>\r
+            <KEYWORD1>typedref</KEYWORD1>\r
+            <KEYWORD1>cdecl</KEYWORD1>\r
+            <KEYWORD1>fastcall</KEYWORD1>\r
+            <KEYWORD1>stdcall</KEYWORD1>\r
+            <KEYWORD1>thiscall</KEYWORD1>\r
+            <KEYWORD1>platformapi</KEYWORD1>\r
+            <KEYWORD1>initonly</KEYWORD1>\r
+            <KEYWORD1>literal</KEYWORD1>\r
+            <KEYWORD1>marshal</KEYWORD1>\r
+            <KEYWORD1>notserialized</KEYWORD1>\r
+            <KEYWORD1>addon</KEYWORD1>\r
+            <KEYWORD1>removeon</KEYWORD1>\r
+            <KEYWORD1>catch</KEYWORD1>\r
+            <KEYWORD1>fault</KEYWORD1>\r
+            <KEYWORD1>filter</KEYWORD1>\r
+            <KEYWORD1>handler</KEYWORD1>\r
+\r
+            <!--Assembly Directives (Meta-Data)-->\r
+            <KEYWORD2>.assembly</KEYWORD2>\r
+            <KEYWORD2>.assembly extern</KEYWORD2>\r
+            <KEYWORD2>.class</KEYWORD2>\r
+            <KEYWORD2>.class extern</KEYWORD2>\r
+            <KEYWORD2>.field</KEYWORD2>\r
+            <KEYWORD2>.method</KEYWORD2>\r
+            <KEYWORD2>.property</KEYWORD2>\r
+            <KEYWORD2>.get</KEYWORD2>\r
+            <KEYWORD2>.set</KEYWORD2>\r
+            <KEYWORD2>.other</KEYWORD2>\r
+            <KEYWORD2>.ctor</KEYWORD2>\r
+            <KEYWORD2>.corflags</KEYWORD2>\r
+            <KEYWORD2>.custom</KEYWORD2>\r
+            <KEYWORD2>.data</KEYWORD2>\r
+            <KEYWORD2>.file</KEYWORD2>\r
+            <KEYWORD2>.mresource</KEYWORD2>\r
+            <KEYWORD2>.module</KEYWORD2>\r
+            <KEYWORD2>.module extern</KEYWORD2>\r
+            <KEYWORD2>.subsystem</KEYWORD2>\r
+            <KEYWORD2>.vtfixup</KEYWORD2>\r
+            <KEYWORD2>.publickeytoken</KEYWORD2>\r
+            <KEYWORD2>.ver</KEYWORD2>\r
+            <KEYWORD2>.hash algorithm</KEYWORD2>\r
+            <KEYWORD2>.culture</KEYWORD2>\r
+            <KEYWORD2>.namespace</KEYWORD2>\r
+            <KEYWORD2>.event</KEYWORD2>\r
+            <KEYWORD2>.fire</KEYWORD2>\r
+            <KEYWORD2>.override</KEYWORD2>\r
+            <KEYWORD2>.try</KEYWORD2>\r
+            <KEYWORD2>.catch</KEYWORD2>\r
+            <KEYWORD2>.finally</KEYWORD2>\r
+            <KEYWORD2>.locals</KEYWORD2>\r
+            <KEYWORD2>.maxstack</KEYWORD2>\r
+            <KEYWORD2>.entrypoint</KEYWORD2>\r
+            <KEYWORD2>.pack</KEYWORD2>\r
+            <KEYWORD2>.size</KEYWORD2>\r
+\r
+            <!--Implementation Specific Metadata-->\r
+            <KEYWORD2>.file alignment</KEYWORD2>\r
+            <KEYWORD2>.imagebase</KEYWORD2>\r
+            <KEYWORD2>.language</KEYWORD2>\r
+            <KEYWORD2>.namespace</KEYWORD2>\r
+\r
+\r
+            <KEYWORD3>string</KEYWORD3>\r
+            <KEYWORD3>object</KEYWORD3>\r
+            <KEYWORD3>bool</KEYWORD3>\r
+            <KEYWORD3>true</KEYWORD3>\r
+            <KEYWORD3>false</KEYWORD3>\r
+            <KEYWORD3>bytearray</KEYWORD3>\r
+            <KEYWORD3>char</KEYWORD3>\r
+            <KEYWORD3>float32</KEYWORD3>\r
+            <KEYWORD3>float64</KEYWORD3>\r
+            <KEYWORD3>int8</KEYWORD3>\r
+            <KEYWORD3>int16</KEYWORD3>\r
+            <KEYWORD3>int32</KEYWORD3>\r
+            <KEYWORD3>int64</KEYWORD3>\r
+            <KEYWORD3>nullref</KEYWORD3>\r
+\r
+\r
+            <OPERATOR>&amp;</OPERATOR>\r
+            <OPERATOR>*</OPERATOR>\r
+            <OPERATOR>}</OPERATOR>\r
+            <OPERATOR>{</OPERATOR>\r
+\r
+            <!--arithmetic opcodes-->\r
+            <FUNCTION>add</FUNCTION>\r
+            <FUNCTION>add.ovf</FUNCTION>\r
+            <FUNCTION>add.ovf.un</FUNCTION>\r
+            <FUNCTION>div</FUNCTION>\r
+            <FUNCTION>div.un</FUNCTION>\r
+            <FUNCTION>mul</FUNCTION>\r
+            <FUNCTION>mul.ovf</FUNCTION>\r
+            <FUNCTION>mul.ovf.un</FUNCTION>\r
+            <FUNCTION>sub</FUNCTION>\r
+            <FUNCTION>sub.ovf</FUNCTION>\r
+            <FUNCTION>sub.ovf.un</FUNCTION>\r
+\r
+            <!--logical-->\r
+            <FUNCTION>and</FUNCTION>\r
+            <FUNCTION>not</FUNCTION>\r
+            <FUNCTION>or</FUNCTION>\r
+            <FUNCTION>xor</FUNCTION>\r
+\r
+            <!--Branches-->\r
+            <FUNCTION>beq</FUNCTION>\r
+            <FUNCTION>beq.s</FUNCTION>\r
+            <FUNCTION>bge</FUNCTION>\r
+            <FUNCTION>bge.s</FUNCTION>\r
+            <FUNCTION>bge.un</FUNCTION>\r
+            <FUNCTION>bge.un.s</FUNCTION>\r
+            <FUNCTION>bgt</FUNCTION>\r
+            <FUNCTION>bgt.s</FUNCTION>\r
+            <FUNCTION>bgt.un</FUNCTION>\r
+            <FUNCTION>bgt.un.s</FUNCTION>\r
+            <FUNCTION>ble</FUNCTION>\r
+            <FUNCTION>ble.s</FUNCTION>\r
+            <FUNCTION>ble.un</FUNCTION>\r
+            <FUNCTION>ble.un.s</FUNCTION>\r
+            <FUNCTION>blt</FUNCTION>\r
+            <FUNCTION>blt.s</FUNCTION>\r
+            <FUNCTION>blt.un</FUNCTION>\r
+            <FUNCTION>blt.un.s</FUNCTION>\r
+            <FUNCTION>bne.un</FUNCTION>\r
+            <FUNCTION>bne.un.s</FUNCTION>\r
+            <FUNCTION>br</FUNCTION>\r
+            <FUNCTION>brfalse</FUNCTION>\r
+            <FUNCTION>brfalse.s</FUNCTION>\r
+            <FUNCTION>brtrue</FUNCTION>\r
+            <FUNCTION>brtrue.s</FUNCTION>\r
+            <FUNCTION>br.s</FUNCTION>\r
+\r
+            <!--Conversions-->\r
+            <FUNCTION>conv.i</FUNCTION>\r
+            <FUNCTION>conv.i1</FUNCTION>\r
+            <FUNCTION>conv.i2</FUNCTION>\r
+            <FUNCTION>conv.i4</FUNCTION>\r
+            <FUNCTION>conv.i8</FUNCTION>\r
+            <FUNCTION>conv.ovf.i</FUNCTION>\r
+            <FUNCTION>conv.ovf.i1</FUNCTION>\r
+            <FUNCTION>conv.ovf.i1.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.i2</FUNCTION>\r
+            <FUNCTION>conv.ovf.i2.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.i4</FUNCTION>\r
+            <FUNCTION>conv.ovf.i4.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.i8</FUNCTION>\r
+            <FUNCTION>conv.ovf.i8.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.i.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.u</FUNCTION>\r
+            <FUNCTION>conv.ovf.u1</FUNCTION>\r
+            <FUNCTION>conv.ovf.u1.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.u2</FUNCTION>\r
+            <FUNCTION>conv.ovf.u2.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.u4</FUNCTION>\r
+            <FUNCTION>conv.ovf.u4.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.u8</FUNCTION>\r
+            <FUNCTION>conv.ovf.u8.un</FUNCTION>\r
+            <FUNCTION>conv.ovf.u.un</FUNCTION>\r
+            <FUNCTION>conv.r4</FUNCTION>\r
+            <FUNCTION>conv.r8</FUNCTION>\r
+            <FUNCTION>conv.r.un</FUNCTION>\r
+            <FUNCTION>conv.u</FUNCTION>\r
+            <FUNCTION>conv.u1</FUNCTION>\r
+            <FUNCTION>conv.u2</FUNCTION>\r
+            <FUNCTION>conv.u4</FUNCTION>\r
+            <FUNCTION>conv.u8</FUNCTION>\r
+\r
+            <!--Loads and Stores-->\r
+            <FUNCTION>ldarg</FUNCTION>\r
+            <FUNCTION>ldarga</FUNCTION>\r
+            <FUNCTION>ldarga.s</FUNCTION>\r
+            <FUNCTION>ldarg.0</FUNCTION>\r
+            <FUNCTION>ldarg.1</FUNCTION>\r
+            <FUNCTION>ldarg.2</FUNCTION>\r
+            <FUNCTION>ldarg.3</FUNCTION>\r
+            <FUNCTION>ldarg.s</FUNCTION>\r
+            <FUNCTION>ldc.i4</FUNCTION>\r
+            <FUNCTION>ldc.i4.0</FUNCTION>\r
+            <FUNCTION>ldc.i4.1</FUNCTION>\r
+            <FUNCTION>ldc.i4.2</FUNCTION>\r
+            <FUNCTION>ldc.i4.3</FUNCTION>\r
+            <FUNCTION>ldc.i4.4</FUNCTION>\r
+            <FUNCTION>ldc.i4.5</FUNCTION>\r
+            <FUNCTION>ldc.i4.6</FUNCTION>\r
+            <FUNCTION>ldc.i4.7</FUNCTION>\r
+            <FUNCTION>ldc.i4.8</FUNCTION>\r
+            <FUNCTION>ldc.i4.m1</FUNCTION>\r
+            <FUNCTION>ldc.i4.s</FUNCTION>\r
+            <FUNCTION>ldc.i8</FUNCTION>\r
+            <FUNCTION>ldc.r4</FUNCTION>\r
+            <FUNCTION>ldc.r8</FUNCTION>\r
+            <FUNCTION>ldelema</FUNCTION>\r
+            <FUNCTION>ldelem.i</FUNCTION>\r
+            <FUNCTION>ldelem.i1</FUNCTION>\r
+            <FUNCTION>ldelem.i2</FUNCTION>\r
+            <FUNCTION>ldelem.i4</FUNCTION>\r
+            <FUNCTION>ldelem.i8</FUNCTION>\r
+            <FUNCTION>ldelem.r4</FUNCTION>\r
+            <FUNCTION>ldelem.r8</FUNCTION>\r
+            <FUNCTION>ldelem.ref</FUNCTION>\r
+            <FUNCTION>ldelem.u1</FUNCTION>\r
+            <FUNCTION>ldelem.u2</FUNCTION>\r
+            <FUNCTION>ldelem.u4</FUNCTION>\r
+            <FUNCTION>ldfld</FUNCTION>\r
+            <FUNCTION>ldflda</FUNCTION>\r
+            <FUNCTION>ldftn</FUNCTION>\r
+            <FUNCTION>ldind.i</FUNCTION>\r
+            <FUNCTION>ldind.i1</FUNCTION>\r
+            <FUNCTION>ldind.i2</FUNCTION>\r
+            <FUNCTION>ldind.i4</FUNCTION>\r
+            <FUNCTION>ldind.i8</FUNCTION>\r
+            <FUNCTION>ldind.r4</FUNCTION>\r
+            <FUNCTION>ldind.r8</FUNCTION>\r
+            <FUNCTION>ldind.ref</FUNCTION>\r
+            <FUNCTION>ldind.u1</FUNCTION>\r
+            <FUNCTION>ldind.u2</FUNCTION>\r
+            <FUNCTION>ldind.u4</FUNCTION>\r
+            <FUNCTION>ldlen</FUNCTION>\r
+            <FUNCTION>ldloc</FUNCTION>\r
+            <FUNCTION>ldloca</FUNCTION>\r
+            <FUNCTION>ldloca.s</FUNCTION>\r
+            <FUNCTION>ldloc.0</FUNCTION>\r
+            <FUNCTION>ldloc.1</FUNCTION>\r
+            <FUNCTION>ldloc.2</FUNCTION>\r
+            <FUNCTION>ldloc.3</FUNCTION>\r
+            <FUNCTION>ldloc.s</FUNCTION>\r
+            <FUNCTION>ldnull</FUNCTION>\r
+            <FUNCTION>ldobj</FUNCTION>\r
+            <FUNCTION>ldsfld</FUNCTION>\r
+            <FUNCTION>ldsflda</FUNCTION>\r
+            <FUNCTION>ldstr</FUNCTION>\r
+            <FUNCTION>ldtoken</FUNCTION>\r
+            <FUNCTION>ldvirtftn</FUNCTION>\r
+            <FUNCTION>starg</FUNCTION>\r
+            <FUNCTION>starg.s</FUNCTION>\r
+            <FUNCTION>stelem.i</FUNCTION>\r
+            <FUNCTION>stelem.i1</FUNCTION>\r
+            <FUNCTION>stelem.i2</FUNCTION>\r
+            <FUNCTION>stelem.i4</FUNCTION>\r
+            <FUNCTION>stelem.i8</FUNCTION>\r
+            <FUNCTION>stelem.r4</FUNCTION>\r
+            <FUNCTION>stelem.r8</FUNCTION>\r
+            <FUNCTION>stelem.ref</FUNCTION>\r
+            <FUNCTION>stfld</FUNCTION>\r
+            <FUNCTION>stind.i</FUNCTION>\r
+            <FUNCTION>stind.i1</FUNCTION>\r
+            <FUNCTION>stind.i2</FUNCTION>\r
+            <FUNCTION>stind.i4</FUNCTION>\r
+            <FUNCTION>stind.i8</FUNCTION>\r
+            <FUNCTION>stind.r4</FUNCTION>\r
+            <FUNCTION>stind.r8</FUNCTION>\r
+            <FUNCTION>stind.ref</FUNCTION>\r
+            <FUNCTION>stloc</FUNCTION>\r
+            <FUNCTION>stloc.0</FUNCTION>\r
+            <FUNCTION>stloc.1</FUNCTION>\r
+            <FUNCTION>stloc.2</FUNCTION>\r
+            <FUNCTION>stloc.3</FUNCTION>\r
+            <FUNCTION>stloc.s</FUNCTION>\r
+            <FUNCTION>stobj</FUNCTION>\r
+            <FUNCTION>stsfld</FUNCTION>\r
+\r
+            <FUNCTION>call</FUNCTION>\r
+            <FUNCTION>calli</FUNCTION>\r
+            <FUNCTION>callvirt</FUNCTION>\r
+            <FUNCTION>castclass</FUNCTION>\r
+            <FUNCTION>ceq</FUNCTION>\r
+            <FUNCTION>cgt</FUNCTION>\r
+            <FUNCTION>cgt.un</FUNCTION>\r
+            <FUNCTION>ckfinite</FUNCTION>\r
+            <FUNCTION>clt</FUNCTION>\r
+            <FUNCTION>clt.un</FUNCTION>\r
+            <FUNCTION>cpblk</FUNCTION>\r
+            <FUNCTION>cpobj</FUNCTION>\r
+\r
+            <FUNCTION>initblk</FUNCTION>\r
+            <FUNCTION>initobj</FUNCTION>\r
+            <FUNCTION>newarr</FUNCTION>\r
+            <FUNCTION>newobj</FUNCTION>\r
+\r
+            <FUNCTION>dup</FUNCTION>\r
+            <FUNCTION>endfilter</FUNCTION>\r
+            <FUNCTION>isinst</FUNCTION>\r
+            <FUNCTION>box</FUNCTION>\r
+            <FUNCTION>unbox</FUNCTION>\r
+            <FUNCTION>arglist</FUNCTION>\r
+            <FUNCTION>break</FUNCTION>\r
+            <FUNCTION>jmp</FUNCTION>\r
+            <FUNCTION>ret</FUNCTION>\r
+            <FUNCTION>leave</FUNCTION>\r
+            <FUNCTION>leave.s</FUNCTION>\r
+            <FUNCTION>localloc</FUNCTION>\r
+            <FUNCTION>mkrefany</FUNCTION>\r
+            <FUNCTION>neg</FUNCTION>\r
+            <FUNCTION>switch</FUNCTION>\r
+            <FUNCTION>nop</FUNCTION>\r
+            <FUNCTION>pop</FUNCTION>\r
+            <FUNCTION>refanytype</FUNCTION>\r
+            <FUNCTION>refanyval</FUNCTION>\r
+            <FUNCTION>rem</FUNCTION>\r
+            <FUNCTION>rem.un</FUNCTION>\r
+            <FUNCTION>throw</FUNCTION>\r
+            <FUNCTION>rethrow</FUNCTION>\r
+            <FUNCTION>endfinally</FUNCTION>\r
+            <FUNCTION>shl</FUNCTION>\r
+            <FUNCTION>shr</FUNCTION>\r
+            <FUNCTION>shr.un</FUNCTION>\r
+            <FUNCTION>sizeof</FUNCTION>\r
+            <FUNCTION>tailcall</FUNCTION>\r
+            <FUNCTION>unaligned</FUNCTION>\r
+            <FUNCTION>volatile</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/clips.xml b/basis/xmode/modes/clips.xml
new file mode 100644 (file)
index 0000000..51d89d0
--- /dev/null
@@ -0,0 +1,434 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--   jEdit CLIPS syntax file\r
+       \r
+       written by      Orhan Alkan\r
+       version         1.0\r
+       created on      30 June 2007\r
+       last revised    01 July 2007\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+\r
+       <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
+       \r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+               \r
+               <!-- String literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               \r
+               <!-- List literals -->\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               \r
+               <!-- Operators -->\r
+               <SEQ TYPE="OPERATOR">=></SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;-</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ> \r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">**</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">$</SEQ>\r
+               \r
+               <!-- Parentheses -->\r
+               <SEQ TYPE="MARKUP">(</SEQ>\r
+               <SEQ TYPE="MARKUP">)</SEQ>\r
+               <SEQ TYPE="MARKUP">[</SEQ>\r
+               <SEQ TYPE="MARKUP">]</SEQ>\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               \r
+               <KEYWORDS>\r
+               \r
+                       <KEYWORD1>deffacts</KEYWORD1>\r
+                       <KEYWORD1>deftemplate</KEYWORD1>\r
+                       <KEYWORD1>defglobal</KEYWORD1>\r
+                       <KEYWORD1>defrule</KEYWORD1>\r
+                       <KEYWORD1>deffunction</KEYWORD1>\r
+                       <KEYWORD1>defgeneric</KEYWORD1>\r
+                       <KEYWORD1>defmethod</KEYWORD1>\r
+                       <KEYWORD1>defclass</KEYWORD1>\r
+                       <KEYWORD1>definstance</KEYWORD1>\r
+                       <KEYWORD1>defmessage</KEYWORD1>\r
+                       <KEYWORD1>defmodule</KEYWORD1>\r
+                       <KEYWORD1>deffacts-module</KEYWORD1>\r
+                       <KEYWORD1>deffunction-module</KEYWORD1>\r
+                       <KEYWORD1>defgeneric-module</KEYWORD1>\r
+                       <KEYWORD1>defglobal-module</KEYWORD1>\r
+                       <KEYWORD1>definstances-module</KEYWORD1>\r
+                       <KEYWORD1>slot</KEYWORD1>\r
+                       <KEYWORD1>multislot</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>default-dynamic</KEYWORD1>\r
+                       <KEYWORD1>declare</KEYWORD1>\r
+                       <KEYWORD1>salience</KEYWORD1>\r
+                       <KEYWORD1>auto-focus</KEYWORD1>\r
+                       <KEYWORD1>object</KEYWORD1>\r
+                       <KEYWORD1>is-a</KEYWORD1>\r
+                       <KEYWORD1>pattern-match</KEYWORD1>\r
+                       <KEYWORD1>single-slot</KEYWORD1>\r
+                       <KEYWORD1>reactive</KEYWORD1>\r
+                       <KEYWORD1>non-reactive</KEYWORD1>\r
+                       <KEYWORD1>storage</KEYWORD1>\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>shared</KEYWORD1>\r
+                       <KEYWORD1>access</KEYWORD1>\r
+                       <KEYWORD1>read-write</KEYWORD1>\r
+                       <KEYWORD1>read-only</KEYWORD1>\r
+                       <KEYWORD1>initialize-only</KEYWORD1>\r
+                       <KEYWORD1>propagation</KEYWORD1>\r
+                       <KEYWORD1>inherit</KEYWORD1>\r
+                       <KEYWORD1>non-inherit</KEYWORD1>\r
+                       <KEYWORD1>source</KEYWORD1>\r
+                       <KEYWORD1>exclusive</KEYWORD1>\r
+                       <KEYWORD1>composite</KEYWORD1>\r
+                       <KEYWORD1>visibility</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>create-accessor</KEYWORD1>\r
+                       <KEYWORD1>?NONE</KEYWORD1>\r
+                       <KEYWORD1>read</KEYWORD1>\r
+                       <KEYWORD1>write</KEYWORD1>\r
+                       <KEYWORD1>?DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>primary</KEYWORD1>\r
+                       <KEYWORD1>around</KEYWORD1>\r
+                       <KEYWORD1>before</KEYWORD1>\r
+                       <KEYWORD1>after</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+                       <KEYWORD1>export</KEYWORD1>\r
+                       <KEYWORD1>?ALL</KEYWORD1>\r
+                       <KEYWORD1>type</KEYWORD1>\r
+                       <KEYWORD1>allowed-symbols</KEYWORD1>\r
+                       <KEYWORD1>allowed-strings</KEYWORD1>\r
+                       <KEYWORD1>allowed-lexemes</KEYWORD1>\r
+                       <KEYWORD1>allowed-integers</KEYWORD1>\r
+                       <KEYWORD1>allowed-floats</KEYWORD1>\r
+                       <KEYWORD1>allowed-numbers</KEYWORD1>\r
+                       <KEYWORD1>allowed-instance-names</KEYWORD1>\r
+                       <KEYWORD1>allowed-values</KEYWORD1>\r
+                       <KEYWORD1>?VARIABLE</KEYWORD1>\r
+                       \r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>while</KEYWORD2>\r
+                       <KEYWORD2>then</KEYWORD2>\r
+                       <KEYWORD2>else</KEYWORD2>\r
+                       <KEYWORD2>or</KEYWORD2>\r
+                       <KEYWORD2>and</KEYWORD2>\r
+                       <KEYWORD2>eq</KEYWORD2>\r
+                       <KEYWORD2>evenp</KEYWORD2>\r
+                       <KEYWORD2>floatp</KEYWORD2>\r
+                       <KEYWORD2>integerp</KEYWORD2>\r
+                       <KEYWORD2>lexemep</KEYWORD2>\r
+                       <KEYWORD2>multifieldp</KEYWORD2>\r
+                       <KEYWORD2>neq</KEYWORD2>\r
+                       <KEYWORD2>not</KEYWORD2>\r
+                       <KEYWORD2>numberp</KEYWORD2>\r
+                       <KEYWORD2>oddp</KEYWORD2>\r
+                       <KEYWORD2>pointerp</KEYWORD2>\r
+                       <KEYWORD2>stringp</KEYWORD2>\r
+                       <KEYWORD2>symbolp</KEYWORD2>\r
+                       <KEYWORD2>switch</KEYWORD2>\r
+                       <KEYWORD2>while</KEYWORD2>\r
+                       \r
+                       <KEYWORD3>assert</KEYWORD3>\r
+                       <KEYWORD3>bind</KEYWORD3>\r
+                       <KEYWORD3>class-abstractp</KEYWORD3>\r
+                       <KEYWORD3>class-existp</KEYWORD3>\r
+                       <KEYWORD3>class-subclasses</KEYWORD3>\r
+                       <KEYWORD3>class-superclasses</KEYWORD3>\r
+                       <KEYWORD3>defclass-module</KEYWORD3>\r
+                       <KEYWORD3>describe-classes</KEYWORD3>\r
+                       <KEYWORD3>get-class-defaults-mode</KEYWORD3>\r
+                       <KEYWORD3>get-defclass-list</KEYWORD3>\r
+                       <KEYWORD3>agenda</KEYWORD3>\r
+                       <KEYWORD3>list-defclasses</KEYWORD3>\r
+                       <KEYWORD3>ppdefclass</KEYWORD3>\r
+                       <KEYWORD3>set-class-defaults-mode</KEYWORD3>\r
+                       <KEYWORD3>slot-allowed-values</KEYWORD3>\r
+                       <KEYWORD3>slot-cardinality</KEYWORD3>\r
+                       <KEYWORD3>slot-default-value</KEYWORD3>\r
+                       <KEYWORD3>slot-direct-accessp</KEYWORD3>\r
+                       <KEYWORD3>slot-existp</KEYWORD3>\r
+                       <KEYWORD3>slot-facest</KEYWORD3>\r
+                       <KEYWORD3>slot-initablep</KEYWORD3>\r
+                       <KEYWORD3>slot-publicp</KEYWORD3>\r
+                       <KEYWORD3>slot-range</KEYWORD3>\r
+                       <KEYWORD3>slot-sources</KEYWORD3>\r
+                       <KEYWORD3>slot-types</KEYWORD3>\r
+                       <KEYWORD3>slot-writablep</KEYWORD3>\r
+                       <KEYWORD3>subsclassp</KEYWORD3>\r
+                       <KEYWORD3>undefclass</KEYWORD3>\r
+                       <KEYWORD3>get-deffacts-list</KEYWORD3>\r
+                       <KEYWORD3>list-deffacts</KEYWORD3>\r
+                       <KEYWORD3>ppdeffacts</KEYWORD3>\r
+                       <KEYWORD3>undeffacts</KEYWORD3>\r
+                       <KEYWORD3>get-deffunction-list</KEYWORD3>\r
+                       <KEYWORD3>list-deffunction</KEYWORD3>\r
+                       <KEYWORD3>ppdeffunction</KEYWORD3>\r
+                       <KEYWORD3>undeffunction</KEYWORD3>\r
+                       <KEYWORD3>get-defgeneric-list</KEYWORD3>\r
+                       <KEYWORD3>list-defgenerics</KEYWORD3>\r
+                       <KEYWORD3>ppdefgeneric</KEYWORD3>\r
+                       <KEYWORD3>preview-generic</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>undefgeneric</KEYWORD3>\r
+                       <KEYWORD3>get-defglobal-list</KEYWORD3>\r
+                       <KEYWORD3>get-reset-globals</KEYWORD3>\r
+                       <KEYWORD3>list-defglobals</KEYWORD3>\r
+                       <KEYWORD3>ppdefglobal</KEYWORD3>\r
+                       <KEYWORD3>set-reset-globals</KEYWORD3>\r
+                       <KEYWORD3>undefglobal</KEYWORD3>\r
+                       <KEYWORD3>get-definstances-list</KEYWORD3>\r
+                       <KEYWORD3>list-definstances</KEYWORD3>\r
+                       <KEYWORD3>ppdefinstances</KEYWORD3>\r
+                       <KEYWORD3>undefinstances</KEYWORD3>\r
+                       <KEYWORD3>call-next-handler</KEYWORD3>\r
+                       <KEYWORD3>get-defmessage-handler</KEYWORD3>\r
+                       <KEYWORD3>list-defmessage-handlers</KEYWORD3>\r
+                       <KEYWORD3>message-handler-existp</KEYWORD3>\r
+                       <KEYWORD3>handler-type</KEYWORD3>\r
+                       <KEYWORD3>next-handlerp</KEYWORD3>\r
+                       <KEYWORD3>override-next-handler</KEYWORD3>\r
+                       <KEYWORD3>ppdefmessage-handler</KEYWORD3>\r
+                       <KEYWORD3>undefmessage-handler</KEYWORD3>\r
+                       <KEYWORD3>call-next-method</KEYWORD3>\r
+                       <KEYWORD3>call-specific-method</KEYWORD3>\r
+                       <KEYWORD3>get-defmethod-list</KEYWORD3>\r
+                       <KEYWORD3>get-method-restrictions</KEYWORD3>\r
+                       <KEYWORD3>list-defmethods</KEYWORD3>\r
+                       <KEYWORD3>next-methodp</KEYWORD3>\r
+                       <KEYWORD3>override-next-method</KEYWORD3>\r
+                       <KEYWORD3>undefmethod</KEYWORD3>\r
+                       <KEYWORD3>preview-generic</KEYWORD3>\r
+                       <KEYWORD3>get-current-module</KEYWORD3>\r
+                       <KEYWORD3>get-defmodule-list</KEYWORD3>\r
+                       <KEYWORD3>list-defmodules</KEYWORD3>\r
+                       <KEYWORD3>ppdefmodules</KEYWORD3>\r
+                       <KEYWORD3>set-current-module</KEYWORD3>\r
+                       <KEYWORD3>defrule-module</KEYWORD3>\r
+                       <KEYWORD3>get-defrule-list</KEYWORD3>\r
+                       <KEYWORD3>get-incremental-reset</KEYWORD3>\r
+                       <KEYWORD3>list-defrules</KEYWORD3>\r
+                       <KEYWORD3>matches</KEYWORD3>\r
+                       <KEYWORD3>ppdefrule</KEYWORD3>\r
+                       <KEYWORD3>refresh</KEYWORD3>\r
+                       <KEYWORD3>remove-break</KEYWORD3>\r
+                       <KEYWORD3>set-break</KEYWORD3>\r
+                       <KEYWORD3>set-incremental-reset</KEYWORD3>\r
+                       <KEYWORD3>show-breaks</KEYWORD3>\r
+                       <KEYWORD3>undefrule</KEYWORD3>\r
+                       <KEYWORD3>deftemplate-module</KEYWORD3>\r
+                       <KEYWORD3>get-deftemaplate-list</KEYWORD3>\r
+                       <KEYWORD3>list-deftemplates</KEYWORD3>\r
+                       <KEYWORD3>ppdeftemplate</KEYWORD3>\r
+                       <KEYWORD3>undeftemplate</KEYWORD3>\r
+                       <KEYWORD3>apropos</KEYWORD3>\r
+                       <KEYWORD3>bacth</KEYWORD3>\r
+                       <KEYWORD3>batch*</KEYWORD3>\r
+                       <KEYWORD3>bload</KEYWORD3>\r
+                       <KEYWORD3>bsave</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+                       <KEYWORD3>exit</KEYWORD3>\r
+                       <KEYWORD3>get-auto-float-dividend</KEYWORD3>\r
+                       <KEYWORD3>get-dynamic-constraints-checking</KEYWORD3>\r
+                       <KEYWORD3>get-static-constraints-checking</KEYWORD3>\r
+                       <KEYWORD3>load</KEYWORD3>\r
+                       <KEYWORD3>load*</KEYWORD3>\r
+                       <KEYWORD3>options</KEYWORD3>\r
+                       <KEYWORD3>reset</KEYWORD3>\r
+                       <KEYWORD3>save</KEYWORD3>\r
+                       <KEYWORD3>set-auto-float-dividend</KEYWORD3>\r
+                       <KEYWORD3>set-dynamic-constriants-checking</KEYWORD3>\r
+                       <KEYWORD3>set-static-constriants-checking</KEYWORD3>\r
+                       <KEYWORD3>system</KEYWORD3>\r
+                       <KEYWORD3>assert-string</KEYWORD3>\r
+                       <KEYWORD3>dependencies</KEYWORD3>\r
+                       <KEYWORD3>dependents</KEYWORD3>\r
+                       <KEYWORD3>duplicate</KEYWORD3>\r
+                       <KEYWORD3>facts</KEYWORD3>\r
+                       <KEYWORD3>fact-existp</KEYWORD3>\r
+                       <KEYWORD3>fact-index</KEYWORD3>\r
+                       <KEYWORD3>fact-relation</KEYWORD3>\r
+                       <KEYWORD3>fact-slot-names</KEYWORD3>\r
+                       <KEYWORD3>fact-slot-value</KEYWORD3>\r
+                       <KEYWORD3>get-fact-duplication</KEYWORD3>\r
+                       <KEYWORD3>get-fact-list</KEYWORD3>\r
+                       <KEYWORD3>load-facts</KEYWORD3>\r
+                       <KEYWORD3>modify</KEYWORD3>\r
+                       <KEYWORD3>retract</KEYWORD3>\r
+                       <KEYWORD3>save-facts</KEYWORD3>\r
+                       <KEYWORD3>set-fact-duplication</KEYWORD3>\r
+                       <KEYWORD3>any-instancep</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>delayed-do-for-all-instances</KEYWORD3>\r
+                       <KEYWORD3>delete-instance</KEYWORD3>\r
+                       <KEYWORD3>direct-slot-delete$</KEYWORD3>\r
+                       <KEYWORD3>direct-slot-insert$</KEYWORD3>\r
+                       <KEYWORD3>direct-slot-replace$</KEYWORD3>\r
+                       <KEYWORD3>do-for-instance</KEYWORD3>\r
+                       <KEYWORD3>do-for-all-instances</KEYWORD3>\r
+                       <KEYWORD3>dynamic-get</KEYWORD3>\r
+                       <KEYWORD3>dynamic-put</KEYWORD3>\r
+                       <KEYWORD3>find-instance</KEYWORD3>\r
+                       <KEYWORD3>find-all-instances</KEYWORD3>\r
+                       <KEYWORD3>init-slot</KEYWORD3>\r
+                       <KEYWORD3>instance-address</KEYWORD3>\r
+                       <KEYWORD3>instance-addressp</KEYWORD3>\r
+                       <KEYWORD3>instance-existp</KEYWORD3>\r
+                       <KEYWORD3>instance-name</KEYWORD3>\r
+                       <KEYWORD3>instance-namep</KEYWORD3>\r
+                       <KEYWORD3>instance-name-to-symbol</KEYWORD3>\r
+                       <KEYWORD3>instancep</KEYWORD3>\r
+                       <KEYWORD3>instances</KEYWORD3>\r
+                       <KEYWORD3>load-instances</KEYWORD3>\r
+                       <KEYWORD3>make-intance</KEYWORD3>\r
+                       <KEYWORD3>ppinstance</KEYWORD3>\r
+                       <KEYWORD3>restore-instances</KEYWORD3>\r
+                       <KEYWORD3>save-instances</KEYWORD3>\r
+                       <KEYWORD3>send</KEYWORD3>\r
+                       <KEYWORD3>slot-delete$</KEYWORD3>\r
+                       <KEYWORD3>slot-insert$</KEYWORD3>\r
+                       <KEYWORD3>slot-replace$</KEYWORD3>\r
+                       <KEYWORD3>symbol-to-instance-name</KEYWORD3>\r
+                       <KEYWORD3>unmake-instance</KEYWORD3>\r
+                       <KEYWORD3>create$</KEYWORD3>\r
+                       <KEYWORD3>delete$</KEYWORD3>\r
+                       <KEYWORD3>delete-member$</KEYWORD3>\r
+                       <KEYWORD3>explode$</KEYWORD3>\r
+                       <KEYWORD3>first$</KEYWORD3>\r
+                       <KEYWORD3>implode$</KEYWORD3>\r
+                       <KEYWORD3>insert$</KEYWORD3>\r
+                       <KEYWORD3>length$</KEYWORD3>\r
+                       <KEYWORD3>member$</KEYWORD3>\r
+                       <KEYWORD3>nth$</KEYWORD3>\r
+                       <KEYWORD3>replace$</KEYWORD3>\r
+                       <KEYWORD3>rest$</KEYWORD3>\r
+                       <KEYWORD3>subseq$</KEYWORD3>\r
+                       <KEYWORD3>subsetp</KEYWORD3>\r
+                       <KEYWORD3>break</KEYWORD3>\r
+                       <KEYWORD3>loop-for-count</KEYWORD3>\r
+                       <KEYWORD3>progn</KEYWORD3>\r
+                       <KEYWORD3>progn$</KEYWORD3>\r
+                       <KEYWORD3>return</KEYWORD3>\r
+                       <KEYWORD3>get-profile-percent-threshold</KEYWORD3>\r
+                       <KEYWORD3>profile-contructs</KEYWORD3>\r
+                       <KEYWORD3>profile-info</KEYWORD3>\r
+                       <KEYWORD3>profile-reset</KEYWORD3>\r
+                       <KEYWORD3>set-profile-percent-threshold</KEYWORD3>\r
+                       <KEYWORD3>expand$</KEYWORD3>\r
+                       <KEYWORD3>get-sequence-operator-recognition</KEYWORD3>\r
+                       <KEYWORD3>aet-sequence-operator-recognition</KEYWORD3>\r
+                       <KEYWORD3>build</KEYWORD3>\r
+                       <KEYWORD3>check-syntax</KEYWORD3>\r
+                       <KEYWORD3>eval</KEYWORD3>\r
+                       <KEYWORD3>lowcase</KEYWORD3>\r
+                       <KEYWORD3>str-cat</KEYWORD3>\r
+                       <KEYWORD3>str-compare</KEYWORD3>\r
+                       <KEYWORD3>str-index</KEYWORD3>\r
+                       <KEYWORD3>str-length</KEYWORD3>\r
+                       <KEYWORD3>string-to-field</KEYWORD3>\r
+                       <KEYWORD3>sub-string</KEYWORD3>\r
+                       <KEYWORD3>sym-cat</KEYWORD3>\r
+                       <KEYWORD3>upcase</KEYWORD3>\r
+                       <KEYWORD3>fetch</KEYWORD3>\r
+                       <KEYWORD3>print-region</KEYWORD3>\r
+                       <KEYWORD3>toss</KEYWORD3>\r
+                       \r
+                       <KEYWORD4>abs</KEYWORD4>\r
+                       <KEYWORD4>div</KEYWORD4>\r
+                       <KEYWORD4>float</KEYWORD4>\r
+                       <KEYWORD4>integer</KEYWORD4>\r
+                       <KEYWORD4>max</KEYWORD4>\r
+                       <KEYWORD4>min</KEYWORD4>\r
+                       <KEYWORD4>deg-grad</KEYWORD4>\r
+                       <KEYWORD4>deg-rad</KEYWORD4>\r
+                       <KEYWORD4>exp</KEYWORD4>\r
+                       <KEYWORD4>grad-deg</KEYWORD4>\r
+                       <KEYWORD4>log</KEYWORD4>\r
+                       <KEYWORD4>log10</KEYWORD4>\r
+                       <KEYWORD4>mod</KEYWORD4>\r
+                       <KEYWORD4>pi</KEYWORD4>\r
+                       <KEYWORD4>rad-deg</KEYWORD4>\r
+                       <KEYWORD4>round</KEYWORD4>\r
+                       <KEYWORD4>sqrt</KEYWORD4>\r
+                       <KEYWORD4>close</KEYWORD4>\r
+                       <KEYWORD4>format</KEYWORD4>\r
+                       <KEYWORD4>open</KEYWORD4>\r
+                       <KEYWORD4>printout</KEYWORD4>\r
+                       <KEYWORD4>read</KEYWORD4>\r
+                       <KEYWORD4>readline</KEYWORD4>\r
+                       <KEYWORD4>remove</KEYWORD4>\r
+                       <KEYWORD4>rename</KEYWORD4>\r
+                       <KEYWORD4>conserve-mem</KEYWORD4>\r
+                       <KEYWORD4>mem-used</KEYWORD4>\r
+                       <KEYWORD4>mem-requests</KEYWORD4>\r
+                       <KEYWORD4>release-mem</KEYWORD4>\r
+                       <KEYWORD4>funcall</KEYWORD4>\r
+                       <KEYWORD4>gensym</KEYWORD4>\r
+                       <KEYWORD4>gemsym*</KEYWORD4>\r
+                       <KEYWORD4>get-function-restriction</KEYWORD4>\r
+                       <KEYWORD4>length</KEYWORD4>\r
+                       <KEYWORD4>random</KEYWORD4>\r
+                       <KEYWORD4>seed</KEYWORD4>\r
+                       <KEYWORD4>setgen</KEYWORD4>\r
+                       <KEYWORD4>sort</KEYWORD4>\r
+                       <KEYWORD4>time</KEYWORD4>\r
+                       <KEYWORD4>timer</KEYWORD4>\r
+                       <KEYWORD4>acos</KEYWORD4>\r
+                       <KEYWORD4>acosh</KEYWORD4>\r
+                       <KEYWORD4>acot</KEYWORD4>\r
+                       <KEYWORD4>acoth</KEYWORD4>\r
+                       <KEYWORD4>acsc</KEYWORD4>\r
+                       <KEYWORD4>acsch</KEYWORD4>\r
+                       <KEYWORD4>asec</KEYWORD4>\r
+                       <KEYWORD4>asin</KEYWORD4>\r
+                       <KEYWORD4>asinh</KEYWORD4>\r
+                       <KEYWORD4>atan</KEYWORD4>\r
+                       <KEYWORD4>atanh</KEYWORD4>\r
+                       <KEYWORD4>cos</KEYWORD4>\r
+                       <KEYWORD4>cosh</KEYWORD4>\r
+                       <KEYWORD4>cot</KEYWORD4>\r
+                       <KEYWORD4>coth</KEYWORD4>\r
+                       <KEYWORD4>csc</KEYWORD4>\r
+                       <KEYWORD4>sec</KEYWORD4>\r
+                       <KEYWORD4>sech</KEYWORD4>\r
+                       <KEYWORD4>sin</KEYWORD4>\r
+                       <KEYWORD4>sinh</KEYWORD4>\r
+                       <KEYWORD4>tan</KEYWORD4>\r
+                       <KEYWORD4>tanh</KEYWORD4>\r
+                                                                       \r
+               </KEYWORDS>\r
+               \r
+       </RULES>\r
+       \r
+</MODE>\r
diff --git a/basis/xmode/modes/cobol.xml b/basis/xmode/modes/cobol.xml
new file mode 100644 (file)
index 0000000..31339bc
--- /dev/null
@@ -0,0 +1,998 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- COBOL mode, by Matthias M. Schneider -->\r
+<MODE>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <EOL_SPAN_REGEXP TYPE="COMMENT1" AT_LINE_START="TRUE">.{6}(\*|/)</EOL_SPAN_REGEXP>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR"> = </SEQ>\r
+               <SEQ TYPE="OPERATOR"> &gt;= </SEQ>\r
+               <SEQ TYPE="OPERATOR"> &lt;= </SEQ>\r
+               <SEQ TYPE="OPERATOR"> + </SEQ>\r
+               <SEQ TYPE="OPERATOR"> - </SEQ>\r
+               <SEQ TYPE="OPERATOR"> / </SEQ>\r
+               <SEQ TYPE="OPERATOR"> * </SEQ>\r
+               <SEQ TYPE="OPERATOR"> ** </SEQ>\r
+               <SEQ TYPE="OPERATOR"> &gt; </SEQ>\r
+               <SEQ TYPE="OPERATOR"> &lt; </SEQ>\r
+               <SEQ TYPE="OPERATOR"> % </SEQ>\r
+               <SEQ TYPE="OPERATOR"> &amp; </SEQ>\r
+               <SEQ TYPE="OPERATOR"> | </SEQ>\r
+               <SEQ TYPE="OPERATOR"> ^ </SEQ>\r
+               <SEQ TYPE="OPERATOR"> ~ </SEQ>\r
+\r
+               <SPAN TYPE="COMMENT2" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>EXEC SQL</BEGIN>\r
+                       <END>END-EXEC</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>ACCEPT</KEYWORD1>\r
+                       <KEYWORD1>ACCESS</KEYWORD1>\r
+                       <KEYWORD1>ACTUAL</KEYWORD1>\r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ADDRESS</KEYWORD1>\r
+                       <KEYWORD1>ADVANCING</KEYWORD1>\r
+                       <KEYWORD1>AFTER</KEYWORD1>\r
+                       <KEYWORD1>ALL</KEYWORD1>\r
+                       <KEYWORD1>ALPHABET</KEYWORD1>\r
+                       <KEYWORD1>ALPHABETIC</KEYWORD1>\r
+                       <KEYWORD1>ALPHABETIC-LOWER</KEYWORD1>\r
+                       <KEYWORD1>ALPHABETIC-UPPER</KEYWORD1>\r
+                       <KEYWORD1>ALPHANUMERIC</KEYWORD1>\r
+                       <KEYWORD1>ALPHANUMERIC-EDITED</KEYWORD1>\r
+                       <KEYWORD1>ALSO</KEYWORD1>\r
+                       <KEYWORD1>ALTER</KEYWORD1>\r
+                       <KEYWORD1>ALTERNATE</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>API</KEYWORD1>\r
+                       <KEYWORD1>APPLY</KEYWORD1>\r
+                       <KEYWORD1>ARE</KEYWORD1>\r
+                       <KEYWORD1>AREA</KEYWORD1>\r
+                       <KEYWORD1>AREAS</KEYWORD1>\r
+                       <KEYWORD1>ASCENDING</KEYWORD1>\r
+                       <KEYWORD1>ASSIGN</KEYWORD1>\r
+                       <KEYWORD1>AT</KEYWORD1>\r
+                       <KEYWORD1>AUTHOR</KEYWORD1>\r
+                       <KEYWORD1>AUTO</KEYWORD1>\r
+                       <KEYWORD1>AUTO-SKIP</KEYWORD1>\r
+                       <KEYWORD1>AUTOMATIC</KEYWORD1>\r
+\r
+                       <KEYWORD1>BACKGROUND-COLOR</KEYWORD1>\r
+                       <KEYWORD1>BACKGROUND-COLOUR</KEYWORD1>\r
+                       <KEYWORD1>BACKWARD</KEYWORD1>\r
+                       <KEYWORD1>BASIS</KEYWORD1>\r
+                       <KEYWORD1>BEEP</KEYWORD1>\r
+                       <KEYWORD1>BEFORE</KEYWORD1>\r
+                       <KEYWORD1>BEGINNING</KEYWORD1>\r
+                       <KEYWORD1>BELL</KEYWORD1>\r
+                       <KEYWORD1>BINARY</KEYWORD1>\r
+                       <KEYWORD1>BLANK</KEYWORD1>\r
+                       <KEYWORD1>BLINK</KEYWORD1>\r
+                       <KEYWORD1>BLOCK</KEYWORD1>\r
+                       <KEYWORD1>BOTTOM</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+\r
+                       <KEYWORD1>C01</KEYWORD1>\r
+                       <KEYWORD1>C02</KEYWORD1>\r
+                       <KEYWORD1>C03</KEYWORD1>\r
+                       <KEYWORD1>C04</KEYWORD1>\r
+                       <KEYWORD1>C05</KEYWORD1>\r
+                       <KEYWORD1>C06</KEYWORD1>\r
+                       <KEYWORD1>C07</KEYWORD1>\r
+                       <KEYWORD1>C08</KEYWORD1>\r
+                       <KEYWORD1>C09</KEYWORD1>\r
+                       <KEYWORD1>C10</KEYWORD1>\r
+                       <KEYWORD1>C11</KEYWORD1>\r
+                       <KEYWORD1>C12</KEYWORD1>\r
+                       <KEYWORD1>CALL</KEYWORD1>\r
+                       <KEYWORD1>CALL-CONVENTION</KEYWORD1>\r
+                       <KEYWORD1>CANCEL</KEYWORD1>\r
+                       <KEYWORD1>CBL</KEYWORD1>\r
+                       <KEYWORD1>CD</KEYWORD1>\r
+                       <KEYWORD1>CF</KEYWORD1>\r
+                       <KEYWORD1>CH</KEYWORD1>\r
+                       <KEYWORD1>CHAIN</KEYWORD1>\r
+                       <KEYWORD1>CHAINING</KEYWORD1>\r
+                       <KEYWORD1>CHANGED</KEYWORD1>\r
+                       <KEYWORD1>CHARACTER</KEYWORD1>\r
+                       <KEYWORD1>CHARACTERS</KEYWORD1>\r
+                       <KEYWORD1>CLASS</KEYWORD1>\r
+                       <KEYWORD1>CLOCK-UNITS</KEYWORD1>\r
+                       <KEYWORD1>CLOSE</KEYWORD1>\r
+                       <KEYWORD1>COBOL</KEYWORD1>\r
+                       <KEYWORD1>CODE</KEYWORD1>\r
+                       <KEYWORD1>CODE-SET</KEYWORD1>\r
+                       <KEYWORD1>COL</KEYWORD1>\r
+                       <KEYWORD1>COLLATING</KEYWORD1>\r
+                       <KEYWORD1>COLUMN</KEYWORD1>\r
+                       <KEYWORD1>COM-REG</KEYWORD1>\r
+                       <KEYWORD1>COMMA</KEYWORD1>\r
+                       <KEYWORD1>COMMIT</KEYWORD1>\r
+                       <KEYWORD1>COMMON</KEYWORD1>\r
+                       <KEYWORD1>COMMUNICATION</KEYWORD1>\r
+                       <KEYWORD1>COMP</KEYWORD1>\r
+                       <KEYWORD1>COMP-0</KEYWORD1>\r
+                       <KEYWORD1>COMP-1</KEYWORD1>\r
+                       <KEYWORD1>COMP-2</KEYWORD1>\r
+                       <KEYWORD1>COMP-3</KEYWORD1>\r
+                       <KEYWORD1>COMP-4</KEYWORD1>\r
+                       <KEYWORD1>COMP-5</KEYWORD1>\r
+                       <KEYWORD1>COMP-6</KEYWORD1>\r
+                       <KEYWORD1>COMP-X</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-0</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-1</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-2</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-3</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-4</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-5</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-6</KEYWORD1>\r
+                       <KEYWORD1>COMPUTATIONAL-X</KEYWORD1>\r
+                       <KEYWORD1>COMPUTE</KEYWORD1>\r
+                       <KEYWORD1>CONFIGURATION</KEYWORD1>\r
+                       <KEYWORD1>CONSOLE</KEYWORD1>\r
+                       <KEYWORD1>CONTAINS</KEYWORD1>\r
+                       <KEYWORD1>CONTENT</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>CONTROL</KEYWORD1>\r
+                       <KEYWORD1>CONTROLS</KEYWORD1>\r
+                       <KEYWORD1>CONVERTING</KEYWORD1>\r
+                       <KEYWORD1>COPY</KEYWORD1>\r
+                       <KEYWORD1>CORE-INDEX</KEYWORD1>\r
+                       <KEYWORD1>CORR</KEYWORD1>\r
+                       <KEYWORD1>CORRESPONDING</KEYWORD1>\r
+                       <KEYWORD1>COUNT</KEYWORD1>\r
+                       <KEYWORD1>CRT</KEYWORD1>\r
+                       <KEYWORD1>CRT-UNDER</KEYWORD1>\r
+                       <KEYWORD1>CURRENCY</KEYWORD1>\r
+                       <KEYWORD1>CURRENT-DATE</KEYWORD1>\r
+                       <KEYWORD1>CURSOR</KEYWORD1>\r
+                       <KEYWORD1>CYCLE</KEYWORD1>\r
+                       <KEYWORD1>CYL-INDEX</KEYWORD1>\r
+                       <KEYWORD1>CYL-OVERFLOW</KEYWORD1>\r
+\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>DATE</KEYWORD1>\r
+                       <KEYWORD1>DATE-COMPILED</KEYWORD1>\r
+                       <KEYWORD1>DATE-WRITTEN</KEYWORD1>\r
+                       <KEYWORD1>DAY</KEYWORD1>\r
+                       <KEYWORD1>DAY-OF-WEEK</KEYWORD1>\r
+                       <KEYWORD1>DBCS</KEYWORD1>\r
+                       <KEYWORD1>DE</KEYWORD1>\r
+                       <KEYWORD1>DEBUG</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-CONTENTS</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-ITEM</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-LINE</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-NAME</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-SUB-1</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-SUB-2</KEYWORD1>\r
+                       <KEYWORD1>DEBUG-SUB-3</KEYWORD1>\r
+                       <KEYWORD1>DEBUGGING</KEYWORD1>\r
+                       <KEYWORD1>DECIMAL-POINT</KEYWORD1>\r
+                       <KEYWORD1>DECLARATIVES</KEYWORD1>\r
+                       <KEYWORD1>DELETE</KEYWORD1>\r
+                       <KEYWORD1>DELIMITED</KEYWORD1>\r
+                       <KEYWORD1>DELIMITER</KEYWORD1>\r
+                       <KEYWORD1>DEPENDING</KEYWORD1>\r
+                       <KEYWORD1>DESCENDING</KEYWORD1>\r
+                       <KEYWORD1>DESTINATION</KEYWORD1>\r
+                       <KEYWORD1>DETAIL</KEYWORD1>\r
+                       <KEYWORD1>DISABLE</KEYWORD1>\r
+                       <KEYWORD1>DISK</KEYWORD1>\r
+                       <KEYWORD1>DISP</KEYWORD1>\r
+                       <KEYWORD1>DISPLAY</KEYWORD1>\r
+                       <KEYWORD1>DISPLAY-1</KEYWORD1>\r
+                       <KEYWORD1>DISPLAY-ST</KEYWORD1>\r
+                       <KEYWORD1>DIVIDE</KEYWORD1>\r
+                       <KEYWORD1>DIVISION</KEYWORD1>\r
+                       <KEYWORD1>DOWN</KEYWORD1>\r
+                       <KEYWORD1>DUPLICATES</KEYWORD1>\r
+                       <KEYWORD1>DYNAMIC</KEYWORD1>\r
+\r
+                       <KEYWORD1>ECHO</KEYWORD1>\r
+                       <KEYWORD1>EGCS</KEYWORD1>\r
+                       <KEYWORD1>EGI</KEYWORD1>\r
+                       <KEYWORD1>EJECT</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>EMI</KEYWORD1>\r
+                       <KEYWORD1>EMPTY-CHECK</KEYWORD1>\r
+                       <KEYWORD1>ENABLE</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>END-ACCEPT</KEYWORD1>\r
+                       <KEYWORD1>END-ADD</KEYWORD1>\r
+                       <KEYWORD1>END-CALL</KEYWORD1>\r
+                       <KEYWORD1>END-CHAIN</KEYWORD1>\r
+                       <KEYWORD1>END-COMPUTE</KEYWORD1>\r
+                       <KEYWORD1>END-DELETE</KEYWORD1>\r
+                       <KEYWORD1>END-DISPLAY</KEYWORD1>\r
+                       <KEYWORD1>END-DIVIDE</KEYWORD1>\r
+                       <KEYWORD1>END-EVALUATE</KEYWORD1>\r
+                       <KEYWORD1>END-IF</KEYWORD1>\r
+                       <KEYWORD1>END-INVOKE</KEYWORD1>\r
+                       <KEYWORD1>END-MULTIPLY</KEYWORD1>\r
+                       <KEYWORD1>END-OF-PAGE</KEYWORD1>\r
+                       <KEYWORD1>END-PERFORM</KEYWORD1>\r
+                       <KEYWORD1>END-READ</KEYWORD1>\r
+                       <KEYWORD1>END-RECEIVE</KEYWORD1>\r
+                       <KEYWORD1>END-RETURN</KEYWORD1>\r
+                       <KEYWORD1>END-REWRITE</KEYWORD1>\r
+                       <KEYWORD1>END-SEARCH</KEYWORD1>\r
+                       <KEYWORD1>END-START</KEYWORD1>\r
+                       <KEYWORD1>END-STRING</KEYWORD1>\r
+                       <KEYWORD1>END-SUBTRACT</KEYWORD1>\r
+                       <KEYWORD1>END-UNSTRING</KEYWORD1>\r
+                       <KEYWORD1>END-WRITE</KEYWORD1>\r
+                       <KEYWORD1>ENDING</KEYWORD1>\r
+                       <KEYWORD1>ENTER</KEYWORD1>\r
+                       <KEYWORD1>ENTRY</KEYWORD1>\r
+                       <KEYWORD1>ENVIRONMENT</KEYWORD1>\r
+                       <KEYWORD1>EOL</KEYWORD1>\r
+                       <KEYWORD1>EOP</KEYWORD1>\r
+                       <KEYWORD1>EOS</KEYWORD1>\r
+                       <KEYWORD1>EQUAL</KEYWORD1>\r
+                       <KEYWORD1>EQUALS</KEYWORD1>\r
+                       <KEYWORD1>ERASE</KEYWORD1>\r
+                       <KEYWORD1>ERROR</KEYWORD1>\r
+                       <KEYWORD1>ESCAPE</KEYWORD1>\r
+                       <KEYWORD1>ESI</KEYWORD1>\r
+                       <KEYWORD1>EVALUATE</KEYWORD1>\r
+                       <KEYWORD1>EVERY</KEYWORD1>\r
+                       <KEYWORD1>EXAMINE</KEYWORD1>\r
+                       <KEYWORD1>EXCEEDS</KEYWORD1>\r
+                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
+                       <KEYWORD1>EXCESS-3</KEYWORD1>\r
+                       <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
+                       <KEYWORD1>EXEC</KEYWORD1>\r
+                       <KEYWORD1>EXECUTE</KEYWORD1>\r
+                       <KEYWORD1>EXHIBIT</KEYWORD1>\r
+                       <KEYWORD1>EXIT</KEYWORD1>\r
+                       <KEYWORD1>EXTEND</KEYWORD1>\r
+                       <KEYWORD1>EXTENDED-SEARCH</KEYWORD1>\r
+                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
+\r
+                       <KEYWORD1>FACTORY</KEYWORD1>\r
+                       <KEYWORD1>FALSE</KEYWORD1>\r
+                       <KEYWORD1>FD</KEYWORD1>\r
+                       <KEYWORD1>FH-FCD</KEYWORD1>\r
+                       <KEYWORD1>FH-KEYDEF</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILE-CONTROL</KEYWORD1>\r
+                       <KEYWORD1>FILE-ID</KEYWORD1>\r
+                       <KEYWORD1>FILE-LIMIT</KEYWORD1>\r
+                       <KEYWORD1>FILE-LIMITS</KEYWORD1>\r
+                       <KEYWORD1>FILLER</KEYWORD1>\r
+                       <KEYWORD1>FINAL</KEYWORD1>\r
+                       <KEYWORD1>FIRST</KEYWORD1>\r
+                       <KEYWORD1>FIXED</KEYWORD1>\r
+                       <KEYWORD1>FOOTING</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>FOREGROUND-COLOR</KEYWORD1>\r
+                       <KEYWORD1>FOREGROUND-COLOUR</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>FULL</KEYWORD1>\r
+                       <KEYWORD1>FUNCTION</KEYWORD1>\r
+\r
+                       <KEYWORD1>GENERATE</KEYWORD1>\r
+                       <KEYWORD1>GIVING</KEYWORD1>\r
+                       <KEYWORD1>GLOBAL</KEYWORD1>\r
+                       <KEYWORD1>GO</KEYWORD1>\r
+                       <KEYWORD1>GOBACK</KEYWORD1>\r
+                       <KEYWORD1>GREATER</KEYWORD1>\r
+                       <KEYWORD1>GRID</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+\r
+                       <KEYWORD1>HEADING</KEYWORD1>\r
+                       <KEYWORD1>HIGH</KEYWORD1>\r
+                       <KEYWORD1>HIGH-VALUE</KEYWORD1>\r
+                       <KEYWORD1>HIGH-VALUES</KEYWORD1>\r
+                       <KEYWORD1>HIGHLIGHT</KEYWORD1>\r
+\r
+                       <KEYWORD1>I-O</KEYWORD1>\r
+                       <KEYWORD1>I-O-CONTROL</KEYWORD1>\r
+                       <KEYWORD1>ID</KEYWORD1>\r
+                       <KEYWORD1>IDENTIFICATION</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>IGNORE</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>INDEX</KEYWORD1>\r
+                       <KEYWORD1>INDEXED</KEYWORD1>\r
+                       <KEYWORD1>INDICATE</KEYWORD1>\r
+                       <KEYWORD1>INHERITING</KEYWORD1>\r
+                       <KEYWORD1>INITIAL</KEYWORD1>\r
+                       <KEYWORD1>INITIALIZE</KEYWORD1>\r
+                       <KEYWORD1>INITIATE</KEYWORD1>\r
+                       <KEYWORD1>INPUT</KEYWORD1>\r
+                       <KEYWORD1>INPUT-OUTPUT</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>INSPECT</KEYWORD1>\r
+                       <KEYWORD1>INSTALLATION</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>INVALID</KEYWORD1>\r
+                       <KEYWORD1>INVOKE</KEYWORD1>\r
+                       <KEYWORD1>IS</KEYWORD1>\r
+\r
+                       <KEYWORD1>JAPANESE</KEYWORD1>\r
+                       <KEYWORD1>JUST</KEYWORD1>\r
+                       <KEYWORD1>JUSTIFIED</KEYWORD1>\r
+\r
+                       <KEYWORD1>KANJI</KEYWORD1>\r
+                       <KEYWORD1>KEPT</KEYWORD1>\r
+                       <KEYWORD1>KEY</KEYWORD1>\r
+                       <KEYWORD1>KEYBOARD</KEYWORD1>\r
+\r
+                       <KEYWORD1>LABEL</KEYWORD1>\r
+                       <KEYWORD1>LAST</KEYWORD1>\r
+                       <KEYWORD1>LEADING</KEYWORD1>\r
+                       <KEYWORD1>LEAVE</KEYWORD1>\r
+                       <KEYWORD1>LEFT</KEYWORD1>\r
+                       <KEYWORD1>LEFT-JUSTIFY</KEYWORD1>\r
+                       <KEYWORD1>LEFTLINE</KEYWORD1>\r
+                       <KEYWORD1>LENGTH</KEYWORD1>\r
+                       <KEYWORD1>LENGTH-CHECK</KEYWORD1>\r
+                       <KEYWORD1>LESS</KEYWORD1>\r
+                       <KEYWORD1>LIMIT</KEYWORD1>\r
+                       <KEYWORD1>LIMITS</KEYWORD1>\r
+                       <KEYWORD1>LIN</KEYWORD1>\r
+                       <KEYWORD1>LINAGE</KEYWORD1>\r
+                       <KEYWORD1>LINAGE-COUNTER</KEYWORD1>\r
+                       <KEYWORD1>LINE</KEYWORD1>\r
+                       <KEYWORD1>LINE-COUNTER</KEYWORD1>\r
+                       <KEYWORD1>LINES</KEYWORD1>\r
+                       <KEYWORD1>LINKAGE</KEYWORD1>\r
+                       <KEYWORD1>LOCAL-STORAGE</KEYWORD1>\r
+                       <KEYWORD1>LOCK</KEYWORD1>\r
+                       <KEYWORD1>LOCKING</KEYWORD1>\r
+                       <KEYWORD1>LOW</KEYWORD1>\r
+                       <KEYWORD1>LOW-VALUE</KEYWORD1>\r
+                       <KEYWORD1>LOW-VALUES</KEYWORD1>\r
+                       <KEYWORD1>LOWER</KEYWORD1>\r
+                       <KEYWORD1>LOWLIGHT</KEYWORD1>\r
+\r
+                       <KEYWORD1>MANUAL</KEYWORD1>\r
+                       <KEYWORD1>MASTER-INDEX</KEYWORD1>\r
+                       <KEYWORD1>MEMORY</KEYWORD1>\r
+                       <KEYWORD1>MERGE</KEYWORD1>\r
+                       <KEYWORD1>MESSAGE</KEYWORD1>\r
+                       <KEYWORD1>METHOD</KEYWORD1>\r
+                       <KEYWORD1>MODE</KEYWORD1>\r
+                       <KEYWORD1>MODULES</KEYWORD1>\r
+                       <KEYWORD1>MORE-LABELS</KEYWORD1>\r
+                       <KEYWORD1>MOVE</KEYWORD1>\r
+                       <KEYWORD1>MULTIPLE</KEYWORD1>\r
+                       <KEYWORD1>MULTIPLY</KEYWORD1>\r
+\r
+                       <KEYWORD1>NAME</KEYWORD1>\r
+                       <KEYWORD1>NAMED</KEYWORD1>\r
+                       <KEYWORD1>NATIONAL</KEYWORD1>\r
+                       <KEYWORD1>NATIONAL-EDITED</KEYWORD1>\r
+                       <KEYWORD1>NATIVE</KEYWORD1>\r
+                       <KEYWORD1>NCHAR</KEYWORD1>\r
+                       <KEYWORD1>NEGATIVE</KEYWORD1>\r
+                       <KEYWORD1>NEXT</KEYWORD1>\r
+                       <KEYWORD1>NO</KEYWORD1>\r
+                       <KEYWORD1>NO-ECHO</KEYWORD1>\r
+                       <KEYWORD1>NOMINAL</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>NOTE</KEYWORD1>\r
+                       <KEYWORD1>NSTD-REELS</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>NULLS</KEYWORD1>\r
+                       <KEYWORD1>NUMBER</KEYWORD1>\r
+                       <KEYWORD1>NUMERIC</KEYWORD1>\r
+                       <KEYWORD1>NUMERIC-EDITED</KEYWORD1>\r
+\r
+                       <KEYWORD1>OBJECT</KEYWORD1>\r
+                       <KEYWORD1>OBJECT-COMPUTER</KEYWORD1>\r
+                       <KEYWORD1>OBJECT-STORAGE</KEYWORD1>\r
+                       <KEYWORD1>OCCURS</KEYWORD1>\r
+                       <KEYWORD1>OF</KEYWORD1>\r
+                       <KEYWORD1>OFF</KEYWORD1>\r
+                       <KEYWORD1>OMITTED</KEYWORD1>\r
+                       <KEYWORD1>ON</KEYWORD1>\r
+                       <KEYWORD1>OOSTACKPTR</KEYWORD1>\r
+                       <KEYWORD1>OPEN</KEYWORD1>\r
+                       <KEYWORD1>OPTIONAL</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>ORDER</KEYWORD1>\r
+                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
+                       <KEYWORD1>OTHER</KEYWORD1>\r
+                       <KEYWORD1>OTHERWISE</KEYWORD1>\r
+                       <KEYWORD1>OUTPUT</KEYWORD1>\r
+                       <KEYWORD1>OVERFLOW</KEYWORD1>\r
+                       <KEYWORD1>OVERLINE</KEYWORD1>\r
+\r
+                       <KEYWORD1>PACKED-DECIMAL</KEYWORD1>\r
+                       <KEYWORD1>PADDING</KEYWORD1>\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>PAGE-COUNTER</KEYWORD1>\r
+                       <KEYWORD1>PARAGRAPH</KEYWORD1>\r
+                       <KEYWORD1>PASSWORD</KEYWORD1>\r
+                       <KEYWORD1>PERFORM</KEYWORD1>\r
+                       <KEYWORD1>PF</KEYWORD1>\r
+                       <KEYWORD1>PH</KEYWORD1>\r
+                       <KEYWORD1>PIC</KEYWORD1>\r
+                       <KEYWORD1>PICTURE</KEYWORD1>\r
+                       <KEYWORD1>PLUS</KEYWORD1>\r
+                       <KEYWORD1>POINTER</KEYWORD1>\r
+                       <KEYWORD1>POS</KEYWORD1>\r
+                       <KEYWORD1>POSITION</KEYWORD1>\r
+                       <KEYWORD1>POSITIONING</KEYWORD1>\r
+                       <KEYWORD1>POSITIVE</KEYWORD1>\r
+                       <KEYWORD1>PREVIOUS</KEYWORD1>\r
+                       <KEYWORD1>PRINT</KEYWORD1>\r
+                       <KEYWORD1>PRINT-SWITCH</KEYWORD1>\r
+                       <KEYWORD1>PRINTER</KEYWORD1>\r
+                       <KEYWORD1>PRINTER-1</KEYWORD1>\r
+                       <KEYWORD1>PRINTING</KEYWORD1>\r
+                       <KEYWORD1>PRIVATE</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE-POINTER</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURES</KEYWORD1>\r
+                       <KEYWORD1>PROCEED</KEYWORD1>\r
+                       <KEYWORD1>PROCESSING</KEYWORD1>\r
+                       <KEYWORD1>PROGRAM</KEYWORD1>\r
+                       <KEYWORD1>PROGRAM-ID</KEYWORD1>\r
+                       <KEYWORD1>PROMPT</KEYWORD1>\r
+                       <KEYWORD1>PROTECTED</KEYWORD1>\r
+                       <KEYWORD1>PUBLIC</KEYWORD1>\r
+                       <KEYWORD1>PURGE</KEYWORD1>\r
+\r
+                       <KEYWORD1>QUEUE</KEYWORD1>\r
+                       <KEYWORD1>QUOTE</KEYWORD1>\r
+                       <KEYWORD1>QUOTES</KEYWORD1>\r
+\r
+                       <KEYWORD1>RANDOM</KEYWORD1>\r
+                       <KEYWORD1>RANGE</KEYWORD1>\r
+                       <KEYWORD1>RD</KEYWORD1>\r
+                       <KEYWORD1>READ</KEYWORD1>\r
+                       <KEYWORD1>READY</KEYWORD1>\r
+                       <KEYWORD1>RECEIVE</KEYWORD1>\r
+                       <KEYWORD1>RECORD</KEYWORD1>\r
+                       <KEYWORD1>RECORD-OVERFLOW</KEYWORD1>\r
+                       <KEYWORD1>RECORDING</KEYWORD1>\r
+                       <KEYWORD1>RECORDS</KEYWORD1>\r
+                       <KEYWORD1>REDEFINES</KEYWORD1>\r
+                       <KEYWORD1>REEL</KEYWORD1>\r
+                       <KEYWORD1>REFERENCE</KEYWORD1>\r
+                       <KEYWORD1>REFERENCES</KEYWORD1>\r
+                       <KEYWORD1>RELATIVE</KEYWORD1>\r
+                       <KEYWORD1>RELEASE</KEYWORD1>\r
+                       <KEYWORD1>RELOAD</KEYWORD1>\r
+                       <KEYWORD1>REMAINDER</KEYWORD1>\r
+                       <KEYWORD1>REMARKS</KEYWORD1>\r
+                       <KEYWORD1>REMOVAL</KEYWORD1>\r
+                       <KEYWORD1>RENAMES</KEYWORD1>\r
+                       <KEYWORD1>REORG-CRITERIA</KEYWORD1>\r
+                       <KEYWORD1>REPLACE</KEYWORD1>\r
+                       <KEYWORD1>REPLACING</KEYWORD1>\r
+                       <KEYWORD1>REPORT</KEYWORD1>\r
+                       <KEYWORD1>REPORTING</KEYWORD1>\r
+                       <KEYWORD1>REPORTS</KEYWORD1>\r
+                       <KEYWORD1>REQUIRED</KEYWORD1>\r
+                       <KEYWORD1>REREAD</KEYWORD1>\r
+                       <KEYWORD1>RERUN</KEYWORD1>\r
+                       <KEYWORD1>RESERVE</KEYWORD1>\r
+                       <KEYWORD1>RESET</KEYWORD1>\r
+                       <KEYWORD1>RETURN</KEYWORD1>\r
+                       <KEYWORD1>RETURN-CODE</KEYWORD1>\r
+                       <KEYWORD1>RETURNING</KEYWORD1>\r
+                       <KEYWORD1>REVERSE</KEYWORD1>\r
+                       <KEYWORD1>REVERSE-VIDEO</KEYWORD1>\r
+                       <KEYWORD1>REVERSED</KEYWORD1>\r
+                       <KEYWORD1>REWIND</KEYWORD1>\r
+                       <KEYWORD1>REWRITE</KEYWORD1>\r
+                       <KEYWORD1>RF</KEYWORD1>\r
+                       <KEYWORD1>RH</KEYWORD1>\r
+                       <KEYWORD1>RIGHT</KEYWORD1>\r
+                       <KEYWORD1>RIGHT-JUSTIFY</KEYWORD1>\r
+                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
+                       <KEYWORD1>ROUNDED</KEYWORD1>\r
+                       <KEYWORD1>RUN</KEYWORD1>\r
+\r
+                       <KEYWORD1>S01</KEYWORD1>\r
+                       <KEYWORD1>S02</KEYWORD1>\r
+                       <KEYWORD1>S03</KEYWORD1>\r
+                       <KEYWORD1>S04</KEYWORD1>\r
+                       <KEYWORD1>S05</KEYWORD1>\r
+                       <KEYWORD1>SAME</KEYWORD1>\r
+                       <KEYWORD1>SCREEN</KEYWORD1>\r
+                       <KEYWORD1>SD</KEYWORD1>\r
+                       <KEYWORD1>SEARCH</KEYWORD1>\r
+                       <KEYWORD1>SECTION</KEYWORD1>\r
+                       <KEYWORD1>SECURE</KEYWORD1>\r
+                       <KEYWORD1>SECURITY</KEYWORD1>\r
+                       <KEYWORD1>SEEK</KEYWORD1>\r
+                       <KEYWORD1>SEGMENT</KEYWORD1>\r
+                       <KEYWORD1>SEGMENT-LIMIT</KEYWORD1>\r
+                       <KEYWORD1>SELECT</KEYWORD1>\r
+                       <KEYWORD1>SELECTIVE</KEYWORD1>\r
+                       <KEYWORD1>SEND</KEYWORD1>\r
+                       <KEYWORD1>SENTENCE</KEYWORD1>\r
+                       <KEYWORD1>SEPARATE</KEYWORD1>\r
+                       <KEYWORD1>SEQUENCE</KEYWORD1>\r
+                       <KEYWORD1>SEQUENTIAL</KEYWORD1>\r
+                       <KEYWORD1>SERVICE</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SHIFT-IN</KEYWORD1>\r
+                       <KEYWORD1>SHIFT-OUT</KEYWORD1>\r
+                       <KEYWORD1>SIGN</KEYWORD1>\r
+                       <KEYWORD1>SIZE</KEYWORD1>\r
+                       <KEYWORD1>SKIP1</KEYWORD1>\r
+                       <KEYWORD1>SKIP2</KEYWORD1>\r
+                       <KEYWORD1>SKIP3</KEYWORD1>\r
+                       <KEYWORD1>SORT</KEYWORD1>\r
+                       <KEYWORD1>SORT-CONTROL</KEYWORD1>\r
+                       <KEYWORD1>SORT-CORE-SIZE</KEYWORD1>\r
+                       <KEYWORD1>SORT-FILE-SIZE</KEYWORD1>\r
+                       <KEYWORD1>SORT-MERGE</KEYWORD1>\r
+                       <KEYWORD1>SORT-MESSAGE</KEYWORD1>\r
+                       <KEYWORD1>SORT-MODE-SIZE</KEYWORD1>\r
+                       <KEYWORD1>SORT-OPTION</KEYWORD1>\r
+                       <KEYWORD1>SORT-RETURN</KEYWORD1>\r
+                       <KEYWORD1>SOURCE</KEYWORD1>\r
+                       <KEYWORD1>SOURCE-COMPUTER</KEYWORD1>\r
+                       <KEYWORD1>SPACE</KEYWORD1>\r
+                       <KEYWORD1>SPACE-FILL</KEYWORD1>\r
+                       <KEYWORD1>SPACES</KEYWORD1>\r
+                       <KEYWORD1>SPECIAL-NAMES</KEYWORD1>\r
+                       <KEYWORD1>STANDARD</KEYWORD1>\r
+                       <KEYWORD1>STANDARD-1</KEYWORD1>\r
+                       <KEYWORD1>STANDARD-2</KEYWORD1>\r
+                       <KEYWORD1>START</KEYWORD1>\r
+                       <KEYWORD1>STATUS</KEYWORD1>\r
+                       <KEYWORD1>STOP</KEYWORD1>\r
+                       <KEYWORD1>STORE</KEYWORD1>\r
+                       <KEYWORD1>STRING</KEYWORD1>\r
+                       <KEYWORD1>SUB-QUEUE-1</KEYWORD1>\r
+                       <KEYWORD1>SUB-QUEUE-2</KEYWORD1>\r
+                       <KEYWORD1>SUB-QUEUE-3</KEYWORD1>\r
+                       <KEYWORD1>SUBTRACT</KEYWORD1>\r
+                       <KEYWORD1>SUM</KEYWORD1>\r
+                       <KEYWORD1>SUPER</KEYWORD1>\r
+                       <KEYWORD1>SUPPRESS</KEYWORD1>\r
+                       <KEYWORD1>SYMBOLIC</KEYWORD1>\r
+                       <KEYWORD1>SYNC</KEYWORD1>\r
+                       <KEYWORD1>SYNCHRONIZED</KEYWORD1>\r
+                       <KEYWORD1>SYSIN</KEYWORD1>\r
+                       <KEYWORD1>SYSIPT</KEYWORD1>\r
+                       <KEYWORD1>SYSLST</KEYWORD1>\r
+                       <KEYWORD1>SYSOUT</KEYWORD1>\r
+                       <KEYWORD1>SYSPCH</KEYWORD1>\r
+                       <KEYWORD1>SYSPUNCH</KEYWORD1>\r
+\r
+                       <KEYWORD1>TAB</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>TALLY</KEYWORD1>\r
+                       <KEYWORD1>TALLYING</KEYWORD1>\r
+                       <KEYWORD1>TAPE</KEYWORD1>\r
+                       <KEYWORD1>TERMINAL</KEYWORD1>\r
+                       <KEYWORD1>TERMINATE</KEYWORD1>\r
+                       <KEYWORD1>TEST</KEYWORD1>\r
+                       <KEYWORD1>TEXT</KEYWORD1>\r
+                       <KEYWORD1>THAN</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>THROUGH</KEYWORD1>\r
+                       <KEYWORD1>THRU</KEYWORD1>\r
+                       <KEYWORD1>TIME</KEYWORD1>\r
+                       <KEYWORD1>TIME-OF-DAY</KEYWORD1>\r
+                       <KEYWORD1>TIME-OUT</KEYWORD1>\r
+                       <KEYWORD1>TIMEOUT</KEYWORD1>\r
+                       <KEYWORD1>TIMES</KEYWORD1>\r
+                       <KEYWORD1>TITLE</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>TOP</KEYWORD1>\r
+                       <KEYWORD1>TOTALED</KEYWORD1>\r
+                       <KEYWORD1>TOTALING</KEYWORD1>\r
+                       <KEYWORD1>TRACE</KEYWORD1>\r
+                       <KEYWORD1>TRACK-AREA</KEYWORD1>\r
+                       <KEYWORD1>TRACK-LIMIT</KEYWORD1>\r
+                       <KEYWORD1>TRACKS</KEYWORD1>\r
+                       <KEYWORD1>TRAILING</KEYWORD1>\r
+                       <KEYWORD1>TRAILING-SIGN</KEYWORD1>\r
+                       <KEYWORD1>TRANSFORM</KEYWORD1>\r
+                       <KEYWORD1>TRUE</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>TYPEDEF</KEYWORD1>\r
+\r
+                       <KEYWORD1>UNDERLINE</KEYWORD1>\r
+                       <KEYWORD1>UNEQUAL</KEYWORD1>\r
+                       <KEYWORD1>UNIT</KEYWORD1>\r
+                       <KEYWORD1>UNLOCK</KEYWORD1>\r
+                       <KEYWORD1>UNSTRING</KEYWORD1>\r
+                       <KEYWORD1>UNTIL</KEYWORD1>\r
+                       <KEYWORD1>UP</KEYWORD1>\r
+                       <KEYWORD1>UPDATE</KEYWORD1>\r
+                       <KEYWORD1>UPON</KEYWORD1>\r
+                       <KEYWORD1>UPPER</KEYWORD1>\r
+                       <KEYWORD1>UPSI-0</KEYWORD1>\r
+                       <KEYWORD1>UPSI-1</KEYWORD1>\r
+                       <KEYWORD1>UPSI-2</KEYWORD1>\r
+                       <KEYWORD1>UPSI-3</KEYWORD1>\r
+                       <KEYWORD1>UPSI-4</KEYWORD1>\r
+                       <KEYWORD1>UPSI-5</KEYWORD1>\r
+                       <KEYWORD1>UPSI-6</KEYWORD1>\r
+                       <KEYWORD1>UPSI-7</KEYWORD1>\r
+                       <KEYWORD1>USAGE</KEYWORD1>\r
+                       <KEYWORD1>USE</KEYWORD1>\r
+                       <KEYWORD1>USER</KEYWORD1>\r
+                       <KEYWORD1>USING</KEYWORD1>\r
+\r
+                       <KEYWORD1>VALUE</KEYWORD1>\r
+                       <KEYWORD1>VALUES</KEYWORD1>\r
+                       <KEYWORD1>VARIABLE</KEYWORD1>\r
+                       <KEYWORD1>VARYING</KEYWORD1>\r
+\r
+                       <KEYWORD1>WAIT</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>WHEN-COMPILED</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WORDS</KEYWORD1>\r
+                       <KEYWORD1>WORKING-STORAGE</KEYWORD1>\r
+                       <KEYWORD1>WRITE</KEYWORD1>\r
+                       <KEYWORD1>WRITE-ONLY</KEYWORD1>\r
+                       <KEYWORD1>WRITE-VERIFY</KEYWORD1>\r
+\r
+                       <KEYWORD1>ZERO</KEYWORD1>\r
+                       <KEYWORD1>ZERO-FILL</KEYWORD1>\r
+                       <KEYWORD1>ZEROES</KEYWORD1>\r
+                       <KEYWORD1>ZEROS</KEYWORD1>\r
+\r
+                       <KEYWORD2>ACOS</KEYWORD2>\r
+                       <KEYWORD2>ANNUITY</KEYWORD2>\r
+                       <KEYWORD2>ASIN</KEYWORD2>\r
+                       <KEYWORD2>ATAN</KEYWORD2>\r
+                       <KEYWORD2>CHAR</KEYWORD2>\r
+                       <KEYWORD2>COS</KEYWORD2>\r
+                       <KEYWORD2>CURRENT-DATE</KEYWORD2>\r
+                       <KEYWORD2>DATE-OF-INTEGER</KEYWORD2>\r
+                       <KEYWORD2>DAY-OF-INTEGER</KEYWORD2>\r
+                       <KEYWORD2>FACTORIAL</KEYWORD2>\r
+                       <KEYWORD2>INTEGER</KEYWORD2>\r
+                       <KEYWORD2>INTEGER-OF-DATE</KEYWORD2>\r
+                       <KEYWORD2>INTEGER-OF-DAY</KEYWORD2>\r
+                       <KEYWORD2>INTEGER-PART</KEYWORD2>\r
+                       <!-- <KEYWORD2>LENGTH</KEYWORD2> -->\r
+                       <KEYWORD2>LOG</KEYWORD2>\r
+                       <KEYWORD2>LOG10</KEYWORD2>\r
+                       <KEYWORD2>LOWER-CASE</KEYWORD2>\r
+                       <KEYWORD2>MAX</KEYWORD2>\r
+                       <KEYWORD2>MEAN</KEYWORD2>\r
+                       <KEYWORD2>MEDIAN</KEYWORD2>\r
+                       <KEYWORD2>MIDRANGE</KEYWORD2>\r
+                       <KEYWORD2>MIN</KEYWORD2>\r
+                       <KEYWORD2>MOD</KEYWORD2>\r
+                       <KEYWORD2>NUMVAL</KEYWORD2>\r
+                       <KEYWORD2>NUMVAL-C</KEYWORD2>\r
+                       <KEYWORD2>ORD</KEYWORD2>\r
+                       <KEYWORD2>ORD-MAX</KEYWORD2>\r
+                       <KEYWORD2>ORD-MIN</KEYWORD2>\r
+                       <KEYWORD2>PRESENT-VALUE</KEYWORD2>\r
+                       <KEYWORD2>RANDOM</KEYWORD2>\r
+                       <KEYWORD2>RANGE</KEYWORD2>\r
+                       <KEYWORD2>REM</KEYWORD2>\r
+                       <KEYWORD2>REVERSE</KEYWORD2>\r
+                       <KEYWORD2>SIN</KEYWORD2>\r
+                       <KEYWORD2>SQRT</KEYWORD2>\r
+                       <KEYWORD2>STANDARD-DEVIATION</KEYWORD2>\r
+                       <KEYWORD2>SUM</KEYWORD2>\r
+                       <KEYWORD2>TAN</KEYWORD2>\r
+                       <KEYWORD2>UPPER-CASE</KEYWORD2>\r
+                       <KEYWORD2>VARIANCE</KEYWORD2>\r
+                       <KEYWORD2>WHEN-COMPILED</KEYWORD2>\r
+\r
+                       <!-- Oracle/SQL - Reserved Words\r
+                       <KEYWORD3>ACCESS</KEYWORD3>\r
+                       <KEYWORD3>ADD</KEYWORD3>\r
+                       <KEYWORD3>ALL</KEYWORD3>\r
+                       <KEYWORD3>ALTER</KEYWORD3>\r
+                       <KEYWORD3>AND</KEYWORD3>\r
+                       <KEYWORD3>ANY</KEYWORD3>\r
+                       <KEYWORD3>ARRAYLEN</KEYWORD3>\r
+                       <KEYWORD3>AS</KEYWORD3>\r
+                       <KEYWORD3>ASC</KEYWORD3>\r
+                       <KEYWORD3>AUDIT</KEYWORD3>\r
+                       <KEYWORD3>BETWEEN</KEYWORD3>\r
+                       <KEYWORD3>BY</KEYWORD3>\r
+                       <KEYWORD3>CHAR</KEYWORD3>\r
+                       <KEYWORD3>CHECK</KEYWORD3>\r
+                       <KEYWORD3>CLUSTER</KEYWORD3>\r
+                       <KEYWORD3>COLUMN</KEYWORD3>\r
+                       <KEYWORD3>COMMENT</KEYWORD3>\r
+                       <KEYWORD3>COMPRESS</KEYWORD3>\r
+                       <KEYWORD3>CONNECT</KEYWORD3>\r
+                       <KEYWORD3>CREATE</KEYWORD3>\r
+                       <KEYWORD3>CURRENT</KEYWORD3>\r
+                       <KEYWORD3>DATE</KEYWORD3>\r
+                       <KEYWORD3>DECIMAL</KEYWORD3>\r
+                       <KEYWORD3>DEFAULT</KEYWORD3>\r
+                       <KEYWORD3>DELETE</KEYWORD3>\r
+                       <KEYWORD3>DESC</KEYWORD3>\r
+                       <KEYWORD3>DISTINCT</KEYWORD3>\r
+                       <KEYWORD3>DROP</KEYWORD3>\r
+                       <KEYWORD3>ELSE</KEYWORD3>\r
+                       <KEYWORD3>EXCLUSIVE</KEYWORD3>\r
+                       <KEYWORD3>EXEC</KEYWORD3>\r
+                       <KEYWORD3>END-EXEC</KEYWORD3>\r
+                       <KEYWORD3>EXISTS</KEYWORD3>\r
+                       <KEYWORD3>FILE</KEYWORD3>\r
+                       <KEYWORD3>FLOAT</KEYWORD3>\r
+                       <KEYWORD3>FOR</KEYWORD3>\r
+                       <KEYWORD3>FROM</KEYWORD3>\r
+                       <KEYWORD3>GRANT</KEYWORD3>\r
+                       <KEYWORD3>GROUP</KEYWORD3>\r
+                       <KEYWORD3>HAVING</KEYWORD3>\r
+                       <KEYWORD3>IDENTIFIED</KEYWORD3>\r
+                       <KEYWORD3>IMMEDIATE</KEYWORD3>\r
+                       <KEYWORD3>IN</KEYWORD3>\r
+                       <KEYWORD3>INCREMENT</KEYWORD3>\r
+                       <KEYWORD3>INDEX</KEYWORD3>\r
+                       <KEYWORD3>INITIAL</KEYWORD3>\r
+                       <KEYWORD3>INSERT</KEYWORD3>\r
+                       <KEYWORD3>INTEGER</KEYWORD3>\r
+                       <KEYWORD3>INTERSECT</KEYWORD3>\r
+                       <KEYWORD3>INTO</KEYWORD3>\r
+                       <KEYWORD3>IS</KEYWORD3>\r
+                       <KEYWORD3>LEVEL</KEYWORD3>\r
+                       <KEYWORD3>LIKE</KEYWORD3>\r
+                       <KEYWORD3>LOCK</KEYWORD3>\r
+                       <KEYWORD3>LONG</KEYWORD3>\r
+                       <KEYWORD3>MAXEXTENTS</KEYWORD3>\r
+                       <KEYWORD3>MINUS</KEYWORD3>\r
+                       <KEYWORD3>MODE</KEYWORD3>\r
+                       <KEYWORD3>MODIFY</KEYWORD3>\r
+                       <KEYWORD3>NOAUDIT</KEYWORD3>\r
+                       <KEYWORD3>NOCOMPRESS</KEYWORD3>\r
+                       <KEYWORD3>NOT</KEYWORD3>\r
+                       <KEYWORD3>NOTFOUND</KEYWORD3>\r
+                       <KEYWORD3>NOWAIT</KEYWORD3>\r
+                       <KEYWORD3>NULL</KEYWORD3>\r
+                       <KEYWORD3>NUMBER</KEYWORD3>\r
+                       <KEYWORD3>OF</KEYWORD3>\r
+                       <KEYWORD3>OFFLINE</KEYWORD3>\r
+                       <KEYWORD3>ON</KEYWORD3>\r
+                       <KEYWORD3>ONLINE</KEYWORD3>\r
+                       <KEYWORD3>OPTION</KEYWORD3>\r
+                       <KEYWORD3>OR</KEYWORD3>\r
+                       <KEYWORD3>ORDER</KEYWORD3>\r
+                       <KEYWORD3>PCTFREE</KEYWORD3>\r
+                       <KEYWORD3>PRIOR</KEYWORD3>\r
+                       <KEYWORD3>PRIVILEGES</KEYWORD3>\r
+                       <KEYWORD3>PUBLIC</KEYWORD3>\r
+                       <KEYWORD3>RAW</KEYWORD3>\r
+                       <KEYWORD3>RENAME</KEYWORD3>\r
+                       <KEYWORD3>RESOURCE</KEYWORD3>\r
+                       <KEYWORD3>REVOKE</KEYWORD3>\r
+                       <KEYWORD3>ROW</KEYWORD3>\r
+                       <KEYWORD3>ROWID</KEYWORD3>\r
+                       <KEYWORD3>ROWLABEL</KEYWORD3>\r
+                       <KEYWORD3>ROWNUM</KEYWORD3>\r
+                       <KEYWORD3>ROWS</KEYWORD3>\r
+                       <KEYWORD3>START</KEYWORD3>\r
+                       <KEYWORD3>SELECT</KEYWORD3>\r
+                       <KEYWORD3>SESSION</KEYWORD3>\r
+                       <KEYWORD3>SET</KEYWORD3>\r
+                       <KEYWORD3>SHARE</KEYWORD3>\r
+                       <KEYWORD3>SIZE</KEYWORD3>\r
+                       <KEYWORD3>SMALLINT</KEYWORD3>\r
+                       <KEYWORD3>SQLBUF</KEYWORD3>\r
+                       <KEYWORD3>SUCCESSFUL</KEYWORD3>\r
+                       <KEYWORD3>SYNONYM</KEYWORD3>\r
+                       <KEYWORD3>SYSDATE</KEYWORD3>\r
+                       <KEYWORD3>TABLE</KEYWORD3>\r
+                       <KEYWORD3>THEN</KEYWORD3>\r
+                       <KEYWORD3>TO</KEYWORD3>\r
+                       <KEYWORD3>TRIGGER</KEYWORD3>\r
+                       <KEYWORD3>UID</KEYWORD3>\r
+                       <KEYWORD3>UNION</KEYWORD3>\r
+                       <KEYWORD3>UNIQUE</KEYWORD3>\r
+                       <KEYWORD3>UPDATE</KEYWORD3>\r
+                       <KEYWORD3>USER</KEYWORD3>\r
+                       <KEYWORD3>VALIDATE</KEYWORD3>\r
+                       <KEYWORD3>VALUES</KEYWORD3>\r
+                       <KEYWORD3>VARCHAR</KEYWORD3>\r
+                       <KEYWORD3>VARCHAR2</KEYWORD3>\r
+                       <KEYWORD3>VIEW</KEYWORD3>\r
+                       <KEYWORD3>WHENEVER</KEYWORD3>\r
+                       <KEYWORD3>WHERE</KEYWORD3>\r
+                       <KEYWORD3>WITH</KEYWORD3>\r
+                       -->\r
+\r
+                       <!-- Oracle/SQL - Keywords\r
+                       <KEYWORD3>ADMIN</KEYWORD3>\r
+                       <KEYWORD3>AFTER</KEYWORD3>\r
+                       <KEYWORD3>ALLOCATE</KEYWORD3>\r
+                       <KEYWORD3>ANALYZE</KEYWORD3>\r
+                       <KEYWORD3>ARCHIVE</KEYWORD3>\r
+                       <KEYWORD3>ARCHIVELOG</KEYWORD3>\r
+                       <KEYWORD3>AUTHORIZATION</KEYWORD3>\r
+                       <KEYWORD3>AVG</KEYWORD3>\r
+                       <KEYWORD3>BACKUP</KEYWORD3>\r
+                       <KEYWORD3>BEGIN</KEYWORD3>\r
+                       <KEYWORD3>BECOME</KEYWORD3>\r
+                       <KEYWORD3>BEFORE</KEYWORD3>\r
+                       <KEYWORD3>BLOCK</KEYWORD3>\r
+                       <KEYWORD3>BODY</KEYWORD3>\r
+                       <KEYWORD3>CACHE</KEYWORD3>\r
+                       <KEYWORD3>CANCEL</KEYWORD3>\r
+                       <KEYWORD3>CASCADE</KEYWORD3>\r
+                       <KEYWORD3>CHANGE</KEYWORD3>\r
+                       <KEYWORD3>CHARACTER</KEYWORD3>\r
+                       <KEYWORD3>CHECKPOINT</KEYWORD3>\r
+                       <KEYWORD3>CLOSE</KEYWORD3>\r
+                       <KEYWORD3>COBOL</KEYWORD3>\r
+                       <KEYWORD3>COMMIT</KEYWORD3>\r
+                       <KEYWORD3>COMPILE</KEYWORD3>\r
+                       <KEYWORD3>CONSTRAINT</KEYWORD3>\r
+                       <KEYWORD3>CONSTRAINTS</KEYWORD3>\r
+                       <KEYWORD3>CONTENTS</KEYWORD3>\r
+                       <KEYWORD3>CONTINUE</KEYWORD3>\r
+                       <KEYWORD3>CONTROLFILE</KEYWORD3>\r
+                       <KEYWORD3>COUNT</KEYWORD3>\r
+                       <KEYWORD3>DBA</KEYWORD3>\r
+                       <KEYWORD3>CURSOR</KEYWORD3>\r
+                       <KEYWORD3>CYCLE</KEYWORD3>\r
+                       <KEYWORD3>DATABASE</KEYWORD3>\r
+                       <KEYWORD3>DATAFILE</KEYWORD3>\r
+                       <KEYWORD3>DEC</KEYWORD3>\r
+                       <KEYWORD3>DECLARE</KEYWORD3>\r
+                       <KEYWORD3>DISABLE</KEYWORD3>\r
+                       <KEYWORD3>DISMOUNT</KEYWORD3>\r
+                       <KEYWORD3>DOUBLE</KEYWORD3>\r
+                       <KEYWORD3>DUMP</KEYWORD3>\r
+                       <KEYWORD3>EACH</KEYWORD3>\r
+                       <KEYWORD3>ENABLE</KEYWORD3>\r
+                       <KEYWORD3>END</KEYWORD3>\r
+                       <KEYWORD3>ESCAPE</KEYWORD3>\r
+                       <KEYWORD3>EVENTS</KEYWORD3>\r
+                       <KEYWORD3>EXCEPT</KEYWORD3>\r
+                       <KEYWORD3>EXCEPTIONS</KEYWORD3>\r
+                       <KEYWORD3>EXEC</KEYWORD3>\r
+                       <KEYWORD3>EXPLAIN</KEYWORD3>\r
+                       <KEYWORD3>EXECUTE</KEYWORD3>\r
+                       <KEYWORD3>EXTENT</KEYWORD3>\r
+                       <KEYWORD3>EXTERNALLY</KEYWORD3>\r
+                       <KEYWORD3>FETCH</KEYWORD3>\r
+                       <KEYWORD3>FLUSH</KEYWORD3>\r
+                       <KEYWORD3>FREELIST</KEYWORD3>\r
+                       <KEYWORD3>FREELISTS</KEYWORD3>\r
+                       <KEYWORD3>FORCE</KEYWORD3>\r
+                       <KEYWORD3>FOREIGN</KEYWORD3>\r
+                       <KEYWORD3>FORTRAN</KEYWORD3>\r
+                       <KEYWORD3>FOUND</KEYWORD3>\r
+                       <KEYWORD3>FUNCTION</KEYWORD3>\r
+                       <KEYWORD3>GO</KEYWORD3>\r
+                       <KEYWORD3>GOTO</KEYWORD3>\r
+                       <KEYWORD3>GROUPS</KEYWORD3>\r
+                       <KEYWORD3>INCLUDING</KEYWORD3>\r
+                       <KEYWORD3>INDICATOR</KEYWORD3>\r
+                       <KEYWORD3>INITRANS</KEYWORD3>\r
+                       <KEYWORD3>INSTANCE</KEYWORD3>\r
+                       <KEYWORD3>INT</KEYWORD3>\r
+                       <KEYWORD3>KEY</KEYWORD3>\r
+                       <KEYWORD3>LANGUAGE</KEYWORD3>\r
+                       <KEYWORD3>LAYER</KEYWORD3>\r
+                       <KEYWORD3>LINK</KEYWORD3>\r
+                       <KEYWORD3>LISTS</KEYWORD3>\r
+                       <KEYWORD3>LOGFILE</KEYWORD3>\r
+                       <KEYWORD3>MANAGE</KEYWORD3>\r
+                       <KEYWORD3>MANUAL</KEYWORD3>\r
+                       <KEYWORD3>MAX</KEYWORD3>\r
+                       <KEYWORD3>MAXDATAFILES</KEYWORD3>\r
+                       <KEYWORD3>MAXINSTANCES</KEYWORD3>\r
+                       <KEYWORD3>MAXLOGFILES</KEYWORD3>\r
+                       <KEYWORD3>MAXLOGHISTORY</KEYWORD3>\r
+                       <KEYWORD3>MAXLOGMEMBERS</KEYWORD3>\r
+                       <KEYWORD3>MAXTRANS</KEYWORD3>\r
+                       <KEYWORD3>MAXVALUE</KEYWORD3>\r
+                       <KEYWORD3>MIN</KEYWORD3>\r
+                       <KEYWORD3>MINEXTENTS</KEYWORD3>\r
+                       <KEYWORD3>MINVALUE</KEYWORD3>\r
+                       <KEYWORD3>MODULE</KEYWORD3>\r
+                       <KEYWORD3>MOUNT</KEYWORD3>\r
+                       <KEYWORD3>NEXT</KEYWORD3>\r
+                       <KEYWORD3>NEW</KEYWORD3>\r
+                       <KEYWORD3>NOARCHIVELOG</KEYWORD3>\r
+                       <KEYWORD3>NOCACHE</KEYWORD3>\r
+                       <KEYWORD3>NOCYCLE</KEYWORD3>\r
+                       <KEYWORD3>NOMAXVALUE</KEYWORD3>\r
+                       <KEYWORD3>NOMINVALUE</KEYWORD3>\r
+                       <KEYWORD3>NONE</KEYWORD3>\r
+                       <KEYWORD3>NOORDER</KEYWORD3>\r
+                       <KEYWORD3>NORESETLOGS</KEYWORD3>\r
+                       <KEYWORD3>NORMAL</KEYWORD3>\r
+                       <KEYWORD3>NOSORT</KEYWORD3>\r
+                       <KEYWORD3>NUMERIC</KEYWORD3>\r
+                       <KEYWORD3>OFF</KEYWORD3>\r
+                       <KEYWORD3>OLD</KEYWORD3>\r
+                       <KEYWORD3>ONLY</KEYWORD3>\r
+                       <KEYWORD3>OPEN</KEYWORD3>\r
+                       <KEYWORD3>OPTIMAL</KEYWORD3>\r
+                       <KEYWORD3>OWN</KEYWORD3>\r
+                       <KEYWORD3>PACKAGE</KEYWORD3>\r
+                       <KEYWORD3>PARALLEL</KEYWORD3>\r
+                       <KEYWORD3>PCTINCREASE</KEYWORD3>\r
+                       <KEYWORD3>PCTUSED</KEYWORD3>\r
+                       <KEYWORD3>PLAN</KEYWORD3>\r
+                       <KEYWORD3>PLI</KEYWORD3>\r
+                       <KEYWORD3>PRECISION</KEYWORD3>\r
+                       <KEYWORD3>PRIMARY</KEYWORD3>\r
+                       <KEYWORD3>PRIVATE</KEYWORD3>\r
+                       <KEYWORD3>PROCEDURE</KEYWORD3>\r
+                       <KEYWORD3>PROFILE</KEYWORD3>\r
+                       <KEYWORD3>QUOTA</KEYWORD3>\r
+                       <KEYWORD3>READ</KEYWORD3>\r
+                       <KEYWORD3>REAL</KEYWORD3>\r
+                       <KEYWORD3>RECOVER</KEYWORD3>\r
+                       <KEYWORD3>REFERENCES</KEYWORD3>\r
+                       <KEYWORD3>REFERENCING</KEYWORD3>\r
+                       <KEYWORD3>RESETLOGS</KEYWORD3>\r
+                       <KEYWORD3>RESTRICTED</KEYWORD3>\r
+                       <KEYWORD3>REUSE</KEYWORD3>\r
+                       <KEYWORD3>ROLE</KEYWORD3>\r
+                       <KEYWORD3>ROLES</KEYWORD3>\r
+                       <KEYWORD3>ROLLBACK</KEYWORD3>\r
+                       <KEYWORD3>SAVEPOINT</KEYWORD3>\r
+                       <KEYWORD3>SCHEMA</KEYWORD3>\r
+                       <KEYWORD3>SCN</KEYWORD3>\r
+                       <KEYWORD3>SECTION</KEYWORD3>\r
+                       <KEYWORD3>SEGMENT</KEYWORD3>\r
+                       <KEYWORD3>SEQUENCE</KEYWORD3>\r
+                       <KEYWORD3>SHARED</KEYWORD3>\r
+                       <KEYWORD3>SNAPSHOT</KEYWORD3>\r
+                       <KEYWORD3>SOME</KEYWORD3>\r
+                       <KEYWORD3>SORT</KEYWORD3>\r
+                       <KEYWORD3>SQL</KEYWORD3>\r
+                       <KEYWORD3>SQLCODE</KEYWORD3>\r
+                       <KEYWORD3>SQLERROR</KEYWORD3>\r
+                       <KEYWORD3>SQLSTATE</KEYWORD3>\r
+                       <KEYWORD3>STATEMENT_ID</KEYWORD3>\r
+                       <KEYWORD3>STATISTICS</KEYWORD3>\r
+                       <KEYWORD3>STOP</KEYWORD3>\r
+                       <KEYWORD3>STORAGE</KEYWORD3>\r
+                       <KEYWORD3>SUM</KEYWORD3>\r
+                       <KEYWORD3>SWITCH</KEYWORD3>\r
+                       <KEYWORD3>SYSTEM</KEYWORD3>\r
+                       <KEYWORD3>TABLES</KEYWORD3>\r
+                       <KEYWORD3>TABLESPACE</KEYWORD3>\r
+                       <KEYWORD3>TEMPORARY</KEYWORD3>\r
+                       <KEYWORD3>THREAD</KEYWORD3>\r
+                       <KEYWORD3>TIME</KEYWORD3>\r
+                       <KEYWORD3>TRACING</KEYWORD3>\r
+                       <KEYWORD3>TRANSACTION</KEYWORD3>\r
+                       <KEYWORD3>TRIGGERS</KEYWORD3>\r
+                       <KEYWORD3>TRUNCATE</KEYWORD3>\r
+                       <KEYWORD3>UNDER</KEYWORD3>\r
+                       <KEYWORD3>UNLIMITED</KEYWORD3>\r
+                       <KEYWORD3>UNTIL</KEYWORD3>\r
+                       <KEYWORD3>USE</KEYWORD3>\r
+                       <KEYWORD3>USING</KEYWORD3>\r
+                       <KEYWORD3>WHEN</KEYWORD3>\r
+                       <KEYWORD3>WRITE</KEYWORD3>\r
+                       <KEYWORD3>WORK</KEYWORD3>\r
+                       -->\r
+\r
+                       <LITERAL2>[COPY-PREFIX]</LITERAL2>\r
+                       <LITERAL2>[COUNT]</LITERAL2>\r
+                       <LITERAL2>[DISPLAY]</LITERAL2>\r
+                       <LITERAL2>[EXECUTE]</LITERAL2>\r
+                       <LITERAL2>[PG]</LITERAL2>\r
+                       <LITERAL2>[PREFIX]</LITERAL2>\r
+                       <LITERAL2>[PROGRAM]</LITERAL2>\r
+                       <LITERAL2>[SPECIAL-PREFIX]</LITERAL2>\r
+                       <LITERAL2>[TESTCASE]</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/coldfusion.xml b/basis/xmode/modes/coldfusion.xml
new file mode 100644 (file)
index 0000000..8385df7
--- /dev/null
@@ -0,0 +1,645 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- CFML comment -->\r
+               <SPAN TYPE="COMMENT4">\r
+                       <BEGIN>&lt;!---</BEGIN>\r
+                       <END>---&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFSCRIPT multi-line comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- CFSCRIPT single-line comment -->\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT3">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFScript -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFSCRIPT">\r
+                       <BEGIN>&lt;CFSCRIPT</BEGIN>\r
+                       <END>&lt;/CFSCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFML markup start tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
+                       <BEGIN>&lt;CF</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFML markup end tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
+                       <BEGIN>&lt;/CF</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <!-- CFML markup start tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
+                       <BEGIN>&lt;CF</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFML markup end tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
+                       <BEGIN>&lt;/CF</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CFML markup start tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CFSCRIPT">\r
+                       <BEGIN>&lt;CFSCRIPT</BEGIN>\r
+                       <END>&lt;/CFSCRIPT&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="CFSCRIPT" DEFAULT="KEYWORD1" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <!-- CFSCRIPT multi-line comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- CFSCRIPT single-line comment -->\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LABEL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="LITERAL2">(</SEQ>\r
+               <SEQ TYPE="LITERAL2">)</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">!!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <FUNCTION>{</FUNCTION>\r
+                       <FUNCTION>}</FUNCTION>\r
+                       <FUNCTION>for</FUNCTION>\r
+                       <FUNCTION>while</FUNCTION>\r
+                       <FUNCTION>if</FUNCTION>\r
+                       <FUNCTION>}else</FUNCTION>\r
+                       <FUNCTION>}else{</FUNCTION>\r
+                       <FUNCTION>if(</FUNCTION>\r
+                       <FUNCTION>else</FUNCTION>\r
+                       <FUNCTION>break</FUNCTION>\r
+\r
+                       <FUNCTION>ArrayAppend</FUNCTION>\r
+                       <FUNCTION>ArrayAvg</FUNCTION>\r
+                       <FUNCTION>ArrayClear</FUNCTION>\r
+                       <FUNCTION>ArrayDeleteAt</FUNCTION>\r
+                       <FUNCTION>ArrayInsertAt</FUNCTION>\r
+                       <FUNCTION>ArrayIsEmpty</FUNCTION>\r
+                       <FUNCTION>ArrayLen</FUNCTION>\r
+                       <FUNCTION>ArrayMax</FUNCTION>\r
+                       <FUNCTION>ArrayMin</FUNCTION>\r
+                       <FUNCTION>ArrayNew</FUNCTION>\r
+                       <FUNCTION>ArrayPrepend</FUNCTION>\r
+                       <FUNCTION>ArrayResize</FUNCTION>\r
+                       <FUNCTION>ArraySet</FUNCTION>\r
+                       <FUNCTION>ArraySort</FUNCTION>\r
+                       <FUNCTION>ArraySum</FUNCTION>\r
+                       <FUNCTION>ArraySwap</FUNCTION>\r
+                       <FUNCTION>ArrayToList</FUNCTION>\r
+                       <FUNCTION>IsArray</FUNCTION>\r
+                       <FUNCTION>ListToArray</FUNCTION>\r
+\r
+                       <FUNCTION>CreateDate</FUNCTION>\r
+                       <FUNCTION>CreateDateTime</FUNCTION>\r
+                       <FUNCTION>CreateODBCTime</FUNCTION>\r
+                       <FUNCTION>CreateODBCDate</FUNCTION>\r
+                       <FUNCTION>CreateODBCDateTime</FUNCTION>\r
+                       <FUNCTION>CreateTime</FUNCTION>\r
+                       <FUNCTION>CreateTimeSpan</FUNCTION>\r
+                       <FUNCTION>DateAdd</FUNCTION>\r
+                       <FUNCTION>DateCompare</FUNCTION>\r
+                       <FUNCTION>DateDiff</FUNCTION>\r
+                       <FUNCTION>DatePart</FUNCTION>\r
+                       <FUNCTION>Day</FUNCTION>\r
+                       <FUNCTION>DayOfWeek</FUNCTION>\r
+                       <FUNCTION>DayOfWeekAsString</FUNCTION>\r
+                       <FUNCTION>DayOfYear</FUNCTION>\r
+                       <FUNCTION>DaysInMonth</FUNCTION>\r
+                       <FUNCTION>DaysInYear</FUNCTION>\r
+                       <FUNCTION>FirstDayOfMonth</FUNCTION>\r
+                       <FUNCTION>Hour</FUNCTION>\r
+                       <FUNCTION>Minute</FUNCTION>\r
+                       <FUNCTION>Month</FUNCTION>\r
+                       <FUNCTION>MonthAsString</FUNCTION>\r
+                       <FUNCTION>Now</FUNCTION>\r
+                       <FUNCTION>ParseDateTime</FUNCTION>\r
+                       <FUNCTION>Quarter</FUNCTION>\r
+                       <FUNCTION>Second</FUNCTION>\r
+                       <FUNCTION>Week</FUNCTION>\r
+                       <FUNCTION>Year</FUNCTION>\r
+\r
+                       <FUNCTION>IsArray</FUNCTION>\r
+                       <FUNCTION>IsAuthenticated</FUNCTION>\r
+                       <FUNCTION>IsAuthorized</FUNCTION>\r
+                       <FUNCTION>IsBoolean</FUNCTION>\r
+                       <FUNCTION>IsDate</FUNCTION>\r
+                       <FUNCTION>IsDebugMode</FUNCTION>\r
+                       <FUNCTION>IsDefined</FUNCTION>\r
+                       <FUNCTION>IsLeapYear</FUNCTION>\r
+                       <FUNCTION>IsNumeric</FUNCTION>\r
+                       <FUNCTION>IsNumericDate</FUNCTION>\r
+                       <FUNCTION>IsQuery</FUNCTION>\r
+                       <FUNCTION>IsSimpleValue</FUNCTION>\r
+                       <FUNCTION>IsStruct</FUNCTION>\r
+\r
+                       <FUNCTION>DateFormat</FUNCTION>\r
+                       <FUNCTION>DecimalFormat</FUNCTION>\r
+                       <FUNCTION>DollarFormat</FUNCTION>\r
+                       <FUNCTION>FormatBaseN</FUNCTION>\r
+                       <FUNCTION>HTMLCodeFormat</FUNCTION>\r
+                       <FUNCTION>HTMLEditFormat</FUNCTION>\r
+                       <FUNCTION>NumberFormat</FUNCTION>\r
+                       <FUNCTION>ParagraphFormat</FUNCTION>\r
+                       <FUNCTION>TimeFormat</FUNCTION>\r
+                       <FUNCTION>YesNoFormat</FUNCTION>\r
+\r
+                       <FUNCTION>DE</FUNCTION>\r
+                       <FUNCTION>Evaluate</FUNCTION>\r
+                       <FUNCTION>IIf</FUNCTION>\r
+                       <FUNCTION>SetVariable</FUNCTION>\r
+\r
+                       <FUNCTION>ArrayToList</FUNCTION>\r
+                       <FUNCTION>ListAppend</FUNCTION>\r
+                       <FUNCTION>ListChangeDelims</FUNCTION>\r
+                       <FUNCTION>ListContains</FUNCTION>\r
+                       <FUNCTION>ListContainsNoCase</FUNCTION>\r
+                       <FUNCTION>ListDeleteAt</FUNCTION>\r
+                       <FUNCTION>ListFind</FUNCTION>\r
+                       <FUNCTION>ListFindNoCase</FUNCTION>\r
+                       <FUNCTION>ListFirst</FUNCTION>\r
+                       <FUNCTION>ListGetAt</FUNCTION>\r
+                       <FUNCTION>ListInsertAt</FUNCTION>\r
+                       <FUNCTION>ListLast</FUNCTION>\r
+                       <FUNCTION>ListLen</FUNCTION>\r
+                       <FUNCTION>ListPrepend</FUNCTION>\r
+                       <FUNCTION>ListRest</FUNCTION>\r
+                       <FUNCTION>ListSetAt</FUNCTION>\r
+                       <FUNCTION>ListToArray</FUNCTION>\r
+\r
+                       <FUNCTION>StructClear</FUNCTION>\r
+                       <FUNCTION>StructCopy</FUNCTION>\r
+                       <FUNCTION>StructCount</FUNCTION>\r
+                       <FUNCTION>StructDelete</FUNCTION>\r
+                       <FUNCTION>StructFind</FUNCTION>\r
+                       <FUNCTION>StructInsert</FUNCTION>\r
+                       <FUNCTION>StructIsEmpty</FUNCTION>\r
+                       <FUNCTION>StructKeyExists</FUNCTION>\r
+                       <FUNCTION>StructNew</FUNCTION>\r
+                       <FUNCTION>StructUpdate</FUNCTION>\r
+\r
+                       <FUNCTION>GetLocale</FUNCTION>\r
+                       <FUNCTION>LSCurrencyFormat</FUNCTION>\r
+                       <FUNCTION>LSDateFormat</FUNCTION>\r
+                       <FUNCTION>LSIsCurrency</FUNCTION>\r
+                       <FUNCTION>LSIsDate</FUNCTION>\r
+                       <FUNCTION>LSIsNumeric</FUNCTION>\r
+                       <FUNCTION>LSNumberFormat</FUNCTION>\r
+                       <FUNCTION>LSParseCurrency</FUNCTION>\r
+                       <FUNCTION>LSParseDateTime</FUNCTION>\r
+                       <FUNCTION>LSParseNumber</FUNCTION>\r
+                       <FUNCTION>LSTimeFormat</FUNCTION>\r
+                       <FUNCTION>SetLocale</FUNCTION>\r
+\r
+                       <FUNCTION>Abs</FUNCTION>\r
+                       <FUNCTION>Atn</FUNCTION>\r
+                       <FUNCTION>BitAnd</FUNCTION>\r
+                       <FUNCTION>BitMaskClear</FUNCTION>\r
+                       <FUNCTION>BitMaskRead</FUNCTION>\r
+                       <FUNCTION>BitMaskSet</FUNCTION>\r
+                       <FUNCTION>BitNot</FUNCTION>\r
+                       <FUNCTION>BitOr</FUNCTION>\r
+                       <FUNCTION>BitSHLN</FUNCTION>\r
+                       <FUNCTION>BitSHRN</FUNCTION>\r
+                       <FUNCTION>BitXor</FUNCTION>\r
+                       <FUNCTION>Ceiling</FUNCTION>\r
+                       <FUNCTION>Cos</FUNCTION>\r
+                       <FUNCTION>DecrementValue</FUNCTION>\r
+                       <FUNCTION>Exp</FUNCTION>\r
+                       <FUNCTION>Fix</FUNCTION>\r
+                       <FUNCTION>IncrementValue</FUNCTION>\r
+                       <FUNCTION>InputBaseN</FUNCTION>\r
+                       <FUNCTION>Int</FUNCTION>\r
+                       <FUNCTION>Log</FUNCTION>\r
+                       <FUNCTION>Log10</FUNCTION>\r
+                       <FUNCTION>Max</FUNCTION>\r
+                       <FUNCTION>Min</FUNCTION>\r
+                       <FUNCTION>Pi</FUNCTION>\r
+                       <FUNCTION>Rand</FUNCTION>\r
+                       <FUNCTION>Randomize</FUNCTION>\r
+                       <FUNCTION>RandRange</FUNCTION>\r
+                       <FUNCTION>Round</FUNCTION>\r
+                       <FUNCTION>Sgn</FUNCTION>\r
+                       <FUNCTION>Sin</FUNCTION>\r
+                       <FUNCTION>Sqr</FUNCTION>\r
+                       <FUNCTION>Tan</FUNCTION>\r
+\r
+                       <FUNCTION>Asc</FUNCTION>\r
+                       <FUNCTION>Chr</FUNCTION>\r
+                       <FUNCTION>CJustify</FUNCTION>\r
+                       <FUNCTION>Compare</FUNCTION>\r
+                       <FUNCTION>CompareNoCase</FUNCTION>\r
+                       <FUNCTION>Find</FUNCTION>\r
+                       <FUNCTION>FindNoCase</FUNCTION>\r
+                       <FUNCTION>FindOneOf</FUNCTION>\r
+                       <FUNCTION>GetToken</FUNCTION>\r
+                       <FUNCTION>Insert</FUNCTION>\r
+                       <FUNCTION>LCase</FUNCTION>\r
+                       <FUNCTION>Left</FUNCTION>\r
+                       <FUNCTION>Len</FUNCTION>\r
+                       <FUNCTION>LJustify</FUNCTION>\r
+                       <FUNCTION>LTrim</FUNCTION>\r
+                       <FUNCTION>Mid</FUNCTION>\r
+                       <FUNCTION>REFind</FUNCTION>\r
+                       <FUNCTION>REFindNoCase</FUNCTION>\r
+                       <FUNCTION>RemoveChars</FUNCTION>\r
+                       <FUNCTION>RepeatString</FUNCTION>\r
+                       <FUNCTION>Replace</FUNCTION>\r
+                       <FUNCTION>ReplaceList</FUNCTION>\r
+                       <FUNCTION>ReplaceNoCase</FUNCTION>\r
+                       <FUNCTION>REReplace</FUNCTION>\r
+                       <FUNCTION>REReplaceNoCase</FUNCTION>\r
+                       <FUNCTION>Reverse</FUNCTION>\r
+                       <FUNCTION>Right</FUNCTION>\r
+                       <FUNCTION>RJustify</FUNCTION>\r
+                       <FUNCTION>RTrim</FUNCTION>\r
+                       <FUNCTION>SpanExcluding</FUNCTION>\r
+                       <FUNCTION>SpanIncluding</FUNCTION>\r
+                       <FUNCTION>Trim</FUNCTION>\r
+                       <FUNCTION>UCase</FUNCTION>\r
+                       <FUNCTION>Val</FUNCTION>\r
+\r
+                       <FUNCTION>DirectoryExists</FUNCTION>\r
+                       <FUNCTION>ExpandPath</FUNCTION>\r
+                       <FUNCTION>FileExists</FUNCTION>\r
+                       <FUNCTION>GetDirectoryFromPath</FUNCTION>\r
+                       <FUNCTION>GetFileFromPath</FUNCTION>\r
+                       <FUNCTION>GetTempDirectory</FUNCTION>\r
+                       <FUNCTION>GetTempFile</FUNCTION>\r
+                       <FUNCTION>GetTemplatePath</FUNCTION>\r
+\r
+                       <FUNCTION>QueryAddRow</FUNCTION>\r
+                       <FUNCTION>QueryNew</FUNCTION>\r
+                       <FUNCTION>QuerySetCell</FUNCTION>\r
+\r
+                       <FUNCTION>Decrypt</FUNCTION>\r
+                       <FUNCTION>DeleteClientVariable</FUNCTION>\r
+                       <FUNCTION>Encrypt</FUNCTION>\r
+                       <FUNCTION>GetBaseTagData</FUNCTION>\r
+                       <FUNCTION>GetBaseTagList</FUNCTION>\r
+                       <FUNCTION>GetClientVariablesList</FUNCTION>\r
+                       <FUNCTION>GetTickCount</FUNCTION>\r
+                       <FUNCTION>PreserveSingleQuotes</FUNCTION>\r
+                       <FUNCTION>QuotedValueList</FUNCTION>\r
+                       <FUNCTION>StripCR</FUNCTION>\r
+                       <FUNCTION>URLEncodedFormat</FUNCTION>\r
+                       <FUNCTION>ValueList</FUNCTION>\r
+                       <FUNCTION>WriteOutput</FUNCTION>\r
+\r
+                       <FUNCTION>ParameterExists</FUNCTION>\r
+\r
+                       <OPERATOR>IS</OPERATOR>\r
+                       <OPERATOR>EQ</OPERATOR>\r
+                       <OPERATOR>NEQ</OPERATOR>\r
+                       <OPERATOR>GT</OPERATOR>\r
+                       <OPERATOR>GTE</OPERATOR>\r
+                       <OPERATOR>LT</OPERATOR>\r
+                       <OPERATOR>LTE</OPERATOR>\r
+\r
+                       <OPERATOR>LESS</OPERATOR>\r
+                       <OPERATOR>GREATER</OPERATOR>\r
+                       <OPERATOR>THAN</OPERATOR>\r
+\r
+                       <OPERATOR>AND</OPERATOR>\r
+                       <OPERATOR>OR</OPERATOR>\r
+                       <OPERATOR>NOT</OPERATOR>\r
+                       <OPERATOR>XOR</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="CFTAGS" DEFAULT="KEYWORD3">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="KEYWORD3">##</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>#</BEGIN>\r
+                       <END>#</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>ArrayAppend</KEYWORD2>\r
+                       <KEYWORD2>ArrayAvg</KEYWORD2>\r
+                       <KEYWORD2>ArrayClear</KEYWORD2>\r
+                       <KEYWORD2>ArrayDeleteAt</KEYWORD2>\r
+                       <KEYWORD2>ArrayInsertAt</KEYWORD2>\r
+                       <KEYWORD2>ArrayIsEmpty</KEYWORD2>\r
+                       <KEYWORD2>ArrayLen</KEYWORD2>\r
+                       <KEYWORD2>ArrayMax</KEYWORD2>\r
+                       <KEYWORD2>ArrayMin</KEYWORD2>\r
+                       <KEYWORD2>ArrayNew</KEYWORD2>\r
+                       <KEYWORD2>ArrayPrepend</KEYWORD2>\r
+                       <KEYWORD2>ArrayResize</KEYWORD2>\r
+                       <KEYWORD2>ArraySet</KEYWORD2>\r
+                       <KEYWORD2>ArraySort</KEYWORD2>\r
+                       <KEYWORD2>ArraySum</KEYWORD2>\r
+                       <KEYWORD2>ArraySwap</KEYWORD2>\r
+                       <KEYWORD2>ArrayToList</KEYWORD2>\r
+                       <KEYWORD2>IsArray</KEYWORD2>\r
+                       <KEYWORD2>ListToArray</KEYWORD2>\r
+\r
+                       <KEYWORD2>CreateDate</KEYWORD2>\r
+                       <KEYWORD2>CreateDateTime</KEYWORD2>\r
+                       <KEYWORD2>CreateODBCTime</KEYWORD2>\r
+                       <KEYWORD2>CreateODBCDate</KEYWORD2>\r
+                       <KEYWORD2>CreateODBCDateTime</KEYWORD2>\r
+                       <KEYWORD2>CreateTime</KEYWORD2>\r
+                       <KEYWORD2>CreateTimeSpan</KEYWORD2>\r
+                       <KEYWORD2>DateAdd</KEYWORD2>\r
+                       <KEYWORD2>DateCompare</KEYWORD2>\r
+                       <KEYWORD2>DateDiff</KEYWORD2>\r
+                       <KEYWORD2>DatePart</KEYWORD2>\r
+                       <KEYWORD2>Day</KEYWORD2>\r
+                       <KEYWORD2>DayOfWeek</KEYWORD2>\r
+                       <KEYWORD2>DayOfWeekAsString</KEYWORD2>\r
+                       <KEYWORD2>DayOfYear</KEYWORD2>\r
+                       <KEYWORD2>DaysInMonth</KEYWORD2>\r
+                       <KEYWORD2>DaysInYear</KEYWORD2>\r
+                       <KEYWORD2>FirstDayOfMonth</KEYWORD2>\r
+                       <KEYWORD2>Hour</KEYWORD2>\r
+                       <KEYWORD2>Minute</KEYWORD2>\r
+                       <KEYWORD2>Month</KEYWORD2>\r
+                       <KEYWORD2>MonthAsString</KEYWORD2>\r
+                       <KEYWORD2>Now</KEYWORD2>\r
+                       <KEYWORD2>ParseDateTime</KEYWORD2>\r
+                       <KEYWORD2>Quarter</KEYWORD2>\r
+                       <KEYWORD2>Second</KEYWORD2>\r
+                       <KEYWORD2>Week</KEYWORD2>\r
+                       <KEYWORD2>Year</KEYWORD2>\r
+\r
+                       <KEYWORD2>IsArray</KEYWORD2>\r
+                       <KEYWORD2>IsAuthenticated</KEYWORD2>\r
+                       <KEYWORD2>IsAuthorized</KEYWORD2>\r
+                       <KEYWORD2>IsBoolean</KEYWORD2>\r
+                       <KEYWORD2>IsDate</KEYWORD2>\r
+                       <KEYWORD2>IsDebugMode</KEYWORD2>\r
+                       <KEYWORD2>IsDefined</KEYWORD2>\r
+                       <KEYWORD2>IsLeapYear</KEYWORD2>\r
+                       <KEYWORD2>IsNumeric</KEYWORD2>\r
+                       <KEYWORD2>IsNumericDate</KEYWORD2>\r
+                       <KEYWORD2>IsQuery</KEYWORD2>\r
+                       <KEYWORD2>IsSimpleValue</KEYWORD2>\r
+                       <KEYWORD2>IsStruct</KEYWORD2>\r
+\r
+                       <KEYWORD2>DateFormat</KEYWORD2>\r
+                       <KEYWORD2>DecimalFormat</KEYWORD2>\r
+                       <KEYWORD2>DollarFormat</KEYWORD2>\r
+                       <KEYWORD2>FormatBaseN</KEYWORD2>\r
+                       <KEYWORD2>HTMLCodeFormat</KEYWORD2>\r
+                       <KEYWORD2>HTMLEditFormat</KEYWORD2>\r
+                       <KEYWORD2>NumberFormat</KEYWORD2>\r
+                       <KEYWORD2>ParagraphFormat</KEYWORD2>\r
+                       <KEYWORD2>TimeFormat</KEYWORD2>\r
+                       <KEYWORD2>YesNoFormat</KEYWORD2>\r
+\r
+                       <KEYWORD2>DE</KEYWORD2>\r
+                       <KEYWORD2>Evaluate</KEYWORD2>\r
+                       <KEYWORD2>IIf</KEYWORD2>\r
+                       <KEYWORD2>SetVariable</KEYWORD2>\r
+\r
+                       <KEYWORD2>ArrayToList</KEYWORD2>\r
+                       <KEYWORD2>ListAppend</KEYWORD2>\r
+                       <KEYWORD2>ListChangeDelims</KEYWORD2>\r
+                       <KEYWORD2>ListContains</KEYWORD2>\r
+                       <KEYWORD2>ListContainsNoCase</KEYWORD2>\r
+                       <KEYWORD2>ListDeleteAt</KEYWORD2>\r
+                       <KEYWORD2>ListFind</KEYWORD2>\r
+                       <KEYWORD2>ListFindNoCase</KEYWORD2>\r
+                       <KEYWORD2>ListFirst</KEYWORD2>\r
+                       <KEYWORD2>ListGetAt</KEYWORD2>\r
+                       <KEYWORD2>ListInsertAt</KEYWORD2>\r
+                       <KEYWORD2>ListLast</KEYWORD2>\r
+                       <KEYWORD2>ListLen</KEYWORD2>\r
+                       <KEYWORD2>ListPrepend</KEYWORD2>\r
+                       <KEYWORD2>ListRest</KEYWORD2>\r
+                       <KEYWORD2>ListSetAt</KEYWORD2>\r
+                       <KEYWORD2>ListToArray</KEYWORD2>\r
+\r
+                       <KEYWORD2>StructClear</KEYWORD2>\r
+                       <KEYWORD2>StructCopy</KEYWORD2>\r
+                       <KEYWORD2>StructCount</KEYWORD2>\r
+                       <KEYWORD2>StructDelete</KEYWORD2>\r
+                       <KEYWORD2>StructFind</KEYWORD2>\r
+                       <KEYWORD2>StructInsert</KEYWORD2>\r
+                       <KEYWORD2>StructIsEmpty</KEYWORD2>\r
+                       <KEYWORD2>StructKeyExists</KEYWORD2>\r
+                       <KEYWORD2>StructNew</KEYWORD2>\r
+                       <KEYWORD2>StructUpdate</KEYWORD2>\r
+\r
+                       <KEYWORD2>GetLocale</KEYWORD2>\r
+                       <KEYWORD2>LSCurrencyFormat</KEYWORD2>\r
+                       <KEYWORD2>LSDateFormat</KEYWORD2>\r
+                       <KEYWORD2>LSIsCurrency</KEYWORD2>\r
+                       <KEYWORD2>LSIsDate</KEYWORD2>\r
+                       <KEYWORD2>LSIsNumeric</KEYWORD2>\r
+                       <KEYWORD2>LSNumberFormat</KEYWORD2>\r
+                       <KEYWORD2>LSParseCurrency</KEYWORD2>\r
+                       <KEYWORD2>LSParseDateTime</KEYWORD2>\r
+                       <KEYWORD2>LSParseNumber</KEYWORD2>\r
+                       <KEYWORD2>LSTimeFormat</KEYWORD2>\r
+                       <KEYWORD2>SetLocale</KEYWORD2>\r
+\r
+                       <KEYWORD2>Abs</KEYWORD2>\r
+                       <KEYWORD2>Atn</KEYWORD2>\r
+                       <KEYWORD2>BitAnd</KEYWORD2>\r
+                       <KEYWORD2>BitMaskClear</KEYWORD2>\r
+                       <KEYWORD2>BitMaskRead</KEYWORD2>\r
+                       <KEYWORD2>BitMaskSet</KEYWORD2>\r
+                       <KEYWORD2>BitNot</KEYWORD2>\r
+                       <KEYWORD2>BitOr</KEYWORD2>\r
+                       <KEYWORD2>BitSHLN</KEYWORD2>\r
+                       <KEYWORD2>BitSHRN</KEYWORD2>\r
+                       <KEYWORD2>BitXor</KEYWORD2>\r
+                       <KEYWORD2>Ceiling</KEYWORD2>\r
+                       <KEYWORD2>Cos</KEYWORD2>\r
+                       <KEYWORD2>DecrementValue</KEYWORD2>\r
+                       <KEYWORD2>Exp</KEYWORD2>\r
+                       <KEYWORD2>Fix</KEYWORD2>\r
+                       <KEYWORD2>IncrementValue</KEYWORD2>\r
+                       <KEYWORD2>InputBaseN</KEYWORD2>\r
+                       <KEYWORD2>Int</KEYWORD2>\r
+                       <KEYWORD2>Log</KEYWORD2>\r
+                       <KEYWORD2>Log10</KEYWORD2>\r
+                       <KEYWORD2>Max</KEYWORD2>\r
+                       <KEYWORD2>Min</KEYWORD2>\r
+                       <KEYWORD2>Pi</KEYWORD2>\r
+                       <KEYWORD2>Rand</KEYWORD2>\r
+                       <KEYWORD2>Randomize</KEYWORD2>\r
+                       <KEYWORD2>RandRange</KEYWORD2>\r
+                       <KEYWORD2>Round</KEYWORD2>\r
+                       <KEYWORD2>Sgn</KEYWORD2>\r
+                       <KEYWORD2>Sin</KEYWORD2>\r
+                       <KEYWORD2>Sqr</KEYWORD2>\r
+                       <KEYWORD2>Tan</KEYWORD2>\r
+\r
+                       <KEYWORD2>Asc</KEYWORD2>\r
+                       <KEYWORD2>Chr</KEYWORD2>\r
+                       <KEYWORD2>CJustify</KEYWORD2>\r
+                       <KEYWORD2>Compare</KEYWORD2>\r
+                       <KEYWORD2>CompareNoCase</KEYWORD2>\r
+                       <KEYWORD2>Find</KEYWORD2>\r
+                       <KEYWORD2>FindNoCase</KEYWORD2>\r
+                       <KEYWORD2>FindOneOf</KEYWORD2>\r
+                       <KEYWORD2>GetToken</KEYWORD2>\r
+                       <KEYWORD2>Insert</KEYWORD2>\r
+                       <KEYWORD2>LCase</KEYWORD2>\r
+                       <KEYWORD2>Left</KEYWORD2>\r
+                       <KEYWORD2>Len</KEYWORD2>\r
+                       <KEYWORD2>LJustify</KEYWORD2>\r
+                       <KEYWORD2>LTrim</KEYWORD2>\r
+                       <KEYWORD2>Mid</KEYWORD2>\r
+                       <KEYWORD2>REFind</KEYWORD2>\r
+                       <KEYWORD2>REFindNoCase</KEYWORD2>\r
+                       <KEYWORD2>RemoveChars</KEYWORD2>\r
+                       <KEYWORD2>RepeatString</KEYWORD2>\r
+                       <KEYWORD2>Replace</KEYWORD2>\r
+                       <KEYWORD2>ReplaceList</KEYWORD2>\r
+                       <KEYWORD2>ReplaceNoCase</KEYWORD2>\r
+                       <KEYWORD2>REReplace</KEYWORD2>\r
+                       <KEYWORD2>REReplaceNoCase</KEYWORD2>\r
+                       <KEYWORD2>Reverse</KEYWORD2>\r
+                       <KEYWORD2>Right</KEYWORD2>\r
+                       <KEYWORD2>RJustify</KEYWORD2>\r
+                       <KEYWORD2>RTrim</KEYWORD2>\r
+                       <KEYWORD2>SpanExcluding</KEYWORD2>\r
+                       <KEYWORD2>SpanIncluding</KEYWORD2>\r
+                       <KEYWORD2>Trim</KEYWORD2>\r
+                       <KEYWORD2>UCase</KEYWORD2>\r
+                       <KEYWORD2>Val</KEYWORD2>\r
+\r
+                       <KEYWORD2>DirectoryExists</KEYWORD2>\r
+                       <KEYWORD2>ExpandPath</KEYWORD2>\r
+                       <KEYWORD2>FileExists</KEYWORD2>\r
+                       <KEYWORD2>GetDirectoryFromPath</KEYWORD2>\r
+                       <KEYWORD2>GetFileFromPath</KEYWORD2>\r
+                       <KEYWORD2>GetTempDirectory</KEYWORD2>\r
+                       <KEYWORD2>GetTempFile</KEYWORD2>\r
+                       <KEYWORD2>GetTemplatePath</KEYWORD2>\r
+\r
+                       <KEYWORD2>QueryAddRow</KEYWORD2>\r
+                       <KEYWORD2>QueryNew</KEYWORD2>\r
+                       <KEYWORD2>QuerySetCell</KEYWORD2>\r
+\r
+                       <KEYWORD2>Decrypt</KEYWORD2>\r
+                       <KEYWORD2>DeleteClientVariable</KEYWORD2>\r
+                       <KEYWORD2>Encrypt</KEYWORD2>\r
+                       <KEYWORD2>GetBaseTagData</KEYWORD2>\r
+                       <KEYWORD2>GetBaseTagList</KEYWORD2>\r
+                       <KEYWORD2>GetClientVariablesList</KEYWORD2>\r
+                       <KEYWORD2>GetTickCount</KEYWORD2>\r
+                       <KEYWORD2>PreserveSingleQuotes</KEYWORD2>\r
+                       <KEYWORD2>QuotedValueList</KEYWORD2>\r
+                       <KEYWORD2>StripCR</KEYWORD2>\r
+                       <KEYWORD2>URLEncodedFormat</KEYWORD2>\r
+                       <KEYWORD2>ValueList</KEYWORD2>\r
+                       <KEYWORD2>WriteOutput</KEYWORD2>\r
+\r
+                       <KEYWORD2>ParameterExists</KEYWORD2>\r
+\r
+                       <OPERATOR>IS</OPERATOR>\r
+                       <OPERATOR>EQ</OPERATOR>\r
+                       <OPERATOR>NEQ</OPERATOR>\r
+                       <OPERATOR>GT</OPERATOR>\r
+                       <OPERATOR>GTE</OPERATOR>\r
+                       <OPERATOR>LT</OPERATOR>\r
+                       <OPERATOR>LTE</OPERATOR>\r
+\r
+                       <OPERATOR>LESS</OPERATOR>\r
+                       <OPERATOR>GREATER</OPERATOR>\r
+                       <OPERATOR>THAN</OPERATOR>\r
+\r
+                       <OPERATOR>AND</OPERATOR>\r
+                       <OPERATOR>OR</OPERATOR>\r
+                       <OPERATOR>NOT</OPERATOR>\r
+                       <OPERATOR>XOR</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>
\ No newline at end of file
diff --git a/basis/xmode/modes/cplusplus.xml b/basis/xmode/modes/cplusplus.xml
new file mode 100644 (file)
index 0000000..b781056
--- /dev/null
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Extension of c.xml to add C++ specific syntax. -->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+\r
+        <!-- Auto indent -->\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+        <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+        <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+        <PROPERTY NAME="indentNextLine"\r
+            VALUE="(?!^\s*(#|//)).*(\b(if|while|for)\s*\(.*\)|\b(else|do)\b)[^{;]*$" />\r
+        <PROPERTY NAME="unindentThisLine"\r
+            VALUE="^\s*((case\b.*|[\p{Alpha}_][\p{Alnum}_]*)\s*:(?!:)).*$" />\r
+        <PROPERTY NAME="electricKeys" VALUE=":" />\r
+    </PROPS>\r
+\r
+    <RULES\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
+\r
+        <IMPORT DELEGATE="LEX"/>\r
+        <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+    <!-- Core C++ language -->\r
+    <RULES SET="LEX"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <!-- A hack not to mark namespace qualification like "std::"\r
+            as labels. -->\r
+        <SEQ TYPE="OPERATOR">::</SEQ>\r
+\r
+        <IMPORT DELEGATE="c::LEX"/>\r
+    </RULES>\r
+\r
+    <!-- Core C++ language -->\r
+    <RULES SET="CORE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <IMPORT DELEGATE="c::CORE"/>\r
+\r
+        <KEYWORDS>\r
+            <KEYWORD3>catch</KEYWORD3>\r
+            <KEYWORD3>class</KEYWORD3>\r
+            <KEYWORD3>const_cast</KEYWORD3>\r
+            <KEYWORD1>delete</KEYWORD1>\r
+            <KEYWORD3>dynamic_cast</KEYWORD3>\r
+            <KEYWORD1>explicit</KEYWORD1>\r
+            <KEYWORD2>export</KEYWORD2>\r
+            <KEYWORD1>friend</KEYWORD1>\r
+            <KEYWORD3>mutable</KEYWORD3>\r
+            <KEYWORD2>namespace</KEYWORD2>\r
+            <KEYWORD1>new</KEYWORD1>\r
+            <KEYWORD3>operator</KEYWORD3>\r
+            <KEYWORD1>private</KEYWORD1>\r
+            <KEYWORD1>protected</KEYWORD1>\r
+            <KEYWORD1>public</KEYWORD1>\r
+            <KEYWORD3>reinterpret_cast</KEYWORD3>\r
+            <KEYWORD3>static_assert</KEYWORD3>\r
+            <KEYWORD3>static_cast</KEYWORD3>\r
+            <KEYWORD3>template</KEYWORD3>\r
+            <LITERAL2>this</LITERAL2>\r
+            <KEYWORD1>throw</KEYWORD1>\r
+            <KEYWORD1>try</KEYWORD1>\r
+            <KEYWORD3>typeid</KEYWORD3>\r
+            <KEYWORD3>typename</KEYWORD3>\r
+            <KEYWORD2>using</KEYWORD2>\r
+            <KEYWORD1>virtual</KEYWORD1>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- Preprocessor specific rules -->\r
+    <RULES SET="CPP"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>\r
+\r
+        <IMPORT DELEGATE="LEX"/>\r
+\r
+        <!-- Directives -->\r
+        <KEYWORDS>\r
+            <MARKUP>ifdef</MARKUP>\r
+            <MARKUP>ifndef</MARKUP>\r
+            <MARKUP>else</MARKUP>\r
+            <MARKUP>error</MARKUP>\r
+            <MARKUP>line</MARKUP>\r
+            <MARKUP>pragma</MARKUP>\r
+            <MARKUP>undef</MARKUP>\r
+            <MARKUP>warning</MARKUP>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- After #define directive -->\r
+    <!-- Almost same as the normal code,\r
+        except two additional operators # and ##. -->\r
+    <RULES SET="DEFINE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <SEQ TYPE="OPERATOR">#</SEQ>\r
+        <IMPORT DELEGATE="LEX"/>\r
+        <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/csharp.xml b/basis/xmode/modes/csharp.xml
new file mode 100644 (file)
index 0000000..f28d238
--- /dev/null
@@ -0,0 +1,189 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <PROPERTY NAME="unindentThisLine"\r
+                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- DocComments may have XML in them -->\r
+               <EOL_SPAN TYPE="COMMENT3" DELEGATE="DOC_COMMENT">///</EOL_SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <!-- verbatim strings -->\r
+               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE" NO_ESCAPE="TRUE">\r
+                       <BEGIN>@"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#elif</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#endif</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#define</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#undef</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#warning</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#error</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#line</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#region</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#endregion</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>base</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>checked</KEYWORD1>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>decimal</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>delegate</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>explicit</KEYWORD1>\r
+                       <KEYWORD1>extern</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>fixed</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implicit</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>internal</KEYWORD1>\r
+                       <KEYWORD1>is</KEYWORD1>\r
+                       <KEYWORD1>lock</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>operator</KEYWORD1>\r
+                       <KEYWORD1>out</KEYWORD1>\r
+                       <KEYWORD1>override</KEYWORD1>\r
+                       <KEYWORD1>params</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>readonly</KEYWORD1>\r
+                       <KEYWORD1>ref</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>sealed</KEYWORD1>\r
+                       <KEYWORD1>sizeof</KEYWORD1>\r
+                       <KEYWORD1>stackalloc</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>typeof</KEYWORD1>\r
+                       <KEYWORD1>unchecked</KEYWORD1>\r
+                       <KEYWORD1>unsafe</KEYWORD1>\r
+                       <KEYWORD1>virtual</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD2>using</KEYWORD2>\r
+                       <KEYWORD2>namespace</KEYWORD2>\r
+\r
+                       <KEYWORD3>bool</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD3>enum</KEYWORD3>\r
+                       <KEYWORD3>event</KEYWORD3>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>interface</KEYWORD3>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD3>object</KEYWORD3>\r
+                       <KEYWORD3>sbyte</KEYWORD3>\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>struct</KEYWORD3>\r
+                       <KEYWORD3>uint</KEYWORD3>\r
+                       <KEYWORD3>ulong</KEYWORD3>\r
+                       <KEYWORD3>ushort</KEYWORD3>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="DOC_COMMENT" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
+               <!-- XML comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               <!-- XML tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/css.xml b/basis/xmode/modes/css.xml
new file mode 100644 (file)
index 0000000..5f8708f
--- /dev/null
@@ -0,0 +1,679 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="noWordSep" VALUE="-" />\r
+               <PROPERTY NAME="noWordSep" VALUE="_" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="TRUE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="-?[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
+               NO_WORD_SEP="-_%">\r
+\r
+               <!-- classes: -->\r
+               <MARK_FOLLOWING TYPE="LITERAL1">.</MARK_FOLLOWING>\r
+               <!-- IDs: -->\r
+               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+\r
+               <!-- TODO: selectors, see http://www.w3.org/TR/REC-CSS2/selector.html -->\r
+\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PSEUDO">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+               <!-- property blocks: -->\r
+               <SPAN TYPE="OPERATOR" DELEGATE="PROPERTIES">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <IMPORT DELEGATE="GLOBAL" />\r
+               <IMPORT DELEGATE="html::TAGS" />\r
+       </RULES>\r
+\r
+\r
+       <!-- Pseudo classes like ":active" -->\r
+       <RULES SET="PSEUDO">\r
+               <!-- Delegate back: -->\r
+               <SEQ TYPE="NULL" DELEGATE="MAIN"> </SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">,</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PROPERTIES">{</SEQ>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="lang" TYPE="KEYWORD4">\r
+                       <BEGIN>lang\s*\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="lang" TYPE="KEYWORD4">\r
+                       <BEGIN>lang\s*\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- For delegating to PROPERTIES: -->\r
+               <IMPORT DELEGATE="GLOBAL" />\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD4>after</KEYWORD4>\r
+                       <KEYWORD4>before</KEYWORD4>\r
+                       <KEYWORD4>first-child</KEYWORD4>\r
+                       <KEYWORD4>link</KEYWORD4>\r
+                       <KEYWORD4>visited</KEYWORD4>\r
+                       <KEYWORD4>active</KEYWORD4>\r
+                       <KEYWORD4>hover</KEYWORD4>\r
+                       <KEYWORD4>focus</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
+       </RULES>\r
+\r
+       <!-- Properties: -->\r
+       <RULES SET="PROPERTIES" ESCAPE="\">\r
+               <!-- Delegate back -->\r
+               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">}</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PROP_VALUE">:</SEQ>\r
+\r
+               <IMPORT DELEGATE="GLOBAL" />\r
+\r
+               <KEYWORDS>\r
+                       <!-- CSS2 properties -->\r
+\r
+                       <!-- Color and background properties -->\r
+                       <KEYWORD2>background</KEYWORD2>\r
+                       <KEYWORD2>background-attachment</KEYWORD2>\r
+                       <KEYWORD2>background-color</KEYWORD2>\r
+                       <KEYWORD2>background-image</KEYWORD2>\r
+                       <KEYWORD2>background-position</KEYWORD2>\r
+                       <KEYWORD2>background-repeat</KEYWORD2>\r
+                       <KEYWORD2>color</KEYWORD2>\r
+\r
+                       <!-- Font properties -->\r
+                       <KEYWORD2>font</KEYWORD2>\r
+                       <KEYWORD2>font-family</KEYWORD2>\r
+                       <KEYWORD2>font-size</KEYWORD2>\r
+                       <KEYWORD2>font-size-adjust</KEYWORD2>\r
+                       <KEYWORD2>font-style</KEYWORD2>\r
+                       <KEYWORD2>font-variant</KEYWORD2>\r
+                       <KEYWORD2>font-weight</KEYWORD2>\r
+                       <KEYWORD2>font-stretch</KEYWORD2>\r
+                       <KEYWORD2>src</KEYWORD2>\r
+                       <KEYWORD2>definition-src</KEYWORD2>\r
+                       <KEYWORD2>unicode-range</KEYWORD2>\r
+                       <KEYWORD2>panose-1</KEYWORD2>\r
+                       <KEYWORD2>stemv</KEYWORD2>\r
+                       <KEYWORD2>stemh</KEYWORD2>\r
+                       <KEYWORD2>units-per-em</KEYWORD2>\r
+                       <KEYWORD2>slope</KEYWORD2>\r
+                       <KEYWORD2>cap-height</KEYWORD2>\r
+                       <KEYWORD2>x-height</KEYWORD2>\r
+                       <KEYWORD2>ascent</KEYWORD2>\r
+                       <KEYWORD2>descent</KEYWORD2>\r
+                       <KEYWORD2>baseline</KEYWORD2>\r
+                       <KEYWORD2>centerline</KEYWORD2>\r
+                       <KEYWORD2>mathline</KEYWORD2>\r
+                       <KEYWORD2>topline</KEYWORD2>\r
+\r
+                       <!-- Text properties -->\r
+                       <KEYWORD2>letter-spacing</KEYWORD2>\r
+                       <KEYWORD2>text-align</KEYWORD2>\r
+                       <KEYWORD2>text-shadow</KEYWORD2>\r
+                       <KEYWORD2>text-decoration</KEYWORD2>\r
+                       <KEYWORD2>text-indent</KEYWORD2>\r
+                       <KEYWORD2>text-transform</KEYWORD2>\r
+                       <KEYWORD2>word-spacing</KEYWORD2>\r
+                       <KEYWORD2>letter-spacing</KEYWORD2>\r
+                       <KEYWORD2>white-space</KEYWORD2>\r
+\r
+                       <!-- Box properties -->\r
+                       <KEYWORD2>border</KEYWORD2>\r
+                       <KEYWORD2>bottom</KEYWORD2>\r
+                       <KEYWORD2>border-collapse</KEYWORD2>\r
+                       <KEYWORD2>border-spacing</KEYWORD2>\r
+                       <KEYWORD2>border-bottom</KEYWORD2>\r
+                       <KEYWORD2>border-bottom-style</KEYWORD2>\r
+                       <KEYWORD2>border-bottom-width</KEYWORD2>\r
+                       <KEYWORD2>border-bottom-color</KEYWORD2>\r
+                       <KEYWORD2>border-left</KEYWORD2>\r
+                       <KEYWORD2>border-left-style</KEYWORD2>\r
+                       <KEYWORD2>border-left-width</KEYWORD2>\r
+                       <KEYWORD2>border-left-color</KEYWORD2>\r
+                       <KEYWORD2>border-right</KEYWORD2>\r
+                       <KEYWORD2>border-right-style</KEYWORD2>\r
+                       <KEYWORD2>border-right-width</KEYWORD2>\r
+                       <KEYWORD2>border-right-color</KEYWORD2>\r
+                       <KEYWORD2>border-top</KEYWORD2>\r
+                       <KEYWORD2>border-top-style</KEYWORD2>\r
+                       <KEYWORD2>border-top-width</KEYWORD2>\r
+                       <KEYWORD2>border-top-color</KEYWORD2>\r
+                       <KEYWORD2>border-color</KEYWORD2>\r
+                       <KEYWORD2>border-style</KEYWORD2>\r
+                       <KEYWORD2>border-width</KEYWORD2>\r
+                       <KEYWORD2>clear</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>height</KEYWORD2>\r
+                       <KEYWORD2>margin</KEYWORD2>\r
+                       <KEYWORD2>margin-bottom</KEYWORD2>\r
+                       <KEYWORD2>margin-left</KEYWORD2>\r
+                       <KEYWORD2>margin-right</KEYWORD2>\r
+                       <KEYWORD2>margin-top</KEYWORD2>\r
+                       <KEYWORD2>padding</KEYWORD2>\r
+                       <KEYWORD2>padding-bottom</KEYWORD2>\r
+                       <KEYWORD2>padding-left</KEYWORD2>\r
+                       <KEYWORD2>padding-right</KEYWORD2>\r
+                       <KEYWORD2>padding-top</KEYWORD2>\r
+                       <KEYWORD2>clear</KEYWORD2>\r
+\r
+                       <!-- Visual formatting properties -->\r
+                       <KEYWORD2>display</KEYWORD2>\r
+                       <KEYWORD2>position</KEYWORD2>\r
+                       <KEYWORD2>top</KEYWORD2>\r
+                       <KEYWORD2>right</KEYWORD2>\r
+                       <KEYWORD2>bottom</KEYWORD2>\r
+                       <KEYWORD2>left</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>z-index</KEYWORD2>\r
+                       <KEYWORD2>direction</KEYWORD2>\r
+                       <KEYWORD2>unicode-bidi</KEYWORD2>\r
+                       <KEYWORD2>width</KEYWORD2>\r
+                       <KEYWORD2>min-width</KEYWORD2>\r
+                       <KEYWORD2>max-width</KEYWORD2>\r
+                       <KEYWORD2>height</KEYWORD2>\r
+                       <KEYWORD2>min-height</KEYWORD2>\r
+                       <KEYWORD2>max-height</KEYWORD2>\r
+                       <KEYWORD2>line-height</KEYWORD2>\r
+                       <KEYWORD2>vertical-align</KEYWORD2>\r
+\r
+                       <!-- Visual effects -->\r
+                       <KEYWORD2>overflow</KEYWORD2>\r
+                       <KEYWORD2>clip</KEYWORD2>\r
+                       <KEYWORD2>visibility</KEYWORD2>\r
+\r
+                       <!-- Page properties -->\r
+                       <KEYWORD2>size</KEYWORD2>\r
+                       <KEYWORD2>marks</KEYWORD2>\r
+                       <KEYWORD2>page-break-before</KEYWORD2>\r
+                       <KEYWORD2>page-break-after</KEYWORD2>\r
+                       <KEYWORD2>page-break-inside</KEYWORD2>\r
+                       <KEYWORD2>page</KEYWORD2>\r
+                       <KEYWORD2>orphans</KEYWORD2>\r
+                       <KEYWORD2>widows</KEYWORD2>\r
+\r
+                       <!-- Table properties -->\r
+                       <KEYWORD2>caption-side</KEYWORD2>\r
+                       <KEYWORD2>table-layout</KEYWORD2>\r
+                       <KEYWORD2>border-collapse</KEYWORD2>\r
+                       <KEYWORD2>border-spacing</KEYWORD2>\r
+                       <KEYWORD2>empty-cells</KEYWORD2>\r
+                       <KEYWORD2>speak-headers</KEYWORD2>\r
+\r
+                       <!-- User interface -->\r
+                       <KEYWORD2>cursor</KEYWORD2>\r
+                       <KEYWORD2>outline</KEYWORD2>\r
+                       <KEYWORD2>outline-width</KEYWORD2>\r
+                       <KEYWORD2>outline-style</KEYWORD2>\r
+                       <KEYWORD2>outline-color</KEYWORD2>\r
+\r
+                       <!-- Aural properties -->\r
+                       <KEYWORD2>azimuth</KEYWORD2>\r
+                       <KEYWORD2>volume</KEYWORD2>\r
+                       <KEYWORD2>speak</KEYWORD2>\r
+                       <KEYWORD2>pause</KEYWORD2>\r
+                       <KEYWORD2>pause-before</KEYWORD2>\r
+                       <KEYWORD2>pause-after</KEYWORD2>\r
+                       <KEYWORD2>cue</KEYWORD2>\r
+                       <KEYWORD2>cue-before</KEYWORD2>\r
+                       <KEYWORD2>cue-after</KEYWORD2>\r
+                       <KEYWORD2>play-during</KEYWORD2>\r
+                       <KEYWORD2>elevation</KEYWORD2>\r
+                       <KEYWORD2>speech-rate</KEYWORD2>\r
+                       <KEYWORD2>voice-family</KEYWORD2>\r
+                       <KEYWORD2>pitch</KEYWORD2>\r
+                       <KEYWORD2>pitch-range</KEYWORD2>\r
+                       <KEYWORD2>stress</KEYWORD2>\r
+                       <KEYWORD2>richness</KEYWORD2>\r
+                       <KEYWORD2>speak-punctuation</KEYWORD2>\r
+                       <KEYWORD2>speak-numeral</KEYWORD2>\r
+                       <KEYWORD2>speak-header-cell</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <!-- Values: -->\r
+       <RULES SET="PROP_VALUE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="-?[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
+               NO_WORD_SEP="-_%"\r
+               ESCAPE="\">\r
+\r
+               <SPAN DELEGATE="LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- "functions" -->\r
+               <SPAN_REGEXP DELEGATE="LITERAL" HASH_CHARS="RU" TYPE="KEYWORD1">\r
+                       <BEGIN>(rgb|url)\s*\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- <SEQ DELEGATE="PROP_VALUE_COLOR">#</SEQ> -->\r
+               <MARK_FOLLOWING TYPE="DIGIT">#</MARK_FOLLOWING>\r
+\r
+               <SEQ_REGEXP HASH_CHAR="!" TYPE="KEYWORD2">!\s*important</SEQ_REGEXP>\r
+\r
+               <!-- proprietary IE function: -->\r
+               <SPAN_REGEXP TYPE="FUNCTION" DELEGATE="javascript::MAIN" HASH_CHAR="expression">\r
+                       <BEGIN>expression\s*\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- Delegate back: -->\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PROPERTIES">;</SEQ>\r
+               <SEQ TYPE="INVALID" DELEGATE="MAIN">}</SEQ> <!-- end properties block, but it's invalid -->\r
+\r
+               <IMPORT DELEGATE="GLOBAL" />\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD3>left</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>below</KEYWORD3>\r
+                       <KEYWORD3>level</KEYWORD3>\r
+                       <KEYWORD3>above</KEYWORD3>\r
+                       <KEYWORD3>higher</KEYWORD3>\r
+                       <KEYWORD3>lower</KEYWORD3>\r
+                       <KEYWORD3>show</KEYWORD3>\r
+                       <KEYWORD3>hide</KEYWORD3>\r
+                       <KEYWORD3>normal</KEYWORD3>\r
+                       <KEYWORD3>wider</KEYWORD3>\r
+                       <KEYWORD3>narrower</KEYWORD3>\r
+                       <KEYWORD3>ultra-condensed</KEYWORD3>\r
+                       <KEYWORD3>extra-condensed</KEYWORD3>\r
+                       <KEYWORD3>condensed</KEYWORD3>\r
+                       <KEYWORD3>semi-condensed</KEYWORD3>\r
+                       <KEYWORD3>semi-expanded</KEYWORD3>\r
+                       <KEYWORD3>expanded</KEYWORD3>\r
+                       <KEYWORD3>extra-expanded</KEYWORD3>\r
+                       <KEYWORD3>ultra-expanded</KEYWORD3>\r
+                       <KEYWORD3>normal</KEYWORD3>\r
+                       <KEYWORD3>italic</KEYWORD3>\r
+                       <KEYWORD3>oblique</KEYWORD3>\r
+                       <KEYWORD3>normal</KEYWORD3>\r
+                       <KEYWORD3>xx-small</KEYWORD3>\r
+                       <KEYWORD3>x-small</KEYWORD3>\r
+                       <KEYWORD3>small</KEYWORD3>\r
+                       <KEYWORD3>large</KEYWORD3>\r
+                       <KEYWORD3>x-large</KEYWORD3>\r
+                       <KEYWORD3>xx-large</KEYWORD3>\r
+                       <KEYWORD3>thin</KEYWORD3>\r
+                       <KEYWORD3>thick</KEYWORD3>\r
+                       <KEYWORD3>smaller</KEYWORD3>\r
+                       <KEYWORD3>larger</KEYWORD3>\r
+                       <KEYWORD3>small-caps</KEYWORD3>\r
+                       <KEYWORD3>inherit</KEYWORD3>\r
+                       <KEYWORD3>bold</KEYWORD3>\r
+                       <KEYWORD3>bolder</KEYWORD3>\r
+                       <KEYWORD3>lighter</KEYWORD3>\r
+                       <KEYWORD3>inside</KEYWORD3>\r
+                       <KEYWORD3>outside</KEYWORD3>\r
+                       <KEYWORD3>disc</KEYWORD3>\r
+                       <KEYWORD3>circle</KEYWORD3>\r
+                       <KEYWORD3>square</KEYWORD3>\r
+                       <KEYWORD3>decimal</KEYWORD3>\r
+                       <KEYWORD3>decimal-leading-zero</KEYWORD3>\r
+                       <KEYWORD3>lower-roman</KEYWORD3>\r
+                       <KEYWORD3>upper-roman</KEYWORD3>\r
+                       <KEYWORD3>lower-greek</KEYWORD3>\r
+                       <KEYWORD3>lower-alpha</KEYWORD3>\r
+                       <KEYWORD3>lower-latin</KEYWORD3>\r
+                       <KEYWORD3>upper-alpha</KEYWORD3>\r
+                       <KEYWORD3>upper-latin</KEYWORD3>\r
+                       <KEYWORD3>hebrew</KEYWORD3>\r
+                       <KEYWORD3>armenian</KEYWORD3>\r
+                       <KEYWORD3>georgian</KEYWORD3>\r
+                       <KEYWORD3>cjk-ideographic</KEYWORD3>\r
+                       <KEYWORD3>hiragana</KEYWORD3>\r
+                       <KEYWORD3>katakana</KEYWORD3>\r
+                       <KEYWORD3>hiragana-iroha</KEYWORD3>\r
+                       <KEYWORD3>katakana-iroha</KEYWORD3>\r
+                       <KEYWORD3>crop</KEYWORD3>\r
+                       <KEYWORD3>cross</KEYWORD3>\r
+                       <KEYWORD3>invert</KEYWORD3>\r
+                       <KEYWORD3>hidden</KEYWORD3>\r
+                       <KEYWORD3>always</KEYWORD3>\r
+                       <KEYWORD3>avoid</KEYWORD3>\r
+                       <KEYWORD3>x-low</KEYWORD3>\r
+                       <KEYWORD3>low</KEYWORD3>\r
+                       <KEYWORD3>high</KEYWORD3>\r
+                       <KEYWORD3>x-high</KEYWORD3>\r
+                       <KEYWORD3>absolute</KEYWORD3>\r
+                       <KEYWORD3>fixed</KEYWORD3>\r
+                       <KEYWORD3>relative</KEYWORD3>\r
+                       <KEYWORD3>static</KEYWORD3>\r
+                       <KEYWORD3>portrait</KEYWORD3>\r
+                       <KEYWORD3>landscape</KEYWORD3>\r
+                       <KEYWORD3>spell-out</KEYWORD3>\r
+                       <KEYWORD3>digits</KEYWORD3>\r
+                       <KEYWORD3>continuous</KEYWORD3>\r
+                       <KEYWORD3>x-slow</KEYWORD3>\r
+                       <KEYWORD3>slow</KEYWORD3>\r
+                       <KEYWORD3>fast</KEYWORD3>\r
+                       <KEYWORD3>x-fast</KEYWORD3>\r
+                       <KEYWORD3>faster</KEYWORD3>\r
+                       <KEYWORD3>slower</KEYWORD3>\r
+                       <KEYWORD3>underline</KEYWORD3>\r
+                       <KEYWORD3>overline</KEYWORD3>\r
+                       <KEYWORD3>line-through</KEYWORD3>\r
+                       <KEYWORD3>blink</KEYWORD3>\r
+                       <KEYWORD3>capitalize</KEYWORD3>\r
+                       <KEYWORD3>uppercase</KEYWORD3>\r
+                       <KEYWORD3>lowercase</KEYWORD3>\r
+                       <KEYWORD3>embed</KEYWORD3>\r
+                       <KEYWORD3>bidi-override</KEYWORD3>\r
+                       <KEYWORD3>baseline</KEYWORD3>\r
+                       <KEYWORD3>sub</KEYWORD3>\r
+                       <KEYWORD3>super</KEYWORD3>\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>text-top</KEYWORD3>\r
+                       <KEYWORD3>middle</KEYWORD3>\r
+                       <KEYWORD3>bottom</KEYWORD3>\r
+                       <KEYWORD3>text-bottom</KEYWORD3>\r
+                       <KEYWORD3>visible</KEYWORD3>\r
+                       <KEYWORD3>hidden</KEYWORD3>\r
+                       <KEYWORD3>collapse</KEYWORD3>\r
+                       <KEYWORD3>soft</KEYWORD3>\r
+                       <KEYWORD3>loud</KEYWORD3>\r
+                       <KEYWORD3>x-loud</KEYWORD3>\r
+                       <KEYWORD3>pre</KEYWORD3>\r
+                       <KEYWORD3>nowrap</KEYWORD3>\r
+                       <KEYWORD3>dotted</KEYWORD3>\r
+                       <KEYWORD3>dashed</KEYWORD3>\r
+                       <KEYWORD3>solid</KEYWORD3>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD3>groove</KEYWORD3>\r
+                       <KEYWORD3>ridge</KEYWORD3>\r
+                       <KEYWORD3>inset</KEYWORD3>\r
+                       <KEYWORD3>outset</KEYWORD3>\r
+                       <KEYWORD3>once</KEYWORD3>\r
+                       <KEYWORD3>both</KEYWORD3>\r
+                       <KEYWORD3>silent</KEYWORD3>\r
+                       <KEYWORD3>medium</KEYWORD3>\r
+                       <KEYWORD3>mix</KEYWORD3>\r
+                       <KEYWORD3>male</KEYWORD3>\r
+                       <KEYWORD3>female</KEYWORD3>\r
+                       <KEYWORD3>child</KEYWORD3>\r
+                       <KEYWORD3>code</KEYWORD3>\r
+\r
+                       <!-- measurement units -->\r
+                       <KEYWORD3>left-side</KEYWORD3>\r
+                       <KEYWORD3>far-left</KEYWORD3>\r
+                       <KEYWORD3>center-left</KEYWORD3>\r
+                       <KEYWORD3>center</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>center-right</KEYWORD3>\r
+                       <KEYWORD3>far-right</KEYWORD3>\r
+                       <KEYWORD3>right-side</KEYWORD3>\r
+                       <KEYWORD3>justify</KEYWORD3>\r
+                       <KEYWORD3>behind</KEYWORD3>\r
+                       <KEYWORD3>leftwards</KEYWORD3>\r
+                       <KEYWORD3>rightwards</KEYWORD3>\r
+                       <KEYWORD3>inherit</KEYWORD3>\r
+                       <KEYWORD3>scroll</KEYWORD3>\r
+                       <KEYWORD3>fixed</KEYWORD3>\r
+                       <KEYWORD3>transparent</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>repeat</KEYWORD3>\r
+                       <KEYWORD3>repeat-x</KEYWORD3>\r
+                       <KEYWORD3>repeat-y</KEYWORD3>\r
+                       <KEYWORD3>no-repeat</KEYWORD3>\r
+                       <KEYWORD3>collapse</KEYWORD3>\r
+                       <KEYWORD3>separate</KEYWORD3>\r
+                       <KEYWORD3>auto</KEYWORD3>\r
+                       <KEYWORD3>open-quote</KEYWORD3>\r
+                       <KEYWORD3>close-quote</KEYWORD3>\r
+                       <KEYWORD3>no-open-quote</KEYWORD3>\r
+                       <KEYWORD3>no-close-quote</KEYWORD3>\r
+                       <KEYWORD3>cue-before</KEYWORD3>\r
+                       <KEYWORD3>cue-after</KEYWORD3>\r
+                       <KEYWORD3>crosshair</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>pointer</KEYWORD3>\r
+                       <KEYWORD3>move</KEYWORD3>\r
+                       <KEYWORD3>e-resize</KEYWORD3>\r
+                       <KEYWORD3>ne-resize</KEYWORD3>\r
+                       <KEYWORD3>nw-resize</KEYWORD3>\r
+                       <KEYWORD3>n-resize</KEYWORD3>\r
+                       <KEYWORD3>se-resize</KEYWORD3>\r
+                       <KEYWORD3>sw-resize</KEYWORD3>\r
+                       <KEYWORD3>s-resize</KEYWORD3>\r
+                       <KEYWORD3>w-resize</KEYWORD3>\r
+                       <KEYWORD3>text</KEYWORD3>\r
+                       <KEYWORD3>wait</KEYWORD3>\r
+                       <KEYWORD3>help</KEYWORD3>\r
+                       <KEYWORD3>ltr</KEYWORD3>\r
+                       <KEYWORD3>rtl</KEYWORD3>\r
+                       <KEYWORD3>inline</KEYWORD3>\r
+                       <KEYWORD3>block</KEYWORD3>\r
+                       <KEYWORD3>list-item</KEYWORD3>\r
+                       <KEYWORD3>run-in</KEYWORD3>\r
+                       <KEYWORD3>compact</KEYWORD3>\r
+                       <KEYWORD3>marker</KEYWORD3>\r
+                       <KEYWORD3>table</KEYWORD3>\r
+                       <KEYWORD3>inline-table</KEYWORD3>\r
+                       <KEYWORD3>inline-block</KEYWORD3>\r
+                       <KEYWORD3>table-row-group</KEYWORD3>\r
+                       <KEYWORD3>table-header-group</KEYWORD3>\r
+                       <KEYWORD3>table-footer-group</KEYWORD3>\r
+                       <KEYWORD3>table-row</KEYWORD3>\r
+                       <KEYWORD3>table-column-group</KEYWORD3>\r
+                       <KEYWORD3>table-column</KEYWORD3>\r
+                       <KEYWORD3>table-cell</KEYWORD3>\r
+                       <KEYWORD3>table-caption</KEYWORD3>\r
+\r
+                       <!-- Colors -->\r
+                       <KEYWORD4>aliceblue</KEYWORD4>\r
+                       <KEYWORD4>antiquewhite</KEYWORD4>\r
+                       <KEYWORD4>aqua</KEYWORD4>\r
+                       <KEYWORD4>aquamarine</KEYWORD4>\r
+                       <KEYWORD4>azure</KEYWORD4>\r
+                       <KEYWORD4>beige</KEYWORD4>\r
+                       <KEYWORD4>bisque</KEYWORD4>\r
+                       <KEYWORD4>black</KEYWORD4>\r
+                       <KEYWORD4>blanchedalmond</KEYWORD4>\r
+                       <KEYWORD4>blue</KEYWORD4>\r
+                       <KEYWORD4>blueviolet</KEYWORD4>\r
+                       <KEYWORD4>brown</KEYWORD4>\r
+                       <KEYWORD4>burlywood</KEYWORD4>\r
+                       <KEYWORD4>cadetblue</KEYWORD4>\r
+                       <KEYWORD4>chartreuse</KEYWORD4>\r
+                       <KEYWORD4>chocolate</KEYWORD4>\r
+                       <KEYWORD4>coral</KEYWORD4>\r
+                       <KEYWORD4>cornflowerblue</KEYWORD4>\r
+                       <KEYWORD4>cornsilk</KEYWORD4>\r
+                       <KEYWORD4>crimson</KEYWORD4>\r
+                       <KEYWORD4>cyan</KEYWORD4>\r
+                       <KEYWORD4>darkblue</KEYWORD4>\r
+                       <KEYWORD4>darkcyan</KEYWORD4>\r
+                       <KEYWORD4>darkgoldenrod</KEYWORD4>\r
+                       <KEYWORD4>darkgray</KEYWORD4>\r
+                       <KEYWORD4>darkgreen</KEYWORD4>\r
+                       <KEYWORD4>darkgrey</KEYWORD4>\r
+                       <KEYWORD4>darkkhaki</KEYWORD4>\r
+                       <KEYWORD4>darkmagenta</KEYWORD4>\r
+                       <KEYWORD4>darkolivegreen</KEYWORD4>\r
+                       <KEYWORD4>darkorange</KEYWORD4>\r
+                       <KEYWORD4>darkorchid</KEYWORD4>\r
+                       <KEYWORD4>darkred</KEYWORD4>\r
+                       <KEYWORD4>darksalmon</KEYWORD4>\r
+                       <KEYWORD4>darkseagreen</KEYWORD4>\r
+                       <KEYWORD4>darkslateblue</KEYWORD4>\r
+                       <KEYWORD4>darkslategray</KEYWORD4>\r
+                       <KEYWORD4>darkslategrey</KEYWORD4>\r
+                       <KEYWORD4>darkturquoise</KEYWORD4>\r
+                       <KEYWORD4>darkviolet</KEYWORD4>\r
+                       <KEYWORD4>darkpink</KEYWORD4>\r
+                       <KEYWORD4>deepskyblue</KEYWORD4>\r
+                       <KEYWORD4>dimgray</KEYWORD4>\r
+                       <KEYWORD4>dimgrey</KEYWORD4>\r
+                       <KEYWORD4>dodgerblue</KEYWORD4>\r
+                       <KEYWORD4>firebrick</KEYWORD4>\r
+                       <KEYWORD4>floralwhite</KEYWORD4>\r
+                       <KEYWORD4>forestgreen</KEYWORD4>\r
+                       <KEYWORD4>fushia</KEYWORD4>\r
+                       <KEYWORD4>gainsboro</KEYWORD4>\r
+                       <KEYWORD4>ghostwhite</KEYWORD4>\r
+                       <KEYWORD4>gold</KEYWORD4>\r
+                       <KEYWORD4>goldenrod</KEYWORD4>\r
+                       <KEYWORD4>gray</KEYWORD4>\r
+                       <KEYWORD4>green</KEYWORD4>\r
+                       <KEYWORD4>greenyellow</KEYWORD4>\r
+                       <KEYWORD4>grey</KEYWORD4>\r
+                       <KEYWORD4>honeydew</KEYWORD4>\r
+                       <KEYWORD4>hotpink</KEYWORD4>\r
+                       <KEYWORD4>indianred</KEYWORD4>\r
+                       <KEYWORD4>indigo</KEYWORD4>\r
+                       <KEYWORD4>ivory</KEYWORD4>\r
+                       <KEYWORD4>khaki</KEYWORD4>\r
+                       <KEYWORD4>lavender</KEYWORD4>\r
+                       <KEYWORD4>lavenderblush</KEYWORD4>\r
+                       <KEYWORD4>lawngreen</KEYWORD4>\r
+                       <KEYWORD4>lemonchiffon</KEYWORD4>\r
+                       <KEYWORD4>lightblue</KEYWORD4>\r
+                       <KEYWORD4>lightcoral</KEYWORD4>\r
+                       <KEYWORD4>lightcyan</KEYWORD4>\r
+                       <KEYWORD4>lightgoldenrodyellow</KEYWORD4>\r
+                       <KEYWORD4>lightgray</KEYWORD4>\r
+                       <KEYWORD4>lightgreen</KEYWORD4>\r
+                       <KEYWORD4>lightgrey</KEYWORD4>\r
+                       <KEYWORD4>lightpink</KEYWORD4>\r
+                       <KEYWORD4>lightsalmon</KEYWORD4>\r
+                       <KEYWORD4>lightseagreen</KEYWORD4>\r
+                       <KEYWORD4>lightskyblue</KEYWORD4>\r
+                       <KEYWORD4>lightslategray</KEYWORD4>\r
+                       <KEYWORD4>lightslategrey</KEYWORD4>\r
+                       <KEYWORD4>lightsteelblue</KEYWORD4>\r
+                       <KEYWORD4>lightyellow</KEYWORD4>\r
+                       <KEYWORD4>lime</KEYWORD4>\r
+                       <KEYWORD4>limegreen</KEYWORD4>\r
+                       <KEYWORD4>linen</KEYWORD4>\r
+                       <KEYWORD4>magenta</KEYWORD4>\r
+                       <KEYWORD4>maroon</KEYWORD4>\r
+                       <KEYWORD4>mediumaquamarine</KEYWORD4>\r
+                       <KEYWORD4>mediumblue</KEYWORD4>\r
+                       <KEYWORD4>mediumorchid</KEYWORD4>\r
+                       <KEYWORD4>mediumpurple</KEYWORD4>\r
+                       <KEYWORD4>mediumseagreen</KEYWORD4>\r
+                       <KEYWORD4>mediumslateblue</KEYWORD4>\r
+                       <KEYWORD4>mediumspringgreen</KEYWORD4>\r
+                       <KEYWORD4>mediumturquoise</KEYWORD4>\r
+                       <KEYWORD4>mediumvioletred</KEYWORD4>\r
+                       <KEYWORD4>midnightblue</KEYWORD4>\r
+                       <KEYWORD4>mintcream</KEYWORD4>\r
+                       <KEYWORD4>mistyrose</KEYWORD4>\r
+                       <KEYWORD4>mocassin</KEYWORD4>\r
+                       <KEYWORD4>navawhite</KEYWORD4>\r
+                       <KEYWORD4>navy</KEYWORD4>\r
+                       <KEYWORD4>oldlace</KEYWORD4>\r
+                       <KEYWORD4>olive</KEYWORD4>\r
+                       <KEYWORD4>olidrab</KEYWORD4>\r
+                       <KEYWORD4>orange</KEYWORD4>\r
+                       <KEYWORD4>orangered</KEYWORD4>\r
+                       <KEYWORD4>orchid</KEYWORD4>\r
+                       <KEYWORD4>palegoldenrod</KEYWORD4>\r
+                       <KEYWORD4>palegreen</KEYWORD4>\r
+                       <KEYWORD4>paleturquoise</KEYWORD4>\r
+                       <KEYWORD4>paletvioletred</KEYWORD4>\r
+                       <KEYWORD4>papayawhip</KEYWORD4>\r
+                       <KEYWORD4>peachpuff</KEYWORD4>\r
+                       <KEYWORD4>peru</KEYWORD4>\r
+                       <KEYWORD4>pink</KEYWORD4>\r
+                       <KEYWORD4>plum</KEYWORD4>\r
+                       <KEYWORD4>powderblue</KEYWORD4>\r
+                       <KEYWORD4>purple</KEYWORD4>\r
+                       <KEYWORD4>red</KEYWORD4>\r
+                       <KEYWORD4>rosybrown</KEYWORD4>\r
+                       <KEYWORD4>royalblue</KEYWORD4>\r
+                       <KEYWORD4>saddlebrown</KEYWORD4>\r
+                       <KEYWORD4>salmon</KEYWORD4>\r
+                       <KEYWORD4>sandybrown</KEYWORD4>\r
+                       <KEYWORD4>seagreen</KEYWORD4>\r
+                       <KEYWORD4>seashell</KEYWORD4>\r
+                       <KEYWORD4>sienna</KEYWORD4>\r
+                       <KEYWORD4>silver</KEYWORD4>\r
+                       <KEYWORD4>skyblue</KEYWORD4>\r
+                       <KEYWORD4>slateblue</KEYWORD4>\r
+                       <KEYWORD4>slategray</KEYWORD4>\r
+                       <KEYWORD4>slategrey</KEYWORD4>\r
+                       <KEYWORD4>snow</KEYWORD4>\r
+                       <KEYWORD4>springgreen</KEYWORD4>\r
+                       <KEYWORD4>steelblue</KEYWORD4>\r
+                       <KEYWORD4>tan</KEYWORD4>\r
+                       <KEYWORD4>teal</KEYWORD4>\r
+                       <KEYWORD4>thistle</KEYWORD4>\r
+                       <KEYWORD4>tomato</KEYWORD4>\r
+                       <KEYWORD4>turquoise</KEYWORD4>\r
+                       <KEYWORD4>violet</KEYWORD4>\r
+                       <KEYWORD4>wheat</KEYWORD4>\r
+                       <KEYWORD4>white</KEYWORD4>\r
+                       <KEYWORD4>whitesmoke</KEYWORD4>\r
+                       <KEYWORD4>yellow</KEYWORD4>\r
+                       <KEYWORD4>yellowgreen</KEYWORD4>\r
+\r
+                       <!-- "functions", here for autocomplete: -->\r
+                       <KEYWORD1>rgb</KEYWORD1>\r
+                       <KEYWORD1>url</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="GLOBAL">\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SPAN TYPE="NULL" DELEGATE="LITERAL">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Generated content, automatic listing -->\r
+                       <KEYWORD2>content</KEYWORD2>\r
+                       <KEYWORD2>quotes</KEYWORD2>\r
+                       <KEYWORD2>counter-reset</KEYWORD2>\r
+                       <KEYWORD2>counter-increment</KEYWORD2>\r
+                       <KEYWORD2>marker-offset</KEYWORD2>\r
+                       <KEYWORD2>list-style</KEYWORD2>\r
+                       <KEYWORD2>list-style-image</KEYWORD2>\r
+                       <KEYWORD2>list-style-position</KEYWORD2>\r
+                       <KEYWORD2>list-style-type</KEYWORD2>\r
+\r
+                       <KEYWORD2>@import</KEYWORD2>\r
+                       <KEYWORD2>@media</KEYWORD2>\r
+                       <KEYWORD2>@page</KEYWORD2>\r
+                       <KEYWORD2>@font-face</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
+\r
+\r
diff --git a/basis/xmode/modes/csv.xml b/basis/xmode/modes/csv.xml
new file mode 100644 (file)
index 0000000..2e6c773
--- /dev/null
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+\r
+Author: Jaco de Groot\r
+Version: 2.2 20070213\r
+\r
+Comma Separated Values specification used for this mode:\r
+\r
+A file containing table data where the fields are sperated by commas. Fields\r
+containing commas (,) or newlines must be quoted (surrounded by quotes (")).\r
+Quotes in quoted fields must be escaped with two quotes.\r
+\r
+Highlighted are:\r
+- Even columns\r
+- Commas seperating values\r
+- Quotes surrounding values\r
+- Escaped quotes are highlighted.\r
+\r
+It is also possible that semicolons are used instead of commas. Therefor the\r
+first rules check if the first separator found is a comma or a semicolon and\r
+then switch to the comma or semicolon rules.\r
+\r
+-->\r
+\r
+<MODE>\r
+\r
+  <!-- Switch rules -->\r
+\r
+  <RULES>\r
+    <SEQ TYPE="MARKUP" DELEGATE="ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">,"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">;"</SEQ>\r
+    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR="," DELEGATE="COMMA_LAST_COLUMN">,(?=[^,]*$)</EOL_SPAN_REGEXP>\r
+    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR=";" DELEGATE="SEMICOLON_LAST_COLUMN">;(?=[^;]*$)</EOL_SPAN_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">,</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">;</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="ODD_QUOTED">\r
+    <SEQ TYPE="MARKUP" DELEGATE="ODD_QUOTED">""</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"(?=,[^"][^,]*$)</SEQ_REGEXP>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"(?=;[^"][^;]*$)</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">","</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">";"</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;," DELEGATE="COMMA_MAIN">",$</SEQ_REGEXP>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;;" DELEGATE="SEMICOLON_MAIN">";$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">",</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">";</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="MAIN">"$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="EVEN">"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES DEFAULT="COMMENT1" SET="EVEN">\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">,"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">;"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">,</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">;</SEQ>\r
+  </RULES>\r
+\r
+  <RULES DEFAULT="COMMENT1" SET="EVEN_QUOTED">\r
+    <SEQ TYPE="MARKUP" DELEGATE="EVEN_QUOTED">""</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">","</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">";"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">",</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">";</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="MAIN">"</SEQ>\r
+  </RULES>\r
+\r
+  <!-- Comma rules -->\r
+\r
+  <RULES SET="COMMA_MAIN">\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">,"</SEQ>\r
+    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR="," DELEGATE="COMMA_LAST_COLUMN">,(?=[^,]*$)</EOL_SPAN_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">,</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="COMMA_ODD_QUOTED">\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">""</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"(?=,[^"][^,]*$)</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">","</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;," DELEGATE="COMMA_MAIN">",$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">",</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="COMMA_EVEN" DEFAULT="COMMENT1">\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">,"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">,</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="COMMA_EVEN_QUOTED" DEFAULT="COMMENT1">\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">""</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">","</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">",</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="COMMA_LAST_COLUMN" DEFAULT="COMMENT1">\r
+  </RULES>\r
+\r
+  <!-- Semicolon rules -->\r
+\r
+  <RULES SET="SEMICOLON_MAIN">\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">;"</SEQ>\r
+    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR=";" DELEGATE="SEMICOLON_LAST_COLUMN">;(?=[^;]*$)</EOL_SPAN_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">;</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="SEMICOLON_ODD_QUOTED">\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">""</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"(?=;[^"][^;]*$)</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">";"</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;;" DELEGATE="SEMICOLON_MAIN">";$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">";</SEQ>\r
+    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"$</SEQ_REGEXP>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="SEMICOLON_EVEN" DEFAULT="COMMENT1">\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">;"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">;</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="SEMICOLON_EVEN_QUOTED" DEFAULT="COMMENT1">\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">""</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">";"</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">";</SEQ>\r
+    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">"</SEQ>\r
+  </RULES>\r
+\r
+  <RULES SET="SEMICOLON_LAST_COLUMN" DEFAULT="COMMENT1">\r
+  </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/cvs-commit.xml b/basis/xmode/modes/cvs-commit.xml
new file mode 100644 (file)
index 0000000..d89eee4
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="cvs-commit"                FILE="cvs-commit.xml"\r
+                               FILE_NAME_GLOB="cvs*.tmp"/>\r
+-->\r
+\r
+<MODE>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+               <EOL_SPAN TYPE="COMMENT1" \r
+                       DELEGATE="CHANGED" \r
+                       AT_LINE_START="TRUE"\r
+               >CVS:</EOL_SPAN>\r
+       </RULES>\r
+       <RULES SET="CHANGED" DEFAULT="COMMENT2">\r
+               <SEQ TYPE="COMMENT1" AT_LINE_START="TRUE">CVS:</SEQ>\r
+               <SEQ TYPE="KEYWORD1">Committing in</SEQ>\r
+               <SEQ TYPE="KEYWORD1">Added Files:</SEQ>\r
+               <SEQ TYPE="KEYWORD1">Modified Files:</SEQ>\r
+               <SEQ TYPE="KEYWORD1">Removed Files:</SEQ>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/d.xml b/basis/xmode/modes/d.xml
new file mode 100644 (file)
index 0000000..8b8e710
--- /dev/null
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+       <!-- Auto indent -->\r
+       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+       <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+       <PROPERTY NAME="indentNextLine"\r
+               VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+       <PROPERTY NAME="unindentThisLine"\r
+               VALUE="^.*(default:\s*|case.*:.*)$" />\r
+       <PROPERTY NAME="electricKeys" VALUE=":" />\r
+    </PROPS>\r
+\r
+    <RULES ESCAPE="\"\r
+        IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE"\r
+        DIGIT_RE="(0x[0-9a-fA-F_]+[uUlL]?|[0-9_]+(e[0-9_]*)?[uUlLdDfF]?)">\r
+\r
+        <!-- Silly comment -->\r
+        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+        <!-- Doxygen comment, Javadoc style -->\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/**</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <!-- Doxygen comment, Qt style -->\r
+        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
+            <BEGIN>/*!</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <!-- C style comment -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>/*</BEGIN>\r
+            <END>*/</END>\r
+        </SPAN>\r
+\r
+        <!-- Nested comment -->\r
+        <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">\r
+            <BEGIN>/+</BEGIN>\r
+            <END>+/</END>\r
+        </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+        <!-- Wysiwyg string literal -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">\r
+            <BEGIN>r"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <!-- Alternate Wysiwyg string literal -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">\r
+            <BEGIN>`</BEGIN>\r
+            <END>`</END>\r
+        </SPAN>\r
+        <!-- Doublequoted string literal -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <!-- Hex string literal -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>x"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <!-- Character literal -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+        <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+            AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
+\r
+        <!-- Function calls -->\r
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+        <!-- Annotation types -->\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
+\r
+        <KEYWORDS>\r
+            <KEYWORD1>abstract</KEYWORD1>\r
+            <KEYWORD3>alias</KEYWORD3>\r
+            <KEYWORD4>align</KEYWORD4>\r
+            <KEYWORD2>asm</KEYWORD2>\r
+            <KEYWORD2>assert</KEYWORD2>\r
+            <KEYWORD3>auto</KEYWORD3>\r
+            <KEYWORD3>bit</KEYWORD3>\r
+            <KEYWORD4>body</KEYWORD4>\r
+            <KEYWORD1>break</KEYWORD1>\r
+            <KEYWORD3>byte</KEYWORD3>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD3>cast</KEYWORD3>\r
+            <KEYWORD1>catch</KEYWORD1>\r
+            <KEYWORD3>cent</KEYWORD3>\r
+            <KEYWORD3>char</KEYWORD3>\r
+            <KEYWORD3>class</KEYWORD3>\r
+            <KEYWORD3>cfloat</KEYWORD3>\r
+            <KEYWORD3>cdouble</KEYWORD3>\r
+            <KEYWORD3>creal</KEYWORD3>\r
+            <INVALID>const</INVALID>\r
+            <KEYWORD1>continue</KEYWORD1>\r
+            <KEYWORD3>dchar</KEYWORD3>\r
+            <KEYWORD2>debug</KEYWORD2>\r
+            <KEYWORD1>default</KEYWORD1>\r
+            <KEYWORD4>delegate</KEYWORD4>\r
+            <KEYWORD1>delete</KEYWORD1>\r
+            <KEYWORD2>deprecated</KEYWORD2>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD3>double</KEYWORD3>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD3>enum</KEYWORD3>\r
+            <KEYWORD2>export</KEYWORD2>\r
+            <KEYWORD2>extern</KEYWORD2>\r
+            <LITERAL2>false</LITERAL2>\r
+            <KEYWORD1>final</KEYWORD1>\r
+            <KEYWORD1>finally</KEYWORD1>\r
+            <KEYWORD3>float</KEYWORD3>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>foreach</KEYWORD1>\r
+            <KEYWORD4>function</KEYWORD4>\r
+            <INVALID>goto</INVALID>\r
+            <KEYWORD3>idouble</KEYWORD3>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD3>ifloat</KEYWORD3>\r
+            <KEYWORD2>import</KEYWORD2>\r
+            <INVALID>in</INVALID>\r
+            <INVALID>inout</INVALID>\r
+            <KEYWORD3>int</KEYWORD3>\r
+            <KEYWORD2>interface</KEYWORD2>\r
+            <KEYWORD2>invariant</KEYWORD2>\r
+            <KEYWORD3>ireal</KEYWORD3>\r
+            <OPERATOR>is</OPERATOR>\r
+            <KEYWORD3>long</KEYWORD3>\r
+            <KEYWORD4>module</KEYWORD4>\r
+            <KEYWORD1>new</KEYWORD1>\r
+            <LITERAL2>null</LITERAL2>\r
+            <INVALID>out</INVALID>\r
+            <KEYWORD4>override</KEYWORD4>\r
+            <KEYWORD2>package</KEYWORD2>\r
+            <KEYWORD2>pragma</KEYWORD2>\r
+            <KEYWORD1>private</KEYWORD1>\r
+            <KEYWORD1>protected</KEYWORD1>\r
+            <KEYWORD1>public</KEYWORD1>\r
+            <KEYWORD3>real</KEYWORD3>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD3>short</KEYWORD3>\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <KEYWORD3>struct</KEYWORD3>\r
+            <LITERAL2>super</LITERAL2>\r
+            <KEYWORD1>switch</KEYWORD1>\r
+            <KEYWORD1>synchronized</KEYWORD1>\r
+            <KEYWORD3>template</KEYWORD3>\r
+            <LITERAL2>this</LITERAL2>\r
+            <KEYWORD1>throw</KEYWORD1>\r
+            <LITERAL2>true</LITERAL2>\r
+            <KEYWORD1>try</KEYWORD1>\r
+            <KEYWORD3>typedef</KEYWORD3>\r
+            <KEYWORD1>typeof</KEYWORD1>\r
+            <KEYWORD3>ubyte</KEYWORD3>\r
+            <KEYWORD3>ucent</KEYWORD3>\r
+            <KEYWORD3>uint</KEYWORD3>\r
+            <KEYWORD3>ulong</KEYWORD3>\r
+            <KEYWORD3>union</KEYWORD3>\r
+            <KEYWORD2>unittest</KEYWORD2>\r
+            <KEYWORD3>ushort</KEYWORD3>\r
+            <KEYWORD2>version</KEYWORD2>\r
+            <KEYWORD3>void</KEYWORD3>\r
+            <KEYWORD1>volatile</KEYWORD1>\r
+            <KEYWORD3>wchar</KEYWORD3>\r
+            <KEYWORD1>while</KEYWORD1>\r
+            <KEYWORD2>with</KEYWORD2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+    <RULES SET="NESTED_COMMENT" DEFAULT="COMMENT1" ESCAPE="\">\r
+        <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">\r
+            <BEGIN>/+</BEGIN>\r
+            <END>+/</END>\r
+        </SPAN>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/django.xml b/basis/xmode/modes/django.xml
new file mode 100644 (file)
index 0000000..e9162d5
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="{% comment %}" />\r
+               <PROPERTY NAME="commentEnd" VALUE="{% endcomment %}" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <IMPORT DELEGATE="html::MAIN"/>\r
+\r
+               <SPAN TYPE="COMMENT3">\r
+                       <BEGIN>{% comment %}</BEGIN>\r
+                       <END>{% endcomment %}</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="DJANGO_BLOCK">\r
+                       <BEGIN>{%</BEGIN>\r
+                       <END>%}</END>\r
+               </SPAN>\r
+               <!-- variable -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="DJANGO_VARIABLE">\r
+                       <BEGIN>{{</BEGIN>\r
+                       <END>}}</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="DJANGO_VARIABLE" DEFAULT="LITERAL4">\r
+               <IMPORT DELEGATE="DJANGO_CORE"/>\r
+       </RULES>\r
+\r
+       <RULES SET="DJANGO_BLOCK" DEFAULT="LITERAL4">\r
+               <IMPORT DELEGATE="DJANGO_CORE"/>\r
+               <KEYWORDS>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>block</KEYWORD1>\r
+                       <KEYWORD1>blocktrans</KEYWORD1>\r
+                       <KEYWORD1>by</KEYWORD1>\r
+                       <KEYWORD1>endblock</KEYWORD1>\r
+                       <KEYWORD1>endblocktrans</KEYWORD1>\r
+                       <KEYWORD1>comment</KEYWORD1>\r
+                       <KEYWORD1>endcomment</KEYWORD1>\r
+                       <KEYWORD1>cycle</KEYWORD1>\r
+                       <KEYWORD1>date</KEYWORD1>\r
+                       <KEYWORD1>debug</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>filter</KEYWORD1>\r
+                       <KEYWORD1>endfilter</KEYWORD1>\r
+                       <KEYWORD1>firstof</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>endfor</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>endif</KEYWORD1>\r
+                       <KEYWORD1>ifchanged</KEYWORD1>\r
+                       <KEYWORD1>endifchanged</KEYWORD1>\r
+                       <KEYWORD1>ifnotequal</KEYWORD1>\r
+                       <KEYWORD1>endifnotequal</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>load</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>now</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>parsed</KEYWORD1>\r
+                       <KEYWORD1>regroup</KEYWORD1>\r
+                       <KEYWORD1>ssi</KEYWORD1>\r
+                       <KEYWORD1>trans</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>widthratio</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="DJANGO_CORE">\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <KEYWORDS>\r
+                       <LITERAL3>openblock</LITERAL3>\r
+                       <LITERAL3>closeblock</LITERAL3>\r
+                       <LITERAL3>openvariable</LITERAL3>\r
+                       <LITERAL3>closevariable</LITERAL3>\r
+\r
+                       <FUNCTION>add</FUNCTION>\r
+                       <FUNCTION>addslashes</FUNCTION>\r
+                       <FUNCTION>capfirst</FUNCTION>\r
+                       <FUNCTION>center</FUNCTION>\r
+                       <FUNCTION>cut</FUNCTION>\r
+                       <FUNCTION>date</FUNCTION>\r
+                       <FUNCTION>default</FUNCTION>\r
+                       <FUNCTION>dictsort</FUNCTION>\r
+                       <FUNCTION>dictsortreversed</FUNCTION>\r
+                       <FUNCTION>divisibleby</FUNCTION>\r
+                       <FUNCTION>escape</FUNCTION>\r
+                       <FUNCTION>filesizeformat</FUNCTION>\r
+                       <FUNCTION>first</FUNCTION>\r
+                       <FUNCTION>fix_ampersands</FUNCTION>\r
+                       <FUNCTION>floatformat</FUNCTION>\r
+                       <FUNCTION>get_digit</FUNCTION>\r
+                       <FUNCTION>join</FUNCTION>\r
+                       <FUNCTION>length</FUNCTION>\r
+                       <FUNCTION>length_is</FUNCTION>\r
+                       <FUNCTION>linebreaks</FUNCTION>\r
+                       <FUNCTION>linebreaksbr</FUNCTION>\r
+                       <FUNCTION>linenumbers</FUNCTION>\r
+                       <FUNCTION>ljust</FUNCTION>\r
+                       <FUNCTION>lower</FUNCTION>\r
+                       <FUNCTION>make_list</FUNCTION>\r
+                       <FUNCTION>phone2numeric</FUNCTION>\r
+                       <FUNCTION>pluralize</FUNCTION>\r
+                       <FUNCTION>pprint</FUNCTION>\r
+                       <FUNCTION>random</FUNCTION>\r
+                       <FUNCTION>removetags</FUNCTION>\r
+                       <FUNCTION>rjust</FUNCTION>\r
+                       <FUNCTION>slice</FUNCTION>\r
+                       <FUNCTION>slugify</FUNCTION>\r
+                       <FUNCTION>stringformat</FUNCTION>\r
+                       <FUNCTION>striptags</FUNCTION>\r
+                       <FUNCTION>time</FUNCTION>\r
+                       <FUNCTION>timesince</FUNCTION>\r
+                       <FUNCTION>title</FUNCTION>\r
+                       <FUNCTION>truncatewords</FUNCTION>\r
+                       <FUNCTION>unordered_list</FUNCTION>\r
+                       <FUNCTION>upper</FUNCTION>\r
+                       <FUNCTION>urlencode</FUNCTION>\r
+                       <FUNCTION>urlize</FUNCTION>\r
+                       <FUNCTION>urlizetrunc</FUNCTION>\r
+                       <FUNCTION>wordcount</FUNCTION>\r
+                       <FUNCTION>wordwrap</FUNCTION>\r
+                       <FUNCTION>yesno</FUNCTION>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/doxygen.xml b/basis/xmode/modes/doxygen.xml
new file mode 100644 (file)
index 0000000..a1e448a
--- /dev/null
@@ -0,0 +1,313 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="lineComment" VALUE="#" />\r
+    </PROPS>\r
+    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+        <!-- Comment -->\r
+        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+        <MARK_PREVIOUS TYPE="KEYWORD1"\r
+            AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
+        <MARK_PREVIOUS TYPE="KEYWORD1"\r
+            AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">+=</MARK_PREVIOUS>\r
+\r
+        <!-- Literals -->\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>`</BEGIN>\r
+            <END>`</END>\r
+        </SPAN>\r
+        <KEYWORDS>\r
+            <KEYWORD2>YES</KEYWORD2>\r
+            <KEYWORD3>NO</KEYWORD3>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <RULES SET="DOXYGEN" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
+        <!-- so that *@param is highlighted -->\r
+        <SEQ TYPE="COMMENT3">*</SEQ>\r
+\r
+        <!-- HTML comments -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>&lt;!--</BEGIN>\r
+            <END>--&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- Doxygen allows this -->\r
+        <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
+        <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
+        <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
+\r
+        <!-- HTML tags -->\r
+        <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
+            NO_LINE_BREAK="TRUE">\r
+            <BEGIN>&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <KEYWORDS>\r
+            <LABEL>\a</LABEL>\r
+            <LABEL>\addindex</LABEL>\r
+            <LABEL>\addtogroup</LABEL>\r
+            <LABEL>\anchor</LABEL>\r
+            <LABEL>\arg</LABEL>\r
+            <LABEL>\attention</LABEL>\r
+            <LABEL>\author</LABEL>\r
+            <LABEL>\b</LABEL>\r
+            <LABEL>\brief</LABEL>\r
+            <LABEL>\bug</LABEL>\r
+            <LABEL>\c</LABEL>\r
+            <LABEL>\callgraph</LABEL>\r
+            <LABEL>\category</LABEL>\r
+            <LABEL>\class</LABEL>\r
+            <LABEL>\code</LABEL>\r
+            <LABEL>\copydoc</LABEL>\r
+            <LABEL>\date</LABEL>\r
+            <LABEL>\def</LABEL>\r
+            <LABEL>\defgroup</LABEL>\r
+            <LABEL>\deprecated</LABEL>\r
+            <LABEL>\dontinclude</LABEL>\r
+            <LABEL>\dot</LABEL>\r
+            <LABEL>\dotfile</LABEL>\r
+            <LABEL>\e</LABEL>\r
+            <LABEL>\else</LABEL>\r
+            <LABEL>\elseif</LABEL>\r
+            <LABEL>\em</LABEL>\r
+            <LABEL>\endcode</LABEL>\r
+            <LABEL>\enddot</LABEL>\r
+            <LABEL>\endhtmlonly</LABEL>\r
+            <LABEL>\endif</LABEL>\r
+            <LABEL>\endlatexonly</LABEL>\r
+            <LABEL>\endlink</LABEL>\r
+            <LABEL>\endmanonly</LABEL>\r
+            <LABEL>\endverbatim</LABEL>\r
+            <LABEL>\endxmlonly</LABEL>\r
+            <LABEL>\enum</LABEL>\r
+            <LABEL>\example</LABEL>\r
+            <LABEL>\exception</LABEL>\r
+            <LABEL>\f$</LABEL>\r
+            <LABEL>\f[</LABEL>\r
+            <LABEL>\f]</LABEL>\r
+            <LABEL>\file</LABEL>\r
+            <LABEL>\fn</LABEL>\r
+            <LABEL>\hideinitializer</LABEL>\r
+            <LABEL>\htmlinclude</LABEL>\r
+            <LABEL>\htmlonly</LABEL>\r
+            <LABEL>\if</LABEL>\r
+            <LABEL>\ifnot</LABEL>\r
+            <LABEL>\image</LABEL>\r
+            <LABEL>\include</LABEL>\r
+            <LABEL>\includelineno</LABEL>\r
+            <LABEL>\ingroup</LABEL>\r
+            <LABEL>\internal</LABEL>\r
+            <LABEL>\invariant</LABEL>\r
+            <LABEL>\interface</LABEL>\r
+            <LABEL>\latexonly</LABEL>\r
+            <LABEL>\li</LABEL>\r
+            <LABEL>\line</LABEL>\r
+            <LABEL>\link</LABEL>\r
+            <LABEL>\mainpage</LABEL>\r
+            <LABEL>\manonly</LABEL>\r
+            <LABEL>\n</LABEL>\r
+            <LABEL>\name</LABEL>\r
+            <LABEL>\namespace</LABEL>\r
+            <LABEL>\nosubgrouping</LABEL>\r
+            <LABEL>\note</LABEL>\r
+            <LABEL>\overload</LABEL>\r
+            <LABEL>\p</LABEL>\r
+            <LABEL>\package</LABEL>\r
+            <LABEL>\page</LABEL>\r
+            <LABEL>\par</LABEL>\r
+            <LABEL>\paragraph</LABEL>\r
+            <LABEL>\param</LABEL>\r
+            <LABEL>\param[in]</LABEL>\r
+            <LABEL>\param[out]</LABEL>\r
+            <LABEL>\param[in,out]</LABEL>\r
+            <LABEL>\post</LABEL>\r
+            <LABEL>\pre</LABEL>\r
+            <LABEL>\private</LABEL>\r
+            <LABEL>\privatesection</LABEL>\r
+            <LABEL>\property</LABEL>\r
+            <LABEL>\protected</LABEL>\r
+            <LABEL>\protectedsection</LABEL>\r
+            <LABEL>\protocol</LABEL>\r
+            <LABEL>\public</LABEL>\r
+            <LABEL>\publicsection</LABEL>\r
+            <LABEL>\ref</LABEL>\r
+            <LABEL>\relates</LABEL>\r
+            <LABEL>\relatesalso</LABEL>\r
+            <LABEL>\remarks</LABEL>\r
+            <LABEL>\return</LABEL>\r
+            <LABEL>\retval</LABEL>\r
+            <LABEL>\sa</LABEL>\r
+            <LABEL>\section</LABEL>\r
+            <LABEL>\showinitializer</LABEL>\r
+            <LABEL>\since</LABEL>\r
+            <LABEL>\skip</LABEL>\r
+            <LABEL>\skipline</LABEL>\r
+            <LABEL>\struct</LABEL>\r
+            <LABEL>\subsection</LABEL>\r
+            <LABEL>\subsubsection</LABEL>\r
+            <LABEL>\test</LABEL>\r
+            <LABEL>\throw</LABEL>\r
+            <LABEL>\todo</LABEL>\r
+            <LABEL>\typedef</LABEL>\r
+            <LABEL>\union</LABEL>\r
+            <LABEL>\until</LABEL>\r
+            <LABEL>\var</LABEL>\r
+            <LABEL>\verbatim</LABEL>\r
+            <LABEL>\verbinclude</LABEL>\r
+            <LABEL>\version</LABEL>\r
+            <LABEL>\warning</LABEL>\r
+            <LABEL>\weakgroup</LABEL>\r
+            <LABEL>\xmlonly</LABEL>\r
+            <LABEL>\xrefitem</LABEL>\r
+            <LABEL>\$</LABEL>\r
+            <LABEL>\@</LABEL>\r
+            <LABEL>\\</LABEL>\r
+            <LABEL>\&amp;</LABEL>\r
+            <LABEL>\~</LABEL>\r
+            <LABEL>\&lt;</LABEL>\r
+            <LABEL>\&gt;</LABEL>\r
+            <LABEL>\#</LABEL>\r
+            <LABEL>\%</LABEL>\r
+            <LABEL>@a</LABEL>\r
+            <LABEL>@addindex</LABEL>\r
+            <LABEL>@addtogroup</LABEL>\r
+            <LABEL>@anchor</LABEL>\r
+            <LABEL>@arg</LABEL>\r
+            <LABEL>@attention</LABEL>\r
+            <LABEL>@author</LABEL>\r
+            <LABEL>@b</LABEL>\r
+            <LABEL>@brief</LABEL>\r
+            <LABEL>@bug</LABEL>\r
+            <LABEL>@c</LABEL>\r
+            <LABEL>@callgraph</LABEL>\r
+            <LABEL>@category</LABEL>\r
+            <LABEL>@class</LABEL>\r
+            <LABEL>@code</LABEL>\r
+            <LABEL>@copydoc</LABEL>\r
+            <LABEL>@date</LABEL>\r
+            <LABEL>@def</LABEL>\r
+            <LABEL>@defgroup</LABEL>\r
+            <LABEL>@deprecated</LABEL>\r
+            <LABEL>@dontinclude</LABEL>\r
+            <LABEL>@dot</LABEL>\r
+            <LABEL>@dotfile</LABEL>\r
+            <LABEL>@e</LABEL>\r
+            <LABEL>@else</LABEL>\r
+            <LABEL>@elseif</LABEL>\r
+            <LABEL>@em</LABEL>\r
+            <LABEL>@endcode</LABEL>\r
+            <LABEL>@enddot</LABEL>\r
+            <LABEL>@endhtmlonly</LABEL>\r
+            <LABEL>@endif</LABEL>\r
+            <LABEL>@endlatexonly</LABEL>\r
+            <LABEL>@endlink</LABEL>\r
+            <LABEL>@endmanonly</LABEL>\r
+            <LABEL>@endverbatim</LABEL>\r
+            <LABEL>@endxmlonly</LABEL>\r
+            <LABEL>@enum</LABEL>\r
+            <LABEL>@example</LABEL>\r
+            <LABEL>@exception</LABEL>\r
+            <LABEL>@f$</LABEL>\r
+            <LABEL>@f[</LABEL>\r
+            <LABEL>@f]</LABEL>\r
+            <LABEL>@file</LABEL>\r
+            <LABEL>@fn</LABEL>\r
+            <LABEL>@hideinitializer</LABEL>\r
+            <LABEL>@htmlinclude</LABEL>\r
+            <LABEL>@htmlonly</LABEL>\r
+            <LABEL>@if</LABEL>\r
+            <LABEL>@ifnot</LABEL>\r
+            <LABEL>@image</LABEL>\r
+            <LABEL>@include</LABEL>\r
+            <LABEL>@includelineno</LABEL>\r
+            <LABEL>@ingroup</LABEL>\r
+            <LABEL>@internal</LABEL>\r
+            <LABEL>@invariant</LABEL>\r
+            <LABEL>@interface</LABEL>\r
+            <LABEL>@latexonly</LABEL>\r
+            <LABEL>@li</LABEL>\r
+            <LABEL>@line</LABEL>\r
+            <LABEL>@link</LABEL>\r
+            <LABEL>@mainpage</LABEL>\r
+            <LABEL>@manonly</LABEL>\r
+            <LABEL>@n</LABEL>\r
+            <LABEL>@name</LABEL>\r
+            <LABEL>@namespace</LABEL>\r
+            <LABEL>@nosubgrouping</LABEL>\r
+            <LABEL>@note</LABEL>\r
+            <LABEL>@overload</LABEL>\r
+            <LABEL>@p</LABEL>\r
+            <LABEL>@package</LABEL>\r
+            <LABEL>@page</LABEL>\r
+            <LABEL>@par</LABEL>\r
+            <LABEL>@paragraph</LABEL>\r
+            <LABEL>@param</LABEL>\r
+            <LABEL>@param[in]</LABEL>\r
+            <LABEL>@param[out]</LABEL>\r
+            <LABEL>@param[in,out]</LABEL>\r
+            <LABEL>@post</LABEL>\r
+            <LABEL>@pre</LABEL>\r
+            <LABEL>@private</LABEL>\r
+            <LABEL>@privatesection</LABEL>\r
+            <LABEL>@property</LABEL>\r
+            <LABEL>@protected</LABEL>\r
+            <LABEL>@protectedsection</LABEL>\r
+            <LABEL>@protocol</LABEL>\r
+            <LABEL>@public</LABEL>\r
+            <LABEL>@publicsection</LABEL>\r
+            <LABEL>@ref</LABEL>\r
+            <LABEL>@relates</LABEL>\r
+            <LABEL>@relatesalso</LABEL>\r
+            <LABEL>@remarks</LABEL>\r
+            <LABEL>@return</LABEL>\r
+            <LABEL>@retval</LABEL>\r
+            <LABEL>@sa</LABEL>\r
+            <LABEL>@section</LABEL>\r
+            <LABEL>@showinitializer</LABEL>\r
+            <LABEL>@since</LABEL>\r
+            <LABEL>@skip</LABEL>\r
+            <LABEL>@skipline</LABEL>\r
+            <LABEL>@struct</LABEL>\r
+            <LABEL>@subsection</LABEL>\r
+            <LABEL>@subsubsection</LABEL>\r
+            <LABEL>@test</LABEL>\r
+            <LABEL>@throw</LABEL>\r
+            <LABEL>@todo</LABEL>\r
+            <LABEL>@typedef</LABEL>\r
+            <LABEL>@union</LABEL>\r
+            <LABEL>@until</LABEL>\r
+            <LABEL>@var</LABEL>\r
+            <LABEL>@verbatim</LABEL>\r
+            <LABEL>@verbinclude</LABEL>\r
+            <LABEL>@version</LABEL>\r
+            <LABEL>@warning</LABEL>\r
+            <LABEL>@weakgroup</LABEL>\r
+            <LABEL>@xmlonly</LABEL>\r
+            <LABEL>@xrefitem</LABEL>\r
+            <LABEL>@$</LABEL>\r
+            <LABEL>@@</LABEL>\r
+            <LABEL>@\</LABEL>\r
+            <LABEL>@&amp;</LABEL>\r
+            <LABEL>@~</LABEL>\r
+            <LABEL>@&lt;</LABEL>\r
+            <LABEL>@&gt;</LABEL>\r
+            <LABEL>@#</LABEL>\r
+            <LABEL>@%</LABEL>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/dsssl.xml b/basis/xmode/modes/dsssl.xml
new file mode 100644 (file)
index 0000000..789c5c0
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- DSSSL is the Document Style Semantics Specification Language,\r
+     used by the Jade SGML documentation generation tool -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- EOL comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- LISP stuff -->\r
+               <SEQ TYPE="NULL">'(</SEQ>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- DSSSL stuff -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>$</BEGIN>\r
+                       <END>$</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>%</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
+\r
+               <!-- DTD Entity declarations -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::ENTITY-TAGS">\r
+                       <BEGIN>&lt;!ENTITY</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CDATA sections -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
+                       <BEGIN>&lt;![CDATA[</BEGIN>\r
+                       <END>]]&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SEQ TYPE="NULL">&lt;=</SEQ>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;/style-specification</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;/style-sheet</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;style-specification</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;external-specification</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;style-sheet</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>cond</KEYWORD1>\r
+                       <KEYWORD1>define</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>lambda</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>quote</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>let*</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>list</KEYWORD1>\r
+                       <KEYWORD1>append</KEYWORD1>\r
+                       <KEYWORD1>children</KEYWORD1>\r
+                       <KEYWORD1>normalize</KEYWORD1>\r
+\r
+                       <KEYWORD2>car</KEYWORD2>\r
+                       <KEYWORD2>cdr</KEYWORD2>\r
+                       <KEYWORD2>cons</KEYWORD2>\r
+                       <KEYWORD2>node-list-first</KEYWORD2>\r
+                       <KEYWORD2>node-list-rest</KEYWORD2>\r
+\r
+                       <KEYWORD3>eq?</KEYWORD3>\r
+                       <KEYWORD3>null?</KEYWORD3>\r
+                       <KEYWORD3>pair?</KEYWORD3>\r
+                       <KEYWORD3>zero?</KEYWORD3>\r
+                       <KEYWORD3>equal?</KEYWORD3>\r
+                       <KEYWORD3>node-list-empty?</KEYWORD3>\r
+\r
+                       <FUNCTION>external-procedure</FUNCTION>\r
+                       <FUNCTION>root</FUNCTION>\r
+                       <FUNCTION>make</FUNCTION>\r
+                       <FUNCTION>process-children</FUNCTION>\r
+                       <FUNCTION>current-node</FUNCTION>\r
+                       <FUNCTION>node</FUNCTION>\r
+                       <FUNCTION>empty-sosofo</FUNCTION>\r
+                       <FUNCTION>default</FUNCTION>\r
+                       <FUNCTION>attribute-string</FUNCTION>\r
+                       <FUNCTION>select-elements</FUNCTION>\r
+                       <FUNCTION>with-mode</FUNCTION>\r
+                       <FUNCTION>literal</FUNCTION>\r
+                       <FUNCTION>process-node-list</FUNCTION>\r
+                       <FUNCTION>element</FUNCTION>\r
+                       <FUNCTION>mode</FUNCTION>\r
+                       <FUNCTION>gi</FUNCTION>\r
+                       <FUNCTION>sosofo-append</FUNCTION>\r
+                       <FUNCTION>sequence</FUNCTION>\r
+\r
+                       <LABEL>attributes:</LABEL>\r
+                       <LABEL>gi:</LABEL>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/eiffel.xml b/basis/xmode/modes/eiffel.xml
new file mode 100644 (file)
index 0000000..41ed1bd
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Eiffel mode, by Slava Pestov. Based on EiffelTokenMarker by\r
+     Artur Biesiadowski -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- some of these should be marked OPERATOR -->\r
+               <!-- <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">=</SEQ>\r
+               <SEQ TYPE="NULL">!</SEQ>\r
+               <SEQ TYPE="NULL">&gt;=</SEQ>\r
+               <SEQ TYPE="NULL">&lt;=</SEQ>\r
+               <SEQ TYPE="NULL">+</SEQ>\r
+               <SEQ TYPE="NULL">-</SEQ>\r
+               <SEQ TYPE="NULL">/</SEQ>\r
+               <SEQ TYPE="NULL">*</SEQ>\r
+               <SEQ TYPE="NULL">&gt;</SEQ>\r
+               <SEQ TYPE="NULL">&lt;</SEQ>\r
+               <SEQ TYPE="NULL">%</SEQ>\r
+               <SEQ TYPE="NULL">&amp;</SEQ>\r
+               <SEQ TYPE="NULL">|</SEQ>\r
+               <SEQ TYPE="NULL">^</SEQ>\r
+               <SEQ TYPE="NULL">~</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               <SEQ TYPE="NULL">.</SEQ>\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">?</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ> -->\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>alias</KEYWORD1>\r
+                       <KEYWORD1>all</KEYWORD1>\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>check</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>creation</KEYWORD1>\r
+                       <KEYWORD1>debug</KEYWORD1>\r
+                       <KEYWORD1>deferred</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>elseif</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>ensure</KEYWORD1>\r
+                       <KEYWORD1>expanded</KEYWORD1>\r
+                       <KEYWORD1>export</KEYWORD1>\r
+                       <KEYWORD1>external</KEYWORD1>\r
+                       <KEYWORD1>feature</KEYWORD1>\r
+                       <KEYWORD1>from</KEYWORD1>\r
+                       <KEYWORD1>frozen</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implies</KEYWORD1>\r
+                       <KEYWORD1>indexing</KEYWORD1>\r
+                       <KEYWORD1>infix</KEYWORD1>\r
+                       <KEYWORD1>inherit</KEYWORD1>\r
+                       <KEYWORD1>inspect</KEYWORD1>\r
+                       <KEYWORD1>invariant</KEYWORD1>\r
+                       <KEYWORD1>is</KEYWORD1>\r
+                       <KEYWORD1>like</KEYWORD1>\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>obsolete</KEYWORD1>\r
+                       <KEYWORD1>old</KEYWORD1>\r
+                       <KEYWORD1>once</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>prefix</KEYWORD1>\r
+                       <KEYWORD1>redefine</KEYWORD1>\r
+                       <KEYWORD1>rename</KEYWORD1>\r
+                       <KEYWORD1>require</KEYWORD1>\r
+                       <KEYWORD1>rescue</KEYWORD1>\r
+                       <KEYWORD1>retry</KEYWORD1>\r
+                       <KEYWORD1>select</KEYWORD1>\r
+                       <KEYWORD1>separate</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>undefine</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>variant</KEYWORD1>\r
+                       <KEYWORD1>when</KEYWORD1>\r
+                       <KEYWORD1>xor</KEYWORD1>\r
+\r
+                       <LITERAL2>current</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>precursor</LITERAL2>\r
+                       <LITERAL2>result</LITERAL2>\r
+                       <LITERAL2>strip</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>unique</LITERAL2>\r
+                       <LITERAL2>void</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/embperl.xml b/basis/xmode/modes/embperl.xml
new file mode 100644 (file)
index 0000000..4dcc35e
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+catalog entry:\r
+\r
+<MODE NAME="embperl"           FILE="embperl.xml"\r
+                               FILE_NAME_GLOB="*.epl"/>\r
+\r
+sidekick parser entry:\r
+mode.embperl.sidekick.parser=html\r
+\r
+xml completion entry:\r
+mode.embperl.xml.completion-info=jeditresource:/XML.jar!/xml/completion/html-complete.xml\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>[#</BEGIN>\r
+                       <END>#]</END>\r
+               </SPAN>\r
+               <!-- output result -->\r
+               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
+                       <BEGIN>[+</BEGIN>\r
+                       <END>+]</END>\r
+               </SPAN>\r
+               <!-- execute code -->\r
+               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
+                       <BEGIN>[-</BEGIN>\r
+                       <END>-]</END>\r
+               </SPAN>\r
+               <!-- control flow -->\r
+               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
+                       <BEGIN>[$</BEGIN>\r
+                       <END>$]</END>\r
+               </SPAN>\r
+               <!-- execute once -->\r
+               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
+                       <BEGIN>[!</BEGIN>\r
+                       <END>!]</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="html::MAIN"/>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/erlang.xml b/basis/xmode/modes/erlang.xml
new file mode 100644 (file)
index 0000000..eaf39e1
--- /dev/null
@@ -0,0 +1,266 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="%"/>\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
+               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="LITERAL2" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+\r
+               <SEQ_REGEXP HASH_CHAR="$"\r
+                       TYPE="LITERAL3"\r
+                       AT_WORD_START="TRUE"\r
+               >\$.\w*</SEQ_REGEXP>\r
+\r
+               <SEQ TYPE="LITERAL3">badarg</SEQ>\r
+               <SEQ TYPE="LITERAL3">nocookie</SEQ>\r
+               <SEQ TYPE="LITERAL3">false</SEQ>\r
+               <SEQ TYPE="LITERAL3">true</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">#</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <!--\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               -->\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <!-- div -->\r
+               <SEQ_REGEXP HASH_CHAR="div"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bdiv\b</SEQ_REGEXP>\r
+               <!-- rem -->\r
+               <SEQ_REGEXP HASH_CHAR="rem"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\brem\b</SEQ_REGEXP>\r
+               <!-- or -->\r
+               <SEQ_REGEXP HASH_CHAR="or"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bor\b</SEQ_REGEXP>\r
+               <!-- xor -->\r
+               <SEQ_REGEXP HASH_CHAR="xor"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bxor\b</SEQ_REGEXP>\r
+               <!-- bor -->\r
+               <SEQ_REGEXP HASH_CHAR="bor"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bbor\b</SEQ_REGEXP>\r
+               <!-- bxor -->\r
+               <SEQ_REGEXP HASH_CHAR="bxor"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bbxor\b</SEQ_REGEXP>\r
+               <!-- bsl -->\r
+               <SEQ_REGEXP HASH_CHAR="bsl"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bbsl\b</SEQ_REGEXP>\r
+               <!-- bsr -->\r
+               <SEQ_REGEXP HASH_CHAR="bsr"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bbsr\b</SEQ_REGEXP>\r
+               <!-- and -->\r
+               <SEQ_REGEXP HASH_CHAR="and"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\band\b</SEQ_REGEXP>\r
+               <!-- band -->\r
+               <SEQ_REGEXP HASH_CHAR="band"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bband\b</SEQ_REGEXP>\r
+               <!-- not -->\r
+               <SEQ_REGEXP HASH_CHAR="not"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bnot\b</SEQ_REGEXP>\r
+               <!-- bnot -->\r
+               <SEQ_REGEXP HASH_CHAR="bnot"\r
+                       TYPE="OPERATOR"\r
+                       AT_WORD_START="TRUE"\r
+               >\bbnot\b</SEQ_REGEXP>\r
+\r
+               <KEYWORDS>\r
+                       <!-- keywords -->\r
+                       <KEYWORD1>after</KEYWORD1>\r
+                       <KEYWORD1>begin</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>cond</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>fun</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>query</KEYWORD1>\r
+                       <KEYWORD1>receive</KEYWORD1>\r
+                       <KEYWORD1>when</KEYWORD1>\r
+\r
+                       <!-- built-in-functions BIFs -->\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>alive</KEYWORD2>\r
+                       <KEYWORD2>apply</KEYWORD2>\r
+                       <KEYWORD2>atom_to_list</KEYWORD2>\r
+                       <KEYWORD2>binary_to_list</KEYWORD2>\r
+                       <KEYWORD2>binary_to_term</KEYWORD2>\r
+                       <KEYWORD2>concat_binary</KEYWORD2>\r
+                       <KEYWORD2>date</KEYWORD2>\r
+                       <KEYWORD2>disconnect_node</KEYWORD2>\r
+                       <KEYWORD2>element</KEYWORD2>\r
+                       <KEYWORD2>erase</KEYWORD2>\r
+                       <KEYWORD2>exit</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>float_to_list</KEYWORD2>\r
+                       <KEYWORD2>get</KEYWORD2>\r
+                       <KEYWORD2>get_keys</KEYWORD2>\r
+                       <KEYWORD2>group_leader</KEYWORD2>\r
+                       <KEYWORD2>halt</KEYWORD2>\r
+                       <KEYWORD2>hd</KEYWORD2>\r
+                       <KEYWORD2>integer_to_list</KEYWORD2>\r
+                       <KEYWORD2>is_alive</KEYWORD2>\r
+                       <KEYWORD2>length</KEYWORD2>\r
+                       <KEYWORD2>link</KEYWORD2>\r
+                       <KEYWORD2>list_to_atom</KEYWORD2>\r
+                       <KEYWORD2>list_to_binary</KEYWORD2>\r
+                       <KEYWORD2>list_to_float</KEYWORD2>\r
+                       <KEYWORD2>list_to_integer</KEYWORD2>\r
+                       <KEYWORD2>list_to_pid</KEYWORD2>\r
+                       <KEYWORD2>list_to_tuple</KEYWORD2>\r
+                       <KEYWORD2>load_module</KEYWORD2>\r
+                       <KEYWORD2>make_ref</KEYWORD2>\r
+                       <KEYWORD2>monitor_node</KEYWORD2>\r
+                       <KEYWORD2>node</KEYWORD2>\r
+                       <KEYWORD2>nodes</KEYWORD2>\r
+                       <KEYWORD2>now</KEYWORD2>\r
+                       <KEYWORD2>open_port</KEYWORD2>\r
+                       <KEYWORD2>pid_to_list</KEYWORD2>\r
+                       <KEYWORD2>process_flag</KEYWORD2>\r
+                       <KEYWORD2>process_info</KEYWORD2>\r
+                       <KEYWORD2>process</KEYWORD2>\r
+                       <KEYWORD2>put</KEYWORD2>\r
+                       <KEYWORD2>register</KEYWORD2>\r
+                       <KEYWORD2>registered</KEYWORD2>\r
+                       <KEYWORD2>round</KEYWORD2>\r
+                       <KEYWORD2>self</KEYWORD2>\r
+                       <KEYWORD2>setelement</KEYWORD2>\r
+                       <KEYWORD2>size</KEYWORD2>\r
+                       <KEYWORD2>spawn</KEYWORD2>\r
+                       <KEYWORD2>spawn_link</KEYWORD2>\r
+                       <KEYWORD2>split_binary</KEYWORD2>\r
+                       <KEYWORD2>statistics</KEYWORD2>\r
+                       <KEYWORD2>term_to_binary</KEYWORD2>\r
+                       <KEYWORD2>throw</KEYWORD2>\r
+                       <KEYWORD2>time</KEYWORD2>\r
+                       <KEYWORD2>tl</KEYWORD2>\r
+                       <KEYWORD2>trunc</KEYWORD2>\r
+                       <KEYWORD2>tuple_to_list</KEYWORD2>\r
+                       <KEYWORD2>unlink</KEYWORD2>\r
+                       <KEYWORD2>unregister</KEYWORD2>\r
+                       <KEYWORD2>whereis</KEYWORD2>\r
+\r
+                       <!-- other BIFs -->\r
+                       <KEYWORD2>atom</KEYWORD2>\r
+                       <KEYWORD2>binary</KEYWORD2>\r
+                       <KEYWORD2>constant</KEYWORD2>\r
+                       <KEYWORD2>function</KEYWORD2>\r
+                       <KEYWORD2>integer</KEYWORD2>\r
+                       <KEYWORD2>list</KEYWORD2>\r
+                       <KEYWORD2>number</KEYWORD2>\r
+                       <KEYWORD2>pid</KEYWORD2>\r
+                       <KEYWORD2>ports</KEYWORD2>\r
+                       <KEYWORD2>port_close</KEYWORD2>\r
+                       <KEYWORD2>port_info</KEYWORD2>\r
+                       <KEYWORD2>reference</KEYWORD2>\r
+                       <KEYWORD2>record</KEYWORD2>\r
+\r
+                       <!-- erlang:BIFs -->\r
+                       <KEYWORD2>check_process_code</KEYWORD2>\r
+                       <KEYWORD2>delete_module</KEYWORD2>\r
+                       <KEYWORD2>get_cookie</KEYWORD2>\r
+                       <KEYWORD2>hash</KEYWORD2>\r
+                       <KEYWORD2>math</KEYWORD2>\r
+                       <KEYWORD2>module_loaded</KEYWORD2>\r
+                       <KEYWORD2>preloaded</KEYWORD2>\r
+                       <KEYWORD2>processes</KEYWORD2>\r
+                       <KEYWORD2>purge_module</KEYWORD2>\r
+                       <KEYWORD2>set_cookie</KEYWORD2>\r
+                       <KEYWORD2>set_node</KEYWORD2>\r
+\r
+                       <!-- math functions -->\r
+                       <KEYWORD2>acos</KEYWORD2>\r
+                       <KEYWORD2>asin</KEYWORD2>\r
+                       <KEYWORD2>atan</KEYWORD2>\r
+                       <KEYWORD2>atan2</KEYWORD2>\r
+                       <KEYWORD2>cos</KEYWORD2>\r
+                       <KEYWORD2>cosh</KEYWORD2>\r
+                       <KEYWORD2>exp</KEYWORD2>\r
+                       <KEYWORD2>log</KEYWORD2>\r
+                       <KEYWORD2>log10</KEYWORD2>\r
+                       <KEYWORD2>pi</KEYWORD2>\r
+                       <KEYWORD2>pow</KEYWORD2>\r
+                       <KEYWORD2>power</KEYWORD2>\r
+                       <KEYWORD2>sin</KEYWORD2>\r
+                       <KEYWORD2>sinh</KEYWORD2>\r
+                       <KEYWORD2>sqrt</KEYWORD2>\r
+                       <KEYWORD2>tan</KEYWORD2>\r
+                       <KEYWORD2>tanh</KEYWORD2>\r
+\r
+                       <!-- directives -->\r
+                       <KEYWORD3>-behaviour</KEYWORD3>\r
+                       <KEYWORD3>-compile</KEYWORD3>\r
+                       <KEYWORD3>-define</KEYWORD3>\r
+                       <KEYWORD3>-else</KEYWORD3>\r
+                       <KEYWORD3>-endif</KEYWORD3>\r
+                       <KEYWORD3>-export</KEYWORD3>\r
+                       <KEYWORD3>-file</KEYWORD3>\r
+                       <KEYWORD3>-ifdef</KEYWORD3>\r
+                       <KEYWORD3>-ifndef</KEYWORD3>\r
+                       <KEYWORD3>-import</KEYWORD3>\r
+                       <KEYWORD3>-include</KEYWORD3>\r
+                       <KEYWORD3>-include_lib</KEYWORD3>\r
+                       <KEYWORD3>-module</KEYWORD3>\r
+                       <KEYWORD3>-record</KEYWORD3>\r
+                       <KEYWORD3>-undef</KEYWORD3>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/factor.xml b/basis/xmode/modes/factor.xml
new file mode 100644 (file)
index 0000000..9aa545e
--- /dev/null
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="[{"/>\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="]}"/>\r
+               <PROPERTY NAME="indentNextLines" VALUE="^(:|M:|C:|PREDICATE:)[^;]*"/>\r
+               <PROPERTY NAME="unindentNextLines" VALUE="^.*;.*$"/>\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>\r
+               <PROPERTY NAME="commentStart" VALUE="("/>\r
+               <PROPERTY NAME="commentEnd" VALUE=")"/>\r
+               <PROPERTY NAME="lineComment" VALUE="!"/>\r
+               <PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|"/>\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE" ESCAPE="\" NO_WORD_SEP="+-*=&gt;&lt;;.?/'()%,_"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">\r
+               <EOL_SPAN TYPE="COMMENT2" AT_WORD_START="TRUE"\r
+                       DELEGATE="COMMENT">#! </EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE"\r
+                       DELEGATE="COMMENT">! </EOL_SPAN>\r
+\r
+               <!-- parsing words -->\r
+               <SEQ_REGEXP TYPE="MARKUP"\r
+                       HASH_CHAR="\"\r
+                       AT_WORD_START="TRUE">\\\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="MARKUP"\r
+                       HASH_CHAR=":"\r
+                       AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="MARKUP"\r
+                       HASH_CHAR="IN:"\r
+                       AT_WORD_START="TRUE">IN:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="MARKUP"\r
+                       HASH_CHAR="USE:"\r
+                       AT_WORD_START="TRUE">USE:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="LITERAL2"\r
+                       HASH_CHAR="CHAR:"\r
+                       AT_WORD_START="TRUE">CHAR:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="LITERAL2"\r
+                       HASH_CHAR="BIN:"\r
+                       AT_WORD_START="TRUE">BIN:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="LITERAL2"\r
+                       HASH_CHAR="OCT:"\r
+                       AT_WORD_START="TRUE">OCT:\s+(\S+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="LITERAL2"\r
+                       HASH_CHAR="HEX:"\r
+                       AT_WORD_START="TRUE">HEX:\s+(\S+)</SEQ_REGEXP>\r
+\r
+               <SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>( </BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
+                       DELEGATE="LITERAL">\r
+                       <BEGIN>SBUF" </BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
+                       DELEGATE="LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="MARKUP" DELEGATE="USING">\r
+                       <BEGIN>USING: </BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>&gt;r</KEYWORD1>\r
+                       <KEYWORD1>r&gt;</KEYWORD1>\r
+\r
+                       <MARKUP>;</MARKUP>\r
+\r
+                       <LITERAL3>t</LITERAL3>\r
+                       <LITERAL4>f</LITERAL4>\r
+                       \r
+                       <COMMENT2>#!</COMMENT2>\r
+                       <COMMENT1>!</COMMENT1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">\r
+               <SEQ TYPE="COMMENT3">--</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1">\r
+       </RULES>\r
+\r
+       <RULES SET="COMMENT" DEFAULT="COMMENT1">\r
+       </RULES>\r
+\r
+       <RULES SET="USING" DEFAULT="LITERAL2">\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/fhtml.xml b/basis/xmode/modes/fhtml.xml
new file mode 100644 (file)
index 0000000..68646e2
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE MODE SYSTEM "xmode.dtd">
+
+<!-- fhtml (factor+html) mode -->
+
+<MODE>
+       <PROPS>
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
+               <PROPERTY NAME="commentStart" VALUE="&lt;%#" />
+               <PROPERTY NAME="commentEnd" VALUE="%&gt;" />
+               <PROPERTY NAME="tabSize" VALUE="4" />
+               <PROPERTY NAME="noTabs" VALUE="true" />
+       </PROPS>
+       <RULES IGNORE_CASE="TRUE">
+               <SPAN TYPE="MARKUP" DELEGATE="factor::MAIN">
+                       <BEGIN>&lt;%</BEGIN>
+                       <END>%&gt;</END>
+               </SPAN>
+
+               <IMPORT DELEGATE="html::MAIN" />
+       </RULES>
+</MODE>
diff --git a/basis/xmode/modes/forth.xml b/basis/xmode/modes/forth.xml
new file mode 100644 (file)
index 0000000..450676b
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- RetroForth is one of the nicest Forth implementations, so we\r
+support that one. You can extend this to your own Forth's vocabulary\r
+easily. -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLines" VALUE="^:[^;]*" />\r
+               <PROPERTY NAME="unindentNextLines" VALUE="^.*;$" />\r
+               <PROPERTY NAME="commentStart" VALUE="(" />\r
+               <PROPERTY NAME="commentEnd" VALUE=")" />\r
+               <PROPERTY NAME="lineComment" VALUE="|" />\r
+               <PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|$" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE"\r
+               NO_WORD_SEP="+-*=&gt;&lt;;.?/'&quot;()%,_$"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="|-?\d+([./]\d+)?">\r
+\r
+               <EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE">| </EOL_SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="DIGIT" AT_WORD_START="TRUE">$</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL3" AT_WORD_START="TRUE">'</MARK_FOLLOWING>\r
+\r
+               <!-- parsing words -->\r
+               <SEQ_REGEXP TYPE="MARKUP"\r
+                       HASH_CHAR=":"\r
+                       AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>\r
+\r
+               <SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT">\r
+                       <BEGIN>( </BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
+                       AT_WORD_START="TRUE">\r
+                       <BEGIN>s"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE"\r
+                       AT_WORD_START="TRUE">\r
+                       <BEGIN>."</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="TRUE"\r
+                       AT_WORD_START="TRUE">\r
+                       <BEGIN>f"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="TRUE"\r
+                       AT_WORD_START="TRUE">\r
+                       <BEGIN>m"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL4" NO_LINE_BREAK="TRUE"\r
+                       AT_WORD_START="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <MARKUP>;</MARKUP>\r
+                       <MARKUP>;;</MARKUP>\r
+                       <MARKUP>0;</MARKUP>\r
+\r
+                       <KEYWORD1>swap</KEYWORD1>\r
+                       <KEYWORD1>drop</KEYWORD1>\r
+                       <KEYWORD1>dup</KEYWORD1>\r
+                       <KEYWORD1>nip</KEYWORD1>\r
+                       <KEYWORD1>over</KEYWORD1>\r
+                       <KEYWORD1>rot</KEYWORD1>\r
+                       <KEYWORD1>-rot</KEYWORD1>\r
+                       <KEYWORD1>2dup</KEYWORD1>\r
+                       <KEYWORD1>2drop</KEYWORD1>\r
+                       <KEYWORD1>2over</KEYWORD1>\r
+                       <KEYWORD1>2swap</KEYWORD1>\r
+                       <KEYWORD1>&gt;r</KEYWORD1>\r
+                       <KEYWORD1>r&gt;</KEYWORD1>\r
+\r
+                       <KEYWORD2>and</KEYWORD2>\r
+                       <KEYWORD2>or</KEYWORD2>\r
+                       <KEYWORD2>xor</KEYWORD2>\r
+                       <KEYWORD2>&gt;&gt;</KEYWORD2>\r
+                       <KEYWORD2>&lt;&lt;</KEYWORD2>\r
+                       <KEYWORD2>not</KEYWORD2>\r
+                       <KEYWORD2>+</KEYWORD2>\r
+                       <KEYWORD2>*</KEYWORD2>\r
+                       <KEYWORD2>negate</KEYWORD2>\r
+                       <KEYWORD2>-</KEYWORD2>\r
+                       <KEYWORD2>/</KEYWORD2>\r
+                       <KEYWORD2>mod</KEYWORD2>\r
+                       <KEYWORD2>/mod</KEYWORD2>\r
+                       <KEYWORD2>*/</KEYWORD2>\r
+                       <KEYWORD2>1+</KEYWORD2>\r
+                       <KEYWORD2>1-</KEYWORD2>\r
+                       <KEYWORD2>base</KEYWORD2>\r
+                       <KEYWORD2>hex</KEYWORD2>\r
+                       <KEYWORD2>decimal</KEYWORD2>\r
+                       <KEYWORD2>binary</KEYWORD2>\r
+                       <KEYWORD2>octal</KEYWORD2>\r
+\r
+                       <KEYWORD3>@</KEYWORD3>\r
+                       <KEYWORD3>!</KEYWORD3>\r
+                       <KEYWORD3>c@</KEYWORD3>\r
+                       <KEYWORD3>c!</KEYWORD3>\r
+                       <KEYWORD3>+!</KEYWORD3>\r
+                       <KEYWORD3>cell+</KEYWORD3>\r
+                       <KEYWORD3>cells</KEYWORD3>\r
+                       <KEYWORD3>char+</KEYWORD3>\r
+                       <KEYWORD3>chars</KEYWORD3>\r
+\r
+                       <KEYWORD4>[</KEYWORD4>\r
+                       <KEYWORD4>]</KEYWORD4>\r
+                       <KEYWORD4>create</KEYWORD4>\r
+                       <KEYWORD4>does&gt;</KEYWORD4>\r
+                       <KEYWORD4>variable</KEYWORD4>\r
+                       <KEYWORD4>variable,</KEYWORD4>\r
+                       <KEYWORD4>literal</KEYWORD4>\r
+                       <KEYWORD4>last</KEYWORD4>\r
+                       <KEYWORD4>1,</KEYWORD4>\r
+                       <KEYWORD4>2,</KEYWORD4>\r
+                       <KEYWORD4>3,</KEYWORD4>\r
+                       <KEYWORD4>,</KEYWORD4>\r
+                       <KEYWORD4>here</KEYWORD4>\r
+                       <KEYWORD4>allot</KEYWORD4>\r
+                       <KEYWORD4>parse</KEYWORD4>\r
+                       <KEYWORD4>find</KEYWORD4>\r
+                       <KEYWORD4>compile</KEYWORD4>\r
+\r
+                       <OPERATOR>if</OPERATOR>\r
+                       <OPERATOR>=if</OPERATOR>\r
+                       <OPERATOR>&lt;if</OPERATOR>\r
+                       <OPERATOR>&gt;if</OPERATOR>\r
+                       <OPERATOR>&lt;&gt;if</OPERATOR>\r
+                       <OPERATOR>then</OPERATOR>\r
+                       <OPERATOR>repeat</OPERATOR>\r
+                       <OPERATOR>until</OPERATOR>\r
+\r
+                       <OPERATOR>forth</OPERATOR>\r
+                       <OPERATOR>macro</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">\r
+               <SEQ TYPE="COMMENT3">--</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/fortran.xml b/basis/xmode/modes/fortran.xml
new file mode 100644 (file)
index 0000000..1bc2626
--- /dev/null
@@ -0,0 +1,249 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--  FORTRAN edit mode\r
+      Version $Id: fortran.xml 10573 2007-09-14 02:04:59Z ezust $\r
+-->\r
+<!-- This is a mode for FORTRAN source files.  In general, this supports\r
+common features of the F90 specification.  This may however contain some\r
+platform or vendor specific keywords (in paticular COMPAQ(Digital) FORTRAN).\r
+-->\r
+<!-- Suggested catalog file entry:\r
+\r
+<MODE NAME="FORTRAN"           FILE="FORTRAN.xml"\r
+                               FILE_NAME_GLOB="*.{f,for,fort,f77,f90}" />\r
+ -->\r
+<MODE>\r
+    <PROPS>\r
+         <!-- To get the line comment inserted correctly at line start:\r
+              use the "toggle-line-comment"-action of TextTools plugin \r
+              with the active option "Insert line comments at start of line" -->\r
+         <PROPERTY NAME="lineComment"    VALUE="C" />\r
+         \r
+         <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+         <PROPERTY NAME="indentNextLine" VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />\r
+    </PROPS>\r
+\r
+    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+<!-- In fixed form, column 72 is the last column parsed, unless the\r
+\extend_source option is invoked -->\r
+    <!-- TERMINATE AT_CHAR="72" / -->\r
+\r
+<!-- comment either !, C, or * can be used as a comment in the first column\r
+in either free or fixed form FORTRAN-->\r
+<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">C</EOL_SPAN>\r
+<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">!</EOL_SPAN>\r
+<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>\r
+<EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
+<EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">D</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+<!-- Highlighted Operators -->\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">/=</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">.lt.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.gt.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.eq.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.ne.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.le.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.ge.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.AND.</SEQ>\r
+               <SEQ TYPE="OPERATOR">.OR.</SEQ>\r
+\r
+<KEYWORDS>\r
+<!-- unclassified keywords -->\r
+<KEYWORD1>INCLUDE</KEYWORD1>\r
+<!-- Program units and calling them -->\r
+<KEYWORD1>PROGRAM</KEYWORD1>\r
+<KEYWORD1>MODULE</KEYWORD1>\r
+<KEYWORD1>SUBROUTINE</KEYWORD1>\r
+<KEYWORD1>FUNCTION</KEYWORD1>\r
+<KEYWORD1>CONTAINS</KEYWORD1>\r
+<KEYWORD1>USE</KEYWORD1>\r
+<KEYWORD1>CALL</KEYWORD1>\r
+<KEYWORD1>RETURN</KEYWORD1>\r
+<!-- data types, declaration, and allocation keywords -->\r
+<KEYWORD1>IMPLICIT</KEYWORD1>\r
+<KEYWORD1>EXPLICIT</KEYWORD1>\r
+<KEYWORD1>NONE</KEYWORD1>\r
+<KEYWORD1>DATA</KEYWORD1>\r
+<KEYWORD1>PARAMETER</KEYWORD1>\r
+<KEYWORD1>ALLOCATE</KEYWORD1>\r
+<KEYWORD1>ALLOCATABLE</KEYWORD1>\r
+<KEYWORD1>ALLOCATED</KEYWORD1>\r
+<KEYWORD1>DEALLOCATE</KEYWORD1>\r
+<KEYWORD1>INTEGER</KEYWORD1>\r
+<KEYWORD1>REAL</KEYWORD1>\r
+<KEYWORD1>DOUBLE</KEYWORD1>\r
+<KEYWORD1>PRECISION</KEYWORD1>\r
+<KEYWORD1>COMPLEX</KEYWORD1>\r
+<KEYWORD1>LOGICAL</KEYWORD1>\r
+<KEYWORD1>CHARACTER</KEYWORD1>\r
+<KEYWORD1>DIMENSION</KEYWORD1>\r
+<KEYWORD1>KIND</KEYWORD1>\r
+<!-- FORTRAN Statements -->\r
+<KEYWORD1>CASE</KEYWORD1>\r
+<KEYWORD1>SELECT</KEYWORD1>\r
+<KEYWORD1>DEFAULT</KEYWORD1>\r
+<KEYWORD1>CONTINUE</KEYWORD1>\r
+<KEYWORD1>CYCLE</KEYWORD1>\r
+<KEYWORD1>DO</KEYWORD1>\r
+<KEYWORD1>WHILE</KEYWORD1>\r
+<KEYWORD1>ELSE</KEYWORD1>\r
+<KEYWORD1>IF</KEYWORD1>\r
+<KEYWORD1>ELSEIF</KEYWORD1>\r
+<KEYWORD1>THEN</KEYWORD1>\r
+<KEYWORD1>ELSEWHERE</KEYWORD1>\r
+<KEYWORD1>END</KEYWORD1>\r
+<KEYWORD1>ENDIF</KEYWORD1>\r
+<KEYWORD1>ENDDO</KEYWORD1>\r
+<KEYWORD1>FORALL</KEYWORD1>\r
+<KEYWORD1>WHERE</KEYWORD1>\r
+<KEYWORD1>EXIT</KEYWORD1>\r
+<KEYWORD1>GOTO</KEYWORD1>\r
+<KEYWORD1>PAUSE</KEYWORD1>\r
+<KEYWORD1>STOP</KEYWORD1>\r
+<!-- i/o keywords -->\r
+<KEYWORD1>BACKSPACE</KEYWORD1>\r
+<KEYWORD1>CLOSE</KEYWORD1>\r
+<KEYWORD1>ENDFILE</KEYWORD1>\r
+<KEYWORD1>INQUIRE</KEYWORD1>\r
+<KEYWORD1>OPEN</KEYWORD1>\r
+<KEYWORD1>PRINT</KEYWORD1>\r
+<KEYWORD1>READ</KEYWORD1>\r
+<KEYWORD1>REWIND</KEYWORD1>\r
+<KEYWORD1>WRITE</KEYWORD1>\r
+<KEYWORD1>FORMAT</KEYWORD1>\r
+<!-- Type conversion and utility functions -->\r
+<KEYWORD1>AIMAG</KEYWORD1>\r
+<KEYWORD1>AINT</KEYWORD1>\r
+<KEYWORD1>AMAX0</KEYWORD1>\r
+<KEYWORD1>AMIN0</KEYWORD1>\r
+<KEYWORD1>ANINT</KEYWORD1>\r
+<KEYWORD1>CEILING</KEYWORD1>\r
+<KEYWORD1>CMPLX</KEYWORD1>\r
+<KEYWORD1>CONJG</KEYWORD1>\r
+<KEYWORD1>DBLE</KEYWORD1>\r
+<KEYWORD1>DCMPLX</KEYWORD1>\r
+<KEYWORD1>DFLOAT</KEYWORD1>\r
+<KEYWORD1>DIM</KEYWORD1>\r
+<KEYWORD1>DPROD</KEYWORD1>\r
+<KEYWORD1>FLOAT</KEYWORD1>\r
+<KEYWORD1>FLOOR</KEYWORD1>\r
+<KEYWORD1>IFIX</KEYWORD1>\r
+<KEYWORD1>IMAG</KEYWORD1>\r
+<KEYWORD1>INT</KEYWORD1>\r
+<KEYWORD1>LOGICAL</KEYWORD1>\r
+<KEYWORD1>MODULO</KEYWORD1>\r
+<KEYWORD1>NINT</KEYWORD1>\r
+<KEYWORD1>REAL</KEYWORD1>\r
+<KEYWORD1>SIGN</KEYWORD1>\r
+<KEYWORD1>SNGL</KEYWORD1>\r
+<KEYWORD1>TRANSFER</KEYWORD1>\r
+<KEYWORD1>ZEXT</KEYWORD1>\r
+<!-- More Functions -->\r
+<KEYWORD1>ABS</KEYWORD1>\r
+<KEYWORD1>ACOS</KEYWORD1>\r
+<KEYWORD1>AIMAG</KEYWORD1>\r
+<KEYWORD1>AINT</KEYWORD1>\r
+<KEYWORD1>ALOG</KEYWORD1>\r
+<KEYWORD1>ALOG10</KEYWORD1>\r
+<KEYWORD1>AMAX0</KEYWORD1>\r
+<KEYWORD1>AMAX1</KEYWORD1>\r
+<KEYWORD1>AMIN0</KEYWORD1>\r
+<KEYWORD1>AMIN1</KEYWORD1>\r
+<KEYWORD1>AMOD</KEYWORD1>\r
+<KEYWORD1>ANINT</KEYWORD1>\r
+<KEYWORD1>ASIN</KEYWORD1>\r
+<KEYWORD1>ATAN</KEYWORD1>\r
+<KEYWORD1>ATAN2</KEYWORD1>\r
+<KEYWORD1>CABS</KEYWORD1>\r
+<KEYWORD1>CCOS</KEYWORD1>\r
+<KEYWORD1>CHAR</KEYWORD1>\r
+<KEYWORD1>CLOG</KEYWORD1>\r
+<KEYWORD1>CMPLX</KEYWORD1>\r
+<KEYWORD1>CONJG</KEYWORD1>\r
+<KEYWORD1>COS</KEYWORD1>\r
+<KEYWORD1>COSH</KEYWORD1>\r
+<KEYWORD1>CSIN</KEYWORD1>\r
+<KEYWORD1>CSQRT</KEYWORD1>\r
+<KEYWORD1>DABS</KEYWORD1>\r
+<KEYWORD1>DACOS</KEYWORD1>\r
+<KEYWORD1>DASIN</KEYWORD1>\r
+<KEYWORD1>DATAN</KEYWORD1>\r
+<KEYWORD1>DATAN2</KEYWORD1>\r
+<KEYWORD1>DBLE</KEYWORD1>\r
+<KEYWORD1>DCOS</KEYWORD1>\r
+<KEYWORD1>DCOSH</KEYWORD1>\r
+<KEYWORD1>DDIM</KEYWORD1>\r
+<KEYWORD1>DEXP</KEYWORD1>\r
+<KEYWORD1>DIM</KEYWORD1>\r
+<KEYWORD1>DINT</KEYWORD1>\r
+<KEYWORD1>DLOG</KEYWORD1>\r
+<KEYWORD1>DLOG10</KEYWORD1>\r
+<KEYWORD1>DMAX1</KEYWORD1>\r
+<KEYWORD1>DMIN1</KEYWORD1>\r
+<KEYWORD1>DMOD</KEYWORD1>\r
+<KEYWORD1>DNINT</KEYWORD1>\r
+<KEYWORD1>DPROD</KEYWORD1>\r
+<KEYWORD1>DREAL</KEYWORD1>\r
+<KEYWORD1>DSIGN</KEYWORD1>\r
+<KEYWORD1>DSIN</KEYWORD1>\r
+<KEYWORD1>DSINH</KEYWORD1>\r
+<KEYWORD1>DSQRT</KEYWORD1>\r
+<KEYWORD1>DTAN</KEYWORD1>\r
+<KEYWORD1>DTANH</KEYWORD1>\r
+<KEYWORD1>EXP</KEYWORD1>\r
+<KEYWORD1>FLOAT</KEYWORD1>\r
+<KEYWORD1>IABS</KEYWORD1>\r
+<KEYWORD1>ICHAR</KEYWORD1>\r
+<KEYWORD1>IDIM</KEYWORD1>\r
+<KEYWORD1>IDINT</KEYWORD1>\r
+<KEYWORD1>IDNINT</KEYWORD1>\r
+<KEYWORD1>IFIX</KEYWORD1>\r
+<KEYWORD1>INDEX</KEYWORD1>\r
+<KEYWORD1>INT</KEYWORD1>\r
+<KEYWORD1>ISIGN</KEYWORD1>\r
+<KEYWORD1>LEN</KEYWORD1>\r
+<KEYWORD1>LGE</KEYWORD1>\r
+<KEYWORD1>LGT</KEYWORD1>\r
+<KEYWORD1>LLE</KEYWORD1>\r
+<KEYWORD1>LLT</KEYWORD1>\r
+<KEYWORD1>LOG</KEYWORD1>\r
+<KEYWORD1>LOG10</KEYWORD1>\r
+<KEYWORD1>MAX</KEYWORD1>\r
+<KEYWORD1>MAX0</KEYWORD1>\r
+<KEYWORD1>MAX1</KEYWORD1>\r
+<KEYWORD1>MIN</KEYWORD1>\r
+<KEYWORD1>MIN0</KEYWORD1>\r
+<KEYWORD1>MIN1</KEYWORD1>\r
+<KEYWORD1>MOD</KEYWORD1>\r
+<KEYWORD1>NINT</KEYWORD1>\r
+<KEYWORD1>REAL</KEYWORD1>\r
+<KEYWORD1>SIGN</KEYWORD1>\r
+<KEYWORD1>SIN</KEYWORD1>\r
+<KEYWORD1>SINH</KEYWORD1>\r
+<KEYWORD1>SNGL</KEYWORD1>\r
+<KEYWORD1>SQRT</KEYWORD1>\r
+<KEYWORD1>TAN</KEYWORD1>\r
+<KEYWORD1>TANH</KEYWORD1>\r
+<!-- logical values -->\r
+<KEYWORD1>.false.</KEYWORD1>\r
+<KEYWORD1>.true.</KEYWORD1>\r
+\r
+</KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/foxpro.xml b/basis/xmode/modes/foxpro.xml
new file mode 100644 (file)
index 0000000..b49b233
--- /dev/null
@@ -0,0 +1,1858 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <!-- Created by Matthew J. Price (Matt@SoWaky.com) -->\r
+       <PROPS>\r
+               <PROPERTY NAME="blockComment" VALUE="&amp;&amp;" />\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|do\swhile|do\scase|try)\s*\(|else\s*|elseif\s*\|case|catch(|for\s*\(.*\))[^{;]*)" />\r
+\r
+               <PROPERTY NAME="lineComment" VALUE="&amp;&amp;" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- String Literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- conditional compilation -->\r
+               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#end</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#define</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#include</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Elif</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Else</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Endif</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#If</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Itsexpression</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Readclauses</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Region</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Section</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Undef</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#Wname</EOL_SPAN>\r
+\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="FALSE">&amp;&amp;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_WHITESPACE_END="TRUE">*</EOL_SPAN>\r
+\r
+               <!-- Comparison operators -->\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <!-- See in keywords: is -->\r
+\r
+               <!-- Arithmetic operators -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <!-- See in keywords: mod -->\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+\r
+               <!-- Concatenation operators -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+\r
+               <!-- Logical operators -->\r
+               <!-- See in keywords: and, or, not, xor, eqv -->\r
+\r
+               <!-- EOL Continuation -->\r
+               <!-- <SEQ TYPE="NULL">_</SEQ>-->\r
+               <!-- Instruction separator -->\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <FUNCTION>Function</FUNCTION>\r
+                       <FUNCTION>Procedure</FUNCTION>\r
+                       <FUNCTION>EndFunc</FUNCTION>\r
+                       <FUNCTION>EndProc</FUNCTION>\r
+\r
+                       <!-- Conditional Statements -->\r
+                       <KEYWORD3>if</KEYWORD3>\r
+                       <KEYWORD3>then</KEYWORD3>\r
+                       <KEYWORD3>else</KEYWORD3>\r
+                       <KEYWORD3>elseif</KEYWORD3>\r
+                       <KEYWORD3>select</KEYWORD3>\r
+                       <KEYWORD3>case</KEYWORD3>\r
+\r
+                       <!-- Loop Statements -->\r
+                       <!-- For..Next -->\r
+                       <KEYWORD3>for</KEYWORD3>\r
+                       <KEYWORD3>to</KEYWORD3>\r
+                       <KEYWORD3>step</KEYWORD3>\r
+                       <KEYWORD3>next</KEYWORD3>\r
+                       <!-- For Each..Next -->\r
+                       <KEYWORD3>each</KEYWORD3>\r
+                       <KEYWORD3>in</KEYWORD3>\r
+                       <!-- Do..Loop -->\r
+                       <KEYWORD3>do</KEYWORD3>\r
+                       <KEYWORD3>while</KEYWORD3>\r
+                       <KEYWORD3>until</KEYWORD3>\r
+                       <KEYWORD3>loop</KEYWORD3>\r
+                       <!-- While..Wend -->\r
+                       <KEYWORD3>wend</KEYWORD3>\r
+\r
+                       <!-- Closing, Exit Statements -->\r
+                       <KEYWORD3>exit</KEYWORD3>\r
+                       <KEYWORD3>end</KEYWORD3>\r
+                       <KEYWORD3>endif</KEYWORD3>\r
+\r
+                       <!-- Methods, Functions, Class, Properties, Variables -->\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>property</KEYWORD3>\r
+                       <KEYWORD3>get</KEYWORD3>\r
+                       <KEYWORD3>let</KEYWORD3>\r
+                       <KEYWORD3>set</KEYWORD3>\r
+\r
+                       <!-- Parameters passing -->\r
+                       <KEYWORD3>byval</KEYWORD3>\r
+                       <KEYWORD3>byref</KEYWORD3>\r
+\r
+                       <!-- Declaration -->\r
+                       <KEYWORD3>const</KEYWORD3>\r
+                       <KEYWORD3>dim</KEYWORD3>\r
+                       <KEYWORD3>redim</KEYWORD3>\r
+                       <KEYWORD3>preserve</KEYWORD3>\r
+                       <KEYWORD3>as</KEYWORD3>\r
+\r
+                       <!-- Object Assignement/Instantiation -->\r
+                       <KEYWORD3>set</KEYWORD3>\r
+                       <KEYWORD3>with</KEYWORD3>\r
+                       <KEYWORD3>new</KEYWORD3>\r
+\r
+                       <!-- Visibility -->\r
+                       <KEYWORD3>public</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>private</KEYWORD3>\r
+\r
+                       <!-- Comments -->\r
+                       <KEYWORD3>rem</KEYWORD3>\r
+\r
+                       <!-- Function Call - Dynamic Evaluation -->\r
+                       <KEYWORD3>call</KEYWORD3>\r
+                       <KEYWORD3>execute</KEYWORD3>\r
+                       <KEYWORD3>eval</KEYWORD3>\r
+\r
+                       <!-- Miscellaneous -->\r
+                       <KEYWORD3>on</KEYWORD3>\r
+                       <KEYWORD3>error</KEYWORD3>\r
+                       <KEYWORD3>goto</KEYWORD3>\r
+                       <KEYWORD3>resume</KEYWORD3>\r
+                       <KEYWORD3>option</KEYWORD3>\r
+                       <KEYWORD3>explicit</KEYWORD3>\r
+                       <KEYWORD3>erase</KEYWORD3>\r
+                       <KEYWORD3>randomize</KEYWORD3>\r
+\r
+                       <!-- Operators -->\r
+                       <!-- Comparison operators -->\r
+                       <OPERATOR>is</OPERATOR>\r
+                       <!-- Arithmetic operators -->\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <!-- Logical operators -->\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>not</OPERATOR>\r
+                       <OPERATOR>xor</OPERATOR>\r
+                       <OPERATOR>imp</OPERATOR>\r
+                       <OPERATOR>?</OPERATOR>\r
+\r
+                       <!-- Datatypes Constants/Literals -->\r
+                       <KEYWORD3>false</KEYWORD3>\r
+                       <KEYWORD3>true</KEYWORD3>\r
+                       <KEYWORD3>empty</KEYWORD3>\r
+                       <KEYWORD3>nothing</KEYWORD3>\r
+                       <KEYWORD3>null</KEYWORD3>\r
+\r
+                       <!-- FoxPro's Methods -->\r
+                       <KEYWORD3>Activate</KEYWORD3>\r
+                       <KEYWORD3>ActivateCell</KEYWORD3>\r
+                       <KEYWORD3>AddColumn</KEYWORD3>\r
+                       <KEYWORD3>AddItem</KEYWORD3>\r
+                       <KEYWORD3>AddListItem</KEYWORD3>\r
+                       <KEYWORD3>AddObject</KEYWORD3>\r
+                       <KEYWORD3>AfterCloseTables</KEYWORD3>\r
+                       <KEYWORD3>AfterDock</KEYWORD3>\r
+                       <KEYWORD3>AfterRowColChange</KEYWORD3>\r
+                       <KEYWORD3>BeforeDock</KEYWORD3>\r
+                       <KEYWORD3>BeforeOpenTables</KEYWORD3>\r
+                       <KEYWORD3>BeforeRowColChange</KEYWORD3>\r
+                       <KEYWORD3>Box</KEYWORD3>\r
+                       <KEYWORD3>Circle</KEYWORD3>\r
+                       <KEYWORD3>Clear</KEYWORD3>\r
+                       <KEYWORD3>Click</KEYWORD3>\r
+                       <KEYWORD3>CloneObject</KEYWORD3>\r
+                       <KEYWORD3>CloseEditor</KEYWORD3>\r
+                       <KEYWORD3>CloseTables</KEYWORD3>\r
+                       <KEYWORD3>Cls</KEYWORD3>\r
+                       <KEYWORD3>DblClick</KEYWORD3>\r
+                       <KEYWORD3>Deactivate</KEYWORD3>\r
+                       <KEYWORD3>Delete</KEYWORD3>\r
+                       <KEYWORD3>DeleteColumn</KEYWORD3>\r
+                       <KEYWORD3>Deleted</KEYWORD3>\r
+                       <KEYWORD3>Destroy</KEYWORD3>\r
+                       <KEYWORD3>Dock</KEYWORD3>\r
+                       <KEYWORD3>DoScroll</KEYWORD3>\r
+                       <KEYWORD3>DoVerb</KEYWORD3>\r
+                       <KEYWORD3>DownClick</KEYWORD3>\r
+                       <KEYWORD3>Drag</KEYWORD3>\r
+                       <KEYWORD3>DragDrop</KEYWORD3>\r
+                       <KEYWORD3>DragOver</KEYWORD3>\r
+                       <KEYWORD3>Draw</KEYWORD3>\r
+                       <KEYWORD3>DropDown</KEYWORD3>\r
+                       <KEYWORD3>Error</KEYWORD3>\r
+                       <KEYWORD3>ErrorMessage</KEYWORD3>\r
+                       <KEYWORD3>FormatChange</KEYWORD3>\r
+                       <KEYWORD3>GotFocus</KEYWORD3>\r
+                       <KEYWORD3>Hide</KEYWORD3>\r
+                       <KEYWORD3>IndexToItemId</KEYWORD3>\r
+                       <KEYWORD3>Init</KEYWORD3>\r
+                       <KEYWORD3>InteractiveChange</KEYWORD3>\r
+                       <KEYWORD3>ItemIdToIndex</KEYWORD3>\r
+                       <KEYWORD3>KeyPress</KEYWORD3>\r
+                       <KEYWORD3>Line</KEYWORD3>\r
+                       <KEYWORD3>Load</KEYWORD3>\r
+                       <KEYWORD3>LostFocus</KEYWORD3>\r
+                       <KEYWORD3>Message</KEYWORD3>\r
+                       <KEYWORD3>MouseDown</KEYWORD3>\r
+                       <KEYWORD3>MouseMove</KEYWORD3>\r
+                       <KEYWORD3>MouseUp</KEYWORD3>\r
+                       <KEYWORD3>Move</KEYWORD3>\r
+                       <KEYWORD3>Moved</KEYWORD3>\r
+                       <KEYWORD3>OpenEditor</KEYWORD3>\r
+                       <KEYWORD3>OpenTables</KEYWORD3>\r
+                       <KEYWORD3>Paint</KEYWORD3>\r
+                       <KEYWORD3>Point</KEYWORD3>\r
+                       <KEYWORD3>Print</KEYWORD3>\r
+                       <KEYWORD3>ProgrammaticChange</KEYWORD3>\r
+                       <KEYWORD3>PSet</KEYWORD3>\r
+                       <KEYWORD3>QueryUnload</KEYWORD3>\r
+                       <KEYWORD3>RangeHigh</KEYWORD3>\r
+                       <KEYWORD3>RangeLow</KEYWORD3>\r
+                       <KEYWORD3>ReadActivate</KEYWORD3>\r
+                       <KEYWORD3>ReadDeactivate</KEYWORD3>\r
+                       <KEYWORD3>ReadExpression</KEYWORD3>\r
+                       <KEYWORD3>ReadMethod</KEYWORD3>\r
+                       <KEYWORD3>ReadShow</KEYWORD3>\r
+                       <KEYWORD3>ReadValid</KEYWORD3>\r
+                       <KEYWORD3>ReadWhen</KEYWORD3>\r
+                       <KEYWORD3>Refresh</KEYWORD3>\r
+                       <KEYWORD3>Release</KEYWORD3>\r
+                       <KEYWORD3>RemoveItem</KEYWORD3>\r
+                       <KEYWORD3>RemoveListItem</KEYWORD3>\r
+                       <KEYWORD3>RemoveObject</KEYWORD3>\r
+                       <KEYWORD3>Requery</KEYWORD3>\r
+                       <KEYWORD3>Reset</KEYWORD3>\r
+                       <KEYWORD3>Resize</KEYWORD3>\r
+                       <KEYWORD3>RightClick</KEYWORD3>\r
+                       <KEYWORD3>SaveAs</KEYWORD3>\r
+                       <KEYWORD3>SaveAsClass</KEYWORD3>\r
+                       <KEYWORD3>Scrolled</KEYWORD3>\r
+                       <KEYWORD3>SetAll</KEYWORD3>\r
+                       <KEYWORD3>SetFocus</KEYWORD3>\r
+                       <KEYWORD3>Show</KEYWORD3>\r
+                       <KEYWORD3>TextHeight</KEYWORD3>\r
+                       <KEYWORD3>TextWidth</KEYWORD3>\r
+                       <KEYWORD3>Timer</KEYWORD3>\r
+                       <KEYWORD3>UIEnable</KEYWORD3>\r
+                       <KEYWORD3>UnDock</KEYWORD3>\r
+                       <KEYWORD3>Unload</KEYWORD3>\r
+                       <KEYWORD3>UpClick</KEYWORD3>\r
+                       <KEYWORD3>Valid</KEYWORD3>\r
+                       <KEYWORD3>When</KEYWORD3>\r
+                       <KEYWORD3>WriteExpression</KEYWORD3>\r
+                       <KEYWORD3>WriteMethod</KEYWORD3>\r
+                       <KEYWORD3>ZOrder</KEYWORD3>\r
+                       <KEYWORD3>DataToClip</KEYWORD3>\r
+                       <KEYWORD3>DoCmd</KEYWORD3>\r
+                       <KEYWORD3>MiddleClick</KEYWORD3>\r
+                       <KEYWORD3>MouseWheel</KEYWORD3>\r
+                       <KEYWORD3>RequestData</KEYWORD3>\r
+                       <KEYWORD3>SetVar</KEYWORD3>\r
+                       <KEYWORD3>ShowWhatsThis</KEYWORD3>\r
+                       <KEYWORD3>WhatsThisMode</KEYWORD3>\r
+                       <KEYWORD3>AddProperty</KEYWORD3>\r
+                       <KEYWORD3>NewObject</KEYWORD3>\r
+                       <KEYWORD3>CommandTargetExec</KEYWORD3>\r
+                       <KEYWORD3>CommandTargetQueryStas</KEYWORD3>\r
+                       <KEYWORD3>ContainerRelease</KEYWORD3>\r
+                       <KEYWORD3>EnterFocus</KEYWORD3>\r
+                       <KEYWORD3>ExitFocus</KEYWORD3>\r
+                       <KEYWORD3>HideDoc</KEYWORD3>\r
+                       <KEYWORD3>Run</KEYWORD3>\r
+                       <KEYWORD3>ShowDoc</KEYWORD3>\r
+                       <KEYWORD3>ClearData</KEYWORD3>\r
+                       <KEYWORD3>GetData</KEYWORD3>\r
+                       <KEYWORD3>GetFormat</KEYWORD3>\r
+                       <KEYWORD3>SetData</KEYWORD3>\r
+                       <KEYWORD3>SetFormat</KEYWORD3>\r
+                       <KEYWORD3>OLECompleteDrag</KEYWORD3>\r
+                       <KEYWORD3>OLEGiveFeedback</KEYWORD3>\r
+                       <KEYWORD3>OLESetData</KEYWORD3>\r
+                       <KEYWORD3>OLEStartDrag</KEYWORD3>\r
+                       <KEYWORD3>OLEDrag</KEYWORD3>\r
+                       <KEYWORD3>OLEDragDrop</KEYWORD3>\r
+                       <KEYWORD3>OLEDragOver</KEYWORD3>\r
+                       <KEYWORD3>SetMain</KEYWORD3>\r
+                       <KEYWORD3>AfterBuild</KEYWORD3>\r
+                       <KEYWORD3>BeforeBuild</KEYWORD3>\r
+                       <KEYWORD3>QueryAddFile</KEYWORD3>\r
+                       <KEYWORD3>QueryModifyFile</KEYWORD3>\r
+                       <KEYWORD3>QueryRemoveFile</KEYWORD3>\r
+                       <KEYWORD3>QueryRunFile</KEYWORD3>\r
+                       <KEYWORD3>Add</KEYWORD3>\r
+                       <KEYWORD3>AddToSCC</KEYWORD3>\r
+                       <KEYWORD3>CheckIn</KEYWORD3>\r
+                       <KEYWORD3>CheckOut</KEYWORD3>\r
+                       <KEYWORD3>GetLatestVersion</KEYWORD3>\r
+                       <KEYWORD3>RemoveFromSCC</KEYWORD3>\r
+                       <KEYWORD3>UndoCheckOut</KEYWORD3>\r
+                       <KEYWORD3>Modify</KEYWORD3>\r
+\r
+                       <!-- FoxPro's Properties -->\r
+                       <KEYWORD3>Accelerate</KEYWORD3>\r
+                       <KEYWORD3>ActiveColumn</KEYWORD3>\r
+                       <KEYWORD3>ActiveControl</KEYWORD3>\r
+                       <KEYWORD3>ActiveForm</KEYWORD3>\r
+                       <KEYWORD3>ActiveObjectId</KEYWORD3>\r
+                       <KEYWORD3>ActivePage</KEYWORD3>\r
+                       <KEYWORD3>ActiveRow</KEYWORD3>\r
+                       <KEYWORD3>Alias</KEYWORD3>\r
+                       <KEYWORD3>Alignment</KEYWORD3>\r
+                       <KEYWORD3>AllowResize</KEYWORD3>\r
+                       <KEYWORD3>AllowTabs</KEYWORD3>\r
+                       <KEYWORD3>AlwaysOnTop</KEYWORD3>\r
+                       <KEYWORD3>ATGetColors</KEYWORD3>\r
+                       <KEYWORD3>ATListColors</KEYWORD3>\r
+                       <KEYWORD3>AutoActivate</KEYWORD3>\r
+                       <KEYWORD3>AutoCenter</KEYWORD3>\r
+                       <KEYWORD3>AutoCloseTables</KEYWORD3>\r
+                       <KEYWORD3>AutoOpenTables</KEYWORD3>\r
+                       <KEYWORD3>AutoRelease</KEYWORD3>\r
+                       <KEYWORD3>AutoSize</KEYWORD3>\r
+                       <KEYWORD3>AvailNum</KEYWORD3>\r
+                       <KEYWORD3>BackColor</KEYWORD3>\r
+                       <KEYWORD3>BackStyle</KEYWORD3>\r
+                       <KEYWORD3>BaseClass</KEYWORD3>\r
+                       <KEYWORD3>BorderColor</KEYWORD3>\r
+                       <KEYWORD3>BorderStyle</KEYWORD3>\r
+                       <KEYWORD3>BorderWidth</KEYWORD3>\r
+                       <KEYWORD3>Bound</KEYWORD3>\r
+                       <KEYWORD3>BoundColumn</KEYWORD3>\r
+                       <KEYWORD3>BrowseAlignment</KEYWORD3>\r
+                       <KEYWORD3>BrowseCellMarg</KEYWORD3>\r
+                       <KEYWORD3>BrowseDestWidth</KEYWORD3>\r
+                       <KEYWORD3>BufferMode</KEYWORD3>\r
+                       <KEYWORD3>BufferModeOverride</KEYWORD3>\r
+                       <KEYWORD3>ButtonCount</KEYWORD3>\r
+                       <KEYWORD3>ButtonIndex</KEYWORD3>\r
+                       <KEYWORD3>Buttons</KEYWORD3>\r
+                       <KEYWORD3>CanAccelerate</KEYWORD3>\r
+                       <KEYWORD3>Cancel</KEYWORD3>\r
+                       <KEYWORD3>CanGetFocus</KEYWORD3>\r
+                       <KEYWORD3>CanLoseFocus</KEYWORD3>\r
+                       <KEYWORD3>Caption</KEYWORD3>\r
+                       <KEYWORD3>ChildAlias</KEYWORD3>\r
+                       <KEYWORD3>ChildOrder</KEYWORD3>\r
+                       <KEYWORD3>Class</KEYWORD3>\r
+                       <KEYWORD3>ClassLibrary</KEYWORD3>\r
+                       <KEYWORD3>ClipControls</KEYWORD3>\r
+                       <KEYWORD3>ClipRect</KEYWORD3>\r
+                       <KEYWORD3>Closable</KEYWORD3>\r
+                       <KEYWORD3>ColorScheme</KEYWORD3>\r
+                       <KEYWORD3>ColorSource</KEYWORD3>\r
+                       <KEYWORD3>ColumnCount</KEYWORD3>\r
+                       <KEYWORD3>ColumnHeaders</KEYWORD3>\r
+                       <KEYWORD3>ColumnLines</KEYWORD3>\r
+                       <KEYWORD3>ColumnOrder</KEYWORD3>\r
+                       <KEYWORD3>Columns</KEYWORD3>\r
+                       <KEYWORD3>ColumnWidths</KEYWORD3>\r
+                       <KEYWORD3>Comment</KEYWORD3>\r
+                       <KEYWORD3>ControlBox</KEYWORD3>\r
+                       <KEYWORD3>ControlCount</KEYWORD3>\r
+                       <KEYWORD3>ControlIndex</KEYWORD3>\r
+                       <KEYWORD3>Controls</KEYWORD3>\r
+                       <KEYWORD3>ControlSource</KEYWORD3>\r
+                       <KEYWORD3>CurrentControl</KEYWORD3>\r
+                       <KEYWORD3>CurrentX</KEYWORD3>\r
+                       <KEYWORD3>CurrentY</KEYWORD3>\r
+                       <KEYWORD3>CursorSource</KEYWORD3>\r
+                       <KEYWORD3>Curvature</KEYWORD3>\r
+                       <KEYWORD3>Database</KEYWORD3>\r
+                       <KEYWORD3>DataSession</KEYWORD3>\r
+                       <KEYWORD3>DataSessionId</KEYWORD3>\r
+                       <KEYWORD3>DataSourceObj</KEYWORD3>\r
+                       <KEYWORD3>DataType</KEYWORD3>\r
+                       <KEYWORD3>Default</KEYWORD3>\r
+                       <KEYWORD3>DefButton</KEYWORD3>\r
+                       <KEYWORD3>DefButtonOrig</KEYWORD3>\r
+                       <KEYWORD3>DefHeight</KEYWORD3>\r
+                       <KEYWORD3>DefineWindows</KEYWORD3>\r
+                       <KEYWORD3>DefLeft</KEYWORD3>\r
+                       <KEYWORD3>DefTop</KEYWORD3>\r
+                       <KEYWORD3>DefWidth</KEYWORD3>\r
+                       <KEYWORD3>DeleteMark</KEYWORD3>\r
+                       <KEYWORD3>Desktop</KEYWORD3>\r
+                       <KEYWORD3>Dirty</KEYWORD3>\r
+                       <KEYWORD3>DisabledBackColor</KEYWORD3>\r
+                       <KEYWORD3>DisabledByEOF</KEYWORD3>\r
+                       <KEYWORD3>DisabledForeColor</KEYWORD3>\r
+                       <KEYWORD3>DisabledItemBackColor</KEYWORD3>\r
+                       <KEYWORD3>DisabledItemForeColor</KEYWORD3>\r
+                       <KEYWORD3>DisabledPicture</KEYWORD3>\r
+                       <KEYWORD3>DisplayValue</KEYWORD3>\r
+                       <KEYWORD3>DispPageHeight</KEYWORD3>\r
+                       <KEYWORD3>DispPageWidth</KEYWORD3>\r
+                       <KEYWORD3>Docked</KEYWORD3>\r
+                       <KEYWORD3>DockPosition</KEYWORD3>\r
+                       <KEYWORD3>DoCreate</KEYWORD3>\r
+                       <KEYWORD3>DocumentFile</KEYWORD3>\r
+                       <KEYWORD3>DownPicture</KEYWORD3>\r
+                       <KEYWORD3>DragIcon</KEYWORD3>\r
+                       <KEYWORD3>DragMode</KEYWORD3>\r
+                       <KEYWORD3>DragState</KEYWORD3>\r
+                       <KEYWORD3>DrawMode</KEYWORD3>\r
+                       <KEYWORD3>DrawStyle</KEYWORD3>\r
+                       <KEYWORD3>DrawWidth</KEYWORD3>\r
+                       <KEYWORD3>DynamicAlignment</KEYWORD3>\r
+                       <KEYWORD3>DynamicBackColor</KEYWORD3>\r
+                       <KEYWORD3>DynamicCurrentControl</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontBold</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontItalic</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontName</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontOutline</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontShadow</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontSize</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontStrikethru</KEYWORD3>\r
+                       <KEYWORD3>DynamicFontUnderline</KEYWORD3>\r
+                       <KEYWORD3>DynamicForeColor</KEYWORD3>\r
+                       <KEYWORD3>EditFlags</KEYWORD3>\r
+                       <KEYWORD3>Enabled</KEYWORD3>\r
+                       <KEYWORD3>EnabledByReadLock</KEYWORD3>\r
+                       <KEYWORD3>EnvLevel</KEYWORD3>\r
+                       <KEYWORD3>ErasePage</KEYWORD3>\r
+                       <KEYWORD3>FillColor</KEYWORD3>\r
+                       <KEYWORD3>FillStyle</KEYWORD3>\r
+                       <KEYWORD3>Filter</KEYWORD3>\r
+                       <KEYWORD3>FirstElement</KEYWORD3>\r
+                       <KEYWORD3>FontBold</KEYWORD3>\r
+                       <KEYWORD3>FontItalic</KEYWORD3>\r
+                       <KEYWORD3>FontName</KEYWORD3>\r
+                       <KEYWORD3>FontOutline</KEYWORD3>\r
+                       <KEYWORD3>FontShadow</KEYWORD3>\r
+                       <KEYWORD3>FontSize</KEYWORD3>\r
+                       <KEYWORD3>FontStrikethru</KEYWORD3>\r
+                       <KEYWORD3>FontUnderline</KEYWORD3>\r
+                       <KEYWORD3>ForceFocus</KEYWORD3>\r
+                       <KEYWORD3>ForeColor</KEYWORD3>\r
+                       <KEYWORD3>Format</KEYWORD3>\r
+                       <KEYWORD3>FormCount</KEYWORD3>\r
+                       <KEYWORD3>FormIndex</KEYWORD3>\r
+                       <KEYWORD3>FormPageCount</KEYWORD3>\r
+                       <KEYWORD3>FormPageIndex</KEYWORD3>\r
+                       <KEYWORD3>Forms</KEYWORD3>\r
+                       <KEYWORD3>FoxFont</KEYWORD3>\r
+                       <KEYWORD3>GoFirst</KEYWORD3>\r
+                       <KEYWORD3>GoLast</KEYWORD3>\r
+                       <KEYWORD3>GridLineColor</KEYWORD3>\r
+                       <KEYWORD3>GridLines</KEYWORD3>\r
+                       <KEYWORD3>GridLineWidth</KEYWORD3>\r
+                       <KEYWORD3>HalfHeightCaption</KEYWORD3>\r
+                       <KEYWORD3>HasClip</KEYWORD3>\r
+                       <KEYWORD3>HeaderGap</KEYWORD3>\r
+                       <KEYWORD3>HeaderHeight</KEYWORD3>\r
+                       <KEYWORD3>Height</KEYWORD3>\r
+                       <KEYWORD3>HelpContextID</KEYWORD3>\r
+                       <KEYWORD3>HideSelection</KEYWORD3>\r
+                       <KEYWORD3>Highlight</KEYWORD3>\r
+                       <KEYWORD3>HostName</KEYWORD3>\r
+                       <KEYWORD3>HotKey</KEYWORD3>\r
+                       <KEYWORD3>HPROJ</KEYWORD3>\r
+                       <KEYWORD3>HWnd</KEYWORD3>\r
+                       <KEYWORD3>Icon</KEYWORD3>\r
+                       <KEYWORD3>IgnoreInsert</KEYWORD3>\r
+                       <KEYWORD3>Increment</KEYWORD3>\r
+                       <KEYWORD3>IncrementalSearch</KEYWORD3>\r
+                       <KEYWORD3>InitialSelectedAlias</KEYWORD3>\r
+                       <KEYWORD3>InputMask</KEYWORD3>\r
+                       <KEYWORD3>InResize</KEYWORD3>\r
+                       <KEYWORD3>Interval</KEYWORD3>\r
+                       <KEYWORD3>ItemBackColor</KEYWORD3>\r
+                       <KEYWORD3>ItemData</KEYWORD3>\r
+                       <KEYWORD3>ItemForeColor</KEYWORD3>\r
+                       <KEYWORD3>ItemIDData</KEYWORD3>\r
+                       <KEYWORD3>JustReadLocked</KEYWORD3>\r
+                       <KEYWORD3>KeyboardHighValue</KEYWORD3>\r
+                       <KEYWORD3>KeyboardLowValue</KEYWORD3>\r
+                       <KEYWORD3>KeyPreview</KEYWORD3>\r
+                       <KEYWORD3>Left</KEYWORD3>\r
+                       <KEYWORD3>LeftColumn</KEYWORD3>\r
+                       <KEYWORD3>LineSlant</KEYWORD3>\r
+                       <KEYWORD3>LinkMaster</KEYWORD3>\r
+                       <KEYWORD3>List</KEYWORD3>\r
+                       <KEYWORD3>ListCount</KEYWORD3>\r
+                       <KEYWORD3>ListIndex</KEYWORD3>\r
+                       <KEYWORD3>ListItem</KEYWORD3>\r
+                       <KEYWORD3>ListItemId</KEYWORD3>\r
+                       <KEYWORD3>LockDataSource</KEYWORD3>\r
+                       <KEYWORD3>LockScreen</KEYWORD3>\r
+                       <KEYWORD3>Margin</KEYWORD3>\r
+                       <KEYWORD3>MaxButton</KEYWORD3>\r
+                       <KEYWORD3>MaxHeight</KEYWORD3>\r
+                       <KEYWORD3>MaxLeft</KEYWORD3>\r
+                       <KEYWORD3>MaxLength</KEYWORD3>\r
+                       <KEYWORD3>MaxTop</KEYWORD3>\r
+                       <KEYWORD3>MaxWidth</KEYWORD3>\r
+                       <KEYWORD3>MDIForm</KEYWORD3>\r
+                       <KEYWORD3>MemoWindow</KEYWORD3>\r
+                       <KEYWORD3>MinButton</KEYWORD3>\r
+                       <KEYWORD3>MinHeight</KEYWORD3>\r
+                       <KEYWORD3>MinWidth</KEYWORD3>\r
+                       <KEYWORD3>MousePointer</KEYWORD3>\r
+                       <KEYWORD3>Movable</KEYWORD3>\r
+                       <KEYWORD3>MoverBars</KEYWORD3>\r
+                       <KEYWORD3>MultiSelect</KEYWORD3>\r
+                       <KEYWORD3>Name</KEYWORD3>\r
+                       <KEYWORD3>NapTime</KEYWORD3>\r
+                       <KEYWORD3>NewIndex</KEYWORD3>\r
+                       <KEYWORD3>NewItemId</KEYWORD3>\r
+                       <KEYWORD3>NoDataOnLoad</KEYWORD3>\r
+                       <KEYWORD3>NoDefine</KEYWORD3>\r
+                       <KEYWORD3>NotifyContainer</KEYWORD3>\r
+                       <KEYWORD3>NumberOfElements</KEYWORD3>\r
+                       <KEYWORD3>OleClass</KEYWORD3>\r
+                       <KEYWORD3>OleClassId</KEYWORD3>\r
+                       <KEYWORD3>OleControlContainer</KEYWORD3>\r
+                       <KEYWORD3>OleIDispatchIncoming</KEYWORD3>\r
+                       <KEYWORD3>OleIDispatchOutgoing</KEYWORD3>\r
+                       <KEYWORD3>OleIDispInValue</KEYWORD3>\r
+                       <KEYWORD3>OleIDispOutValue</KEYWORD3>\r
+                       <KEYWORD3>OLETypeAllowed</KEYWORD3>\r
+                       <KEYWORD3>OneToMany</KEYWORD3>\r
+                       <KEYWORD3>OnResize</KEYWORD3>\r
+                       <KEYWORD3>OpenWindow</KEYWORD3>\r
+                       <KEYWORD3>PageCount</KEYWORD3>\r
+                       <KEYWORD3>PageHeight</KEYWORD3>\r
+                       <KEYWORD3>PageOrder</KEYWORD3>\r
+                       <KEYWORD3>Pages</KEYWORD3>\r
+                       <KEYWORD3>PageWidth</KEYWORD3>\r
+                       <KEYWORD3>Panel</KEYWORD3>\r
+                       <KEYWORD3>PanelLink</KEYWORD3>\r
+                       <KEYWORD3>Parent</KEYWORD3>\r
+                       <KEYWORD3>ParentAlias</KEYWORD3>\r
+                       <KEYWORD3>ParentClass</KEYWORD3>\r
+                       <KEYWORD3>Partition</KEYWORD3>\r
+                       <KEYWORD3>PasswordChar</KEYWORD3>\r
+                       <KEYWORD3>Picture</KEYWORD3>\r
+                       <KEYWORD3>ReadColors</KEYWORD3>\r
+                       <KEYWORD3>ReadCycle</KEYWORD3>\r
+                       <KEYWORD3>ReadFiller</KEYWORD3>\r
+                       <KEYWORD3>ReadLock</KEYWORD3>\r
+                       <KEYWORD3>ReadMouse</KEYWORD3>\r
+                       <KEYWORD3>ReadOnly</KEYWORD3>\r
+                       <KEYWORD3>ReadSave</KEYWORD3>\r
+                       <KEYWORD3>ReadSize</KEYWORD3>\r
+                       <KEYWORD3>ReadTimeout</KEYWORD3>\r
+                       <KEYWORD3>RecordMark</KEYWORD3>\r
+                       <KEYWORD3>RecordSource</KEYWORD3>\r
+                       <KEYWORD3>RecordSourceType</KEYWORD3>\r
+                       <KEYWORD3>Rect</KEYWORD3>\r
+                       <KEYWORD3>RelationalExpr</KEYWORD3>\r
+                       <KEYWORD3>RelativeColumn</KEYWORD3>\r
+                       <KEYWORD3>RelativeRow</KEYWORD3>\r
+                       <KEYWORD3>ReleaseErase</KEYWORD3>\r
+                       <KEYWORD3>ReleaseType</KEYWORD3>\r
+                       <KEYWORD3>ReleaseWindows</KEYWORD3>\r
+                       <KEYWORD3>Resizable</KEYWORD3>\r
+                       <KEYWORD3>RowHeight</KEYWORD3>\r
+                       <KEYWORD3>RowSource</KEYWORD3>\r
+                       <KEYWORD3>RowSourceType</KEYWORD3>\r
+                       <KEYWORD3>ScaleMode</KEYWORD3>\r
+                       <KEYWORD3>ScrollBars</KEYWORD3>\r
+                       <KEYWORD3>Selected</KEYWORD3>\r
+                       <KEYWORD3>SelectedBackColor</KEYWORD3>\r
+                       <KEYWORD3>SelectedForeColor</KEYWORD3>\r
+                       <KEYWORD3>SelectedID</KEYWORD3>\r
+                       <KEYWORD3>SelectedItemBackColor</KEYWORD3>\r
+                       <KEYWORD3>SelectedItemForeColor</KEYWORD3>\r
+                       <KEYWORD3>SelectOnEntry</KEYWORD3>\r
+                       <KEYWORD3>SelfEdit</KEYWORD3>\r
+                       <KEYWORD3>SelLength</KEYWORD3>\r
+                       <KEYWORD3>SelStart</KEYWORD3>\r
+                       <KEYWORD3>SelText</KEYWORD3>\r
+                       <KEYWORD3>ShowTips</KEYWORD3>\r
+                       <KEYWORD3>Sizable</KEYWORD3>\r
+                       <KEYWORD3>Skip</KEYWORD3>\r
+                       <KEYWORD3>SkipForm</KEYWORD3>\r
+                       <KEYWORD3>Sorted</KEYWORD3>\r
+                       <KEYWORD3>SourceType</KEYWORD3>\r
+                       <KEYWORD3>Sparse</KEYWORD3>\r
+                       <KEYWORD3>SpecialEffect</KEYWORD3>\r
+                       <KEYWORD3>SpinnerHighValue</KEYWORD3>\r
+                       <KEYWORD3>SpinnerLowValue</KEYWORD3>\r
+                       <KEYWORD3>StatusBarText</KEYWORD3>\r
+                       <KEYWORD3>Stretch</KEYWORD3>\r
+                       <KEYWORD3>Style</KEYWORD3>\r
+                       <KEYWORD3>SystemRefCount</KEYWORD3>\r
+                       <KEYWORD3>Tabhit</KEYWORD3>\r
+                       <KEYWORD3>TabIndex</KEYWORD3>\r
+                       <KEYWORD3>Tabs</KEYWORD3>\r
+                       <KEYWORD3>TabStop</KEYWORD3>\r
+                       <KEYWORD3>TabStretch</KEYWORD3>\r
+                       <KEYWORD3>Tag</KEYWORD3>\r
+                       <KEYWORD3>TerminateRead</KEYWORD3>\r
+                       <KEYWORD3>ToolTipText</KEYWORD3>\r
+                       <KEYWORD3>Top</KEYWORD3>\r
+                       <KEYWORD3>TopIndex</KEYWORD3>\r
+                       <KEYWORD3>TopItemId</KEYWORD3>\r
+                       <KEYWORD3>UnlockDataSource</KEYWORD3>\r
+                       <KEYWORD3>Value</KEYWORD3>\r
+                       <KEYWORD3>ValueDirty</KEYWORD3>\r
+                       <KEYWORD3>View</KEYWORD3>\r
+                       <KEYWORD3>Visible</KEYWORD3>\r
+                       <KEYWORD3>WasActive</KEYWORD3>\r
+                       <KEYWORD3>WasOpen</KEYWORD3>\r
+                       <KEYWORD3>Width</KEYWORD3>\r
+                       <KEYWORD3>WindowList</KEYWORD3>\r
+                       <KEYWORD3>WindowNTIList</KEYWORD3>\r
+                       <KEYWORD3>WindowState</KEYWORD3>\r
+                       <KEYWORD3>WindowType</KEYWORD3>\r
+                       <KEYWORD3>WordWrap</KEYWORD3>\r
+                       <KEYWORD3>ZOrderSet</KEYWORD3>\r
+                       <KEYWORD3>AllowAddNew</KEYWORD3>\r
+                       <KEYWORD3>AllowHeaderSizing</KEYWORD3>\r
+                       <KEYWORD3>AllowRowSizing</KEYWORD3>\r
+                       <KEYWORD3>Application</KEYWORD3>\r
+                       <KEYWORD3>AutoVerbMenu</KEYWORD3>\r
+                       <KEYWORD3>AutoYield</KEYWORD3>\r
+                       <KEYWORD3>BoundTo</KEYWORD3>\r
+                       <KEYWORD3>DateFormat</KEYWORD3>\r
+                       <KEYWORD3>DateMark</KEYWORD3>\r
+                       <KEYWORD3>DefaultFilePath</KEYWORD3>\r
+                       <KEYWORD3>FullName</KEYWORD3>\r
+                       <KEYWORD3>Hours</KEYWORD3>\r
+                       <KEYWORD3>IMEMode</KEYWORD3>\r
+                       <KEYWORD3>IntegralHeight</KEYWORD3>\r
+                       <KEYWORD3>ItemTips</KEYWORD3>\r
+                       <KEYWORD3>MouseIcon</KEYWORD3>\r
+                       <KEYWORD3>NullDisplay</KEYWORD3>\r
+                       <KEYWORD3>OLERequestPendingTimou</KEYWORD3>\r
+                       <KEYWORD3>OLEServerBusyRaiseErro</KEYWORD3>\r
+                       <KEYWORD3>OLEServerBusyTimout</KEYWORD3>\r
+                       <KEYWORD3>OpenViews</KEYWORD3>\r
+                       <KEYWORD3>RightToLeft</KEYWORD3>\r
+                       <KEYWORD3>SDIForm</KEYWORD3>\r
+                       <KEYWORD3>ShowWindow</KEYWORD3>\r
+                       <KEYWORD3>SplitBar</KEYWORD3>\r
+                       <KEYWORD3>StrictDateEntry</KEYWORD3>\r
+                       <KEYWORD3>TabStyle</KEYWORD3>\r
+                       <KEYWORD3>WhatsThisButton</KEYWORD3>\r
+                       <KEYWORD3>WhatsThisHelp</KEYWORD3>\r
+                       <KEYWORD3>WhatsThisHelpID</KEYWORD3>\r
+                       <KEYWORD3>DisplayCount</KEYWORD3>\r
+                       <KEYWORD3>ContinuousScroll</KEYWORD3>\r
+                       <KEYWORD3>HscrollSmallChange</KEYWORD3>\r
+                       <KEYWORD3>TitleBar</KEYWORD3>\r
+                       <KEYWORD3>VscrollSmallChange</KEYWORD3>\r
+                       <KEYWORD3>ViewPortTop</KEYWORD3>\r
+                       <KEYWORD3>ViewPortLeft</KEYWORD3>\r
+                       <KEYWORD3>ViewPortHeight</KEYWORD3>\r
+                       <KEYWORD3>ViewPortWidth</KEYWORD3>\r
+                       <KEYWORD3>SetViewPort</KEYWORD3>\r
+                       <KEYWORD3>Scrolled</KEYWORD3>\r
+                       <KEYWORD3>StartMode</KEYWORD3>\r
+                       <KEYWORD3>ServerName</KEYWORD3>\r
+                       <KEYWORD3>OLEDragMode</KEYWORD3>\r
+                       <KEYWORD3>OLEDragPicture</KEYWORD3>\r
+                       <KEYWORD3>OLEDropEffects</KEYWORD3>\r
+                       <KEYWORD3>OLEDropHasData</KEYWORD3>\r
+                       <KEYWORD3>OLEDropMode</KEYWORD3>\r
+                       <KEYWORD3>ActiveProject</KEYWORD3>\r
+                       <KEYWORD3>Projects</KEYWORD3>\r
+                       <KEYWORD3>AutoIncrement</KEYWORD3>\r
+                       <KEYWORD3>BuildDateTime</KEYWORD3>\r
+                       <KEYWORD3>Debug</KEYWORD3>\r
+                       <KEYWORD3>Encrypted</KEYWORD3>\r
+                       <KEYWORD3>Files</KEYWORD3>\r
+                       <KEYWORD3>HomeDir</KEYWORD3>\r
+                       <KEYWORD3>MainClass</KEYWORD3>\r
+                       <KEYWORD3>MainFile</KEYWORD3>\r
+                       <KEYWORD3>ProjectHookClass</KEYWORD3>\r
+                       <KEYWORD3>ProjectHookLibrary</KEYWORD3>\r
+                       <KEYWORD3>SCCProvider</KEYWORD3>\r
+                       <KEYWORD3>ServerHelpFile</KEYWORD3>\r
+                       <KEYWORD3>ServerProject</KEYWORD3>\r
+                       <KEYWORD3>TypeLibCLSID</KEYWORD3>\r
+                       <KEYWORD3>TypeLibDesc</KEYWORD3>\r
+                       <KEYWORD3>TypeLibName</KEYWORD3>\r
+                       <KEYWORD3>VersionComments</KEYWORD3>\r
+                       <KEYWORD3>VersionCompany</KEYWORD3>\r
+                       <KEYWORD3>VersionCopyright</KEYWORD3>\r
+                       <KEYWORD3>VersionDescription</KEYWORD3>\r
+                       <KEYWORD3>VersionNumber</KEYWORD3>\r
+                       <KEYWORD3>VersionProduct</KEYWORD3>\r
+                       <KEYWORD3>VersionTrademarks</KEYWORD3>\r
+                       <KEYWORD3>Item</KEYWORD3>\r
+                       <KEYWORD3>CodePage</KEYWORD3>\r
+                       <KEYWORD3>Description</KEYWORD3>\r
+                       <KEYWORD3>FileClass</KEYWORD3>\r
+                       <KEYWORD3>FileClassLibrary</KEYWORD3>\r
+                       <KEYWORD3>LastModified</KEYWORD3>\r
+                       <KEYWORD3>SCCStatus</KEYWORD3>\r
+                       <KEYWORD3>CLSID</KEYWORD3>\r
+                       <KEYWORD3>Instancing</KEYWORD3>\r
+                       <KEYWORD3>ProgID</KEYWORD3>\r
+                       <KEYWORD3>ServerClass</KEYWORD3>\r
+                       <KEYWORD3>ServerClassLibrary</KEYWORD3>\r
+                       <KEYWORD3>ThreadID</KEYWORD3>\r
+                       <KEYWORD3>ProcessID</KEYWORD3>\r
+                       <KEYWORD3>AddLineFeeds</KEYWORD3>\r
+\r
+                       <!-- Other FoxPro's Keywords -->\r
+                       <KEYWORD3>MULTILOCKS</KEYWORD3>\r
+                       <KEYWORD3>FULLPATH</KEYWORD3>\r
+                       <KEYWORD3>UNIQUE</KEYWORD3>\r
+                       <KEYWORD3>CLASSLIB</KEYWORD3>\r
+                       <KEYWORD3>LIBRARY</KEYWORD3>\r
+                       <KEYWORD3>structure</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>production</KEYWORD3>\r
+                       <KEYWORD3>path</KEYWORD3>\r
+                       <KEYWORD3>date</KEYWORD3>\r
+                       <KEYWORD3>datetime</KEYWORD3>\r
+                       <KEYWORD3>rest</KEYWORD3>\r
+                       <KEYWORD3>fields</KEYWORD3>\r
+                       <KEYWORD3>array</KEYWORD3>\r
+                       <KEYWORD3>free</KEYWORD3>\r
+                       <KEYWORD3>structure</KEYWORD3>\r
+                       <KEYWORD3>ASCENDING</KEYWORD3>\r
+                       <KEYWORD3>window</KEYWORD3>\r
+                       <KEYWORD3>nowait</KEYWORD3>\r
+                       <KEYWORD3>between</KEYWORD3>\r
+                       <KEYWORD3>dbf</KEYWORD3>\r
+                       <KEYWORD3>noconsole</KEYWORD3>\r
+                       <KEYWORD3>dif</KEYWORD3>\r
+                       <KEYWORD3>xls</KEYWORD3>\r
+                       <KEYWORD3>csv</KEYWORD3>\r
+                       <KEYWORD3>delimited</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>decimal</KEYWORD3>\r
+                       <KEYWORD3>additive</KEYWORD3>\r
+                       <KEYWORD3>between</KEYWORD3>\r
+                       <KEYWORD3>noupdate</KEYWORD3>\r
+\r
+                       <KEYWORD3>Abs</KEYWORD3>\r
+                       <KEYWORD3>Accept</KEYWORD3>\r
+                       <KEYWORD3>Access</KEYWORD3>\r
+                       <KEYWORD3>Aclass</KEYWORD3>\r
+                       <KEYWORD3>Acopy</KEYWORD3>\r
+                       <KEYWORD3>Acos</KEYWORD3>\r
+                       <KEYWORD3>Adatabases</KEYWORD3>\r
+                       <KEYWORD3>Adbobjects</KEYWORD3>\r
+                       <KEYWORD3>Add</KEYWORD3>\r
+                       <KEYWORD3>Addrelationtoenv</KEYWORD3>\r
+                       <KEYWORD3>Addtabletoenv</KEYWORD3>\r
+                       <KEYWORD3>Adel</KEYWORD3>\r
+                       <KEYWORD3>Adir</KEYWORD3>\r
+                       <KEYWORD3>Aelement</KEYWORD3>\r
+                       <KEYWORD3>Aerror</KEYWORD3>\r
+                       <KEYWORD3>Afields</KEYWORD3>\r
+                       <KEYWORD3>Afont</KEYWORD3>\r
+                       <KEYWORD3>Again</KEYWORD3>\r
+                       <KEYWORD3>Ains</KEYWORD3>\r
+                       <KEYWORD3>Ainstance</KEYWORD3>\r
+                       <KEYWORD3>Alen</KEYWORD3>\r
+                       <KEYWORD3>All</KEYWORD3>\r
+                       <KEYWORD3>Alltrim</KEYWORD3>\r
+                       <KEYWORD3>Alter</KEYWORD3>\r
+                       <KEYWORD3>Amembers</KEYWORD3>\r
+                       <KEYWORD3>Ansitooem</KEYWORD3>\r
+                       <KEYWORD3>Append</KEYWORD3>\r
+                       <KEYWORD3>Aprinters</KEYWORD3>\r
+                       <KEYWORD3>Ascan</KEYWORD3>\r
+                       <KEYWORD3>Aselobj</KEYWORD3>\r
+                       <KEYWORD3>Asin</KEYWORD3>\r
+                       <KEYWORD3>Asort</KEYWORD3>\r
+                       <KEYWORD3>Assist</KEYWORD3>\r
+                       <KEYWORD3>Asubscript</KEYWORD3>\r
+                       <KEYWORD3>Asynchronous</KEYWORD3>\r
+                       <KEYWORD3>Atan</KEYWORD3>\r
+                       <KEYWORD3>Atc</KEYWORD3>\r
+                       <KEYWORD3>Atcline</KEYWORD3>\r
+                       <KEYWORD3>Atline</KEYWORD3>\r
+                       <KEYWORD3>Atn2</KEYWORD3>\r
+                       <KEYWORD3>Aused</KEYWORD3>\r
+                       <KEYWORD3>Autoform</KEYWORD3>\r
+                       <KEYWORD3>Autoreport</KEYWORD3>\r
+                       <KEYWORD3>Average</KEYWORD3>\r
+                       <KEYWORD3>Bar</KEYWORD3>\r
+                       <KEYWORD3>BatchMode</KEYWORD3>\r
+                       <KEYWORD3>BatchUpdateCount</KEYWORD3>\r
+                       <KEYWORD3>Begin</KEYWORD3>\r
+                       <KEYWORD3>Bell</KEYWORD3>\r
+                       <KEYWORD3>BellSound</KEYWORD3>\r
+                       <KEYWORD3>Bitand</KEYWORD3>\r
+                       <KEYWORD3>Bitclear</KEYWORD3>\r
+                       <KEYWORD3>Bitlshift</KEYWORD3>\r
+                       <KEYWORD3>Bitnot</KEYWORD3>\r
+                       <KEYWORD3>Bitor</KEYWORD3>\r
+                       <KEYWORD3>Bitrshift</KEYWORD3>\r
+                       <KEYWORD3>Bitset</KEYWORD3>\r
+                       <KEYWORD3>Bittest</KEYWORD3>\r
+                       <KEYWORD3>Bitxor</KEYWORD3>\r
+                       <KEYWORD3>Bof</KEYWORD3>\r
+                       <KEYWORD3>Bottom</KEYWORD3>\r
+                       <KEYWORD3>Browse</KEYWORD3>\r
+                       <KEYWORD3>BrowseRefresh</KEYWORD3>\r
+                       <KEYWORD3>Buffering</KEYWORD3>\r
+                       <KEYWORD3>Build</KEYWORD3>\r
+                       <KEYWORD3>BuilderLock</KEYWORD3>\r
+                       <KEYWORD3>By</KEYWORD3>\r
+                       <KEYWORD3>Calculate</KEYWORD3>\r
+                       <KEYWORD3>Call</KEYWORD3>\r
+                       <KEYWORD3>Capslock</KEYWORD3>\r
+                       <KEYWORD3>Case</KEYWORD3>\r
+                       <KEYWORD3>Cd</KEYWORD3>\r
+                       <KEYWORD3>Cdow</KEYWORD3>\r
+                       <KEYWORD3>Ceiling</KEYWORD3>\r
+                       <KEYWORD3>Central</KEYWORD3>\r
+                       <KEYWORD3>Century</KEYWORD3>\r
+                       <KEYWORD3>Change</KEYWORD3>\r
+                       <KEYWORD3>Char</KEYWORD3>\r
+                       <KEYWORD3>Chdir</KEYWORD3>\r
+                       <KEYWORD3>Checkbox</KEYWORD3>\r
+                       <KEYWORD3>Chr</KEYWORD3>\r
+                       <KEYWORD3>Chrsaw</KEYWORD3>\r
+                       <KEYWORD3>Chrtran</KEYWORD3>\r
+                       <KEYWORD3>Close</KEYWORD3>\r
+                       <KEYWORD3>Cmonth</KEYWORD3>\r
+                       <KEYWORD3>Cntbar</KEYWORD3>\r
+                       <KEYWORD3>Cntpad</KEYWORD3>\r
+                       <KEYWORD3>Col</KEYWORD3>\r
+                       <KEYWORD3>Column</KEYWORD3>\r
+                       <KEYWORD3>ComboBox</KEYWORD3>\r
+                       <KEYWORD3>CommandButton</KEYWORD3>\r
+                       <KEYWORD3>CommandGroup</KEYWORD3>\r
+                       <KEYWORD3>Compile</KEYWORD3>\r
+                       <KEYWORD3>Completed</KEYWORD3>\r
+                       <KEYWORD3>Compobj</KEYWORD3>\r
+                       <KEYWORD3>Compute</KEYWORD3>\r
+                       <KEYWORD3>Concat</KEYWORD3>\r
+                       <KEYWORD3>ConnectBusy</KEYWORD3>\r
+                       <KEYWORD3>ConnectHandle</KEYWORD3>\r
+                       <KEYWORD3>ConnectName</KEYWORD3>\r
+                       <KEYWORD3>ConnectString</KEYWORD3>\r
+                       <KEYWORD3>ConnectTimeOut</KEYWORD3>\r
+                       <KEYWORD3>Container</KEYWORD3>\r
+                       <KEYWORD3>Continue</KEYWORD3>\r
+                       <KEYWORD3>Control</KEYWORD3>\r
+                       <KEYWORD3>Copy</KEYWORD3>\r
+                       <KEYWORD3>Cos</KEYWORD3>\r
+                       <KEYWORD3>Cot</KEYWORD3>\r
+                       <KEYWORD3>Count</KEYWORD3>\r
+                       <KEYWORD3>Cpconvert</KEYWORD3>\r
+                       <KEYWORD3>Cpcurrent</KEYWORD3>\r
+                       <KEYWORD3>CPDialog</KEYWORD3>\r
+                       <KEYWORD3>Cpdbf</KEYWORD3>\r
+                       <KEYWORD3>Cpnotrans</KEYWORD3>\r
+                       <KEYWORD3>Create</KEYWORD3>\r
+                       <KEYWORD3>Createobject</KEYWORD3>\r
+                       <KEYWORD3>CrsBuffering</KEYWORD3>\r
+                       <KEYWORD3>CrsFetchMemo</KEYWORD3>\r
+                       <KEYWORD3>CrsFetchSize</KEYWORD3>\r
+                       <KEYWORD3>CrsMaxRows</KEYWORD3>\r
+                       <KEYWORD3>CrsMethodUsed</KEYWORD3>\r
+                       <KEYWORD3>CrsNumBatch</KEYWORD3>\r
+                       <KEYWORD3>CrsShareConnection</KEYWORD3>\r
+                       <KEYWORD3>CrsUseMemoSize</KEYWORD3>\r
+                       <KEYWORD3>CrsWhereClause</KEYWORD3>\r
+                       <KEYWORD3>Ctod</KEYWORD3>\r
+                       <KEYWORD3>Ctot</KEYWORD3>\r
+                       <KEYWORD3>Curdate</KEYWORD3>\r
+                       <KEYWORD3>Curdir</KEYWORD3>\r
+                       <KEYWORD3>CurrLeft</KEYWORD3>\r
+                       <KEYWORD3>CurrSymbol</KEYWORD3>\r
+                       <KEYWORD3>Cursor</KEYWORD3>\r
+                       <KEYWORD3>Curtime</KEYWORD3>\r
+                       <KEYWORD3>Curval</KEYWORD3>\r
+                       <KEYWORD3>Custom</KEYWORD3>\r
+                       <KEYWORD3>DataEnvironment</KEYWORD3>\r
+                       <KEYWORD3>Databases</KEYWORD3>\r
+                       <KEYWORD3>Datetime</KEYWORD3>\r
+                       <KEYWORD3>Day</KEYWORD3>\r
+                       <KEYWORD3>Dayname</KEYWORD3>\r
+                       <KEYWORD3>Dayofmonth</KEYWORD3>\r
+                       <KEYWORD3>Dayofweek</KEYWORD3>\r
+                       <KEYWORD3>Dayofyear</KEYWORD3>\r
+                       <KEYWORD3>Dbalias</KEYWORD3>\r
+                       <KEYWORD3>Dbused</KEYWORD3>\r
+                       <KEYWORD3>DB_BufLockRow</KEYWORD3>\r
+                       <KEYWORD3>DB_BufLockTable</KEYWORD3>\r
+                       <KEYWORD3>DB_BufOff</KEYWORD3>\r
+                       <KEYWORD3>DB_BufOptRow</KEYWORD3>\r
+                       <KEYWORD3>DB_BufOptTable</KEYWORD3>\r
+                       <KEYWORD3>DB_Complette</KEYWORD3>\r
+                       <KEYWORD3>DB_DeleteInsert</KEYWORD3>\r
+                       <KEYWORD3>DB_KeyAndModified</KEYWORD3>\r
+                       <KEYWORD3>DB_KeyAndTimestamp</KEYWORD3>\r
+                       <KEYWORD3>DB_KeyAndUpdatable</KEYWORD3>\r
+                       <KEYWORD3>DB_LocalSQL</KEYWORD3>\r
+                       <KEYWORD3>DB_NoPrompt</KEYWORD3>\r
+                       <KEYWORD3>DB_Prompt</KEYWORD3>\r
+                       <KEYWORD3>DB_RemoteSQL</KEYWORD3>\r
+                       <KEYWORD3>DB_TransAuto</KEYWORD3>\r
+                       <KEYWORD3>DB_TransManual</KEYWORD3>\r
+                       <KEYWORD3>DB_TransNone</KEYWORD3>\r
+                       <KEYWORD3>DB_Update</KEYWORD3>\r
+                       <KEYWORD3>Ddeaborttrans</KEYWORD3>\r
+                       <KEYWORD3>Ddeadvise</KEYWORD3>\r
+                       <KEYWORD3>Ddeenabled</KEYWORD3>\r
+                       <KEYWORD3>Ddeexecute</KEYWORD3>\r
+                       <KEYWORD3>Ddeinitiate</KEYWORD3>\r
+                       <KEYWORD3>Ddelasterror</KEYWORD3>\r
+                       <KEYWORD3>Ddepoke</KEYWORD3>\r
+                       <KEYWORD3>Dderequest</KEYWORD3>\r
+                       <KEYWORD3>Ddesetoption</KEYWORD3>\r
+                       <KEYWORD3>Ddesetservice</KEYWORD3>\r
+                       <KEYWORD3>Ddesettopic</KEYWORD3>\r
+                       <KEYWORD3>Ddeterminate</KEYWORD3>\r
+                       <KEYWORD3>Declare</KEYWORD3>\r
+                       <KEYWORD3>DefaultValue</KEYWORD3>\r
+                       <KEYWORD3>Define</KEYWORD3>\r
+                       <KEYWORD3>Degrees</KEYWORD3>\r
+                       <KEYWORD3>DeleteTrigger</KEYWORD3>\r
+                       <KEYWORD3>Desc</KEYWORD3>\r
+                       <KEYWORD3>Description</KEYWORD3>\r
+                       <KEYWORD3>Difference</KEYWORD3>\r
+                       <KEYWORD3>Dimension</KEYWORD3>\r
+                       <KEYWORD3>Dir</KEYWORD3>\r
+                       <KEYWORD3>Directory</KEYWORD3>\r
+                       <KEYWORD3>Diskspace</KEYWORD3>\r
+                       <KEYWORD3>Display</KEYWORD3>\r
+                       <KEYWORD3>DispLogin</KEYWORD3>\r
+                       <KEYWORD3>DispWarnings</KEYWORD3>\r
+                       <KEYWORD3>Distinct</KEYWORD3>\r
+                       <KEYWORD3>Dmy</KEYWORD3>\r
+                       <KEYWORD3>Do</KEYWORD3>\r
+                       <KEYWORD3>Doc</KEYWORD3>\r
+                       <KEYWORD3>Dow</KEYWORD3>\r
+                       <KEYWORD3>Drop</KEYWORD3>\r
+                       <KEYWORD3>Dtoc</KEYWORD3>\r
+                       <KEYWORD3>Dtor</KEYWORD3>\r
+                       <KEYWORD3>Dtos</KEYWORD3>\r
+                       <KEYWORD3>Dtot</KEYWORD3>\r
+                       <KEYWORD3>Edit</KEYWORD3>\r
+                       <KEYWORD3>EditBox</KEYWORD3>\r
+                       <KEYWORD3>Eject</KEYWORD3>\r
+                       <KEYWORD3>Elif</KEYWORD3>\r
+                       <KEYWORD3>Else</KEYWORD3>\r
+                       <KEYWORD3>Empty</KEYWORD3>\r
+                       <KEYWORD3>End</KEYWORD3>\r
+                       <KEYWORD3>Endcase</KEYWORD3>\r
+                       <KEYWORD3>Enddefine</KEYWORD3>\r
+                       <KEYWORD3>Enddo</KEYWORD3>\r
+                       <KEYWORD3>Endfor</KEYWORD3>\r
+                       <KEYWORD3>Endif</KEYWORD3>\r
+                       <KEYWORD3>Endprintjob</KEYWORD3>\r
+                       <KEYWORD3>Endscan</KEYWORD3>\r
+                       <KEYWORD3>Endtext</KEYWORD3>\r
+                       <KEYWORD3>Endwith</KEYWORD3>\r
+                       <KEYWORD3>Eof</KEYWORD3>\r
+                       <KEYWORD3>Erase</KEYWORD3>\r
+                       <KEYWORD3>Evaluate</KEYWORD3>\r
+                       <KEYWORD3>Exact</KEYWORD3>\r
+                       <KEYWORD3>Exclusive</KEYWORD3>\r
+                       <KEYWORD3>Exit</KEYWORD3>\r
+                       <KEYWORD3>Exp</KEYWORD3>\r
+                       <KEYWORD3>Export</KEYWORD3>\r
+                       <KEYWORD3>External</KEYWORD3>\r
+                       <KEYWORD3>Fchsize</KEYWORD3>\r
+                       <KEYWORD3>Fclose</KEYWORD3>\r
+                       <KEYWORD3>Fcount</KEYWORD3>\r
+                       <KEYWORD3>Fcreate</KEYWORD3>\r
+                       <KEYWORD3>Feof</KEYWORD3>\r
+                       <KEYWORD3>Ferror</KEYWORD3>\r
+                       <KEYWORD3>FetchMemo</KEYWORD3>\r
+                       <KEYWORD3>FetchSize</KEYWORD3>\r
+                       <KEYWORD3>Fflush</KEYWORD3>\r
+                       <KEYWORD3>Fgets</KEYWORD3>\r
+                       <KEYWORD3>File</KEYWORD3>\r
+                       <KEYWORD3>Filer</KEYWORD3>\r
+                       <KEYWORD3>Find</KEYWORD3>\r
+                       <KEYWORD3>Fklabel</KEYWORD3>\r
+                       <KEYWORD3>Fkmax</KEYWORD3>\r
+                       <KEYWORD3>Fldlist</KEYWORD3>\r
+                       <KEYWORD3>Flock</KEYWORD3>\r
+                       <KEYWORD3>Floor</KEYWORD3>\r
+                       <KEYWORD3>Flush</KEYWORD3>\r
+                       <KEYWORD3>FontClass</KEYWORD3>\r
+                       <KEYWORD3>Fontmetric</KEYWORD3>\r
+                       <KEYWORD3>Fopen</KEYWORD3>\r
+                       <KEYWORD3>For</KEYWORD3>\r
+                       <KEYWORD3>Form</KEYWORD3>\r
+                       <KEYWORD3>FormsClass</KEYWORD3>\r
+                       <KEYWORD3>Formset</KEYWORD3>\r
+                       <KEYWORD3>FormSetClass</KEYWORD3>\r
+                       <KEYWORD3>FormSetLib</KEYWORD3>\r
+                       <KEYWORD3>FormsLib</KEYWORD3>\r
+                       <KEYWORD3>Found</KEYWORD3>\r
+                       <KEYWORD3>Foxcode</KEYWORD3>\r
+                       <KEYWORD3>Foxdoc</KEYWORD3>\r
+                       <KEYWORD3>Foxgen</KEYWORD3>\r
+                       <KEYWORD3>Foxgraph</KEYWORD3>\r
+                       <KEYWORD3>FoxPro</KEYWORD3>\r
+                       <KEYWORD3>Foxview</KEYWORD3>\r
+                       <KEYWORD3>Fputs</KEYWORD3>\r
+                       <KEYWORD3>Fread</KEYWORD3>\r
+                       <KEYWORD3>From</KEYWORD3>\r
+                       <KEYWORD3>Fseek</KEYWORD3>\r
+                       <KEYWORD3>Fsize</KEYWORD3>\r
+                       <KEYWORD3>Fv</KEYWORD3>\r
+                       <KEYWORD3>Fwrite</KEYWORD3>\r
+                       <KEYWORD3>Gather</KEYWORD3>\r
+                       <KEYWORD3>General</KEYWORD3>\r
+                       <KEYWORD3>Getbar</KEYWORD3>\r
+                       <KEYWORD3>Getcolor</KEYWORD3>\r
+                       <KEYWORD3>Getcp</KEYWORD3>\r
+                       <KEYWORD3>Getdir</KEYWORD3>\r
+                       <KEYWORD3>Getenv</KEYWORD3>\r
+                       <KEYWORD3>Getexpr</KEYWORD3>\r
+                       <KEYWORD3>Getfile</KEYWORD3>\r
+                       <KEYWORD3>Getfldstate</KEYWORD3>\r
+                       <KEYWORD3>Getfont</KEYWORD3>\r
+                       <KEYWORD3>Getnextmodified</KEYWORD3>\r
+                       <KEYWORD3>Getobject</KEYWORD3>\r
+                       <KEYWORD3>Getpad</KEYWORD3>\r
+                       <KEYWORD3>Getpict</KEYWORD3>\r
+                       <KEYWORD3>Getprinter</KEYWORD3>\r
+                       <KEYWORD3>Go</KEYWORD3>\r
+                       <KEYWORD3>Gomonth</KEYWORD3>\r
+                       <KEYWORD3>Goto</KEYWORD3>\r
+                       <KEYWORD3>Graph</KEYWORD3>\r
+                       <KEYWORD3>Grid</KEYWORD3>\r
+                       <KEYWORD3>GridHorz</KEYWORD3>\r
+                       <KEYWORD3>GridShow</KEYWORD3>\r
+                       <KEYWORD3>GridShowPos</KEYWORD3>\r
+                       <KEYWORD3>GridSnap</KEYWORD3>\r
+                       <KEYWORD3>GridVert</KEYWORD3>\r
+                       <KEYWORD3>Header</KEYWORD3>\r
+                       <KEYWORD3>Help</KEYWORD3>\r
+                       <KEYWORD3>HelpOn</KEYWORD3>\r
+                       <KEYWORD3>HelpTo</KEYWORD3>\r
+                       <KEYWORD3>Hour</KEYWORD3>\r
+                       <KEYWORD3>IdleTimeOut</KEYWORD3>\r
+                       <KEYWORD3>Idxcollate</KEYWORD3>\r
+                       <KEYWORD3>If</KEYWORD3>\r
+                       <KEYWORD3>Ifdef</KEYWORD3>\r
+                       <KEYWORD3>Ifndef</KEYWORD3>\r
+                       <KEYWORD3>Iif</KEYWORD3>\r
+                       <KEYWORD3>Image</KEYWORD3>\r
+                       <KEYWORD3>Import</KEYWORD3>\r
+                       <KEYWORD3>Include</KEYWORD3>\r
+                       <KEYWORD3>Indbc</KEYWORD3>\r
+                       <KEYWORD3>Index</KEYWORD3>\r
+                       <KEYWORD3>Inkey</KEYWORD3>\r
+                       <KEYWORD3>Inlist</KEYWORD3>\r
+                       <KEYWORD3>Input</KEYWORD3>\r
+                       <KEYWORD3>Insert</KEYWORD3>\r
+                       <KEYWORD3>InsertTrigger</KEYWORD3>\r
+                       <KEYWORD3>Insmode</KEYWORD3>\r
+                       <KEYWORD3>Into</KEYWORD3>\r
+                       <KEYWORD3>Isalpha</KEYWORD3>\r
+                       <KEYWORD3>Iscolor</KEYWORD3>\r
+                       <KEYWORD3>Isdigit</KEYWORD3>\r
+                       <KEYWORD3>Isexclusive</KEYWORD3>\r
+                       <KEYWORD3>Islower</KEYWORD3>\r
+                       <KEYWORD3>Isnull</KEYWORD3>\r
+                       <KEYWORD3>Isreadonly</KEYWORD3>\r
+                       <KEYWORD3>Isupper</KEYWORD3>\r
+                       <KEYWORD3>Join</KEYWORD3>\r
+                       <KEYWORD3>Keyboard</KEYWORD3>\r
+                       <KEYWORD3>KeyField</KEYWORD3>\r
+                       <KEYWORD3>KeyFieldList</KEYWORD3>\r
+                       <KEYWORD3>Keymatch</KEYWORD3>\r
+                       <KEYWORD3>Label</KEYWORD3>\r
+                       <KEYWORD3>Lastkey</KEYWORD3>\r
+                       <KEYWORD3>LastProject</KEYWORD3>\r
+                       <KEYWORD3>Lcase</KEYWORD3>\r
+                       <KEYWORD3>Len</KEYWORD3>\r
+                       <KEYWORD3>Length</KEYWORD3>\r
+                       <KEYWORD3>Lineno</KEYWORD3>\r
+                       <KEYWORD3>ListBox</KEYWORD3>\r
+                       <KEYWORD3>Local</KEYWORD3>\r
+                       <KEYWORD3>Locate</KEYWORD3>\r
+                       <KEYWORD3>Locfile</KEYWORD3>\r
+                       <KEYWORD3>Log</KEYWORD3>\r
+                       <KEYWORD3>Log10</KEYWORD3>\r
+                       <KEYWORD3>Logout</KEYWORD3>\r
+                       <KEYWORD3>Lookup</KEYWORD3>\r
+                       <KEYWORD3>Loop</KEYWORD3>\r
+                       <KEYWORD3>Lower</KEYWORD3>\r
+                       <KEYWORD3>Lparameters</KEYWORD3>\r
+                       <KEYWORD3>Ltrim</KEYWORD3>\r
+                       <KEYWORD3>Lupdate</KEYWORD3>\r
+                       <KEYWORD3>Mail</KEYWORD3>\r
+                       <KEYWORD3>MaxRecords</KEYWORD3>\r
+                       <KEYWORD3>Mcol</KEYWORD3>\r
+                       <KEYWORD3>Md</KEYWORD3>\r
+                       <KEYWORD3>Mdown</KEYWORD3>\r
+                       <KEYWORD3>Mdx</KEYWORD3>\r
+                       <KEYWORD3>Mdy</KEYWORD3>\r
+                       <KEYWORD3>Memlines</KEYWORD3>\r
+                       <KEYWORD3>Memo</KEYWORD3>\r
+                       <KEYWORD3>Menu</KEYWORD3>\r
+                       <KEYWORD3>Messagebox</KEYWORD3>\r
+                       <KEYWORD3>Minute</KEYWORD3>\r
+                       <KEYWORD3>Mkdir</KEYWORD3>\r
+                       <KEYWORD3>Mline</KEYWORD3>\r
+                       <KEYWORD3>Modify</KEYWORD3>\r
+                       <KEYWORD3>Month</KEYWORD3>\r
+                       <KEYWORD3>Monthname</KEYWORD3>\r
+                       <KEYWORD3>Mouse</KEYWORD3>\r
+                       <KEYWORD3>Mrkbar</KEYWORD3>\r
+                       <KEYWORD3>Mrkpad</KEYWORD3>\r
+                       <KEYWORD3>Mrow</KEYWORD3>\r
+                       <KEYWORD3>Mton</KEYWORD3>\r
+                       <KEYWORD3>Mwindow</KEYWORD3>\r
+                       <KEYWORD3>Native</KEYWORD3>\r
+                       <KEYWORD3>Ndx</KEYWORD3>\r
+                       <KEYWORD3>Network</KEYWORD3>\r
+                       <KEYWORD3>Next</KEYWORD3>\r
+                       <KEYWORD3>Nodefault</KEYWORD3>\r
+                       <KEYWORD3>Normalize</KEYWORD3>\r
+                       <KEYWORD3>Note</KEYWORD3>\r
+                       <KEYWORD3>Now</KEYWORD3>\r
+                       <KEYWORD3>Ntom</KEYWORD3>\r
+                       <KEYWORD3>NullString</KEYWORD3>\r
+                       <KEYWORD3>Numlock</KEYWORD3>\r
+                       <KEYWORD3>Nvl</KEYWORD3>\r
+                       <KEYWORD3>Objnum</KEYWORD3>\r
+                       <KEYWORD3>Objref</KEYWORD3>\r
+                       <KEYWORD3>Objtoclient</KEYWORD3>\r
+                       <KEYWORD3>Objvar</KEYWORD3>\r
+                       <KEYWORD3>Occurs</KEYWORD3>\r
+                       <KEYWORD3>ODBChdbc</KEYWORD3>\r
+                       <KEYWORD3>ODBChstmt</KEYWORD3>\r
+                       <KEYWORD3>Oemtoansi</KEYWORD3>\r
+                       <KEYWORD3>Off</KEYWORD3>\r
+                       <KEYWORD3>Oldval</KEYWORD3>\r
+                       <KEYWORD3>OleBaseControl</KEYWORD3>\r
+                       <KEYWORD3>OleBoundControl</KEYWORD3>\r
+                       <KEYWORD3>OleClassIDispOut</KEYWORD3>\r
+                       <KEYWORD3>OleControl</KEYWORD3>\r
+                       <KEYWORD3>On</KEYWORD3>\r
+                       <KEYWORD3>Open</KEYWORD3>\r
+                       <KEYWORD3>OptionButton</KEYWORD3>\r
+                       <KEYWORD3>OptionGroup</KEYWORD3>\r
+                       <KEYWORD3>Oracle</KEYWORD3>\r
+                       <KEYWORD3>Order</KEYWORD3>\r
+                       <KEYWORD3>Os</KEYWORD3>\r
+                       <KEYWORD3>Otherwise</KEYWORD3>\r
+                       <KEYWORD3>Pack</KEYWORD3>\r
+                       <KEYWORD3>PacketSize</KEYWORD3>\r
+                       <KEYWORD3>Padc</KEYWORD3>\r
+                       <KEYWORD3>Padl</KEYWORD3>\r
+                       <KEYWORD3>Padr</KEYWORD3>\r
+                       <KEYWORD3>Page</KEYWORD3>\r
+                       <KEYWORD3>PageFrame</KEYWORD3>\r
+                       <KEYWORD3>Parameters</KEYWORD3>\r
+                       <KEYWORD3>Payment</KEYWORD3>\r
+                       <KEYWORD3>Pcol</KEYWORD3>\r
+                       <KEYWORD3>Percent</KEYWORD3>\r
+                       <KEYWORD3>Pi</KEYWORD3>\r
+                       <KEYWORD3>Pivot</KEYWORD3>\r
+                       <KEYWORD3>Play</KEYWORD3>\r
+                       <KEYWORD3>Pop</KEYWORD3>\r
+                       <KEYWORD3>Power</KEYWORD3>\r
+                       <KEYWORD3>PrimaryKey</KEYWORD3>\r
+                       <KEYWORD3>Printjob</KEYWORD3>\r
+                       <KEYWORD3>Printstatus</KEYWORD3>\r
+                       <KEYWORD3>Private</KEYWORD3>\r
+                       <KEYWORD3>Prmbar</KEYWORD3>\r
+                       <KEYWORD3>Prmpad</KEYWORD3>\r
+                       <KEYWORD3>Program</KEYWORD3>\r
+                       <KEYWORD3>ProjectClick</KEYWORD3>\r
+                       <KEYWORD3>Proper</KEYWORD3>\r
+                       <KEYWORD3>Protected</KEYWORD3>\r
+                       <KEYWORD3>Prow</KEYWORD3>\r
+                       <KEYWORD3>Prtinfo</KEYWORD3>\r
+                       <KEYWORD3>Public</KEYWORD3>\r
+                       <KEYWORD3>Push</KEYWORD3>\r
+                       <KEYWORD3>Putfile</KEYWORD3>\r
+                       <KEYWORD3>Pv</KEYWORD3>\r
+                       <KEYWORD3>Qpr</KEYWORD3>\r
+                       <KEYWORD3>Quater</KEYWORD3>\r
+                       <KEYWORD3>QueryTimeOut</KEYWORD3>\r
+                       <KEYWORD3>Quit</KEYWORD3>\r
+                       <KEYWORD3>Radians</KEYWORD3>\r
+                       <KEYWORD3>Rand</KEYWORD3>\r
+                       <KEYWORD3>Rat</KEYWORD3>\r
+                       <KEYWORD3>Ratline</KEYWORD3>\r
+                       <KEYWORD3>Rd</KEYWORD3>\r
+                       <KEYWORD3>Rdlevel</KEYWORD3>\r
+                       <KEYWORD3>Read</KEYWORD3>\r
+                       <KEYWORD3>Readkey</KEYWORD3>\r
+                       <KEYWORD3>Recall</KEYWORD3>\r
+                       <KEYWORD3>Reccount</KEYWORD3>\r
+                       <KEYWORD3>RecentlyUsedFiles</KEYWORD3>\r
+                       <KEYWORD3>Recno</KEYWORD3>\r
+                       <KEYWORD3>Recsize</KEYWORD3>\r
+                       <KEYWORD3>RectClass</KEYWORD3>\r
+                       <KEYWORD3>Regional</KEYWORD3>\r
+                       <KEYWORD3>Reindex</KEYWORD3>\r
+                       <KEYWORD3>RelatedChild</KEYWORD3>\r
+                       <KEYWORD3>RelatedTable</KEYWORD3>\r
+                       <KEYWORD3>RelatedTag</KEYWORD3>\r
+                       <KEYWORD3>Relation</KEYWORD3>\r
+                       <KEYWORD3>Remove</KEYWORD3>\r
+                       <KEYWORD3>Rename</KEYWORD3>\r
+                       <KEYWORD3>Repeat</KEYWORD3>\r
+                       <KEYWORD3>Replace</KEYWORD3>\r
+                       <KEYWORD3>Replicate</KEYWORD3>\r
+                       <KEYWORD3>Report</KEYWORD3>\r
+                       <KEYWORD3>Reprocess</KEYWORD3>\r
+                       <KEYWORD3>ResHeight</KEYWORD3>\r
+                       <KEYWORD3>ResourceOn</KEYWORD3>\r
+                       <KEYWORD3>ResourceTo</KEYWORD3>\r
+                       <KEYWORD3>Restore</KEYWORD3>\r
+                       <KEYWORD3>Resume</KEYWORD3>\r
+                       <KEYWORD3>ResWidth</KEYWORD3>\r
+                       <KEYWORD3>Retry</KEYWORD3>\r
+                       <KEYWORD3>Return</KEYWORD3>\r
+                       <KEYWORD3>Rgbscheme</KEYWORD3>\r
+                       <KEYWORD3>Rlock</KEYWORD3>\r
+                       <KEYWORD3>Rmdir</KEYWORD3>\r
+                       <KEYWORD3>Rollback</KEYWORD3>\r
+                       <KEYWORD3>Round</KEYWORD3>\r
+                       <KEYWORD3>Rtod</KEYWORD3>\r
+                       <KEYWORD3>Rtrim</KEYWORD3>\r
+                       <KEYWORD3>RuleExpression</KEYWORD3>\r
+                       <KEYWORD3>RuleText</KEYWORD3>\r
+                       <KEYWORD3>Run</KEYWORD3>\r
+                       <KEYWORD3>Runscript</KEYWORD3>\r
+                       <KEYWORD3>Rview</KEYWORD3>\r
+                       <KEYWORD3>Save</KEYWORD3>\r
+                       <KEYWORD3>Safety</KEYWORD3>\r
+                       <KEYWORD3>ScaleUnits</KEYWORD3>\r
+                       <KEYWORD3>Scan</KEYWORD3>\r
+                       <KEYWORD3>Scatter</KEYWORD3>\r
+                       <KEYWORD3>Scols</KEYWORD3>\r
+                       <KEYWORD3>Scroll</KEYWORD3>\r
+                       <KEYWORD3>Sec</KEYWORD3>\r
+                       <KEYWORD3>Second</KEYWORD3>\r
+                       <KEYWORD3>Seek</KEYWORD3>\r
+                       <KEYWORD3>Select</KEYWORD3>\r
+                       <KEYWORD3>SendUpdates</KEYWORD3>\r
+                       <KEYWORD3>Separator</KEYWORD3>\r
+                       <KEYWORD3>Set</KEYWORD3>\r
+                       <KEYWORD3>SetDefault</KEYWORD3>\r
+                       <KEYWORD3>Setfldstate</KEYWORD3>\r
+                       <KEYWORD3>Setup</KEYWORD3>\r
+                       <KEYWORD3>Shape</KEYWORD3>\r
+                       <KEYWORD3>Shared</KEYWORD3>\r
+                       <KEYWORD3>ShareConnection</KEYWORD3>\r
+                       <KEYWORD3>ShowOLEControls</KEYWORD3>\r
+                       <KEYWORD3>ShowOLEInsertable</KEYWORD3>\r
+                       <KEYWORD3>ShowVCXs</KEYWORD3>\r
+                       <KEYWORD3>Sign</KEYWORD3>\r
+                       <KEYWORD3>Sin</KEYWORD3>\r
+                       <KEYWORD3>Size</KEYWORD3>\r
+                       <KEYWORD3>Skpbar</KEYWORD3>\r
+                       <KEYWORD3>Skppad</KEYWORD3>\r
+                       <KEYWORD3>Sort</KEYWORD3>\r
+                       <KEYWORD3>Soundex</KEYWORD3>\r
+                       <KEYWORD3>SourceName</KEYWORD3>\r
+                       <KEYWORD3>Spinner</KEYWORD3>\r
+                       <KEYWORD3>SQLAsynchronous</KEYWORD3>\r
+                       <KEYWORD3>SQLBatchMode</KEYWORD3>\r
+                       <KEYWORD3>Sqlcommit</KEYWORD3>\r
+                       <KEYWORD3>SQLConnectTimeOut</KEYWORD3>\r
+                       <KEYWORD3>SQLDispLogin</KEYWORD3>\r
+                       <KEYWORD3>SQLDispWarnings</KEYWORD3>\r
+                       <KEYWORD3>SQLIdleTimeOut</KEYWORD3>\r
+                       <KEYWORD3>Sqll</KEYWORD3>\r
+                       <KEYWORD3>SQLQueryTimeOut</KEYWORD3>\r
+                       <KEYWORD3>Sqlrollback</KEYWORD3>\r
+                       <KEYWORD3>Sqlstringconnect</KEYWORD3>\r
+                       <KEYWORD3>SQLTransactions</KEYWORD3>\r
+                       <KEYWORD3>SQLWaitTime</KEYWORD3>\r
+                       <KEYWORD3>Sqrt</KEYWORD3>\r
+                       <KEYWORD3>Srows</KEYWORD3>\r
+                       <KEYWORD3>StatusBar</KEYWORD3>\r
+                       <KEYWORD3>Status</KEYWORD3>\r
+                       <KEYWORD3>Store</KEYWORD3>\r
+                       <KEYWORD3>Str</KEYWORD3>\r
+                       <KEYWORD3>Strtran</KEYWORD3>\r
+                       <KEYWORD3>Stuff</KEYWORD3>\r
+                       <KEYWORD3>Substr</KEYWORD3>\r
+                       <KEYWORD3>Substring</KEYWORD3>\r
+                       <KEYWORD3>Sum</KEYWORD3>\r
+                       <KEYWORD3>Suspend</KEYWORD3>\r
+                       <KEYWORD3>Sys</KEYWORD3>\r
+                       <KEYWORD3>Sysmetric</KEYWORD3>\r
+                       <KEYWORD3>Table</KEYWORD3>\r
+                       <KEYWORD3>TableRefresh</KEYWORD3>\r
+                       <KEYWORD3>Tablerevert</KEYWORD3>\r
+                       <KEYWORD3>Tableupdate</KEYWORD3>\r
+                       <KEYWORD3>TabOrdering</KEYWORD3>\r
+                       <KEYWORD3>Talk</KEYWORD3>\r
+                       <KEYWORD3>Tan</KEYWORD3>\r
+                       <KEYWORD3>Target</KEYWORD3>\r
+                       <KEYWORD3>Text</KEYWORD3>\r
+                       <KEYWORD3>TextBox</KEYWORD3>\r
+                       <KEYWORD3>Timestamp</KEYWORD3>\r
+                       <KEYWORD3>Timestampdiff</KEYWORD3>\r
+                       <KEYWORD3>To</KEYWORD3>\r
+                       <KEYWORD3>Toolbar</KEYWORD3>\r
+                       <KEYWORD3>Total</KEYWORD3>\r
+                       <KEYWORD3>Transaction</KEYWORD3>\r
+                       <KEYWORD3>Transform</KEYWORD3>\r
+                       <KEYWORD3>Trim</KEYWORD3>\r
+                       <KEYWORD3>Truncate</KEYWORD3>\r
+                       <KEYWORD3>Ttoc</KEYWORD3>\r
+                       <KEYWORD3>Ttod</KEYWORD3>\r
+                       <KEYWORD3>Txnlevel</KEYWORD3>\r
+                       <KEYWORD3>Txtwidth</KEYWORD3>\r
+                       <KEYWORD3>Type</KEYWORD3>\r
+                       <KEYWORD3>Ucase</KEYWORD3>\r
+                       <KEYWORD3>Undefine</KEYWORD3>\r
+                       <KEYWORD3>Unlock</KEYWORD3>\r
+                       <KEYWORD3>Unpack</KEYWORD3>\r
+                       <KEYWORD3>Updatable</KEYWORD3>\r
+                       <KEYWORD3>UpdatableFieldList</KEYWORD3>\r
+                       <KEYWORD3>Update</KEYWORD3>\r
+                       <KEYWORD3>Updated</KEYWORD3>\r
+                       <KEYWORD3>UpdateName</KEYWORD3>\r
+                       <KEYWORD3>UpdateNameList</KEYWORD3>\r
+                       <KEYWORD3>UpdateTrigger</KEYWORD3>\r
+                       <KEYWORD3>UpdateType</KEYWORD3>\r
+                       <KEYWORD3>Upper</KEYWORD3>\r
+                       <KEYWORD3>Upsizing</KEYWORD3>\r
+                       <KEYWORD3>Use</KEYWORD3>\r
+                       <KEYWORD3>Used</KEYWORD3>\r
+                       <KEYWORD3>UseMemoSize</KEYWORD3>\r
+                       <KEYWORD3>Val</KEYWORD3>\r
+                       <KEYWORD3>Validate</KEYWORD3>\r
+                       <KEYWORD3>Values</KEYWORD3>\r
+                       <KEYWORD3>Varread</KEYWORD3>\r
+                       <KEYWORD3>Version</KEYWORD3>\r
+                       <KEYWORD3>Wait</KEYWORD3>\r
+                       <KEYWORD3>WaitTime</KEYWORD3>\r
+                       <KEYWORD3>Wborder</KEYWORD3>\r
+                       <KEYWORD3>Wchild</KEYWORD3>\r
+                       <KEYWORD3>Wcols</KEYWORD3>\r
+                       <KEYWORD3>Week</KEYWORD3>\r
+                       <KEYWORD3>Wexist</KEYWORD3>\r
+                       <KEYWORD3>Wfont</KEYWORD3>\r
+                       <KEYWORD3>Where</KEYWORD3>\r
+                       <KEYWORD3>WhereType</KEYWORD3>\r
+                       <KEYWORD3>While</KEYWORD3>\r
+                       <KEYWORD3>Windcmd</KEYWORD3>\r
+                       <KEYWORD3>Windhelp</KEYWORD3>\r
+                       <KEYWORD3>Windmemo</KEYWORD3>\r
+                       <KEYWORD3>Windmenu</KEYWORD3>\r
+                       <KEYWORD3>Windmodify</KEYWORD3>\r
+                       <KEYWORD3>Windquery</KEYWORD3>\r
+                       <KEYWORD3>Windscreen</KEYWORD3>\r
+                       <KEYWORD3>Windsnip</KEYWORD3>\r
+                       <KEYWORD3>Windstproc</KEYWORD3>\r
+                       <KEYWORD3>With</KEYWORD3>\r
+                       <KEYWORD3>WizardPrompt</KEYWORD3>\r
+                       <KEYWORD3>Wlast</KEYWORD3>\r
+                       <KEYWORD3>Wlcol</KEYWORD3>\r
+                       <KEYWORD3>Wlrow</KEYWORD3>\r
+                       <KEYWORD3>Wmaximum</KEYWORD3>\r
+                       <KEYWORD3>Wminimum</KEYWORD3>\r
+                       <KEYWORD3>Wontop</KEYWORD3>\r
+                       <KEYWORD3>Woutput</KEYWORD3>\r
+                       <KEYWORD3>Wparent</KEYWORD3>\r
+                       <KEYWORD3>Wread</KEYWORD3>\r
+                       <KEYWORD3>Wrows</KEYWORD3>\r
+                       <KEYWORD3>Wtitle</KEYWORD3>\r
+                       <KEYWORD3>Wvisible</KEYWORD3>\r
+                       <KEYWORD3>Year</KEYWORD3>\r
+                       <KEYWORD3>Zap</KEYWORD3>\r
+                       <KEYWORD3>[</KEYWORD3>\r
+                       <KEYWORD3>]</KEYWORD3>\r
+                       <KEYWORD3>^</KEYWORD3>\r
+                       <KEYWORD3>_Alignment</KEYWORD3>\r
+                       <KEYWORD3>_Asciicols</KEYWORD3>\r
+                       <KEYWORD3>_Asciirows</KEYWORD3>\r
+                       <KEYWORD3>_Assist</KEYWORD3>\r
+                       <KEYWORD3>_Beautify</KEYWORD3>\r
+                       <KEYWORD3>_Box</KEYWORD3>\r
+                       <KEYWORD3>_Browser</KEYWORD3>\r
+                       <KEYWORD3>_Builder</KEYWORD3>\r
+                       <KEYWORD3>_Calcmem</KEYWORD3>\r
+                       <KEYWORD3>_Calcvalue</KEYWORD3>\r
+                       <KEYWORD3>_Cliptext</KEYWORD3>\r
+                       <KEYWORD3>_Converter</KEYWORD3>\r
+                       <KEYWORD3>_Curobj</KEYWORD3>\r
+                       <KEYWORD3>_Dblclick</KEYWORD3>\r
+                       <KEYWORD3>_Diarydate</KEYWORD3>\r
+                       <KEYWORD3>_Dos</KEYWORD3>\r
+                       <KEYWORD3>_Foxdoc</KEYWORD3>\r
+                       <KEYWORD3>_Foxgraph</KEYWORD3>\r
+                       <KEYWORD3>_Gengraph</KEYWORD3>\r
+                       <KEYWORD3>_Genmenu</KEYWORD3>\r
+                       <KEYWORD3>_Genpd</KEYWORD3>\r
+                       <KEYWORD3>_Genscrn</KEYWORD3>\r
+                       <KEYWORD3>_Genxtab</KEYWORD3>\r
+                       <KEYWORD3>_Indent</KEYWORD3>\r
+                       <KEYWORD3>_Lmargin</KEYWORD3>\r
+                       <KEYWORD3>_Mac</KEYWORD3>\r
+                       <KEYWORD3>_Mbrowse</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_appnd</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_cpart</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_delet</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_font</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_goto</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_grid</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_link</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_mode</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_mvfld</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_mvprt</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_seek</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mbr_szfld</KEYWORD3>\r
+                       <KEYWORD3>_Mdata</KEYWORD3>\r
+                       <KEYWORD3>_Mda_appnd</KEYWORD3>\r
+                       <KEYWORD3>_Mda_avg</KEYWORD3>\r
+                       <KEYWORD3>_Mda_brow</KEYWORD3>\r
+                       <KEYWORD3>_Mda_calc</KEYWORD3>\r
+                       <KEYWORD3>_Mda_copy</KEYWORD3>\r
+                       <KEYWORD3>_Mda_count</KEYWORD3>\r
+                       <KEYWORD3>_Mda_label</KEYWORD3>\r
+                       <KEYWORD3>_Mda_pack</KEYWORD3>\r
+                       <KEYWORD3>_Mda_reprt</KEYWORD3>\r
+                       <KEYWORD3>_Mda_rindx</KEYWORD3>\r
+                       <KEYWORD3>_Mda_setup</KEYWORD3>\r
+                       <KEYWORD3>_Mda_sort</KEYWORD3>\r
+                       <KEYWORD3>_Mda_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mda_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mda_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Mda_sum</KEYWORD3>\r
+                       <KEYWORD3>_Mda_total</KEYWORD3>\r
+                       <KEYWORD3>_Mdiary</KEYWORD3>\r
+                       <KEYWORD3>_Medit</KEYWORD3>\r
+                       <KEYWORD3>_Med_clear</KEYWORD3>\r
+                       <KEYWORD3>_Med_copy</KEYWORD3>\r
+                       <KEYWORD3>_Med_cut</KEYWORD3>\r
+                       <KEYWORD3>_Med_cvtst</KEYWORD3>\r
+                       <KEYWORD3>_Med_find</KEYWORD3>\r
+                       <KEYWORD3>_Med_finda</KEYWORD3>\r
+                       <KEYWORD3>_Med_goto</KEYWORD3>\r
+                       <KEYWORD3>_Med_insob</KEYWORD3>\r
+                       <KEYWORD3>_Med_link</KEYWORD3>\r
+                       <KEYWORD3>_Med_obj</KEYWORD3>\r
+                       <KEYWORD3>_Med_paste</KEYWORD3>\r
+                       <KEYWORD3>_Med_pref</KEYWORD3>\r
+                       <KEYWORD3>_Med_pstlk</KEYWORD3>\r
+                       <KEYWORD3>_Med_redo</KEYWORD3>\r
+                       <KEYWORD3>_Med_repl</KEYWORD3>\r
+                       <KEYWORD3>_Med_repla</KEYWORD3>\r
+                       <KEYWORD3>_Med_slcta</KEYWORD3>\r
+                       <KEYWORD3>_Med_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Med_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Med_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Med_sp400</KEYWORD3>\r
+                       <KEYWORD3>_Med_sp500</KEYWORD3>\r
+                       <KEYWORD3>_Med_undo</KEYWORD3>\r
+                       <KEYWORD3>_Mfile</KEYWORD3>\r
+                       <KEYWORD3>_Mfiler</KEYWORD3>\r
+                       <KEYWORD3>_Mfirst</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_clall</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_close</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_export</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_import</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_new</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_open</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_pgset</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_prevu</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_print</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_quit</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_revrt</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_savas</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_save</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_send</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_setup</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Mfi_sp400</KEYWORD3>\r
+                       <KEYWORD3>_Mlabel</KEYWORD3>\r
+                       <KEYWORD3>_Mlast</KEYWORD3>\r
+                       <KEYWORD3>_Mline</KEYWORD3>\r
+                       <KEYWORD3>_Mmacro</KEYWORD3>\r
+                       <KEYWORD3>_Mmbldr</KEYWORD3>\r
+                       <KEYWORD3>_Mprog</KEYWORD3>\r
+                       <KEYWORD3>_Mproj</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_beaut</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_cancl</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_compl</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_do</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_docum</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_formwz</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_gener</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_graph</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_resum</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Mpr_suspend</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_appnd</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_chnge</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_cont</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_delet</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_goto</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_locat</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_recal</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_repl</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_seek</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mrc_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mrecord</KEYWORD3>\r
+                       <KEYWORD3>_Mreport</KEYWORD3>\r
+                       <KEYWORD3>_Mrqbe</KEYWORD3>\r
+                       <KEYWORD3>_Mscreen</KEYWORD3>\r
+                       <KEYWORD3>_Msm_data</KEYWORD3>\r
+                       <KEYWORD3>_Msm_edit</KEYWORD3>\r
+                       <KEYWORD3>_Msm_file</KEYWORD3>\r
+                       <KEYWORD3>_Msm_format</KEYWORD3>\r
+                       <KEYWORD3>_Msm_prog</KEYWORD3>\r
+                       <KEYWORD3>_Msm_recrd</KEYWORD3>\r
+                       <KEYWORD3>_Msm_systm</KEYWORD3>\r
+                       <KEYWORD3>_Msm_text</KEYWORD3>\r
+                       <KEYWORD3>_Msm_tools</KEYWORD3>\r
+                       <KEYWORD3>_Msm_view</KEYWORD3>\r
+                       <KEYWORD3>_Msm_windo</KEYWORD3>\r
+                       <KEYWORD3>_Mst_about</KEYWORD3>\r
+                       <KEYWORD3>_Mst_ascii</KEYWORD3>\r
+                       <KEYWORD3>_Mst_calcu</KEYWORD3>\r
+                       <KEYWORD3>_Mst_captr</KEYWORD3>\r
+                       <KEYWORD3>_Mst_dbase</KEYWORD3>\r
+                       <KEYWORD3>_Mst_diary</KEYWORD3>\r
+                       <KEYWORD3>_Mst_filer</KEYWORD3>\r
+                       <KEYWORD3>_Mst_help</KEYWORD3>\r
+                       <KEYWORD3>_Mst_hphow</KEYWORD3>\r
+                       <KEYWORD3>_Mst_hpsch</KEYWORD3>\r
+                       <KEYWORD3>_Mst_macro</KEYWORD3>\r
+                       <KEYWORD3>_Mst_office</KEYWORD3>\r
+                       <KEYWORD3>_Mst_puzzl</KEYWORD3>\r
+                       <KEYWORD3>_Mst_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mst_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mst_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Mst_specl</KEYWORD3>\r
+                       <KEYWORD3>_Msysmenu</KEYWORD3>\r
+                       <KEYWORD3>_Msystem</KEYWORD3>\r
+                       <KEYWORD3>_Mtable</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_appnd</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_cpart</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_delet</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_delrc</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_goto</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_link</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_mvfld</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_mvprt</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_props</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_recal</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_sp300</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_sp400</KEYWORD3>\r
+                       <KEYWORD3>_Mtb_szfld</KEYWORD3>\r
+                       <KEYWORD3>_Mwindow</KEYWORD3>\r
+                       <KEYWORD3>_Mwizards</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_arran</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_clear</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_cmd</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_color</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_debug</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_hide</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_hidea</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_min</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_move</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_rotat</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_showa</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_size</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_sp100</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_sp200</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_toolb</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_trace</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_view</KEYWORD3>\r
+                       <KEYWORD3>_Mwi_zoom</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_all</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_form</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_foxdoc</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_import</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_label</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_mail</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_pivot</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_query</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_reprt</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_setup</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_table</KEYWORD3>\r
+                       <KEYWORD3>_Mwz_upsizing</KEYWORD3>\r
+                       <KEYWORD3>_Netware</KEYWORD3>\r
+                       <KEYWORD3>_Oracle</KEYWORD3>\r
+                       <KEYWORD3>_Padvance</KEYWORD3>\r
+                       <KEYWORD3>_Pageno</KEYWORD3>\r
+                       <KEYWORD3>_Pbpage</KEYWORD3>\r
+                       <KEYWORD3>_Pcolno</KEYWORD3>\r
+                       <KEYWORD3>_Pcopies</KEYWORD3>\r
+                       <KEYWORD3>_Pdparms</KEYWORD3>\r
+                       <KEYWORD3>_Pdriver</KEYWORD3>\r
+                       <KEYWORD3>_Pdsetup</KEYWORD3>\r
+                       <KEYWORD3>_Pecode</KEYWORD3>\r
+                       <KEYWORD3>_Peject</KEYWORD3>\r
+                       <KEYWORD3>_Pepage</KEYWORD3>\r
+                       <KEYWORD3>_Pform</KEYWORD3>\r
+                       <KEYWORD3>_Plength</KEYWORD3>\r
+                       <KEYWORD3>_Plineno</KEYWORD3>\r
+                       <KEYWORD3>_Ploffset</KEYWORD3>\r
+                       <KEYWORD3>_Ppitch</KEYWORD3>\r
+                       <KEYWORD3>_Pquality</KEYWORD3>\r
+                       <KEYWORD3>_Pretext</KEYWORD3>\r
+                       <KEYWORD3>_Pscode</KEYWORD3>\r
+                       <KEYWORD3>_Pspacing</KEYWORD3>\r
+                       <KEYWORD3>_Pwait</KEYWORD3>\r
+                       <KEYWORD3>_Rmargin</KEYWORD3>\r
+                       <KEYWORD3>_Screen</KEYWORD3>\r
+                       <KEYWORD3>_Shell</KEYWORD3>\r
+                       <KEYWORD3>_Spellchk</KEYWORD3>\r
+                       <KEYWORD3>_Sqlserver</KEYWORD3>\r
+                       <KEYWORD3>_Startup</KEYWORD3>\r
+                       <KEYWORD3>_Tabs</KEYWORD3>\r
+                       <KEYWORD3>_Tally</KEYWORD3>\r
+                       <KEYWORD3>_Text</KEYWORD3>\r
+                       <KEYWORD3>_Throttle</KEYWORD3>\r
+                       <KEYWORD3>_Transport</KEYWORD3>\r
+                       <KEYWORD3>_Triggerlevel</KEYWORD3>\r
+                       <KEYWORD3>_Unix</KEYWORD3>\r
+                       <KEYWORD3>_Windows</KEYWORD3>\r
+                       <KEYWORD3>_Wizard</KEYWORD3>\r
+                       <KEYWORD3>_Wrap</KEYWORD3>\r
+                       <KEYWORD3>French</KEYWORD3>\r
+                       <KEYWORD3>German</KEYWORD3>\r
+                       <KEYWORD3>Italian</KEYWORD3>\r
+                       <KEYWORD3>Japan</KEYWORD3>\r
+                       <KEYWORD3>Usa</KEYWORD3>\r
+                       <KEYWORD3>Lparameter</KEYWORD3>\r
+                       <KEYWORD3>This</KEYWORD3>\r
+                       <KEYWORD3>Thisform</KEYWORD3>\r
+                       <KEYWORD3>Thisformset</KEYWORD3>\r
+                       <KEYWORD3>F</KEYWORD3>\r
+                       <KEYWORD3>T</KEYWORD3>\r
+                       <KEYWORD3>N</KEYWORD3>\r
+                       <KEYWORD3>Y</KEYWORD3>\r
+                       <KEYWORD3>OlePublic</KEYWORD3>\r
+                       <KEYWORD3>Hidden</KEYWORD3>\r
+                       <KEYWORD3>Each</KEYWORD3>\r
+                       <KEYWORD3>DoEvents</KEYWORD3>\r
+                       <KEYWORD3>Dll</KEYWORD3>\r
+                       <KEYWORD3>Outer</KEYWORD3>\r
+                       <KEYWORD3>At_c</KEYWORD3>\r
+                       <KEYWORD3>Atcc</KEYWORD3>\r
+                       <KEYWORD3>Ratc</KEYWORD3>\r
+                       <KEYWORD3>Leftc</KEYWORD3>\r
+                       <KEYWORD3>Rightc</KEYWORD3>\r
+                       <KEYWORD3>Substrc</KEYWORD3>\r
+                       <KEYWORD3>Stuffc</KEYWORD3>\r
+                       <KEYWORD3>Lenc</KEYWORD3>\r
+                       <KEYWORD3>Chrtranc</KEYWORD3>\r
+                       <KEYWORD3>IsLeadByte</KEYWORD3>\r
+                       <KEYWORD3>IMEStatus</KEYWORD3>\r
+                       <KEYWORD3>Strconv</KEYWORD3>\r
+                       <KEYWORD3>BinToC</KEYWORD3>\r
+                       <KEYWORD3>CToBin</KEYWORD3>\r
+                       <KEYWORD3>IsFLocked</KEYWORD3>\r
+                       <KEYWORD3>IsRLocked</KEYWORD3>\r
+                       <KEYWORD3>LoadPicture</KEYWORD3>\r
+                       <KEYWORD3>SavePicture</KEYWORD3>\r
+                       <KEYWORD3>Assert</KEYWORD3>\r
+                       <KEYWORD3>DoDefault</KEYWORD3>\r
+                       <KEYWORD3>_WebMenu</KEYWORD3>\r
+                       <KEYWORD3>_scctext</KEYWORD3>\r
+                       <KEYWORD3>_WebVFPHomePage</KEYWORD3>\r
+                       <KEYWORD3>_WebVfpOnlineSupport</KEYWORD3>\r
+                       <KEYWORD3>_WebDevOnly</KEYWORD3>\r
+                       <KEYWORD3>_WebMsftHomePage</KEYWORD3>\r
+                       <KEYWORD3>_Coverage</KEYWORD3>\r
+                       <KEYWORD3>_vfp</KEYWORD3>\r
+                       <KEYWORD3>Bintoc</KEYWORD3>\r
+                       <KEYWORD3>Resources</KEYWORD3>\r
+                       <KEYWORD3>Ctobin</KEYWORD3>\r
+                       <KEYWORD3>Createoffline</KEYWORD3>\r
+                       <KEYWORD3>Debugout</KEYWORD3>\r
+                       <KEYWORD3>Doevents</KEYWORD3>\r
+                       <KEYWORD3>Dropoffline</KEYWORD3>\r
+                       <KEYWORD3>Each</KEYWORD3>\r
+                       <KEYWORD3>Isflocked</KEYWORD3>\r
+                       <KEYWORD3>Isrlocked</KEYWORD3>\r
+                       <KEYWORD3>Loadpicture</KEYWORD3>\r
+                       <KEYWORD3>Revertoffline</KEYWORD3>\r
+                       <KEYWORD3>Savepicture</KEYWORD3>\r
+                       <KEYWORD3>Asserts</KEYWORD3>\r
+                       <KEYWORD3>Coverage</KEYWORD3>\r
+                       <KEYWORD3>Eventtracking</KEYWORD3>\r
+                       <KEYWORD3>DBGetProp</KEYWORD3>\r
+                       <KEYWORD3>DBSetProp</KEYWORD3>\r
+                       <KEYWORD3>CursorGetProp</KEYWORD3>\r
+                       <KEYWORD3>CursorSetProp</KEYWORD3>\r
+                       <KEYWORD3>Addbs</KEYWORD3>\r
+                       <KEYWORD3>Agetclass</KEYWORD3>\r
+                       <KEYWORD3>Agetfileversion</KEYWORD3>\r
+                       <KEYWORD3>Alines</KEYWORD3>\r
+                       <KEYWORD3>Amouseobj</KEYWORD3>\r
+                       <KEYWORD3>Anetresources</KEYWORD3>\r
+                       <KEYWORD3>Avcxclasses</KEYWORD3>\r
+                       <KEYWORD3>Comclassinfo</KEYWORD3>\r
+                       <KEYWORD3>Createobjectex</KEYWORD3>\r
+                       <KEYWORD3>Defaultext</KEYWORD3>\r
+                       <KEYWORD3>Drivetype</KEYWORD3>\r
+                       <KEYWORD3>Filetostr</KEYWORD3>\r
+                       <KEYWORD3>Forceext</KEYWORD3>\r
+                       <KEYWORD3>Forcepath</KEYWORD3>\r
+                       <KEYWORD3>Gethost</KEYWORD3>\r
+                       <KEYWORD3>Indexseek</KEYWORD3>\r
+                       <KEYWORD3>Ishosted</KEYWORD3>\r
+                       <KEYWORD3>Justdrive</KEYWORD3>\r
+                       <KEYWORD3>Justext</KEYWORD3>\r
+                       <KEYWORD3>Justfname</KEYWORD3>\r
+                       <KEYWORD3>Justpath</KEYWORD3>\r
+                       <KEYWORD3>Juststem</KEYWORD3>\r
+                       <KEYWORD3>Newobject</KEYWORD3>\r
+                       <KEYWORD3>Olereturnerror</KEYWORD3>\r
+                       <KEYWORD3>Strtofile</KEYWORD3>\r
+                       <KEYWORD3>Vartype</KEYWORD3>\r
+                       <KEYWORD3>_Coverage</KEYWORD3>\r
+                       <KEYWORD3>_Gallery</KEYWORD3>\r
+                       <KEYWORD3>_Genhtml</KEYWORD3>\r
+                       <KEYWORD3>_Getexpr</KEYWORD3>\r
+                       <KEYWORD3>_Include</KEYWORD3>\r
+                       <KEYWORD3>_Runactivedoc</KEYWORD3>\r
+                       <KEYWORD3>ProjectHook</KEYWORD3>\r
+                       <KEYWORD3>ActiveDoc</KEYWORD3>\r
+                       <KEYWORD3>HyperLink</KEYWORD3>\r
+                       <KEYWORD3>Session</KEYWORD3>\r
+                       <KEYWORD3>Mtdll</KEYWORD3>\r
+\r
+                       <!-- New in Visual Foxpro 8.0 -->\r
+                       <KEYWORD3>ADOCKTIP</KEYWORD3>\r
+                       <KEYWORD3>ADirtip</KEYWORD3>\r
+                       <KEYWORD3>ADockState</KEYWORD3>\r
+                       <KEYWORD3>AEvents</KEYWORD3>\r
+                       <KEYWORD3>AFONTTIP</KEYWORD3>\r
+                       <KEYWORD3>ALanguage</KEYWORD3>\r
+                       <KEYWORD3>AProcInfo</KEYWORD3>\r
+                       <KEYWORD3>AStackInfo</KEYWORD3>\r
+                       <KEYWORD3>ATagInfo</KEYWORD3>\r
+                       <KEYWORD3>Adlls</KEYWORD3>\r
+                       <KEYWORD3>Alentip</KEYWORD3>\r
+                       <KEYWORD3>Amemberstip</KEYWORD3>\r
+                       <KEYWORD3>Amemberstip2</KEYWORD3>\r
+                       <KEYWORD3>Ascantip</KEYWORD3>\r
+                       <KEYWORD3>Aselobjtip</KEYWORD3>\r
+                       <KEYWORD3>Asessions</KEYWORD3>\r
+                       <KEYWORD3>Asorttip</KEYWORD3>\r
+                       <KEYWORD3>Asorttip2</KEYWORD3>\r
+                       <KEYWORD3>BINDEVENTTIP</KEYWORD3>\r
+                       <KEYWORD3>BindEvent</KEYWORD3>\r
+                       <KEYWORD3>COMARRAYTIP</KEYWORD3>\r
+                       <KEYWORD3>COMPROPTIP</KEYWORD3>\r
+                       <KEYWORD3>Candidate</KEYWORD3>\r
+                       <KEYWORD3>Cdx</KEYWORD3>\r
+                       <KEYWORD3>ComArray</KEYWORD3>\r
+                       <KEYWORD3>ComReturnError</KEYWORD3>\r
+                       <KEYWORD3>Comprop</KEYWORD3>\r
+                       <KEYWORD3>CreateBinary</KEYWORD3>\r
+                       <KEYWORD3>CursorToXML</KEYWORD3>\r
+                       <KEYWORD3>DIRTIP</KEYWORD3>\r
+                       <KEYWORD3>Descending</KEYWORD3>\r
+                       <KEYWORD3>DisplayPath</KEYWORD3>\r
+                       <KEYWORD3>EditSource</KEYWORD3>\r
+                       <KEYWORD3>EventHandler</KEYWORD3>\r
+                       <KEYWORD3>Evl</KEYWORD3>\r
+                       <KEYWORD3>ExecScript</KEYWORD3>\r
+                       <KEYWORD3>FCREATETIP</KEYWORD3>\r
+                       <KEYWORD3>FIELDTIP</KEYWORD3>\r
+                       <KEYWORD3>FILETIP</KEYWORD3>\r
+                       <KEYWORD3>FOPENTIP</KEYWORD3>\r
+                       <KEYWORD3>FSEEKTIP</KEYWORD3>\r
+                       <KEYWORD3>Fdate</KEYWORD3>\r
+                       <KEYWORD3>Ftime</KEYWORD3>\r
+                       <KEYWORD3>GetCursorAdapter</KEYWORD3>\r
+                       <KEYWORD3>GetInterface</KEYWORD3>\r
+                       <KEYWORD3>GetPem</KEYWORD3>\r
+                       <KEYWORD3>GetWordCount</KEYWORD3>\r
+                       <KEYWORD3>GetWordNum</KEYWORD3>\r
+                       <KEYWORD3>InputBox</KEYWORD3>\r
+                       <KEYWORD3>IsBlank</KEYWORD3>\r
+                       <KEYWORD3>IsMouse</KEYWORD3>\r
+                       <KEYWORD3>Like</KEYWORD3>\r
+                       <KEYWORD3>Likec</KEYWORD3>\r
+                       <KEYWORD3>Memory</KEYWORD3>\r
+                       <KEYWORD3>Msgboxtip</KEYWORD3>\r
+                       <KEYWORD3>Pcount</KEYWORD3>\r
+                       <KEYWORD3>PemStatus</KEYWORD3>\r
+                       <KEYWORD3>Popup</KEYWORD3>\r
+                       <KEYWORD3>Quarter</KEYWORD3>\r
+                       <KEYWORD3>RaiseEvent</KEYWORD3>\r
+                       <KEYWORD3>RemoveProperty</KEYWORD3>\r
+                       <KEYWORD3>SQLCancel</KEYWORD3>\r
+                       <KEYWORD3>SQLColumns</KEYWORD3>\r
+                       <KEYWORD3>SQLDisconnect</KEYWORD3>\r
+                       <KEYWORD3>SQLExec</KEYWORD3>\r
+                       <KEYWORD3>SQLGetProp</KEYWORD3>\r
+                       <KEYWORD3>SQLMoreResults</KEYWORD3>\r
+                       <KEYWORD3>SQLPrepare</KEYWORD3>\r
+                       <KEYWORD3>SQLSetProp</KEYWORD3>\r
+                       <KEYWORD3>SQLTables</KEYWORD3>\r
+                       <KEYWORD3>STRTOFILETIP</KEYWORD3>\r
+                       <KEYWORD3>Seconds</KEYWORD3>\r
+                       <KEYWORD3>StrExTip</KEYWORD3>\r
+                       <KEYWORD3>StrExtract</KEYWORD3>\r
+                       <KEYWORD3>Strtrantip</KEYWORD3>\r
+                       <KEYWORD3>Tagcount</KEYWORD3>\r
+                       <KEYWORD3>Tagno</KEYWORD3>\r
+                       <KEYWORD3>Textmerge</KEYWORD3>\r
+                       <KEYWORD3>Try</KEYWORD3>\r
+                       <KEYWORD3>UnBindEvents</KEYWORD3>\r
+                       <KEYWORD3>WDockable</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP2</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP3</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP4</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP5</KEYWORD3>\r
+                       <KEYWORD3>XMLTIP6</KEYWORD3>\r
+                       <KEYWORD3>XMLToCursor</KEYWORD3>\r
+                       <KEYWORD3>XMLUpdategram</KEYWORD3>\r
+                       <KEYWORD3>Blank</KEYWORD3>\r
+                       <KEYWORD3>Catch</KEYWORD3>\r
+                       <KEYWORD3>Dotip</KEYWORD3>\r
+                       <KEYWORD3>EndTry</KEYWORD3>\r
+                       <KEYWORD3>Finally</KEYWORD3>\r
+                       <KEYWORD3>Implements</KEYWORD3>\r
+                       <KEYWORD3>Opendatatip</KEYWORD3>\r
+                       <KEYWORD3>Repltip</KEYWORD3>\r
+                       <KEYWORD3>Throw</KEYWORD3>\r
+                       <KEYWORD3>Usetip</KEYWORD3>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/freemarker.xml b/basis/xmode/modes/freemarker.xml
new file mode 100644 (file)
index 0000000..065e5f9
--- /dev/null
@@ -0,0 +1,205 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- A JEdit mode configuration file for FTL (FreeMarker Template Language)\r
+     Note that this version will only work with JEdit 4.1pre6 or later.\r
+     by Jonathan Revusky, revusky@users.sourceforge.net -->\r
+\r
+<MODE>\r
+  <RULES IGNORE_CASE="FALSE">\r
+\r
+    <!-- JavaScript -->\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+    <BEGIN>&lt;script</BEGIN>\r
+    <END>&lt;/script&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+    <BEGIN>&lt;Script</BEGIN>\r
+    <END>&lt;/Script&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+    <BEGIN>&lt;SCRIPT</BEGIN>\r
+    <END>&lt;/SCRIPT&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- stylesheet -->\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+    <BEGIN>&lt;style</BEGIN>\r
+    <END>&lt;/style&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+    <BEGIN>&lt;Style</BEGIN>\r
+    <END>&lt;/Style&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+    <BEGIN>&lt;STYLE</BEGIN>\r
+    <END>&lt;/STYLE&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- XML/HTML comment -->\r
+    <SPAN TYPE="COMMENT2" DELEGATE="xml::DTD-TAGS">\r
+    <BEGIN>&lt;!--</BEGIN>\r
+    <END>--&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- DTD instructions -->\r
+    <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+    <BEGIN>&lt;!</BEGIN>\r
+    <END>&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- FTL markup starts here. -->\r
+\r
+    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
+      <BEGIN>${</BEGIN>\r
+      <END>}</END>\r
+    </SPAN>\r
+\r
+    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
+      <BEGIN>#{</BEGIN>\r
+      <END>}</END>\r
+    </SPAN>\r
+\r
+    <SPAN_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;#ftl" DELEGATE="EXPRESSION">\r
+      <BEGIN>&lt;#ftl\b</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;">\r
+      <BEGIN>&lt;#?(if|elseif|switch|foreach|list|case|assign|local|global|setting|include|import|stop|escape|macro|function|transform|call|visit|recurse)(\s|/|$)</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;/"\r
+       >&lt;/#?(assign|local|global|if|switch|foreach|list|escape|macro|function|transform|compress|noescape)&gt;</SEQ_REGEXP>\r
+\r
+    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;">\r
+      <BEGIN>&lt;#?(else|compress|noescape|default|break|flush|nested|t|rt|lt|return|recurse)\b</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;/@">\r
+      <BEGIN>&lt;/@(([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*)*?)?</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;@">\r
+      <BEGIN>&lt;@([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*?)*</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>&lt;#--</BEGIN>\r
+      <END>--&gt;</END>\r
+    </SPAN>\r
+\r
+    <SEQ TYPE="KEYWORD1">&lt;stop&gt;</SEQ>\r
+     <SPAN TYPE="COMMENT1">\r
+    <BEGIN>&lt;comment&gt;</BEGIN>\r
+    <END>&lt;/comment&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="INVALID">\r
+      <BEGIN>&lt;#</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="INVALID">\r
+      <BEGIN>&lt;/#</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- non-FTL markup -->\r
+    <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+    <BEGIN>&lt;</BEGIN>\r
+    <END>&gt;</END>\r
+    </SPAN>\r
+  </RULES>\r
+\r
+  <RULES SET="EXPRESSION"\r
+      DEFAULT="KEYWORD2"\r
+      HIGHLIGHT_DIGITS="TRUE"\r
+      ESCAPE="\"\r
+      IGNORE_CASE="FALSE"\r
+    >\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>&lt;#--</BEGIN>\r
+      <END>--&gt;</END>\r
+    </SPAN>\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>&lt;!--</BEGIN>\r
+      <END>--&gt;</END>\r
+    </SPAN>\r
+\r
+    <SPAN TYPE="LITERAL1">\r
+    <BEGIN>"</BEGIN>\r
+    <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="OPERATOR" DELEGATE="EXPRESSION">\r
+      <BEGIN>(</BEGIN><END>)</END>\r
+    </SPAN>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">!</SEQ>\r
+    <SEQ TYPE="OPERATOR">|</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">%</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+    <SEQ TYPE="OPERATOR">:</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+    <SEQ TYPE="OPERATOR">[</SEQ>\r
+    <SEQ TYPE="OPERATOR">]</SEQ>\r
+    <SEQ TYPE="OPERATOR">{</SEQ>\r
+    <SEQ TYPE="OPERATOR">}</SEQ>\r
+    <SEQ TYPE="OPERATOR">;</SEQ>\r
+    <!-- Builtins -->\r
+    <MARK_FOLLOWING TYPE="FUNCTION">?</MARK_FOLLOWING>\r
+    <KEYWORDS>\r
+      <KEYWORD1>true</KEYWORD1>\r
+      <KEYWORD1>false</KEYWORD1>\r
+      <KEYWORD1>as</KEYWORD1>\r
+      <KEYWORD1>in</KEYWORD1>\r
+      <KEYWORD1>using</KEYWORD1>\r
+      <OPERATOR>gt</OPERATOR>\r
+      <OPERATOR>gte</OPERATOR>\r
+      <OPERATOR>lt</OPERATOR>\r
+      <OPERATOR>lte</OPERATOR>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+  <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">\r
+    <BEGIN>"</BEGIN>\r
+    <END>"</END>\r
+    </SPAN>\r
+\r
+    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">\r
+    <BEGIN>'</BEGIN>\r
+    <END>'</END>\r
+    </SPAN>\r
+\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+  </RULES>\r
+\r
+\r
+  <!-- a ruleset for when we are within a quoted string within an SGML tag\r
+       It can contain FTL interpolations -->\r
+  <RULES SET="INQUOTE">\r
+    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
+    <BEGIN>${</BEGIN>\r
+    <END>}</END>\r
+    </SPAN>\r
+    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
+    <BEGIN>#{</BEGIN>\r
+    <END>}</END>\r
+    </SPAN>\r
+  </RULES>\r
+\r
+  <!-- empty ruleset to delegate to for spots where any non-whitespace is invalid -->\r
+  <RULES SET="INVALID" DEFAULT="INVALID" />\r
+</MODE>\r
diff --git a/basis/xmode/modes/gettext.xml b/basis/xmode/modes/gettext.xml
new file mode 100644 (file)
index 0000000..b84e7c4
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+<!--\r
+       ** jEdit edit mode for gettext catalogs (.po/.pot extension)\r
+       ** Use the ConfigurableFoldHandler plugin for optimal\r
+       ** results. =)\r
+-->\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="# " />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT2">#:</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1"># </EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">#.</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">#~</EOL_SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="COMMENT2">#,</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">%</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">@</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="QUOTED" >\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- keywords -->\r
+               <KEYWORDS>\r
+                       <KEYWORD1>msgid</KEYWORD1>\r
+                       <KEYWORD1>msgid_plural</KEYWORD1>\r
+                       <KEYWORD1>msgstr</KEYWORD1>\r
+                       <KEYWORD2>fuzzy</KEYWORD2>\r
+<!--           ** Ideally, we'd highlight the next msgstr differently\r
+                       ** whenever fuzzy is encountered, but this doesn't seem\r
+                       ** to be possible just yet.\r
+-->\r
+                       <KEYWORD2>c-format</KEYWORD2>\r
+                       <KEYWORD2>no-c-format</KEYWORD2>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+       <RULES SET="QUOTED" DEFAULT="LITERAL1">\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>\"</BEGIN>\r
+                       <END>\"</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">%</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">@</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/gnuplot.xml b/basis/xmode/modes/gnuplot.xml
new file mode 100644 (file)
index 0000000..f66a169
--- /dev/null
@@ -0,0 +1,270 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- COBOL mode, by Loren Charnley III -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\"  IGNORE_CASE="FALSE">\r
+\r
+       <!-- Comments -->\r
+       <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+       <!-- Literals -->\r
+       <SPAN TYPE="LITERAL1">\r
+               <BEGIN>"</BEGIN>\r
+               <END>"</END>\r
+       </SPAN>\r
+       <SPAN TYPE="LITERAL2">\r
+               <BEGIN>'</BEGIN>\r
+               <END>'</END>\r
+       </SPAN>\r
+\r
+       <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+               <BEGIN>[</BEGIN>\r
+               <END>]</END>\r
+       </SPAN>\r
+\r
+       <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+               <BEGIN>{</BEGIN>\r
+               <END>}</END>\r
+       </SPAN>\r
+\r
+       <!-- Operators -->\r
+       <SEQ TYPE="OPERATOR">-</SEQ>\r
+       <SEQ TYPE="OPERATOR">+</SEQ>\r
+       <SEQ TYPE="OPERATOR">~</SEQ>\r
+       <SEQ TYPE="OPERATOR">!</SEQ>\r
+       <SEQ TYPE="OPERATOR">$</SEQ>\r
+       <SEQ TYPE="OPERATOR">*</SEQ>\r
+       <SEQ TYPE="OPERATOR">%</SEQ>\r
+       <SEQ TYPE="OPERATOR">=</SEQ>\r
+       <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+       <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+       <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+       <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+       <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+       <SEQ TYPE="OPERATOR">|</SEQ>\r
+       <SEQ TYPE="OPERATOR">^</SEQ>\r
+       <SEQ TYPE="OPERATOR">?</SEQ>\r
+       <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+       <!-- Function calls -->\r
+       <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+\r
+       <!-- Keywords -->\r
+       <KEYWORDS>\r
+\r
+               <!-- GNUplot Commands -->\r
+               <KEYWORD1>cd</KEYWORD1>\r
+               <KEYWORD1>call</KEYWORD1>\r
+               <KEYWORD1>clear</KEYWORD1>\r
+               <KEYWORD1>exit</KEYWORD1>\r
+               <KEYWORD1>fit</KEYWORD1>\r
+               <KEYWORD1>help</KEYWORD1>\r
+               <KEYWORD1>history</KEYWORD1>\r
+               <KEYWORD1>if</KEYWORD1>\r
+               <KEYWORD1>load</KEYWORD1>\r
+               <KEYWORD1>pause</KEYWORD1>\r
+               <KEYWORD1>plot</KEYWORD1>\r
+                       <KEYWORD1>using</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>index</KEYWORD1>\r
+                       <KEYWORD1>every</KEYWORD1>\r
+                       <KEYWORD1>smooth</KEYWORD1>\r
+                       <KEYWORD1>thru</KEYWORD1>\r
+               <KEYWORD1>print</KEYWORD1>\r
+               <KEYWORD1>pwd</KEYWORD1>\r
+               <KEYWORD1>quit</KEYWORD1>\r
+               <KEYWORD1>replot</KEYWORD1>\r
+               <KEYWORD1>reread</KEYWORD1>\r
+               <KEYWORD1>reset</KEYWORD1>\r
+               <KEYWORD1>save</KEYWORD1>\r
+               <KEYWORD1>set</KEYWORD1>\r
+               <KEYWORD1>show</KEYWORD1>\r
+               <KEYWORD1>unset</KEYWORD1>\r
+               <KEYWORD1>shell</KEYWORD1>\r
+               <KEYWORD1>splot</KEYWORD1>\r
+               <KEYWORD1>system</KEYWORD1>\r
+               <KEYWORD1>test</KEYWORD1>\r
+               <KEYWORD1>unset</KEYWORD1>\r
+               <KEYWORD1>update</KEYWORD1>\r
+\r
+               <!-- GNUplot Functions -->\r
+               <KEYWORD2>abs</KEYWORD2>\r
+               <KEYWORD2>acos</KEYWORD2>\r
+               <KEYWORD2>acosh</KEYWORD2>\r
+               <KEYWORD2>arg</KEYWORD2>\r
+               <KEYWORD2>asin</KEYWORD2>\r
+               <KEYWORD2>asinh</KEYWORD2>\r
+               <KEYWORD2>atan</KEYWORD2>\r
+               <KEYWORD2>atan2</KEYWORD2>\r
+               <KEYWORD2>atanh</KEYWORD2>\r
+               <KEYWORD2>besj0</KEYWORD2>\r
+               <KEYWORD2>besj1</KEYWORD2>\r
+               <KEYWORD2>besy0</KEYWORD2>\r
+               <KEYWORD2>besy1</KEYWORD2>\r
+               <KEYWORD2>ceil</KEYWORD2>\r
+               <KEYWORD2>cos</KEYWORD2>\r
+               <KEYWORD2>cosh</KEYWORD2>\r
+               <KEYWORD2>erf</KEYWORD2>\r
+               <KEYWORD2>erfc</KEYWORD2>\r
+               <KEYWORD2>exp</KEYWORD2>\r
+               <KEYWORD2>floor</KEYWORD2>\r
+               <KEYWORD2>gamma</KEYWORD2>\r
+               <KEYWORD2>ibeta</KEYWORD2>\r
+               <KEYWORD2>inverf</KEYWORD2>\r
+               <KEYWORD2>igamma</KEYWORD2>\r
+               <KEYWORD2>imag</KEYWORD2>\r
+               <KEYWORD2>invnorm</KEYWORD2>\r
+               <KEYWORD2>int</KEYWORD2>\r
+               <KEYWORD2>lambertw</KEYWORD2>\r
+               <KEYWORD2>lgamma</KEYWORD2>\r
+               <KEYWORD2>log</KEYWORD2>\r
+               <KEYWORD2>log10</KEYWORD2>\r
+               <KEYWORD2>norm</KEYWORD2>\r
+               <KEYWORD2>rand</KEYWORD2>\r
+               <KEYWORD2>real</KEYWORD2>\r
+               <KEYWORD2>sgn</KEYWORD2>\r
+               <KEYWORD2>sin</KEYWORD2>\r
+               <KEYWORD2>sinh</KEYWORD2>\r
+               <KEYWORD2>sqrt</KEYWORD2>\r
+               <KEYWORD2>tan</KEYWORD2>\r
+               <KEYWORD2>tanh</KEYWORD2>\r
+               <KEYWORD2>column</KEYWORD2>\r
+               <KEYWORD2>defined</KEYWORD2>\r
+               <KEYWORD2>tm_hour</KEYWORD2>\r
+               <KEYWORD2>tm_mday</KEYWORD2>\r
+               <KEYWORD2>tm_min</KEYWORD2>\r
+               <KEYWORD2>tm_mon</KEYWORD2>\r
+               <KEYWORD2>tm_sec</KEYWORD2>\r
+               <KEYWORD2>tm_wday</KEYWORD2>\r
+               <KEYWORD2>tm_yday</KEYWORD2>\r
+               <KEYWORD2>tm_year</KEYWORD2>\r
+               <KEYWORD2>valid</KEYWORD2>\r
+\r
+               <!-- GNUplot Built-in Variables -->\r
+               <KEYWORD3>angles</KEYWORD3>\r
+               <KEYWORD3>arrow</KEYWORD3>\r
+               <KEYWORD3>autoscale</KEYWORD3>\r
+               <KEYWORD3>bars</KEYWORD3>\r
+               <KEYWORD3>bmargin</KEYWORD3>\r
+               <KEYWORD3>border</KEYWORD3>\r
+               <KEYWORD3>boxwidth</KEYWORD3>\r
+               <KEYWORD3>clabel</KEYWORD3>\r
+               <KEYWORD3>clip</KEYWORD3>\r
+               <KEYWORD3>cntrparam</KEYWORD3>\r
+               <KEYWORD3>colorbox</KEYWORD3>\r
+               <KEYWORD3>contour</KEYWORD3>\r
+               <KEYWORD3>datafile </KEYWORD3>\r
+               <KEYWORD3>decimalsign</KEYWORD3>\r
+               <KEYWORD3>dgrid3d</KEYWORD3>\r
+               <KEYWORD3>dummy</KEYWORD3>\r
+               <KEYWORD3>encoding</KEYWORD3>\r
+               <KEYWORD3>fit</KEYWORD3>\r
+               <KEYWORD3>fontpath</KEYWORD3>\r
+               <KEYWORD3>format</KEYWORD3>\r
+               <KEYWORD3>functions</KEYWORD3>\r
+               <KEYWORD3>function</KEYWORD3>\r
+               <KEYWORD3>grid</KEYWORD3>\r
+               <KEYWORD3>hidden3d</KEYWORD3>\r
+               <KEYWORD3>historysize</KEYWORD3>\r
+               <KEYWORD3>isosamples</KEYWORD3>\r
+               <KEYWORD3>key</KEYWORD3>\r
+               <KEYWORD3>label</KEYWORD3>\r
+               <KEYWORD3>lmargin</KEYWORD3>\r
+               <KEYWORD3>loadpath</KEYWORD3>\r
+               <KEYWORD3>locale</KEYWORD3>\r
+               <KEYWORD3>logscale</KEYWORD3>\r
+               <KEYWORD3>mapping</KEYWORD3>\r
+               <KEYWORD3>margin</KEYWORD3>\r
+               <KEYWORD3>mouse</KEYWORD3>\r
+               <KEYWORD3>multiplot</KEYWORD3>\r
+               <KEYWORD3>mx2tics</KEYWORD3>\r
+               <KEYWORD3>mxtics</KEYWORD3>\r
+               <KEYWORD3>my2tics</KEYWORD3>\r
+               <KEYWORD3>mytics</KEYWORD3>\r
+               <KEYWORD3>mztics</KEYWORD3>\r
+               <KEYWORD3>offsets</KEYWORD3>\r
+               <KEYWORD3>origin</KEYWORD3>\r
+               <KEYWORD3>output</KEYWORD3>\r
+               <KEYWORD3>parametric</KEYWORD3>\r
+               <KEYWORD3>plot</KEYWORD3>\r
+               <KEYWORD3>pm3d</KEYWORD3>\r
+               <KEYWORD3>palette</KEYWORD3>\r
+               <KEYWORD3>pointsize</KEYWORD3>\r
+               <KEYWORD3>polar</KEYWORD3>\r
+               <KEYWORD3>print</KEYWORD3>\r
+               <KEYWORD3>rmargin</KEYWORD3>\r
+               <KEYWORD3>rrange</KEYWORD3>\r
+               <KEYWORD3>samples</KEYWORD3>\r
+               <KEYWORD3>size</KEYWORD3>\r
+               <KEYWORD3>style</KEYWORD3>\r
+               <KEYWORD3>surface</KEYWORD3>\r
+               <KEYWORD3>terminal</KEYWORD3>\r
+               <KEYWORD3>tics</KEYWORD3>\r
+               <KEYWORD3>ticslevel</KEYWORD3>\r
+               <KEYWORD3>ticscale</KEYWORD3>\r
+               <KEYWORD3>timestamp</KEYWORD3>\r
+               <KEYWORD3>timefmt</KEYWORD3>\r
+               <KEYWORD3>title</KEYWORD3>\r
+               <KEYWORD3>tmargin</KEYWORD3>\r
+               <KEYWORD3>trange</KEYWORD3>\r
+               <KEYWORD3>urange</KEYWORD3>\r
+               <KEYWORD3>variables</KEYWORD3>\r
+               <KEYWORD3>version</KEYWORD3>\r
+               <KEYWORD3>view</KEYWORD3>\r
+               <KEYWORD3>vrange</KEYWORD3>\r
+               <KEYWORD3>x2data</KEYWORD3>\r
+               <KEYWORD3>x2dtics</KEYWORD3>\r
+               <KEYWORD3>x2label</KEYWORD3>\r
+               <KEYWORD3>x2mtics</KEYWORD3>\r
+               <KEYWORD3>x2range</KEYWORD3>\r
+               <KEYWORD3>x2tics</KEYWORD3>\r
+               <KEYWORD3>x2zeroaxis</KEYWORD3>\r
+               <KEYWORD3>xdata</KEYWORD3>\r
+               <KEYWORD3>xdtics</KEYWORD3>\r
+               <KEYWORD3>xlabel</KEYWORD3>\r
+               <KEYWORD3>xmtics</KEYWORD3>\r
+               <KEYWORD3>xrange</KEYWORD3>\r
+               <KEYWORD3>xtics</KEYWORD3>\r
+               <KEYWORD3>xzeroaxis</KEYWORD3>\r
+               <KEYWORD3>y2data</KEYWORD3>\r
+               <KEYWORD3>y2dtics</KEYWORD3>\r
+               <KEYWORD3>y2label</KEYWORD3>\r
+               <KEYWORD3>y2mtics</KEYWORD3>\r
+               <KEYWORD3>y2range</KEYWORD3>\r
+               <KEYWORD3>y2tics</KEYWORD3>\r
+               <KEYWORD3>y2zeroaxis</KEYWORD3>\r
+               <KEYWORD3>ydata</KEYWORD3>\r
+               <KEYWORD3>ydtics</KEYWORD3>\r
+               <KEYWORD3>ylabel</KEYWORD3>\r
+               <KEYWORD3>ymtics</KEYWORD3>\r
+               <KEYWORD3>yrange</KEYWORD3>\r
+               <KEYWORD3>ytics</KEYWORD3>\r
+               <KEYWORD3>yzeroaxis</KEYWORD3>\r
+               <KEYWORD3>zdata</KEYWORD3>\r
+               <KEYWORD3>zdtics</KEYWORD3>\r
+               <KEYWORD3>cbdata</KEYWORD3>\r
+               <KEYWORD3>cbdtics</KEYWORD3>\r
+               <KEYWORD3>zero</KEYWORD3>\r
+               <KEYWORD3>zeroaxis</KEYWORD3>\r
+               <KEYWORD3>zlabel</KEYWORD3>\r
+               <KEYWORD3>zmtics</KEYWORD3>\r
+               <KEYWORD3>zrange</KEYWORD3>\r
+               <KEYWORD3>ztics</KEYWORD3>\r
+               <KEYWORD3>cblabel</KEYWORD3>\r
+               <KEYWORD3>cbmtics</KEYWORD3>\r
+               <KEYWORD3>cbrange</KEYWORD3>\r
+               <KEYWORD3>cbtics</KEYWORD3>\r
+\r
+       </KEYWORDS>\r
+\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/groovy.xml b/basis/xmode/modes/groovy.xml
new file mode 100644 (file)
index 0000000..5e0d8ea
--- /dev/null
@@ -0,0 +1,262 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="groovy"                    FILE="groovy.xml"\r
+                               FILE_NAME_GLOB="*.{groovy,grv}"/>\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
+               <!-- Silly comment -->\r
+               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- Javadoc comment -->\r
+               <SPAN TYPE="COMMENT3" DELEGATE="GROOVYDOC">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- Java comment (C style) -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- heredoc -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&lt;&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN><![CDATA[<<<([\p{Alpha}_][\p{Alnum}_]*)\s*]]></BEGIN>\r
+                       <END>$1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SEQ TYPE="OPERATOR">=~</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+\r
+               <!-- workaround to stop "*" from being colorized\r
+                    in import statements. -->\r
+               <SEQ TYPE="NULL">.*</SEQ>\r
+\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>volatile</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD1>strictfp</KEYWORD1>\r
+\r
+                       <KEYWORD1>package</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+\r
+                       <!-- groovy keywords -->\r
+                       <KEYWORD2>as</KEYWORD2>\r
+                       <KEYWORD2>assert</KEYWORD2>\r
+                       <KEYWORD2>def</KEYWORD2>\r
+                       <KEYWORD2>mixin</KEYWORD2>\r
+                       <KEYWORD2>property</KEYWORD2>\r
+                       <KEYWORD2>test</KEYWORD2>\r
+                       <KEYWORD2>using</KEYWORD2>\r
+                       <KEYWORD2>in</KEYWORD2>\r
+\r
+                       <!-- types -->\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>interface</KEYWORD3>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+\r
+                       <!-- Groovy JDK stuff -->\r
+                       <KEYWORD4>abs</KEYWORD4>\r
+                       <KEYWORD4>any</KEYWORD4>\r
+                       <KEYWORD4>append</KEYWORD4>\r
+                       <KEYWORD4>asList</KEYWORD4>\r
+                       <KEYWORD4>asWritable</KEYWORD4>\r
+                       <KEYWORD4>call</KEYWORD4>\r
+                       <KEYWORD4>collect</KEYWORD4>\r
+                       <KEYWORD4>compareTo</KEYWORD4>\r
+                       <KEYWORD4>count</KEYWORD4>\r
+                       <KEYWORD4>div</KEYWORD4>\r
+                       <KEYWORD4>dump</KEYWORD4>\r
+                       <KEYWORD4>each</KEYWORD4>\r
+                       <KEYWORD4>eachByte</KEYWORD4>\r
+                       <KEYWORD4>eachFile</KEYWORD4>\r
+                       <KEYWORD4>eachLine</KEYWORD4>\r
+                       <KEYWORD4>every</KEYWORD4>\r
+                       <KEYWORD4>find</KEYWORD4>\r
+                       <KEYWORD4>findAll</KEYWORD4>\r
+                       <KEYWORD4>flatten</KEYWORD4>\r
+                       <KEYWORD4>getAt</KEYWORD4>\r
+                       <KEYWORD4>getErr</KEYWORD4>\r
+                       <KEYWORD4>getIn</KEYWORD4>\r
+                       <KEYWORD4>getOut</KEYWORD4>\r
+                       <KEYWORD4>getText</KEYWORD4>\r
+                       <KEYWORD4>grep</KEYWORD4>\r
+                       <KEYWORD4>immutable</KEYWORD4>\r
+                       <KEYWORD4>inject</KEYWORD4>\r
+                       <KEYWORD4>inspect</KEYWORD4>\r
+                       <KEYWORD4>intersect</KEYWORD4>\r
+                       <KEYWORD4>invokeMethods</KEYWORD4>\r
+                       <KEYWORD4>isCase</KEYWORD4>\r
+                       <KEYWORD4>join</KEYWORD4>\r
+                       <KEYWORD4>leftShift</KEYWORD4>\r
+                       <KEYWORD4>minus</KEYWORD4>\r
+                       <KEYWORD4>multiply</KEYWORD4>\r
+                       <KEYWORD4>newInputStream</KEYWORD4>\r
+                       <KEYWORD4>newOutputStream</KEYWORD4>\r
+                       <KEYWORD4>newPrintWriter</KEYWORD4>\r
+                       <KEYWORD4>newReader</KEYWORD4>\r
+                       <KEYWORD4>newWriter</KEYWORD4>\r
+                       <KEYWORD4>next</KEYWORD4>\r
+                       <KEYWORD4>plus</KEYWORD4>\r
+                       <KEYWORD4>pop</KEYWORD4>\r
+                       <KEYWORD4>power</KEYWORD4>\r
+                       <KEYWORD4>previous</KEYWORD4>\r
+                       <KEYWORD4>print</KEYWORD4>\r
+                       <KEYWORD4>println</KEYWORD4>\r
+                       <KEYWORD4>push</KEYWORD4>\r
+                       <KEYWORD4>putAt</KEYWORD4>\r
+                       <KEYWORD4>read</KEYWORD4>\r
+                       <KEYWORD4>readBytes</KEYWORD4>\r
+                       <KEYWORD4>readLines</KEYWORD4>\r
+                       <KEYWORD4>reverse</KEYWORD4>\r
+                       <KEYWORD4>reverseEach</KEYWORD4>\r
+                       <KEYWORD4>round</KEYWORD4>\r
+                       <KEYWORD4>size</KEYWORD4>\r
+                       <KEYWORD4>sort</KEYWORD4>\r
+                       <KEYWORD4>splitEachLine</KEYWORD4>\r
+                       <KEYWORD4>step</KEYWORD4>\r
+                       <KEYWORD4>subMap</KEYWORD4>\r
+                       <KEYWORD4>times</KEYWORD4>\r
+                       <KEYWORD4>toInteger</KEYWORD4>\r
+                       <KEYWORD4>toList</KEYWORD4>\r
+                       <KEYWORD4>tokenize</KEYWORD4>\r
+                       <KEYWORD4>upto</KEYWORD4>\r
+                       <KEYWORD4>waitForOrKill</KEYWORD4>\r
+                       <KEYWORD4>withPrintWriter</KEYWORD4>\r
+                       <KEYWORD4>withReader</KEYWORD4>\r
+                       <KEYWORD4>withStream</KEYWORD4>\r
+                       <KEYWORD4>withWriter</KEYWORD4>\r
+                       <KEYWORD4>withWriterAppend</KEYWORD4>\r
+                       <KEYWORD4>write</KEYWORD4>\r
+                       <KEYWORD4>writeLine</KEYWORD4>\r
+\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>super</LITERAL2>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+\r
+                       <!-- this is specific to groovy, treat like `this`? -->\r
+                       <LITERAL3>it</LITERAL3>\r
+\r
+                       <INVALID>goto</INVALID>\r
+                       <INVALID>const</INVALID>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+       <RULES SET="GROOVYDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
+               <!-- so that @link{...} is highlighted -->\r
+               <SEQ TYPE="COMMENT3">{</SEQ>\r
+\r
+               <!-- so that *@param is highlighted -->\r
+               <SEQ TYPE="COMMENT3">*</SEQ>\r
+\r
+               <!-- HTML comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Javadoc allows this -->\r
+               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
+\r
+               <!-- HTML tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
+                       NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LABEL">@</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/haskell.xml b/basis/xmode/modes/haskell.xml
new file mode 100644 (file)
index 0000000..b38b42d
--- /dev/null
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       Haskell mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
+       Based on Haskell 98\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="{-" />\r
+               <PROPERTY NAME="commentEnd" VALUE="-}" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+               <!-- apparently, this is required... -->\r
+               <PROPERTY NAME="tabSize" VALUE="8" />\r
+               <PROPERTY NAME="indentSize" VALUE="8" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
+               <!-- Pragmas. -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>{-#</BEGIN>\r
+                       <END>#-}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>{-</BEGIN>\r
+                       <END>-}</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- ' causes problems because not all ' are character\r
+               definitions. I implemented an ugly and partial workaround. -->\r
+               <SEQ TYPE="LITERAL1">' '</SEQ>\r
+               <SEQ TYPE="LITERAL1">'!'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'"'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'$'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'%'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'/'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'('</SEQ>\r
+               <SEQ TYPE="LITERAL1">')'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'['</SEQ>\r
+               <SEQ TYPE="LITERAL1">']'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'+'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'-'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'*'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'='</SEQ>\r
+               <SEQ TYPE="LITERAL1">'/'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'^'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'.'</SEQ>\r
+               <SEQ TYPE="LITERAL1">','</SEQ>\r
+               <SEQ TYPE="LITERAL1">':'</SEQ>\r
+               <SEQ TYPE="LITERAL1">';'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'&lt;'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'&gt;'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'|'</SEQ>\r
+               <SEQ TYPE="LITERAL1">'@'</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">..</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">::</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">$</SEQ>\r
+\r
+               <!-- Defining this as OPERATOR causes float numbers not to be\r
+               highlighted... Which is more important? -->\r
+               <!-- <SEQ TYPE="NULL">.</SEQ> -->\r
+\r
+               <KEYWORDS>\r
+                       <!-- Reserved words. -->\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>data</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>deriving</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>infix</KEYWORD1>\r
+                       <KEYWORD1>infixl</KEYWORD1>\r
+                       <KEYWORD1>infixr</KEYWORD1>\r
+                       <KEYWORD1>instance</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>module</KEYWORD1>\r
+                       <KEYWORD1>newtype</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>type</KEYWORD1>\r
+                       <KEYWORD1>where</KEYWORD1>\r
+                       <KEYWORD1>_</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>qualified</KEYWORD1>\r
+                       <KEYWORD1>hiding</KEYWORD1>\r
+\r
+                       <KEYWORD3>Addr</KEYWORD3>\r
+                       <KEYWORD3>Bool</KEYWORD3>\r
+                       <KEYWORD3>Bounded</KEYWORD3>\r
+                       <KEYWORD3>Char</KEYWORD3>\r
+                       <KEYWORD3>Double</KEYWORD3>\r
+                       <KEYWORD3>Either</KEYWORD3>\r
+                       <KEYWORD3>Enum</KEYWORD3>\r
+                       <KEYWORD3>Eq</KEYWORD3>\r
+                       <KEYWORD3>FilePath</KEYWORD3>\r
+                       <KEYWORD3>Float</KEYWORD3>\r
+                       <KEYWORD3>Floating</KEYWORD3>\r
+                       <KEYWORD3>Fractional</KEYWORD3>\r
+                       <KEYWORD3>Functor</KEYWORD3>\r
+                       <KEYWORD3>IO</KEYWORD3>\r
+                       <KEYWORD3>IOError</KEYWORD3>\r
+                       <KEYWORD3>IOResult</KEYWORD3>\r
+                       <KEYWORD3>Int</KEYWORD3>\r
+                       <KEYWORD3>Integer</KEYWORD3>\r
+                       <KEYWORD3>Integral</KEYWORD3>\r
+                       <KEYWORD3>Ix</KEYWORD3>\r
+                       <KEYWORD3>Maybe</KEYWORD3>\r
+                       <KEYWORD3>Monad</KEYWORD3>\r
+                       <KEYWORD3>Num</KEYWORD3>\r
+                       <KEYWORD3>Ord</KEYWORD3>\r
+                       <KEYWORD3>Ordering</KEYWORD3>\r
+                       <KEYWORD3>Ratio</KEYWORD3>\r
+                       <KEYWORD3>Rational</KEYWORD3>\r
+                       <KEYWORD3>Read</KEYWORD3>\r
+                       <KEYWORD3>ReadS</KEYWORD3>\r
+                       <KEYWORD3>Real</KEYWORD3>\r
+                       <KEYWORD3>RealFloat</KEYWORD3>\r
+                       <KEYWORD3>RealFrac</KEYWORD3>\r
+                       <KEYWORD3>Show</KEYWORD3>\r
+                       <KEYWORD3>ShowS</KEYWORD3>\r
+                       <KEYWORD3>String</KEYWORD3>\r
+\r
+                       <LITERAL2>:</LITERAL2>\r
+                       <LITERAL2>EQ</LITERAL2>\r
+                       <LITERAL2>False</LITERAL2>\r
+                       <LITERAL2>GT</LITERAL2>\r
+                       <LITERAL2>Just</LITERAL2>\r
+                       <LITERAL2>LT</LITERAL2>\r
+                       <LITERAL2>Left</LITERAL2>\r
+                       <LITERAL2>Nothing</LITERAL2>\r
+                       <LITERAL2>Right</LITERAL2>\r
+                       <LITERAL2>True</LITERAL2>\r
+\r
+                       <OPERATOR>quot</OPERATOR>\r
+                       <OPERATOR>rem</OPERATOR>\r
+                       <OPERATOR>div</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <OPERATOR>elem</OPERATOR>\r
+                       <OPERATOR>notElem</OPERATOR>\r
+                       <OPERATOR>seq</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/hex.xml b/basis/xmode/modes/hex.xml
new file mode 100644 (file)
index 0000000..73a8db9
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+    Hex mode by Andre Kaplan.\r
+    To be used in conjunction with the Hex plugin.\r
+-->\r
+\r
+<MODE>\r
+    <RULES DEFAULT="LITERAL1">\r
+\r
+        <MARK_PREVIOUS\r
+            TYPE="KEYWORD1"\r
+            AT_LINE_START="TRUE"\r
+        >:</MARK_PREVIOUS>\r
+\r
+        <EOL_SPAN TYPE="KEYWORD2">;</EOL_SPAN>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/hlsl.xml b/basis/xmode/modes/hlsl.xml
new file mode 100644 (file)
index 0000000..0f361c5
--- /dev/null
@@ -0,0 +1,479 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+<!--\r
+DirectX FX Files Syntax Highlighting (Edit Mode) for jEdit\r
+Including: Preprocessor, HLSL and Shader Assembler up to shader version 3.0\r
+\r
+Author: Adam Sawicki\r
+- Homepage: http://regedit.gamedev.pl/\r
+- E-mail: sawickiap@poczta.onet.pl\r
+- IRC: #warsztat @ PolNet\r
+- Gadu-Gadu: 2272474\r
+\r
+-->\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=".,+-*/=&lt;&gt;?^&amp;[]{}" />\r
+               \r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
+       </PROPS>\r
+       \r
+       <RULES\r
+               ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="((0[xX][0-9a-fA-F]+|\d+)[uUIL]?|\d+([eE]\d*)?[hHfF]?)">\r
+               \r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               \r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               \r
+               <!-- preprocessor statements -->\r
+               <SEQ TYPE="KEYWORD2">##</SEQ>\r
+               <SEQ TYPE="KEYWORD2">#@</SEQ>\r
+               <EOL_SPAN TYPE="KEYWORD2" DELEGATE="Preprocessor">#</EOL_SPAN>\r
+               \r
+               <!-- asm -->\r
+               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
+                       <BEGIN>asm</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
+                       <BEGIN>ASM</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
+                       <BEGIN>Asm</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
+                       <BEGIN>asm_fragment</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               \r
+               <!-- C style comment -->\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               \r
+               <!-- Operators - multi character -->\r
+               <SEQ TYPE="OPERATOR">++</SEQ>\r
+               <SEQ TYPE="OPERATOR">--</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">||</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">::</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">...</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">*=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+=</SEQ>\r
+               <SEQ TYPE="OPERATOR">-=</SEQ>\r
+               <SEQ TYPE="OPERATOR">%=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">|=</SEQ>\r
+               <SEQ TYPE="OPERATOR">^=</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+\r
+               <!-- Operators - single characters -->\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               \r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>\r
+               \r
+               <!-- Swizzle operator for vectors/scalars (a.xyzw OR b.rgba), matrices (c._m00_m01 OR d._11_12) indexing -->\r
+               <SEQ_REGEXP TYPE="OPERATOR" HASH_CHAR=".">.(([xyzw]{1,4})|([rgba]{1,4})|((_m[0123][0123])+)|((_[1234][1234])+))(?!\p{Alnum})</SEQ_REGEXP>\r
+               \r
+               <!-- Atomic, but complex types -->\r
+               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="bool">bool[1234](x[1234])?\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="int">int[1234](x[1234])?\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="half">half[1234](x[1234])?\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="float">float[1234](x[1234])?\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="double">double[1234](x[1234])?\b</SEQ_REGEXP>\r
+               \r
+               <!-- Semantics -->\r
+               <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR=":">:\s*(register\s*\(\w+(\s*\,\s*\w+\s*)?\)|\w+)</SEQ_REGEXP>\r
+               \r
+               <KEYWORDS>\r
+                       <!-- Control flow keywords -->\r
+                       <KEYWORD1>discard</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>typedef</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       \r
+                       <!-- Other keywords -->\r
+                       <KEYWORD1>compile</KEYWORD1>\r
+                       <KEYWORD1>compile_fragment</KEYWORD1>\r
+                       <KEYWORD1>register</KEYWORD1>\r
+                       <KEYWORD1>sampler_state</KEYWORD1>\r
+                       <KEYWORD1>stateblock_state</KEYWORD1>\r
+                       <KEYWORD1>technique</KEYWORD1>\r
+                       <KEYWORD1>Technique</KEYWORD1>\r
+                       <KEYWORD1>TECHNIQUE</KEYWORD1>\r
+                       <KEYWORD1>pass</KEYWORD1>\r
+                       <KEYWORD1>Pass</KEYWORD1>\r
+                       <KEYWORD1>PASS</KEYWORD1>\r
+                       <KEYWORD1>decl</KEYWORD1>\r
+                       <KEYWORD1>Decl</KEYWORD1>\r
+                       <KEYWORD1>DECL</KEYWORD1>\r
+                       \r
+                       <!-- Atomic type keywords -->\r
+                       <KEYWORD2>void</KEYWORD2>\r
+                       <KEYWORD2>bool</KEYWORD2>\r
+                       <KEYWORD2>int</KEYWORD2>\r
+                       <KEYWORD2>half</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>double</KEYWORD2>\r
+                       <KEYWORD2>vector</KEYWORD2>\r
+                       <KEYWORD2>matrix</KEYWORD2>\r
+                       \r
+                       <!-- Object type keywords -->\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>texture</KEYWORD3>\r
+                       <KEYWORD3>texture1D</KEYWORD3>\r
+                       <KEYWORD3>texture2D</KEYWORD3>\r
+                       <KEYWORD3>texture3D</KEYWORD3>\r
+                       <KEYWORD3>textureCUBE</KEYWORD3>\r
+                       <KEYWORD3>sampler</KEYWORD3>\r
+                       <KEYWORD3>sampler1D</KEYWORD3>\r
+                       <KEYWORD3>sampler2D</KEYWORD3>\r
+                       <KEYWORD3>sampler3D</KEYWORD3>\r
+                       <KEYWORD3>samplerCUBE</KEYWORD3>\r
+                       <KEYWORD3>pixelfragment</KEYWORD3>\r
+                       <KEYWORD3>vertexfragment</KEYWORD3>\r
+                       <KEYWORD3>pixelshader</KEYWORD3>\r
+                       <KEYWORD3>vertexshader</KEYWORD3>\r
+                       <KEYWORD3>stateblock</KEYWORD3>\r
+                       <KEYWORD3>struct</KEYWORD3>\r
+\r
+                       <!-- Usage keywords -->\r
+                       <KEYWORD4>static</KEYWORD4>\r
+                       <KEYWORD4>uniform</KEYWORD4>\r
+                       <KEYWORD4>extern</KEYWORD4>\r
+                       <KEYWORD4>volatile</KEYWORD4>\r
+                       <KEYWORD4>inline</KEYWORD4>\r
+                       <KEYWORD4>shared</KEYWORD4>\r
+                       <KEYWORD4>const</KEYWORD4>\r
+                       <KEYWORD4>row_major</KEYWORD4>\r
+                       <KEYWORD4>column_major</KEYWORD4>\r
+                       <KEYWORD4>in</KEYWORD4>\r
+                       <KEYWORD4>inout</KEYWORD4>\r
+                       <KEYWORD4>out</KEYWORD4>                        \r
+                       \r
+                       <!-- Literals -->\r
+                       <LITERAL1>false</LITERAL1>\r
+                       <LITERAL1>true</LITERAL1>\r
+                       <LITERAL1>NULL</LITERAL1>\r
+                       \r
+                       <!-- Intrinsic functions -->\r
+                       <LITERAL2>abs</LITERAL2>\r
+                       <LITERAL2>acos</LITERAL2>\r
+                       <LITERAL2>all</LITERAL2>\r
+                       <LITERAL2>any</LITERAL2>\r
+                       <LITERAL2>asin</LITERAL2>\r
+                       <LITERAL2>atan</LITERAL2>\r
+                       <LITERAL2>atan2</LITERAL2>\r
+                       <LITERAL2>ceil</LITERAL2>\r
+                       <LITERAL2>clamp</LITERAL2>\r
+                       <LITERAL2>clip</LITERAL2>\r
+                       <LITERAL2>cos</LITERAL2>\r
+                       <LITERAL2>cosh</LITERAL2>\r
+                       <LITERAL2>cross</LITERAL2>\r
+                       <LITERAL2>D3DCOLORtoUBYTE4</LITERAL2>\r
+                       <LITERAL2>ddx</LITERAL2>\r
+                       <LITERAL2>ddy</LITERAL2>\r
+                       <LITERAL2>degrees</LITERAL2>\r
+                       <LITERAL2>determinant</LITERAL2>\r
+                       <LITERAL2>distance</LITERAL2>\r
+                       <LITERAL2>dot</LITERAL2>\r
+                       <LITERAL2>exp</LITERAL2>\r
+                       <LITERAL2>exp2</LITERAL2>\r
+                       <LITERAL2>faceforward</LITERAL2>\r
+                       <LITERAL2>floor</LITERAL2>\r
+                       <LITERAL2>fmod</LITERAL2>\r
+                       <LITERAL2>frac</LITERAL2>\r
+                       <LITERAL2>frexp</LITERAL2>\r
+                       <LITERAL2>fwidth</LITERAL2>\r
+                       <LITERAL2>isfinite</LITERAL2>\r
+                       <LITERAL2>isinf</LITERAL2>\r
+                       <LITERAL2>isnan</LITERAL2>\r
+                       <LITERAL2>ldexp</LITERAL2>\r
+                       <LITERAL2>length</LITERAL2>\r
+                       <LITERAL2>lerp</LITERAL2>\r
+                       <LITERAL2>lit</LITERAL2>\r
+                       <LITERAL2>log</LITERAL2>\r
+                       <LITERAL2>log10</LITERAL2>\r
+                       <LITERAL2>log2</LITERAL2>\r
+                       <LITERAL2>max</LITERAL2>\r
+                       <LITERAL2>min</LITERAL2>\r
+                       <LITERAL2>modf</LITERAL2>\r
+                       <LITERAL2>mul</LITERAL2>\r
+                       <LITERAL2>noise</LITERAL2>\r
+                       <LITERAL2>normalize</LITERAL2>\r
+                       <LITERAL2>pow</LITERAL2>\r
+                       <LITERAL2>radians</LITERAL2>\r
+                       <LITERAL2>reflect</LITERAL2>\r
+                       <LITERAL2>refract</LITERAL2>\r
+                       <LITERAL2>round</LITERAL2>\r
+                       <LITERAL2>rsqrt</LITERAL2>\r
+                       <LITERAL2>saturate</LITERAL2>\r
+                       <LITERAL2>sign</LITERAL2>\r
+                       <LITERAL2>sin</LITERAL2>\r
+                       <LITERAL2>sincos</LITERAL2>\r
+                       <LITERAL2>sinh</LITERAL2>\r
+                       <LITERAL2>smoothstep</LITERAL2>\r
+                       <LITERAL2>sqrt</LITERAL2>\r
+                       <LITERAL2>step</LITERAL2>\r
+                       <LITERAL2>tan</LITERAL2>\r
+                       <LITERAL2>tanh</LITERAL2>\r
+                       <LITERAL2>transpose</LITERAL2>\r
+                       \r
+                       <!-- Intrinsic functions - sampling -->\r
+                       <LITERAL3>tex1D</LITERAL3>\r
+                       <LITERAL3>tex1Dgrad</LITERAL3>\r
+                       <LITERAL3>tex1Dbias</LITERAL3>\r
+                       <LITERAL3>tex1Dgrad</LITERAL3>\r
+                       <LITERAL3>tex1Dlod</LITERAL3>\r
+                       <LITERAL3>tex1Dproj</LITERAL3>\r
+                       <LITERAL3>tex2D</LITERAL3>\r
+                       <LITERAL3>tex2D</LITERAL3>\r
+                       <LITERAL3>tex2Dbias</LITERAL3>\r
+                       <LITERAL3>tex2Dgrad</LITERAL3>\r
+                       <LITERAL3>tex2Dlod</LITERAL3>\r
+                       <LITERAL3>tex2Dproj</LITERAL3>\r
+                       <LITERAL3>tex3D</LITERAL3>\r
+                       <LITERAL3>tex3D</LITERAL3>\r
+                       <LITERAL3>tex3Dbias</LITERAL3>\r
+                       <LITERAL3>tex3Dgrad</LITERAL3>\r
+                       <LITERAL3>tex3Dlod</LITERAL3>\r
+                       <LITERAL3>tex3Dproj</LITERAL3>\r
+                       <LITERAL3>texCUBE</LITERAL3>\r
+                       <LITERAL3>texCUBE</LITERAL3>\r
+                       <LITERAL3>texCUBEbias</LITERAL3>\r
+                       <LITERAL3>texCUBEgrad</LITERAL3>\r
+                       <LITERAL3>texCUBElod</LITERAL3>\r
+                       <LITERAL3>texCUBEproj</LITERAL3>\r
+\r
+                       <!-- Reserved but unused words -->\r
+                       <INVALID>auto</INVALID>\r
+                       <INVALID>break</INVALID>\r
+                       <INVALID>case</INVALID>\r
+                       <INVALID>catch</INVALID>\r
+                       <INVALID>char</INVALID>\r
+                       <INVALID>class</INVALID>\r
+                       <INVALID>const_cast</INVALID>\r
+                       <INVALID>continue</INVALID>\r
+                       <INVALID>default</INVALID>\r
+                       <INVALID>delete</INVALID>\r
+                       <INVALID>dynamic_cast</INVALID>\r
+                       <INVALID>enum</INVALID>\r
+                       <INVALID>explicit</INVALID>\r
+                       <INVALID>friend</INVALID>\r
+                       <INVALID>goto</INVALID>\r
+                       <INVALID>long</INVALID>\r
+                       <INVALID>mutable</INVALID>\r
+                       <INVALID>namespace</INVALID>\r
+                       <INVALID>new</INVALID>\r
+                       <INVALID>operator</INVALID>\r
+                       <INVALID>private</INVALID>\r
+                       <INVALID>protected</INVALID>\r
+                       <INVALID>public</INVALID>\r
+                       <INVALID>reinterpret_cast</INVALID>\r
+                       <INVALID>short</INVALID>\r
+                       <INVALID>signed</INVALID>\r
+                       <INVALID>sizeof</INVALID>\r
+                       <INVALID>static_cast</INVALID>\r
+                       <INVALID>switch</INVALID>\r
+                       <INVALID>template</INVALID>\r
+                       <INVALID>this</INVALID>\r
+                       <INVALID>throw</INVALID>\r
+                       <INVALID>try</INVALID>\r
+                       <INVALID>typename</INVALID>\r
+                       <INVALID>union</INVALID>\r
+                       <INVALID>unsigned</INVALID>\r
+                       <INVALID>using</INVALID>\r
+                       <INVALID>virtual</INVALID>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="Include" DEFAULT="KEYWORD2" />\r
+\r
+       <RULES\r
+               SET="Preprocessor"\r
+               DEFAULT="KEYWORD2"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="((0x[[:xdigit:]]+|[[:digit:]]+)[uUIL]?|[[:digit:]]+([eE][[:digit:]]*)?[hHfF]?)">\r
+\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               \r
+               <!-- this is a hack so that #include <net/if.h> does not get the if highlighted -->\r
+               <EOL_SPAN TYPE="MARKUP" DELEGATE="Include">include</EOL_SPAN>\r
+               \r
+               <KEYWORDS>\r
+                       <!-- Directives -->\r
+                       <MARKUP>define</MARKUP>\r
+                       <MARKUP>elif</MARKUP>\r
+                       <MARKUP>else</MARKUP>\r
+                       <MARKUP>endif</MARKUP>\r
+                       <MARKUP>error</MARKUP>\r
+                       <MARKUP>if</MARKUP>\r
+                       <MARKUP>ifdef</MARKUP>\r
+                       <MARKUP>ifndef</MARKUP>\r
+                       <MARKUP>line</MARKUP>\r
+                       <MARKUP>pragma</MARKUP>\r
+                       <MARKUP>undef</MARKUP>\r
+                       \r
+                       <!-- Other -->\r
+                       <LITERAL1>pack_matrix</LITERAL1>\r
+                       <LITERAL1>warning</LITERAL1>\r
+                       <LITERAL1>def</LITERAL1>\r
+                       <LITERAL1>defined</LITERAL1>\r
+                       <LITERAL1>D3DX</LITERAL1>\r
+                       <LITERAL1>D3DX_VERSION</LITERAL1>\r
+                       <LITERAL1>DIRECT3D</LITERAL1>\r
+                       <LITERAL1>DIRECT3D_VERSION</LITERAL1>\r
+                       <LITERAL1>__FILE__</LITERAL1>\r
+                       <LITERAL1>__LINE__</LITERAL1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="Asm"\r
+               DEFAULT="NULL"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="((0x[[:xdigit:]]+|[[:digit:]]+)[uUIL]?|[[:digit:]]+([eE][[:digit:]]*)?[hHfF]?)">\r
+               \r
+               <!-- Starting... -->\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+               <!-- Comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">;</EOL_SPAN>\r
+\r
+               <!-- Operators -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+               <!-- Swizzle operator -->\r
+               <SEQ_REGEXP TYPE="OPERATOR" HASH_CHAR=".">.(([xyzw]{1,4}))</SEQ_REGEXP>\r
+               \r
+               <!-- Instruction -->\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="abs">abs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="add">add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="bem">bem(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="break_comp">break_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="breakp">breakp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="callnz">callnz(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="cmp">cmp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="cnd">cnd(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="crs">crs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp2add">dp2add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp3">dp3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp4">dp4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dst">dst(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dsx">dsx(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dsy">dsy(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="else">else(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endif">endif(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endloop">endloop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endrep">endrep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="exp">exp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="frc">frc(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="if">if(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="label">label(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="lit">lit(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="logp">logp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="loop">loop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="lrp">lrp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x2">m3x2(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x3">m3x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x4">m3x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m4x3">m4x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m4x4">m4x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mad">mad(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mov">mov(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="max">max(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="min">min(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mova">mova(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mul">mul(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="nop">nop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="nrm">nrm(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="phase">phase(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="pow">pow(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rcp">rcp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rep">rep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="ret">ret(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rsq">rsq(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="setp_comp">setp_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sge">sge(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sgn">sgn(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sincos">sincos(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="slt">slt(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sub">sub(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               <!-- (seen in preshader -->\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="neg">neg(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
+               \r
+               <!-- Texturing instruction -->\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2" HASH_CHAR="tex">tex\w*</SEQ_REGEXP>\r
+               \r
+               <!-- Main instruction -->\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="ps">ps\w*</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="vs">vs\w*</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="def">def\w*</SEQ_REGEXP>\r
+               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="dcl">dcl\w*</SEQ_REGEXP>\r
+\r
+               <KEYWORDS>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/htaccess.xml b/basis/xmode/modes/htaccess.xml
new file mode 100644 (file)
index 0000000..33bf6c4
--- /dev/null
@@ -0,0 +1,563 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="noWordSep" VALUE="-" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
+                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <KEYWORDS>\r
+\r
+                       <KEYWORD1>AcceptPathInfo</KEYWORD1>\r
+                       <KEYWORD1>Action</KEYWORD1>\r
+                       <KEYWORD1>AddAlt</KEYWORD1>\r
+                       <KEYWORD1>AddAltByEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddAltByType</KEYWORD1>\r
+                       <KEYWORD1>AddCharset</KEYWORD1>\r
+                       <KEYWORD1>AddDefaultCharset</KEYWORD1>\r
+                       <KEYWORD1>AddDescription</KEYWORD1>\r
+                       <KEYWORD1>AddEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddHandler</KEYWORD1>\r
+                       <KEYWORD1>AddIcon</KEYWORD1>\r
+                       <KEYWORD1>AddIconByEncoding</KEYWORD1>\r
+                       <KEYWORD1>AddIconByType</KEYWORD1>\r
+                       <KEYWORD1>AddInputFilter</KEYWORD1>\r
+                       <KEYWORD1>AddLanguage</KEYWORD1>\r
+                       <KEYWORD1>AddOutputFilter</KEYWORD1>\r
+                       <KEYWORD1>AddOutputFilterByType</KEYWORD1>\r
+                       <KEYWORD1>AddType</KEYWORD1>\r
+                       <KEYWORD1>Allow</KEYWORD1>\r
+                       <KEYWORD1>Anonymous</KEYWORD1>\r
+                       <KEYWORD1>Anonymous_Authoritative</KEYWORD1>\r
+                       <KEYWORD1>Anonymous_LogEmail</KEYWORD1>\r
+                       <KEYWORD1>Anonymous_MustGiveEmail</KEYWORD1>\r
+                       <KEYWORD1>Anonymous_NoUserID</KEYWORD1>\r
+                       <KEYWORD1>Anonymous_VerifyEmail</KEYWORD1>\r
+                       <KEYWORD1>AuthAuthoritative</KEYWORD1>\r
+                       <KEYWORD1>AuthDBMAuthoritative</KEYWORD1>\r
+                       <KEYWORD1>AuthDBMGroupFile</KEYWORD1>\r
+                       <KEYWORD1>AuthDBMType</KEYWORD1>\r
+                       <KEYWORD1>AuthDBMUserFile</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestAlgorithm</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestDomain</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestFile</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestGroupFile</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestNonceFormat</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestNonceLifetime</KEYWORD1>\r
+                       <KEYWORD1>AuthDigestQop</KEYWORD1>\r
+                       <KEYWORD1>AuthGroupFile</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPAuthoritative</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPBindDN</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPBindPassword</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPCompareDNOnServer</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPDereferenceAliases</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPEnabled</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPFrontPageHack</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPGroupAttribute</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPGroupAttributeIsDN</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPRemoteUserIsDN</KEYWORD1>\r
+                       <KEYWORD1>AuthLDAPUrl</KEYWORD1>\r
+                       <KEYWORD1>AuthName</KEYWORD1>\r
+                       <KEYWORD1>AuthType</KEYWORD1>\r
+                       <KEYWORD1>AuthUserFile</KEYWORD1>\r
+                       <KEYWORD1>BrowserMatch</KEYWORD1>\r
+                       <KEYWORD1>BrowserMatchNoCase</KEYWORD1>\r
+                       <KEYWORD1>CGIMapExtension</KEYWORD1>\r
+                       <KEYWORD1>CharsetDefault</KEYWORD1>\r
+                       <KEYWORD1>CharsetOptions</KEYWORD1>\r
+                       <KEYWORD1>CharsetSourceEnc</KEYWORD1>\r
+                       <KEYWORD1>CheckSpelling</KEYWORD1>\r
+                       <KEYWORD1>ContentDigest</KEYWORD1>\r
+                       <KEYWORD1>CookieDomain</KEYWORD1>\r
+                       <KEYWORD1>CookieExpires</KEYWORD1>\r
+                       <KEYWORD1>CookieName</KEYWORD1>\r
+                       <KEYWORD1>CookieStyle</KEYWORD1>\r
+                       <KEYWORD1>CookieTracking</KEYWORD1>\r
+                       <KEYWORD1>DefaultIcon</KEYWORD1>\r
+                       <KEYWORD1>DefaultLanguage</KEYWORD1>\r
+                       <KEYWORD1>DefaultType</KEYWORD1>\r
+                       <KEYWORD1>Deny</KEYWORD1>\r
+                       <KEYWORD1>DirectoryIndex</KEYWORD1>\r
+                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
+                       <KEYWORD1>EnableMMAP</KEYWORD1>\r
+                       <KEYWORD1>EnableSendfile</KEYWORD1>\r
+                       <KEYWORD1>ErrorDocument</KEYWORD1>\r
+                       <KEYWORD1>Example</KEYWORD1>\r
+                       <KEYWORD1>ExpiresActive</KEYWORD1>\r
+                       <KEYWORD1>ExpiresByType</KEYWORD1>\r
+                       <KEYWORD1>ExpiresDefault</KEYWORD1>\r
+                       <KEYWORD1>FileETag</KEYWORD1>\r
+                       <KEYWORD1>ForceLanguagePriority</KEYWORD1>\r
+                       <KEYWORD1>ForceType</KEYWORD1>\r
+                       <KEYWORD1>Header</KEYWORD1>\r
+                       <KEYWORD1>HeaderName</KEYWORD1>\r
+                       <KEYWORD1>ImapBase</KEYWORD1>\r
+                       <KEYWORD1>ImapDefault</KEYWORD1>\r
+                       <KEYWORD1>ImapMenu</KEYWORD1>\r
+                       <KEYWORD1>IndexIgnore</KEYWORD1>\r
+                       <KEYWORD1>IndexOptions</KEYWORD1>\r
+                       <KEYWORD1>IndexOrderDefault</KEYWORD1>\r
+                       <KEYWORD1>ISAPIAppendLogToErrors</KEYWORD1>\r
+                       <KEYWORD1>ISAPIAppendLogToQuery</KEYWORD1>\r
+                       <KEYWORD1>ISAPIFakeAsync</KEYWORD1>\r
+                       <KEYWORD1>ISAPILogNotSupported</KEYWORD1>\r
+                       <KEYWORD1>ISAPIReadAheadBuffer</KEYWORD1>\r
+                       <KEYWORD1>LanguagePriority</KEYWORD1>\r
+                       <KEYWORD1>LimitRequestBody</KEYWORD1>\r
+                       <KEYWORD1>LimitXMLRequestBody</KEYWORD1>\r
+                       <KEYWORD1>MetaDir</KEYWORD1>\r
+                       <KEYWORD1>MetaFiles</KEYWORD1>\r
+                       <KEYWORD1>MetaSuffix</KEYWORD1>\r
+                       <KEYWORD1>MultiviewsMatch</KEYWORD1>\r
+                       <KEYWORD1>Options</KEYWORD1>\r
+                       <KEYWORD1>Order</KEYWORD1>\r
+                       <KEYWORD1>PassEnv</KEYWORD1>\r
+                       <KEYWORD1>ReadmeName</KEYWORD1>\r
+                       <KEYWORD1>Redirect</KEYWORD1>\r
+                       <KEYWORD1>RedirectMatch</KEYWORD1>\r
+                       <KEYWORD1>RedirectPermanent</KEYWORD1>\r
+                       <KEYWORD1>RedirectTemp</KEYWORD1>\r
+                       <KEYWORD1>RemoveCharset</KEYWORD1>\r
+                       <KEYWORD1>RemoveEncoding</KEYWORD1>\r
+                       <KEYWORD1>RemoveHandler</KEYWORD1>\r
+                       <KEYWORD1>RemoveInputFilter</KEYWORD1>\r
+                       <KEYWORD1>RemoveLanguage</KEYWORD1>\r
+                       <KEYWORD1>RemoveOutputFilter</KEYWORD1>\r
+                       <KEYWORD1>RemoveType</KEYWORD1>\r
+                       <KEYWORD1>RequestHeader</KEYWORD1>\r
+                       <KEYWORD1>Require</KEYWORD1>\r
+                       <KEYWORD1>RewriteBase</KEYWORD1>\r
+                       <KEYWORD1>RewriteCond</KEYWORD1>\r
+                       <KEYWORD1>RewriteEngine</KEYWORD1>\r
+                       <KEYWORD1>RewriteOptions</KEYWORD1>\r
+                       <KEYWORD1>RewriteRule</KEYWORD1>\r
+                       <KEYWORD1>RLimitCPU</KEYWORD1>\r
+                       <KEYWORD1>RLimitMEM</KEYWORD1>\r
+                       <KEYWORD1>RLimitNPROC</KEYWORD1>\r
+                       <KEYWORD1>Satisfy</KEYWORD1>\r
+                       <KEYWORD1>ScriptInterpreterSource</KEYWORD1>\r
+                       <KEYWORD1>ServerSignature</KEYWORD1>\r
+                       <KEYWORD1>SetEnv</KEYWORD1>\r
+                       <KEYWORD1>SetEnvIf</KEYWORD1>\r
+                       <KEYWORD1>SetEnvIfNoCase</KEYWORD1>\r
+                       <KEYWORD1>SetHandler</KEYWORD1>\r
+                       <KEYWORD1>SetInputFilter</KEYWORD1>\r
+                       <KEYWORD1>SetOutputFilter</KEYWORD1>\r
+                       <KEYWORD1>SSIErrorMsg</KEYWORD1>\r
+                       <KEYWORD1>SSITimeFormat</KEYWORD1>\r
+                       <KEYWORD1>SSLCipherSuite</KEYWORD1>\r
+                       <KEYWORD1>SSLOptions</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyCipherSuite</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyVerify</KEYWORD1>\r
+                       <KEYWORD1>SSLProxyVerifyDepth</KEYWORD1>\r
+                       <KEYWORD1>SSLRequire</KEYWORD1>\r
+                       <KEYWORD1>SSLRequireSSL</KEYWORD1>\r
+                       <KEYWORD1>SSLUserName</KEYWORD1>\r
+                       <KEYWORD1>SSLVerifyClient</KEYWORD1>\r
+                       <KEYWORD1>SSLVerifyDepth</KEYWORD1>\r
+                       <KEYWORD1>UnsetEnv</KEYWORD1>\r
+                       <KEYWORD1>XBitHack</KEYWORD1>\r
+\r
+                       <LITERAL3>Basic</LITERAL3>\r
+                       <LITERAL3>Digest</LITERAL3>\r
+                       <LITERAL3>None</LITERAL3>\r
+                       <LITERAL3>Off</LITERAL3>\r
+                       <LITERAL3>On</LITERAL3>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+       <RULES SET="DIRECTIVE" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
+                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
+                       <END><![CDATA[</$1>]]></END>\r
+               </SPAN_REGEXP>\r
+\r
+               <KEYWORDS>\r
+\r
+                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
+                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
+                       <KEYWORD2>AccessFileName</KEYWORD2>\r
+                       <KEYWORD2>Action</KEYWORD2>\r
+                       <KEYWORD2>AddAlt</KEYWORD2>\r
+                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddAltByType</KEYWORD2>\r
+                       <KEYWORD2>AddCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
+                       <KEYWORD2>AddDescription</KEYWORD2>\r
+                       <KEYWORD2>AddEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddHandler</KEYWORD2>\r
+                       <KEYWORD2>AddIcon</KEYWORD2>\r
+                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
+                       <KEYWORD2>AddIconByType</KEYWORD2>\r
+                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddLanguage</KEYWORD2>\r
+                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
+                       <KEYWORD2>AddType</KEYWORD2>\r
+                       <KEYWORD2>Alias</KEYWORD2>\r
+                       <KEYWORD2>AliasMatch</KEYWORD2>\r
+                       <KEYWORD2>Allow</KEYWORD2>\r
+                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
+                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
+                       <KEYWORD2>AllowOverride</KEYWORD2>\r
+                       <KEYWORD2>Anonymous</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_Authoritative</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_LogEmail</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_MustGiveEmail</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_NoUserID</KEYWORD2>\r
+                       <KEYWORD2>Anonymous_VerifyEmail</KEYWORD2>\r
+                       <KEYWORD2>AuthAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMType</KEYWORD2>\r
+                       <KEYWORD2>AuthDBMUserFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestAlgorithm</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestDomain</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNonceFormat</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestNonceLifetime</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestQop</KEYWORD2>\r
+                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
+                       <KEYWORD2>AuthGroupFile</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPAuthoritative</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPBindDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPBindPassword</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPCompareDNOnServer</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPDereferenceAliases</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPEnabled</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPFrontPageHack</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPGroupAttribute</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPGroupAttributeIsDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPRemoteUserIsDN</KEYWORD2>\r
+                       <KEYWORD2>AuthLDAPUrl</KEYWORD2>\r
+                       <KEYWORD2>AuthName</KEYWORD2>\r
+                       <KEYWORD2>AuthType</KEYWORD2>\r
+                       <KEYWORD2>AuthUserFile</KEYWORD2>\r
+                       <KEYWORD2>BS2000Account</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
+                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
+                       <KEYWORD2>CGIMapExtension</KEYWORD2>\r
+                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
+                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
+                       <KEYWORD2>CacheDisable</KEYWORD2>\r
+                       <KEYWORD2>CacheEnable</KEYWORD2>\r
+                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
+                       <KEYWORD2>CacheFile</KEYWORD2>\r
+                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
+                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
+                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
+                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
+                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
+                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
+                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
+                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
+                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
+                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
+                       <KEYWORD2>CacheRoot</KEYWORD2>\r
+                       <KEYWORD2>CacheSize</KEYWORD2>\r
+                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
+                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
+                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
+                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
+                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
+                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
+                       <KEYWORD2>ContentDigest</KEYWORD2>\r
+                       <KEYWORD2>CookieDomain</KEYWORD2>\r
+                       <KEYWORD2>CookieExpires</KEYWORD2>\r
+                       <KEYWORD2>CookieLog</KEYWORD2>\r
+                       <KEYWORD2>CookieName</KEYWORD2>\r
+                       <KEYWORD2>CookieStyle</KEYWORD2>\r
+                       <KEYWORD2>CookieTracking</KEYWORD2>\r
+                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
+                       <KEYWORD2>CustomLog</KEYWORD2>\r
+                       <KEYWORD2>Dav</KEYWORD2>\r
+                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
+                       <KEYWORD2>DavLockDB</KEYWORD2>\r
+                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
+                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
+                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
+                       <KEYWORD2>DefaultType</KEYWORD2>\r
+                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
+                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
+                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
+                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
+                       <KEYWORD2>Deny</KEYWORD2>\r
+                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
+                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
+                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
+                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
+                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
+                       <KEYWORD2>ErrorLog</KEYWORD2>\r
+                       <KEYWORD2>Example</KEYWORD2>\r
+                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
+                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
+                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
+                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
+                       <KEYWORD2>ExtFilterOptions</KEYWORD2>\r
+                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
+                       <KEYWORD2>FileETag</KEYWORD2>\r
+                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>ForceType</KEYWORD2>\r
+                       <KEYWORD2>Group</KEYWORD2>\r
+                       <KEYWORD2>Header</KEYWORD2>\r
+                       <KEYWORD2>HeaderName</KEYWORD2>\r
+                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
+                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
+                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
+                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
+                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
+                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
+                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
+                       <KEYWORD2>ImapBase</KEYWORD2>\r
+                       <KEYWORD2>ImapDefault</KEYWORD2>\r
+                       <KEYWORD2>ImapMenu</KEYWORD2>\r
+                       <KEYWORD2>Include</KEYWORD2>\r
+                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
+                       <KEYWORD2>IndexOptions</KEYWORD2>\r
+                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
+                       <KEYWORD2>KeepAlive</KEYWORD2>\r
+                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
+                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
+                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
+                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
+                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
+                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
+                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
+                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
+                       <KEYWORD2>Listen</KEYWORD2>\r
+                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
+                       <KEYWORD2>LoadFile</KEYWORD2>\r
+                       <KEYWORD2>LoadModule</KEYWORD2>\r
+                       <KEYWORD2>LockFile</KEYWORD2>\r
+                       <KEYWORD2>LogFormat</KEYWORD2>\r
+                       <KEYWORD2>LogLevel</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
+                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
+                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
+                       <KEYWORD2>MCacheSize</KEYWORD2>\r
+                       <KEYWORD2>MMapFile</KEYWORD2>\r
+                       <KEYWORD2>MaxClients</KEYWORD2>\r
+                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
+                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreads</KEYWORD2>\r
+                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>MetaDir</KEYWORD2>\r
+                       <KEYWORD2>MetaFiles</KEYWORD2>\r
+                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
+                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
+                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
+                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
+                       <KEYWORD2>ModMimeUsePathInfo</KEYWORD2>\r
+                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
+                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
+                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
+                       <KEYWORD2>NoProxy</KEYWORD2>\r
+                       <KEYWORD2>NumServers</KEYWORD2>\r
+                       <KEYWORD2>Options</KEYWORD2>\r
+                       <KEYWORD2>Order</KEYWORD2>\r
+                       <KEYWORD2>PassEnv</KEYWORD2>\r
+                       <KEYWORD2>PidFile</KEYWORD2>\r
+                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
+                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
+                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
+                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
+                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
+                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
+                       <KEYWORD2>ProxyPass</KEYWORD2>\r
+                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
+                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
+                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
+                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
+                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
+                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
+                       <KEYWORD2>ProxyVia</KEYWORD2>\r
+                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
+                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
+                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
+                       <KEYWORD2>ReadmeName</KEYWORD2>\r
+                       <KEYWORD2>Redirect</KEYWORD2>\r
+                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
+                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
+                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
+                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
+                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
+                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
+                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
+                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>RemoveType</KEYWORD2>\r
+                       <KEYWORD2>RequestHeader</KEYWORD2>\r
+                       <KEYWORD2>Require</KEYWORD2>\r
+                       <KEYWORD2>RewriteBase</KEYWORD2>\r
+                       <KEYWORD2>RewriteCond</KEYWORD2>\r
+                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
+                       <KEYWORD2>RewriteLock</KEYWORD2>\r
+                       <KEYWORD2>RewriteLog</KEYWORD2>\r
+                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
+                       <KEYWORD2>RewriteMap</KEYWORD2>\r
+                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
+                       <KEYWORD2>RewriteRule</KEYWORD2>\r
+                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
+                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
+                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
+                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
+                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
+                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLMutex</KEYWORD2>\r
+                       <KEYWORD2>SSLOptions</KEYWORD2>\r
+                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
+                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
+                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
+                       <KEYWORD2>SSLRequire</KEYWORD2>\r
+                       <KEYWORD2>SSLRequireSSL</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
+                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
+                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
+                       <KEYWORD2>Satisfy</KEYWORD2>\r
+                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
+                       <KEYWORD2>Script</KEYWORD2>\r
+                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
+                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
+                       <KEYWORD2>ScriptLog</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
+                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
+                       <KEYWORD2>ScriptSock</KEYWORD2>\r
+                       <KEYWORD2>SecureListen</KEYWORD2>\r
+                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
+                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
+                       <KEYWORD2>ServerLimit</KEYWORD2>\r
+                       <KEYWORD2>ServerName</KEYWORD2>\r
+                       <KEYWORD2>ServerRoot</KEYWORD2>\r
+                       <KEYWORD2>ServerSignature</KEYWORD2>\r
+                       <KEYWORD2>ServerTokens</KEYWORD2>\r
+                       <KEYWORD2>SetEnv</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
+                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
+                       <KEYWORD2>SetHandler</KEYWORD2>\r
+                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
+                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
+                       <KEYWORD2>StartServers</KEYWORD2>\r
+                       <KEYWORD2>StartThreads</KEYWORD2>\r
+                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
+                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
+                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
+                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
+                       <KEYWORD2>TimeOut</KEYWORD2>\r
+                       <KEYWORD2>TransferLog</KEYWORD2>\r
+                       <KEYWORD2>TypesConfig</KEYWORD2>\r
+                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
+                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
+                       <KEYWORD2>User</KEYWORD2>\r
+                       <KEYWORD2>UserDir</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
+                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
+                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
+                       <KEYWORD2>XBitHack</KEYWORD2>\r
+\r
+                       <!-- Apache 1.x -->\r
+                       <!-- using 4 for apache 1.x vs 2.x -->\r
+                       <KEYWORD4>AddModule</KEYWORD4>\r
+                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
+\r
+                       <!-- Subversion directives -->\r
+                       <KEYWORD3>SVNPath</KEYWORD3>\r
+                       <KEYWORD3>SVNParentPath</KEYWORD3>\r
+                       <KEYWORD3>SVNIndexXSLT</KEYWORD3>\r
+\r
+                       <!-- mod_python directives -->\r
+                       <KEYWORD3>PythonHandler</KEYWORD3>\r
+                       <KEYWORD3>PythonDebug</KEYWORD3>\r
+\r
+                       <!-- mod_php -->\r
+                       <KEYWORD3>php_value</KEYWORD3>\r
+                       <!-- using 4 for apache 1.x vs 2.x -->\r
+                       <KEYWORD4>php_flag</KEYWORD4>\r
+\r
+                       <LITERAL2>All</LITERAL2>\r
+                       <LITERAL2>ExecCGI</LITERAL2>\r
+                       <LITERAL2>FollowSymLinks</LITERAL2>\r
+                       <LITERAL2>Includes</LITERAL2>\r
+                       <LITERAL2>IncludesNOEXEC</LITERAL2>\r
+                       <LITERAL2>Indexes</LITERAL2>\r
+                       <LITERAL2>MultiViews</LITERAL2>\r
+                       <LITERAL2>None</LITERAL2>\r
+                       <LITERAL2>Off</LITERAL2>\r
+                       <LITERAL2>On</LITERAL2>\r
+                       <LITERAL2>SymLinksIfOwnerMatch</LITERAL2>\r
+                       <LITERAL2>from</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/html.xml b/basis/xmode/modes/html.xml
new file mode 100644 (file)
index 0000000..a5af604
--- /dev/null
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ESCAPE is not exactly right but it is needed to correctly\r
+            handle JavaScript in on* parameters -->\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- HTML/XHTML elements, taken from http://de.selfhtml.org/html/referenz/elemente.htm -->\r
+                       <KEYWORD1>fieldset</KEYWORD1>\r
+                       <KEYWORD1>a</KEYWORD1>\r
+                       <KEYWORD1>abbr</KEYWORD1>\r
+                       <KEYWORD1>acronym</KEYWORD1>\r
+                       <KEYWORD1>address</KEYWORD1>\r
+                       <KEYWORD1>applet</KEYWORD1>\r
+                       <KEYWORD1>area</KEYWORD1>\r
+                       <KEYWORD1>b</KEYWORD1>\r
+                       <KEYWORD1>base</KEYWORD1>\r
+                       <KEYWORD1>basefont</KEYWORD1>\r
+                       <KEYWORD1>bdo</KEYWORD1>\r
+                       <KEYWORD1>big</KEYWORD1>\r
+                       <KEYWORD1>blockquote</KEYWORD1>\r
+                       <KEYWORD1>body</KEYWORD1>\r
+                       <KEYWORD1>br</KEYWORD1>\r
+                       <KEYWORD1>button</KEYWORD1>\r
+                       <KEYWORD1>caption</KEYWORD1>\r
+                       <KEYWORD1>center</KEYWORD1>\r
+                       <KEYWORD1>cite</KEYWORD1>\r
+                       <KEYWORD1>code</KEYWORD1>\r
+                       <KEYWORD1>col</KEYWORD1>\r
+                       <KEYWORD1>colgroup</KEYWORD1>\r
+                       <KEYWORD1>dd</KEYWORD1>\r
+                       <KEYWORD1>del</KEYWORD1>\r
+                       <KEYWORD1>dfn</KEYWORD1>\r
+                       <KEYWORD1>dir</KEYWORD1>\r
+                       <KEYWORD1>div</KEYWORD1>\r
+                       <KEYWORD1>dl</KEYWORD1>\r
+                       <KEYWORD1>dt</KEYWORD1>\r
+                       <KEYWORD1>em</KEYWORD1>\r
+                       <KEYWORD1>fieldset</KEYWORD1>\r
+                       <KEYWORD1>font</KEYWORD1>\r
+                       <KEYWORD1>form</KEYWORD1>\r
+                       <KEYWORD1>frame</KEYWORD1>\r
+                       <KEYWORD1>frameset</KEYWORD1>\r
+                       <KEYWORD1>h1</KEYWORD1>\r
+                       <KEYWORD1>h2</KEYWORD1>\r
+                       <KEYWORD1>h3</KEYWORD1>\r
+                       <KEYWORD1>h4</KEYWORD1>\r
+                       <KEYWORD1>h5</KEYWORD1>\r
+                       <KEYWORD1>h6</KEYWORD1>\r
+                       <KEYWORD1>head</KEYWORD1>\r
+                       <KEYWORD1>hr</KEYWORD1>\r
+                       <KEYWORD1>html</KEYWORD1>\r
+                       <KEYWORD1>i</KEYWORD1>\r
+                       <KEYWORD1>iframe</KEYWORD1>\r
+                       <KEYWORD1>img</KEYWORD1>\r
+                       <KEYWORD1>input</KEYWORD1>\r
+                       <KEYWORD1>ins</KEYWORD1>\r
+                       <KEYWORD1>isindex</KEYWORD1>\r
+                       <KEYWORD1>kbd</KEYWORD1>\r
+                       <KEYWORD1>label</KEYWORD1>\r
+                       <KEYWORD1>legend</KEYWORD1>\r
+                       <KEYWORD1>li</KEYWORD1>\r
+                       <KEYWORD1>link</KEYWORD1>\r
+                       <KEYWORD1>map</KEYWORD1>\r
+                       <KEYWORD1>menu</KEYWORD1>\r
+                       <KEYWORD1>meta</KEYWORD1>\r
+                       <KEYWORD1>noframes</KEYWORD1>\r
+                       <KEYWORD1>noscript</KEYWORD1>\r
+                       <KEYWORD1>object</KEYWORD1>\r
+                       <KEYWORD1>ol</KEYWORD1>\r
+                       <KEYWORD1>optgroup</KEYWORD1>\r
+                       <KEYWORD1>option</KEYWORD1>\r
+                       <KEYWORD1>p</KEYWORD1>\r
+                       <KEYWORD1>param</KEYWORD1>\r
+                       <KEYWORD1>pre</KEYWORD1>\r
+                       <KEYWORD1>q</KEYWORD1>\r
+                       <KEYWORD1>s</KEYWORD1>\r
+                       <KEYWORD1>samp</KEYWORD1>\r
+                       <KEYWORD1>script</KEYWORD1>\r
+                       <KEYWORD1>select</KEYWORD1>\r
+                       <KEYWORD1>small</KEYWORD1>\r
+                       <KEYWORD1>span</KEYWORD1>\r
+                       <KEYWORD1>strike</KEYWORD1>\r
+                       <KEYWORD1>strong</KEYWORD1>\r
+                       <KEYWORD1>style</KEYWORD1>\r
+                       <KEYWORD1>sub</KEYWORD1>\r
+                       <KEYWORD1>sup</KEYWORD1>\r
+                       <KEYWORD1>table</KEYWORD1>\r
+                       <KEYWORD1>tbody</KEYWORD1>\r
+                       <KEYWORD1>td</KEYWORD1>\r
+                       <KEYWORD1>textarea</KEYWORD1>\r
+                       <KEYWORD1>tfoot</KEYWORD1>\r
+                       <KEYWORD1>th</KEYWORD1>\r
+                       <KEYWORD1>thead</KEYWORD1>\r
+                       <KEYWORD1>title</KEYWORD1>\r
+                       <KEYWORD1>tr</KEYWORD1>\r
+                       <KEYWORD1>tt</KEYWORD1>\r
+                       <KEYWORD1>u</KEYWORD1>\r
+                       <KEYWORD1>ul</KEYWORD1>\r
+                       <KEYWORD1>var</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
+               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
+               <!-- handle <SCRIPT SRC="..."> properly -->\r
+               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="html::MAIN">&gt;</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/i4gl.xml b/basis/xmode/modes/i4gl.xml
new file mode 100644 (file)
index 0000000..0c50648
--- /dev/null
@@ -0,0 +1,665 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- i4gl.xml -->\r
+<!-- Informix 4GL mode, by Jozsa Stefan, joozsa@flash.ro -->\r
+<!-- Based on 'reserved.Z' from www.iiug.org by J.Leffler -->\r
+\r
+<MODE>\r
+\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart" VALUE="{" />\r
+    <PROPERTY NAME="commentEnd" VALUE="}" />\r
+    <PROPERTY NAME="lineComment" VALUE="--" />\r
+    <PROPERTY NAME="noWordSep" VALUE="_" />\r
+    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+  </PROPS>\r
+\r
+  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+     </SPAN>\r
+\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>"</BEGIN>\r
+       <END>"</END>\r
+     </SPAN>\r
+\r
+    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+    <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+     <SPAN TYPE="COMMENT1">\r
+      <BEGIN>{</BEGIN>\r
+      <END>}</END>\r
+     </SPAN>\r
+\r
+    <SEQ TYPE="NULL">)</SEQ>\r
+    <!-- <SEQ TYPE="NULL">(</SEQ> -->\r
+    <SEQ TYPE="NULL">]</SEQ>\r
+    <SEQ TYPE="NULL">[</SEQ>\r
+    <SEQ TYPE="NULL">.</SEQ>\r
+    <SEQ TYPE="NULL">,</SEQ>\r
+    <SEQ TYPE="NULL">;</SEQ>\r
+    <SEQ TYPE="NULL">:</SEQ>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">==</SEQ>\r
+    <SEQ TYPE="OPERATOR">!=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">||</SEQ>\r
+\r
+     <!-- Function calls -->\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+    <KEYWORDS>\r
+\r
+      <!-- 4GL Reserved Keywords. -->\r
+      <!-- Many keywords because SQL is embeded in 4GL -->\r
+      <KEYWORD1>ABORT</KEYWORD1>\r
+      <KEYWORD1>ABS</KEYWORD1>\r
+      <KEYWORD1>ABSOLUTE</KEYWORD1>\r
+      <KEYWORD1>ACCEPT</KEYWORD1>\r
+      <KEYWORD1>ACCESS</KEYWORD1>\r
+      <KEYWORD1>ACOS</KEYWORD1>\r
+      <KEYWORD1>ADA</KEYWORD1>\r
+      <KEYWORD1>ADD</KEYWORD1>\r
+      <KEYWORD1>AFTER</KEYWORD1>\r
+      <KEYWORD1>ALL</KEYWORD1>\r
+      <KEYWORD1>ALLOCATE</KEYWORD1>\r
+      <KEYWORD1>ALTER</KEYWORD1>\r
+      <KEYWORD1>AND</KEYWORD1>\r
+      <KEYWORD1>ANSI</KEYWORD1>\r
+      <KEYWORD1>ANY</KEYWORD1>\r
+      <KEYWORD1>APPEND</KEYWORD1>\r
+      <KEYWORD1>ARG_VAL</KEYWORD1>\r
+      <KEYWORD1>ARRAY</KEYWORD1>\r
+      <KEYWORD1>ARR_COUNT</KEYWORD1>\r
+      <KEYWORD1>ARR_CURR</KEYWORD1>\r
+      <KEYWORD1>AS</KEYWORD1>\r
+      <KEYWORD1>ASC</KEYWORD1>\r
+      <KEYWORD1>ASCENDING</KEYWORD1>\r
+      <KEYWORD1>ASCII</KEYWORD1>\r
+      <KEYWORD1>ASIN</KEYWORD1>\r
+      <KEYWORD1>AT</KEYWORD1>\r
+      <KEYWORD1>ATAN</KEYWORD1>\r
+      <KEYWORD1>ATAN2</KEYWORD1>\r
+      <KEYWORD1>ATTACH</KEYWORD1>\r
+      <KEYWORD1>ATTRIBUTE</KEYWORD1>\r
+      <KEYWORD1>ATTRIBUTES</KEYWORD1>\r
+      <KEYWORD1>AUDIT</KEYWORD1>\r
+      <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
+      <KEYWORD1>AUTO</KEYWORD1>\r
+      <KEYWORD1>AUTONEXT</KEYWORD1>\r
+      <KEYWORD1>AVERAGE</KEYWORD1>\r
+      <KEYWORD1>AVG</KEYWORD1>\r
+      <KEYWORD1>BEFORE</KEYWORD1>\r
+      <KEYWORD1>BEGIN</KEYWORD1>\r
+      <KEYWORD1>BETWEEN</KEYWORD1>\r
+      <KEYWORD1>BLACK</KEYWORD1>\r
+      <KEYWORD1>BLINK</KEYWORD1>\r
+      <KEYWORD1>BLUE</KEYWORD1>\r
+      <KEYWORD1>BOLD</KEYWORD1>\r
+      <KEYWORD1>BORDER</KEYWORD1>\r
+      <KEYWORD1>BOTH</KEYWORD1>\r
+      <KEYWORD1>BOTTOM</KEYWORD1>\r
+      <KEYWORD1>BREAK</KEYWORD1>\r
+      <KEYWORD1>BUFFERED</KEYWORD1>\r
+      <KEYWORD1>BY</KEYWORD1>\r
+      <KEYWORD1>BYTE</KEYWORD1>\r
+      <KEYWORD1>CALL</KEYWORD1>\r
+      <KEYWORD1>CASCADE</KEYWORD1>\r
+      <KEYWORD1>CASE</KEYWORD1>\r
+      <KEYWORD1>CHAR</KEYWORD1>\r
+      <KEYWORD1>CHARACTER</KEYWORD1>\r
+      <KEYWORD1>CHARACTER_LENGTH</KEYWORD1>\r
+      <KEYWORD1>CHAR_LENGTH</KEYWORD1>\r
+      <KEYWORD1>CHECK</KEYWORD1>\r
+      <KEYWORD1>CLASS_ORIGIN</KEYWORD1>\r
+      <KEYWORD1>CLEAR</KEYWORD1>\r
+      <KEYWORD1>CLIPPED</KEYWORD1>\r
+      <KEYWORD1>CLOSE</KEYWORD1>\r
+      <KEYWORD1>CLUSTER</KEYWORD1>\r
+      <KEYWORD1>COBOL</KEYWORD1>\r
+      <KEYWORD1>COLOR</KEYWORD1>\r
+      <KEYWORD1>COLUMN</KEYWORD1>\r
+      <KEYWORD1>COLUMNS</KEYWORD1>\r
+      <KEYWORD1>COMMAND</KEYWORD1>\r
+      <KEYWORD1>COMMENT</KEYWORD1>\r
+      <KEYWORD1>COMMENTS</KEYWORD1>\r
+      <KEYWORD1>COMMIT</KEYWORD1>\r
+      <KEYWORD1>COMMITTED</KEYWORD1>\r
+      <KEYWORD1>COMPOSITES</KEYWORD1>\r
+      <KEYWORD1>COMPRESS</KEYWORD1>\r
+      <KEYWORD1>CONCURRENT</KEYWORD1>\r
+      <KEYWORD1>CONNECT</KEYWORD1>\r
+      <KEYWORD1>CONNECTION</KEYWORD1>\r
+      <KEYWORD1>CONNECTION_ALIAS</KEYWORD1>\r
+      <KEYWORD1>CONSTRAINED</KEYWORD1>\r
+      <KEYWORD1>CONSTRAINT</KEYWORD1>\r
+      <KEYWORD1>CONSTRAINTS</KEYWORD1>\r
+      <KEYWORD1>CONSTRUCT</KEYWORD1>\r
+      <KEYWORD1>CONTINUE</KEYWORD1>\r
+      <KEYWORD1>CONTROL</KEYWORD1>\r
+      <KEYWORD1>COS</KEYWORD1>\r
+      <KEYWORD1>COUNT</KEYWORD1>\r
+      <KEYWORD1>CREATE</KEYWORD1>\r
+      <KEYWORD1>CURRENT</KEYWORD1>\r
+      <KEYWORD1>CURSOR</KEYWORD1>\r
+      <KEYWORD1>CYAN</KEYWORD1>\r
+      <KEYWORD1>DATA</KEYWORD1>\r
+      <KEYWORD1>DATABASE</KEYWORD1>\r
+      <KEYWORD1>DATASKIP</KEYWORD1>\r
+      <KEYWORD1>DATE</KEYWORD1>\r
+      <KEYWORD1>DATETIME</KEYWORD1>\r
+      <KEYWORD1>DAY</KEYWORD1>\r
+      <KEYWORD1>DBA</KEYWORD1>\r
+      <KEYWORD1>DBINFO</KEYWORD1>\r
+      <KEYWORD1>DBSERVERNAME</KEYWORD1>\r
+      <KEYWORD1>DEALLOCATE</KEYWORD1>\r
+      <KEYWORD1>DEBUG</KEYWORD1>\r
+      <KEYWORD1>DEC</KEYWORD1>\r
+      <KEYWORD1>DECIMAL</KEYWORD1>\r
+      <KEYWORD1>DECLARE</KEYWORD1>\r
+      <KEYWORD1>DEFAULT</KEYWORD1>\r
+      <KEYWORD1>DEFAULTS</KEYWORD1>\r
+      <KEYWORD1>DEFER</KEYWORD1>\r
+      <KEYWORD1>DEFERRED</KEYWORD1>\r
+      <KEYWORD1>DEFINE</KEYWORD1>\r
+      <KEYWORD1>DELETE</KEYWORD1>\r
+      <KEYWORD1>DELIMITER</KEYWORD1>\r
+      <KEYWORD1>DELIMITERS</KEYWORD1>\r
+      <KEYWORD1>DESC</KEYWORD1>\r
+      <KEYWORD1>DESCENDING</KEYWORD1>\r
+      <KEYWORD1>DESCRIBE</KEYWORD1>\r
+      <KEYWORD1>DESCRIPTOR</KEYWORD1>\r
+      <KEYWORD1>DETACH</KEYWORD1>\r
+      <KEYWORD1>DIAGNOSTICS</KEYWORD1>\r
+      <KEYWORD1>DIM</KEYWORD1>\r
+      <KEYWORD1>DIRTY</KEYWORD1>\r
+      <KEYWORD1>DISABLED</KEYWORD1>\r
+      <KEYWORD1>DISCONNECT</KEYWORD1>\r
+      <KEYWORD1>DISPLAY</KEYWORD1>\r
+      <KEYWORD1>DISTINCT</KEYWORD1>\r
+      <KEYWORD1>DISTRIBUTIONS</KEYWORD1>\r
+      <KEYWORD1>DO</KEYWORD1>\r
+      <KEYWORD1>DORMANT</KEYWORD1>\r
+      <KEYWORD1>DOUBLE</KEYWORD1>\r
+      <KEYWORD1>DOWN</KEYWORD1>\r
+      <KEYWORD1>DOWNSHIFT</KEYWORD1>\r
+      <KEYWORD1>DROP</KEYWORD1>\r
+      <KEYWORD1>EACH</KEYWORD1>\r
+      <KEYWORD1>ELIF</KEYWORD1>\r
+      <KEYWORD1>ELSE</KEYWORD1>\r
+      <KEYWORD1>ENABLED</KEYWORD1>\r
+      <KEYWORD1>END</KEYWORD1>\r
+      <KEYWORD1>ENTRY</KEYWORD1>\r
+      <KEYWORD1>ERROR</KEYWORD1>\r
+      <KEYWORD1>ERRORLOG</KEYWORD1>\r
+      <KEYWORD1>ERR_GET</KEYWORD1>\r
+      <KEYWORD1>ERR_PRINT</KEYWORD1>\r
+      <KEYWORD1>ERR_QUIT</KEYWORD1>\r
+      <KEYWORD1>ESC</KEYWORD1>\r
+      <KEYWORD1>ESCAPE</KEYWORD1>\r
+      <KEYWORD1>EVERY</KEYWORD1>\r
+      <KEYWORD1>EXCEPTION</KEYWORD1>\r
+      <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
+      <KEYWORD1>EXEC</KEYWORD1>\r
+      <KEYWORD1>EXECUTE</KEYWORD1>\r
+      <KEYWORD1>EXISTS</KEYWORD1>\r
+      <KEYWORD1>EXIT</KEYWORD1>\r
+      <KEYWORD1>EXP</KEYWORD1>\r
+      <KEYWORD1>EXPLAIN</KEYWORD1>\r
+      <KEYWORD1>EXPRESSION</KEYWORD1>\r
+      <KEYWORD1>EXTEND</KEYWORD1>\r
+      <KEYWORD1>EXTENT</KEYWORD1>\r
+      <KEYWORD1>EXTERN</KEYWORD1>\r
+      <KEYWORD1>EXTERNAL</KEYWORD1>\r
+      <KEYWORD1>F1</KEYWORD1>\r
+      <KEYWORD1>F10</KEYWORD1>\r
+      <KEYWORD1>F11</KEYWORD1>\r
+      <KEYWORD1>F12</KEYWORD1>\r
+      <KEYWORD1>F13</KEYWORD1>\r
+      <KEYWORD1>F14</KEYWORD1>\r
+      <KEYWORD1>F15</KEYWORD1>\r
+      <KEYWORD1>F16</KEYWORD1>\r
+      <KEYWORD1>F17</KEYWORD1>\r
+      <KEYWORD1>F18</KEYWORD1>\r
+      <KEYWORD1>F19</KEYWORD1>\r
+      <KEYWORD1>F2</KEYWORD1>\r
+      <KEYWORD1>F20</KEYWORD1>\r
+      <KEYWORD1>F21</KEYWORD1>\r
+      <KEYWORD1>F22</KEYWORD1>\r
+      <KEYWORD1>F23</KEYWORD1>\r
+      <KEYWORD1>F24</KEYWORD1>\r
+      <KEYWORD1>F25</KEYWORD1>\r
+      <KEYWORD1>F26</KEYWORD1>\r
+      <KEYWORD1>F27</KEYWORD1>\r
+      <KEYWORD1>F28</KEYWORD1>\r
+      <KEYWORD1>F29</KEYWORD1>\r
+      <KEYWORD1>F3</KEYWORD1>\r
+      <KEYWORD1>F30</KEYWORD1>\r
+      <KEYWORD1>F31</KEYWORD1>\r
+      <KEYWORD1>F32</KEYWORD1>\r
+      <KEYWORD1>F33</KEYWORD1>\r
+      <KEYWORD1>F34</KEYWORD1>\r
+      <KEYWORD1>F35</KEYWORD1>\r
+      <KEYWORD1>F36</KEYWORD1>\r
+      <KEYWORD1>F37</KEYWORD1>\r
+      <KEYWORD1>F38</KEYWORD1>\r
+      <KEYWORD1>F39</KEYWORD1>\r
+      <KEYWORD1>F4</KEYWORD1>\r
+      <KEYWORD1>F40</KEYWORD1>\r
+      <KEYWORD1>F41</KEYWORD1>\r
+      <KEYWORD1>F42</KEYWORD1>\r
+      <KEYWORD1>F43</KEYWORD1>\r
+      <KEYWORD1>F44</KEYWORD1>\r
+      <KEYWORD1>F45</KEYWORD1>\r
+      <KEYWORD1>F46</KEYWORD1>\r
+      <KEYWORD1>F47</KEYWORD1>\r
+      <KEYWORD1>F48</KEYWORD1>\r
+      <KEYWORD1>F49</KEYWORD1>\r
+      <KEYWORD1>F5</KEYWORD1>\r
+      <KEYWORD1>F50</KEYWORD1>\r
+      <KEYWORD1>F51</KEYWORD1>\r
+      <KEYWORD1>F52</KEYWORD1>\r
+      <KEYWORD1>F53</KEYWORD1>\r
+      <KEYWORD1>F54</KEYWORD1>\r
+      <KEYWORD1>F55</KEYWORD1>\r
+      <KEYWORD1>F56</KEYWORD1>\r
+      <KEYWORD1>F57</KEYWORD1>\r
+      <KEYWORD1>F58</KEYWORD1>\r
+      <KEYWORD1>F59</KEYWORD1>\r
+      <KEYWORD1>F6</KEYWORD1>\r
+      <KEYWORD1>F60</KEYWORD1>\r
+      <KEYWORD1>F61</KEYWORD1>\r
+      <KEYWORD1>F62</KEYWORD1>\r
+      <KEYWORD1>F63</KEYWORD1>\r
+      <KEYWORD1>F64</KEYWORD1>\r
+      <KEYWORD1>F7</KEYWORD1>\r
+      <KEYWORD1>F8</KEYWORD1>\r
+      <KEYWORD1>F9</KEYWORD1>\r
+      <KEYWORD1>FALSE</KEYWORD1>\r
+      <KEYWORD1>FETCH</KEYWORD1>\r
+      <KEYWORD1>FGL_GETENV</KEYWORD1>\r
+      <KEYWORD1>FGL_KEYVAL</KEYWORD1>\r
+      <KEYWORD1>FGL_LASTKEY</KEYWORD1>\r
+      <KEYWORD1>FIELD</KEYWORD1>\r
+      <KEYWORD1>FIELD_TOUCHED</KEYWORD1>\r
+      <KEYWORD1>FILE</KEYWORD1>\r
+      <KEYWORD1>FILLFACTOR</KEYWORD1>\r
+      <KEYWORD1>FILTERING</KEYWORD1>\r
+      <KEYWORD1>FINISH</KEYWORD1>\r
+      <KEYWORD1>FIRST</KEYWORD1>\r
+      <KEYWORD1>FLOAT</KEYWORD1>\r
+      <KEYWORD1>FLUSH</KEYWORD1>\r
+      <KEYWORD1>FOR</KEYWORD1>\r
+      <KEYWORD1>FOREACH</KEYWORD1>\r
+      <KEYWORD1>FOREIGN</KEYWORD1>\r
+      <KEYWORD1>FORM</KEYWORD1>\r
+      <KEYWORD1>FORMAT</KEYWORD1>\r
+      <KEYWORD1>FORMONLY</KEYWORD1>\r
+      <KEYWORD1>FORTRAN</KEYWORD1>\r
+      <KEYWORD1>FOUND</KEYWORD1>\r
+      <KEYWORD1>FRACTION</KEYWORD1>\r
+      <KEYWORD1>FRAGMENT</KEYWORD1>\r
+      <KEYWORD1>FREE</KEYWORD1>\r
+      <KEYWORD1>FROM</KEYWORD1>\r
+      <KEYWORD1>FUNCTION</KEYWORD1>\r
+      <KEYWORD1>GET_FLDBUF</KEYWORD1>\r
+      <KEYWORD1>GLOBAL</KEYWORD1>\r
+      <KEYWORD1>GLOBALS</KEYWORD1>\r
+      <KEYWORD1>GO</KEYWORD1>\r
+      <KEYWORD1>GOTO</KEYWORD1>\r
+      <KEYWORD1>GRANT</KEYWORD1>\r
+      <KEYWORD1>GREEN</KEYWORD1>\r
+      <KEYWORD1>GROUP</KEYWORD1>\r
+      <KEYWORD1>HAVING</KEYWORD1>\r
+      <KEYWORD1>HEADER</KEYWORD1>\r
+      <KEYWORD1>HELP</KEYWORD1>\r
+      <KEYWORD1>HEX</KEYWORD1>\r
+      <KEYWORD1>HIDE</KEYWORD1>\r
+      <KEYWORD1>HIGH</KEYWORD1>\r
+      <KEYWORD1>HOLD</KEYWORD1>\r
+      <KEYWORD1>HOUR</KEYWORD1>\r
+      <KEYWORD1>IDATA</KEYWORD1>\r
+      <KEYWORD1>IF</KEYWORD1>\r
+      <KEYWORD1>ILENGTH</KEYWORD1>\r
+      <KEYWORD1>IMMEDIATE</KEYWORD1>\r
+      <KEYWORD1>IN</KEYWORD1>\r
+      <KEYWORD1>INCLUDE</KEYWORD1>\r
+      <KEYWORD1>INDEX</KEYWORD1>\r
+      <KEYWORD1>INDEXES</KEYWORD1>\r
+      <KEYWORD1>INDICATOR</KEYWORD1>\r
+      <KEYWORD1>INFIELD</KEYWORD1>\r
+      <KEYWORD1>INIT</KEYWORD1>\r
+      <KEYWORD1>INITIALIZE</KEYWORD1>\r
+      <KEYWORD1>INPUT</KEYWORD1>\r
+      <KEYWORD1>INSERT</KEYWORD1>\r
+      <KEYWORD1>INSTRUCTIONS</KEYWORD1>\r
+      <KEYWORD1>INT</KEYWORD1>\r
+      <KEYWORD1>INTEGER</KEYWORD1>\r
+      <KEYWORD1>INTERRUPT</KEYWORD1>\r
+      <KEYWORD1>INTERVAL</KEYWORD1>\r
+      <KEYWORD1>INTO</KEYWORD1>\r
+      <KEYWORD1>INT_FLAG</KEYWORD1>\r
+      <KEYWORD1>INVISIBLE</KEYWORD1>\r
+      <KEYWORD1>IS</KEYWORD1>\r
+      <KEYWORD1>ISAM</KEYWORD1>\r
+      <KEYWORD1>ISOLATION</KEYWORD1>\r
+      <KEYWORD1>ITYPE</KEYWORD1>\r
+      <KEYWORD1>KEY</KEYWORD1>\r
+      <KEYWORD1>LABEL</KEYWORD1>\r
+      <KEYWORD1>LANGUAGE</KEYWORD1>\r
+      <KEYWORD1>LAST</KEYWORD1>\r
+      <KEYWORD1>LEADING</KEYWORD1>\r
+      <KEYWORD1>LEFT</KEYWORD1>\r
+      <KEYWORD1>LENGTH</KEYWORD1>\r
+      <KEYWORD1>LET</KEYWORD1>\r
+      <KEYWORD1>LIKE</KEYWORD1>\r
+      <KEYWORD1>LINE</KEYWORD1>\r
+      <KEYWORD1>LINENO</KEYWORD1>\r
+      <KEYWORD1>LINES</KEYWORD1>\r
+      <KEYWORD1>LOAD</KEYWORD1>\r
+      <KEYWORD1>LOCATE</KEYWORD1>\r
+      <KEYWORD1>LOCK</KEYWORD1>\r
+      <KEYWORD1>LOG</KEYWORD1>\r
+      <KEYWORD1>LOG10</KEYWORD1>\r
+      <KEYWORD1>LOGN</KEYWORD1>\r
+      <KEYWORD1>LONG</KEYWORD1>\r
+      <KEYWORD1>LOW</KEYWORD1>\r
+      <KEYWORD1>MAGENTA</KEYWORD1>\r
+      <KEYWORD1>MAIN</KEYWORD1>\r
+      <KEYWORD1>MARGIN</KEYWORD1>\r
+      <KEYWORD1>MATCHES</KEYWORD1>\r
+      <KEYWORD1>MAX</KEYWORD1>\r
+      <KEYWORD1>MDY</KEYWORD1>\r
+      <KEYWORD1>MEDIUM</KEYWORD1>\r
+      <KEYWORD1>MEMORY</KEYWORD1>\r
+      <KEYWORD1>MENU</KEYWORD1>\r
+      <KEYWORD1>MESSAGE</KEYWORD1>\r
+      <KEYWORD1>MESSAGE_LENGTH</KEYWORD1>\r
+      <KEYWORD1>MESSAGE_TEXT</KEYWORD1>\r
+      <KEYWORD1>MIN</KEYWORD1>\r
+      <KEYWORD1>MINUTE</KEYWORD1>\r
+      <KEYWORD1>MOD</KEYWORD1>\r
+      <KEYWORD1>MODE</KEYWORD1>\r
+      <KEYWORD1>MODIFY</KEYWORD1>\r
+      <KEYWORD1>MODULE</KEYWORD1>\r
+      <KEYWORD1>MONEY</KEYWORD1>\r
+      <KEYWORD1>MONTH</KEYWORD1>\r
+      <KEYWORD1>MORE</KEYWORD1>\r
+      <KEYWORD1>NAME</KEYWORD1>\r
+      <KEYWORD1>NCHAR</KEYWORD1>\r
+      <KEYWORD1>NEED</KEYWORD1>\r
+      <KEYWORD1>NEW</KEYWORD1>\r
+      <KEYWORD1>NEXT</KEYWORD1>\r
+      <KEYWORD1>NEXTPAGE</KEYWORD1>\r
+      <KEYWORD1>NO</KEYWORD1>\r
+      <KEYWORD1>NOCR</KEYWORD1>\r
+      <KEYWORD1>NOENTRY</KEYWORD1>\r
+      <KEYWORD1>NONE</KEYWORD1>\r
+      <KEYWORD1>NORMAL</KEYWORD1>\r
+      <KEYWORD1>NOT</KEYWORD1>\r
+      <KEYWORD1>NOTFOUND</KEYWORD1>\r
+      <KEYWORD1>NULL</KEYWORD1>\r
+      <KEYWORD1>NULLABLE</KEYWORD1>\r
+      <KEYWORD1>NUMBER</KEYWORD1>\r
+      <KEYWORD1>NUMERIC</KEYWORD1>\r
+      <KEYWORD1>NUM_ARGS</KEYWORD1>\r
+      <KEYWORD1>NVARCHAR</KEYWORD1>\r
+      <KEYWORD1>OCTET_LENGTH</KEYWORD1>\r
+      <KEYWORD1>OF</KEYWORD1>\r
+      <KEYWORD1>OFF</KEYWORD1>\r
+      <KEYWORD1>OLD</KEYWORD1>\r
+      <KEYWORD1>ON</KEYWORD1>\r
+      <KEYWORD1>ONLY</KEYWORD1>\r
+      <KEYWORD1>OPEN</KEYWORD1>\r
+      <KEYWORD1>OPTIMIZATION</KEYWORD1>\r
+      <KEYWORD1>OPTION</KEYWORD1>\r
+      <KEYWORD1>OPTIONS</KEYWORD1>\r
+      <KEYWORD1>OR</KEYWORD1>\r
+      <KEYWORD1>ORDER</KEYWORD1>\r
+      <KEYWORD1>OTHERWISE</KEYWORD1>\r
+      <KEYWORD1>OUTER</KEYWORD1>\r
+      <KEYWORD1>OUTPUT</KEYWORD1>\r
+      <KEYWORD1>PAGE</KEYWORD1>\r
+      <KEYWORD1>PAGENO</KEYWORD1>\r
+      <KEYWORD1>PASCAL</KEYWORD1>\r
+      <KEYWORD1>PAUSE</KEYWORD1>\r
+      <KEYWORD1>PDQPRIORITY</KEYWORD1>\r
+      <KEYWORD1>PERCENT</KEYWORD1>\r
+      <KEYWORD1>PICTURE</KEYWORD1>\r
+      <KEYWORD1>PIPE</KEYWORD1>\r
+      <KEYWORD1>PLI</KEYWORD1>\r
+      <KEYWORD1>POW</KEYWORD1>\r
+      <KEYWORD1>PRECISION</KEYWORD1>\r
+      <KEYWORD1>PREPARE</KEYWORD1>\r
+      <KEYWORD1>PREVIOUS</KEYWORD1>\r
+      <KEYWORD1>PREVPAGE</KEYWORD1>\r
+      <KEYWORD1>PRIMARY</KEYWORD1>\r
+      <KEYWORD1>PRINT</KEYWORD1>\r
+      <KEYWORD1>PRINTER</KEYWORD1>\r
+      <KEYWORD1>PRIOR</KEYWORD1>\r
+      <KEYWORD1>PRIVATE</KEYWORD1>\r
+      <KEYWORD1>PRIVILEGES</KEYWORD1>\r
+      <KEYWORD1>PROCEDURE</KEYWORD1>\r
+      <KEYWORD1>PROGRAM</KEYWORD1>\r
+      <KEYWORD1>PROMPT</KEYWORD1>\r
+      <KEYWORD1>PUBLIC</KEYWORD1>\r
+      <KEYWORD1>PUT</KEYWORD1>\r
+      <KEYWORD1>QUIT</KEYWORD1>\r
+      <KEYWORD1>QUIT_FLAG</KEYWORD1>\r
+      <KEYWORD1>RAISE</KEYWORD1>\r
+      <KEYWORD1>RANGE</KEYWORD1>\r
+      <KEYWORD1>READ</KEYWORD1>\r
+      <KEYWORD1>READONLY</KEYWORD1>\r
+      <KEYWORD1>REAL</KEYWORD1>\r
+      <KEYWORD1>RECORD</KEYWORD1>\r
+      <KEYWORD1>RECOVER</KEYWORD1>\r
+      <KEYWORD1>RED</KEYWORD1>\r
+      <KEYWORD1>REFERENCES</KEYWORD1>\r
+      <KEYWORD1>REFERENCING</KEYWORD1>\r
+      <KEYWORD1>REGISTER</KEYWORD1>\r
+      <KEYWORD1>RELATIVE</KEYWORD1>\r
+      <KEYWORD1>REMAINDER</KEYWORD1>\r
+      <KEYWORD1>REMOVE</KEYWORD1>\r
+      <KEYWORD1>RENAME</KEYWORD1>\r
+      <KEYWORD1>REOPTIMIZATION</KEYWORD1>\r
+      <KEYWORD1>REPEATABLE</KEYWORD1>\r
+      <KEYWORD1>REPORT</KEYWORD1>\r
+      <KEYWORD1>REQUIRED</KEYWORD1>\r
+      <KEYWORD1>RESOLUTION</KEYWORD1>\r
+      <KEYWORD1>RESOURCE</KEYWORD1>\r
+      <KEYWORD1>RESTRICT</KEYWORD1>\r
+      <KEYWORD1>RESUME</KEYWORD1>\r
+      <KEYWORD1>RETURN</KEYWORD1>\r
+      <KEYWORD1>RETURNED_SQLSTATE</KEYWORD1>\r
+      <KEYWORD1>RETURNING</KEYWORD1>\r
+      <KEYWORD1>REVERSE</KEYWORD1>\r
+      <KEYWORD1>REVOKE</KEYWORD1>\r
+      <KEYWORD1>RIGHT</KEYWORD1>\r
+      <KEYWORD1>ROBIN</KEYWORD1>\r
+      <KEYWORD1>ROLE</KEYWORD1>\r
+      <KEYWORD1>ROLLBACK</KEYWORD1>\r
+      <KEYWORD1>ROLLFORWARD</KEYWORD1>\r
+      <KEYWORD1>ROOT</KEYWORD1>\r
+      <KEYWORD1>ROUND</KEYWORD1>\r
+      <KEYWORD1>ROW</KEYWORD1>\r
+      <KEYWORD1>ROWID</KEYWORD1>\r
+      <KEYWORD1>ROWIDS</KEYWORD1>\r
+      <KEYWORD1>ROWS</KEYWORD1>\r
+      <KEYWORD1>ROW_COUNT</KEYWORD1>\r
+      <KEYWORD1>RUN</KEYWORD1>\r
+      <KEYWORD1>SCALE</KEYWORD1>\r
+      <KEYWORD1>SCHEMA</KEYWORD1>\r
+      <KEYWORD1>SCREEN</KEYWORD1>\r
+      <KEYWORD1>SCROLL</KEYWORD1>\r
+      <KEYWORD1>SCR_LINE</KEYWORD1>\r
+      <KEYWORD1>SECOND</KEYWORD1>\r
+      <KEYWORD1>SECTION</KEYWORD1>\r
+      <KEYWORD1>SELECT</KEYWORD1>\r
+      <KEYWORD1>SERIAL</KEYWORD1>\r
+      <KEYWORD1>SERIALIZABLE</KEYWORD1>\r
+      <KEYWORD1>SERVER_NAME</KEYWORD1>\r
+      <KEYWORD1>SESSION</KEYWORD1>\r
+      <KEYWORD1>SET</KEYWORD1>\r
+      <KEYWORD1>SET_COUNT</KEYWORD1>\r
+      <KEYWORD1>SHARE</KEYWORD1>\r
+      <KEYWORD1>SHORT</KEYWORD1>\r
+      <KEYWORD1>SHOW</KEYWORD1>\r
+      <KEYWORD1>SITENAME</KEYWORD1>\r
+      <KEYWORD1>SIZE</KEYWORD1>\r
+      <KEYWORD1>SIZEOF</KEYWORD1>\r
+      <KEYWORD1>SKIP</KEYWORD1>\r
+      <KEYWORD1>SLEEP</KEYWORD1>\r
+      <KEYWORD1>SMALLFLOAT</KEYWORD1>\r
+      <KEYWORD1>SMALLINT</KEYWORD1>\r
+      <KEYWORD1>SOME</KEYWORD1>\r
+      <KEYWORD1>SPACE</KEYWORD1>\r
+      <KEYWORD1>SPACES</KEYWORD1>\r
+      <KEYWORD1>SQL</KEYWORD1>\r
+      <KEYWORD1>SQLAWARN</KEYWORD1>\r
+      <KEYWORD1>SQLCA</KEYWORD1>\r
+      <KEYWORD1>SQLCODE</KEYWORD1>\r
+      <KEYWORD1>SQLERRD</KEYWORD1>\r
+      <KEYWORD1>SQLERRM</KEYWORD1>\r
+      <KEYWORD1>SQLERROR</KEYWORD1>\r
+      <KEYWORD1>SQLERRP</KEYWORD1>\r
+      <KEYWORD1>SQLSTATE</KEYWORD1>\r
+      <KEYWORD1>SQLWARNING</KEYWORD1>\r
+      <KEYWORD1>SQRT</KEYWORD1>\r
+      <KEYWORD1>STABILITY</KEYWORD1>\r
+      <KEYWORD1>START</KEYWORD1>\r
+      <KEYWORD1>STARTLOG</KEYWORD1>\r
+      <KEYWORD1>STATIC</KEYWORD1>\r
+      <KEYWORD1>STATISTICS</KEYWORD1>\r
+      <KEYWORD1>STATUS</KEYWORD1>\r
+      <KEYWORD1>STDEV</KEYWORD1>\r
+      <KEYWORD1>STEP</KEYWORD1>\r
+      <KEYWORD1>STOP</KEYWORD1>\r
+      <KEYWORD1>STRING</KEYWORD1>\r
+      <KEYWORD1>STRUCT</KEYWORD1>\r
+      <KEYWORD1>SUBCLASS_ORIGIN</KEYWORD1>\r
+      <KEYWORD1>SUM</KEYWORD1>\r
+      <KEYWORD1>SWITCH</KEYWORD1>\r
+      <KEYWORD1>SYNONYM</KEYWORD1>\r
+      <KEYWORD1>SYSTEM</KEYWORD1>\r
+      <KEYWORD1>SysBlobs</KEYWORD1>\r
+      <KEYWORD1>SysChecks</KEYWORD1>\r
+      <KEYWORD1>SysColAuth</KEYWORD1>\r
+      <KEYWORD1>SysColDepend</KEYWORD1>\r
+      <KEYWORD1>SysColumns</KEYWORD1>\r
+      <KEYWORD1>SysConstraints</KEYWORD1>\r
+      <KEYWORD1>SysDefaults</KEYWORD1>\r
+      <KEYWORD1>SysDepend</KEYWORD1>\r
+      <KEYWORD1>SysDistrib</KEYWORD1>\r
+      <KEYWORD1>SysFragAuth</KEYWORD1>\r
+      <KEYWORD1>SysFragments</KEYWORD1>\r
+      <KEYWORD1>SysIndexes</KEYWORD1>\r
+      <KEYWORD1>SysObjState</KEYWORD1>\r
+      <KEYWORD1>SysOpClstr</KEYWORD1>\r
+      <KEYWORD1>SysProcAuth</KEYWORD1>\r
+      <KEYWORD1>SysProcBody</KEYWORD1>\r
+      <KEYWORD1>SysProcPlan</KEYWORD1>\r
+      <KEYWORD1>SysProcedures</KEYWORD1>\r
+      <KEYWORD1>SysReferences</KEYWORD1>\r
+      <KEYWORD1>SysRoleAuth</KEYWORD1>\r
+      <KEYWORD1>SysSynTable</KEYWORD1>\r
+      <KEYWORD1>SysSynonyms</KEYWORD1>\r
+      <KEYWORD1>SysTabAuth</KEYWORD1>\r
+      <KEYWORD1>SysTables</KEYWORD1>\r
+      <KEYWORD1>SysTrigBody</KEYWORD1>\r
+      <KEYWORD1>SysTriggers</KEYWORD1>\r
+      <KEYWORD1>SysUsers</KEYWORD1>\r
+      <KEYWORD1>SysViews</KEYWORD1>\r
+      <KEYWORD1>SysViolations</KEYWORD1>\r
+      <KEYWORD1>TAB</KEYWORD1>\r
+      <KEYWORD1>TABLE</KEYWORD1>\r
+      <KEYWORD1>TABLES</KEYWORD1>\r
+      <KEYWORD1>TAN</KEYWORD1>\r
+      <KEYWORD1>TEMP</KEYWORD1>\r
+      <KEYWORD1>TEXT</KEYWORD1>\r
+      <KEYWORD1>THEN</KEYWORD1>\r
+      <KEYWORD1>THROUGH</KEYWORD1>\r
+      <KEYWORD1>THRU</KEYWORD1>\r
+      <KEYWORD1>TIME</KEYWORD1>\r
+      <KEYWORD1>TO</KEYWORD1>\r
+      <KEYWORD1>TODAY</KEYWORD1>\r
+      <KEYWORD1>TOP</KEYWORD1>\r
+      <KEYWORD1>TOTAL</KEYWORD1>\r
+      <KEYWORD1>TRACE</KEYWORD1>\r
+      <KEYWORD1>TRAILER</KEYWORD1>\r
+      <KEYWORD1>TRAILING</KEYWORD1>\r
+      <KEYWORD1>TRANSACTION</KEYWORD1>\r
+      <KEYWORD1>TRIGGER</KEYWORD1>\r
+      <KEYWORD1>TRIGGERS</KEYWORD1>\r
+      <KEYWORD1>TRIM</KEYWORD1>\r
+      <KEYWORD1>TRUE</KEYWORD1>\r
+      <KEYWORD1>TRUNC</KEYWORD1>\r
+      <KEYWORD1>TYPE</KEYWORD1>\r
+      <KEYWORD1>TYPEDEF</KEYWORD1>\r
+      <KEYWORD1>UNCOMMITTED</KEYWORD1>\r
+      <KEYWORD1>UNCONSTRAINED</KEYWORD1>\r
+      <KEYWORD1>UNDERLINE</KEYWORD1>\r
+      <KEYWORD1>UNION</KEYWORD1>\r
+      <KEYWORD1>UNIQUE</KEYWORD1>\r
+      <KEYWORD1>UNITS</KEYWORD1>\r
+      <KEYWORD1>UNLOAD</KEYWORD1>\r
+      <KEYWORD1>UNLOCK</KEYWORD1>\r
+      <KEYWORD1>UNSIGNED</KEYWORD1>\r
+      <KEYWORD1>UP</KEYWORD1>\r
+      <KEYWORD1>UPDATE</KEYWORD1>\r
+      <KEYWORD1>UPSHIFT</KEYWORD1>\r
+      <KEYWORD1>USER</KEYWORD1>\r
+      <KEYWORD1>USING</KEYWORD1>\r
+      <KEYWORD1>VALIDATE</KEYWORD1>\r
+      <KEYWORD1>VALUE</KEYWORD1>\r
+      <KEYWORD1>VALUES</KEYWORD1>\r
+      <KEYWORD1>VARCHAR</KEYWORD1>\r
+      <KEYWORD1>VARIABLES</KEYWORD1>\r
+      <KEYWORD1>VARIANCE</KEYWORD1>\r
+      <KEYWORD1>VARYING</KEYWORD1>\r
+      <KEYWORD1>VERIFY</KEYWORD1>\r
+      <KEYWORD1>VIEW</KEYWORD1>\r
+      <KEYWORD1>VIOLATIONS</KEYWORD1>\r
+      <KEYWORD1>WAIT</KEYWORD1>\r
+      <KEYWORD1>WAITING</KEYWORD1>\r
+      <KEYWORD1>WARNING</KEYWORD1>\r
+      <KEYWORD1>WEEKDAY</KEYWORD1>\r
+      <KEYWORD1>WHEN</KEYWORD1>\r
+      <KEYWORD1>WHENEVER</KEYWORD1>\r
+      <KEYWORD1>WHERE</KEYWORD1>\r
+      <KEYWORD1>WHILE</KEYWORD1>\r
+      <KEYWORD1>WHITE</KEYWORD1>\r
+      <KEYWORD1>WINDOW</KEYWORD1>\r
+      <KEYWORD1>WITH</KEYWORD1>\r
+      <KEYWORD1>WITHOUT</KEYWORD1>\r
+      <KEYWORD1>WORDWRAP</KEYWORD1>\r
+      <KEYWORD1>WORK</KEYWORD1>\r
+      <KEYWORD1>WRAP</KEYWORD1>\r
+      <KEYWORD1>WRITE</KEYWORD1>\r
+      <KEYWORD1>YEAR</KEYWORD1>\r
+      <KEYWORD1>YELLOW</KEYWORD1>\r
+      <KEYWORD1>ZEROFILL</KEYWORD1>\r
+\r
+\r
+      <!-- special, keywords/literals -->\r
+      <LITERAL2>FALSE</LITERAL2>\r
+      <LITERAL2>NULL</LITERAL2>\r
+      <LITERAL2>TRUE</LITERAL2>\r
+\r
+\r
+      </KEYWORDS>\r
+   </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/icon.xml b/basis/xmode/modes/icon.xml
new file mode 100644 (file)
index 0000000..892609b
--- /dev/null
@@ -0,0 +1,198 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Icon mode by Silas Smith (smiths@cs.arizona.edu) -->\r
+<!-- Updated 08/07/2003 -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE="|.\\:,+-*/=?^!@%&lt;&gt;&amp;" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE"\r
+           HIGHLIGHT_DIGITS="TRUE"\r
+           DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- string literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- cset literals -->\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">~===</SEQ>\r
+               <SEQ TYPE="OPERATOR">===</SEQ>\r
+               <SEQ TYPE="OPERATOR">|||</SEQ> <!-- list concatenation -->\r
+\r
+               <!-- lexical operators -->\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ> <!-- ">>=" -->\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ> <!-- ">>" -->\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ> <!-- "<<=" -->\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ> <!-- "<<" -->\r
+               <SEQ TYPE="OPERATOR">~==</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">||</SEQ>\r
+\r
+               <!-- set operators -->\r
+               <SEQ TYPE="OPERATOR">++</SEQ> <!-- union -->\r
+               <SEQ TYPE="OPERATOR">**</SEQ> <!-- intersection -->\r
+               <SEQ TYPE="OPERATOR">--</SEQ> <!-- difference -->\r
+\r
+               <SEQ TYPE="OPERATOR">&lt;-&gt;</SEQ> <!-- "<->" -->\r
+               <SEQ TYPE="OPERATOR">&lt;-</SEQ> <!-- "<-" -->\r
+               <SEQ TYPE="OPERATOR">op:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">~=</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=:</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">-:</SEQ>\r
+               <SEQ TYPE="OPERATOR">+:</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">not</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+\r
+               <!-- numerical operators -->\r
+                               <!-- NOTE: '*' defined above -->\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>by</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>create</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>every</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>initial</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD2>break</KEYWORD2>\r
+                       <KEYWORD2>end</KEYWORD2>\r
+                       <KEYWORD2>fail</KEYWORD2>\r
+                       <KEYWORD2>global</KEYWORD2>\r
+                       <KEYWORD2>invocable</KEYWORD2>\r
+                       <KEYWORD2>link</KEYWORD2>\r
+                       <KEYWORD2>local</KEYWORD2>\r
+                       <KEYWORD2>procedure</KEYWORD2>\r
+                       <KEYWORD2>record</KEYWORD2>\r
+                       <KEYWORD2>return</KEYWORD2>\r
+                       <KEYWORD2>static</KEYWORD2>\r
+                       <KEYWORD2>suspend</KEYWORD2>\r
+\r
+                       <KEYWORD3>&amp;allocated</KEYWORD3>\r
+                       <KEYWORD3>&amp;ascii</KEYWORD3>\r
+                       <KEYWORD3>&amp;clock</KEYWORD3>\r
+                       <KEYWORD3>&amp;collections</KEYWORD3>\r
+                       <KEYWORD3>&amp;cset</KEYWORD3>\r
+                       <KEYWORD3>&amp;current</KEYWORD3>\r
+                       <KEYWORD3>&amp;date</KEYWORD3>\r
+                       <KEYWORD3>&amp;dateline</KEYWORD3>\r
+                       <KEYWORD3>&amp;digits</KEYWORD3>\r
+                       <KEYWORD3>&amp;dump</KEYWORD3>\r
+                       <KEYWORD3>&amp;e</KEYWORD3>\r
+                       <KEYWORD3>&amp;error</KEYWORD3>\r
+                       <KEYWORD3>&amp;errornumber</KEYWORD3>\r
+                       <KEYWORD3>&amp;errortext</KEYWORD3>\r
+                       <KEYWORD3>&amp;errorvalue</KEYWORD3>\r
+                       <KEYWORD3>&amp;errout</KEYWORD3>\r
+                       <KEYWORD3>&amp;fail</KEYWORD3>\r
+                       <KEYWORD3>&amp;features</KEYWORD3>\r
+                       <KEYWORD3>&amp;file</KEYWORD3>\r
+                       <KEYWORD3>&amp;host</KEYWORD3>\r
+                       <KEYWORD3>&amp;input</KEYWORD3>\r
+                       <KEYWORD3>&amp;lcase</KEYWORD3>\r
+                       <KEYWORD3>&amp;letters</KEYWORD3>\r
+                       <KEYWORD3>&amp;level</KEYWORD3>\r
+                       <KEYWORD3>&amp;line</KEYWORD3>\r
+                       <KEYWORD3>&amp;main</KEYWORD3>\r
+                       <KEYWORD3>&amp;null</KEYWORD3>\r
+                       <KEYWORD3>&amp;output</KEYWORD3>\r
+                       <KEYWORD3>&amp;phi</KEYWORD3>\r
+                       <KEYWORD3>&amp;pi</KEYWORD3>\r
+                       <KEYWORD3>&amp;pos</KEYWORD3>\r
+                       <KEYWORD3>&amp;progname</KEYWORD3>\r
+                       <KEYWORD3>&amp;random</KEYWORD3>\r
+                       <KEYWORD3>&amp;regions</KEYWORD3>\r
+                       <KEYWORD3>&amp;source</KEYWORD3>\r
+                       <KEYWORD3>&amp;storage</KEYWORD3>\r
+                       <KEYWORD3>&amp;subject</KEYWORD3>\r
+                       <KEYWORD3>&amp;time</KEYWORD3>\r
+                       <KEYWORD3>&amp;trace</KEYWORD3>\r
+                       <KEYWORD3>&amp;ucase</KEYWORD3>\r
+                       <KEYWORD3>&amp;version</KEYWORD3>\r
+\r
+                       <!-- preprocessor directives -->\r
+                       <KEYWORD3>$define</KEYWORD3>\r
+                       <KEYWORD3>$else</KEYWORD3>\r
+                       <KEYWORD3>$endif</KEYWORD3>\r
+                       <KEYWORD3>$error</KEYWORD3>\r
+                       <KEYWORD3>$ifdef</KEYWORD3>\r
+                       <KEYWORD3>$ifndef</KEYWORD3>\r
+                       <KEYWORD3>$include</KEYWORD3>\r
+                       <KEYWORD3>$line</KEYWORD3>\r
+                       <KEYWORD3>$undef</KEYWORD3>\r
+\r
+                       <!-- predefined prepocessor symbols -->\r
+                       <KEYWORD3>_MACINTOSH</KEYWORD3>\r
+                       <KEYWORD3>_MS_WINDOWS_NT</KEYWORD3>\r
+                       <KEYWORD3>_MS_WINDOWS</KEYWORD3>\r
+                       <KEYWORD3>_MSDOS_386</KEYWORD3>\r
+                       <KEYWORD3>_MSDOS</KEYWORD3>\r
+                       <KEYWORD3>_OS2</KEYWORD3>\r
+                       <KEYWORD3>_PIPES</KEYWORD3>\r
+                       <KEYWORD3>_PRESENTATION_MGR</KEYWORD3>\r
+                       <KEYWORD3>_SYSTEM_FUNCTION</KEYWORD3>\r
+                       <KEYWORD3>_UNIX</KEYWORD3>\r
+                       <KEYWORD3>_VMS</KEYWORD3>\r
+                       <KEYWORD3>_WINDOW_FUNCTIONS</KEYWORD3>\r
+                       <KEYWORD3>_X_WINDOW_SYSTEM</KEYWORD3>\r
+\r
+                       <KEYWORD4>co-expression</KEYWORD4>\r
+                       <KEYWORD4>cset</KEYWORD4>\r
+                       <KEYWORD4>file</KEYWORD4>\r
+                       <KEYWORD4>integer</KEYWORD4>\r
+                       <KEYWORD4>list</KEYWORD4>\r
+                       <KEYWORD4>null</KEYWORD4>\r
+                       <KEYWORD4>real</KEYWORD4>\r
+                       <KEYWORD4>set</KEYWORD4>\r
+                       <KEYWORD4>string</KEYWORD4>\r
+                       <KEYWORD4>table</KEYWORD4>\r
+                       <KEYWORD4>window</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/idl.xml b/basis/xmode/modes/idl.xml
new file mode 100644 (file)
index 0000000..65b7fc5
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- IDL mode, by Slava Pestov\r
+     based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="boxComment" VALUE="*" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE">\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <!-- some of these should be marked OPERATOR -->\r
+               <!-- <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">=</SEQ>\r
+               <SEQ TYPE="NULL">!</SEQ>\r
+               <SEQ TYPE="NULL">&gt;=</SEQ>\r
+               <SEQ TYPE="NULL">&lt;=</SEQ>\r
+               <SEQ TYPE="NULL">+</SEQ>\r
+               <SEQ TYPE="NULL">-</SEQ>\r
+               <SEQ TYPE="NULL">/</SEQ>\r
+               <SEQ TYPE="NULL">*</SEQ>\r
+               <SEQ TYPE="NULL">&gt;</SEQ>\r
+               <SEQ TYPE="NULL">&lt;</SEQ>\r
+               <SEQ TYPE="NULL">%</SEQ>\r
+               <SEQ TYPE="NULL">&amp;</SEQ>\r
+               <SEQ TYPE="NULL">|</SEQ>\r
+               <SEQ TYPE="NULL">^</SEQ>\r
+               <SEQ TYPE="NULL">~</SEQ>\r
+               <SEQ TYPE="NULL">.</SEQ>\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">?</SEQ> -->\r
+\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD3>any</KEYWORD3>\r
+                       <KEYWORD1>attribute</KEYWORD1>\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>context</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD3>enum</KEYWORD3>\r
+                       <KEYWORD1>exception</KEYWORD1>\r
+                       <LITERAL2>FALSE</LITERAL2>\r
+                       <KEYWORD1>fixed</KEYWORD1>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>inout</KEYWORD1>\r
+                       <KEYWORD1>interface</KEYWORD1>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD1>module</KEYWORD1>\r
+                       <KEYWORD3>Object</KEYWORD3>\r
+                       <KEYWORD3>octet</KEYWORD3>\r
+                       <KEYWORD1>oneway</KEYWORD1>\r
+                       <KEYWORD1>out</KEYWORD1>\r
+                       <KEYWORD1>raises</KEYWORD1>\r
+                       <KEYWORD1>readonly</KEYWORD1>\r
+                       <KEYWORD3>sequence</KEYWORD3>\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>struct</KEYWORD3>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <LITERAL2>TRUE</LITERAL2>\r
+                       <KEYWORD3>typedef</KEYWORD3>\r
+                       <KEYWORD3>unsigned</KEYWORD3>\r
+                       <KEYWORD3>union</KEYWORD3>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+                       <KEYWORD3>wchar</KEYWORD3>\r
+                       <KEYWORD3>wstring</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/inform.xml b/basis/xmode/modes/inform.xml
new file mode 100644 (file)
index 0000000..fdd7153
--- /dev/null
@@ -0,0 +1,205 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+      <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at\r
+           http://www.gnelson.demon.co.uk/inform.html\r
+           And an inform language guide at\r
+           http://www.gnelson.demon.co.uk/dman/index.html\r
+        -->\r
+    <PROPS>\r
+        <!--\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        -->\r
+        <PROPERTY NAME="lineComment" VALUE="!" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+        <!-- Auto indent -->\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />\r
+        <PROPERTY NAME="indentNextLine"\r
+            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+        <!-- set this to 'true' if you want to use GNU coding style -->\r
+        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+\r
+        <PROPERTY NAME="filenameGlob" VALUE="*.(inf|h)" />\r
+    </PROPS>\r
+\r
+    <RULES\r
+            IGNORE_CASE="FALSE"\r
+            HIGHLIGHT_DIGITS="TRUE"\r
+            DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">\r
+        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
+\r
+        <!-- strings can span lines -->\r
+        <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL2">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <!-- preprocessor statements -->\r
+        <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
+\r
+        <!-- special sequences that require special highlighting -->\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">==</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">~=</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">$</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+        <SEQ TYPE="OPERATOR">]</SEQ>\r
+        <SEQ TYPE="OPERATOR">[</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">.&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">.#</SEQ>\r
+        <SEQ TYPE="OPERATOR">--></SEQ>\r
+\r
+        <!-- Function calls -->\r
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>\r
+\r
+        <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"\r
+            MATCH_TYPE="OPERATOR"\r
+            TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+        <KEYWORDS>\r
+            <!-- operators -->\r
+            <KEYWORD1>has</KEYWORD1>\r
+            <KEYWORD1>hasnt</KEYWORD1>\r
+            <KEYWORD1>in</KEYWORD1>\r
+            <KEYWORD1>notin</KEYWORD1>\r
+            <KEYWORD1>ofclass</KEYWORD1>\r
+            <KEYWORD1>provides</KEYWORD1>\r
+            <KEYWORD1>or</KEYWORD1>\r
+\r
+            <!-- text-base conversion functions -->\r
+            <LITERAL2>char</LITERAL2>\r
+            <LITERAL2>string</LITERAL2>\r
+            <LITERAL2>address</LITERAL2>\r
+            <LITERAL2>name</LITERAL2>\r
+            <LITERAL2>a</LITERAL2>\r
+            <LITERAL2>an</LITERAL2>\r
+            <LITERAL2>the</LITERAL2>\r
+            <LITERAL2>The</LITERAL2>\r
+            <LITERAL2>property</LITERAL2>\r
+            <LITERAL2>object</LITERAL2>\r
+\r
+            <!-- language semantics -->\r
+            <KEYWORD1>break</KEYWORD1>\r
+            <KEYWORD1>continue</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+                <KEYWORD1>until</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>give</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+                <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>inversion</KEYWORD1>\r
+            <KEYWORD1>jump</KEYWORD1>\r
+            <KEYWORD1>move</KEYWORD1>\r
+                <KEYWORD2>to</KEYWORD2>\r
+            <KEYWORD1>objectloop</KEYWORD1>\r
+            <KEYWORD1>remove</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD1>rfalse</KEYWORD1>\r
+            <KEYWORD1>rtrue</KEYWORD1>\r
+            <KEYWORD1>string</KEYWORD1>\r
+            <KEYWORD1>switch</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+\r
+            <!-- class keyworks -->\r
+            <KEYWORD1>with</KEYWORD1>\r
+<!--                   <KEYWORD1>has</KEYWORD1> -->\r
+\r
+            <!-- built-in functions -->\r
+            <FUNCTION>new_line</FUNCTION>\r
+            <FUNCTION>print</FUNCTION>\r
+            <FUNCTION>print_ret</FUNCTION>\r
+            <FUNCTION>box</FUNCTION>\r
+            <FUNCTION>font</FUNCTION>\r
+                <KEYWORD2>on</KEYWORD2>\r
+                <KEYWORD2>off</KEYWORD2>\r
+            <FUNCTION>quit</FUNCTION>\r
+            <FUNCTION>read</FUNCTION>\r
+            <FUNCTION>restore</FUNCTION>\r
+            <FUNCTION>save</FUNCTION>\r
+            <FUNCTION>spaces</FUNCTION>\r
+            <FUNCTION>style</FUNCTION>\r
+                <KEYWORD2>roman</KEYWORD2>\r
+                <KEYWORD2>bold</KEYWORD2>\r
+                <KEYWORD2>underline</KEYWORD2>\r
+                <KEYWORD2>reverse</KEYWORD2>\r
+                <KEYWORD2>fixed</KEYWORD2>\r
+            <FUNCTION>score</FUNCTION>\r
+            <FUNCTION>time</FUNCTION>\r
+\r
+            <!-- Top-level keyworks -->\r
+            <KEYWORD3>Abbreviate</KEYWORD3>\r
+            <KEYWORD3>Array</KEYWORD3>\r
+            <KEYWORD3>Attribute</KEYWORD3>\r
+            <KEYWORD3>Class</KEYWORD3>\r
+            <KEYWORD3>Constant</KEYWORD3>\r
+            <KEYWORD3>Default</KEYWORD3>\r
+            <KEYWORD3>End</KEYWORD3>\r
+            <KEYWORD3>Endif</KEYWORD3>\r
+            <KEYWORD3>Extend</KEYWORD3>\r
+            <KEYWORD3>Global</KEYWORD3>\r
+            <KEYWORD3>Ifdef</KEYWORD3>\r
+            <KEYWORD3>Ifndef</KEYWORD3>\r
+            <KEYWORD3>Ifnot</KEYWORD3>\r
+            <KEYWORD3>Iftrue</KEYWORD3>\r
+            <KEYWORD3>Iffalse</KEYWORD3>\r
+            <KEYWORD3>Import</KEYWORD3>\r
+            <KEYWORD3>Include</KEYWORD3>\r
+            <KEYWORD3>Link</KEYWORD3>\r
+            <KEYWORD3>Lowstring</KEYWORD3>\r
+            <KEYWORD3>Message</KEYWORD3>\r
+            <KEYWORD3>Object</KEYWORD3>\r
+            <KEYWORD3>Property</KEYWORD3>\r
+            <KEYWORD3>Replace</KEYWORD3>\r
+            <KEYWORD3>Serial</KEYWORD3>\r
+            <KEYWORD3>Switches</KEYWORD3>\r
+            <KEYWORD3>Statusline</KEYWORD3>\r
+            <KEYWORD3>System_file</KEYWORD3>\r
+            <KEYWORD3>Verb</KEYWORD3>\r
+            <KEYWORD3>private</KEYWORD3>\r
+\r
+            <LITERAL2>false</LITERAL2>\r
+            <LITERAL2>true</LITERAL2>\r
+            <LITERAL2>null</LITERAL2>\r
+            <LITERAL2>super</LITERAL2>\r
+            <LITERAL2>self</LITERAL2>\r
+\r
+            <INVALID>this</INVALID>\r
+        </KEYWORDS>\r
+    </RULES>\r
+    <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">@</SEQ>\r
+        <SEQ TYPE="OPERATOR">\</SEQ>\r
+\r
+        <!-- escaping the @ symbol -->\r
+        <SEQ TYPE="LITERAL2">@@</SEQ>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ini.xml b/basis/xmode/modes/ini.xml
new file mode 100644 (file)
index 0000000..71c50b6
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+       <RULES HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="KEYWORD1"\r
+                       AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/inno-setup.xml b/basis/xmode/modes/inno-setup.xml
new file mode 100644 (file)
index 0000000..d40575e
--- /dev/null
@@ -0,0 +1,406 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+       <RULES HIGHLIGHT_DIGITS="FALSE">\r
+\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE" DELEGATE="pascal::MAIN">[code]</SEQ>\r
+\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Setup]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Types]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Components]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Tasks]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Dirs]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Files]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Icons]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[INI]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[InstallDelete]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Languages]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Messages]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[CustomMessages]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[LangOptions]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Registry]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Run]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[UninstallRun]</SEQ>\r
+               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[UninstallDelete]</SEQ>\r
+\r
+               <!-- pre-processor directives -->\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#define </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#dim </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#undef </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#include </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#emit </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#expr </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#insert </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#append </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#if </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#elif </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#else </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#endif</EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifexist </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifnexist </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifdef </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#for </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#sub </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#endsub</EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#pragma </EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#error </EOL_SPAN>\r
+               <SPAN TYPE="LITERAL4">\r
+                       <BEGIN>{#</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL2">%</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="STRING">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" DELEGATE="STRING">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <!-- variable -->\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
+\r
+               <!--\r
+               <MARK_PREVIOUS TYPE="KEYWORD1"\r
+                       AT_LINE_START="TRUE" MATCH_TYPE="CONTEXT"">=</MARK_PREVIOUS>\r
+               -->\r
+\r
+               <KEYWORDS>\r
+                       <!-- [Setup] -->\r
+                       <!-- compiler -->\r
+                       <KEYWORD1>Compression</KEYWORD1>\r
+                       <KEYWORD1>DiskClusterSize</KEYWORD1>\r
+                       <KEYWORD1>DiskSliceSize</KEYWORD1>\r
+                       <KEYWORD1>DiskSpanning</KEYWORD1>\r
+                       <KEYWORD1>Encryption</KEYWORD1>\r
+                       <KEYWORD1>InternalCompressLevel</KEYWORD1>\r
+                       <KEYWORD1>MergeDuplicateFiles</KEYWORD1>\r
+                       <KEYWORD1>OutputBaseFilename</KEYWORD1>\r
+                       <KEYWORD1>OutputDir</KEYWORD1>\r
+                       <KEYWORD1>ReserveBytes</KEYWORD1>\r
+                       <KEYWORD1>SlicesPerDisk</KEYWORD1>\r
+                       <KEYWORD1>SolidCompression</KEYWORD1>\r
+                       <KEYWORD1>SourceDir</KEYWORD1>\r
+                       <KEYWORD1>UseSetupLdr</KEYWORD1>\r
+                       <KEYWORD1>VersionInfoCompany</KEYWORD1>\r
+                       <KEYWORD1>VersionInfoDescription</KEYWORD1>\r
+                       <KEYWORD1>VersionInfoTextVersion</KEYWORD1>\r
+                       <KEYWORD1>VersionInfoVersion</KEYWORD1>\r
+                       <!-- installer, functional -->\r
+                       <KEYWORD1>AllowCancelDuringInstall</KEYWORD1>\r
+                       <KEYWORD1>AllowNoIcons</KEYWORD1>\r
+                       <KEYWORD1>AllowRootDirectory</KEYWORD1>\r
+                       <KEYWORD1>AllowUNCPath</KEYWORD1>\r
+                       <KEYWORD1>AlwaysRestart</KEYWORD1>\r
+                       <KEYWORD1>AlwaysShowComponentsList</KEYWORD1>\r
+                       <KEYWORD1>AlwaysShowDirOnReadyPage</KEYWORD1>\r
+                       <KEYWORD1>AlwaysShowGroupOnReadyPage</KEYWORD1>\r
+                       <KEYWORD1>AlwaysUsePersonalGroup</KEYWORD1>\r
+                       <KEYWORD1>AppendDefaultDirName</KEYWORD1>\r
+                       <KEYWORD1>AppendDefaultGroupName</KEYWORD1>\r
+                       <KEYWORD1>AppComments</KEYWORD1>\r
+                       <KEYWORD1>AppContact</KEYWORD1>\r
+                       <KEYWORD1>AppId</KEYWORD1>\r
+                       <KEYWORD1>AppModifyPath</KEYWORD1>\r
+                       <KEYWORD1>AppMutex</KEYWORD1>\r
+                       <KEYWORD1>AppName</KEYWORD1>\r
+                       <KEYWORD1>AppPublisher</KEYWORD1>\r
+                       <KEYWORD1>AppPublisherURL</KEYWORD1>\r
+                       <KEYWORD1>AppReadmeFile</KEYWORD1>\r
+                       <KEYWORD1>AppSupportURL</KEYWORD1>\r
+                       <KEYWORD1>AppUpdatesURL</KEYWORD1>\r
+                       <KEYWORD1>AppVersion</KEYWORD1>\r
+                       <KEYWORD1>AppVerName</KEYWORD1>\r
+                       <KEYWORD1>ChangesAssociations</KEYWORD1>\r
+                       <KEYWORD1>CreateAppDir</KEYWORD1>\r
+                       <KEYWORD1>CreateUninstallRegKey</KEYWORD1>\r
+                       <KEYWORD1>DefaultDirName</KEYWORD1>\r
+                       <KEYWORD1>DefaultGroupName</KEYWORD1>\r
+                       <KEYWORD1>DefaultUserInfoName</KEYWORD1>\r
+                       <KEYWORD1>DefaultUserInfoOrg</KEYWORD1>\r
+                       <KEYWORD1>DefaultUserInfoSerial</KEYWORD1>\r
+                       <KEYWORD1>DirExistsWarning</KEYWORD1>\r
+                       <KEYWORD1>DisableDirPage</KEYWORD1>\r
+                       <KEYWORD1>DisableFinishedPage</KEYWORD1>\r
+                       <KEYWORD1>DisableProgramGroupPage</KEYWORD1>\r
+                       <KEYWORD1>DisableReadyMemo</KEYWORD1>\r
+                       <KEYWORD1>DisableReadyPage</KEYWORD1>\r
+                       <KEYWORD1>DisableStartupPrompt</KEYWORD1>\r
+                       <KEYWORD1>EnableDirDoesntExistWarning</KEYWORD1>\r
+                       <KEYWORD1>ExtraDiskSpaceRequired</KEYWORD1>\r
+                       <KEYWORD1>InfoAfterFile</KEYWORD1>\r
+                       <KEYWORD1>InfoBeforeFile</KEYWORD1>\r
+                       <KEYWORD1>LanguageDetectionMethod</KEYWORD1>\r
+                       <KEYWORD1>LicenseFile</KEYWORD1>\r
+                       <KEYWORD1>MinVersion</KEYWORD1>\r
+                       <KEYWORD1>OnlyBelowVersion</KEYWORD1>\r
+                       <KEYWORD1>Password</KEYWORD1>\r
+                       <KEYWORD1>PrivilegesRequired</KEYWORD1>\r
+                       <KEYWORD1>RestartIfNeededByRun</KEYWORD1>\r
+                       <KEYWORD1>ShowLanguageDialog</KEYWORD1>\r
+                       <KEYWORD1>TimeStampRounding</KEYWORD1>\r
+                       <KEYWORD1>TimeStampsInUTC</KEYWORD1>\r
+                       <KEYWORD1>TouchDate</KEYWORD1>\r
+                       <KEYWORD1>TouchTime</KEYWORD1>\r
+                       <KEYWORD1>Uninstallable</KEYWORD1>\r
+                       <KEYWORD1>UninstallDisplayIcon</KEYWORD1>\r
+                       <KEYWORD1>UninstallDisplayName</KEYWORD1>\r
+                       <KEYWORD1>UninstallFilesDir</KEYWORD1>\r
+                       <KEYWORD1>UninstallLogMode</KEYWORD1>\r
+                       <KEYWORD1>UninstallRestartComputer</KEYWORD1>\r
+                       <KEYWORD1>UpdateUninstallLogAppName</KEYWORD1>\r
+                       <KEYWORD1>UsePreviousAppDir</KEYWORD1>\r
+                       <KEYWORD1>UsePreviousGroup</KEYWORD1>\r
+                       <KEYWORD1>UsePreviousSetupType</KEYWORD1>\r
+                       <KEYWORD1>UsePreviousTasks</KEYWORD1>\r
+                       <KEYWORD1>UsePreviousUserInfo</KEYWORD1>\r
+                       <KEYWORD1>UserInfoPage</KEYWORD1>\r
+                       <!-- installer, cosmetic -->\r
+                       <KEYWORD1>AppCopyright</KEYWORD1>\r
+                       <KEYWORD1>BackColor</KEYWORD1>\r
+                       <KEYWORD1>BackColor2</KEYWORD1>\r
+                       <KEYWORD1>BackColorDirection</KEYWORD1>\r
+                       <KEYWORD1>BackSolid</KEYWORD1>\r
+                       <KEYWORD1>FlatComponentsList</KEYWORD1>\r
+                       <KEYWORD1>SetupIconFile</KEYWORD1>\r
+                       <KEYWORD1>ShowComponentSizes</KEYWORD1>\r
+                       <KEYWORD1>ShowTasksTreeLines</KEYWORD1>\r
+                       <KEYWORD1>UninstallStyle</KEYWORD1>\r
+                       <KEYWORD1>WindowShowCaption</KEYWORD1>\r
+                       <KEYWORD1>WindowStartMaximized</KEYWORD1>\r
+                       <KEYWORD1>WindowResizable</KEYWORD1>\r
+                       <KEYWORD1>WindowVisible</KEYWORD1>\r
+                       <KEYWORD1>WizardImageBackColor</KEYWORD1>\r
+                       <KEYWORD1>WizardImageFile</KEYWORD1>\r
+                       <KEYWORD1>WizardImageStretch</KEYWORD1>\r
+                       <KEYWORD1>WizardSmallImageBackColor</KEYWORD1>\r
+                       <KEYWORD1>WizardSmallImageFile</KEYWORD1>\r
+                       <KEYWORD1>UninstallIconFile</KEYWORD1>\r
+\r
+                       <!-- parameters -->\r
+                       <KEYWORD4>AfterInstall</KEYWORD4>\r
+                       <KEYWORD4>Attribs</KEYWORD4>\r
+                       <KEYWORD4>BeforeInstall</KEYWORD4>\r
+                       <KEYWORD4>Check</KEYWORD4>\r
+                       <KEYWORD4>Comment</KEYWORD4>\r
+                       <KEYWORD4>Components</KEYWORD4>\r
+                       <KEYWORD4>CopyMode</KEYWORD4>\r
+                       <KEYWORD4>Description</KEYWORD4>\r
+                       <KEYWORD4>DestDir</KEYWORD4>\r
+                       <KEYWORD4>DestName</KEYWORD4>\r
+                       <KEYWORD4>Excludes</KEYWORD4>\r
+                       <KEYWORD4>ExtraDiskSpaceRequired</KEYWORD4>\r
+                       <KEYWORD4>Filename</KEYWORD4>\r
+                       <KEYWORD4>Flags</KEYWORD4>\r
+                       <KEYWORD4>FontInstall</KEYWORD4>\r
+                       <KEYWORD4>GroupDescription</KEYWORD4>\r
+                       <KEYWORD4>HotKey</KEYWORD4>\r
+                       <KEYWORD4>IconFilename</KEYWORD4>\r
+                       <KEYWORD4>IconIndex</KEYWORD4>\r
+                       <KEYWORD4>InfoBeforeFile</KEYWORD4>\r
+                       <KEYWORD4>InfoAfterFile</KEYWORD4>\r
+                       <KEYWORD4>Key</KEYWORD4>\r
+                       <!--<KEYWORD4>LicenseFile</KEYWORD4>-->\r
+                       <KEYWORD4>MessagesFile</KEYWORD4>\r
+                       <KEYWORD4>Name</KEYWORD4>\r
+                       <KEYWORD4>Parameters</KEYWORD4>\r
+                       <KEYWORD4>Permissions</KEYWORD4>\r
+                       <KEYWORD4>Root</KEYWORD4>\r
+                       <KEYWORD4>RunOnceId</KEYWORD4>\r
+                       <KEYWORD4>Section</KEYWORD4>\r
+                       <KEYWORD4>Source</KEYWORD4>\r
+                       <KEYWORD4>StatusMsg</KEYWORD4>\r
+                       <KEYWORD4>String</KEYWORD4>\r
+                       <KEYWORD4>Subkey</KEYWORD4>\r
+                       <KEYWORD4>Tasks</KEYWORD4>\r
+                       <KEYWORD4>Type</KEYWORD4>\r
+                       <KEYWORD4>Types</KEYWORD4>\r
+                       <KEYWORD4>ValueType</KEYWORD4>\r
+                       <KEYWORD4>ValueName</KEYWORD4>\r
+                       <KEYWORD4>ValueData</KEYWORD4>\r
+                       <KEYWORD4>WorkingDir</KEYWORD4>\r
+\r
+                       <!-- flags -->\r
+                       <LITERAL3>allowunsafefiles</LITERAL3>\r
+                       <LITERAL3>checkedonce</LITERAL3>\r
+                       <LITERAL3>closeonexit</LITERAL3>\r
+                       <LITERAL3>compact</LITERAL3>\r
+                       <LITERAL3>comparetimestamp</LITERAL3>\r
+                       <LITERAL3>confirmoverwrite</LITERAL3>\r
+                       <LITERAL3>createkeyifdoesntexist</LITERAL3>\r
+                       <LITERAL3>createonlyiffileexists</LITERAL3>\r
+                       <LITERAL3>createvalueifdoesntexist</LITERAL3>\r
+                       <LITERAL3>deleteafterinstall</LITERAL3>\r
+                       <LITERAL3>deletekey</LITERAL3>\r
+                       <LITERAL3>deletevalue</LITERAL3>\r
+                       <LITERAL3>desktopicon</LITERAL3>\r
+                       <LITERAL3>dirifempty</LITERAL3>\r
+                       <LITERAL3>disablenouninstallwarning</LITERAL3>\r
+                       <LITERAL3>dontcloseonexit</LITERAL3>\r
+                       <LITERAL3>dontcopy</LITERAL3>\r
+                       <LITERAL3>dontcreatekey</LITERAL3>\r
+                       <LITERAL3>dontinheritcheck</LITERAL3>\r
+                       <LITERAL3>dontverifychecksum</LITERAL3>\r
+                       <LITERAL3>exclusive</LITERAL3>\r
+                       <LITERAL3>external</LITERAL3>\r
+                       <LITERAL3>files</LITERAL3>\r
+                       <LITERAL3>filesandordirs</LITERAL3>\r
+                       <LITERAL3>fixed</LITERAL3>\r
+                       <LITERAL3>fontisnttruetype</LITERAL3>\r
+                       <LITERAL3>full</LITERAL3>\r
+                       <LITERAL3>ignoreversion</LITERAL3>\r
+                       <LITERAL3>iscustom</LITERAL3>\r
+                       <LITERAL3>isreadme</LITERAL3>\r
+                       <LITERAL3>hidden</LITERAL3>\r
+                       <LITERAL3>hidewizard</LITERAL3>\r
+                       <LITERAL3>modify</LITERAL3>\r
+                       <LITERAL3>nocompression</LITERAL3>\r
+                       <LITERAL3>noencryption</LITERAL3>\r
+                       <LITERAL3>noerror</LITERAL3>\r
+                       <LITERAL3>noregerror</LITERAL3>\r
+                       <LITERAL3>nowait</LITERAL3>\r
+                       <LITERAL3>onlyifdestfileexists</LITERAL3>\r
+                       <LITERAL3>onlyifdoesntexist</LITERAL3>\r
+                       <LITERAL3>overwritereadonly</LITERAL3>\r
+                       <LITERAL3>postinstall</LITERAL3>\r
+                       <LITERAL3>preservestringtype</LITERAL3>\r
+                       <LITERAL3>promptifolder</LITERAL3>\r
+                       <LITERAL3>quicklaunchicon</LITERAL3>\r
+                       <LITERAL3>read</LITERAL3>\r
+                       <LITERAL3>readonly</LITERAL3>\r
+                       <LITERAL3>readexec</LITERAL3>\r
+                       <LITERAL3>recursesubdirs</LITERAL3>\r
+                       <LITERAL3>regserver</LITERAL3>\r
+                       <LITERAL3>regtypelib</LITERAL3>\r
+                       <LITERAL3>replacesameversion</LITERAL3>\r
+                       <LITERAL3>restart</LITERAL3>\r
+                       <LITERAL3>restartreplace</LITERAL3>\r
+                       <LITERAL3>runhidden</LITERAL3>\r
+                       <LITERAL3>runmaximized</LITERAL3>\r
+                       <LITERAL3>runminimized</LITERAL3>\r
+                       <LITERAL3>sharedfile</LITERAL3>\r
+                       <LITERAL3>shellexec</LITERAL3>\r
+                       <LITERAL3>skipifnotsilent</LITERAL3>\r
+                       <LITERAL3>skipifsilent</LITERAL3>\r
+                       <LITERAL3>skipifdoesntexist</LITERAL3>\r
+                       <LITERAL3>skipifsourcedoesntexist</LITERAL3>\r
+                       <LITERAL3>sortfilesbyextension</LITERAL3>\r
+                       <LITERAL3>system</LITERAL3>\r
+                       <LITERAL3>touch</LITERAL3>\r
+                       <LITERAL3>unchecked</LITERAL3>\r
+                       <LITERAL3>uninsalwaysuninstall</LITERAL3>\r
+                       <LITERAL3>uninsclearvalue</LITERAL3>\r
+                       <LITERAL3>uninsdeleteentry</LITERAL3>\r
+                       <LITERAL3>uninsdeletekey</LITERAL3>\r
+                       <LITERAL3>uninsdeletekeyifempty</LITERAL3>\r
+                       <LITERAL3>uninsdeletesection</LITERAL3>\r
+                       <LITERAL3>uninsdeletesectionifempty</LITERAL3>\r
+                       <LITERAL3>uninsdeletevalue</LITERAL3>\r
+                       <LITERAL3>uninsneveruninstall</LITERAL3>\r
+                       <LITERAL3>uninsremovereadonly</LITERAL3>\r
+                       <LITERAL3>uninsrestartdelete</LITERAL3>\r
+                       <LITERAL3>useapppaths</LITERAL3>\r
+                       <LITERAL3>waituntilidle</LITERAL3>\r
+\r
+                       <!-- registry root keys -->\r
+                       <LITERAL3>HKCR</LITERAL3>\r
+                       <LITERAL3>HKCU</LITERAL3>\r
+                       <LITERAL3>HKLM</LITERAL3>\r
+                       <LITERAL3>HKU</LITERAL3>\r
+                       <LITERAL3>HKCC</LITERAL3>\r
+\r
+                       <!-- registry value types -->\r
+                       <LITERAL3>none</LITERAL3>\r
+                       <LITERAL3>string</LITERAL3>\r
+                       <LITERAL3>expandsz</LITERAL3>\r
+                       <LITERAL3>multisz</LITERAL3>\r
+                       <LITERAL3>dword</LITERAL3>\r
+                       <LITERAL3>binary</LITERAL3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="STRING" DEFAULT="LITERAL1" IGNORE_CASE="TRUE">\r
+               <!-- pre-processor constant -->\r
+               <SPAN TYPE="LITERAL4">\r
+                       <BEGIN>{#</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <!-- constant -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="CONSTANT">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="CONSTANT" DEFAULT="KEYWORD3">\r
+               <MARK_FOLLOWING TYPE="FUNCTION" MATCH_TYPE="CONTEXT">code:</MARK_FOLLOWING>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+       </RULES>\r
+\r
+       <!-- pre-processor directives -->\r
+       <RULES SET="DIRECTIVE" DEFAULT="LITERAL4" IGNORE_CASE="TRUE">\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- pre-processor defined functions -->\r
+               <KEYWORDS>\r
+                       <FUNCTION>Defined</FUNCTION>\r
+                       <FUNCTION>TypeOf</FUNCTION>\r
+                       <FUNCTION>GetFileVersion</FUNCTION>\r
+                       <FUNCTION>GetStringFileInfo</FUNCTION>\r
+                       <FUNCTION>Int</FUNCTION>\r
+                       <FUNCTION>Str</FUNCTION>\r
+                       <FUNCTION>FileExists</FUNCTION>\r
+                       <FUNCTION>FileSize</FUNCTION>\r
+                       <FUNCTION>ReadIni</FUNCTION>\r
+                       <FUNCTION>WriteIni</FUNCTION>\r
+                       <FUNCTION>ReadReg</FUNCTION>\r
+                       <FUNCTION>Exec</FUNCTION>\r
+                       <FUNCTION>Copy</FUNCTION>\r
+                       <FUNCTION>Pos</FUNCTION>\r
+                       <FUNCTION>RPos</FUNCTION>\r
+                       <FUNCTION>Len</FUNCTION>\r
+                       <FUNCTION>SaveToFile</FUNCTION>\r
+                       <FUNCTION>Find</FUNCTION>\r
+                       <FUNCTION>SetupSetting</FUNCTION>\r
+                       <FUNCTION>SetSetupSetting</FUNCTION>\r
+                       <FUNCTION>LowerCase</FUNCTION>\r
+                       <FUNCTION>EntryCount</FUNCTION>\r
+                       <FUNCTION>GetEnv</FUNCTION>\r
+                       <FUNCTION>DeleteFile</FUNCTION>\r
+                       <FUNCTION>CopyFile</FUNCTION>\r
+                       <FUNCTION>FindFirst</FUNCTION>\r
+                       <FUNCTION>FindNext</FUNCTION>\r
+                       <FUNCTION>FindClose</FUNCTION>\r
+                       <FUNCTION>FindGetFileName</FUNCTION>\r
+                       <FUNCTION>FileOpen</FUNCTION>\r
+                       <FUNCTION>FileRead</FUNCTION>\r
+                       <FUNCTION>FileReset</FUNCTION>\r
+                       <FUNCTION>FileEof</FUNCTION>\r
+                       <FUNCTION>FileClose</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/interlis.xml b/basis/xmode/modes/interlis.xml
new file mode 100644 (file)
index 0000000..28960bf
--- /dev/null
@@ -0,0 +1,262 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- INTERLIS mode (www.interlis.ch) by Claude Eisenhut (ce@eisenhutinformatik.ch). -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="blockComment" VALUE="!!" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE">\r
+               <!-- Normal comments. -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">!!</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- Explanations. -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>//</BEGIN>\r
+                       <END>//</END>\r
+               </SPAN>\r
+\r
+               <!-- INTERLIS 1 -->\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
+               <SEQ TYPE="OPERATOR">..</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <!-- INTERLIS 2.1 -->\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">#</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">--</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&lt;#&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">..</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               \r
+               <KEYWORDS>\r
+                       <!-- INTERLIS 1 -->\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>ARCS</KEYWORD1>\r
+                       <KEYWORD1>AREA</KEYWORD1>\r
+                       <KEYWORD1>BASE</KEYWORD1>\r
+                       <KEYWORD1>BLANK</KEYWORD1>\r
+                       <KEYWORD1>CODE</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>CONTOUR</KEYWORD1>\r
+                       <KEYWORD1>COORD2</KEYWORD1>\r
+                       <KEYWORD1>COORD3</KEYWORD1>\r
+                       <KEYWORD1>DATE</KEYWORD1>\r
+                       <KEYWORD1>DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>DEGREES</KEYWORD1>\r
+                       <KEYWORD1>DERIVATIVES</KEYWORD1>\r
+                       <KEYWORD1>DIM1</KEYWORD1>\r
+                       <KEYWORD1>DIM2</KEYWORD1>\r
+                       <KEYWORD1>DOMAIN</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>FIX</KEYWORD1>\r
+                       <KEYWORD1>FONT</KEYWORD1>\r
+                       <KEYWORD1>FORMAT</KEYWORD1>\r
+                       <KEYWORD1>FREE</KEYWORD1>\r
+                       <KEYWORD1>GRADS</KEYWORD1>\r
+                       <KEYWORD1>HALIGNMENT</KEYWORD1>\r
+                       <KEYWORD1>I16</KEYWORD1>\r
+                       <KEYWORD1>I32</KEYWORD1>\r
+                       <KEYWORD1>IDENT</KEYWORD1>\r
+                       <KEYWORD1>LINEATTR</KEYWORD1>\r
+                       <KEYWORD1>LINESIZE</KEYWORD1>\r
+                       <KEYWORD1>MODEL</KEYWORD1>\r
+                       <KEYWORD1>NO</KEYWORD1>\r
+                       <KEYWORD1>OPTIONAL</KEYWORD1>\r
+                       <KEYWORD1>OVERLAPS</KEYWORD1>\r
+                       <KEYWORD1>PERIPHERY</KEYWORD1>\r
+                       <KEYWORD1>POLYLINE</KEYWORD1>\r
+                       <KEYWORD1>RADIANS</KEYWORD1>\r
+                       <KEYWORD1>STRAIGHTS</KEYWORD1>\r
+                       <KEYWORD1>SURFACE</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>TEXT</KEYWORD1>\r
+                       <KEYWORD1>TID</KEYWORD1>\r
+                       <KEYWORD1>TIDSIZE</KEYWORD1>\r
+                       <KEYWORD1>TOPIC</KEYWORD1>\r
+                       <KEYWORD1>TRANSFER</KEYWORD1>\r
+                       <KEYWORD1>UNDEFINED</KEYWORD1>\r
+                       <KEYWORD1>VALIGNMENT</KEYWORD1>\r
+                       <KEYWORD1>VERTEX</KEYWORD1>\r
+                       <KEYWORD1>VERTEXINFO</KEYWORD1>\r
+                       <KEYWORD1>VIEW</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WITHOUT</KEYWORD1>\r
+\r
+                       <!-- INTERLIS 2.3 -->\r
+                       <KEYWORD1>ABSTRACT</KEYWORD1>\r
+                       <KEYWORD1>ACCORDING</KEYWORD1>\r
+                       <KEYWORD1>AGGREGATES</KEYWORD1>\r
+                       <KEYWORD1>AGGREGATION</KEYWORD1>\r
+                       <KEYWORD1>ALL</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>ANYCLASS</KEYWORD1>\r
+                       <KEYWORD1>ANYSTRUCTURE</KEYWORD1>\r
+                       <KEYWORD1>ARCS</KEYWORD1>\r
+                       <KEYWORD1>AREA</KEYWORD1>\r
+                       <KEYWORD1>AS</KEYWORD1>\r
+                       <KEYWORD1>ASSOCIATION</KEYWORD1>\r
+                       <KEYWORD1>AT</KEYWORD1>\r
+                       <KEYWORD1>ATTRIBUTE</KEYWORD1>\r
+                       <KEYWORD1>ATTRIBUTES</KEYWORD1>\r
+                       <KEYWORD1>BAG</KEYWORD1>\r
+                       <KEYWORD1>BASE</KEYWORD1>\r
+                       <KEYWORD1>BASED</KEYWORD1>\r
+                       <KEYWORD1>BASKET</KEYWORD1>\r
+                       <KEYWORD1>BINARY</KEYWORD1>\r
+                       <KEYWORD1>BLACKBOX</KEYWORD1>\r
+                       <KEYWORD1>BOOLEAN</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>CARDINALITY</KEYWORD1>\r
+                       <KEYWORD1>CIRCULAR</KEYWORD1>\r
+                       <KEYWORD1>CLASS</KEYWORD1>\r
+                       <KEYWORD1>CLOCKWISE</KEYWORD1>\r
+                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
+                       <KEYWORD1>CONSTRAINTS</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>CONTINUOUS</KEYWORD1>\r
+                       <KEYWORD1>CONTRACTED</KEYWORD1>\r
+                       <KEYWORD1>COORD</KEYWORD1>\r
+                       <KEYWORD1>COUNTERCLOCKWISE</KEYWORD1>\r
+                       <KEYWORD1>DEFINED</KEYWORD1>\r
+                       <KEYWORD1>DEPENDS</KEYWORD1>\r
+                       <KEYWORD1>DERIVED</KEYWORD1>\r
+                       <KEYWORD1>DIRECTED</KEYWORD1>\r
+                       <KEYWORD1>DOMAIN</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>ENUMTREEVAL</KEYWORD1>\r
+                       <KEYWORD1>ENUMVAL</KEYWORD1>\r
+                       <KEYWORD1>EQUAL</KEYWORD1>\r
+                       <KEYWORD1>EXISTENCE</KEYWORD1>\r
+                       <KEYWORD1>EXTENDED</KEYWORD1>\r
+                       <KEYWORD1>EXTENDS</KEYWORD1>\r
+                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
+                       <KEYWORD1>FINAL</KEYWORD1>\r
+                       <KEYWORD1>FIRST</KEYWORD1>\r
+                       <KEYWORD1>FORM</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>FUNCTION</KEYWORD1>\r
+                       <KEYWORD1>GRAPHIC</KEYWORD1>\r
+                       <KEYWORD1>HALIGNMENT</KEYWORD1>\r
+                       <KEYWORD1>HIDING</KEYWORD1>\r
+                       <KEYWORD1>IMPORTS</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>INHERITANCE</KEYWORD1>\r
+                       <KEYWORD1>INSPECTION</KEYWORD1>\r
+                       <KEYWORD1>INTERLIS</KEYWORD1>\r
+                       <KEYWORD1>JOIN</KEYWORD1>\r
+                       <KEYWORD1>LAST</KEYWORD1>\r
+                       <KEYWORD1>LINE</KEYWORD1>\r
+                       <KEYWORD1>LIST</KEYWORD1>\r
+                       <KEYWORD1>LNBASE</KEYWORD1>\r
+                       <KEYWORD1>LOCAL</KEYWORD1>\r
+                       <KEYWORD1>MANDATORY</KEYWORD1>\r
+                       <KEYWORD1>METAOBJECT</KEYWORD1>\r
+                       <KEYWORD1>MODEL</KEYWORD1>\r
+                       <KEYWORD1>MTEXT</KEYWORD1>\r
+                       <KEYWORD1>NAME</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>NO</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>NUMERIC</KEYWORD1>\r
+                       <KEYWORD1>OBJECT</KEYWORD1>\r
+                       <KEYWORD1>OF</KEYWORD1>\r
+                       <KEYWORD1>OID</KEYWORD1>\r
+                       <KEYWORD1>ON</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>ORDERED</KEYWORD1>\r
+                       <KEYWORD1>OTHERS</KEYWORD1>\r
+                       <KEYWORD1>OVERLAPS</KEYWORD1>\r
+                       <KEYWORD1>PARAMETER</KEYWORD1>\r
+                       <KEYWORD1>PARENT</KEYWORD1>\r
+                       <KEYWORD1>PI</KEYWORD1>\r
+                       <KEYWORD1>POLYLINE</KEYWORD1>\r
+                       <KEYWORD1>PROJECTION</KEYWORD1>\r
+                       <KEYWORD1>REFERENCE</KEYWORD1>\r
+                       <KEYWORD1>REFSYSTEM</KEYWORD1>\r
+                       <KEYWORD1>REQUIRED</KEYWORD1>\r
+                       <KEYWORD1>RESTRICTED</KEYWORD1>\r
+                       <KEYWORD1>ROTATION</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SIGN</KEYWORD1>\r
+                       <KEYWORD1>STRAIGHTS</KEYWORD1>\r
+                       <KEYWORD1>STRUCTURE</KEYWORD1>\r
+                       <KEYWORD1>SUBDIVISION</KEYWORD1>\r
+                       <KEYWORD1>SURFACE</KEYWORD1>\r
+                       <KEYWORD1>SYMBOLOGY</KEYWORD1>\r
+                       <KEYWORD1>TEXT</KEYWORD1>\r
+                       <KEYWORD1>THATAREA</KEYWORD1>\r
+                       <KEYWORD1>THIS</KEYWORD1>\r
+                       <KEYWORD1>THISAREA</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>TOPIC</KEYWORD1>\r
+                       <KEYWORD1>TRANSIENT</KEYWORD1>\r
+                       <KEYWORD1>TRANSLATION</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>UNDEFINED</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>UNIQUE</KEYWORD1>\r
+                       <KEYWORD1>UNIT</KEYWORD1>\r
+                       <KEYWORD1>UNQUALIFIED</KEYWORD1>\r
+                       <KEYWORD1>URI</KEYWORD1>\r
+                       <KEYWORD1>VALIGNMENT</KEYWORD1>\r
+                       <KEYWORD1>VERSION</KEYWORD1>\r
+                       <KEYWORD1>VERTEX</KEYWORD1>\r
+                       <KEYWORD1>VIEW</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>WHERE</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WITHOUT</KEYWORD1>\r
+                       \r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/io.xml b/basis/xmode/modes/io.xml
new file mode 100644 (file)
index 0000000..2ac4ffe
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>\r
+\r
+<!-- @RisingSun//XML//1.0//EN________________________________________________\r
+       \r
+       JEdit syntax mode for Io\r
+\r
+       ..........................................................................\r
+\r
+       File name               :       io.xml\r
+       Description             :       JEdit syntax file for the Io programming language\r
+       Related links   :       <http://www.iolanguage.com>, <http://www.jedit.org>\r
+\r
+       ..........................................................................\r
+       Author                  :       Sébastien Pierre                  <spierre@type-z.org>\r
+       ..........................................................................\r
+\r
+       Creation date   :       05-May-2003\r
+       Last revision   :       19-May-2003\r
+       Revision                :       1.1\r
+    History                    :       \r
+                                               19-May-2003 Added primitives highlighting.\r
+                                               05-May-2003 First release\r
\r
+       .....................................................................  -->\r
+\r
+<!-- ________________________________________________________D O C T Y P E -->\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- ____________________________________________D O C U M E N T _ R O O T -->\r
+<MODE>\r
+\r
+       <!-- Properties_______________________________________________________ -->\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentStart" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <!-- FIXME: There may be a problem with this redefinition of\r
+               lineComment-->\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE=")" />\r
+       </PROPS>\r
+\r
+       <!-- Rules____________________________________________________________ -->\r
+\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <!-- Comments_____________________________________________________ -->\r
+\r
+               <!-- Shell-like comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+\r
+               <!-- C-like comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- Strings______________________________________________________ -->\r
+\r
+               <!-- Single quotes -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- Triple quotes -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>"""</BEGIN>\r
+                       <END>"""</END>\r
+               </SPAN>\r
+\r
+               <!-- Operatiors___________________________________________________ -->\r
+\r
+               <SEQ TYPE="OPERATOR">`</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">@@</SEQ>\r
+               <SEQ TYPE="OPERATOR">$</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+\r
+               <!-- Keywords_____________________________________________________ -->\r
+\r
+               <KEYWORDS>\r
+\r
+                       <!-- Io primitives -->\r
+                       <KEYWORD1>Block</KEYWORD1>\r
+                       <KEYWORD1>Buffer</KEYWORD1>\r
+                       <KEYWORD1>CFunction</KEYWORD1>\r
+                       <KEYWORD1>Date</KEYWORD1>\r
+                       <KEYWORD1>Duration</KEYWORD1>\r
+                       <KEYWORD1>File</KEYWORD1>\r
+                       <KEYWORD1>Future</KEYWORD1>\r
+                       <KEYWORD1>List</KEYWORD1>\r
+                       <KEYWORD1>LinkedList</KEYWORD1>\r
+                       <KEYWORD1>Map</KEYWORD1>\r
+                       <KEYWORD1>Nop</KEYWORD1>\r
+                       <KEYWORD1>Message</KEYWORD1>\r
+                       <KEYWORD1>Nil</KEYWORD1>\r
+                       <KEYWORD1>Number</KEYWORD1>\r
+                       <KEYWORD1>Object</KEYWORD1>\r
+                       <KEYWORD1>String</KEYWORD1>\r
+                       <KEYWORD1>WeakLink</KEYWORD1>\r
+\r
+                       <!-- Io lambda-like primitives -->\r
+                       <KEYWORD1>block</KEYWORD1>\r
+                       <KEYWORD1>method</KEYWORD1>\r
+\r
+                       <!--  Io control primitives -->\r
+                       <KEYWORD2>while</KEYWORD2>\r
+                       <KEYWORD2>foreach</KEYWORD2>\r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>else</KEYWORD2>\r
+                       <KEYWORD2>do</KEYWORD2>\r
+\r
+                       <!--  Io basic messages -->\r
+                       <KEYWORD3>super</KEYWORD3>\r
+                       <KEYWORD3>self</KEYWORD3>\r
+                       <KEYWORD3>clone</KEYWORD3>\r
+                       <KEYWORD3>proto</KEYWORD3>\r
+                       <KEYWORD3>setSlot</KEYWORD3>\r
+                       <KEYWORD3>hasSlot</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>write</KEYWORD3>\r
+                       <KEYWORD3>print</KEYWORD3>\r
+                       <KEYWORD3>forward</KEYWORD3>\r
+\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+</MODE>\r
+\r
+<!-- EOF-UNIX/iso-8895-1__________________________@RisingSun//XML//1.0//EN -->\r
diff --git a/basis/xmode/modes/java.xml b/basis/xmode/modes/java.xml
new file mode 100644 (file)
index 0000000..d350cdc
--- /dev/null
@@ -0,0 +1,273 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <PROPERTY NAME="unindentThisLine"\r
+                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
+\r
+               <!-- Silly comment -->\r
+               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- Javadoc comment -->\r
+               <SPAN TYPE="COMMENT3" DELEGATE="JAVADOC">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <!-- Java comment (C style) -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+               <!-- workaround to stop "*" from being colorized\r
+                    in import statements. -->\r
+               <SEQ TYPE="NULL">.*</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <!-- Annotation types -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>volatile</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD2>package</KEYWORD2>\r
+                       <KEYWORD2>import</KEYWORD2>\r
+\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>interface</KEYWORD3>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+\r
+                       <FUNCTION>assert</FUNCTION>\r
+                       <KEYWORD1>strictfp</KEYWORD1>\r
+\r
+\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>super</LITERAL2>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+\r
+                       <INVALID>goto</INVALID>\r
+                       <INVALID>const</INVALID>\r
+\r
+                       <!-- Java 1.5 -->\r
+                       <KEYWORD3>enum</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="JAVADOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
+\r
+               <!-- so that *@param is highlighted -->\r
+               <SEQ TYPE="COMMENT3">*</SEQ>\r
+\r
+               <!-- Javadoc ignores tags inside <pre> -->\r
+               <!-- XXX no it doesn't -->\r
+               <!-- SPAN TYPE="MARKUP" DELEGATE="JAVADOC_PRE">\r
+                       <BEGIN>&lt;pre&gt;</BEGIN>\r
+                       <END>&lt;/pre&gt;</END>\r
+               </SPAN -->\r
+\r
+               <!-- HTML comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Javadoc allows this -->\r
+               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
+\r
+               <!-- HTML tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
+                       NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- so that @link{...} is highlighted -->\r
+               <!-- XXX: this is wrong, {@link ..} is correct, see below -->\r
+               <!--<SEQ TYPE="COMMENT3">{</SEQ>-->\r
+\r
+               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="{@" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
+                       <BEGIN>\{@(link|linkplain|docRoot|code|literal)\s</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- for the common usage of the cvs keyword $Id: java.xml 9228 2007-03-27 22:01:25Z ezust $ -->\r
+               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="@version" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
+                       <BEGIN>@version\s+\$</BEGIN>\r
+                       <END>$</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- This works only when you use the same whitespace before and after the param's name,\r
+                        eg. a tab before and after, but mixing space and tab won't work.\r
+                        The reason is that you can't enter a regexp in END, except for the backreference operator $n -->\r
+               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="@" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
+                       <BEGIN>@(?:param|throws|exception|serialField)(\s)</BEGIN>\r
+                       <END>$1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <KEYWORDS>\r
+               <!-- Note: the labels in comments are handled by SPANs above -->\r
+\r
+               <!-- Official javadoc tags:\r
+                        http://java.sun.com/j2se/1.5/docs/tooldocs/windows/javadoc.html#javadoctags -->\r
+                       <LABEL>@author</LABEL>\r
+                       <LABEL>@deprecated</LABEL>\r
+               <!--<LABEL>@docRoot</LABEL>-->\r
+               <!--<LABEL>@exception</LABEL>-->\r
+                       <LABEL>{@inheritDoc}</LABEL>\r
+               <!--<LABEL>@link</LABEL>-->\r
+               <!--<LABEL>@linkplain</LABEL>-->\r
+               <!--<LABEL>@param</LABEL>-->\r
+                       <LABEL>@return</LABEL>\r
+                       <LABEL>@see</LABEL>\r
+                       <LABEL>@serial</LABEL>\r
+                       <LABEL>@serialData</LABEL>\r
+               <!--<LABEL>@serialField</LABEL>-->\r
+                       <LABEL>@since</LABEL>\r
+               <!--<LABEL>@throws</LABEL>-->\r
+                       <LABEL>{@value}</LABEL>\r
+                       <LABEL>@version</LABEL>\r
+\r
+               <!-- new in 1.5 -->\r
+               <!--<LABEL>@code</LABEL>-->\r
+               <!--<LABEL>@literal</LABEL>-->\r
+\r
+               <!-- SUNs proposed tags:\r
+                        http://java.sun.com/j2se/javadoc/proposed-tags.html -->\r
+                       <KEYWORD2>@category</KEYWORD2>\r
+                       <KEYWORD2>@example</KEYWORD2>\r
+                       <KEYWORD2>@exclude</KEYWORD2>\r
+                       <KEYWORD2>@index</KEYWORD2>\r
+                       <KEYWORD2>@internal</KEYWORD2>\r
+                       <KEYWORD2>@obsolete</KEYWORD2>\r
+                       <KEYWORD2>@threadsafety</KEYWORD2>\r
+                       <KEYWORD2>@tutorial</KEYWORD2>\r
+                       <KEYWORD2>@todo</KEYWORD2>\r
+\r
+               <!-- Custom tags -->\r
+                       <KEYWORD4>@access</KEYWORD4>\r
+                       <KEYWORD4>@beaninfo</KEYWORD4>\r
+                       <KEYWORD4>@bon</KEYWORD4>\r
+                       <KEYWORD4>@bug</KEYWORD4>\r
+                       <KEYWORD4>@complexity</KEYWORD4>\r
+                       <KEYWORD4>@design</KEYWORD4>\r
+                       <KEYWORD4>@ensures</KEYWORD4>\r
+                       <KEYWORD4>@equivalent</KEYWORD4>\r
+                       <KEYWORD4>@generates</KEYWORD4>\r
+                       <KEYWORD4>@guard</KEYWORD4>\r
+                       <KEYWORD4>@hides</KEYWORD4>\r
+                       <KEYWORD4>@history</KEYWORD4>\r
+                       <KEYWORD4>@idea</KEYWORD4>\r
+                       <KEYWORD4>@invariant</KEYWORD4>\r
+                       <KEYWORD4>@modifies</KEYWORD4>\r
+                       <KEYWORD4>@overrides</KEYWORD4>\r
+                       <KEYWORD4>@post</KEYWORD4>\r
+                       <KEYWORD4>@pre</KEYWORD4>\r
+                       <KEYWORD4>@references</KEYWORD4>\r
+                       <KEYWORD4>@requires</KEYWORD4>\r
+                       <KEYWORD4>@review</KEYWORD4>\r
+                       <KEYWORD4>@spec</KEYWORD4>\r
+                       <KEYWORD4>@uses</KEYWORD4>\r
+                       <KEYWORD4>@values</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <!-- just a dummy which makes use of the default token type COMMENT4 for highlighting the word after @param in javadoc -->\r
+       <RULES SET="JAVADOC_PARAM" DEFAULT="COMMENT4" IGNORE_CASE="TRUE" />\r
+</MODE>\r
diff --git a/basis/xmode/modes/javacc.xml b/basis/xmode/modes/javacc.xml
new file mode 100644 (file)
index 0000000..d3172d2
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<MODE>\r
+    <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <PROPERTY NAME="unindentThisLine"\r
+                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+       </PROPS>\r
+    <RULES IGNORE_CASE="FALSE">\r
+        <IMPORT DELEGATE="java::MAIN"/>\r
+        \r
+        <KEYWORDS>\r
+            <KEYWORD1>EOF</KEYWORD1>\r
+            <KEYWORD1>IGNORE_CASE</KEYWORD1>\r
+            <KEYWORD1>JAVACODE</KEYWORD1>\r
+            <KEYWORD1>LOOKAHEAD</KEYWORD1>\r
+            <KEYWORD1>MORE</KEYWORD1>\r
+            <KEYWORD1>PARSER_BEGIN</KEYWORD1>\r
+            <KEYWORD1>PARSER_END</KEYWORD1>\r
+            <KEYWORD1>SKIP</KEYWORD1>\r
+            <KEYWORD1>SPECIAL_TOKEN</KEYWORD1>\r
+            <KEYWORD1>TOKEN</KEYWORD1>\r
+            <KEYWORD1>TOKEN_MGR_DECLS</KEYWORD1>\r
+            <KEYWORD1>options</KEYWORD1>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/javascript.xml b/basis/xmode/modes/javascript.xml
new file mode 100644 (file)
index 0000000..e898fa1
--- /dev/null
@@ -0,0 +1,572 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- JavaScript mode by Andre Kaplan -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <PROPERTY NAME="unindentThisLine"\r
+                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <!-- The rest of the javascript info -->\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ_" TYPE="FUNCTION" DELEGATE="FUNCTION_PARAMS">\r
+                       <BEGIN>[A-Za-z_][\w_-]*\s*\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- Keep brackets together: -->\r
+               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="COMMENT2">//--&gt;</SEQ>\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <SEQ TYPE="COMMENT1">&lt;!--</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+                       MATCH_TYPE="OPERATOR"\r
+                       TYPE="LABEL">:</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- ECMAScript keywords -->\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <LITERAL2>this</LITERAL2>\r
+                       <KEYWORD1>typeof</KEYWORD1>\r
+                       <KEYWORD1>var</KEYWORD1>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+\r
+                       <!--ECMAScript keywords-->\r
+                       <!-- Reserved for future use\r
+                               (some are already used in some Javascript Engines)\r
+                       -->\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>debugger</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD3>double</KEYWORD3>\r
+                       <KEYWORD1>enum</KEYWORD1>\r
+                       <KEYWORD2>export</KEYWORD2>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+\r
+                       <KEYWORD2>import</KEYWORD2>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD1>interface</KEYWORD1>\r
+                       <KEYWORD3>long</KEYWORD3>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD2>package</KEYWORD2>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+\r
+                       <KEYWORD3>short</KEYWORD3>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <LITERAL2>super</LITERAL2>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>volatile</KEYWORD1>\r
+\r
+                       <!-- Intrinsic Objects (Good idea not to use these names!!)-->\r
+                       <KEYWORD3>Array</KEYWORD3>\r
+                       <KEYWORD3>Boolean</KEYWORD3>\r
+                       <KEYWORD3>Date</KEYWORD3>\r
+                       <KEYWORD3>Function</KEYWORD3>\r
+                       <KEYWORD3>Global</KEYWORD3>\r
+                       <KEYWORD3>Math</KEYWORD3>\r
+                       <KEYWORD3>Number</KEYWORD3>\r
+                       <KEYWORD3>Object</KEYWORD3>\r
+                       <KEYWORD3>RegExp</KEYWORD3><!-- Not ECMA -->\r
+                       <KEYWORD3>String</KEYWORD3>\r
+\r
+                       <!-- Literals -->\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+\r
+                       <LITERAL2>NaN</LITERAL2>\r
+                       <LITERAL2>Infinity</LITERAL2>\r
+\r
+                       <!-- Global functions -->\r
+                       <LITERAL2>eval</LITERAL2>\r
+                       <LITERAL2>parseInt</LITERAL2>\r
+                       <LITERAL2>parseFloat</LITERAL2>\r
+                       <LITERAL2>escape</LITERAL2>\r
+                       <LITERAL2>unescape</LITERAL2>\r
+                       <LITERAL2>isNaN</LITERAL2>\r
+                       <LITERAL2>isFinite</LITERAL2>\r
+\r
+                       <!-- Comment/Uncomment your favorite ADO Constants-->\r
+\r
+                       <!-- ADO Constants-->\r
+\r
+                       <!-- CursorTypeEnum Values -->\r
+                       <LITERAL2>adOpenForwardOnly</LITERAL2>\r
+                       <LITERAL2>adOpenKeyset</LITERAL2>\r
+                       <LITERAL2>adOpenDynamic</LITERAL2>\r
+                       <LITERAL2>adOpenStatic</LITERAL2>\r
+\r
+                       <!-- CursorOptionEnum Values -->\r
+<!--           <LITERAL2>adHoldRecords</LITERAL2>\r
+                       <LITERAL2>adMovePrevious</LITERAL2>\r
+                       <LITERAL2>adAddNew</LITERAL2>\r
+                       <LITERAL2>adDelete</LITERAL2>\r
+                       <LITERAL2>adUpdate</LITERAL2>\r
+                       <LITERAL2>adBookmark</LITERAL2>\r
+                       <LITERAL2>adApproxPosition</LITERAL2>\r
+                       <LITERAL2>adUpdateBatch</LITERAL2>\r
+                       <LITERAL2>adResync</LITERAL2>\r
+                       <LITERAL2>adNotify</LITERAL2>\r
+                       <LITERAL2>adFind</LITERAL2>\r
+                       <LITERAL2>adSeek</LITERAL2>\r
+                       <LITERAL2>adIndex</LITERAL2>\r
+-->\r
+                       <!-- LockTypeEnum Values -->\r
+                       <LITERAL2>adLockReadOnly</LITERAL2>\r
+                       <LITERAL2>adLockPessimistic</LITERAL2>\r
+                       <LITERAL2>adLockOptimistic</LITERAL2>\r
+                       <LITERAL2>adLockBatchOptimistic</LITERAL2>\r
+\r
+                       <!-- ExecuteOptionEnum Values -->\r
+                       <LITERAL2>adRunAsync</LITERAL2>\r
+                       <LITERAL2>adAsyncExecute</LITERAL2>\r
+                       <LITERAL2>adAsyncFetch</LITERAL2>\r
+                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>\r
+                       <LITERAL2>adExecuteNoRecords</LITERAL2>\r
+\r
+                       <!-- ConnectOptionEnum Values -->\r
+<!--                   <LITERAL2>adAsyncConnect</LITERAL2>\r
+-->\r
+                       <!-- ObjectStateEnum Values -->\r
+                       <LITERAL2>adStateClosed</LITERAL2>\r
+                       <LITERAL2>adStateOpen</LITERAL2>\r
+                       <LITERAL2>adStateConnecting</LITERAL2>\r
+                       <LITERAL2>adStateExecuting</LITERAL2>\r
+                       <LITERAL2>adStateFetching</LITERAL2>\r
+\r
+                       <!-- CursorLocationEnum Values -->\r
+                       <LITERAL2>adUseServer</LITERAL2>\r
+                       <LITERAL2>adUseClient</LITERAL2>\r
+\r
+                       <!-- DataTypeEnum Values -->\r
+                       <LITERAL2>adEmpty</LITERAL2>\r
+                       <LITERAL2>adTinyInt</LITERAL2>\r
+                       <LITERAL2>adSmallInt</LITERAL2>\r
+                       <LITERAL2>adInteger</LITERAL2>\r
+                       <LITERAL2>adBigInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedTinyInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedSmallInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedBigInt</LITERAL2>\r
+                       <LITERAL2>adSingle</LITERAL2>\r
+                       <LITERAL2>adDouble</LITERAL2>\r
+                       <LITERAL2>adCurrency</LITERAL2>\r
+                       <LITERAL2>adDecimal</LITERAL2>\r
+                       <LITERAL2>adNumeric</LITERAL2>\r
+                       <LITERAL2>adBoolean</LITERAL2>\r
+                       <LITERAL2>adError</LITERAL2>\r
+                       <LITERAL2>adUserDefined</LITERAL2>\r
+                       <LITERAL2>adVariant</LITERAL2>\r
+                       <LITERAL2>adIDispatch</LITERAL2>\r
+                       <LITERAL2>adIUnknown</LITERAL2>\r
+                       <LITERAL2>adGUID</LITERAL2>\r
+                       <LITERAL2>adDate</LITERAL2>\r
+                       <LITERAL2>adDBDate</LITERAL2>\r
+                       <LITERAL2>adDBTime</LITERAL2>\r
+                       <LITERAL2>adDBTimeStamp</LITERAL2>\r
+                       <LITERAL2>adBSTR</LITERAL2>\r
+                       <LITERAL2>adChar</LITERAL2>\r
+                       <LITERAL2>adVarChar</LITERAL2>\r
+                       <LITERAL2>adLongVarChar</LITERAL2>\r
+                       <LITERAL2>adWChar</LITERAL2>\r
+                       <LITERAL2>adVarWChar</LITERAL2>\r
+                       <LITERAL2>adLongVarWChar</LITERAL2>\r
+                       <LITERAL2>adBinary</LITERAL2>\r
+                       <LITERAL2>adVarBinary</LITERAL2>\r
+                       <LITERAL2>adLongVarBinary</LITERAL2>\r
+                       <LITERAL2>adChapter</LITERAL2>\r
+                       <LITERAL2>adFileTime</LITERAL2>\r
+                       <LITERAL2>adDBFileTime</LITERAL2>\r
+                       <LITERAL2>adPropVariant</LITERAL2>\r
+                       <LITERAL2>adVarNumeric</LITERAL2>\r
+\r
+                       <!-- FieldAttributeEnum Values -->\r
+<!--                   <LITERAL2>adFldMayDefer</LITERAL2>\r
+                       <LITERAL2>adFldUpdatable</LITERAL2>\r
+                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>\r
+                       <LITERAL2>adFldFixed</LITERAL2>\r
+                       <LITERAL2>adFldIsNullable</LITERAL2>\r
+                       <LITERAL2>adFldMayBeNull</LITERAL2>\r
+                       <LITERAL2>adFldLong</LITERAL2>\r
+                       <LITERAL2>adFldRowID</LITERAL2>\r
+                       <LITERAL2>adFldRowVersion</LITERAL2>\r
+                       <LITERAL2>adFldCacheDeferred</LITERAL2>\r
+                       <LITERAL2>adFldKeyColumn</LITERAL2>\r
+-->\r
+\r
+                       <!-- EditModeEnum Values -->\r
+<!--                   <LITERAL2>adEditNone</LITERAL2>\r
+                       <LITERAL2>adEditInProgress</LITERAL2>\r
+                       <LITERAL2>adEditAdd</LITERAL2>\r
+                       <LITERAL2>adEditDelete</LITERAL2>\r
+-->\r
+                       <!-- RecordStatusEnum Values -->\r
+<!--                   <LITERAL2>adRecOK</LITERAL2>\r
+                       <LITERAL2>adRecNew</LITERAL2>\r
+                       <LITERAL2>adRecModified</LITERAL2>\r
+                       <LITERAL2>adRecDeleted</LITERAL2>\r
+                       <LITERAL2>adRecUnmodified</LITERAL2>\r
+                       <LITERAL2>adRecInvalid</LITERAL2>\r
+                       <LITERAL2>adRecMultipleChanges</LITERAL2>\r
+                       <LITERAL2>adRecPendingChanges</LITERAL2>\r
+                       <LITERAL2>adRecCanceled</LITERAL2>\r
+                       <LITERAL2>adRecCantRelease</LITERAL2>\r
+                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>\r
+                       <LITERAL2>adRecIntegrityViolation</LITERAL2>\r
+                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>\r
+                       <LITERAL2>adRecObjectOpen</LITERAL2>\r
+                       <LITERAL2>adRecOutOfMemory</LITERAL2>\r
+                       <LITERAL2>adRecPermissionDenied</LITERAL2>\r
+                       <LITERAL2>adRecSchemaViolation</LITERAL2>\r
+                       <LITERAL2>adRecDBDeleted</LITERAL2>\r
+-->\r
+                       <!-- GetRowsOptionEnum Values -->\r
+<!--                   <LITERAL2>adGetRowsRest</LITERAL2>\r
+-->\r
+\r
+                       <!-- PositionEnum Values -->\r
+<!--                   <LITERAL2>adPosUnknown</LITERAL2>\r
+                       <LITERAL2>adPosBOF</LITERAL2>\r
+                       <LITERAL2>adPosEOF</LITERAL2>\r
+-->\r
+\r
+                       <!-- enum Values -->\r
+<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>\r
+                       <LITERAL2>adBookmarkFirst</LITERAL2>\r
+                       <LITERAL2>adBookmarkLast</LITERAL2>\r
+-->\r
+                       <!-- MarshalOptionsEnum Values -->\r
+<!--                   <LITERAL2>adMarshalAll</LITERAL2>\r
+                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>\r
+-->\r
+                       <!-- AffectEnum Values -->\r
+<!--                   <LITERAL2>adAffectCurrent</LITERAL2>\r
+                       <LITERAL2>adAffectGroup</LITERAL2>\r
+                       <LITERAL2>adAffectAll</LITERAL2>\r
+                       <LITERAL2>adAffectAllChapters</LITERAL2>\r
+-->\r
+\r
+                       <!-- ResyncEnum Values -->\r
+<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>\r
+                       <LITERAL2>adResyncAllValues</LITERAL2>\r
+-->\r
+                       <!-- CompareEnum Values -->\r
+<!--                   <LITERAL2>adCompareLessThan</LITERAL2>\r
+                       <LITERAL2>adCompareEqual</LITERAL2>\r
+                       <LITERAL2>adCompareGreaterThan</LITERAL2>\r
+                       <LITERAL2>adCompareNotEqual</LITERAL2>\r
+                       <LITERAL2>adCompareNotComparable</LITERAL2>\r
+-->\r
+                       <!-- FilterGroupEnum Values -->\r
+<!--                   <LITERAL2>adFilterNone</LITERAL2>\r
+                       <LITERAL2>adFilterPendingRecords</LITERAL2>\r
+                       <LITERAL2>adFilterAffectedRecords</LITERAL2>\r
+                       <LITERAL2>adFilterFetchedRecords</LITERAL2>\r
+                       <LITERAL2>adFilterPredicate</LITERAL2>\r
+                       <LITERAL2>adFilterConflictingRecords</LITERAL2>\r
+-->\r
+                       <!-- SearchDirectionEnum Values -->\r
+<!--                   <LITERAL2>adSearchForward</LITERAL2>\r
+                       <LITERAL2>adSearchBackward</LITERAL2>\r
+-->\r
+\r
+                       <!-- PersistFormatEnum Values -->\r
+                       <LITERAL2>adPersistADTG</LITERAL2>\r
+                       <LITERAL2>adPersistXML</LITERAL2>\r
+\r
+                       <!-- StringFormatEnum Values -->\r
+<!--                   <LITERAL2>adStringXML</LITERAL2>\r
+                       <LITERAL2>adStringHTML</LITERAL2>\r
+                       <LITERAL2>adClipString</LITERAL2>\r
+-->\r
+                       <!-- ConnectPromptEnum Values -->\r
+<!--                   <LITERAL2>adPromptAlways</LITERAL2>\r
+                       <LITERAL2>adPromptComplete</LITERAL2>\r
+                       <LITERAL2>adPromptCompleteRequired</LITERAL2>\r
+                       <LITERAL2>adPromptNever</LITERAL2>\r
+-->\r
+                       <!-- ConnectModeEnum Values -->\r
+<!--                   <LITERAL2>adModeUnknown</LITERAL2>\r
+                       <LITERAL2>adModeRead</LITERAL2>\r
+                       <LITERAL2>adModeWrite</LITERAL2>\r
+                       <LITERAL2>adModeReadWrite</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyRead</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyWrite</LITERAL2>\r
+                       <LITERAL2>adModeShareExclusive</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyNone</LITERAL2>\r
+-->\r
+                       <!-- IsolationLevelEnum Values -->\r
+<!--                   <LITERAL2>adXactUnspecified</LITERAL2>\r
+                       <LITERAL2>adXactChaos</LITERAL2>\r
+                       <LITERAL2>adXactReadUncommitted</LITERAL2>\r
+                       <LITERAL2>adXactBrowse</LITERAL2>\r
+                       <LITERAL2>adXactCursorStability</LITERAL2>\r
+                       <LITERAL2>adXactReadCommitted</LITERAL2>\r
+                       <LITERAL2>adXactRepeatableRead</LITERAL2>\r
+                       <LITERAL2>adXactSerializable</LITERAL2>\r
+                       <LITERAL2>adXactIsolated</LITERAL2>\r
+-->\r
+                       <!-- XactAttributeEnum Values -->\r
+<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>\r
+                       <LITERAL2>adXactAbortRetaining</LITERAL2>\r
+-->\r
+                       <!-- PropertyAttributesEnum Values -->\r
+<!--                   <LITERAL2>adPropNotSupported</LITERAL2>\r
+                       <LITERAL2>adPropRequired</LITERAL2>\r
+                       <LITERAL2>adPropOptional</LITERAL2>\r
+                       <LITERAL2>adPropRead</LITERAL2>\r
+                       <LITERAL2>adPropWrite</LITERAL2>\r
+-->\r
+                       <!-- ErrorValueEnum Values -->\r
+<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>\r
+                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>\r
+                       <LITERAL2>adErrIllegalOperation</LITERAL2>\r
+                       <LITERAL2>adErrInTransaction</LITERAL2>\r
+                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>\r
+                       <LITERAL2>adErrItemNotFound</LITERAL2>\r
+                       <LITERAL2>adErrObjectInCollection</LITERAL2>\r
+                       <LITERAL2>adErrObjectNotSet</LITERAL2>\r
+                       <LITERAL2>adErrDataConversion</LITERAL2>\r
+                       <LITERAL2>adErrObjectClosed</LITERAL2>\r
+                       <LITERAL2>adErrObjectOpen</LITERAL2>\r
+                       <LITERAL2>adErrProviderNotFound</LITERAL2>\r
+                       <LITERAL2>adErrBoundToCommand</LITERAL2>\r
+                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>\r
+                       <LITERAL2>adErrInvalidConnection</LITERAL2>\r
+                       <LITERAL2>adErrNotReentrant</LITERAL2>\r
+                       <LITERAL2>adErrStillExecuting</LITERAL2>\r
+                       <LITERAL2>adErrOperationCancelled</LITERAL2>\r
+                       <LITERAL2>adErrStillConnecting</LITERAL2>\r
+                       <LITERAL2>adErrNotExecuting</LITERAL2>\r
+                       <LITERAL2>adErrUnsafeOperation</LITERAL2>\r
+-->\r
+                       <!-- ParameterAttributesEnum Values -->\r
+                       <LITERAL2>adParamSigned</LITERAL2>\r
+                       <LITERAL2>adParamNullable</LITERAL2>\r
+                       <LITERAL2>adParamLong</LITERAL2>\r
+\r
+                       <!-- ParameterDirectionEnum Values -->\r
+                       <LITERAL2>adParamUnknown</LITERAL2>\r
+                       <LITERAL2>adParamInput</LITERAL2>\r
+                       <LITERAL2>adParamOutput</LITERAL2>\r
+                       <LITERAL2>adParamInputOutput</LITERAL2>\r
+                       <LITERAL2>adParamReturnValue</LITERAL2>\r
+\r
+                       <!-- CommandTypeEnum Values -->\r
+                       <LITERAL2>adCmdUnknown</LITERAL2>\r
+                       <LITERAL2>adCmdText</LITERAL2>\r
+                       <LITERAL2>adCmdTable</LITERAL2>\r
+                       <LITERAL2>adCmdStoredProc</LITERAL2>\r
+                       <LITERAL2>adCmdFile</LITERAL2>\r
+                       <LITERAL2>adCmdTableDirect</LITERAL2>\r
+\r
+                       <!-- EventStatusEnum Values -->\r
+<!--                   <LITERAL2>adStatusOK</LITERAL2>\r
+                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>\r
+                       <LITERAL2>adStatusCantDeny</LITERAL2>\r
+                       <LITERAL2>adStatusCancel</LITERAL2>\r
+                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>\r
+-->\r
+                       <!-- EventReasonEnum Values -->\r
+<!--                   <LITERAL2>adRsnAddNew</LITERAL2>\r
+                       <LITERAL2>adRsnDelete</LITERAL2>\r
+                       <LITERAL2>adRsnUpdate</LITERAL2>\r
+                       <LITERAL2>adRsnUndoUpdate</LITERAL2>\r
+                       <LITERAL2>adRsnUndoAddNew</LITERAL2>\r
+                       <LITERAL2>adRsnUndoDelete</LITERAL2>\r
+                       <LITERAL2>adRsnRequery</LITERAL2>\r
+                       <LITERAL2>adRsnResynch</LITERAL2>\r
+                       <LITERAL2>adRsnClose</LITERAL2>\r
+                       <LITERAL2>adRsnMove</LITERAL2>\r
+                       <LITERAL2>adRsnFirstChange</LITERAL2>\r
+                       <LITERAL2>adRsnMoveFirst</LITERAL2>\r
+                       <LITERAL2>adRsnMoveNext</LITERAL2>\r
+                       <LITERAL2>adRsnMovePrevious</LITERAL2>\r
+                       <LITERAL2>adRsnMoveLast</LITERAL2>\r
+-->\r
+                       <!-- SchemaEnum Values -->\r
+<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>\r
+                       <LITERAL2>adSchemaAsserts</LITERAL2>\r
+                       <LITERAL2>adSchemaCatalogs</LITERAL2>\r
+                       <LITERAL2>adSchemaCharacterSets</LITERAL2>\r
+                       <LITERAL2>adSchemaCollations</LITERAL2>\r
+                       <LITERAL2>adSchemaColumns</LITERAL2>\r
+                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaTableConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaIndexes</LITERAL2>\r
+                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedures</LITERAL2>\r
+                       <LITERAL2>adSchemaSchemata</LITERAL2>\r
+                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>\r
+                       <LITERAL2>adSchemaStatistics</LITERAL2>\r
+                       <LITERAL2>adSchemaTables</LITERAL2>\r
+                       <LITERAL2>adSchemaTranslations</LITERAL2>\r
+                       <LITERAL2>adSchemaProviderTypes</LITERAL2>\r
+                       <LITERAL2>adSchemaViews</LITERAL2>\r
+                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>\r
+                       <LITERAL2>adSchemaForeignKeys</LITERAL2>\r
+                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>\r
+                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>\r
+                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>\r
+                       <LITERAL2>adSchemaCubes</LITERAL2>\r
+                       <LITERAL2>adSchemaDimensions</LITERAL2>\r
+                       <LITERAL2>adSchemaHierarchies</LITERAL2>\r
+                       <LITERAL2>adSchemaLevels</LITERAL2>\r
+                       <LITERAL2>adSchemaMeasures</LITERAL2>\r
+                       <LITERAL2>adSchemaProperties</LITERAL2>\r
+                       <LITERAL2>adSchemaMembers</LITERAL2>\r
+-->\r
+                       <!-- SeekEnum Values -->\r
+<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>\r
+                       <LITERAL2>adSeekLastEQ</LITERAL2>\r
+                       <LITERAL2>adSeekAfterEQ</LITERAL2>\r
+                       <LITERAL2>adSeekAfter</LITERAL2>\r
+                       <LITERAL2>adSeekBeforeEQ</LITERAL2>\r
+                       <LITERAL2>adSeekBefore</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->\r
+<!--                   <LITERAL2>adCriteriaKey</LITERAL2>\r
+                       <LITERAL2>adCriteriaAllCols</LITERAL2>\r
+                       <LITERAL2>adCriteriaUpdCols</LITERAL2>\r
+                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->\r
+<!--                   <LITERAL2>adPriorityLowest</LITERAL2>\r
+                       <LITERAL2>adPriorityBelowNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityAboveNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityHighest</LITERAL2>\r
+-->\r
+                       <!-- CEResyncEnum Values -->\r
+<!--                   <LITERAL2>adResyncNone</LITERAL2>\r
+                       <LITERAL2>adResyncAutoIncrement</LITERAL2>\r
+                       <LITERAL2>adResyncConflicts</LITERAL2>\r
+                       <LITERAL2>adResyncUpdates</LITERAL2>\r
+                       <LITERAL2>adResyncInserts</LITERAL2>\r
+                       <LITERAL2>adResyncAll</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_AUTORECALC_ENUM Values -->\r
+<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>\r
+                       <LITERAL2>adRecalcAlways</LITERAL2>\r
+-->\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="FUNCTION_PARAMS">\r
+               <!-- Keep brackets together: -->\r
+               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <IMPORT DELEGATE="MAIN" />\r
+               <!-- <SEQ TYPE="OPERATOR">)</SEQ> -->\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/jcl.xml b/basis/xmode/modes/jcl.xml
new file mode 100644 (file)
index 0000000..b7f0ed5
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--  \r
+      JCL edit mode by Bill McMilleon (bill@mcmilleon.com)\r
+      March 19, 2003\r
+\r
+      Suggested catalog file entry:\r
+\r
+      <MODE NAME="JCL"         FILE="JCL.xml"\r
+                               FILE_NAME_GLOB="*.{jcl}" />\r
+\r
+-->\r
\r
\r
+<MODE>\r
+\r
+    <PROPS>\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+    </PROPS>\r
+\r
+    \r
+    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+\r
+<!-- In fixed form, column 72 is the last column parsed, unless the\r
+\extend_source option is invoked -->\r
+    <!-- TERMINATE AT_CHAR="72" / -->\r
+\r
+\r
+    <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">//*</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+<!-- Highlighted Operators -->\r
+<SEQ TYPE="OPERATOR">=</SEQ>\r
+<SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+<SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+<SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+<SEQ TYPE="OPERATOR">|</SEQ>\r
+<SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+<KEYWORDS>\r
+  <KEYWORD2>COMMAND</KEYWORD2>\r
+  <KEYWORD2>CNTL</KEYWORD2>\r
+  <KEYWORD2>DD</KEYWORD2>\r
+  <KEYWORD2>ENCNTL</KEYWORD2>\r
+  <KEYWORD2>EXEC</KEYWORD2>\r
+  <KEYWORD2>IF</KEYWORD2>\r
+  <KEYWORD2>THEN</KEYWORD2>\r
+  <KEYWORD2>ELSE</KEYWORD2>\r
+  <KEYWORD2>ENDIF</KEYWORD2>\r
+  <KEYWORD2>INCLUDE</KEYWORD2>\r
+  <KEYWORD2>JCLIB</KEYWORD2>\r
+  <KEYWORD2>JOB</KEYWORD2>\r
+  <KEYWORD2>MSG</KEYWORD2>\r
+  <KEYWORD2>OUTPUT</KEYWORD2>\r
+  <KEYWORD2>PEND</KEYWORD2>\r
+  <KEYWORD2>PROC</KEYWORD2>\r
+  <KEYWORD2>SET</KEYWORD2>\r
+  <KEYWORD2>XMIT</KEYWORD2>\r
+</KEYWORDS>\r
+\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/jhtml.xml b/basis/xmode/modes/jhtml.xml
new file mode 100644 (file)
index 0000000..5a15907
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+  JHTML mode by Will Sargent <wsargent@atg.com>\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+                               <!-- Indent droplets and oparams -->\r
+                               <PROPERTY NAME="indentNextLines"\r
+                                VALUE="\s*(&lt;\s*(droplet|oparam))\s+.*" />\r
+                               <!-- Sadly, there doesn't seem to be a way to\r
+                                        undent when we see a /oparam> tag... -->\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+                               <!-- Allow for Dynamo SSI -->\r
+                               <SPAN TYPE="NULL">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+                               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+                               <!-- Embedded Java -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;java&gt;</BEGIN>\r
+                       <END>&lt;/java&gt;</END>\r
+               </SPAN>\r
+\r
+                               <!-- Don't know how to do this correctly.\r
+                               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
+                                               <BEGIN>&lt;java type=</BEGIN>\r
+                                               <END>&lt;/java&gt;</END>\r
+                               </SPAN>\r
+                               -->\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+                               <!-- All markup defaults to JHTML. -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JHTML">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="JHTML" DEFAULT="MARKUP">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="MARKUP">/</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>importbean</KEYWORD1>\r
+                       <KEYWORD1>droplet</KEYWORD1>\r
+                       <KEYWORD1>param</KEYWORD1>\r
+                       <KEYWORD1>oparam</KEYWORD1>\r
+                       <KEYWORD1>valueof</KEYWORD1>\r
+                       <KEYWORD1>setvalue</KEYWORD1>\r
+                       <KEYWORD1>servlet</KEYWORD1>\r
+                       <KEYWORD2>bean</KEYWORD2>\r
+                       <KEYWORD2>submitvalue</KEYWORD2>\r
+                       <KEYWORD2>declareparam</KEYWORD2>\r
+                       <KEYWORD2>synchronized</KEYWORD2>\r
+                       <KEYWORD2>priority</KEYWORD2>\r
+\r
+                       <!-- standard converters -->\r
+                       <KEYWORD2>converter</KEYWORD2>\r
+                       <KEYWORD2>date</KEYWORD2>\r
+                       <KEYWORD2>number</KEYWORD2>\r
+                       <KEYWORD2>required</KEYWORD2>\r
+                       <KEYWORD2>nullable</KEYWORD2>\r
+                       <KEYWORD2>currency</KEYWORD2>\r
+                       <KEYWORD2>currencyConversion</KEYWORD2>\r
+                       <KEYWORD2>euro</KEYWORD2>\r
+                       <KEYWORD2>locale</KEYWORD2>\r
+                       <KEYWORD2>symbol</KEYWORD2>\r
+\r
+                       <!-- Can't use this because of image src... -->\r
+                       <!-- <KEYWORD2>src</KEYWORD2> -->\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="ATTRVALUE" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- backticks are java -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+                               <!-- Allow param: and bean: properties to be marked up -->\r
+                               <SEQ TYPE="LABEL">param:</SEQ>\r
+                               <SEQ TYPE="LABEL">bean:</SEQ>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/jmk.xml b/basis/xmode/modes/jmk.xml
new file mode 100644 (file)
index 0000000..64ffc04
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- Literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- Brackets -->\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>cat</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>create</KEYWORD1>\r
+                       <KEYWORD1>delall</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>dirs</KEYWORD1>\r
+                       <KEYWORD1>equal</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>exec</KEYWORD1>\r
+                       <KEYWORD1>first</KEYWORD1>\r
+                       <KEYWORD1>forname</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>getprop</KEYWORD1>\r
+                       <KEYWORD1>glob</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>join</KEYWORD1>\r
+                       <KEYWORD1>load</KEYWORD1>\r
+                       <KEYWORD1>mkdir</KEYWORD1>\r
+                       <KEYWORD1>mkdirs</KEYWORD1>\r
+                       <KEYWORD1>note</KEYWORD1>\r
+                       <KEYWORD1>patsubst</KEYWORD1>\r
+                       <KEYWORD1>rename</KEYWORD1>\r
+                       <KEYWORD1>rest</KEYWORD1>\r
+                       <KEYWORD1>subst</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD2>@</KEYWORD2>\r
+                       <KEYWORD2>?</KEYWORD2>\r
+                       <KEYWORD2>&lt;</KEYWORD2>\r
+                       <KEYWORD2>%</KEYWORD2>\r
+                       <KEYWORD3>include</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/jsp.xml b/basis/xmode/modes/jsp.xml
new file mode 100644 (file)
index 0000000..31bf48b
--- /dev/null
@@ -0,0 +1,257 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;%--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--%&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- JSP comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;%--</BEGIN>\r
+                       <END>--%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP directive -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="DIRECTIVES">\r
+                       <BEGIN>&lt;%@</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="DIRECTIVES">\r
+                       <BEGIN>&lt;jsp:directive&gt;</BEGIN>\r
+                       <END>&lt;/jsp:directive&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;jsp:expression&gt;</BEGIN>\r
+                       <END>&lt;/jsp:expression&gt;</END>\r
+               </SPAN>\r
+\r
+\r
+               <!-- JSP scriptlet code block -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%!</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;jsp:declaration&gt;</BEGIN>\r
+                       <END>&lt;/jsp:declaration&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP scriptlet -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;jsp:scriptlet&gt;</BEGIN>\r
+                       <END>&lt;/jsp:scriptlet&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+       </RULES>\r
+       <RULES SET="COMMENT" DEFAULT="COMMENT1" IGNORE_CASE="TRUE">\r
+               <!-- JSP comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;%--</BEGIN>\r
+                       <END>--%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP scriptlet -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+       <RULES SET="DIRECTIVES" DEFAULT="MARKUP">\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="MARKUP">/</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>taglib</KEYWORD1>\r
+                       <KEYWORD1>include</KEYWORD1>\r
+                       <KEYWORD1>page</KEYWORD1>\r
+                       <KEYWORD1>tag</KEYWORD1>\r
+                       <KEYWORD1>tagAttribute</KEYWORD1>\r
+                       <KEYWORD1>tagVariable</KEYWORD1>\r
+\r
+                       <KEYWORD2>language</KEYWORD2>\r
+                       <KEYWORD2>session</KEYWORD2>\r
+                       <KEYWORD2>contentType</KEYWORD2>\r
+                       <KEYWORD2>charset</KEYWORD2>\r
+                       <KEYWORD2>import</KEYWORD2>\r
+                       <KEYWORD2>buffer</KEYWORD2>\r
+                       <KEYWORD2>autoflush</KEYWORD2>\r
+                       <KEYWORD2>isThreadSafe</KEYWORD2>\r
+                       <KEYWORD2>info</KEYWORD2>\r
+                       <KEYWORD2>errorPage</KEYWORD2>\r
+                       <KEYWORD2>isErrorpage</KEYWORD2>\r
+                       <KEYWORD2>extends</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>uri</KEYWORD2>\r
+                       <KEYWORD2>prefix</KEYWORD2>\r
+                       <KEYWORD2>method</KEYWORD2>\r
+                       <KEYWORD2>name</KEYWORD2>\r
+                       <KEYWORD2>default</KEYWORD2>\r
+                       <KEYWORD2>required</KEYWORD2>\r
+                       <KEYWORD2>rtexprvalue</KEYWORD2>\r
+                       <KEYWORD2>id</KEYWORD2>\r
+                       <KEYWORD2>type</KEYWORD2>\r
+                       <KEYWORD2>scope</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP">\r
+               <!-- JSP comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;%--</BEGIN>\r
+                       <END>--%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS+JSP">\r
+                       <BEGIN>style='</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS+JSP">\r
+                       <BEGIN>style="</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="MARKUP">/</SEQ>\r
+               <MARK_FOLLOWING TYPE="FUNCTION" MATCH_TYPE="OPERATOR">:</MARK_FOLLOWING>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+       </RULES>\r
+\r
+\r
+\r
+       <RULES SET="CSS+JSP" DEFAULT="LITERAL1">\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="css::MAIN"/>\r
+       </RULES>\r
+\r
+       <RULES SET="ATTRVALUE" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SEQ TYPE="LITERAL1" DELEGATE="JAVASCRIPT+JSP">javascript:</SEQ>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="JAVASCRIPT+JSP">\r
+               <!-- JSP scriptlet expression -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="java::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="javascript::MAIN"/>\r
+       </RULES>\r
+\r
+       <RULES SET="EL" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+               <IMPORT DELEGATE="java::MAIN"/>\r
+       </RULES>\r
+</MODE>\r
+<!-- :noTabs=false: -->
\ No newline at end of file
diff --git a/basis/xmode/modes/latex.xml b/basis/xmode/modes/latex.xml
new file mode 100644 (file)
index 0000000..b32ba9c
--- /dev/null
@@ -0,0 +1,2361 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--  jEdit LaTeX mode, by Thomas Alspaugh alspaugh@ics.uci.edu  -->\r
+<!--  v1.2  2004May30  -->\r
+<!--  Based upon BibTeX mode by Nils Krahnstoever and tex mode by unknown author.\r
+      Generated automatically from a summary of Lamport \r
+      "LaTeX : A document preparation system : User guide and reference manual",\r
+      1994 (LaTeX2e) edition, using a Perl script. \r
+  -->\r
+<!--  Catalog entry (suggested)\r
+<MODE NAME="LaTeX"             FILE="latex.xml"\r
+                               FILE_NAME_GLOB="*.{tex,ltx,latex}" />\r
+      -->\r
+<!--  latex.xml is generated automatically from a summary of Lamport \r
+      "LaTeX : A document preparation system : User guide and reference manual",\r
+      1994 (LaTeX2e) edition, using a collection of editing scripts.\r
+  -->\r
+<!--  Version history\r
+      v1.1  2004Mar23\r
+      v1.2  2004Jun09\r
+        Single-character accents such as \" accept arguments not in {}.\r
+        Changed to be produced using a single Perl script.\r
+  -->\r
+<!--\r
+      COMMENT1  % comments.\r
+      INVALID   characters or strings that are not valid in the context.\r
+      KEYWORD1  commands or declarations with arguments\r
+      KEYWORD2  commands or declarations without arguments\r
+      KEYWORD3  counters\r
+      KEYWORD4  unrecognized commands or declarations\r
+      MARKUP    environments (other than those that change rulesets)\r
+  -->\r
+<!--  Not as it should be:\r
+      - Highlighting does not account for balancing of braces {};  the next } \r
+        closes a command.\r
+      - \ensuremath{} should balance braces but does not (the first } closes it).\r
+      - #1, #2, ... are only valid in \newcommand{} but are not limited to there.\r
+      - Commands inside ``'' and `' quoted strings should be highlighted.\r
+  -->\r
+  \r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="lineComment" VALUE="%" />\r
+    <PROPERTY NAME="noWordSep" VALUE="\"/>\r
+  </PROPS>\r
+\r
+  <RULES IGNORE_CASE="FALSE"> <!-- SET="NormalMode" -->\r
+    <SEQ TYPE="LABEL">__NormalMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+    <!--  "", `', and ``'' quoting.  -->\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <!--  Lone quote characters " and ` are not valid.  -->\r
+    <SEQ TYPE="INVALID">"</SEQ>\r
+    <SEQ TYPE="INVALID">`</SEQ>\r
+\r
+    <!--  # is only valid as #n inside command definitions.  -->\r
+    <SEQ TYPE="FUNCTION">#1</SEQ>\r
+    <SEQ TYPE="FUNCTION">#2</SEQ>\r
+    <SEQ TYPE="FUNCTION">#3</SEQ>\r
+    <SEQ TYPE="FUNCTION">#4</SEQ>\r
+    <SEQ TYPE="FUNCTION">#5</SEQ>\r
+    <SEQ TYPE="FUNCTION">#6</SEQ>\r
+    <SEQ TYPE="FUNCTION">#7</SEQ>\r
+    <SEQ TYPE="FUNCTION">#8</SEQ>\r
+    <SEQ TYPE="FUNCTION">#9</SEQ>\r
+\r
+    <!-- \begin{verbatim} ... \end{verbatim} -->\r
+    <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM">\r
+        <BEGIN>\begin{verbatim}</BEGIN>\r
+        <END>\end{verbatim}</END>\r
+    </SPAN>\r
+\r
+    <SEQ TYPE="INVALID">\tabs</SEQ>\r
+    <SEQ TYPE="INVALID">\tabset</SEQ>\r
+    <SEQ TYPE="INVALID">\tabsdone</SEQ>\r
+    <SEQ TYPE="INVALID">\cleartabs</SEQ>\r
+    <SEQ TYPE="INVALID">\settabs</SEQ>\r
+    <SEQ TYPE="INVALID">\tabalign</SEQ>\r
+    <SEQ TYPE="INVALID">\+</SEQ>\r
+    <SEQ TYPE="INVALID">\pageno</SEQ>\r
+    <SEQ TYPE="INVALID">\headline</SEQ>\r
+    <SEQ TYPE="INVALID">\footline</SEQ>\r
+    <SEQ TYPE="INVALID">\normalbottom</SEQ>\r
+    <SEQ TYPE="INVALID">\folio</SEQ>\r
+    <SEQ TYPE="INVALID">\nopagenumbers</SEQ>\r
+    <SEQ TYPE="INVALID">\advancepageno</SEQ>\r
+    <SEQ TYPE="INVALID">\pagebody</SEQ>\r
+    <SEQ TYPE="INVALID">\plainoutput</SEQ>\r
+    <SEQ TYPE="INVALID">\pagecontents</SEQ>\r
+    <SEQ TYPE="INVALID">\makeheadline</SEQ>\r
+    <SEQ TYPE="INVALID">\makefootline</SEQ>\r
+    <SEQ TYPE="INVALID">\dosupereject</SEQ>\r
+    <SEQ TYPE="INVALID">\footstrut</SEQ>\r
+    <SEQ TYPE="INVALID">\vfootnote</SEQ>\r
+    <SEQ TYPE="INVALID">\topins</SEQ>\r
+    <SEQ TYPE="INVALID">\topinsert</SEQ>\r
+    <SEQ TYPE="INVALID">\midinsert</SEQ>\r
+    <SEQ TYPE="INVALID">\pageinsert</SEQ>\r
+    <SEQ TYPE="INVALID">\endinsert</SEQ>\r
+    <SEQ TYPE="INVALID">\fivei</SEQ>\r
+    <SEQ TYPE="INVALID">\fiverm</SEQ>\r
+    <SEQ TYPE="INVALID">\fivesy</SEQ>\r
+    <SEQ TYPE="INVALID">\fivebf</SEQ>\r
+    <SEQ TYPE="INVALID">\seveni</SEQ>\r
+    <SEQ TYPE="INVALID">\sevenbf</SEQ>\r
+    <SEQ TYPE="INVALID">\sevensy</SEQ>\r
+    <SEQ TYPE="INVALID">\teni</SEQ>\r
+    <SEQ TYPE="INVALID">\oldstyle</SEQ>\r
+    <SEQ TYPE="INVALID">\eqalign</SEQ>\r
+    <SEQ TYPE="INVALID">\eqalignno</SEQ>\r
+    <SEQ TYPE="INVALID">\leqalignno</SEQ>\r
+    <SEQ TYPE="INVALID">$$</SEQ>\r
+    <SEQ TYPE="INVALID">\beginsection</SEQ>\r
+    <SEQ TYPE="INVALID">\bye</SEQ>\r
+    <SEQ TYPE="INVALID">\magnification</SEQ>\r
+    <SEQ TYPE="INVALID">#</SEQ>\r
+    <SEQ TYPE="INVALID">&amp;</SEQ>\r
+    <SEQ TYPE="INVALID">_</SEQ>\r
+    <SEQ TYPE="INVALID">\~</SEQ>\r
+\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>$</BEGIN><END>$</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\(</BEGIN><END>\)</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\[</BEGIN><END>\]</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{math}</BEGIN><END>\end{math}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{displaymath}</BEGIN><END>\end{displaymath}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{equation}</BEGIN><END>\end{equation}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\ensuremath{</BEGIN><END>}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{eqnarray}</BEGIN><END>\end{eqnarray}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{eqnarray*}</BEGIN><END>\end{eqnarray*}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="TabularMode"><BEGIN>\begin{tabular}</BEGIN><END>\end{tabular}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="TabularMode"><BEGIN>\begin{tabular*}</BEGIN><END>\end{tabular*}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="TabbingMode"><BEGIN>\begin{tabbing}</BEGIN><END>\end{tabbing}</END></SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="PictureMode"><BEGIN>\begin{picture}</BEGIN><END>\end{picture}</END></SPAN>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="KEYWORD1">}</SEQ>\r
+    <SEQ TYPE="KEYWORD1">{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD1">]</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\~</SEQ>\r
+    <SEQ TYPE="OPERATOR">\}</SEQ>\r
+    <SEQ TYPE="OPERATOR">\|</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\`</SEQ>\r
+    <SEQ TYPE="OPERATOR">\_</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\^</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\@</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
+    <SEQ TYPE="OPERATOR">\=</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\.</SEQ>\r
+    <SEQ TYPE="OPERATOR">\-</SEQ>\r
+    <SEQ TYPE="OPERATOR">\,</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\'</SEQ>\r
+    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\%</SEQ>\r
+    <SEQ TYPE="OPERATOR">\$</SEQ>\r
+    <SEQ TYPE="OPERATOR">\#</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\"</SEQ>\r
+    <SEQ TYPE="OPERATOR">\ </SEQ>\r
+    <SEQ TYPE="KEYWORD1">[</SEQ>\r
+    <SEQ TYPE="OPERATOR">---</SEQ>\r
+    <SEQ TYPE="OPERATOR">--</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  NormalMode  -->\r
+\r
+  <RULES IGNORE_CASE="FALSE" SET="MathMode">\r
+    <SEQ TYPE="LABEL">__MathMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+    <SEQ TYPE="KEYWORD1">}</SEQ>\r
+    <SEQ TYPE="KEYWORD1">{</SEQ>\r
+    <SEQ TYPE="OPERATOR">_</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\zeta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\xi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wp</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\widetilde{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\widehat{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\veebar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vee</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vec{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vdots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartheta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsupsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsupsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsubsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsubsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varrho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varpropto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varpi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varphi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varnothing</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varkappa</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varepsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\urcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upuparrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\uplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upharpoonright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upharpoonleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ulcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twoheadrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twoheadleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\trianglerighteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\trianglelefteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\top</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\times</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\tilde{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicksim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thickapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\theta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\therefore</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\text{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\textstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tau</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tanh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tan</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\swarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\surd</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sum</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succcurlyeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succ</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\star</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stackrel{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\square</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsupseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsupset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsubseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsubset</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\sqrt{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqcap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sphericalangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\spadesuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smile</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallsmile</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallsetminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallfrown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sinh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\simeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\shortparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\shortmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sharp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\setminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\searrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptscriptstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rtimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\risingdotseq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightthreetimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightsquigarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightharpoonup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightharpoondown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightarrowtail</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right]</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\lfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\lceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\langle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\right[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right/</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\psi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\propto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prime</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\preceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\preccurlyeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prec</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pmod{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pmb{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pm</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pitchfork</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\phi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\perp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\partial</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\parallel</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\overline{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\otimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ominus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\omega</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oint</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\odot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nwarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nu</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntrianglerighteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntrianglelefteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsupseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsupseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsucceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsucc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsubseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nshortparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nshortmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\npreceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nprec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\notin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ni</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nexists</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\neq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\neg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nearrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ncong</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\natural</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nabla</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nVDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nRightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nLeftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nLeftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\multimap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mu</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\models</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\min</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\measuredangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\max</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathtt{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathsf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mathrm{~~ </SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathit{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathcal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathbf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mapsto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lvertneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ltimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lrcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lozenge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\looparrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\looparrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longmapsto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\log</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ln</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lll</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\llcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ll</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\limsup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\liminf</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesssim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesseqqgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesseqgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftthreetimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightsquigarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftleftarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftharpoonup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftharpoondown</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\lefteqn{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftarrowtail</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left]</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\lfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\lceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\langle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\left[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left/</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ldots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lambda</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ker</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\kappa</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\iota</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\intercal</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\int</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\infty</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\inf</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\in</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hookrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hookleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hom</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\heartsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hbar</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hat{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gvertneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtreqqless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtreqless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\grave{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gimel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ggg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gcd</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\frown</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\frak{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\frac{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\forall</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\flat</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fallingdotseq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\exp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\exists</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\equiv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqslantless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqslantgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\epsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\emptyset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ell</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downharpoonright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downharpoonleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downdownarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doublebarwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\dot{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dotplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doteqdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\divideontimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\div</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\displaystyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\digamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diamondsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diamond</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diagup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diagdown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\det</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\delta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\deg</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ddot{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddagger</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\daleth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dagger</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curvearrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curvearrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlywedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyvee</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyeqsucc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyeqprec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\csc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\coth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cosh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cos</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\coprod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cong</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\complement</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\clubsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circleddash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledast</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledS</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circlearrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circlearrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circ</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\chi</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\check{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\centerdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cdots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bumpeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bullet</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\breve{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxtimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bowtie</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bot</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boldsymbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bmod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacksquare</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacklozenge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigvee</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\biguplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigtriangleup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigtriangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigstar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigsqcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigotimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigoplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigodot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\between</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\beth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\beta</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\because</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bar{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\barwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backsimeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backprime</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\asymp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ast</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arctan</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arcsin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arccos</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\approxeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\approx</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\amalg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\alpha</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\aleph</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\acute{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Xi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Vvdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Vdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Upsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Theta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Supset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Subset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Sigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Rsh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Rightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Re</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Psi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Pr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Pi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Phi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Omega</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lsh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Leftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Leftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lambda</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Im</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Gamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Game</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Finv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Delta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Cup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Cap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Bumpeq</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Bbb{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Bbbk</SEQ>\r
+    <SEQ TYPE="OPERATOR">\;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\:</SEQ>\r
+    <SEQ TYPE="OPERATOR">\,</SEQ>\r
+    <SEQ TYPE="OPERATOR">\!</SEQ>\r
+    <SEQ TYPE="OPERATOR">'</SEQ>\r
+\r
+    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{array}</BEGIN><END>\end{array}</END></SPAN>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  MathMode  -->\r
+\r
+  <RULES IGNORE_CASE="FALSE" SET="ArrayMode">\r
+    <SEQ TYPE="LABEL">__ArrayMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+    <SEQ TYPE="KEYWORD1">}</SEQ>\r
+    <SEQ TYPE="KEYWORD1">{</SEQ>\r
+    <SEQ TYPE="OPERATOR">_</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\zeta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\xi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wp</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\widetilde{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\widehat{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\wedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vline</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\veebar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vee</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vec{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vdots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartriangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vartheta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsupsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsupsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsubsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsubsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varsigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varrho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varpropto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varpi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varphi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varnothing</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varkappa</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\varepsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\urcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upuparrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\uplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upharpoonright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upharpoonleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ulcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twoheadrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twoheadleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\trianglerighteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\trianglelefteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\triangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\top</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\times</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\tilde{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicksim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thickapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\theta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\therefore</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\text{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\textstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tau</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tanh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tan</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\swarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\surd</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\supset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sum</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succcurlyeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\succ</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subsetneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subsetneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\subset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\star</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stackrel{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\square</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsupseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsupset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsubseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqsubset</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\sqrt{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sqcap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sphericalangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\spadesuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smile</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallsmile</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallsetminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallfrown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sinh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\simeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\shortparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\shortmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sharp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\setminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\searrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptscriptstyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rtimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\risingdotseq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightthreetimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightsquigarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightleftarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightharpoonup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightharpoondown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightarrowtail</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right]</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\rangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\lfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\lceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\langle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right\(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\right[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right/</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\right(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\psi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\propto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prime</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\preceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\preccurlyeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\precapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\prec</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pmod{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pmb{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pm</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pitchfork</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\phi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\perp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\partial</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\parallel</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\overline{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\otimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ominus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\omega</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oint</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\odot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nwarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nu</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntrianglerighteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntrianglelefteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ntriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsupseteqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsupseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsucceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsucc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsubseteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nshortparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nshortmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\npreceq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nprec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nparallel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\notin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nmid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ni</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ngeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nexists</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\neq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\neg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nearrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ncong</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\natural</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nabla</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nVDash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nRightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nLeftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nLeftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\multimap</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\multicolumn{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mu</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\models</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\min</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mid</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mho</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\measuredangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\max</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathtt{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathsf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mathrm{~~ </SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathit{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathcal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mathbf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mapsto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lvertneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ltimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lrcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lozenge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\looparrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\looparrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longmapsto</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\longleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\log</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ln</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lll</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\llcorner</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ll</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\limsup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\liminf</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesssim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesseqqgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lesseqgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lessapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftthreetimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightsquigarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightharpoons</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftleftarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftharpoonup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftharpoondown</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\lefteqn{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftarrowtail</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\leftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left]</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\|</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\rangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\lfloor</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\lceil</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\langle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left\(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\left[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left/</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left)</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\left(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ldots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\lambda</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ker</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\kappa</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\iota</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\intercal</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\int</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\infty</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\inf</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\in</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hookrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hookleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hom</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hline</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\heartsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hbar</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hat{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gvertneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtreqqless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtreqless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gtrapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\grave{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gneqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gneq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gimel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ggg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geqslant</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geqq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\geq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gcd</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\gamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\frown</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\frak{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\frac{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\forall</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\flat</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fallingdotseq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\exp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\exists</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\equiv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqslantless</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqslantgtr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\eqcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\epsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\emptyset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ell</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downharpoonright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downharpoonleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downdownarrows</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doublebarwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\dot{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dotplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doteqdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\doteq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\divideontimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\div</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\displaystyle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\digamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diamondsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diamond</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diagup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\diagdown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\det</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\delta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\deg</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ddot{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddagger</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dashleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\daleth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dagger</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curvearrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curvearrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlywedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyvee</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyeqsucc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\curlyeqprec</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\csc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\coth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cosh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cos</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\coprod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cong</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\complement</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\clubsuit</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cline{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circleddash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledast</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circledS</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circlearrowright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circlearrowleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\circ</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\chi</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\check{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\centerdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cdots</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bumpeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bullet</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\breve{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxtimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxminus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\boxdot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bowtie</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bot</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boldsymbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bmod</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangleright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangleleft</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacktriangle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacksquare</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\blacklozenge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigvee</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\biguplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigtriangleup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigtriangledown</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigstar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigsqcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigotimes</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigoplus</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigodot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcirc</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigcap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\between</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\beth</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\beta</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\because</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bar{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\barwedge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backslash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backsimeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backsim</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\backprime</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\asymp</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ast</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arctan</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arcsin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\arccos</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\approxeq</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\approx</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\amalg</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\alpha</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\aleph</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\acute{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Xi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Vvdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Vdash</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Upsilon</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Updownarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Uparrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Theta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Supset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Subset</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Sigma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Rsh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Rightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Re</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Psi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Pr</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Pi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Phi</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Omega</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lsh</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longleftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Longleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lleftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Leftrightarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Leftarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Lambda</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Im</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Gamma</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Game</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Finv</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Downarrow</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Delta</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Cup</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Cap</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Bumpeq</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Bbb{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Bbbk</SEQ>\r
+    <SEQ TYPE="OPERATOR">\;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\:</SEQ>\r
+    <SEQ TYPE="OPERATOR">\,</SEQ>\r
+    <SEQ TYPE="OPERATOR">\!</SEQ>\r
+    <SEQ TYPE="OPERATOR">'</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  ArrayMode  -->\r
+\r
+  <RULES IGNORE_CASE="FALSE" SET="TabularMode">\r
+    <SEQ TYPE="LABEL">__TabularMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+    <!--  "", `', and ``'' quoting.  -->\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <!--  Lone quote characters " and ` are not valid.  -->\r
+    <SEQ TYPE="INVALID">"</SEQ>\r
+    <SEQ TYPE="INVALID">`</SEQ>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="KEYWORD1">}</SEQ>\r
+    <SEQ TYPE="KEYWORD1">{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD1">]</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\~</SEQ>\r
+    <SEQ TYPE="OPERATOR">\}</SEQ>\r
+    <SEQ TYPE="OPERATOR">\|</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vline</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\multicolumn{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hline</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cline{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\`</SEQ>\r
+    <SEQ TYPE="OPERATOR">\_</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\^</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\@</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
+    <SEQ TYPE="OPERATOR">\=</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\.</SEQ>\r
+    <SEQ TYPE="OPERATOR">\-</SEQ>\r
+    <SEQ TYPE="OPERATOR">\,</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\'</SEQ>\r
+    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\%</SEQ>\r
+    <SEQ TYPE="OPERATOR">\$</SEQ>\r
+    <SEQ TYPE="OPERATOR">\#</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\"</SEQ>\r
+    <SEQ TYPE="OPERATOR">\ </SEQ>\r
+    <SEQ TYPE="KEYWORD1">[</SEQ>\r
+    <SEQ TYPE="OPERATOR">---</SEQ>\r
+    <SEQ TYPE="OPERATOR">--</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  TabularMode  -->\r
+\r
+  <RULES IGNORE_CASE="FALSE" SET="TabbingMode">\r
+    <SEQ TYPE="LABEL">__TabbingMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+    <!--  "", `', and ``'' quoting.  -->\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
+    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+    <!--  Lone quote characters " and ` are not valid.  -->\r
+    <SEQ TYPE="INVALID">"</SEQ>\r
+    <SEQ TYPE="INVALID">`</SEQ>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="KEYWORD1">}</SEQ>\r
+    <SEQ TYPE="KEYWORD1">{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD1">]</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\~</SEQ>\r
+    <SEQ TYPE="OPERATOR">\}</SEQ>\r
+    <SEQ TYPE="OPERATOR">\|</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pushtabs</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\poptabs</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\kill</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
+    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\a`</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\a=</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\a'</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\`</SEQ>\r
+    <SEQ TYPE="OPERATOR">\`</SEQ>\r
+    <SEQ TYPE="OPERATOR">\_</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\^</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\</SEQ>\r
+    <SEQ TYPE="OPERATOR">\\</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\@</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
+    <SEQ TYPE="OPERATOR">\=</SEQ>\r
+    <SEQ TYPE="OPERATOR">\=</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\.</SEQ>\r
+    <SEQ TYPE="OPERATOR">\-</SEQ>\r
+    <SEQ TYPE="OPERATOR">\-</SEQ>\r
+    <SEQ TYPE="OPERATOR">\,</SEQ>\r
+    <SEQ TYPE="OPERATOR">\+</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\'</SEQ>\r
+    <SEQ TYPE="OPERATOR">\'</SEQ>\r
+    <SEQ TYPE="OPERATOR">\&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">\%</SEQ>\r
+    <SEQ TYPE="OPERATOR">\$</SEQ>\r
+    <SEQ TYPE="OPERATOR">\#</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
+    <SEQ TYPE="OPERATOR">\"</SEQ>\r
+    <SEQ TYPE="OPERATOR">\ </SEQ>\r
+    <SEQ TYPE="KEYWORD1">[</SEQ>\r
+    <SEQ TYPE="OPERATOR">---</SEQ>\r
+    <SEQ TYPE="OPERATOR">--</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  TabbingMode  -->\r
+\r
+  <RULES IGNORE_CASE="FALSE" SET="PictureMode">\r
+    <SEQ TYPE="LABEL">__PictureMode__</SEQ>\r
+\r
+    <!--  % comments.  -->\r
+    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+    <SEQ TYPE="KEYWORD2">\vector(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\shortstack{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\shortstack[</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\qbezier[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\qbezier(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\put(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\oval[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\oval(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\multiput(</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\makebox(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\line(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\graphpaper[</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\graphpaper(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\frame{</SEQ>\r
+    <SEQ TYPE="KEYWORD2">\framebox(</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\dashbox{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\circle{</SEQ>\r
+    <SEQ TYPE="KEYWORD1">\circle*{</SEQ>\r
+\r
+    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
+\r
+  </RULES>  <!--  PictureMode  -->\r
+\r
+  <RULES SET="VERBATIM" DEFAULT="NULL" />\r
+\r
+</MODE>\r
+\r
+<!-- normal mode  351 -->\r
+<!-- math mode    301 -->\r
+<!-- amsmath      216 -->\r
+<!-- array mode   5 -->\r
+<!-- tabbing mode 14 -->\r
+<!-- picture mode 22 -->\r
+<!-- counters     0 -->\r
+<!-- environments 30 -->\r
+<!-- invalid      47 -->\r
diff --git a/basis/xmode/modes/lilypond.xml b/basis/xmode/modes/lilypond.xml
new file mode 100644 (file)
index 0000000..ca72fae
--- /dev/null
@@ -0,0 +1,819 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- LilyPond (www.lilypond.org) mode by Bertalan Fodor <lilypondtool@organum.hu> & others at http://lily4jedit.sf.net\r
+       Requires jEdit 4.3pre6 or compatible\r
+Recommended jEdit/modes/catalog entry:\r
+       <MODE NAME="lilypond" FILE="lilypond.xml"\r
+       FILE_NAME_GLOB="*.ly" />\r
+\r
+-->\r
+\r
+<MODE>\r
+<PROPS>\r
+       <PROPERTY NAME="commentStart" VALUE="%{" />\r
+       <PROPERTY NAME="commentEnd" VALUE="%}" />\r
+       <PROPERTY NAME="lineComment" VALUE="%" />\r
+       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+       <PROPERTY NAME="wordBreakChars" VALUE="=" />\r
+</PROPS>\r
+\r
+<RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE">\r
+\r
+       <SPAN TYPE="COMMENT2" NO_LINE_BREAK="FALSE">\r
+               <BEGIN>%{</BEGIN><END>%}</END>\r
+       </SPAN>\r
+       <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+       <SEQ TYPE="DIGIT">\breve</SEQ>\r
+       <SEQ TYPE="DIGIT">\longa</SEQ>\r
+       <SEQ TYPE="DIGIT">\maxima</SEQ>\r
+       <MARK_PREVIOUS TYPE="FUNCTION" AT_WHITESPACE_END="TRUE">=</MARK_PREVIOUS>\r
+       <MARK_PREVIOUS TYPE="FUNCTION" AT_WHITESPACE_END="TRUE"> =</MARK_PREVIOUS>\r
+       <SEQ TYPE="MARKUP">{</SEQ>\r
+       <SEQ TYPE="MARKUP">}</SEQ>\r
+       <SEQ TYPE="MARKUP">[</SEQ>\r
+       <SEQ TYPE="MARKUP">]</SEQ>\r
+       <SEQ TYPE="MARKUP">&lt;&lt;</SEQ>\r
+       <SEQ TYPE="MARKUP">&gt;&gt;</SEQ>\r
+       <SEQ TYPE="NULL">-&lt;</SEQ>\r
+       <SEQ TYPE="NULL">-&gt;</SEQ>\r
+       <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+       <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+       <SEQ TYPE="OPERATOR">|</SEQ>\r
+       <SEQ_REGEXP HASH_CHAR="&quot;"  TYPE = "LITERAL1">"(\\"|[^\\"]|\\)+"</SEQ_REGEXP>\r
+       <SPAN TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
+\r
+<!-- Less can be more: Notes are simple black.\r
+       Now digits are highlighted.\r
+       Octave jumps now are as highlighted as markup. -->\r
+\r
+       <!--octave-->\r
+       <SEQ TYPE="MARKUP">'</SEQ>\r
+       <SEQ TYPE="MARKUP">,</SEQ>\r
+\r
+       <!-- rests and skip -->\r
+\r
+       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHARS="rRs">[rRs]\d*\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHAR="R">R\d*\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHAR="s">s\d*\b</SEQ_REGEXP>\r
+\r
+       <SEQ_REGEXP TYPE="DIGIT" AT_WORD_START="FALSE" HASH_CHARS="1234567890">\d+\b</SEQ_REGEXP>\r
+\r
+       <MARK_FOLLOWING TYPE="LITERAL3" MATCH_TYPE="OPERATOR">.</MARK_FOLLOWING>\r
+\r
+<!-- Generated part follows -->\r
+<!-- internal commands -->\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\override">\\override\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\version">\\version\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\include">\\include\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\invalid">\\invalid\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\addquote">\\addquote\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\alternative">\\alternative\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\book">\\book\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\~">\\~\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\mark">\\mark\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\default">\\default\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\key">\\key\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\skip">\\skip\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\octave">\\octave\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\partial">\\partial\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\time">\\time\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\change">\\change\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\consists">\\consists\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\remove">\\remove\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\accepts">\\accepts\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\defaultchild">\\defaultchild\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\denies">\\denies\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\alias">\\alias\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\type">\\type\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\description">\\description\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\name">\\name\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\context">\\context\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\grobdescriptions">\\grobdescriptions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\markup">\\markup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\header">\\header\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\notemode">\\notemode\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\drummode">\\drummode\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\figuremode">\\figuremode\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\chordmode">\\chordmode\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyricmode">\\lyricmode\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\drums">\\drums\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\figures">\\figures\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\chords">\\chords\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyrics">\\lyrics\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\once">\\once\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\revert">\\revert\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\set">\\set\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\unset">\\unset\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\addlyrics">\\addlyrics\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\objectid">\\objectid\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\with">\\with\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\rest">\\rest\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\paper">\\paper\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\midi">\\midi\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\layout">\\layout\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\new">\\new\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\times">\\times\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\transpose">\\transpose\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\tag">\\tag\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\relative">\\relative\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\renameinput">\\renameinput\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\repeat">\\repeat\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyricsto">\\lyricsto\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\score">\\score\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\sequential">\\sequential\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\simultaneous">\\simultaneous\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\longa">\\longa\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\breve">\\breve\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\maxima">\\maxima\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\tempo">\\tempo\b</SEQ_REGEXP>\r
+<!-- identifiers -->\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\AncientRemoveEmptyStaffContext">\\AncientRemoveEmptyStaffContext\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\RemoveEmptyRhythmicStaffContext">\\RemoveEmptyRhythmicStaffContext\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\RemoveEmptyStaffContext">\\RemoveEmptyStaffContext\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\accent">\\accent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\aeolian">\\aeolian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\afterGraceFraction">\\afterGraceFraction\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\aikenHeads">\\aikenHeads\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\allowPageTurn">\\allowPageTurn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggio">\\arpeggio\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioBracket">\\arpeggioBracket\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioDown">\\arpeggioDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioNeutral">\\arpeggioNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioUp">\\arpeggioUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autoBeamOff">\\autoBeamOff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autoBeamOn">\\autoBeamOn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\between-system-padding">\\between-system-padding\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\between-system-space">\\between-system-space\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bigger">\\bigger\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\blackTriangleMarkup">\\blackTriangleMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bookTitleMarkup">\\bookTitleMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bracketCloseSymbol">\\bracketCloseSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bracketOpenSymbol">\\bracketOpenSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\break">\\break\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\breve">\\breve\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cadenzaOff">\\cadenzaOff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cadenzaOn">\\cadenzaOn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\center">\\center\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\chordmodifiers">\\chordmodifiers\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cm">\\cm\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\coda">\\coda\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cr">\\cr\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cresc">\\cresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\decr">\\decr\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dim">\\dim\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dorian">\\dorian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsDown">\\dotsDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsNeutral">\\dotsNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsUp">\\dotsUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\down">\\down\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downbow">\\downbow\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downmordent">\\downmordent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downprall">\\downprall\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\drumPitchNames">\\drumPitchNames\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dutchPitchnames">\\dutchPitchnames\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicDown">\\dynamicDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicNeutral">\\dynamicNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicUp">\\dynamicUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\emptyText">\\emptyText\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endcr">\\endcr\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endcresc">\\endcresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\enddecr">\\enddecr\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\enddim">\\enddim\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endincipit">\\endincipit\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedBiggerSymbol">\\escapedBiggerSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedExclamationSymbol">\\escapedExclamationSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedParenthesisCloseSymbol">\\escapedParenthesisCloseSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedParenthesisOpenSymbol">\\escapedParenthesisOpenSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedSmallerSymbol">\\escapedSmallerSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\espressivo">\\espressivo\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\evenHeaderMarkup">\\evenHeaderMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\f">\\f\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fatText">\\fatText\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fermata">\\fermata\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fermataMarkup">\\fermataMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ff">\\ff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fff">\\fff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ffff">\\ffff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\first-page-number">\\first-page-number\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\flageolet">\\flageolet\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fp">\\fp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\frenchChords">\\frenchChords\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fullJazzExceptions">\\fullJazzExceptions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fz">\\fz\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\germanChords">\\germanChords\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\glissando">\\glissando\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\harmonic">\\harmonic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\hideNotes">\\hideNotes\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\hideStaffSwitch">\\hideStaffSwitch\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ignatzekExceptionMusic">\\ignatzekExceptionMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ignatzekExceptions">\\ignatzekExceptions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\improvisationOff">\\improvisationOff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\improvisationOn">\\improvisationOn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\in">\\in\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\input-encoding">\\input-encoding\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\instrument-definitions">\\instrument-definitions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ionian">\\ionian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\italianChords">\\italianChords\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\laissezVibrer">\\laissezVibrer\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\left">\\left\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lheel">\\lheel\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lineprall">\\lineprall\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\locrian">\\locrian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\longa">\\longa\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\longfermata">\\longfermata\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ltoe">\\ltoe\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lydian">\\lydian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\major">\\major\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\marcato">\\marcato\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\maxima">\\maxima\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\melisma">\\melisma\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\melismaEnd">\\melismaEnd\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mf">\\mf\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\midiDrumPitches">\\midiDrumPitches\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\minor">\\minor\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mixolydian">\\mixolydian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mm">\\mm\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mordent">\\mordent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mp">\\mp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\newSpacingSection">\\newSpacingSection\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noBeam">\\noBeam\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noBreak">\\noBreak\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noPageBreak">\\noPageBreak\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noPageTurn">\\noPageTurn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\normalsize">\\normalsize\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oddFooterMarkup">\\oddFooterMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oddHeaderMarkup">\\oddHeaderMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oneVoice">\\oneVoice\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\open">\\open\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\output-scale">\\output-scale\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\p">\\p\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\page-top-space">\\page-top-space\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pageBreak">\\pageBreak\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pageTurn">\\pageTurn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesisCloseSymbol">\\parenthesisCloseSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesisOpenSymbol">\\parenthesisOpenSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partialJazzExceptions">\\partialJazzExceptions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partialJazzMusic">\\partialJazzMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurDown">\\phrasingSlurDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurNeutral">\\phrasingSlurNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurUp">\\phrasingSlurUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrygian">\\phrygian\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pipeSymbol">\\pipeSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pitchnames">\\pitchnames\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\portato">\\portato\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pp">\\pp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ppp">\\ppp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pppp">\\pppp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ppppp">\\ppppp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prall">\\prall\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pralldown">\\pralldown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallmordent">\\prallmordent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallprall">\\prallprall\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallup">\\prallup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\print-first-page-number">\\print-first-page-number\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\print-page-number">\\print-page-number\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pt">\\pt\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ragged-bottom">\\ragged-bottom\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ragged-last-bottom">\\ragged-last-bottom\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\repeatTie">\\repeatTie\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\reverseturn">\\reverseturn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rfz">\\rfz\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rheel">\\rheel\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\right">\\right\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rtoe">\\rtoe\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sacredHarpHeads">\\sacredHarpHeads\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\scoreTitleMarkup">\\scoreTitleMarkup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\segno">\\segno\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\semiGermanChords">\\semiGermanChords\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setDefaultDurationToQuarter">\\setDefaultDurationToQuarter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setEasyHeads">\\setEasyHeads\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinCresc">\\setHairpinCresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinDecresc">\\setHairpinDecresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinDim">\\setHairpinDim\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextCresc">\\setTextCresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextDecresc">\\setTextDecresc\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextDim">\\setTextDim\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sf">\\sf\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sff">\\sff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sfp">\\sfp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sfz">\\sfz\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOff">\\shiftOff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOn">\\shiftOn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOnn">\\shiftOnn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOnnn">\\shiftOnnn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shortfermata">\\shortfermata\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\showStaffSwitch">\\showStaffSwitch\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\signumcongruentiae">\\signumcongruentiae\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slashSeparator">\\slashSeparator\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDashed">\\slurDashed\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDotted">\\slurDotted\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDown">\\slurDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurNeutral">\\slurNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurSolid">\\slurSolid\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurUp">\\slurUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\small">\\small\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\smaller">\\smaller\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sostenutoDown">\\sostenutoDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sostenutoUp">\\sostenutoUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sp">\\sp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\spp">\\spp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\staccatissimo">\\staccatissimo\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\staccato">\\staccato\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\start">\\start\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startAcciaccaturaMusic">\\startAcciaccaturaMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startAppoggiaturaMusic">\\startAppoggiaturaMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startGraceMusic">\\startGraceMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startGroup">\\startGroup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startStaff">\\startStaff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startTextSpan">\\startTextSpan\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startTrillSpan">\\startTrillSpan\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemDown">\\stemDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemNeutral">\\stemNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemUp">\\stemUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stop">\\stop\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopAcciaccaturaMusic">\\stopAcciaccaturaMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopAppoggiaturaMusic">\\stopAppoggiaturaMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopGraceMusic">\\stopGraceMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopGroup">\\stopGroup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopStaff">\\stopStaff\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopTextSpan">\\stopTextSpan\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopTrillSpan">\\stopTrillSpan\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopped">\\stopped\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sustainDown">\\sustainDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sustainUp">\\sustainUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tagline">\\tagline\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tenuto">\\tenuto\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerDown">\\textSpannerDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerNeutral">\\textSpannerNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerUp">\\textSpannerUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\thumb">\\thumb\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDashed">\\tieDashed\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDotted">\\tieDotted\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDown">\\tieDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieNeutral">\\tieNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieSolid">\\tieSolid\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieUp">\\tieUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tildeSymbol">\\tildeSymbol\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tiny">\\tiny\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\treCorde">\\treCorde\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\trill">\\trill\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletDown">\\tupletDown\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletNeutral">\\tupletNeutral\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletUp">\\tupletUp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\turn">\\turn\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unHideNotes">\\unHideNotes\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unaCorda">\\unaCorda\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unit">\\unit\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\up">\\up\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upbow">\\upbow\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upmordent">\\upmordent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upprall">\\upprall\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\varcoda">\\varcoda\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\verylongfermata">\\verylongfermata\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceFour">\\voiceFour\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceOne">\\voiceOne\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceThree">\\voiceThree\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceTwo">\\voiceTwo\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\whiteTriangleMarkup">\\whiteTriangleMarkup\b</SEQ_REGEXP>\r
+<!-- music functions -->\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\acciaccatura">\\acciaccatura\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\addInstrumentDefinition">\\addInstrumentDefinition\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\addquote">\\addquote\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\afterGrace">\\afterGrace\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyContext">\\applyContext\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyMusic">\\applyMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyOutput">\\applyOutput\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\appoggiatura">\\appoggiatura\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\assertBeamQuant">\\assertBeamQuant\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\assertBeamSlope">\\assertBeamSlope\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autochange">\\autochange\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\balloonGrobText">\\balloonGrobText\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\balloonText">\\balloonText\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bar">\\bar\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\barNumberCheck">\\barNumberCheck\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bendAfter">\\bendAfter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\breathe">\\breathe\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\clef">\\clef\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\compressMusic">\\compressMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cueDuring">\\cueDuring\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\displayLilyMusic">\\displayLilyMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\displayMusic">\\displayMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\featherDurations">\\featherDurations\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\grace">\\grace\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\includePageLayoutFile">\\includePageLayoutFile\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\instrumentSwitch">\\instrumentSwitch\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\keepWithTag">\\keepWithTag\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\killCues">\\killCues\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\makeClusters">\\makeClusters\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\musicMap">\\musicMap\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\octave">\\octave\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oldaddlyrics">\\oldaddlyrics\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\overrideProperty">\\overrideProperty\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parallelMusic">\\parallelMusic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesize">\\parenthesize\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partcombine">\\partcombine\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pitchedTrill">\\pitchedTrill\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\quoteDuring">\\quoteDuring\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\removeWithTag">\\removeWithTag\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\resetRelativeOctave">\\resetRelativeOctave\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rightHandFinger">\\rightHandFinger\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\scoreTweak">\\scoreTweak\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftDurations">\\shiftDurations\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\spacingTweaks">\\spacingTweaks\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tag">\\tag\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\transposedCueDuring">\\transposedCueDuring\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\transposition">\\transposition\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tweak">\\tweak\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unfoldRepeats">\\unfoldRepeats\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\withMusicProperty">\\withMusicProperty\b</SEQ_REGEXP>\r
+<!-- markup commands -->\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\arrow-head">\\arrow-head\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\beam">\\beam\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bigger">\\bigger\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bold">\\bold\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\box">\\box\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bracket">\\bracket\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bracketed-y-column">\\bracketed-y-column\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\caps">\\caps\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\center-align">\\center-align\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\char">\\char\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\circle">\\circle\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\column">\\column\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\combine">\\combine\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\dir-column">\\dir-column\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\doubleflat">\\doubleflat\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\doublesharp">\\doublesharp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\draw-circle">\\draw-circle\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\dynamic">\\dynamic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\epsfile">\\epsfile\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fill-line">\\fill-line\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\filled-box">\\filled-box\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\finger">\\finger\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\flat">\\flat\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fontCaps">\\fontCaps\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fontsize">\\fontsize\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fraction">\\fraction\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram">\\fret-diagram\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram-terse">\\fret-diagram-terse\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram-verbose">\\fret-diagram-verbose\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fromproperty">\\fromproperty\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\general-align">\\general-align\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\halign">\\halign\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hbracket">\\hbracket\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hcenter">\\hcenter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hcenter-in">\\hcenter-in\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hspace">\\hspace\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\huge">\\huge\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\italic">\\italic\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify">\\justify\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify-field">\\justify-field\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify-string">\\justify-string\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\large">\\large\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\left-align">\\left-align\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\line">\\line\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\lookup">\\lookup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\lower">\\lower\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\magnify">\\magnify\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\markalphabet">\\markalphabet\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\markletter">\\markletter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\medium">\\medium\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\musicglyph">\\musicglyph\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\natural">\\natural\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-size-sub">\\normal-size-sub\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-size-super">\\normal-size-super\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-text">\\normal-text\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normalsize">\\normalsize\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\note">\\note\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\note-by-number">\\note-by-number\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\null">\\null\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\number">\\number\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\on-the-fly">\\on-the-fly\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\override">\\override\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-around">\\pad-around\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-markup">\\pad-markup\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-to-box">\\pad-to-box\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-x">\\pad-x\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\postscript">\\postscript\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\put-adjacent">\\put-adjacent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\raise">\\raise\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\right-align">\\right-align\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\roman">\\roman\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\rotate">\\rotate\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sans">\\sans\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\score">\\score\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\semiflat">\\semiflat\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\semisharp">\\semisharp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sesquiflat">\\sesquiflat\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sesquisharp">\\sesquisharp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sharp">\\sharp\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\simple">\\simple\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\slashed-digit">\\slashed-digit\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\small">\\small\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\smallCaps">\\smallCaps\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\smaller">\\smaller\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\stencil">\\stencil\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\strut">\\strut\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sub">\\sub\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\super">\\super\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\teeny">\\teeny\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\text">\\text\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\tied-lyric">\\tied-lyric\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\tiny">\\tiny\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\translate">\\translate\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\translate-scaled">\\translate-scaled\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\transparent">\\transparent\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\triangle">\\triangle\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\typewriter">\\typewriter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\upright">\\upright\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\vcenter">\\vcenter\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\verbatim-file">\\verbatim-file\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\whiteout">\\whiteout\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-color">\\with-color\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-dimensions">\\with-dimensions\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-url">\\with-url\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap">\\wordwrap\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap-field">\\wordwrap-field\b</SEQ_REGEXP>\r
+       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap-string">\\wordwrap-string\b</SEQ_REGEXP>\r
+<MARK_FOLLOWING TYPE="FUNCTION">\</MARK_FOLLOWING>\r
+<KEYWORDS>\r
+       <KEYWORD2>staff-spacing-interface</KEYWORD2>\r
+       <KEYWORD2>text-script-interface</KEYWORD2>\r
+       <KEYWORD2>Ottava_spanner_engraver</KEYWORD2>\r
+       <KEYWORD2>Figured_bass_engraver</KEYWORD2>\r
+       <KEYWORD2>Lyrics</KEYWORD2>\r
+       <KEYWORD2>Separating_line_group_engraver</KEYWORD2>\r
+       <KEYWORD2>cluster-interface</KEYWORD2>\r
+       <KEYWORD2>Glissando_engraver</KEYWORD2>\r
+       <KEYWORD2>key-signature-interface</KEYWORD2>\r
+       <KEYWORD2>clef-interface</KEYWORD2>\r
+       <KEYWORD2>VaticanaVoice</KEYWORD2>\r
+       <KEYWORD2>Rest_collision_engraver</KEYWORD2>\r
+       <KEYWORD2>Grace_engraver</KEYWORD2>\r
+       <KEYWORD2>grid-point-interface</KEYWORD2>\r
+       <KEYWORD2>Measure_grouping_engraver</KEYWORD2>\r
+       <KEYWORD2>Laissez_vibrer_engraver</KEYWORD2>\r
+       <KEYWORD2>Script_row_engraver</KEYWORD2>\r
+       <KEYWORD2>bass-figure-alignment-interface</KEYWORD2>\r
+       <KEYWORD2>Note_head_line_engraver</KEYWORD2>\r
+       <KEYWORD2>ottava-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>rhythmic-head-interface</KEYWORD2>\r
+       <KEYWORD2>Accidental_engraver</KEYWORD2>\r
+       <KEYWORD2>Mark_engraver</KEYWORD2>\r
+       <KEYWORD2>hara-kiri-group-interface</KEYWORD2>\r
+       <KEYWORD2>Instrument_name_engraver</KEYWORD2>\r
+       <KEYWORD2>Vaticana_ligature_engraver</KEYWORD2>\r
+       <KEYWORD2>Page_turn_engraver</KEYWORD2>\r
+       <KEYWORD2>staff-symbol-interface</KEYWORD2>\r
+       <KEYWORD2>Beam_performer</KEYWORD2>\r
+       <KEYWORD2>accidental-suggestion-interface</KEYWORD2>\r
+       <KEYWORD2>Key_engraver</KEYWORD2>\r
+       <KEYWORD2>GrandStaff</KEYWORD2>\r
+       <KEYWORD2>multi-measure-interface</KEYWORD2>\r
+       <KEYWORD2>rest-collision-interface</KEYWORD2>\r
+       <KEYWORD2>Dot_column_engraver</KEYWORD2>\r
+       <KEYWORD2>MensuralVoice</KEYWORD2>\r
+       <KEYWORD2>TabStaff</KEYWORD2>\r
+       <KEYWORD2>Pitched_trill_engraver</KEYWORD2>\r
+       <KEYWORD2>line-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>Time_signature_performer</KEYWORD2>\r
+       <KEYWORD2>lyric-interface</KEYWORD2>\r
+       <KEYWORD2>StaffGroup</KEYWORD2>\r
+       <KEYWORD2>text-interface</KEYWORD2>\r
+       <KEYWORD2>slur-interface</KEYWORD2>\r
+       <KEYWORD2>Drum_note_performer</KEYWORD2>\r
+       <KEYWORD2>TabVoice</KEYWORD2>\r
+       <KEYWORD2>measure-grouping-interface</KEYWORD2>\r
+       <KEYWORD2>stanza-number-interface</KEYWORD2>\r
+       <KEYWORD2>self-alignment-interface</KEYWORD2>\r
+       <KEYWORD2>Span_arpeggio_engraver</KEYWORD2>\r
+       <KEYWORD2>system-interface</KEYWORD2>\r
+       <KEYWORD2>Engraver</KEYWORD2>\r
+       <KEYWORD2>RhythmicStaff</KEYWORD2>\r
+       <KEYWORD2>font-interface</KEYWORD2>\r
+       <KEYWORD2>fret-diagram-interface</KEYWORD2>\r
+       <KEYWORD2>Grace_spacing_engraver</KEYWORD2>\r
+       <KEYWORD2>Bar_engraver</KEYWORD2>\r
+       <KEYWORD2>Dynamic_engraver</KEYWORD2>\r
+       <KEYWORD2>Grob_pq_engraver</KEYWORD2>\r
+       <KEYWORD2>Default_bar_line_engraver</KEYWORD2>\r
+       <KEYWORD2>Swallow_performer</KEYWORD2>\r
+       <KEYWORD2>script-column-interface</KEYWORD2>\r
+       <KEYWORD2>Piano_pedal_performer</KEYWORD2>\r
+       <KEYWORD2>metronome-mark-interface</KEYWORD2>\r
+       <KEYWORD2>melody-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>FretBoards</KEYWORD2>\r
+       <KEYWORD2>spacing-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>Control_track_performer</KEYWORD2>\r
+       <KEYWORD2>Break_align_engraver</KEYWORD2>\r
+       <KEYWORD2>paper-column-interface</KEYWORD2>\r
+       <KEYWORD2>PianoStaff</KEYWORD2>\r
+       <KEYWORD2>Breathing_sign_engraver</KEYWORD2>\r
+       <KEYWORD2>accidental-placement-interface</KEYWORD2>\r
+       <KEYWORD2>Tuplet_engraver</KEYWORD2>\r
+       <KEYWORD2>stroke-finger-interface</KEYWORD2>\r
+       <KEYWORD2>side-position-interface</KEYWORD2>\r
+       <KEYWORD2>note-name-interface</KEYWORD2>\r
+       <KEYWORD2>bar-line-interface</KEYWORD2>\r
+       <KEYWORD2>lyric-extender-interface</KEYWORD2>\r
+       <KEYWORD2>Staff</KEYWORD2>\r
+       <KEYWORD2>GregorianTranscriptionStaff</KEYWORD2>\r
+       <KEYWORD2>Rest_swallow_translator</KEYWORD2>\r
+       <KEYWORD2>dynamic-text-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>arpeggio-interface</KEYWORD2>\r
+       <KEYWORD2>Cluster_spanner_engraver</KEYWORD2>\r
+       <KEYWORD2>Collision_engraver</KEYWORD2>\r
+       <KEYWORD2>accidental-interface</KEYWORD2>\r
+       <KEYWORD2>rest-interface</KEYWORD2>\r
+       <KEYWORD2>Tab_note_heads_engraver</KEYWORD2>\r
+       <KEYWORD2>dots-interface</KEYWORD2>\r
+       <KEYWORD2>staff-symbol-referencer-interface</KEYWORD2>\r
+       <KEYWORD2>ambitus-interface</KEYWORD2>\r
+       <KEYWORD2>bass-figure-interface</KEYWORD2>\r
+       <KEYWORD2>vaticana-ligature-interface</KEYWORD2>\r
+       <KEYWORD2>ledgered-interface</KEYWORD2>\r
+       <KEYWORD2>item-interface</KEYWORD2>\r
+       <KEYWORD2>Tie_performer</KEYWORD2>\r
+       <KEYWORD2>volta-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>vertically-spaceable-interface</KEYWORD2>\r
+       <KEYWORD2>ledger-line-interface</KEYWORD2>\r
+       <KEYWORD2>Chord_tremolo_engraver</KEYWORD2>\r
+       <KEYWORD2>note-column-interface</KEYWORD2>\r
+       <KEYWORD2>DrumVoice</KEYWORD2>\r
+       <KEYWORD2>axis-group-interface</KEYWORD2>\r
+       <KEYWORD2>Ledger_line_engraver</KEYWORD2>\r
+       <KEYWORD2>Slash_repeat_engraver</KEYWORD2>\r
+       <KEYWORD2>ligature-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>Pitch_squash_engraver</KEYWORD2>\r
+       <KEYWORD2>Instrument_switch_engraver</KEYWORD2>\r
+       <KEYWORD2>Voice</KEYWORD2>\r
+       <KEYWORD2>Script_column_engraver</KEYWORD2>\r
+       <KEYWORD2>Volta_engraver</KEYWORD2>\r
+       <KEYWORD2>Stanza_number_align_engraver</KEYWORD2>\r
+       <KEYWORD2>Vertical_align_engraver</KEYWORD2>\r
+       <KEYWORD2>span-bar-interface</KEYWORD2>\r
+       <KEYWORD2>Staff_collecting_engraver</KEYWORD2>\r
+       <KEYWORD2>Ligature_bracket_engraver</KEYWORD2>\r
+       <KEYWORD2>Time_signature_engraver</KEYWORD2>\r
+       <KEYWORD2>Beam_engraver</KEYWORD2>\r
+       <KEYWORD2>Note_name_engraver</KEYWORD2>\r
+       <KEYWORD2>Note_heads_engraver</KEYWORD2>\r
+       <KEYWORD2>Forbid_line_break_engraver</KEYWORD2>\r
+       <KEYWORD2>spacing-options-interface</KEYWORD2>\r
+       <KEYWORD2>spacing-interface</KEYWORD2>\r
+       <KEYWORD2>Span_dynamic_performer</KEYWORD2>\r
+       <KEYWORD2>piano-pedal-script-interface</KEYWORD2>\r
+       <KEYWORD2>MensuralStaff</KEYWORD2>\r
+       <KEYWORD2>Global</KEYWORD2>\r
+       <KEYWORD2>trill-pitch-accidental-interface</KEYWORD2>\r
+       <KEYWORD2>grob-interface</KEYWORD2>\r
+       <KEYWORD2>Horizontal_bracket_engraver</KEYWORD2>\r
+       <KEYWORD2>Grid_line_span_engraver</KEYWORD2>\r
+       <KEYWORD2>NoteNames</KEYWORD2>\r
+       <KEYWORD2>piano-pedal-interface</KEYWORD2>\r
+       <KEYWORD2>Axis_group_engraver</KEYWORD2>\r
+       <KEYWORD2>Staff_symbol_engraver</KEYWORD2>\r
+       <KEYWORD2>stem-interface</KEYWORD2>\r
+       <KEYWORD2>Slur_engraver</KEYWORD2>\r
+       <KEYWORD2>pitched-trill-interface</KEYWORD2>\r
+       <KEYWORD2>tie-column-interface</KEYWORD2>\r
+       <KEYWORD2>stem-tremolo-interface</KEYWORD2>\r
+       <KEYWORD2>Grid_point_engraver</KEYWORD2>\r
+       <KEYWORD2>System_start_delimiter_engraver</KEYWORD2>\r
+       <KEYWORD2>Completion_heads_engraver</KEYWORD2>\r
+       <KEYWORD2>Drum_notes_engraver</KEYWORD2>\r
+       <KEYWORD2>Swallow_engraver</KEYWORD2>\r
+       <KEYWORD2>Slur_performer</KEYWORD2>\r
+       <KEYWORD2>lyric-hyphen-interface</KEYWORD2>\r
+       <KEYWORD2>Clef_engraver</KEYWORD2>\r
+       <KEYWORD2>dynamic-interface</KEYWORD2>\r
+       <KEYWORD2>Score</KEYWORD2>\r
+       <KEYWORD2>Output_property_engraver</KEYWORD2>\r
+       <KEYWORD2>Repeat_tie_engraver</KEYWORD2>\r
+       <KEYWORD2>Rest_engraver</KEYWORD2>\r
+       <KEYWORD2>break-aligned-interface</KEYWORD2>\r
+       <KEYWORD2>String_number_engraver</KEYWORD2>\r
+       <KEYWORD2>only-prebreak-interface</KEYWORD2>\r
+       <KEYWORD2>Lyric_engraver</KEYWORD2>\r
+       <KEYWORD2>Tempo_performer</KEYWORD2>\r
+       <KEYWORD2>Parenthesis_engraver</KEYWORD2>\r
+       <KEYWORD2>Repeat_acknowledge_engraver</KEYWORD2>\r
+       <KEYWORD2>mensural-ligature-interface</KEYWORD2>\r
+       <KEYWORD2>align-interface</KEYWORD2>\r
+       <KEYWORD2>Stanza_number_engraver</KEYWORD2>\r
+       <KEYWORD2>system-start-delimiter-interface</KEYWORD2>\r
+       <KEYWORD2>lyric-syllable-interface</KEYWORD2>\r
+       <KEYWORD2>bend-after-interface</KEYWORD2>\r
+       <KEYWORD2>dynamic-line-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>Staff_performer</KEYWORD2>\r
+       <KEYWORD2>Bar_number_engraver</KEYWORD2>\r
+       <KEYWORD2>Fretboard_engraver</KEYWORD2>\r
+       <KEYWORD2>tablature-interface</KEYWORD2>\r
+       <KEYWORD2>Fingering_engraver</KEYWORD2>\r
+       <KEYWORD2>chord-name-interface</KEYWORD2>\r
+       <KEYWORD2>Note_swallow_translator</KEYWORD2>\r
+       <KEYWORD2>Chord_name_engraver</KEYWORD2>\r
+       <KEYWORD2>note-head-interface</KEYWORD2>\r
+       <KEYWORD2>breathing-sign-interface</KEYWORD2>\r
+       <KEYWORD2>Extender_engraver</KEYWORD2>\r
+       <KEYWORD2>Ambitus_engraver</KEYWORD2>\r
+       <KEYWORD2>DrumStaff</KEYWORD2>\r
+       <KEYWORD2>dot-column-interface</KEYWORD2>\r
+       <KEYWORD2>Lyric_performer</KEYWORD2>\r
+       <KEYWORD2>enclosing-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>Trill_spanner_engraver</KEYWORD2>\r
+       <KEYWORD2>Key_performer</KEYWORD2>\r
+       <KEYWORD2>Vertically_spaced_contexts_engraver</KEYWORD2>\r
+       <KEYWORD2>hairpin-interface</KEYWORD2>\r
+       <KEYWORD2>Hyphen_engraver</KEYWORD2>\r
+       <KEYWORD2>Dots_engraver</KEYWORD2>\r
+       <KEYWORD2>multi-measure-rest-interface</KEYWORD2>\r
+       <KEYWORD2>break-alignment-align-interface</KEYWORD2>\r
+       <KEYWORD2>Multi_measure_rest_engraver</KEYWORD2>\r
+       <KEYWORD2>InnerStaffGroup</KEYWORD2>\r
+       <KEYWORD2>text-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>Grace_beam_engraver</KEYWORD2>\r
+       <KEYWORD2>separation-item-interface</KEYWORD2>\r
+       <KEYWORD2>Balloon_engraver</KEYWORD2>\r
+       <KEYWORD2>Translator</KEYWORD2>\r
+       <KEYWORD2>separation-spanner-interface</KEYWORD2>\r
+       <KEYWORD2>Tweak_engraver</KEYWORD2>\r
+       <KEYWORD2>Devnull</KEYWORD2>\r
+       <KEYWORD2>Bend_after_engraver</KEYWORD2>\r
+       <KEYWORD2>Spacing_engraver</KEYWORD2>\r
+       <KEYWORD2>Piano_pedal_align_engraver</KEYWORD2>\r
+       <KEYWORD2>system-start-text-interface</KEYWORD2>\r
+       <KEYWORD2>parentheses-interface</KEYWORD2>\r
+       <KEYWORD2>Melisma_translator</KEYWORD2>\r
+       <KEYWORD2>ChoirStaff</KEYWORD2>\r
+       <KEYWORD2>Span_bar_engraver</KEYWORD2>\r
+       <KEYWORD2>Text_engraver</KEYWORD2>\r
+       <KEYWORD2>GregorianTranscriptionVoice</KEYWORD2>\r
+       <KEYWORD2>Timing_translator</KEYWORD2>\r
+       <KEYWORD2>script-interface</KEYWORD2>\r
+       <KEYWORD2>semi-tie-interface</KEYWORD2>\r
+       <KEYWORD2>Percent_repeat_engraver</KEYWORD2>\r
+       <KEYWORD2>Tab_staff_symbol_engraver</KEYWORD2>\r
+       <KEYWORD2>line-interface</KEYWORD2>\r
+       <KEYWORD2>rhythmic-grob-interface</KEYWORD2>\r
+       <KEYWORD2>Dynamic_performer</KEYWORD2>\r
+       <KEYWORD2>note-spacing-interface</KEYWORD2>\r
+       <KEYWORD2>spanner-interface</KEYWORD2>\r
+       <KEYWORD2>break-alignment-interface</KEYWORD2>\r
+       <KEYWORD2>tuplet-number-interface</KEYWORD2>\r
+       <KEYWORD2>Rhythmic_column_engraver</KEYWORD2>\r
+       <KEYWORD2>cluster-beacon-interface</KEYWORD2>\r
+       <KEYWORD2>horizontal-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>Mensural_ligature_engraver</KEYWORD2>\r
+       <KEYWORD2>ChordNames</KEYWORD2>\r
+       <KEYWORD2>gregorian-ligature-interface</KEYWORD2>\r
+       <KEYWORD2>Melody_engraver</KEYWORD2>\r
+       <KEYWORD2>ligature-interface</KEYWORD2>\r
+       <KEYWORD2>Paper_column_engraver</KEYWORD2>\r
+       <KEYWORD2>FiguredBass</KEYWORD2>\r
+       <KEYWORD2>grace-spacing-interface</KEYWORD2>\r
+       <KEYWORD2>tie-interface</KEYWORD2>\r
+       <KEYWORD2>New_fingering_engraver</KEYWORD2>\r
+       <KEYWORD2>Script_engraver</KEYWORD2>\r
+       <KEYWORD2>Metronome_mark_engraver</KEYWORD2>\r
+       <KEYWORD2>string-number-interface</KEYWORD2>\r
+       <KEYWORD2>Hara_kiri_engraver</KEYWORD2>\r
+       <KEYWORD2>grid-line-interface</KEYWORD2>\r
+       <KEYWORD2>Skip_event_swallow_translator</KEYWORD2>\r
+       <KEYWORD2>Auto_beam_engraver</KEYWORD2>\r
+       <KEYWORD2>spaceable-grob-interface</KEYWORD2>\r
+       <KEYWORD2>Font_size_engraver</KEYWORD2>\r
+       <KEYWORD2>figured-bass-continuation-interface</KEYWORD2>\r
+       <KEYWORD2>semi-tie-column-interface</KEYWORD2>\r
+       <KEYWORD2>CueVoice</KEYWORD2>\r
+       <KEYWORD2>Phrasing_slur_engraver</KEYWORD2>\r
+       <KEYWORD2>InnerChoirStaff</KEYWORD2>\r
+       <KEYWORD2>Arpeggio_engraver</KEYWORD2>\r
+       <KEYWORD2>mark-interface</KEYWORD2>\r
+       <KEYWORD2>VaticanaStaff</KEYWORD2>\r
+       <KEYWORD2>piano-pedal-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>beam-interface</KEYWORD2>\r
+       <KEYWORD2>Note_performer</KEYWORD2>\r
+       <KEYWORD2>custos-interface</KEYWORD2>\r
+       <KEYWORD2>percent-repeat-interface</KEYWORD2>\r
+       <KEYWORD2>time-signature-interface</KEYWORD2>\r
+       <KEYWORD2>Custos_engraver</KEYWORD2>\r
+       <KEYWORD2>Part_combine_engraver</KEYWORD2>\r
+       <KEYWORD2>Piano_pedal_engraver</KEYWORD2>\r
+       <KEYWORD2>tuplet-bracket-interface</KEYWORD2>\r
+       <KEYWORD2>Stem_engraver</KEYWORD2>\r
+       <KEYWORD2>finger-interface</KEYWORD2>\r
+       <KEYWORD2>note-collision-interface</KEYWORD2>\r
+       <KEYWORD2>Text_spanner_engraver</KEYWORD2>\r
+       <KEYWORD2>text-balloon-interface</KEYWORD2>\r
+       <KEYWORD2>Tie_engraver</KEYWORD2>\r
+       <KEYWORD2>Figured_bass_position_engraver</KEYWORD2>\r
+</KEYWORDS>\r
+<!-- Generated part ended -->\r
+\r
+</RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/lisp.xml b/basis/xmode/modes/lisp.xml
new file mode 100644 (file)
index 0000000..86983d7
--- /dev/null
@@ -0,0 +1,1038 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="#| " />\r
+               <PROPERTY NAME="commentEnd" VALUE=" |#" />\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+               <PROPERTY NAME="noWordSep" VALUE="_-+?:" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="multipleBracketIndent" VALUE="true" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               ESCAPE="\"\r
+               NO_WORD_SEP="_-+?:"\r
+               DIGIT_RE="-?\d+([./]\d+)?"\r
+       >\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>#|</BEGIN>\r
+                       <END>|#</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="NULL">'(</SEQ>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
+\r
+               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="KEYWORD4">&amp;</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">`</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <!--\r
+               Based on convention discussed here:\r
+                       http://www.gigamonkeys.com/book/syntax-and-semantics.html\r
+               -->\r
+               <EOL_SPAN TYPE="COMMENT4">;;;;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT3">;;;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">;;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!--\r
+                       keywords from j\r
+                               (http://armedbear-j.sourceforge.net/)\r
+                        Duplicates removed; KEYWORD1 and KEYWORD2 \r
+                          better aligned with Emacs Lisp mode\r
+                        Missing Common Lisp symbols added; now 970 symbols total\r
+                        2004-01-22  dsh\r
+               -->\r
+               <KEYWORDS>\r
+                       <KEYWORD1>defclass</KEYWORD1>\r
+                       <KEYWORD1>defconstant</KEYWORD1>\r
+                       <KEYWORD1>defgeneric</KEYWORD1>\r
+                       <KEYWORD1>define-compiler-macro</KEYWORD1>\r
+                       <KEYWORD1>define-condition</KEYWORD1>\r
+                       <KEYWORD1>define-method-combination</KEYWORD1>\r
+                       <KEYWORD1>define-modify-macro</KEYWORD1>\r
+                       <KEYWORD1>define-setf-expander</KEYWORD1>\r
+                       <KEYWORD1>define-symbol-macro</KEYWORD1>\r
+                       <KEYWORD1>defmacro</KEYWORD1>\r
+                       <KEYWORD1>defmethod</KEYWORD1>\r
+                       <KEYWORD1>defpackage</KEYWORD1>\r
+                       <KEYWORD1>defparameter</KEYWORD1>\r
+                       <KEYWORD1>defsetf</KEYWORD1>\r
+                       <KEYWORD1>defstruct</KEYWORD1>\r
+                       <KEYWORD1>deftype</KEYWORD1>\r
+                       <KEYWORD1>defun</KEYWORD1>\r
+                       <KEYWORD1>defvar</KEYWORD1>\r
+\r
+                       <KEYWORD2>abort</KEYWORD2>\r
+                       <KEYWORD2>assert</KEYWORD2>\r
+                       <KEYWORD2>block</KEYWORD2>\r
+                       <KEYWORD2>break</KEYWORD2>\r
+                       <KEYWORD2>case</KEYWORD2>\r
+                       <KEYWORD2>catch</KEYWORD2>\r
+                       <KEYWORD2>ccase</KEYWORD2>\r
+                       <KEYWORD2>cerror</KEYWORD2>\r
+                       <KEYWORD2>cond</KEYWORD2>\r
+                       <KEYWORD2>ctypecase</KEYWORD2>\r
+                       <KEYWORD2>declaim</KEYWORD2>\r
+                       <KEYWORD2>declare</KEYWORD2>\r
+                       <KEYWORD2>do</KEYWORD2>\r
+                       <KEYWORD2>do*</KEYWORD2>\r
+                       <KEYWORD2>do-all-symbols</KEYWORD2>\r
+                       <KEYWORD2>do-external-symbols</KEYWORD2>\r
+                       <KEYWORD2>do-symbols</KEYWORD2>\r
+                       <KEYWORD2>dolist</KEYWORD2>\r
+                       <KEYWORD2>dotimes</KEYWORD2>\r
+                       <KEYWORD2>ecase</KEYWORD2>\r
+                       <KEYWORD2>error</KEYWORD2>\r
+                       <KEYWORD2>etypecase</KEYWORD2>\r
+                       <KEYWORD2>eval-when</KEYWORD2>\r
+                       <KEYWORD2>flet</KEYWORD2>\r
+                       <KEYWORD2>handler-bind</KEYWORD2>\r
+                       <KEYWORD2>handler-case</KEYWORD2>\r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>ignore-errors</KEYWORD2>\r
+                       <KEYWORD2>in-package</KEYWORD2>\r
+                       <KEYWORD2>labels</KEYWORD2>\r
+                       <KEYWORD2>lambda</KEYWORD2>\r
+                       <KEYWORD2>let</KEYWORD2>\r
+                       <KEYWORD2>let*</KEYWORD2>\r
+                       <KEYWORD2>locally</KEYWORD2>\r
+                       <KEYWORD2>loop</KEYWORD2>\r
+                       <KEYWORD2>macrolet</KEYWORD2>\r
+                       <KEYWORD2>multiple-value-bind</KEYWORD2>\r
+                       <KEYWORD2>proclaim</KEYWORD2>\r
+                       <KEYWORD2>prog</KEYWORD2>\r
+                       <KEYWORD2>prog*</KEYWORD2>\r
+                       <KEYWORD2>prog1</KEYWORD2>\r
+                       <KEYWORD2>prog2</KEYWORD2>\r
+                       <KEYWORD2>progn</KEYWORD2>\r
+                       <KEYWORD2>progv</KEYWORD2>\r
+                       <KEYWORD2>provide</KEYWORD2>\r
+                       <KEYWORD2>require</KEYWORD2>\r
+                       <KEYWORD2>restart-bind</KEYWORD2>\r
+                       <KEYWORD2>restart-case</KEYWORD2>\r
+                       <KEYWORD2>restart-name</KEYWORD2>\r
+                       <KEYWORD2>return</KEYWORD2>\r
+                       <KEYWORD2>return-from</KEYWORD2>\r
+                       <KEYWORD2>signal</KEYWORD2>\r
+                       <KEYWORD2>symbol-macrolet</KEYWORD2>\r
+                       <KEYWORD2>tagbody</KEYWORD2>\r
+                       <KEYWORD2>the</KEYWORD2>\r
+                       <KEYWORD2>throw</KEYWORD2>\r
+                       <KEYWORD2>typecase</KEYWORD2>\r
+                       <KEYWORD2>unless</KEYWORD2>\r
+                       <KEYWORD2>unwind-protect</KEYWORD2>\r
+                       <KEYWORD2>when</KEYWORD2>\r
+                       <KEYWORD2>with-accessors</KEYWORD2>\r
+                       <KEYWORD2>with-compilation-unit</KEYWORD2>\r
+                       <KEYWORD2>with-condition-restarts</KEYWORD2>\r
+                       <KEYWORD2>with-hash-table-iterator</KEYWORD2>\r
+                       <KEYWORD2>with-input-from-string</KEYWORD2>\r
+                       <KEYWORD2>with-open-file</KEYWORD2>\r
+                       <KEYWORD2>with-open-stream</KEYWORD2>\r
+                       <KEYWORD2>with-output-to-string</KEYWORD2>\r
+                       <KEYWORD2>with-package-iterator</KEYWORD2>\r
+                       <KEYWORD2>with-simple-restart</KEYWORD2>\r
+                       <KEYWORD2>with-slots</KEYWORD2>\r
+                       <KEYWORD2>with-standard-io-syntax</KEYWORD2>\r
+\r
+                       <KEYWORD3>*</KEYWORD3>\r
+                       <KEYWORD3>**</KEYWORD3>\r
+                       <KEYWORD3>***</KEYWORD3>\r
+                       <KEYWORD3>*break-on-signals*</KEYWORD3>\r
+                       <KEYWORD3>*compile-file-pathname*</KEYWORD3>\r
+                       <KEYWORD3>*compile-file-truename*</KEYWORD3>\r
+                       <KEYWORD3>*compile-print*</KEYWORD3>\r
+                       <KEYWORD3>*compile-verbose*</KEYWORD3>\r
+                       <KEYWORD3>*debug-io*</KEYWORD3>\r
+                       <KEYWORD3>*debugger-hook*</KEYWORD3>\r
+                       <KEYWORD3>*default-pathname-defaults*</KEYWORD3>\r
+                       <KEYWORD3>*error-output*</KEYWORD3>\r
+                       <KEYWORD3>*features*</KEYWORD3>\r
+                       <KEYWORD3>*gensym-counter*</KEYWORD3>\r
+                       <KEYWORD3>*load-pathname*</KEYWORD3>\r
+                       <KEYWORD3>*load-print*</KEYWORD3>\r
+                       <KEYWORD3>*load-truename*</KEYWORD3>\r
+                       <KEYWORD3>*load-verbose*</KEYWORD3>\r
+                       <KEYWORD3>*macroexpand-hook*</KEYWORD3>\r
+                       <KEYWORD3>*modules*</KEYWORD3>\r
+                       <KEYWORD3>*package*</KEYWORD3>\r
+                       <KEYWORD3>*print-array*</KEYWORD3>\r
+                       <KEYWORD3>*print-base*</KEYWORD3>\r
+                       <KEYWORD3>*print-case*</KEYWORD3>\r
+                       <KEYWORD3>*print-circle*</KEYWORD3>\r
+                       <KEYWORD3>*print-escape*</KEYWORD3>\r
+                       <KEYWORD3>*print-gensym*</KEYWORD3>\r
+                       <KEYWORD3>*print-length*</KEYWORD3>\r
+                       <KEYWORD3>*print-level*</KEYWORD3>\r
+                       <KEYWORD3>*print-lines*</KEYWORD3>\r
+                       <KEYWORD3>*print-miser-width*</KEYWORD3>\r
+                       <KEYWORD3>*print-pprint-dispatch*</KEYWORD3>\r
+                       <KEYWORD3>*print-pretty*</KEYWORD3>\r
+                       <KEYWORD3>*print-radix*</KEYWORD3>\r
+                       <KEYWORD3>*print-readably*</KEYWORD3>\r
+                       <KEYWORD3>*print-right-margin*</KEYWORD3>\r
+                       <KEYWORD3>*query-io*</KEYWORD3>\r
+                       <KEYWORD3>*random-state*</KEYWORD3>\r
+                       <KEYWORD3>*read-base*</KEYWORD3>\r
+                       <KEYWORD3>*read-default-float-format*</KEYWORD3>\r
+                       <KEYWORD3>*read-eval*</KEYWORD3>\r
+                       <KEYWORD3>*read-suppress*</KEYWORD3>\r
+                       <KEYWORD3>*readtable*</KEYWORD3>\r
+                       <KEYWORD3>*standard-input*</KEYWORD3>\r
+                       <KEYWORD3>*standard-output*</KEYWORD3>\r
+                       <KEYWORD3>*terminal-io*</KEYWORD3>\r
+                       <KEYWORD3>*trace-output*</KEYWORD3>\r
+                       <KEYWORD3>+</KEYWORD3>\r
+                       <KEYWORD3>++</KEYWORD3>\r
+                       <KEYWORD3>+++</KEYWORD3>\r
+                       <KEYWORD3>-</KEYWORD3>\r
+                       <KEYWORD3>/</KEYWORD3>\r
+                       <KEYWORD3>//</KEYWORD3>\r
+                       <KEYWORD3>///</KEYWORD3>\r
+                       <KEYWORD3>/=</KEYWORD3>\r
+                       <KEYWORD3>1+</KEYWORD3>\r
+                       <KEYWORD3>1-</KEYWORD3>\r
+                       <KEYWORD3>&lt;</KEYWORD3>\r
+                       <KEYWORD3>&lt;=</KEYWORD3>\r
+                       <KEYWORD3>=</KEYWORD3>\r
+                       <KEYWORD3>&gt;</KEYWORD3>\r
+                       <KEYWORD3>&gt;=</KEYWORD3>\r
+                       <KEYWORD3>abs</KEYWORD3>\r
+                       <KEYWORD3>acons</KEYWORD3>\r
+                       <KEYWORD3>acos</KEYWORD3>\r
+                       <KEYWORD3>acosh</KEYWORD3>\r
+                       <KEYWORD3>add-method</KEYWORD3>\r
+                       <KEYWORD3>adjoin</KEYWORD3>\r
+                       <KEYWORD3>adjust-array</KEYWORD3>\r
+                       <KEYWORD3>adjustable-array-p</KEYWORD3>\r
+                       <KEYWORD3>allocate-instance</KEYWORD3>\r
+                       <KEYWORD3>alpha-char-p</KEYWORD3>\r
+                       <KEYWORD3>alphanumericp</KEYWORD3>\r
+                       <KEYWORD3>and</KEYWORD3>\r
+                       <KEYWORD3>append</KEYWORD3>\r
+                       <KEYWORD3>apply</KEYWORD3>\r
+                       <KEYWORD3>apropos</KEYWORD3>\r
+                       <KEYWORD3>apropos-list</KEYWORD3>\r
+                       <KEYWORD3>aref</KEYWORD3>\r
+                       <KEYWORD3>arithmetic-error</KEYWORD3>\r
+                       <KEYWORD3>arithmetic-error-operands</KEYWORD3>\r
+                       <KEYWORD3>arithmetic-error-operation</KEYWORD3>\r
+                       <KEYWORD3>array</KEYWORD3>\r
+                       <KEYWORD3>array-dimension</KEYWORD3>\r
+                       <KEYWORD3>array-dimension-limit</KEYWORD3>\r
+                       <KEYWORD3>array-dimensions</KEYWORD3>\r
+                       <KEYWORD3>array-displacement</KEYWORD3>\r
+                       <KEYWORD3>array-element-type</KEYWORD3>\r
+                       <KEYWORD3>array-has-fill-pointer-p</KEYWORD3>\r
+                       <KEYWORD3>array-in-bounds-p</KEYWORD3>\r
+                       <KEYWORD3>array-rank</KEYWORD3>\r
+                       <KEYWORD3>array-rank-limit</KEYWORD3>\r
+                       <KEYWORD3>array-row-major-index</KEYWORD3>\r
+                       <KEYWORD3>array-total-size</KEYWORD3>\r
+                       <KEYWORD3>array-total-size-limit</KEYWORD3>\r
+                       <KEYWORD3>arrayp</KEYWORD3>\r
+                       <KEYWORD3>ash</KEYWORD3>\r
+                       <KEYWORD3>asin</KEYWORD3>\r
+                       <KEYWORD3>asinh</KEYWORD3>\r
+                       <KEYWORD3>assoc</KEYWORD3>\r
+                       <KEYWORD3>assoc-if</KEYWORD3>\r
+                       <KEYWORD3>assoc-if-not</KEYWORD3>\r
+                       <KEYWORD3>atan</KEYWORD3>\r
+                       <KEYWORD3>atanh</KEYWORD3>\r
+                       <KEYWORD3>atom</KEYWORD3>\r
+                       <KEYWORD3>base-char</KEYWORD3>\r
+                       <KEYWORD3>base-string</KEYWORD3>\r
+                       <KEYWORD3>bignum</KEYWORD3>\r
+                       <KEYWORD3>bit</KEYWORD3>\r
+                       <KEYWORD3>bit-and</KEYWORD3>\r
+                       <KEYWORD3>bit-andc1</KEYWORD3>\r
+                       <KEYWORD3>bit-andc2</KEYWORD3>\r
+                       <KEYWORD3>bit-eqv</KEYWORD3>\r
+                       <KEYWORD3>bit-ior</KEYWORD3>\r
+                       <KEYWORD3>bit-nand</KEYWORD3>\r
+                       <KEYWORD3>bit-nor</KEYWORD3>\r
+                       <KEYWORD3>bit-not</KEYWORD3>\r
+                       <KEYWORD3>bit-orc1</KEYWORD3>\r
+                       <KEYWORD3>bit-orc2</KEYWORD3>\r
+                       <KEYWORD3>bit-vector</KEYWORD3>\r
+                       <KEYWORD3>bit-vector-p</KEYWORD3>\r
+                       <KEYWORD3>bit-xor</KEYWORD3>\r
+                       <KEYWORD3>boole</KEYWORD3>\r
+                       <KEYWORD3>boole-1</KEYWORD3>\r
+                       <KEYWORD3>boole-2</KEYWORD3>\r
+                       <KEYWORD3>boole-and</KEYWORD3>\r
+                       <KEYWORD3>boole-andc1</KEYWORD3>\r
+                       <KEYWORD3>boole-andc2</KEYWORD3>\r
+                       <KEYWORD3>boole-c1</KEYWORD3>\r
+                       <KEYWORD3>boole-c2</KEYWORD3>\r
+                       <KEYWORD3>boole-clr</KEYWORD3>\r
+                       <KEYWORD3>boole-eqv</KEYWORD3>\r
+                       <KEYWORD3>boole-ior</KEYWORD3>\r
+                       <KEYWORD3>boole-nand</KEYWORD3>\r
+                       <KEYWORD3>boole-nor</KEYWORD3>\r
+                       <KEYWORD3>boole-orc1</KEYWORD3>\r
+                       <KEYWORD3>boole-orc2</KEYWORD3>\r
+                       <KEYWORD3>boole-set</KEYWORD3>\r
+                       <KEYWORD3>boole-xor</KEYWORD3>\r
+                       <KEYWORD3>boolean</KEYWORD3>\r
+                       <KEYWORD3>both-case-p</KEYWORD3>\r
+                       <KEYWORD3>boundp</KEYWORD3>\r
+                       <KEYWORD3>broadcast-stream</KEYWORD3>\r
+                       <KEYWORD3>broadcast-stream-streams</KEYWORD3>\r
+                       <KEYWORD3>built-in-class</KEYWORD3>\r
+                       <KEYWORD3>butlast</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD3>byte-position</KEYWORD3>\r
+                       <KEYWORD3>byte-size</KEYWORD3>\r
+                       <KEYWORD3>caaaar</KEYWORD3>\r
+                       <KEYWORD3>caaadr</KEYWORD3>\r
+                       <KEYWORD3>caaar</KEYWORD3>\r
+                       <KEYWORD3>caadar</KEYWORD3>\r
+                       <KEYWORD3>caaddr</KEYWORD3>\r
+                       <KEYWORD3>caadr</KEYWORD3>\r
+                       <KEYWORD3>caar</KEYWORD3>\r
+                       <KEYWORD3>cadaar</KEYWORD3>\r
+                       <KEYWORD3>cadadr</KEYWORD3>\r
+                       <KEYWORD3>cadar</KEYWORD3>\r
+                       <KEYWORD3>caddar</KEYWORD3>\r
+                       <KEYWORD3>cadddr</KEYWORD3>\r
+                       <KEYWORD3>caddr</KEYWORD3>\r
+                       <KEYWORD3>cadr</KEYWORD3>\r
+                       <KEYWORD3>call-arguments-limit</KEYWORD3>\r
+                       <KEYWORD3>call-method</KEYWORD3>\r
+                       <KEYWORD3>call-next-method</KEYWORD3>\r
+                       <KEYWORD3>car</KEYWORD3>\r
+                       <KEYWORD3>cdaaar</KEYWORD3>\r
+                       <KEYWORD3>cdaadr</KEYWORD3>\r
+                       <KEYWORD3>cdaar</KEYWORD3>\r
+                       <KEYWORD3>cdadar</KEYWORD3>\r
+                       <KEYWORD3>cdaddr</KEYWORD3>\r
+                       <KEYWORD3>cdadr</KEYWORD3>\r
+                       <KEYWORD3>cdar</KEYWORD3>\r
+                       <KEYWORD3>cddaar</KEYWORD3>\r
+                       <KEYWORD3>cddadr</KEYWORD3>\r
+                       <KEYWORD3>cddar</KEYWORD3>\r
+                       <KEYWORD3>cdddar</KEYWORD3>\r
+                       <KEYWORD3>cddddr</KEYWORD3>\r
+                       <KEYWORD3>cdddr</KEYWORD3>\r
+                       <KEYWORD3>cddr</KEYWORD3>\r
+                       <KEYWORD3>cdr</KEYWORD3>\r
+                       <KEYWORD3>ceiling</KEYWORD3>\r
+                       <KEYWORD3>cell-error</KEYWORD3>\r
+                       <KEYWORD3>cell-error-name</KEYWORD3>\r
+                       <KEYWORD3>change-class</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>char-code</KEYWORD3>\r
+                       <KEYWORD3>char-code-limit</KEYWORD3>\r
+                       <KEYWORD3>char-downcase</KEYWORD3>\r
+                       <KEYWORD3>char-equal</KEYWORD3>\r
+                       <KEYWORD3>char-greaterp</KEYWORD3>\r
+                       <KEYWORD3>char-int</KEYWORD3>\r
+                       <KEYWORD3>char-lessp</KEYWORD3>\r
+                       <KEYWORD3>char-name</KEYWORD3>\r
+                       <KEYWORD3>char-not-equal</KEYWORD3>\r
+                       <KEYWORD3>char-not-greaterp</KEYWORD3>\r
+                       <KEYWORD3>char-not-lessp</KEYWORD3>\r
+                       <KEYWORD3>char-upcase</KEYWORD3>\r
+                       <KEYWORD3>char/=</KEYWORD3>\r
+                       <KEYWORD3>char&gt;</KEYWORD3>\r
+                       <KEYWORD3>char&gt;=</KEYWORD3>\r
+                       <KEYWORD3>char&lt;</KEYWORD3>\r
+                       <KEYWORD3>char&lt;=</KEYWORD3>\r
+                       <KEYWORD3>char=</KEYWORD3>\r
+                       <KEYWORD3>character</KEYWORD3>\r
+                       <KEYWORD3>characterp</KEYWORD3>\r
+                       <KEYWORD3>check-type</KEYWORD3>\r
+                       <KEYWORD3>cis</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>class-name</KEYWORD3>\r
+                       <KEYWORD3>class-of</KEYWORD3>\r
+                       <KEYWORD3>clear-input</KEYWORD3>\r
+                       <KEYWORD3>clear-output</KEYWORD3>\r
+                       <KEYWORD3>close</KEYWORD3>\r
+                       <KEYWORD3>clrhash</KEYWORD3>\r
+                       <KEYWORD3>code-char</KEYWORD3>\r
+                       <KEYWORD3>coerce</KEYWORD3>\r
+                       <KEYWORD3>compilation-speed</KEYWORD3>\r
+                       <KEYWORD3>compile</KEYWORD3>\r
+                       <KEYWORD3>compile-file</KEYWORD3>\r
+                       <KEYWORD3>compile-file-pathname</KEYWORD3>\r
+                       <KEYWORD3>compiled-function</KEYWORD3>\r
+                       <KEYWORD3>compiled-function-p</KEYWORD3>\r
+                       <KEYWORD3>compiler-macro</KEYWORD3>\r
+                       <KEYWORD3>compiler-macro-function</KEYWORD3>\r
+                       <KEYWORD3>complement</KEYWORD3>\r
+                       <KEYWORD3>complex</KEYWORD3>\r
+                       <KEYWORD3>complexp</KEYWORD3>\r
+                       <KEYWORD3>compute-applicable-methods</KEYWORD3>\r
+                       <KEYWORD3>compute-restarts</KEYWORD3>\r
+                       <KEYWORD3>concatenate</KEYWORD3>\r
+                       <KEYWORD3>concatenated-stream</KEYWORD3>\r
+                       <KEYWORD3>concatenated-stream-streams</KEYWORD3>\r
+                       <KEYWORD3>condition</KEYWORD3>\r
+                       <KEYWORD3>conjugate</KEYWORD3>\r
+                       <KEYWORD3>cons</KEYWORD3>\r
+                       <KEYWORD3>consp</KEYWORD3>\r
+                       <KEYWORD3>constantly</KEYWORD3>\r
+                       <KEYWORD3>constantp</KEYWORD3>\r
+                       <KEYWORD3>continue</KEYWORD3>\r
+                       <KEYWORD3>control-error</KEYWORD3>\r
+                       <KEYWORD3>copy-alist</KEYWORD3>\r
+                       <KEYWORD3>copy-list</KEYWORD3>\r
+                       <KEYWORD3>copy-pprint-dispatch</KEYWORD3>\r
+                       <KEYWORD3>copy-readtable</KEYWORD3>\r
+                       <KEYWORD3>copy-seq</KEYWORD3>\r
+                       <KEYWORD3>copy-structure</KEYWORD3>\r
+                       <KEYWORD3>copy-symbol</KEYWORD3>\r
+                       <KEYWORD3>copy-tree</KEYWORD3>\r
+                       <KEYWORD3>cos</KEYWORD3>\r
+                       <KEYWORD3>cosh</KEYWORD3>\r
+                       <KEYWORD3>count</KEYWORD3>\r
+                       <KEYWORD3>count-if</KEYWORD3>\r
+                       <KEYWORD3>count-if-not</KEYWORD3>\r
+                       <KEYWORD3>debug</KEYWORD3>\r
+                       <KEYWORD3>decf</KEYWORD3>\r
+                       <KEYWORD3>declaration</KEYWORD3>\r
+                       <KEYWORD3>decode-float</KEYWORD3>\r
+                       <KEYWORD3>decode-universal-time</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>delete-duplicates</KEYWORD3>\r
+                       <KEYWORD3>delete-file</KEYWORD3>\r
+                       <KEYWORD3>delete-if</KEYWORD3>\r
+                       <KEYWORD3>delete-if-not</KEYWORD3>\r
+                       <KEYWORD3>delete-package</KEYWORD3>\r
+                       <KEYWORD3>denominator</KEYWORD3>\r
+                       <KEYWORD3>deposit-field</KEYWORD3>\r
+                       <KEYWORD3>describe</KEYWORD3>\r
+                       <KEYWORD3>describe-object</KEYWORD3>\r
+                       <KEYWORD3>destructuring-bind</KEYWORD3>\r
+                       <KEYWORD3>digit-char</KEYWORD3>\r
+                       <KEYWORD3>digit-char-p</KEYWORD3>\r
+                       <KEYWORD3>directory</KEYWORD3>\r
+                       <KEYWORD3>directory-namestring</KEYWORD3>\r
+                       <KEYWORD3>disassemble</KEYWORD3>\r
+                       <KEYWORD3>division-by-zero</KEYWORD3>\r
+                       <KEYWORD3>documentation</KEYWORD3>\r
+                       <KEYWORD3>double-float</KEYWORD3>\r
+                       <KEYWORD3>double-float-epsilon</KEYWORD3>\r
+                       <KEYWORD3>double-float-negative-epsilon</KEYWORD3>\r
+                       <KEYWORD3>dpb</KEYWORD3>\r
+                       <KEYWORD3>dribble</KEYWORD3>\r
+                       <KEYWORD3>dynamic-extent</KEYWORD3>\r
+                       <KEYWORD3>echo-stream</KEYWORD3>\r
+                       <KEYWORD3>echo-stream-input-stream</KEYWORD3>\r
+                       <KEYWORD3>echo-stream-output-stream</KEYWORD3>\r
+                       <KEYWORD3>ed</KEYWORD3>\r
+                       <KEYWORD3>eighth</KEYWORD3>\r
+                       <KEYWORD3>elt</KEYWORD3>\r
+                       <KEYWORD3>encode-universal-time</KEYWORD3>\r
+                       <KEYWORD3>end-of-file</KEYWORD3>\r
+                       <KEYWORD3>endp</KEYWORD3>\r
+                       <KEYWORD3>enough-namestring</KEYWORD3>\r
+                       <KEYWORD3>ensure-directories-exist</KEYWORD3>\r
+                       <KEYWORD3>ensure-generic-function</KEYWORD3>\r
+                       <KEYWORD3>eq</KEYWORD3>\r
+                       <KEYWORD3>eql</KEYWORD3>\r
+                       <KEYWORD3>equal</KEYWORD3>\r
+                       <KEYWORD3>equalp</KEYWORD3>\r
+                       <KEYWORD3>eval</KEYWORD3>\r
+                       <KEYWORD3>evenp</KEYWORD3>\r
+                       <KEYWORD3>every</KEYWORD3>\r
+                       <KEYWORD3>exp</KEYWORD3>\r
+                       <KEYWORD3>export</KEYWORD3>\r
+                       <KEYWORD3>expt</KEYWORD3>\r
+                       <KEYWORD3>extended-char</KEYWORD3>\r
+                       <KEYWORD3>fboundp</KEYWORD3>\r
+                       <KEYWORD3>fceiling</KEYWORD3>\r
+                       <KEYWORD3>fdefinition</KEYWORD3>\r
+                       <KEYWORD3>ffloor</KEYWORD3>\r
+                       <KEYWORD3>fifth</KEYWORD3>\r
+                       <KEYWORD3>file-author</KEYWORD3>\r
+                       <KEYWORD3>file-error</KEYWORD3>\r
+                       <KEYWORD3>file-error-pathname</KEYWORD3>\r
+                       <KEYWORD3>file-length</KEYWORD3>\r
+                       <KEYWORD3>file-namestring</KEYWORD3>\r
+                       <KEYWORD3>file-position</KEYWORD3>\r
+                       <KEYWORD3>file-stream</KEYWORD3>\r
+                       <KEYWORD3>file-string-length</KEYWORD3>\r
+                       <KEYWORD3>file-write-date</KEYWORD3>\r
+                       <KEYWORD3>fill</KEYWORD3>\r
+                       <KEYWORD3>fill-pointer</KEYWORD3>\r
+                       <KEYWORD3>find</KEYWORD3>\r
+                       <KEYWORD3>find-all-symbols</KEYWORD3>\r
+                       <KEYWORD3>find-class</KEYWORD3>\r
+                       <KEYWORD3>find-if</KEYWORD3>\r
+                       <KEYWORD3>find-if-not</KEYWORD3>\r
+                       <KEYWORD3>find-method</KEYWORD3>\r
+                       <KEYWORD3>find-package</KEYWORD3>\r
+                       <KEYWORD3>find-restart</KEYWORD3>\r
+                       <KEYWORD3>find-symbol</KEYWORD3>\r
+                       <KEYWORD3>finish-output</KEYWORD3>\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>fixnum</KEYWORD3>\r
+                       <KEYWORD3>float</KEYWORD3>\r
+                       <KEYWORD3>float-digits</KEYWORD3>\r
+                       <KEYWORD3>float-precision</KEYWORD3>\r
+                       <KEYWORD3>float-radix</KEYWORD3>\r
+                       <KEYWORD3>float-sign</KEYWORD3>\r
+                       <KEYWORD3>floating-point-inexact</KEYWORD3>\r
+                       <KEYWORD3>floating-point-invalid-operation</KEYWORD3>\r
+                       <KEYWORD3>floating-point-overflow</KEYWORD3>\r
+                       <KEYWORD3>floating-point-underflow</KEYWORD3>\r
+                       <KEYWORD3>floatp</KEYWORD3>\r
+                       <KEYWORD3>floor</KEYWORD3>\r
+                       <KEYWORD3>fmakunbound</KEYWORD3>\r
+                       <KEYWORD3>force-output</KEYWORD3>\r
+                       <KEYWORD3>format</KEYWORD3>\r
+                       <KEYWORD3>formatter</KEYWORD3>\r
+                       <KEYWORD3>fourth</KEYWORD3>\r
+                       <KEYWORD3>fresh-line</KEYWORD3>\r
+                       <KEYWORD3>fround</KEYWORD3>\r
+                       <KEYWORD3>ftruncate</KEYWORD3>\r
+                       <KEYWORD3>ftype</KEYWORD3>\r
+                       <KEYWORD3>funcall</KEYWORD3>\r
+                       <KEYWORD3>function</KEYWORD3>\r
+                       <KEYWORD3>function-keywords</KEYWORD3>\r
+                       <KEYWORD3>function-lambda-expression</KEYWORD3>\r
+                       <KEYWORD3>functionp</KEYWORD3>\r
+                       <KEYWORD3>gcd</KEYWORD3>\r
+                       <KEYWORD3>generic-function</KEYWORD3>\r
+                       <KEYWORD3>gensym</KEYWORD3>\r
+                       <KEYWORD3>gentemp</KEYWORD3>\r
+                       <KEYWORD3>get</KEYWORD3>\r
+                       <KEYWORD3>get-decoded-time</KEYWORD3>\r
+                       <KEYWORD3>get-dispatch-macro-character</KEYWORD3>\r
+                       <KEYWORD3>get-internal-real-time</KEYWORD3>\r
+                       <KEYWORD3>get-internal-run-time</KEYWORD3>\r
+                       <KEYWORD3>get-macro-character</KEYWORD3>\r
+                       <KEYWORD3>get-output-stream-string</KEYWORD3>\r
+                       <KEYWORD3>get-properties</KEYWORD3>\r
+                       <KEYWORD3>get-setf-expansion</KEYWORD3>\r
+                       <KEYWORD3>get-universal-time</KEYWORD3>\r
+                       <KEYWORD3>getf</KEYWORD3>\r
+                       <KEYWORD3>gethash</KEYWORD3>\r
+                       <KEYWORD3>go</KEYWORD3>\r
+                       <KEYWORD3>graphic-char-p</KEYWORD3>\r
+                       <KEYWORD3>hash-table</KEYWORD3>\r
+                       <KEYWORD3>hash-table-count</KEYWORD3>\r
+                       <KEYWORD3>hash-table-p</KEYWORD3>\r
+                       <KEYWORD3>hash-table-rehash-size</KEYWORD3>\r
+                       <KEYWORD3>hash-table-rehash-threshold</KEYWORD3>\r
+                       <KEYWORD3>hash-table-size</KEYWORD3>\r
+                       <KEYWORD3>hash-table-test</KEYWORD3>\r
+                       <KEYWORD3>host-namestring</KEYWORD3>\r
+                       <KEYWORD3>identity</KEYWORD3>\r
+                       <KEYWORD3>ignorable</KEYWORD3>\r
+                       <KEYWORD3>ignore</KEYWORD3>\r
+                       <KEYWORD3>imagpart</KEYWORD3>\r
+                       <KEYWORD3>import</KEYWORD3>\r
+                       <KEYWORD3>incf</KEYWORD3>\r
+                       <KEYWORD3>initialize-instance</KEYWORD3>\r
+                       <KEYWORD3>inline</KEYWORD3>\r
+                       <KEYWORD3>input-stream-p</KEYWORD3>\r
+                       <KEYWORD3>inspect</KEYWORD3>\r
+                       <KEYWORD3>integer</KEYWORD3>\r
+                       <KEYWORD3>integer-decode-float</KEYWORD3>\r
+                       <KEYWORD3>integer-length</KEYWORD3>\r
+                       <KEYWORD3>integerp</KEYWORD3>\r
+                       <KEYWORD3>interactive-stream-p</KEYWORD3>\r
+                       <KEYWORD3>intern</KEYWORD3>\r
+                       <KEYWORD3>internal-time-units-per-second</KEYWORD3>\r
+                       <KEYWORD3>intersection</KEYWORD3>\r
+                       <KEYWORD3>invalid-method-error</KEYWORD3>\r
+                       <KEYWORD3>invoke-debugger</KEYWORD3>\r
+                       <KEYWORD3>invoke-restart</KEYWORD3>\r
+                       <KEYWORD3>invoke-restart-interactively</KEYWORD3>\r
+                       <KEYWORD3>isqrt</KEYWORD3>\r
+                       <KEYWORD3>keyword</KEYWORD3>\r
+                       <KEYWORD3>keywordp</KEYWORD3>\r
+                       <KEYWORD3>lambda-list-keywords</KEYWORD3>\r
+                       <KEYWORD3>lambda-parameters-limit</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>lcm</KEYWORD3>\r
+                       <KEYWORD3>ldb</KEYWORD3>\r
+                       <KEYWORD3>ldb-test</KEYWORD3>\r
+                       <KEYWORD3>ldiff</KEYWORD3>\r
+                       <KEYWORD3>least-negative-double-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-long-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-normalized-double-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-normalized-long-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-normalized-short-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-normalized-single-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-short-float</KEYWORD3>\r
+                       <KEYWORD3>least-negative-single-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-double-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-long-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-normalized-double-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-normalized-long-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-normalized-short-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-normalized-single-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-short-float</KEYWORD3>\r
+                       <KEYWORD3>least-positive-single-float</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>lisp-implementation-type</KEYWORD3>\r
+                       <KEYWORD3>lisp-implementation-version</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>list*</KEYWORD3>\r
+                       <KEYWORD3>list-all-packages</KEYWORD3>\r
+                       <KEYWORD3>list-length</KEYWORD3>\r
+                       <KEYWORD3>listen</KEYWORD3>\r
+                       <KEYWORD3>listp</KEYWORD3>\r
+                       <KEYWORD3>load</KEYWORD3>\r
+                       <KEYWORD3>load-logical-pathname-translations</KEYWORD3>\r
+                       <KEYWORD3>load-time-value</KEYWORD3>\r
+                       <KEYWORD3>log</KEYWORD3>\r
+                       <KEYWORD3>logand</KEYWORD3>\r
+                       <KEYWORD3>logandc1</KEYWORD3>\r
+                       <KEYWORD3>logandc2</KEYWORD3>\r
+                       <KEYWORD3>logbitp</KEYWORD3>\r
+                       <KEYWORD3>logcount</KEYWORD3>\r
+                       <KEYWORD3>logeqv</KEYWORD3>\r
+                       <KEYWORD3>logical-pathname</KEYWORD3>\r
+                       <KEYWORD3>logical-pathname-translations</KEYWORD3>\r
+                       <KEYWORD3>logior</KEYWORD3>\r
+                       <KEYWORD3>lognand</KEYWORD3>\r
+                       <KEYWORD3>lognor</KEYWORD3>\r
+                       <KEYWORD3>lognot</KEYWORD3>\r
+                       <KEYWORD3>logorc1</KEYWORD3>\r
+                       <KEYWORD3>logorc2</KEYWORD3>\r
+                       <KEYWORD3>logtest</KEYWORD3>\r
+                       <KEYWORD3>logxor</KEYWORD3>\r
+                       <KEYWORD3>long-float</KEYWORD3>\r
+                       <KEYWORD3>long-float-epsilon</KEYWORD3>\r
+                       <KEYWORD3>long-float-negative-epsilon</KEYWORD3>\r
+                       <KEYWORD3>long-site-name</KEYWORD3>\r
+                       <KEYWORD3>loop-finish</KEYWORD3>\r
+                       <KEYWORD3>lower-case-p</KEYWORD3>\r
+                       <KEYWORD3>machine-instance</KEYWORD3>\r
+                       <KEYWORD3>machine-type</KEYWORD3>\r
+                       <KEYWORD3>machine-version</KEYWORD3>\r
+                       <KEYWORD3>macro-function</KEYWORD3>\r
+                       <KEYWORD3>macroexpand</KEYWORD3>\r
+                       <KEYWORD3>macroexpand-1</KEYWORD3>\r
+                       <KEYWORD3>make-array</KEYWORD3>\r
+                       <KEYWORD3>make-broadcast-stream</KEYWORD3>\r
+                       <KEYWORD3>make-concatenated-stream</KEYWORD3>\r
+                       <KEYWORD3>make-condition</KEYWORD3>\r
+                       <KEYWORD3>make-dispatch-macro-character</KEYWORD3>\r
+                       <KEYWORD3>make-echo-stream</KEYWORD3>\r
+                       <KEYWORD3>make-hash-table</KEYWORD3>\r
+                       <KEYWORD3>make-instance</KEYWORD3>\r
+                       <KEYWORD3>make-instances-obsolete</KEYWORD3>\r
+                       <KEYWORD3>make-list</KEYWORD3>\r
+                       <KEYWORD3>make-load-form</KEYWORD3>\r
+                       <KEYWORD3>make-load-form-saving-slots</KEYWORD3>\r
+                       <KEYWORD3>make-method</KEYWORD3>\r
+                       <KEYWORD3>make-package</KEYWORD3>\r
+                       <KEYWORD3>make-pathname</KEYWORD3>\r
+                       <KEYWORD3>make-random-state</KEYWORD3>\r
+                       <KEYWORD3>make-sequence</KEYWORD3>\r
+                       <KEYWORD3>make-string</KEYWORD3>\r
+                       <KEYWORD3>make-string-input-stream</KEYWORD3>\r
+                       <KEYWORD3>make-string-output-stream</KEYWORD3>\r
+                       <KEYWORD3>make-symbol</KEYWORD3>\r
+                       <KEYWORD3>make-synonym-stream</KEYWORD3>\r
+                       <KEYWORD3>make-two-way-stream</KEYWORD3>\r
+                       <KEYWORD3>makunbound</KEYWORD3>\r
+                       <KEYWORD3>map</KEYWORD3>\r
+                       <KEYWORD3>map-into</KEYWORD3>\r
+                       <KEYWORD3>mapc</KEYWORD3>\r
+                       <KEYWORD3>mapcan</KEYWORD3>\r
+                       <KEYWORD3>mapcar</KEYWORD3>\r
+                       <KEYWORD3>mapcon</KEYWORD3>\r
+                       <KEYWORD3>maphash</KEYWORD3>\r
+                       <KEYWORD3>mapl</KEYWORD3>\r
+                       <KEYWORD3>maplist</KEYWORD3>\r
+                       <KEYWORD3>mask-field</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>member</KEYWORD3>\r
+                       <KEYWORD3>member-if</KEYWORD3>\r
+                       <KEYWORD3>member-if-not</KEYWORD3>\r
+                       <KEYWORD3>merge</KEYWORD3>\r
+                       <KEYWORD3>merge-pathnames</KEYWORD3>\r
+                       <KEYWORD3>method</KEYWORD3>\r
+                       <KEYWORD3>method-combination</KEYWORD3>\r
+                       <KEYWORD3>method-combination-error</KEYWORD3>\r
+                       <KEYWORD3>method-qualifiers</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>minusp</KEYWORD3>\r
+                       <KEYWORD3>mismatch</KEYWORD3>\r
+                       <KEYWORD3>mod</KEYWORD3>\r
+                       <KEYWORD3>most-negative-double-float</KEYWORD3>\r
+                       <KEYWORD3>most-negative-fixnum</KEYWORD3>\r
+                       <KEYWORD3>most-negative-long-float</KEYWORD3>\r
+                       <KEYWORD3>most-negative-short-float</KEYWORD3>\r
+                       <KEYWORD3>most-negative-single-float</KEYWORD3>\r
+                       <KEYWORD3>most-positive-double-float</KEYWORD3>\r
+                       <KEYWORD3>most-positive-fixnum</KEYWORD3>\r
+                       <KEYWORD3>most-positive-long-float</KEYWORD3>\r
+                       <KEYWORD3>most-positive-short-float</KEYWORD3>\r
+                       <KEYWORD3>most-positive-single-float</KEYWORD3>\r
+                       <KEYWORD3>muffle-warning</KEYWORD3>\r
+                       <KEYWORD3>multiple-value-call</KEYWORD3>\r
+                       <KEYWORD3>multiple-value-list</KEYWORD3>\r
+                       <KEYWORD3>multiple-value-prog1</KEYWORD3>\r
+                       <KEYWORD3>multiple-value-setq</KEYWORD3>\r
+                       <KEYWORD3>multiple-values-limit</KEYWORD3>\r
+                       <KEYWORD3>name-char</KEYWORD3>\r
+                       <KEYWORD3>namestring</KEYWORD3>\r
+                       <KEYWORD3>nbutlast</KEYWORD3>\r
+                       <KEYWORD3>nconc</KEYWORD3>\r
+                       <KEYWORD3>next-method-p</KEYWORD3>\r
+                       <KEYWORD3>nintersection</KEYWORD3>\r
+                       <KEYWORD3>ninth</KEYWORD3>\r
+                       <KEYWORD3>no-applicable-method</KEYWORD3>\r
+                       <KEYWORD3>no-next-method</KEYWORD3>\r
+                       <KEYWORD3>not</KEYWORD3>\r
+                       <KEYWORD3>notany</KEYWORD3>\r
+                       <KEYWORD3>notevery</KEYWORD3>\r
+                       <KEYWORD3>notinline</KEYWORD3>\r
+                       <KEYWORD3>nreconc</KEYWORD3>\r
+                       <KEYWORD3>nreverse</KEYWORD3>\r
+                       <KEYWORD3>nset-difference</KEYWORD3>\r
+                       <KEYWORD3>nset-exclusive-or</KEYWORD3>\r
+                       <KEYWORD3>nstring-capitalize</KEYWORD3>\r
+                       <KEYWORD3>nstring-downcase</KEYWORD3>\r
+                       <KEYWORD3>nstring-upcase</KEYWORD3>\r
+                       <KEYWORD3>nsublis</KEYWORD3>\r
+                       <KEYWORD3>nsubst</KEYWORD3>\r
+                       <KEYWORD3>nsubst-if</KEYWORD3>\r
+                       <KEYWORD3>nsubst-if-not</KEYWORD3>\r
+                       <KEYWORD3>nsubstitute</KEYWORD3>\r
+                       <KEYWORD3>nsubstitute-if</KEYWORD3>\r
+                       <KEYWORD3>nsubstitute-if-not</KEYWORD3>\r
+                       <KEYWORD3>nth</KEYWORD3>\r
+                       <KEYWORD3>nth-value</KEYWORD3>\r
+                       <KEYWORD3>nthcdr</KEYWORD3>\r
+                       <KEYWORD3>null</KEYWORD3>\r
+                       <KEYWORD3>number</KEYWORD3>\r
+                       <KEYWORD3>numberp</KEYWORD3>\r
+                       <KEYWORD3>numerator</KEYWORD3>\r
+                       <KEYWORD3>nunion</KEYWORD3>\r
+                       <KEYWORD3>oddp</KEYWORD3>\r
+                       <KEYWORD3>open</KEYWORD3>\r
+                       <KEYWORD3>open-stream-p</KEYWORD3>\r
+                       <KEYWORD3>optimize</KEYWORD3>\r
+                       <KEYWORD3>or</KEYWORD3>\r
+                       <KEYWORD3>otherwise</KEYWORD3>\r
+                       <KEYWORD3>output-stream-p</KEYWORD3>\r
+                       <KEYWORD3>package</KEYWORD3>\r
+                       <KEYWORD3>package-error</KEYWORD3>\r
+                       <KEYWORD3>package-error-package</KEYWORD3>\r
+                       <KEYWORD3>package-name</KEYWORD3>\r
+                       <KEYWORD3>package-nicknames</KEYWORD3>\r
+                       <KEYWORD3>package-shadowing-symbols</KEYWORD3>\r
+                       <KEYWORD3>package-use-list</KEYWORD3>\r
+                       <KEYWORD3>package-used-by-list</KEYWORD3>\r
+                       <KEYWORD3>packagep</KEYWORD3>\r
+                       <KEYWORD3>pairlis</KEYWORD3>\r
+                       <KEYWORD3>parse-error</KEYWORD3>\r
+                       <KEYWORD3>parse-integer</KEYWORD3>\r
+                       <KEYWORD3>parse-namestring</KEYWORD3>\r
+                       <KEYWORD3>pathname</KEYWORD3>\r
+                       <KEYWORD3>pathname-device</KEYWORD3>\r
+                       <KEYWORD3>pathname-directory</KEYWORD3>\r
+                       <KEYWORD3>pathname-host</KEYWORD3>\r
+                       <KEYWORD3>pathname-match-p</KEYWORD3>\r
+                       <KEYWORD3>pathname-name</KEYWORD3>\r
+                       <KEYWORD3>pathname-type</KEYWORD3>\r
+                       <KEYWORD3>pathname-version</KEYWORD3>\r
+                       <KEYWORD3>pathnamep</KEYWORD3>\r
+                       <KEYWORD3>peek-char</KEYWORD3>\r
+                       <KEYWORD3>phase</KEYWORD3>\r
+                       <KEYWORD3>pi</KEYWORD3>\r
+                       <KEYWORD3>plusp</KEYWORD3>\r
+                       <KEYWORD3>pop</KEYWORD3>\r
+                       <KEYWORD3>position</KEYWORD3>\r
+                       <KEYWORD3>position-if</KEYWORD3>\r
+                       <KEYWORD3>position-if-not</KEYWORD3>\r
+                       <KEYWORD3>pprint</KEYWORD3>\r
+                       <KEYWORD3>pprint-dispatch</KEYWORD3>\r
+                       <KEYWORD3>pprint-exit-if-list-exhausted</KEYWORD3>\r
+                       <KEYWORD3>pprint-fill</KEYWORD3>\r
+                       <KEYWORD3>pprint-indent</KEYWORD3>\r
+                       <KEYWORD3>pprint-linear</KEYWORD3>\r
+                       <KEYWORD3>pprint-logical-block</KEYWORD3>\r
+                       <KEYWORD3>pprint-newline</KEYWORD3>\r
+                       <KEYWORD3>pprint-pop</KEYWORD3>\r
+                       <KEYWORD3>pprint-tab</KEYWORD3>\r
+                       <KEYWORD3>pprint-tabular</KEYWORD3>\r
+                       <KEYWORD3>prin1</KEYWORD3>\r
+                       <KEYWORD3>prin1-to-string</KEYWORD3>\r
+                       <KEYWORD3>princ</KEYWORD3>\r
+                       <KEYWORD3>princ-to-string</KEYWORD3>\r
+                       <KEYWORD3>print</KEYWORD3>\r
+                       <KEYWORD3>print-not-readable</KEYWORD3>\r
+                       <KEYWORD3>print-not-readable-object</KEYWORD3>\r
+                       <KEYWORD3>print-object</KEYWORD3>\r
+                       <KEYWORD3>print-unreadable-object</KEYWORD3>\r
+                       <KEYWORD3>probe-file</KEYWORD3>\r
+                       <KEYWORD3>program-error</KEYWORD3>\r
+                       <KEYWORD3>psetf</KEYWORD3>\r
+                       <KEYWORD3>psetq</KEYWORD3>\r
+                       <KEYWORD3>push</KEYWORD3>\r
+                       <KEYWORD3>pushnew</KEYWORD3>\r
+                       <KEYWORD3>quote</KEYWORD3>\r
+                       <KEYWORD3>random</KEYWORD3>\r
+                       <KEYWORD3>random-state</KEYWORD3>\r
+                       <KEYWORD3>random-state-p</KEYWORD3>\r
+                       <KEYWORD3>rassoc</KEYWORD3>\r
+                       <KEYWORD3>rassoc-if</KEYWORD3>\r
+                       <KEYWORD3>rassoc-if-not</KEYWORD3>\r
+                       <KEYWORD3>ratio</KEYWORD3>\r
+                       <KEYWORD3>rational</KEYWORD3>\r
+                       <KEYWORD3>rationalize</KEYWORD3>\r
+                       <KEYWORD3>rationalp</KEYWORD3>\r
+                       <KEYWORD3>read</KEYWORD3>\r
+                       <KEYWORD3>read-byte</KEYWORD3>\r
+                       <KEYWORD3>read-char</KEYWORD3>\r
+                       <KEYWORD3>read-char-no-hang</KEYWORD3>\r
+                       <KEYWORD3>read-delimited-list</KEYWORD3>\r
+                       <KEYWORD3>read-from-string</KEYWORD3>\r
+                       <KEYWORD3>read-line</KEYWORD3>\r
+                       <KEYWORD3>read-preserving-whitespace</KEYWORD3>\r
+                       <KEYWORD3>read-sequence</KEYWORD3>\r
+                       <KEYWORD3>reader-error</KEYWORD3>\r
+                       <KEYWORD3>readtable</KEYWORD3>\r
+                       <KEYWORD3>readtable-case</KEYWORD3>\r
+                       <KEYWORD3>readtablep</KEYWORD3>\r
+                       <KEYWORD3>real</KEYWORD3>\r
+                       <KEYWORD3>realp</KEYWORD3>\r
+                       <KEYWORD3>realpart</KEYWORD3>\r
+                       <KEYWORD3>reduce</KEYWORD3>\r
+                       <KEYWORD3>reinitialize-instance</KEYWORD3>\r
+                       <KEYWORD3>rem</KEYWORD3>\r
+                       <KEYWORD3>remf</KEYWORD3>\r
+                       <KEYWORD3>remhash</KEYWORD3>\r
+                       <KEYWORD3>remove</KEYWORD3>\r
+                       <KEYWORD3>remove-duplicates</KEYWORD3>\r
+                       <KEYWORD3>remove-if</KEYWORD3>\r
+                       <KEYWORD3>remove-if-not</KEYWORD3>\r
+                       <KEYWORD3>remove-method</KEYWORD3>\r
+                       <KEYWORD3>remprop</KEYWORD3>\r
+                       <KEYWORD3>rename-file</KEYWORD3>\r
+                       <KEYWORD3>rename-package</KEYWORD3>\r
+                       <KEYWORD3>replace</KEYWORD3>\r
+                       <KEYWORD3>rest</KEYWORD3>\r
+                       <KEYWORD3>restart</KEYWORD3>\r
+                       <KEYWORD3>revappend</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>room</KEYWORD3>\r
+                       <KEYWORD3>rotatef</KEYWORD3>\r
+                       <KEYWORD3>round</KEYWORD3>\r
+                       <KEYWORD3>row-major-aref</KEYWORD3>\r
+                       <KEYWORD3>rplaca</KEYWORD3>\r
+                       <KEYWORD3>rplacd</KEYWORD3>\r
+                       <KEYWORD3>safety</KEYWORD3>\r
+                       <KEYWORD3>satisfies</KEYWORD3>\r
+                       <KEYWORD3>sbit</KEYWORD3>\r
+                       <KEYWORD3>scale-float</KEYWORD3>\r
+                       <KEYWORD3>schar</KEYWORD3>\r
+                       <KEYWORD3>search</KEYWORD3>\r
+                       <KEYWORD3>second</KEYWORD3>\r
+                       <KEYWORD3>sequence</KEYWORD3>\r
+                       <KEYWORD3>serious-condition</KEYWORD3>\r
+                       <KEYWORD3>set</KEYWORD3>\r
+                       <KEYWORD3>set-difference</KEYWORD3>\r
+                       <KEYWORD3>set-dispatch-macro-character</KEYWORD3>\r
+                       <KEYWORD3>set-exclusive-or</KEYWORD3>\r
+                       <KEYWORD3>set-macro-character</KEYWORD3>\r
+                       <KEYWORD3>set-pprint-dispatch</KEYWORD3>\r
+                       <KEYWORD3>set-syntax-from-char</KEYWORD3>\r
+                       <KEYWORD3>setf</KEYWORD3>\r
+                       <KEYWORD3>setq</KEYWORD3>\r
+                       <KEYWORD3>seventh</KEYWORD3>\r
+                       <KEYWORD3>shadow</KEYWORD3>\r
+                       <KEYWORD3>shadowing-import</KEYWORD3>\r
+                       <KEYWORD3>shared-initialize</KEYWORD3>\r
+                       <KEYWORD3>shiftf</KEYWORD3>\r
+                       <KEYWORD3>short-float</KEYWORD3>\r
+                       <KEYWORD3>short-float-epsilon</KEYWORD3>\r
+                       <KEYWORD3>short-float-negative-epsilon</KEYWORD3>\r
+                       <KEYWORD3>short-site-name</KEYWORD3>\r
+                       <KEYWORD3>signed-byte</KEYWORD3>\r
+                       <KEYWORD3>signum</KEYWORD3>\r
+                       <KEYWORD3>simple-array</KEYWORD3>\r
+                       <KEYWORD3>simple-base-string</KEYWORD3>\r
+                       <KEYWORD3>simple-bit-vector</KEYWORD3>\r
+                       <KEYWORD3>simple-bit-vector-p</KEYWORD3>\r
+                       <KEYWORD3>simple-condition</KEYWORD3>\r
+                       <KEYWORD3>simple-condition-format-arguments</KEYWORD3>\r
+                       <KEYWORD3>simple-condition-format-control</KEYWORD3>\r
+                       <KEYWORD3>simple-error</KEYWORD3>\r
+                       <KEYWORD3>simple-string</KEYWORD3>\r
+                       <KEYWORD3>simple-string-p</KEYWORD3>\r
+                       <KEYWORD3>simple-type-error</KEYWORD3>\r
+                       <KEYWORD3>simple-vector</KEYWORD3>\r
+                       <KEYWORD3>simple-vector-p</KEYWORD3>\r
+                       <KEYWORD3>simple-warning</KEYWORD3>\r
+                       <KEYWORD3>sin</KEYWORD3>\r
+                       <KEYWORD3>single-float</KEYWORD3>\r
+                       <KEYWORD3>single-float-epsilon</KEYWORD3>\r
+                       <KEYWORD3>single-float-negative-epsilon</KEYWORD3>\r
+                       <KEYWORD3>sinh</KEYWORD3>\r
+                       <KEYWORD3>sixth</KEYWORD3>\r
+                       <KEYWORD3>sleep</KEYWORD3>\r
+                       <KEYWORD3>slot-boundp</KEYWORD3>\r
+                       <KEYWORD3>slot-exists-p</KEYWORD3>\r
+                       <KEYWORD3>slot-makunbound</KEYWORD3>\r
+                       <KEYWORD3>slot-missing</KEYWORD3>\r
+                       <KEYWORD3>slot-unbound</KEYWORD3>\r
+                       <KEYWORD3>slot-value</KEYWORD3>\r
+                       <KEYWORD3>software-type</KEYWORD3>\r
+                       <KEYWORD3>software-version</KEYWORD3>\r
+                       <KEYWORD3>some</KEYWORD3>\r
+                       <KEYWORD3>sort</KEYWORD3>\r
+                       <KEYWORD3>space</KEYWORD3>\r
+                       <KEYWORD3>special</KEYWORD3>\r
+                       <KEYWORD3>special-operator-p</KEYWORD3>\r
+                       <KEYWORD3>speed</KEYWORD3>\r
+                       <KEYWORD3>sqrt</KEYWORD3>\r
+                       <KEYWORD3>stable-sort</KEYWORD3>\r
+                       <KEYWORD3>standard</KEYWORD3>\r
+                       <KEYWORD3>standard-char</KEYWORD3>\r
+                       <KEYWORD3>standard-char-p</KEYWORD3>\r
+                       <KEYWORD3>standard-class</KEYWORD3>\r
+                       <KEYWORD3>standard-generic-function</KEYWORD3>\r
+                       <KEYWORD3>standard-method</KEYWORD3>\r
+                       <KEYWORD3>standard-object</KEYWORD3>\r
+                       <KEYWORD3>step</KEYWORD3>\r
+                       <KEYWORD3>storage-condition</KEYWORD3>\r
+                       <KEYWORD3>store-value</KEYWORD3>\r
+                       <KEYWORD3>stream</KEYWORD3>\r
+                       <KEYWORD3>stream-element-type</KEYWORD3>\r
+                       <KEYWORD3>stream-error</KEYWORD3>\r
+                       <KEYWORD3>stream-error-stream</KEYWORD3>\r
+                       <KEYWORD3>stream-external-format</KEYWORD3>\r
+                       <KEYWORD3>streamp</KEYWORD3>\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>string-capitalize</KEYWORD3>\r
+                       <KEYWORD3>string-downcase</KEYWORD3>\r
+                       <KEYWORD3>string-equal</KEYWORD3>\r
+                       <KEYWORD3>string-greaterp</KEYWORD3>\r
+                       <KEYWORD3>string-left-trim</KEYWORD3>\r
+                       <KEYWORD3>string-lessp</KEYWORD3>\r
+                       <KEYWORD3>string-not-equal</KEYWORD3>\r
+                       <KEYWORD3>string-not-greaterp</KEYWORD3>\r
+                       <KEYWORD3>string-not-lessp</KEYWORD3>\r
+                       <KEYWORD3>string-right-trim</KEYWORD3>\r
+                       <KEYWORD3>string-stream</KEYWORD3>\r
+                       <KEYWORD3>string-trim</KEYWORD3>\r
+                       <KEYWORD3>string-upcase</KEYWORD3>\r
+                       <KEYWORD3>string/=</KEYWORD3>\r
+                       <KEYWORD3>string&lt;</KEYWORD3>\r
+                       <KEYWORD3>string&lt;=</KEYWORD3>\r
+                       <KEYWORD3>string=</KEYWORD3>\r
+                       <KEYWORD3>string&gt;</KEYWORD3>\r
+                       <KEYWORD3>string&gt;=</KEYWORD3>\r
+                       <KEYWORD3>stringp</KEYWORD3>\r
+                       <KEYWORD3>structure</KEYWORD3>\r
+                       <KEYWORD3>structure-class</KEYWORD3>\r
+                       <KEYWORD3>structure-object</KEYWORD3>\r
+                       <KEYWORD3>style-warning</KEYWORD3>\r
+                       <KEYWORD3>sublis</KEYWORD3>\r
+                       <KEYWORD3>subseq</KEYWORD3>\r
+                       <KEYWORD3>subsetp</KEYWORD3>\r
+                       <KEYWORD3>subst</KEYWORD3>\r
+                       <KEYWORD3>subst-if</KEYWORD3>\r
+                       <KEYWORD3>subst-if-not</KEYWORD3>\r
+                       <KEYWORD3>substitute</KEYWORD3>\r
+                       <KEYWORD3>substitute-if</KEYWORD3>\r
+                       <KEYWORD3>substitute-if-not</KEYWORD3>\r
+                       <KEYWORD3>subtypep</KEYWORD3>\r
+                       <KEYWORD3>svref</KEYWORD3>\r
+                       <KEYWORD3>sxhash</KEYWORD3>\r
+                       <KEYWORD3>symbol</KEYWORD3>\r
+                       <KEYWORD3>symbol-function</KEYWORD3>\r
+                       <KEYWORD3>symbol-name</KEYWORD3>\r
+                       <KEYWORD3>symbol-package</KEYWORD3>\r
+                       <KEYWORD3>symbol-plist</KEYWORD3>\r
+                       <KEYWORD3>symbol-value</KEYWORD3>\r
+                       <KEYWORD3>symbolp</KEYWORD3>\r
+                       <KEYWORD3>synonym-stream</KEYWORD3>\r
+                       <KEYWORD3>synonym-stream-symbol</KEYWORD3>\r
+                       <KEYWORD3>tailp</KEYWORD3>\r
+                       <KEYWORD3>tan</KEYWORD3>\r
+                       <KEYWORD3>tanh</KEYWORD3>\r
+                       <KEYWORD3>tenth</KEYWORD3>\r
+                       <KEYWORD3>terpri</KEYWORD3>\r
+                       <KEYWORD3>third</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>trace</KEYWORD3>\r
+                       <KEYWORD3>translate-logical-pathname</KEYWORD3>\r
+                       <KEYWORD3>translate-pathname</KEYWORD3>\r
+                       <KEYWORD3>tree-equal</KEYWORD3>\r
+                       <KEYWORD3>truename</KEYWORD3>\r
+                       <KEYWORD3>truncate</KEYWORD3>\r
+                       <KEYWORD3>two-way-stream</KEYWORD3>\r
+                       <KEYWORD3>two-way-stream-input-stream</KEYWORD3>\r
+                       <KEYWORD3>two-way-stream-output-stream</KEYWORD3>\r
+                       <KEYWORD3>type-error-datum</KEYWORD3>\r
+                       <KEYWORD3>type-error-expected-type</KEYWORD3>\r
+                       <KEYWORD3>type-error</KEYWORD3>\r
+                       <KEYWORD3>type-of</KEYWORD3>\r
+                       <KEYWORD3>typep</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>unbound-slot-instance</KEYWORD3>\r
+                       <KEYWORD3>unbound-slot</KEYWORD3>\r
+                       <KEYWORD3>unbound-variable</KEYWORD3>\r
+                       <KEYWORD3>undefined-function</KEYWORD3>\r
+                       <KEYWORD3>unexport</KEYWORD3>\r
+                       <KEYWORD3>unintern</KEYWORD3>\r
+                       <KEYWORD3>union</KEYWORD3>\r
+                       <KEYWORD3>unread-char</KEYWORD3>\r
+                       <KEYWORD3>unsigned-byte</KEYWORD3>\r
+                       <KEYWORD3>untrace</KEYWORD3>\r
+                       <KEYWORD3>unuse-package</KEYWORD3>\r
+                       <KEYWORD3>update-instance-for-different-class</KEYWORD3>\r
+                       <KEYWORD3>update-instance-for-redefined-class</KEYWORD3>\r
+                       <KEYWORD3>upgraded-array-element-type</KEYWORD3>\r
+                       <KEYWORD3>upgraded-complex-part-type</KEYWORD3>\r
+                       <KEYWORD3>upper-case-p</KEYWORD3>\r
+                       <KEYWORD3>use-package</KEYWORD3>\r
+                       <KEYWORD3>use-value</KEYWORD3>\r
+                       <KEYWORD3>user-homedir-pathname</KEYWORD3>\r
+                       <KEYWORD3>values</KEYWORD3>\r
+                       <KEYWORD3>values-list</KEYWORD3>\r
+                       <KEYWORD3>variable</KEYWORD3>\r
+                       <KEYWORD3>vector</KEYWORD3>\r
+                       <KEYWORD3>vector-pop</KEYWORD3>\r
+                       <KEYWORD3>vector-push</KEYWORD3>\r
+                       <KEYWORD3>vector-push-extend</KEYWORD3>\r
+                       <KEYWORD3>vectorp</KEYWORD3>\r
+                       <KEYWORD3>warn</KEYWORD3>\r
+                       <KEYWORD3>warning</KEYWORD3>\r
+                       <KEYWORD3>wild-pathname-p</KEYWORD3>\r
+                       <KEYWORD3>write</KEYWORD3>\r
+                       <KEYWORD3>write-byte</KEYWORD3>\r
+                       <KEYWORD3>write-char</KEYWORD3>\r
+                       <KEYWORD3>write-line</KEYWORD3>\r
+                       <KEYWORD3>write-sequence</KEYWORD3>\r
+                       <KEYWORD3>write-string</KEYWORD3>\r
+                       <KEYWORD3>write-to-string</KEYWORD3>\r
+                       <KEYWORD3>y-or-n-p</KEYWORD3>\r
+                       <KEYWORD3>yes-or-no-p</KEYWORD3>\r
+                       <KEYWORD3>zerop</KEYWORD3>\r
+\r
+                       <LITERAL2>t</LITERAL2>\r
+                       <LITERAL2>nil</LITERAL2>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/literate-haskell.xml b/basis/xmode/modes/literate-haskell.xml
new file mode 100644 (file)
index 0000000..c74ad3a
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       Literate Haskell mode by Cameron Morrison (c.morrison@iinet.net.au)\r
+       Modified version of the Haskell mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
+       Based on Haskell 98\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="{-" />\r
+               <PROPERTY NAME="commentEnd" VALUE="-}" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+               <!-- apparently, this is required... -->\r
+               <PROPERTY NAME="tabSize" VALUE="8" />\r
+               <PROPERTY NAME="indentSize" VALUE="8" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" DEFAULT="COMMENT4">\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="FUNCTION" DELEGATE="haskell::MAIN">&gt;</EOL_SPAN>\r
+               <!-- for LaTeX-style -->\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT3">%</EOL_SPAN>\r
+               <SPAN TYPE="LITERAL3" DELEGATE="haskell::MAIN">\r
+                       <BEGIN>\begin{code}</BEGIN>\r
+                       <END>\end{code}</END>\r
+               </SPAN>\r
+               <!--\r
+               <EOL_SPAN_REGEXP HASH_CHAR="\" AT_LINE_START="TRUE"\r
+                       DELEGATE="latex::MAIN" TYPE="KEYWORD1"\r
+               >\\\w+</EOL_SPAN_REGEXP>\r
+               -->\r
+    </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/lotos.xml b/basis/xmode/modes/lotos.xml
new file mode 100644 (file)
index 0000000..bd1d4b7
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+  lotos.xml    K. J. Turner <kjt@cs.stir.ac.uk>        24th April 2003\r
+\r
+  LOTOS (Language Of Temporal Ordering Specification) is an ISO standard\r
+  (8807) for a formal specification language used in communications and system\r
+  specification generally.\r
+\r
+  This mode does not (yet) deal with ISO 15437 (E-LOTOS, Enhanced LOTOS).\r
+\r
+  Auto-indentation occurs if the following are at the start of a line\r
+  (ignoring leading white space): "let", "library", "process", "specification",\r
+  "type", , ">>". This also happens if the following appear on their own (i.e.\r
+  also ignoring trailing white space): "(", "[]", "[>", "||" "|||", "|[...]|",\r
+  "[...]->".\r
+-->\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart" VALUE="(*"/>\r
+    <PROPERTY NAME="commentEnd" VALUE="*)"/>\r
+    <PROPERTY NAME="indentNextLines"\r
+      VALUE="\s*(let|library|process|specification|type|>>).*|\s*(\(|\[\]|\[>|\|\||\|\|\||\|\[.*\]\||\[.*\]\s*->)\s*"/>\r
+  </PROPS>\r
+\r
+  <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+    <!-- Comments -->\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>(*</BEGIN>\r
+      <END>*)</END>\r
+    </SPAN>\r
+\r
+    <!-- Standard Operators -->\r
+    <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">[&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">|||</SEQ>\r
+    <SEQ TYPE="OPERATOR">||</SEQ>\r
+    <SEQ TYPE="OPERATOR">|[</SEQ>\r
+    <SEQ TYPE="OPERATOR">]|</SEQ>\r
+    <SEQ TYPE="OPERATOR">[]</SEQ>\r
+\r
+    <KEYWORDS>\r
+      <!-- Reserved Words -->\r
+      <KEYWORD1>accept</KEYWORD1>\r
+      <KEYWORD1>actualizedby</KEYWORD1>\r
+      <KEYWORD1>any</KEYWORD1>\r
+      <KEYWORD1>behavior</KEYWORD1>\r
+      <KEYWORD1>behaviour</KEYWORD1>\r
+      <KEYWORD1>choice</KEYWORD1>\r
+      <KEYWORD1>endlib</KEYWORD1>\r
+      <KEYWORD1>endproc</KEYWORD1>\r
+      <KEYWORD1>endspec</KEYWORD1>\r
+      <KEYWORD1>endtype</KEYWORD1>\r
+      <KEYWORD1>eqns</KEYWORD1>\r
+      <KEYWORD1>exit</KEYWORD1>\r
+      <KEYWORD1>for</KEYWORD1>\r
+      <KEYWORD1>forall</KEYWORD1>\r
+      <KEYWORD1>formaleqns</KEYWORD1>\r
+      <KEYWORD1>formalopns</KEYWORD1>\r
+      <KEYWORD1>formalsorts</KEYWORD1>\r
+      <KEYWORD1>hide</KEYWORD1>\r
+      <KEYWORD1>i</KEYWORD1>\r
+      <KEYWORD1>in</KEYWORD1>\r
+      <KEYWORD1>is</KEYWORD1>\r
+      <KEYWORD1>let</KEYWORD1>\r
+      <KEYWORD1>library</KEYWORD1>\r
+      <KEYWORD1>noexit</KEYWORD1>\r
+      <KEYWORD1>of</KEYWORD1>\r
+      <KEYWORD1>ofsort</KEYWORD1>\r
+      <KEYWORD1>opnnames</KEYWORD1>\r
+      <KEYWORD1>opns</KEYWORD1>\r
+      <KEYWORD1>par</KEYWORD1>\r
+      <KEYWORD1>process</KEYWORD1>\r
+      <KEYWORD1>renamedby</KEYWORD1>\r
+      <KEYWORD1>sortnames</KEYWORD1>\r
+      <KEYWORD1>sorts</KEYWORD1>\r
+      <KEYWORD1>specification</KEYWORD1>\r
+      <KEYWORD1>stop</KEYWORD1>\r
+      <KEYWORD1>type</KEYWORD1>\r
+      <KEYWORD1>using</KEYWORD1>\r
+      <KEYWORD1>where</KEYWORD1>\r
+\r
+      <!-- Standard Library Sorts -->\r
+      <KEYWORD2>Bit</KEYWORD2>\r
+      <KEYWORD2>BitString</KEYWORD2>\r
+      <KEYWORD2>Bool</KEYWORD2>\r
+      <KEYWORD2>DecDigit</KEYWORD2>\r
+      <KEYWORD2>DecString</KEYWORD2>\r
+      <KEYWORD2>Element</KEYWORD2>\r
+      <KEYWORD2>FBool</KEYWORD2>\r
+      <KEYWORD2>HexDigit</KEYWORD2>\r
+      <KEYWORD2>HexString</KEYWORD2>\r
+      <KEYWORD2>OctDigit</KEYWORD2>\r
+      <KEYWORD2>Octet</KEYWORD2>\r
+      <KEYWORD2>OctString</KEYWORD2>\r
+      <KEYWORD2>Nat</KEYWORD2>\r
+      <KEYWORD2>NonEmptyString</KEYWORD2>\r
+      <KEYWORD2>OctetString</KEYWORD2>\r
+      <KEYWORD2>Set</KEYWORD2>\r
+      <KEYWORD2>String</KEYWORD2>\r
+\r
+      <!-- Standard Library Types (where differing from Sorts) -->\r
+      <KEYWORD2>BasicNaturalNumber</KEYWORD2>\r
+      <KEYWORD2>BasicNonEmptyString</KEYWORD2>\r
+      <KEYWORD2>BitNatRepr</KEYWORD2>\r
+      <KEYWORD2>Boolean</KEYWORD2>\r
+      <KEYWORD2>FBoolean</KEYWORD2>\r
+      <KEYWORD2>DecNatRepr</KEYWORD2>\r
+      <KEYWORD2>HexNatRepr</KEYWORD2>\r
+      <KEYWORD2>NatRepresentations</KEYWORD2>\r
+      <KEYWORD2>NaturalNumber</KEYWORD2>\r
+      <KEYWORD2>OctNatRepr</KEYWORD2>\r
+      <KEYWORD2>RicherNonEmptyString</KEYWORD2>\r
+      <KEYWORD2>String0</KEYWORD2>\r
+      <KEYWORD2>String1</KEYWORD2>\r
+\r
+      <!-- Standard Library Literals -->\r
+      <LITERAL1>false</LITERAL1>\r
+      <LITERAL1>true</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/lua.xml b/basis/xmode/modes/lua.xml
new file mode 100644 (file)
index 0000000..04f9f76
--- /dev/null
@@ -0,0 +1,238 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!-- Lua 5.0 Mode, written by Philipp Janda -->\r
+\r
+<!-- TODO:\r
+  * Autoindent screws up, if { or ( gets typed after the indentNextLines trigger\r
+  -> This is very annoying, so I disabled the automatic indenting in this case!\r
+  -> It should be fixed if you set doubleBracketIndent to "true", but I keep it\r
+     disabled anyway since it is not that useful if you don't have an unindent!\r
+  * Should I use FUNCTION and OPERATOR tags inside of <KEYWORDS>??!!\r
+-->\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <!-- Comments -->\r
+    <PROPERTY NAME="lineComment" VALUE="--"/>\r
+    <PROPERTY NAME="commentStart" VALUE="--[["/>\r
+    <PROPERTY NAME="commentEnd" VALUE="]]"/>\r
+    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*"/>\r
+    <!-- Auto indent -->\r
+    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>\r
+    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
+    <!--\r
+    <PROPERTY NAME="indentNextLines" VALUE=".*((then|else|do|function)).*"/>\r
+    -->\r
+    <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>\r
+  </PROPS>\r
+  <RULES IGNORE_CASE="FALSE" NO_WORD_SEP="_:." HIGHLIGHT_DIGITS="TRUE"\r
+         DIGIT_RE="[\p{Digit}]*(\.[\p{Digit}]*)?([eE][+-]?[\p{Digit}]*)?">\r
+    <!-- Multiline comments -->\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>--[[</BEGIN>\r
+      <END>]]</END>\r
+    </SPAN>\r
+    <!-- Single line comments -->\r
+    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+    <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">#!</EOL_SPAN>\r
+    <!-- Simple string literals -->\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+    <!-- Multiline string literals -->\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>[[</BEGIN>\r
+      <END>]]</END>\r
+    </SPAN>\r
+    <!-- Operators -->\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="OPERATOR">..</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">==</SEQ>\r
+    <SEQ TYPE="OPERATOR">~=</SEQ>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <!-- Function calls and definitions -->\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">)</SEQ>\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">{</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">}</SEQ>\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">"</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">"</SEQ>\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">'</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">'</SEQ>\r
+\r
+    <KEYWORDS>\r
+      <!-- Keywords -->\r
+      <KEYWORD1>do</KEYWORD1>\r
+      <KEYWORD1>end</KEYWORD1>\r
+      <KEYWORD1>while</KEYWORD1>\r
+      <KEYWORD1>repeat</KEYWORD1>\r
+      <KEYWORD1>until</KEYWORD1>\r
+      <KEYWORD1>if</KEYWORD1>\r
+      <KEYWORD1>then</KEYWORD1>\r
+      <KEYWORD1>elseif</KEYWORD1>\r
+      <KEYWORD1>else</KEYWORD1>\r
+      <KEYWORD1>return</KEYWORD1>\r
+      <KEYWORD1>break</KEYWORD1>\r
+      <KEYWORD1>for</KEYWORD1>\r
+      <KEYWORD1>in</KEYWORD1>\r
+      <KEYWORD1>function</KEYWORD1>\r
+      <KEYWORD1>local</KEYWORD1>\r
+      <KEYWORD3>nil</KEYWORD3>\r
+      <KEYWORD3>true</KEYWORD3>\r
+      <KEYWORD3>false</KEYWORD3>\r
+      <KEYWORD1>and</KEYWORD1>\r
+      <KEYWORD1>or</KEYWORD1>\r
+      <KEYWORD1>not</KEYWORD1>\r
+      <!-- Builtin functions or special names -->\r
+      <KEYWORD2>assert</KEYWORD2>\r
+      <KEYWORD2>collectgarbage</KEYWORD2>\r
+      <KEYWORD2>dofile</KEYWORD2>\r
+      <KEYWORD2>error</KEYWORD2>\r
+      <KEYWORD2>_G</KEYWORD2>\r
+      <KEYWORD2>getfenv</KEYWORD2>\r
+      <KEYWORD2>getmetatable</KEYWORD2>\r
+      <KEYWORD2>gcinfo</KEYWORD2>\r
+      <KEYWORD2>ipairs</KEYWORD2>\r
+      <KEYWORD2>loadfile</KEYWORD2>\r
+      <KEYWORD2>loadlib</KEYWORD2>\r
+      <KEYWORD2>loadstring</KEYWORD2>\r
+      <KEYWORD2>next</KEYWORD2>\r
+      <KEYWORD2>pairs</KEYWORD2>\r
+      <KEYWORD2>pcall</KEYWORD2>\r
+      <KEYWORD2>print</KEYWORD2>\r
+      <KEYWORD2>rawequal</KEYWORD2>\r
+      <KEYWORD2>rawget</KEYWORD2>\r
+      <KEYWORD2>rawset</KEYWORD2>\r
+      <KEYWORD2>require</KEYWORD2>\r
+      <KEYWORD2>setfenv</KEYWORD2>\r
+      <KEYWORD2>setmetatable</KEYWORD2>\r
+      <KEYWORD2>tonumber</KEYWORD2>\r
+      <KEYWORD2>tostring</KEYWORD2>\r
+      <KEYWORD2>type</KEYWORD2>\r
+      <KEYWORD2>unpack</KEYWORD2>\r
+      <KEYWORD2>xpcall</KEYWORD2>\r
+      <KEYWORD2>_VERSION</KEYWORD2>\r
+      <KEYWORD2>LUA_PATH</KEYWORD2>\r
+      <KEYWORD2>_LOADED</KEYWORD2>\r
+      <KEYWORD2>_REQUIREDNAME</KEYWORD2>\r
+      <KEYWORD2>_ALERT</KEYWORD2>\r
+      <KEYWORD2>_ERRORMESSAGE</KEYWORD2>\r
+      <KEYWORD2>_PROMPT</KEYWORD2>\r
+      <KEYWORD2>__add</KEYWORD2>\r
+      <KEYWORD2>__sub</KEYWORD2>\r
+      <KEYWORD2>__mul</KEYWORD2>\r
+      <KEYWORD2>__div</KEYWORD2>\r
+      <KEYWORD2>__pow</KEYWORD2>\r
+      <KEYWORD2>__unm</KEYWORD2>\r
+      <KEYWORD2>__concat</KEYWORD2>\r
+      <KEYWORD2>__eq</KEYWORD2>\r
+      <KEYWORD2>__lt</KEYWORD2>\r
+      <KEYWORD2>__le</KEYWORD2>\r
+      <KEYWORD2>__index</KEYWORD2>\r
+      <KEYWORD2>__newindex</KEYWORD2>\r
+      <KEYWORD2>__call</KEYWORD2>\r
+      <KEYWORD2>__metatable</KEYWORD2>\r
+      <KEYWORD2>__mode</KEYWORD2>\r
+      <KEYWORD2>__tostring</KEYWORD2>\r
+      <KEYWORD2>__fenv</KEYWORD2>\r
+      <KEYWORD2>...</KEYWORD2>\r
+      <KEYWORD2>arg</KEYWORD2>\r
+      <KEYWORD2>coroutine.create</KEYWORD2>\r
+      <KEYWORD2>coroutine.resume</KEYWORD2>\r
+      <KEYWORD2>coroutine.status</KEYWORD2>\r
+      <KEYWORD2>coroutine.wrap</KEYWORD2>\r
+      <KEYWORD2>coroutine.yield</KEYWORD2>\r
+      <KEYWORD2>string.byte</KEYWORD2>\r
+      <KEYWORD2>string.char</KEYWORD2>\r
+      <KEYWORD2>string.dump</KEYWORD2>\r
+      <KEYWORD2>string.find</KEYWORD2>\r
+      <KEYWORD2>string.len</KEYWORD2>\r
+      <KEYWORD2>string.lower</KEYWORD2>\r
+      <KEYWORD2>string.rep</KEYWORD2>\r
+      <KEYWORD2>string.sub</KEYWORD2>\r
+      <KEYWORD2>string.upper</KEYWORD2>\r
+      <KEYWORD2>string.format</KEYWORD2>\r
+      <KEYWORD2>string.gfind</KEYWORD2>\r
+      <KEYWORD2>string.gsub</KEYWORD2>\r
+      <KEYWORD2>table.concat</KEYWORD2>\r
+      <KEYWORD2>table.foreach</KEYWORD2>\r
+      <KEYWORD2>table.foreachi</KEYWORD2>\r
+      <KEYWORD2>table.getn</KEYWORD2>\r
+      <KEYWORD2>table.sort</KEYWORD2>\r
+      <KEYWORD2>table.insert</KEYWORD2>\r
+      <KEYWORD2>table.remove</KEYWORD2>\r
+      <KEYWORD2>table.setn</KEYWORD2>\r
+      <KEYWORD2>math.abs</KEYWORD2>\r
+      <KEYWORD2>math.acos</KEYWORD2>\r
+      <KEYWORD2>math.asin</KEYWORD2>\r
+      <KEYWORD2>math.atan</KEYWORD2>\r
+      <KEYWORD2>math.atan2</KEYWORD2>\r
+      <KEYWORD2>math.ceil</KEYWORD2>\r
+      <KEYWORD2>math.cos</KEYWORD2>\r
+      <KEYWORD2>math.deg</KEYWORD2>\r
+      <KEYWORD2>math.exp</KEYWORD2>\r
+      <KEYWORD2>math.floor</KEYWORD2>\r
+      <KEYWORD2>math.log</KEYWORD2>\r
+      <KEYWORD2>math.log10</KEYWORD2>\r
+      <KEYWORD2>math.max</KEYWORD2>\r
+      <KEYWORD2>math.min</KEYWORD2>\r
+      <KEYWORD2>math.mod</KEYWORD2>\r
+      <KEYWORD2>math.pow</KEYWORD2>\r
+      <KEYWORD2>math.rad</KEYWORD2>\r
+      <KEYWORD2>math.sin</KEYWORD2>\r
+      <KEYWORD2>math.sqrt</KEYWORD2>\r
+      <KEYWORD2>math.tan</KEYWORD2>\r
+      <KEYWORD2>math.frexp</KEYWORD2>\r
+      <KEYWORD2>math.ldexp</KEYWORD2>\r
+      <KEYWORD2>math.random</KEYWORD2>\r
+      <KEYWORD2>math.randomseed</KEYWORD2>\r
+      <KEYWORD2>math.pi</KEYWORD2>\r
+      <KEYWORD2>io.close</KEYWORD2>\r
+      <KEYWORD2>io.flush</KEYWORD2>\r
+      <KEYWORD2>io.input</KEYWORD2>\r
+      <KEYWORD2>io.lines</KEYWORD2>\r
+      <KEYWORD2>io.open</KEYWORD2>\r
+      <KEYWORD2>io.read</KEYWORD2>\r
+      <KEYWORD2>io.tmpfile</KEYWORD2>\r
+      <KEYWORD2>io.type</KEYWORD2>\r
+      <KEYWORD2>io.write</KEYWORD2>\r
+      <KEYWORD2>io.stdin</KEYWORD2>\r
+      <KEYWORD2>io.stdout</KEYWORD2>\r
+      <KEYWORD2>io.stderr</KEYWORD2>\r
+      <KEYWORD2>os.clock</KEYWORD2>\r
+      <KEYWORD2>os.date</KEYWORD2>\r
+      <KEYWORD2>os.difftime</KEYWORD2>\r
+      <KEYWORD2>os.execute</KEYWORD2>\r
+      <KEYWORD2>os.exit</KEYWORD2>\r
+      <KEYWORD2>os.getenv</KEYWORD2>\r
+      <KEYWORD2>os.remove</KEYWORD2>\r
+      <KEYWORD2>os.rename</KEYWORD2>\r
+      <KEYWORD2>os.setlocale</KEYWORD2>\r
+      <KEYWORD2>os.time</KEYWORD2>\r
+      <KEYWORD2>os.tmpname</KEYWORD2>\r
+      <KEYWORD2>debug.debug</KEYWORD2>\r
+      <KEYWORD2>debug.gethook</KEYWORD2>\r
+      <KEYWORD2>debug.getinfo</KEYWORD2>\r
+      <KEYWORD2>debug.getlocal</KEYWORD2>\r
+      <KEYWORD2>debug.getupvalue</KEYWORD2>\r
+      <KEYWORD2>debug.setlocal</KEYWORD2>\r
+      <KEYWORD2>debug.setupvalue</KEYWORD2>\r
+      <KEYWORD2>debug.sethook</KEYWORD2>\r
+      <KEYWORD2>debug.traceback</KEYWORD2>\r
+    </KEYWORDS>\r
+  </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/mail.xml b/basis/xmode/modes/mail.xml
new file mode 100644 (file)
index 0000000..ac49069
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=">" />\r
+               <PROPERTY NAME="noWordSep" VALUE="-_" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP="-_:)">\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT3">&gt;&gt;&gt;</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">&gt;&gt;</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">&gt;</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">| </EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">:</EOL_SPAN>\r
+               <SEQ TYPE="COMMENT2" DELEGATE="SIGNATURE"\r
+                       AT_LINE_START="TRUE">-- </SEQ>\r
+               <SEQ TYPE="KEYWORD1">:-)</SEQ>\r
+               <SEQ TYPE="KEYWORD1">:-(</SEQ>\r
+               <SEQ TYPE="KEYWORD1">:)</SEQ>\r
+               <SEQ TYPE="KEYWORD1">:(</SEQ>\r
+               <SEQ TYPE="KEYWORD1">;-)</SEQ>\r
+               <SEQ TYPE="KEYWORD1">;-(</SEQ>\r
+               <SEQ TYPE="KEYWORD1">;)</SEQ>\r
+               <SEQ TYPE="KEYWORD1">;(</SEQ>\r
+               <MARK_PREVIOUS AT_LINE_START="TRUE" TYPE="LABEL">:</MARK_PREVIOUS>\r
+       </RULES>\r
+       <RULES SET="SIGNATURE" DEFAULT="COMMENT2"/>\r
+       <RULES SET="HEADER" DEFAULT="MARKUP">\r
+               <SPAN NO_LINE_BREAK="TRUE" TYPE="KEYWORD2">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/makefile.xml b/basis/xmode/modes/makefile.xml
new file mode 100644 (file)
index 0000000..3f4fae7
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- Function calls -->\r
+               <SPAN_REGEXP TYPE="FUNCTION" HASH_CHAR="$" DELEGATE="MAIN">\r
+                       <BEGIN>\$\([a-zA-Z][\w-]* </BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- $(...) variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>$(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <!-- Literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+=</SEQ>\r
+               <SEQ TYPE="OPERATOR">?=</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>subst</KEYWORD1>\r
+                       <KEYWORD1>addprefix</KEYWORD1>\r
+                       <KEYWORD1>addsuffix</KEYWORD1>\r
+                       <KEYWORD1>basename</KEYWORD1>\r
+                       <KEYWORD1>dir</KEYWORD1>\r
+                       <KEYWORD1>filter</KEYWORD1>\r
+                       <KEYWORD1>filter-out</KEYWORD1>\r
+                       <KEYWORD1>findstring</KEYWORD1>\r
+                       <KEYWORD1>firstword</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>join</KEYWORD1>\r
+                       <KEYWORD1>notdir</KEYWORD1>\r
+                       <KEYWORD1>origin</KEYWORD1>\r
+                       <KEYWORD1>patsubst</KEYWORD1>\r
+                       <KEYWORD1>shell</KEYWORD1>\r
+                       <KEYWORD1>sort</KEYWORD1>\r
+                       <KEYWORD1>strip</KEYWORD1>\r
+                       <KEYWORD1>suffix</KEYWORD1>\r
+                       <KEYWORD1>wildcard</KEYWORD1>\r
+                       <KEYWORD1>word</KEYWORD1>\r
+                       <KEYWORD1>words</KEYWORD1>\r
+                       <KEYWORD1>ifeq</KEYWORD1>\r
+            <KEYWORD1>ifneq</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>endif</KEYWORD1>\r
+            <KEYWORD1>define</KEYWORD1>\r
+            <KEYWORD1>endef</KEYWORD1>\r
+            <KEYWORD1>ifdef</KEYWORD1>\r
+            <KEYWORD1>ifndef</KEYWORD1>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+       <RULES SET="VARIABLE" ESCAPE="\" IGNORE_CASE="FALSE"\r
+               DEFAULT="KEYWORD2">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- $(...) variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>$(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/maple.xml b/basis/xmode/modes/maple.xml
new file mode 100644 (file)
index 0000000..0bc33ca
--- /dev/null
@@ -0,0 +1,735 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Maple mode, by Jack Perry jeperry@eos.ncsu.edu -->\r
+<!-- Based on commands for Maple 7 -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+               \r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">$</SEQ>\r
+               <SEQ TYPE="OPERATOR">@@</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">||</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">::</SEQ>\r
+               <SEQ TYPE="OPERATOR">:-</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Reserved words -->\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>xor</KEYWORD1>\r
+                       <KEYWORD1>union</KEYWORD1>\r
+                       <KEYWORD1>intersect</KEYWORD1>\r
+                       <KEYWORD1>minus</KEYWORD1>\r
+                       <KEYWORD1>mod</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>assuming</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>by</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>description</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>done</KEYWORD1>\r
+                       <KEYWORD1>elif</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>error</KEYWORD1>\r
+                       <KEYWORD1>export</KEYWORD1>\r
+                       <KEYWORD1>fi</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>from</KEYWORD1>\r
+                       <KEYWORD1>global</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implies</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>module</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <KEYWORD1>od</KEYWORD1>\r
+                       <KEYWORD1>option</KEYWORD1>\r
+                       <KEYWORD1>options</KEYWORD1>\r
+                       <KEYWORD1>proc</KEYWORD1>\r
+                       <KEYWORD1>quit</KEYWORD1>\r
+                       <KEYWORD1>read</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>save</KEYWORD1>\r
+                       <KEYWORD1>stop</KEYWORD1>\r
+                       <KEYWORD1>subset</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <!-- Standard library functions -->\r
+                       <FUNCTION>about</FUNCTION>\r
+                       <FUNCTION>ans</FUNCTION>\r
+                       <FUNCTION>add</FUNCTION>\r
+                       <FUNCTION>addcoords</FUNCTION>\r
+                       <FUNCTION>additionally</FUNCTION>\r
+                       <FUNCTION>addproperty</FUNCTION>\r
+                       <FUNCTION>addressof</FUNCTION>\r
+                       <FUNCTION>AFactor</FUNCTION>\r
+                       <FUNCTION>AFactors</FUNCTION>\r
+                       <FUNCTION>AIrreduc</FUNCTION>\r
+                       <FUNCTION>AiryAi</FUNCTION>\r
+                       <FUNCTION>AiryAiZeros</FUNCTION>\r
+                       <FUNCTION>AiryBi</FUNCTION>\r
+                       <FUNCTION>AiryBiZeros</FUNCTION>\r
+                       <FUNCTION>algebraic</FUNCTION>\r
+                       <FUNCTION>algsubs</FUNCTION>\r
+                       <FUNCTION>alias</FUNCTION>\r
+                       <FUNCTION>allvalues</FUNCTION>\r
+                       <FUNCTION>anames</FUNCTION>\r
+                       <FUNCTION>AngerJ</FUNCTION>\r
+                       <FUNCTION>antihermitian</FUNCTION>\r
+                       <FUNCTION>antisymm</FUNCTION>\r
+                       <FUNCTION>apply</FUNCTION>\r
+                       <FUNCTION>applyop</FUNCTION>\r
+                       <FUNCTION>applyrule</FUNCTION>\r
+                       <FUNCTION>arccos</FUNCTION>\r
+                       <FUNCTION>arccosh</FUNCTION>\r
+                       <FUNCTION>arccot</FUNCTION>\r
+                       <FUNCTION>arccoth</FUNCTION>\r
+                       <FUNCTION>arccsc</FUNCTION>\r
+                       <FUNCTION>arccsch</FUNCTION>\r
+                       <FUNCTION>arcsec</FUNCTION>\r
+                       <FUNCTION>arcsech</FUNCTION>\r
+                       <FUNCTION>arcsin</FUNCTION>\r
+                       <FUNCTION>arcsinh</FUNCTION>\r
+                       <FUNCTION>arctan</FUNCTION>\r
+                       <FUNCTION>arctanh</FUNCTION>\r
+                       <FUNCTION>argument</FUNCTION>\r
+                       <FUNCTION>Array</FUNCTION>\r
+                       <FUNCTION>array</FUNCTION>\r
+                       <FUNCTION>ArrayDims</FUNCTION>\r
+                       <FUNCTION>ArrayElems</FUNCTION>\r
+                       <FUNCTION>ArrayIndFns</FUNCTION>\r
+                       <FUNCTION>ArrayOptions</FUNCTION>\r
+                       <FUNCTION>assign</FUNCTION>\r
+                       <FUNCTION>assigned</FUNCTION>\r
+                       <FUNCTION>asspar</FUNCTION>\r
+                       <FUNCTION>assume</FUNCTION>\r
+                       <FUNCTION>asympt</FUNCTION>\r
+                       <FUNCTION>attributes</FUNCTION>\r
+                       <FUNCTION>band</FUNCTION>\r
+                       <FUNCTION>Berlekamp</FUNCTION>\r
+                       <FUNCTION>bernoulli</FUNCTION>\r
+                       <FUNCTION>bernstein</FUNCTION>\r
+                       <FUNCTION>BesselI</FUNCTION>\r
+                       <FUNCTION>BesselJ</FUNCTION>\r
+                       <FUNCTION>BesselJZeros</FUNCTION>\r
+                       <FUNCTION>BesselK</FUNCTION>\r
+                       <FUNCTION>BesselY</FUNCTION>\r
+                       <FUNCTION>BesselYZeros</FUNCTION>\r
+                       <FUNCTION>Beta</FUNCTION>\r
+                       <FUNCTION>branches</FUNCTION>\r
+                       <FUNCTION>C</FUNCTION>\r
+                       <FUNCTION>cat</FUNCTION>\r
+                       <FUNCTION>ceil</FUNCTION>\r
+                       <FUNCTION>changecoords</FUNCTION>\r
+                       <FUNCTION>charfcn</FUNCTION>\r
+                       <FUNCTION>ChebyshevT</FUNCTION>\r
+                       <FUNCTION>ChebyShevU</FUNCTION>\r
+                       <FUNCTION>CheckArgs</FUNCTION>\r
+                       <FUNCTION>Chi</FUNCTION>\r
+                       <FUNCTION>chrem</FUNCTION>\r
+                       <FUNCTION>Ci</FUNCTION>\r
+                       <FUNCTION>close</FUNCTION>\r
+                       <FUNCTION>coeff</FUNCTION>\r
+                       <FUNCTION>coeffs</FUNCTION>\r
+                       <FUNCTION>coeftayl</FUNCTION>\r
+                       <FUNCTION>collect</FUNCTION>\r
+                       <FUNCTION>combine</FUNCTION>\r
+                       <FUNCTION>comparray</FUNCTION>\r
+                       <FUNCTION>compiletable</FUNCTION>\r
+                       <FUNCTION>compoly</FUNCTION>\r
+                       <FUNCTION>CompSeq</FUNCTION>\r
+                       <FUNCTION>conjugate</FUNCTION>\r
+                       <FUNCTION>constant</FUNCTION>\r
+                       <FUNCTION>Content</FUNCTION>\r
+                       <FUNCTION>content</FUNCTION>\r
+                       <FUNCTION>convergs</FUNCTION>\r
+                       <FUNCTION>convert</FUNCTION>\r
+                       <FUNCTION>coords</FUNCTION>\r
+                       <FUNCTION>copy</FUNCTION>\r
+                       <FUNCTION>CopySign</FUNCTION>\r
+                       <FUNCTION>cos</FUNCTION>\r
+                       <FUNCTION>cosh</FUNCTION>\r
+                       <FUNCTION>cot</FUNCTION>\r
+                       <FUNCTION>coth</FUNCTION>\r
+                       <FUNCTION>coulditbe</FUNCTION>\r
+                       <FUNCTION>csc</FUNCTION>\r
+                       <FUNCTION>csch</FUNCTION>\r
+                       <FUNCTION>csgn</FUNCTION>\r
+                       <FUNCTION>currentdir</FUNCTION>\r
+                       <FUNCTION>curry</FUNCTION>\r
+                       <FUNCTION>CylinderD</FUNCTION>\r
+                       <FUNCTION>CylinderU</FUNCTION>\r
+                       <FUNCTION>CylinderV</FUNCTION>\r
+                       <FUNCTION>D</FUNCTION>\r
+                       <FUNCTION>dawson</FUNCTION>\r
+                       <FUNCTION>Default0</FUNCTION>\r
+                       <FUNCTION>DefaultOverflow</FUNCTION>\r
+                       <FUNCTION>DefaultUnderflow</FUNCTION>\r
+                       <FUNCTION>define</FUNCTION>\r
+                       <FUNCTION>define_external</FUNCTION>\r
+                       <FUNCTION>degree</FUNCTION>\r
+                       <FUNCTION>denom</FUNCTION>\r
+                       <FUNCTION>depends</FUNCTION>\r
+                       <FUNCTION>DESol</FUNCTION>\r
+                       <FUNCTION>Det</FUNCTION>\r
+                       <FUNCTION>diagon</FUNCTION>\r
+                       <FUNCTION>Diff</FUNCTION>\r
+                       <FUNCTION>diff</FUNCTION>\r
+                       <FUNCTION>diffop</FUNCTION>\r
+                       <FUNCTION>Digits</FUNCTION>\r
+                       <FUNCTION>dilog</FUNCTION>\r
+                       <FUNCTION>dinterp</FUNCTION>\r
+                       <FUNCTION>Dirac</FUNCTION>\r
+                       <FUNCTION>disassemble</FUNCTION>\r
+                       <FUNCTION>discont</FUNCTION>\r
+                       <FUNCTION>discrim</FUNCTION>\r
+                       <FUNCTION>dismantle</FUNCTION>\r
+                       <FUNCTION>DistDeg</FUNCTION>\r
+                       <FUNCTION>Divide</FUNCTION>\r
+                       <FUNCTION>divide</FUNCTION>\r
+                       <FUNCTION>dsolve</FUNCTION>\r
+                       <FUNCTION>efficiency</FUNCTION>\r
+                       <FUNCTION>Ei</FUNCTION>\r
+                       <FUNCTION>Eigenvals</FUNCTION>\r
+                       <FUNCTION>eliminate</FUNCTION>\r
+                       <FUNCTION>ellipsoid</FUNCTION>\r
+                       <FUNCTION>EllipticCE</FUNCTION>\r
+                       <FUNCTION>EllipticCK</FUNCTION>\r
+                       <FUNCTION>EllipticCPi</FUNCTION>\r
+                       <FUNCTION>EllipticE</FUNCTION>\r
+                       <FUNCTION>EllipticF</FUNCTION>\r
+                       <FUNCTION>EllipticK</FUNCTION>\r
+                       <FUNCTION>EllipticModulus</FUNCTION>\r
+                       <FUNCTION>EllipticNome</FUNCTION>\r
+                       <FUNCTION>EllipticPi</FUNCTION>\r
+                       <FUNCTION>elliptic_int</FUNCTION>\r
+                       <FUNCTION>entries</FUNCTION>\r
+                       <FUNCTION>erf</FUNCTION>\r
+                       <FUNCTION>erfc</FUNCTION>\r
+                       <FUNCTION>erfi</FUNCTION>\r
+                       <FUNCTION>euler</FUNCTION>\r
+                       <FUNCTION>eulermac</FUNCTION>\r
+                       <FUNCTION>Eval</FUNCTION>\r
+                       <FUNCTION>eval</FUNCTION>\r
+                       <FUNCTION>evala</FUNCTION>\r
+                       <FUNCTION>evalapply</FUNCTION>\r
+                       <FUNCTION>evalb</FUNCTION>\r
+                       <FUNCTION>evalc</FUNCTION>\r
+                       <FUNCTION>evalf</FUNCTION>\r
+                       <FUNCTION>evalfint</FUNCTION>\r
+                       <FUNCTION>evalhf</FUNCTION>\r
+                       <FUNCTION>evalm</FUNCTION>\r
+                       <FUNCTION>evaln</FUNCTION>\r
+                       <FUNCTION>evalr</FUNCTION>\r
+                       <FUNCTION>evalrC</FUNCTION>\r
+                       <FUNCTION>events</FUNCTION>\r
+                       <FUNCTION>Excel</FUNCTION>\r
+                       <FUNCTION>exists</FUNCTION>\r
+                       <FUNCTION>exp</FUNCTION>\r
+                       <FUNCTION>Expand</FUNCTION>\r
+                       <FUNCTION>expand</FUNCTION>\r
+                       <FUNCTION>expandoff</FUNCTION>\r
+                       <FUNCTION>expandon</FUNCTION>\r
+                       <FUNCTION>exports</FUNCTION>\r
+                       <FUNCTION>extract</FUNCTION>\r
+                       <FUNCTION>extrema</FUNCTION>\r
+                       <FUNCTION>Factor</FUNCTION>\r
+                       <FUNCTION>factor</FUNCTION>\r
+                       <FUNCTION>Factors</FUNCTION>\r
+                       <FUNCTION>factors</FUNCTION>\r
+                       <FUNCTION>fclose</FUNCTION>\r
+                       <FUNCTION>fdiscont</FUNCTION>\r
+                       <FUNCTION>feof</FUNCTION>\r
+                       <FUNCTION>fflush</FUNCTION>\r
+                       <FUNCTION>FFT</FUNCTION>\r
+                       <FUNCTION>filepos</FUNCTION>\r
+                       <FUNCTION>fixdiv</FUNCTION>\r
+                       <FUNCTION>float</FUNCTION>\r
+                       <FUNCTION>floor</FUNCTION>\r
+                       <FUNCTION>fnormal</FUNCTION>\r
+                       <FUNCTION>fold</FUNCTION>\r
+                       <FUNCTION>fopen</FUNCTION>\r
+                       <FUNCTION>forall</FUNCTION>\r
+                       <FUNCTION>forget</FUNCTION>\r
+                       <FUNCTION>fprintf</FUNCTION>\r
+                       <FUNCTION>frac</FUNCTION>\r
+                       <FUNCTION>freeze</FUNCTION>\r
+                       <FUNCTION>frem</FUNCTION>\r
+                       <FUNCTION>fremove</FUNCTION>\r
+                       <FUNCTION>FresnelC</FUNCTION>\r
+                       <FUNCTION>Fresnelf</FUNCTION>\r
+                       <FUNCTION>Fresnelg</FUNCTION>\r
+                       <FUNCTION>FresnelS</FUNCTION>\r
+                       <FUNCTION>FromInert</FUNCTION>\r
+                       <FUNCTION>frontend</FUNCTION>\r
+                       <FUNCTION>fscanf</FUNCTION>\r
+                       <FUNCTION>fsolve</FUNCTION>\r
+                       <FUNCTION>galois</FUNCTION>\r
+                       <FUNCTION>GAMMA</FUNCTION>\r
+                       <FUNCTION>GaussAGM</FUNCTION>\r
+                       <FUNCTION>Gausselim</FUNCTION>\r
+                       <FUNCTION>Gaussjord</FUNCTION>\r
+                       <FUNCTION>gc</FUNCTION>\r
+                       <FUNCTION>Gcd</FUNCTION>\r
+                       <FUNCTION>gcd</FUNCTION>\r
+                       <FUNCTION>Gcdex</FUNCTION>\r
+                       <FUNCTION>gcdex</FUNCTION>\r
+                       <FUNCTION>GegenbauerC</FUNCTION>\r
+                       <FUNCTION>genpoly</FUNCTION>\r
+                       <FUNCTION>getenv</FUNCTION>\r
+                       <FUNCTION>GetResultDataType</FUNCTION>\r
+                       <FUNCTION>GetResultShape</FUNCTION>\r
+                       <FUNCTION>GF</FUNCTION>\r
+                       <FUNCTION>Greek</FUNCTION>\r
+                       <FUNCTION>HankelH1</FUNCTION>\r
+                       <FUNCTION>HankelH2</FUNCTION>\r
+                       <FUNCTION>harmonic</FUNCTION>\r
+                       <FUNCTION>has</FUNCTION>\r
+                       <FUNCTION>hasfun</FUNCTION>\r
+                       <FUNCTION>hasoption</FUNCTION>\r
+                       <FUNCTION>hastype</FUNCTION>\r
+                       <FUNCTION>heap</FUNCTION>\r
+                       <FUNCTION>Heaviside</FUNCTION>\r
+                       <FUNCTION>Hermite</FUNCTION>\r
+                       <FUNCTION>HermiteH</FUNCTION>\r
+                       <FUNCTION>hermitian</FUNCTION>\r
+                       <FUNCTION>Hessenberg</FUNCTION>\r
+                       <FUNCTION>hfarray</FUNCTION>\r
+                       <FUNCTION>history</FUNCTION>\r
+                       <FUNCTION>hypergeom</FUNCTION>\r
+                       <FUNCTION>icontent</FUNCTION>\r
+                       <FUNCTION>identity</FUNCTION>\r
+                       <FUNCTION>IEEEdiffs</FUNCTION>\r
+                       <FUNCTION>ifactor</FUNCTION>\r
+                       <FUNCTION>ifactors</FUNCTION>\r
+                       <FUNCTION>iFFT</FUNCTION>\r
+                       <FUNCTION>igcd</FUNCTION>\r
+                       <FUNCTION>igcdex</FUNCTION>\r
+                       <FUNCTION>ilcm</FUNCTION>\r
+                       <FUNCTION>ilog10</FUNCTION>\r
+                       <FUNCTION>ilog2</FUNCTION>\r
+                       <FUNCTION>ilog</FUNCTION>\r
+                       <FUNCTION>Im</FUNCTION>\r
+                       <FUNCTION>implicitdiff</FUNCTION>\r
+                       <FUNCTION>ImportMatrix</FUNCTION>\r
+                       <FUNCTION>ImportVector</FUNCTION>\r
+                       <FUNCTION>indets</FUNCTION>\r
+                       <FUNCTION>index</FUNCTION>\r
+                       <FUNCTION>indexed</FUNCTION>\r
+                       <FUNCTION>indices</FUNCTION>\r
+                       <FUNCTION>inifcn</FUNCTION>\r
+                       <FUNCTION>ininame</FUNCTION>\r
+                       <FUNCTION>initialcondition</FUNCTION>\r
+                       <FUNCTION>initialize</FUNCTION>\r
+                       <FUNCTION>insert</FUNCTION>\r
+                       <FUNCTION>int</FUNCTION>\r
+                       <FUNCTION>intat</FUNCTION>\r
+                       <FUNCTION>interface</FUNCTION>\r
+                       <FUNCTION>Interp</FUNCTION>\r
+                       <FUNCTION>interp</FUNCTION>\r
+                       <FUNCTION>Inverse</FUNCTION>\r
+                       <FUNCTION>invfunc</FUNCTION>\r
+                       <FUNCTION>invztrans</FUNCTION>\r
+                       <FUNCTION>iostatus</FUNCTION>\r
+                       <FUNCTION>iperfpow</FUNCTION>\r
+                       <FUNCTION>iquo</FUNCTION>\r
+                       <FUNCTION>iratrecon</FUNCTION>\r
+                       <FUNCTION>irem</FUNCTION>\r
+                       <FUNCTION>iroot</FUNCTION>\r
+                       <FUNCTION>Irreduc</FUNCTION>\r
+                       <FUNCTION>irreduc</FUNCTION>\r
+                       <FUNCTION>is</FUNCTION>\r
+                       <FUNCTION>iscont</FUNCTION>\r
+                       <FUNCTION>isdifferential</FUNCTION>\r
+                       <FUNCTION>IsMatrixShape</FUNCTION>\r
+                       <FUNCTION>isolate</FUNCTION>\r
+                       <FUNCTION>isolve</FUNCTION>\r
+                       <FUNCTION>ispoly</FUNCTION>\r
+                       <FUNCTION>isprime</FUNCTION>\r
+                       <FUNCTION>isqrfree</FUNCTION>\r
+                       <FUNCTION>isqrt</FUNCTION>\r
+                       <FUNCTION>issqr</FUNCTION>\r
+                       <FUNCTION>ithprime</FUNCTION>\r
+                       <FUNCTION>JacobiAM</FUNCTION>\r
+                       <FUNCTION>JacobiCD</FUNCTION>\r
+                       <FUNCTION>JacobiCN</FUNCTION>\r
+                       <FUNCTION>JacobiCS</FUNCTION>\r
+                       <FUNCTION>JacobiDC</FUNCTION>\r
+                       <FUNCTION>JacobiDN</FUNCTION>\r
+                       <FUNCTION>JacobiDS</FUNCTION>\r
+                       <FUNCTION>JacobiNC</FUNCTION>\r
+                       <FUNCTION>JacobiND</FUNCTION>\r
+                       <FUNCTION>JacobiNS</FUNCTION>\r
+                       <FUNCTION>JacobiP</FUNCTION>\r
+                       <FUNCTION>JacobiSC</FUNCTION>\r
+                       <FUNCTION>JacobiSD</FUNCTION>\r
+                       <FUNCTION>JacobiSN</FUNCTION>\r
+                       <FUNCTION>JacobiTheta1</FUNCTION>\r
+                       <FUNCTION>JacobiTheta2</FUNCTION>\r
+                       <FUNCTION>JacobiTheta3</FUNCTION>\r
+                       <FUNCTION>JacobiTheta4</FUNCTION>\r
+                       <FUNCTION>JacobiZeta</FUNCTION>\r
+                       <FUNCTION>KelvinBei</FUNCTION>\r
+                       <FUNCTION>KelvinBer</FUNCTION>\r
+                       <FUNCTION>KelvinHei</FUNCTION>\r
+                       <FUNCTION>KelvinHer</FUNCTION>\r
+                       <FUNCTION>KelvinKei</FUNCTION>\r
+                       <FUNCTION>KelvinKer</FUNCTION>\r
+                       <FUNCTION>KummerM</FUNCTION>\r
+                       <FUNCTION>KummerU</FUNCTION>\r
+                       <FUNCTION>LaguerreL</FUNCTION>\r
+                       <FUNCTION>LambertW</FUNCTION>\r
+                       <FUNCTION>latex</FUNCTION>\r
+                       <FUNCTION>lattice</FUNCTION>\r
+                       <FUNCTION>lcm</FUNCTION>\r
+                       <FUNCTION>Lcm</FUNCTION>\r
+                       <FUNCTION>lcoeff</FUNCTION>\r
+                       <FUNCTION>leadterm</FUNCTION>\r
+                       <FUNCTION>LegendreP</FUNCTION>\r
+                       <FUNCTION>LegendreQ</FUNCTION>\r
+                       <FUNCTION>length</FUNCTION>\r
+                       <FUNCTION>LerchPhi</FUNCTION>\r
+                       <FUNCTION>lexorder</FUNCTION>\r
+                       <FUNCTION>lhs</FUNCTION>\r
+                       <FUNCTION>CLi</FUNCTION>\r
+                       <FUNCTION>Limit</FUNCTION>\r
+                       <FUNCTION>limit</FUNCTION>\r
+                       <FUNCTION>Linsolve</FUNCTION>\r
+                       <FUNCTION>ln</FUNCTION>\r
+                       <FUNCTION>lnGAMMA</FUNCTION>\r
+                       <FUNCTION>log</FUNCTION>\r
+                       <FUNCTION>log10</FUNCTION>\r
+                       <FUNCTION>LommelS1</FUNCTION>\r
+                       <FUNCTION>Lommels2</FUNCTION>\r
+                       <FUNCTION>lprint</FUNCTION>\r
+                       <FUNCTION>map</FUNCTION>\r
+                       <FUNCTION>map2</FUNCTION>\r
+                       <FUNCTION>Maple_floats</FUNCTION>\r
+                       <FUNCTION>match</FUNCTION>\r
+                       <FUNCTION>MatlabMatrix</FUNCTION>\r
+                       <FUNCTION>Matrix</FUNCTION>\r
+                       <FUNCTION>matrix</FUNCTION>\r
+                       <FUNCTION>MatrixOptions</FUNCTION>\r
+                       <FUNCTION>max</FUNCTION>\r
+                       <FUNCTION>maximize</FUNCTION>\r
+                       <FUNCTION>maxnorm</FUNCTION>\r
+                       <FUNCTION>maxorder</FUNCTION>\r
+                       <FUNCTION>MeijerG</FUNCTION>\r
+                       <FUNCTION>member</FUNCTION>\r
+                       <FUNCTION>min</FUNCTION>\r
+                       <FUNCTION>minimize</FUNCTION>\r
+                       <FUNCTION>mkdir</FUNCTION>\r
+                       <FUNCTION>ModifiedMeijerG</FUNCTION>\r
+                       <FUNCTION>modp</FUNCTION>\r
+                       <FUNCTION>modp1</FUNCTION>\r
+                       <FUNCTION>modp2</FUNCTION>\r
+                       <FUNCTION>modpol</FUNCTION>\r
+                       <FUNCTION>mods</FUNCTION>\r
+                       <FUNCTION>module</FUNCTION>\r
+                       <FUNCTION>MOLS</FUNCTION>\r
+                       <FUNCTION>msolve</FUNCTION>\r
+                       <FUNCTION>mtaylor</FUNCTION>\r
+                       <FUNCTION>mul</FUNCTION>\r
+                       <FUNCTION>NextAfter</FUNCTION>\r
+                       <FUNCTION>nextprime</FUNCTION>\r
+                       <FUNCTION>nops</FUNCTION>\r
+                       <FUNCTION>norm</FUNCTION>\r
+                       <FUNCTION>norm</FUNCTION>\r
+                       <FUNCTION>Normal</FUNCTION>\r
+                       <FUNCTION>normal</FUNCTION>\r
+                       <FUNCTION>nprintf</FUNCTION>\r
+                       <FUNCTION>Nullspace</FUNCTION>\r
+                       <FUNCTION>numboccur</FUNCTION>\r
+                       <FUNCTION>numer</FUNCTION>\r
+                       <FUNCTION>NumericClass</FUNCTION>\r
+                       <FUNCTION>NumericEvent</FUNCTION>\r
+                       <FUNCTION>NumericEventHandler</FUNCTION>\r
+                       <FUNCTION>NumericException</FUNCTION>\r
+                       <FUNCTION>numerics</FUNCTION>\r
+                       <FUNCTION>NumericStatus</FUNCTION>\r
+                       <FUNCTION>odetest</FUNCTION>\r
+                       <FUNCTION>op</FUNCTION>\r
+                       <FUNCTION>open</FUNCTION>\r
+                       <FUNCTION>order</FUNCTION>\r
+                       <FUNCTION>OrderedNE</FUNCTION>\r
+                       <FUNCTION>parse</FUNCTION>\r
+                       <FUNCTION>patmatch</FUNCTION>\r
+                       <FUNCTION>pclose</FUNCTION>\r
+                       <FUNCTION>PDEplot_options</FUNCTION>\r
+                       <FUNCTION>pdesolve</FUNCTION>\r
+                       <FUNCTION>pdetest</FUNCTION>\r
+                       <FUNCTION>pdsolve</FUNCTION>\r
+                       <FUNCTION>piecewise</FUNCTION>\r
+                       <FUNCTION>plot</FUNCTION>\r
+                       <FUNCTION>plot3d</FUNCTION>\r
+                       <FUNCTION>plotsetup</FUNCTION>\r
+                       <FUNCTION>pochhammer</FUNCTION>\r
+                       <FUNCTION>pointto</FUNCTION>\r
+                       <FUNCTION>poisson</FUNCTION>\r
+                       <FUNCTION>polar</FUNCTION>\r
+                       <FUNCTION>polylog</FUNCTION>\r
+                       <FUNCTION>polynom</FUNCTION>\r
+                       <FUNCTION>Power</FUNCTION>\r
+                       <FUNCTION>Powmod</FUNCTION>\r
+                       <FUNCTION>powmod</FUNCTION>\r
+                       <FUNCTION>Prem</FUNCTION>\r
+                       <FUNCTION>prem</FUNCTION>\r
+                       <FUNCTION>Preprocessor</FUNCTION>\r
+                       <FUNCTION>prevprime</FUNCTION>\r
+                       <FUNCTION>Primitive</FUNCTION>\r
+                       <FUNCTION>Primpart</FUNCTION>\r
+                       <FUNCTION>primpart</FUNCTION>\r
+                       <FUNCTION>print</FUNCTION>\r
+                       <FUNCTION>printf</FUNCTION>\r
+                       <FUNCTION>ProbSplit</FUNCTION>\r
+                       <FUNCTION>procbody</FUNCTION>\r
+                       <FUNCTION>ProcessOptions</FUNCTION>\r
+                       <FUNCTION>procmake</FUNCTION>\r
+                       <FUNCTION>Product</FUNCTION>\r
+                       <FUNCTION>product</FUNCTION>\r
+                       <FUNCTION>proot</FUNCTION>\r
+                       <FUNCTION>property</FUNCTION>\r
+                       <FUNCTION>protect</FUNCTION>\r
+                       <FUNCTION>Psi</FUNCTION>\r
+                       <FUNCTION>psqrt</FUNCTION>\r
+                       <FUNCTION>queue</FUNCTION>\r
+                       <FUNCTION>Quo</FUNCTION>\r
+                       <FUNCTION>quo</FUNCTION>\r
+                       <FUNCTION>radfield</FUNCTION>\r
+                       <FUNCTION>radnormal</FUNCTION>\r
+                       <FUNCTION>radsimp</FUNCTION>\r
+                       <FUNCTION>rand</FUNCTION>\r
+                       <FUNCTION>randomize</FUNCTION>\r
+                       <FUNCTION>Randpoly</FUNCTION>\r
+                       <FUNCTION>randpoly</FUNCTION>\r
+                       <FUNCTION>Randprime</FUNCTION>\r
+                       <FUNCTION>range</FUNCTION>\r
+                       <FUNCTION>ratinterp</FUNCTION>\r
+                       <FUNCTION>rationalize</FUNCTION>\r
+                       <FUNCTION>Ratrecon</FUNCTION>\r
+                       <FUNCTION>ratrecon</FUNCTION>\r
+                       <FUNCTION>Re</FUNCTION>\r
+                       <FUNCTION>readbytes</FUNCTION>\r
+                       <FUNCTION>readdata</FUNCTION>\r
+                       <FUNCTION>readlib</FUNCTION>\r
+                       <FUNCTION>readline</FUNCTION>\r
+                       <FUNCTION>readstat</FUNCTION>\r
+                       <FUNCTION>realroot</FUNCTION>\r
+                       <FUNCTION>Record</FUNCTION>\r
+                       <FUNCTION>Reduce</FUNCTION>\r
+                       <FUNCTION>references</FUNCTION>\r
+                       <FUNCTION>release</FUNCTION>\r
+                       <FUNCTION>Rem</FUNCTION>\r
+                       <FUNCTION>rem</FUNCTION>\r
+                       <FUNCTION>remove</FUNCTION>\r
+                       <FUNCTION>repository</FUNCTION>\r
+                       <FUNCTION>requires</FUNCTION>\r
+                       <FUNCTION>residue</FUNCTION>\r
+                       <FUNCTION>RESol</FUNCTION>\r
+                       <FUNCTION>Resultant</FUNCTION>\r
+                       <FUNCTION>resultant</FUNCTION>\r
+                       <FUNCTION>rhs</FUNCTION>\r
+                       <FUNCTION>rmdir</FUNCTION>\r
+                       <FUNCTION>root</FUNCTION>\r
+                       <FUNCTION>rootbound</FUNCTION>\r
+                       <FUNCTION>RootOf</FUNCTION>\r
+                       <FUNCTION>Roots</FUNCTION>\r
+                       <FUNCTION>roots</FUNCTION>\r
+                       <FUNCTION>round</FUNCTION>\r
+                       <FUNCTION>Rounding</FUNCTION>\r
+                       <FUNCTION>rsolve</FUNCTION>\r
+                       <FUNCTION>rtable</FUNCTION>\r
+                       <FUNCTION>rtable_algebra</FUNCTION>\r
+                       <FUNCTION>rtable_dims</FUNCTION>\r
+                       <FUNCTION>rtable_elems</FUNCTION>\r
+                       <FUNCTION>rtable_indfns</FUNCTION>\r
+                       <FUNCTION>rtable_options</FUNCTION>\r
+                       <FUNCTION>rtable_printf</FUNCTION>\r
+                       <FUNCTION>rtable_scanf</FUNCTION>\r
+                       <FUNCTION>SampleRTable</FUNCTION>\r
+                       <FUNCTION>savelib</FUNCTION>\r
+                       <FUNCTION>Scale10</FUNCTION>\r
+                       <FUNCTION>Scale2</FUNCTION>\r
+                       <FUNCTION>scalar</FUNCTION>\r
+                       <FUNCTION>scan</FUNCTION>\r
+                       <FUNCTION>scanf</FUNCTION>\r
+                       <FUNCTION>SearchText</FUNCTION>\r
+                       <FUNCTION>searchtext</FUNCTION>\r
+                       <FUNCTION>sec</FUNCTION>\r
+                       <FUNCTION>sech</FUNCTION>\r
+                       <FUNCTION>select</FUNCTION>\r
+                       <FUNCTION>selectfun</FUNCTION>\r
+                       <FUNCTION>selectremove</FUNCTION>\r
+                       <FUNCTION>seq</FUNCTION>\r
+                       <FUNCTION>series</FUNCTION>\r
+                       <FUNCTION>setattribute</FUNCTION>\r
+                       <FUNCTION>SFloatExponent</FUNCTION>\r
+                       <FUNCTION>SFloatMantissa</FUNCTION>\r
+                       <FUNCTION>shale</FUNCTION>\r
+                       <FUNCTION>Shi</FUNCTION>\r
+                       <FUNCTION>showprofile</FUNCTION>\r
+                       <FUNCTION>showtime</FUNCTION>\r
+                       <FUNCTION>Si</FUNCTION>\r
+                       <FUNCTION>sign</FUNCTION>\r
+                       <FUNCTION>signum</FUNCTION>\r
+                       <FUNCTION>Simplify</FUNCTION>\r
+                       <FUNCTION>simplify</FUNCTION>\r
+                       <FUNCTION>sin</FUNCTION>\r
+                       <FUNCTION>sinh</FUNCTION>\r
+                       <FUNCTION>singular</FUNCTION>\r
+                       <FUNCTION>sinterp</FUNCTION>\r
+                       <FUNCTION>smartplot3d</FUNCTION>\r
+                       <FUNCTION>Smith</FUNCTION>\r
+                       <FUNCTION>solve</FUNCTION>\r
+                       <FUNCTION>solvefor</FUNCTION>\r
+                       <FUNCTION>sort</FUNCTION>\r
+                       <FUNCTION>sparse</FUNCTION>\r
+                       <FUNCTION>spec_eval_rule</FUNCTION>\r
+                       <FUNCTION>spline</FUNCTION>\r
+                       <FUNCTION>spreadsheet</FUNCTION>\r
+                       <FUNCTION>SPrem</FUNCTION>\r
+                       <FUNCTION>sprem</FUNCTION>\r
+                       <FUNCTION>sprintf</FUNCTION>\r
+                       <FUNCTION>Sqrfree</FUNCTION>\r
+                       <FUNCTION>sqrfree</FUNCTION>\r
+                       <FUNCTION>sqrt</FUNCTION>\r
+                       <FUNCTION>sscanf</FUNCTION>\r
+                       <FUNCTION>Ssi</FUNCTION>\r
+                       <FUNCTION>ssystem</FUNCTION>\r
+                       <FUNCTION>storage</FUNCTION>\r
+                       <FUNCTION>string</FUNCTION>\r
+                       <FUNCTION>StruveH</FUNCTION>\r
+                       <FUNCTION>StruveL</FUNCTION>\r
+                       <FUNCTION>sturm</FUNCTION>\r
+                       <FUNCTION>sturmseq</FUNCTION>\r
+                       <FUNCTION>subs</FUNCTION>\r
+                       <FUNCTION>subsindets</FUNCTION>\r
+                       <FUNCTION>subsop</FUNCTION>\r
+                       <FUNCTION>substring</FUNCTION>\r
+                       <FUNCTION>subtype</FUNCTION>\r
+                       <FUNCTION>Sum</FUNCTION>\r
+                       <FUNCTION>sum</FUNCTION>\r
+                       <FUNCTION>surd</FUNCTION>\r
+                       <FUNCTION>Svd</FUNCTION>\r
+                       <FUNCTION>symmdiff</FUNCTION>\r
+                       <FUNCTION>symmetric</FUNCTION>\r
+                       <FUNCTION>syntax</FUNCTION>\r
+                       <FUNCTION>system</FUNCTION>\r
+                       <FUNCTION>table</FUNCTION>\r
+                       <FUNCTION>tan</FUNCTION>\r
+                       <FUNCTION>tang</FUNCTION>\r
+                       <FUNCTION>taylor</FUNCTION>\r
+                       <FUNCTION>testeq</FUNCTION>\r
+                       <FUNCTION>testfloat</FUNCTION>\r
+                       <FUNCTION>TEXT</FUNCTION>\r
+                       <FUNCTION>thaw</FUNCTION>\r
+                       <FUNCTION>thiele</FUNCTION>\r
+                       <FUNCTION>time</FUNCTION>\r
+                       <FUNCTION>timelimit</FUNCTION>\r
+                       <FUNCTION>ToInert</FUNCTION>\r
+                       <FUNCTION>TopologicalSort</FUNCTION>\r
+                       <FUNCTION>traperror</FUNCTION>\r
+                       <FUNCTION>triangular</FUNCTION>\r
+                       <FUNCTION>trigsubs</FUNCTION>\r
+                       <FUNCTION>trunc</FUNCTION>\r
+                       <FUNCTION>type</FUNCTION>\r
+                       <FUNCTION>typematch</FUNCTION>\r
+                       <FUNCTION>unames</FUNCTION>\r
+                       <FUNCTION>unapply</FUNCTION>\r
+                       <FUNCTION>unassign</FUNCTION>\r
+                       <FUNCTION>undefined</FUNCTION>\r
+                       <FUNCTION>unit</FUNCTION>\r
+                       <FUNCTION>Unordered</FUNCTION>\r
+                       <FUNCTION>unprotect</FUNCTION>\r
+                       <FUNCTION>update</FUNCTION>\r
+                       <FUNCTION>UseHardwareFloats</FUNCTION>\r
+                       <FUNCTION>userinfo</FUNCTION>\r
+                       <FUNCTION>value</FUNCTION>\r
+                       <FUNCTION>Vector</FUNCTION>\r
+                       <FUNCTION>vector</FUNCTION>\r
+                       <FUNCTION>verify</FUNCTION>\r
+                       <FUNCTION>WeierstrassP</FUNCTION>\r
+                       <FUNCTION>WeberE</FUNCTION>\r
+                       <FUNCTION>WeierstrassPPrime</FUNCTION>\r
+                       <FUNCTION>WeierstrassSigma</FUNCTION>\r
+                       <FUNCTION>WeierstrassZeta</FUNCTION>\r
+                       <FUNCTION>whattype</FUNCTION>\r
+                       <FUNCTION>WhittakerM</FUNCTION>\r
+                       <FUNCTION>WhittakerW</FUNCTION>\r
+                       <FUNCTION>with</FUNCTION>\r
+                       <FUNCTION>worksheet</FUNCTION>\r
+                       <FUNCTION>writebytes</FUNCTION>\r
+                       <FUNCTION>writedata</FUNCTION>\r
+                       <FUNCTION>writeline</FUNCTION>\r
+                       <FUNCTION>writestat</FUNCTION>\r
+                       <FUNCTION>writeto</FUNCTION>\r
+                       <FUNCTION>zero</FUNCTION>\r
+                       <FUNCTION>Zeta</FUNCTION>\r
+                       <FUNCTION>zip</FUNCTION>\r
+                       <FUNCTION>ztrans</FUNCTION>\r
+\r
+                       <!-- Initially known names -->\r
+                       <LITERAL2>Catalan</LITERAL2>\r
+                       <LITERAL2>constants</LITERAL2>\r
+                       <LITERAL2>Digits</LITERAL2>\r
+                       <LITERAL2>FAIL</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>gamma</LITERAL2>\r
+                       <LITERAL2>I</LITERAL2>\r
+                       <LITERAL2>infinity</LITERAL2>\r
+                       <LITERAL2>integrate</LITERAL2>\r
+                       <LITERAL2>lasterror</LITERAL2>\r
+                       <LITERAL2>libname</LITERAL2>\r
+                       <LITERAL2>`mod`</LITERAL2>\r
+                       <LITERAL2>NULL</LITERAL2>\r
+                       <LITERAL2>Order</LITERAL2>\r
+                       <LITERAL2>Pi</LITERAL2>\r
+                       <LITERAL2>printlevel</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>undefined</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ml.xml b/basis/xmode/modes/ml.xml
new file mode 100644 (file)
index 0000000..97ec02c
--- /dev/null
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- SML MODE by Ingmar Stein -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="(*"/>\r
+               <PROPERTY NAME="commentEnd" VALUE="*)"/>\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>(*</BEGIN>\r
+                       <END>*)</END>\r
+               </SPAN>\r
+\r
+               <!-- character literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>#"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- string literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- built-in operators -->\r
+\r
+               <!-- infix precedence 7 -->\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <!-- infix precedence 6 -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+\r
+               <!-- infix precedence 5 -->\r
+               <SEQ TYPE="OPERATOR">::</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+\r
+               <!-- infix precedence 4 -->\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+\r
+               <!-- infix precedence 3 -->\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+\r
+               <!-- reserved words -->\r
+               <!-- <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">:&gt;</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="NULL">...</SEQ>\r
+               <SEQ TYPE="NULL">_</SEQ>\r
+               <SEQ TYPE="NULL">|</SEQ>\r
+               <SEQ TYPE="NULL">=&gt;</SEQ>\r
+               <SEQ TYPE="NULL">-&gt;</SEQ>\r
+               <SEQ TYPE="NULL">#</SEQ> -->\r
+\r
+               <KEYWORDS>\r
+                       <!-- built-in operators -->\r
+\r
+                       <!-- infix precedence 7 -->\r
+                       <OPERATOR>div</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+\r
+                       <!-- infix precedence 3 -->\r
+                       <OPERATOR>o</OPERATOR>\r
+\r
+                       <!-- infix precedence 0 -->\r
+                       <OPERATOR>before</OPERATOR>\r
+\r
+                       <!-- reserved words -->\r
+                       <KEYWORD1>abstype</KEYWORD1>\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>andalso</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>datatype</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>eqtype</KEYWORD1>\r
+                       <KEYWORD1>exception</KEYWORD1>\r
+                       <KEYWORD1>fn</KEYWORD1>\r
+                       <KEYWORD1>fun</KEYWORD1>\r
+                       <KEYWORD1>functor</KEYWORD1>\r
+                       <KEYWORD1>handle</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>include</KEYWORD1>\r
+                       <KEYWORD1>infix</KEYWORD1>\r
+                       <KEYWORD1>infixr</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>nonfix</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>op</KEYWORD1>\r
+                       <KEYWORD1>open</KEYWORD1>\r
+                       <KEYWORD1>orelse</KEYWORD1>\r
+                       <KEYWORD1>raise</KEYWORD1>\r
+                       <KEYWORD1>rec</KEYWORD1>\r
+                       <KEYWORD1>sharing</KEYWORD1>\r
+                       <KEYWORD1>sig</KEYWORD1>\r
+                       <KEYWORD1>signature</KEYWORD1>\r
+                       <KEYWORD1>struct</KEYWORD1>\r
+                       <KEYWORD1>structure</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>type</KEYWORD1>\r
+                       <KEYWORD1>val</KEYWORD1>\r
+                       <KEYWORD1>where</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>withtype</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <!-- built-in types -->\r
+                       <KEYWORD3>array</KEYWORD3>\r
+                       <KEYWORD3>bool</KEYWORD3>\r
+                       <KEYWORD3>char</KEYWORD3>\r
+                       <KEYWORD3>exn</KEYWORD3>\r
+                       <KEYWORD3>frag</KEYWORD3>\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>option</KEYWORD3>\r
+                       <KEYWORD3>order</KEYWORD3>\r
+                       <KEYWORD3>real</KEYWORD3>\r
+                       <KEYWORD3>ref</KEYWORD3>\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>substring</KEYWORD3>\r
+                       <KEYWORD3>unit</KEYWORD3>\r
+                       <KEYWORD3>vector</KEYWORD3>\r
+                       <KEYWORD3>word</KEYWORD3>\r
+                       <KEYWORD3>word8</KEYWORD3>\r
+\r
+                       <!-- build-in exception constructors -->\r
+                       <KEYWORD2>Bind</KEYWORD2>\r
+                       <KEYWORD2>Chr</KEYWORD2>\r
+                       <KEYWORD2>Domain</KEYWORD2>\r
+                       <KEYWORD2>Div</KEYWORD2>\r
+                       <KEYWORD2>Fail</KEYWORD2>\r
+                       <KEYWORD2>Graphic</KEYWORD2>\r
+                       <KEYWORD2>Interrupt</KEYWORD2>\r
+                       <KEYWORD2>Io</KEYWORD2>\r
+                       <KEYWORD2>Match</KEYWORD2>\r
+                       <KEYWORD2>Option</KEYWORD2>\r
+                       <KEYWORD2>Ord</KEYWORD2>\r
+                       <KEYWORD2>Overflow</KEYWORD2>\r
+                       <KEYWORD2>Size</KEYWORD2>\r
+                       <KEYWORD2>Subscript</KEYWORD2>\r
+                       <KEYWORD2>SysErr</KEYWORD2>\r
+\r
+                       <!-- built-in literals -->\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>QUOTE</LITERAL2>\r
+                       <LITERAL2>ANTIQUOTE</LITERAL2>\r
+                       <LITERAL2>nil</LITERAL2>\r
+                       <LITERAL2>NONE</LITERAL2>\r
+                       <LITERAL2>SOME</LITERAL2>\r
+                       <LITERAL2>LESS</LITERAL2>\r
+                       <LITERAL2>EQUAL</LITERAL2>\r
+                       <LITERAL2>GREATER</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>
\ No newline at end of file
diff --git a/basis/xmode/modes/modula3.xml b/basis/xmode/modes/modula3.xml
new file mode 100644 (file)
index 0000000..fa04e9c
--- /dev/null
@@ -0,0 +1,178 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Modula-3 mode, by Marcio Marchini mqm@magma.ca -->\r
+<!-- See http://www.research.compaq.com/SRC/m3defn/html/syntax.html -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="(*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*)" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <!-- Compiler directives. -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;*</BEGIN>\r
+                       <END>*&gt;</END>\r
+               </SPAN>\r
+               \r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>(*</BEGIN>\r
+                       <END>*)</END>\r
+               </SPAN>\r
+\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>DO</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>REPEAT</KEYWORD1>\r
+                       <KEYWORD1>UNTIL</KEYWORD1>\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>GENERIC</KEYWORD1>\r
+                       <KEYWORD1>OBJECT</KEYWORD1>\r
+                       <KEYWORD1>RETURN</KEYWORD1>\r
+                       <KEYWORD1>UNTRACED</KEYWORD1>\r
+                       <KEYWORD1>ARRAY</KEYWORD1>\r
+                       <KEYWORD1>ELSIF</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>OF</KEYWORD1>\r
+                       <KEYWORD1>REVEAL</KEYWORD1>\r
+                       <KEYWORD1>VALUE</KEYWORD1>\r
+                       <KEYWORD1>AS</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>IMPORT</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>ROOT</KEYWORD1>\r
+                       <KEYWORD1>VAR</KEYWORD1>\r
+                       <KEYWORD1>BEGIN</KEYWORD1>\r
+                       <KEYWORD1>EVAL</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>OVERRIDES</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>BITS</KEYWORD1>\r
+                       <KEYWORD1>EXCEPT</KEYWORD1>\r
+                       <KEYWORD1>INTERFACE</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>BRANDED</KEYWORD1>\r
+                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
+                       <KEYWORD1>LOCK</KEYWORD1>\r
+                       <KEYWORD1>RAISE</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>EXIT</KEYWORD1>\r
+                       <KEYWORD1>LOOP</KEYWORD1>\r
+                       <KEYWORD1>RAISES</KEYWORD1>\r
+                       <KEYWORD1>TRY</KEYWORD1>\r
+                       <KEYWORD1>CASE</KEYWORD1>\r
+                       <KEYWORD1>EXPORTS</KEYWORD1>\r
+                       <KEYWORD1>METHODS</KEYWORD1>\r
+                       <KEYWORD1>READONLY</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>CONST</KEYWORD1>\r
+                       <KEYWORD1>FINALLY</KEYWORD1>\r
+                       <KEYWORD1>MOD</KEYWORD1>\r
+                       <KEYWORD1>RECORD</KEYWORD1>\r
+                       <KEYWORD1>TYPECASE</KEYWORD1>\r
+                       <KEYWORD1>DIV</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>MODULE</KEYWORD1>\r
+                       <KEYWORD1>REF</KEYWORD1>\r
+                       <KEYWORD1>UNSAFE</KEYWORD1>\r
+\r
+                       <!-- Reserved identifiers -->\r
+                       <LITERAL2>ABS</LITERAL2>\r
+                       <LITERAL2>BYTESIZE</LITERAL2>\r
+                       <LITERAL2>EXTENDED</LITERAL2>\r
+                       <LITERAL2>INTEGER</LITERAL2>\r
+                       <LITERAL2>MIN</LITERAL2>\r
+                       <LITERAL2>NUMBER</LITERAL2>\r
+                       <LITERAL2>TEXT</LITERAL2>\r
+                       <LITERAL2>ADDRESS</LITERAL2>\r
+                       <LITERAL2>CARDINAL</LITERAL2>\r
+                       <LITERAL2>FALSE</LITERAL2>\r
+                       <LITERAL2>ISTYPE</LITERAL2>\r
+                       <LITERAL2>MUTEX</LITERAL2>\r
+                       <LITERAL2>ORD</LITERAL2>\r
+                       <LITERAL2>TRUE</LITERAL2>\r
+                       <LITERAL2>ADR</LITERAL2>\r
+                       <LITERAL2>CEILING</LITERAL2>\r
+                       <LITERAL2>FIRST</LITERAL2>\r
+                       <LITERAL2>LAST</LITERAL2>\r
+                       <LITERAL2>NARROW</LITERAL2>\r
+                       <LITERAL2>REAL</LITERAL2>\r
+                       <LITERAL2>TRUNC</LITERAL2>\r
+                       <LITERAL2>ADRSIZE</LITERAL2>\r
+                       <LITERAL2>CHAR</LITERAL2>\r
+                       <LITERAL2>FLOAT</LITERAL2>\r
+                       <LITERAL2>LONGREAL</LITERAL2>\r
+                       <LITERAL2>NEW</LITERAL2>\r
+                       <LITERAL2>REFANY</LITERAL2>\r
+                       <LITERAL2>TYPECODE</LITERAL2>\r
+                       <LITERAL2>BITSIZE</LITERAL2>\r
+                       <LITERAL2>DEC</LITERAL2>\r
+                       <LITERAL2>FLOOR</LITERAL2>\r
+                       <LITERAL2>LOOPHOLE</LITERAL2>\r
+                       <LITERAL2>NIL</LITERAL2>\r
+                       <LITERAL2>ROUND</LITERAL2>\r
+                       <LITERAL2>VAL</LITERAL2>\r
+                       <LITERAL2>BOOLEAN</LITERAL2>\r
+                       <LITERAL2>DISPOSE</LITERAL2>\r
+                       <LITERAL2>INC</LITERAL2>\r
+                       <LITERAL2>MAX</LITERAL2>\r
+                       <LITERAL2>NULL</LITERAL2>\r
+                       <LITERAL2>SUBARRAY</LITERAL2>\r
+                       \r
+                       <!-- Standard interfaces -->\r
+                       <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
+                       <KEYWORD2>Text</KEYWORD2>\r
+                       <KEYWORD2>Thread</KEYWORD2>\r
+                       <KEYWORD2>Word</KEYWORD2>\r
+                       <KEYWORD2>Real</KEYWORD2>\r
+                       <KEYWORD2>LongReal</KEYWORD2>\r
+                       <KEYWORD2>ExtendedReal</KEYWORD2>\r
+                       <KEYWORD2>RealFloat</KEYWORD2>\r
+                       <KEYWORD2>LongFloat</KEYWORD2>\r
+                       <KEYWORD2>ExtendedFloat</KEYWORD2>\r
+                       <KEYWORD2>FloatMode</KEYWORD2>\r
+\r
+                       <!-- Recommended interfaces -->\r
+                       <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
+                       <KEYWORD3>Fmt</KEYWORD3>\r
+                       <KEYWORD3>Lex</KEYWORD3>\r
+                       <KEYWORD3>Pickle</KEYWORD3>\r
+                       <KEYWORD3>Table</KEYWORD3>\r
+                       \r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/moin.xml b/basis/xmode/modes/moin.xml
new file mode 100644 (file)
index 0000000..cc6ac75
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="##" />\r
+               <PROPERTY NAME="wrap" VALUE="soft" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
+\r
+               <!-- comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">##</EOL_SPAN>\r
+\r
+               <!-- directive -->\r
+               <EOL_SPAN TYPE="KEYWORD2">#pragma</EOL_SPAN>\r
+\r
+               <!-- macro -->\r
+               <SPAN TYPE="KEYWORD4">\r
+                       <BEGIN>[[</BEGIN>\r
+                       <END>]]</END>\r
+               </SPAN>\r
+\r
+               <!-- term definition -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR=' '\r
+                       AT_LINE_START='TRUE'\r
+                       TYPE="LABEL"\r
+               >\s+(?:\(|\)|\w)[\p{Alnum}\p{Blank}.()]+::</SEQ_REGEXP>\r
+\r
+               <!-- smileys -->\r
+               <!-- not on by default because it slows things down a bit\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\sB\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\)\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\;\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:D\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%lt;\:\(\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\sX\-\(\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:o\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\(\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\/\!\\\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%lt;\!\b\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\(\!\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\-\?\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\b\:\b\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\@\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\|\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\;\)\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\(\.\/\)\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{OK\}\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{X\}\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{i\}\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{1\}\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{2\}\s</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{3\}\s</SEQ_REGEXP>\r
+               -->\r
+\r
+               <!-- code or literal -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>{{{</BEGIN>\r
+                       <END>}}}</END>\r
+               </SPAN>\r
+\r
+               <!-- code or literal -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <!-- bold or italic -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="''"\r
+                       TYPE="LITERAL1"\r
+               >('{2,5})[^']+\1[^']</SEQ_REGEXP>\r
+\r
+               <!-- horizontal rule -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="----"\r
+                       TYPE="LITERAL4"\r
+               >-{4,}</SEQ_REGEXP>\r
+\r
+               <!-- section header -->\r
+               <SPAN_REGEXP\r
+                       HASH_CHAR="="\r
+                       TYPE="KEYWORD1"\r
+                       AT_LINE_START="TRUE"\r
+               >\r
+                       <BEGIN>(={1,5}) </BEGIN>\r
+                       <END> $1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- implicit WikiWords - a bit of a hack, but I can't think of a better way... -->\r
+               <SEQ_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ" AT_WORD_START="TRUE" TYPE="KEYWORD2">[A-Z][a-z]+[A-Z][a-zA-Z]+</SEQ_REGEXP>\r
+\r
+               <!-- explicit WikiWord -->\r
+               <SPAN TYPE="KEYWORD2">\r
+                       <BEGIN>[&quot;</BEGIN>\r
+                       <END>&quot;]</END>\r
+               </SPAN>\r
+\r
+               <!-- url -->\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/mqsc.xml b/basis/xmode/modes/mqsc.xml
new file mode 100644 (file)
index 0000000..9fdc9c8
--- /dev/null
@@ -0,0 +1,231 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--\r
+  IBM WebSphere MQ Scripting (MQSC)\r
+  - by Aaron Bell <aaron@clockworklogic.co.uk>\r
+  - accurate for WebSphere MQ 5.2.\r
+  - ensure your LITERAL1 and LITERAL2 colours are set differently.\r
+-->\r
+<MODE>\r
+  <PROPS>\r
+    <!-- asterisks are comments -->\r
+    <PROPERTY NAME="lineComment" VALUE="*"/>\r
+  </PROPS>\r
+  <!-- ignore case, highlight numbers -->\r
+  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+    <!-- lines beginning with asterisk are comments -->\r
+    <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>\r
+\r
+    <!-- brackets on one line delimit parameter values, don't parse -->\r
+    <!-- case 1: string values using apostrophe marks -->\r
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" MATCH_TYPE="OPERATOR">\r
+      <BEGIN>('</BEGIN>\r
+      <END>')</END>\r
+    </SPAN>\r
+    <!-- case 2: literal values and object names -->\r
+    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" MATCH_TYPE="OPERATOR">\r
+      <BEGIN>(</BEGIN>\r
+      <END>)</END>\r
+    </SPAN>\r
+\r
+    <!-- line continuation symbol -->\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+\r
+    <KEYWORDS>\r
+      <!-- KEYWORD1 are core MQSC commands -->\r
+      <KEYWORD1>all</KEYWORD1><!-- as in DIS Q(X) ALL -->\r
+      <KEYWORD1>alter</KEYWORD1>\r
+      <KEYWORD1>alt</KEYWORD1>\r
+      <KEYWORD1>clear</KEYWORD1>\r
+      <KEYWORD1>define</KEYWORD1>\r
+      <KEYWORD1>def</KEYWORD1>\r
+      <KEYWORD1>delete</KEYWORD1>\r
+      <KEYWORD1>display</KEYWORD1>\r
+      <KEYWORD1>dis</KEYWORD1>\r
+      <KEYWORD1>end</KEYWORD1>\r
+      <KEYWORD1>like</KEYWORD1><!-- as in DEF Q(X) LIKE(Y) -->\r
+      <KEYWORD1>ping</KEYWORD1>\r
+      <KEYWORD1>refresh</KEYWORD1>\r
+      <KEYWORD1>ref</KEYWORD1>\r
+      <KEYWORD1>replace</KEYWORD1><!-- as in DEF Q(X) REPLACE -->\r
+      <KEYWORD1>reset</KEYWORD1>\r
+      <KEYWORD1>resolve</KEYWORD1>\r
+      <KEYWORD1>resume</KEYWORD1>\r
+      <KEYWORD1>start</KEYWORD1>\r
+      <KEYWORD1>stop</KEYWORD1>\r
+      <KEYWORD1>suspend</KEYWORD1>\r
+\r
+      <!-- KEYWORD2 are object types -->\r
+      <KEYWORD2>channel</KEYWORD2>\r
+      <KEYWORD2>chl</KEYWORD2>\r
+      <KEYWORD2>chstatus</KEYWORD2>\r
+      <KEYWORD2>chst</KEYWORD2>\r
+      <KEYWORD2>clusqmgr</KEYWORD2>\r
+      <KEYWORD2>process</KEYWORD2>\r
+      <KEYWORD2>proc</KEYWORD2>\r
+      <KEYWORD2>namelist</KEYWORD2>\r
+      <KEYWORD2>nl</KEYWORD2>\r
+      <KEYWORD2>qalias</KEYWORD2>\r
+      <KEYWORD2>qa</KEYWORD2>\r
+      <KEYWORD2>qcluster</KEYWORD2>\r
+      <KEYWORD2>qc</KEYWORD2>\r
+      <KEYWORD2>qlocal</KEYWORD2>\r
+      <KEYWORD2>ql</KEYWORD2>\r
+      <KEYWORD2>qmodel</KEYWORD2>\r
+      <KEYWORD2>qm</KEYWORD2>\r
+      <KEYWORD2>qmgr</KEYWORD2>\r
+      <KEYWORD2>qremote</KEYWORD2>\r
+      <KEYWORD2>qr</KEYWORD2>\r
+      <KEYWORD2>queue</KEYWORD2>\r
+\r
+      <!-- MARKUP are object attributes -->\r
+      <MARKUP>altdate</MARKUP>\r
+      <MARKUP>alttime</MARKUP>\r
+      <MARKUP>applicid</MARKUP>\r
+      <MARKUP>appltype</MARKUP>\r
+      <MARKUP>authorev</MARKUP>\r
+      <MARKUP>batches</MARKUP>\r
+      <MARKUP>batchint</MARKUP>\r
+      <MARKUP>batchsz</MARKUP>\r
+      <MARKUP>boqname</MARKUP>\r
+      <MARKUP>bothresh</MARKUP>\r
+      <MARKUP>bufsrcvd</MARKUP>\r
+      <MARKUP>bufssent</MARKUP>\r
+      <MARKUP>bytsrcvd</MARKUP>\r
+      <MARKUP>bytssent</MARKUP>\r
+      <MARKUP>ccsid</MARKUP>\r
+      <MARKUP>chad</MARKUP>\r
+      <MARKUP>chadev</MARKUP>\r
+      <MARKUP>chadexit</MARKUP>\r
+      <MARKUP>channel</MARKUP>\r
+      <MARKUP>chltype</MARKUP>\r
+      <MARKUP>chstada</MARKUP>\r
+      <MARKUP>chstati</MARKUP>\r
+      <MARKUP>clusdate</MARKUP>\r
+      <MARKUP>clusinfo</MARKUP>\r
+      <MARKUP>clusnl</MARKUP>\r
+      <MARKUP>clusqmgr</MARKUP>\r
+      <MARKUP>clusqt</MARKUP>\r
+      <MARKUP>cluster</MARKUP>\r
+      <MARKUP>clustime</MARKUP>\r
+      <MARKUP>clwldata</MARKUP>\r
+      <MARKUP>clwlexit</MARKUP>\r
+      <MARKUP>clwlwen</MARKUP>\r
+      <MARKUP>cmdlevel</MARKUP>\r
+      <MARKUP>commandq</MARKUP>\r
+      <MARKUP>conname</MARKUP>\r
+      <MARKUP>convert</MARKUP>\r
+      <MARKUP>crdate</MARKUP>\r
+      <MARKUP>crtime</MARKUP>\r
+      <MARKUP>curdepth</MARKUP>\r
+      <MARKUP>curluwid</MARKUP>\r
+      <MARKUP>curmsgs</MARKUP>\r
+      <MARKUP>curseqno</MARKUP>\r
+      <MARKUP>deadq</MARKUP>\r
+      <MARKUP>defbind</MARKUP>\r
+      <MARKUP>defprty</MARKUP>\r
+      <MARKUP>defpsist</MARKUP>\r
+      <MARKUP>defsopt</MARKUP>\r
+      <MARKUP>deftype</MARKUP>\r
+      <MARKUP>defxmitq</MARKUP>\r
+      <MARKUP>descr</MARKUP>\r
+      <MARKUP>discint</MARKUP>\r
+      <MARKUP>distl</MARKUP>\r
+      <MARKUP>envrdata</MARKUP>\r
+      <MARKUP>get</MARKUP>\r
+      <MARKUP>hardenbo</MARKUP>\r
+      <MARKUP>hbint</MARKUP>\r
+      <MARKUP>indoubt</MARKUP>\r
+      <MARKUP>inhibtev</MARKUP>\r
+      <MARKUP>initq</MARKUP>\r
+      <MARKUP>ipprocs</MARKUP>\r
+      <MARKUP>jobname</MARKUP>\r
+      <MARKUP>localev</MARKUP>\r
+      <MARKUP>longrts</MARKUP>\r
+      <MARKUP>longrty</MARKUP>\r
+      <MARKUP>longtmr</MARKUP>\r
+      <MARKUP>lstluwid</MARKUP>\r
+      <MARKUP>lstmsgda</MARKUP>\r
+      <MARKUP>lstmsgti</MARKUP>\r
+      <MARKUP>lstseqno</MARKUP>\r
+      <MARKUP>maxdepth</MARKUP>\r
+      <MARKUP>maxhands</MARKUP>\r
+      <MARKUP>maxmsgl</MARKUP>\r
+      <MARKUP>maxprty</MARKUP>\r
+      <MARKUP>maxumsgs</MARKUP>\r
+      <MARKUP>mcaname</MARKUP>\r
+      <MARKUP>mcastat</MARKUP>\r
+      <MARKUP>mcatype</MARKUP>\r
+      <MARKUP>mcauser</MARKUP>\r
+      <MARKUP>modename</MARKUP>\r
+      <MARKUP>mrdata</MARKUP>\r
+      <MARKUP>mrexit</MARKUP>\r
+      <MARKUP>mrrty</MARKUP>\r
+      <MARKUP>mrtmr</MARKUP>\r
+      <MARKUP>msgdata</MARKUP>\r
+      <MARKUP>msgdlvsq</MARKUP>\r
+      <MARKUP>msgexit</MARKUP>\r
+      <MARKUP>msgs</MARKUP>\r
+      <MARKUP>namcount</MARKUP>\r
+      <MARKUP>names</MARKUP>\r
+      <MARKUP>netprty</MARKUP>\r
+      <MARKUP>npmspeed</MARKUP>\r
+      <MARKUP>opprocs</MARKUP>\r
+      <MARKUP>password</MARKUP>\r
+      <MARKUP>perfmev</MARKUP>\r
+      <MARKUP>platform</MARKUP>\r
+      <MARKUP>process</MARKUP>\r
+      <MARKUP>put</MARKUP>\r
+      <MARKUP>putaut</MARKUP>\r
+      <MARKUP>qdepthhi</MARKUP>\r
+      <MARKUP>qdepthlo</MARKUP>\r
+      <MARKUP>qdphiev</MARKUP>\r
+      <MARKUP>qdploev</MARKUP>\r
+      <MARKUP>qdpmaxev</MARKUP>\r
+      <MARKUP>qmid</MARKUP>\r
+      <MARKUP>qmname</MARKUP>\r
+      <MARKUP>qmtype</MARKUP>\r
+      <MARKUP>qsvciev</MARKUP>\r
+      <MARKUP>qsvcint</MARKUP>\r
+      <MARKUP>qtype</MARKUP>\r
+      <MARKUP>rcvdata</MARKUP>\r
+      <MARKUP>rcvexit</MARKUP>\r
+      <MARKUP>remoteev</MARKUP>\r
+      <MARKUP>repos</MARKUP>\r
+      <MARKUP>reposnl</MARKUP>\r
+      <MARKUP>retintvl</MARKUP>\r
+      <MARKUP>rname</MARKUP>\r
+      <MARKUP>rqmname</MARKUP>\r
+      <MARKUP>scope</MARKUP>\r
+      <MARKUP>scydata</MARKUP>\r
+      <MARKUP>scyexit</MARKUP>\r
+      <MARKUP>senddata</MARKUP>\r
+      <MARKUP>sendexit</MARKUP>\r
+      <MARKUP>seqwrap</MARKUP>\r
+      <MARKUP>share</MARKUP>\r
+      <MARKUP>shortrts</MARKUP>\r
+      <MARKUP>shortrty</MARKUP>\r
+      <MARKUP>shorttmr</MARKUP>\r
+      <MARKUP>status</MARKUP>\r
+      <MARKUP>stopreq</MARKUP>\r
+      <MARKUP>strstpev</MARKUP>\r
+      <MARKUP>suspend</MARKUP>\r
+      <MARKUP>syncpt</MARKUP>\r
+      <MARKUP>targq</MARKUP>\r
+      <MARKUP>tpname</MARKUP>\r
+      <MARKUP>trigdata</MARKUP>\r
+      <MARKUP>trigdpth</MARKUP>\r
+      <MARKUP>trigger</MARKUP>\r
+      <MARKUP>trigint</MARKUP>\r
+      <MARKUP>trigmpri</MARKUP>\r
+      <MARKUP>trigtype</MARKUP>\r
+      <MARKUP>trptype</MARKUP>\r
+      <MARKUP>type</MARKUP>\r
+      <MARKUP>usage</MARKUP>\r
+      <MARKUP>userdata</MARKUP>\r
+      <MARKUP>userid</MARKUP>\r
+      <MARKUP>xmitq</MARKUP>\r
+    </KEYWORDS>\r
+  </RULES>\r
+</MODE>
\ No newline at end of file
diff --git a/basis/xmode/modes/myghty.xml b/basis/xmode/modes/myghty.xml
new file mode 100644 (file)
index 0000000..1cf83ef
--- /dev/null
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="myghty"                    FILE="myghty.xml"\r
+                               FILE_NAME_GLOB="*.myt"/>\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">#</EOL_SPAN>\r
+               <!-- <SEQ TYPE="LITERAL4" AT_LINE_END="TRUE">\</SEQ> -->\r
+\r
+               <!-- attr block (python) -->\r
+               <SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">\r
+                       <BEGIN>&lt;%attr&gt;</BEGIN>\r
+                       <END>&lt;/%attr&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- def, closure, method -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;%" TYPE="LITERAL4" DELEGATE="DEF">\r
+                       <BEGIN>&lt;%(def|closure|method)</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="&lt;/%" TYPE="LITERAL4">&lt;/%(def|closure|method)&gt;</SEQ_REGEXP>\r
+\r
+               <!-- doc block -->\r
+               <SPAN TYPE="COMMENT4">\r
+                       <BEGIN>&lt;%doc&gt;</BEGIN>\r
+                       <END>&lt;/%doc&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- flags block (python) -->\r
+               <SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">\r
+                       <BEGIN>&lt;%flags&gt;</BEGIN>\r
+                       <END>&lt;/%flags&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- python block -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;%python" DELEGATE="MYGHTY" TYPE="LITERAL4">\r
+                       <BEGIN>&lt;%python[^&gt;]*&gt;</BEGIN>\r
+                       <END>&lt;/%python&gt;</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- python block aliases - don't take args -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;%" DELEGATE="MYGHTY" TYPE="LITERAL4">\r
+                       <BEGIN>&lt;%(args|cleanup|filter|global|init|once|requestlocal|requestonce|shared|threadlocal|threadonce)&gt;</BEGIN>\r
+                       <END>&lt;/%$1&gt;</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- text block -->\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>&lt;%text&gt;</BEGIN>\r
+                       <END>&lt;/%text&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- calling component -->\r
+               <SEQ TYPE="LITERAL4">&lt;/&amp;&gt;</SEQ>\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&amp;" TYPE="LITERAL4" DELEGATE="MYGHTY">\r
+                       <BEGIN>&lt;&amp;[|]?</BEGIN>\r
+                       <END>&amp;&gt;</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- substitutions -->\r
+               <SPAN TYPE="LITERAL3" DELEGATE="MYGHTY">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN \r
+                       AT_LINE_START="TRUE" \r
+                       DELEGATE="MYGHTY" \r
+                       TYPE="LITERAL4">%</EOL_SPAN>\r
+\r
+               <IMPORT DELEGATE="html::MAIN"/>\r
+\r
+               <KEYWORDS>\r
+                       <!-- only here for complete-word -->\r
+                       <NULL>args</NULL>\r
+                       <NULL>attr</NULL>\r
+                       <NULL>cleanup</NULL>\r
+                       <NULL>closure</NULL>\r
+                       <NULL>def</NULL>\r
+                       <NULL>doc</NULL>\r
+                       <NULL>filter</NULL>\r
+                       <NULL>flags</NULL>\r
+                       <NULL>global</NULL>\r
+                       <NULL>init</NULL>\r
+                       <NULL>method</NULL>\r
+                       <NULL>once</NULL>\r
+                       <NULL>python</NULL>\r
+                       <NULL>requestlocal</NULL>\r
+                       <NULL>requestonce</NULL>\r
+                       <NULL>shared</NULL>\r
+                       <NULL>threadlocal</NULL>\r
+                       <NULL>threadonce</NULL>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+       <RULES IGNORE_CASE="FALSE" SET="MYGHTY">\r
+               <!-- alias for MODULE -->\r
+               <SEQ TYPE="KEYWORD4">@</SEQ>\r
+               <IMPORT DELEGATE="python::MAIN"/>\r
+               <KEYWORDS>\r
+                       <KEYWORD4>ARGS</KEYWORD4>\r
+                       <KEYWORD4>MODULE</KEYWORD4>\r
+                       <KEYWORD4>SELF</KEYWORD4>\r
+                       <KEYWORD4>m</KEYWORD4>\r
+                       <!-- request -->\r
+                       <KEYWORD4>r</KEYWORD4>\r
+                       <!-- session -->\r
+                       <KEYWORD4>s</KEYWORD4>\r
+                       <!-- URL encode -->\r
+                       <KEYWORD4>u</KEYWORD4>\r
+                       <!-- HTML encode -->\r
+                       <KEYWORD4>h</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <!-- only exists to color component name like a function -->\r
+       <RULES IGNORE_CASE="TRUE" SET="DEF" DEFAULT="FUNCTION">\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/mysql.xml b/basis/xmode/modes/mysql.xml
new file mode 100644 (file)
index 0000000..fe462a7
--- /dev/null
@@ -0,0 +1,244 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+               \r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ALL</KEYWORD1>\r
+                       <KEYWORD1>ALTER</KEYWORD1>\r
+                       <KEYWORD1>ANALYZE</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>AS</KEYWORD1>\r
+                       <KEYWORD1>ASC</KEYWORD1>\r
+                       <KEYWORD1>ASENSITIVE</KEYWORD1>\r
+                       <KEYWORD1>BEFORE</KEYWORD1>\r
+                       <KEYWORD1>BETWEEN</KEYWORD1>\r
+                       <KEYWORD1>BIGINT</KEYWORD1>\r
+                       <KEYWORD1>BINARY</KEYWORD1>\r
+                       <KEYWORD1>BLOB</KEYWORD1>\r
+                       <KEYWORD1>BOTH</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>CALL</KEYWORD1>\r
+                       <KEYWORD1>CASCADE</KEYWORD1>\r
+                       <KEYWORD1>CASE</KEYWORD1>\r
+                       <KEYWORD1>CHANGE</KEYWORD1>\r
+                       <KEYWORD1>CHAR</KEYWORD1>\r
+                       <KEYWORD1>CHARACTER</KEYWORD1>\r
+                       <KEYWORD1>CHECK</KEYWORD1>\r
+                       <KEYWORD1>COLLATE</KEYWORD1>\r
+                       <KEYWORD1>COLUMN</KEYWORD1>\r
+                       <KEYWORD1>CONDITION</KEYWORD1>\r
+                       <KEYWORD1>CONNECTION</KEYWORD1>\r
+                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>CONVERT</KEYWORD1>\r
+                       <KEYWORD1>CREATE</KEYWORD1>\r
+                       <KEYWORD1>CROSS</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_DATE</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_TIME</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_TIMESTAMP</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_USER</KEYWORD1>\r
+                       <KEYWORD1>CURSOR</KEYWORD1>\r
+                       <KEYWORD1>DATABASE</KEYWORD1>\r
+                       <KEYWORD1>DATABASES</KEYWORD1>\r
+                       <KEYWORD1>DAY_HOUR</KEYWORD1>\r
+                       <KEYWORD1>DAY_MICROSECOND</KEYWORD1>\r
+                       <KEYWORD1>DAY_MINUTE</KEYWORD1>\r
+                       <KEYWORD1>DAY_SECOND</KEYWORD1>\r
+                       <KEYWORD1>DEC</KEYWORD1>\r
+                       <KEYWORD1>DECIMAL</KEYWORD1>\r
+                       <KEYWORD1>DECLARE</KEYWORD1>\r
+                       <KEYWORD1>DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>DELAYED</KEYWORD1>\r
+                       <KEYWORD1>DELETE</KEYWORD1>\r
+                       <KEYWORD1>DESC</KEYWORD1>\r
+                       <KEYWORD1>DESCRIBE</KEYWORD1>\r
+                       <KEYWORD1>DETERMINISTIC</KEYWORD1>\r
+                       <KEYWORD1>DISTINCT</KEYWORD1>\r
+                       <KEYWORD1>DISTINCTROW</KEYWORD1>\r
+                       <KEYWORD1>DIV</KEYWORD1>\r
+                       <KEYWORD1>DOUBLE</KEYWORD1>\r
+                       <KEYWORD1>DROP</KEYWORD1>\r
+                       <KEYWORD1>DUAL</KEYWORD1>\r
+                       <KEYWORD1>EACH</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>ELSEIF</KEYWORD1>\r
+                       <KEYWORD1>ENCLOSED</KEYWORD1>\r
+                       <KEYWORD1>ESCAPED</KEYWORD1>\r
+                       <KEYWORD1>EXISTS</KEYWORD1>\r
+                       <KEYWORD1>EXIT</KEYWORD1>\r
+                       <KEYWORD1>EXPLAIN</KEYWORD1>\r
+                       <KEYWORD1>FALSE</KEYWORD1>\r
+                       <KEYWORD1>FETCH</KEYWORD1>\r
+                       <KEYWORD1>FLOAT</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>FORCE</KEYWORD1>\r
+                       <KEYWORD1>FOREIGN</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>FULLTEXT</KEYWORD1>\r
+                       <KEYWORD1>GOTO</KEYWORD1>\r
+                       <KEYWORD1>GRANT</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+                       <KEYWORD1>HAVING</KEYWORD1>\r
+                       <KEYWORD1>HIGH_PRIORITY</KEYWORD1>\r
+                       <KEYWORD1>HOUR_MICROSECOND</KEYWORD1>\r
+                       <KEYWORD1>HOUR_MINUTE</KEYWORD1>\r
+                       <KEYWORD1>HOUR_SECOND</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>IGNORE</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>INDEX</KEYWORD1>\r
+                       <KEYWORD1>INFILE</KEYWORD1>\r
+                       <KEYWORD1>INNER</KEYWORD1>\r
+                       <KEYWORD1>INOUT</KEYWORD1>\r
+                       <KEYWORD1>INSENSITIVE</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>INT</KEYWORD1>\r
+                       <KEYWORD1>INTEGER</KEYWORD1>\r
+                       <KEYWORD1>INTERVAL</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>IS</KEYWORD1>\r
+                       <KEYWORD1>ITERATE</KEYWORD1>\r
+                       <KEYWORD1>JOIN</KEYWORD1>\r
+                       <KEYWORD1>KEY</KEYWORD1>\r
+                       <KEYWORD1>KEYS</KEYWORD1>\r
+                       <KEYWORD1>KILL</KEYWORD1>\r
+                       <KEYWORD1>LEADING</KEYWORD1>\r
+                       <KEYWORD1>LEAVE</KEYWORD1>\r
+                       <KEYWORD1>LEFT</KEYWORD1>\r
+                       <KEYWORD1>LIKE</KEYWORD1>\r
+                       <KEYWORD1>LIMIT</KEYWORD1>\r
+                       <KEYWORD1>LINES</KEYWORD1>\r
+                       <KEYWORD1>LOAD</KEYWORD1>\r
+                       <KEYWORD1>LOCALTIME</KEYWORD1>\r
+                       <KEYWORD1>LOCALTIMESTAMP</KEYWORD1>\r
+                       <KEYWORD1>LOCK</KEYWORD1>\r
+                       <KEYWORD1>LONG</KEYWORD1>\r
+                       <KEYWORD1>LONGBLOB</KEYWORD1>\r
+                       <KEYWORD1>LONGTEXT</KEYWORD1>\r
+                       <KEYWORD1>LOOP</KEYWORD1>\r
+                       <KEYWORD1>LOW_PRIORITY</KEYWORD1>\r
+                       <KEYWORD1>MATCH</KEYWORD1>\r
+                       <KEYWORD1>MEDIUMBLOB</KEYWORD1>\r
+                       <KEYWORD1>MEDIUMINT</KEYWORD1>\r
+                       <KEYWORD1>MEDIUMTEXT</KEYWORD1>\r
+                       <KEYWORD1>MIDDLEINT</KEYWORD1>\r
+                       <KEYWORD1>MINUTE_MICROSECOND</KEYWORD1>\r
+                       <KEYWORD1>MINUTE_SECOND</KEYWORD1>\r
+                       <KEYWORD1>MOD</KEYWORD1>\r
+                       <KEYWORD1>MODIFIES</KEYWORD1>\r
+                       <KEYWORD1>NATURAL</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>NO_WRITE_TO_BINLOG</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>NUMERIC</KEYWORD1>\r
+                       <KEYWORD1>ON</KEYWORD1>\r
+                       <KEYWORD1>OPTIMIZE</KEYWORD1>\r
+                       <KEYWORD1>OPTION</KEYWORD1>\r
+                       <KEYWORD1>OPTIONALLY</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>ORDER</KEYWORD1>\r
+                       <KEYWORD1>OUT</KEYWORD1>\r
+                       <KEYWORD1>OUTER</KEYWORD1>\r
+                       <KEYWORD1>OUTFILE</KEYWORD1>\r
+                       <KEYWORD1>PRECISION</KEYWORD1>\r
+                       <KEYWORD1>PRIMARY</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
+                       <KEYWORD1>PURGE</KEYWORD1>\r
+                       <KEYWORD1>READ</KEYWORD1>\r
+                       <KEYWORD1>READS</KEYWORD1>\r
+                       <KEYWORD1>REAL</KEYWORD1>\r
+                       <KEYWORD1>REFERENCES</KEYWORD1>\r
+                       <KEYWORD1>REGEXP</KEYWORD1>\r
+                       <KEYWORD1>RENAME</KEYWORD1>\r
+                       <KEYWORD1>REPEAT</KEYWORD1>\r
+                       <KEYWORD1>REPLACE</KEYWORD1>\r
+                       <KEYWORD1>REQUIRE</KEYWORD1>\r
+                       <KEYWORD1>RESTRICT</KEYWORD1>\r
+                       <KEYWORD1>RETURN</KEYWORD1>\r
+                       <KEYWORD1>REVOKE</KEYWORD1>\r
+                       <KEYWORD1>RIGHT</KEYWORD1>\r
+                       <KEYWORD1>RLIKE</KEYWORD1>\r
+                       <KEYWORD1>SCHEMA</KEYWORD1>\r
+                       <KEYWORD1>SCHEMAS</KEYWORD1>\r
+                       <KEYWORD1>SECOND_MICROSECOND</KEYWORD1>\r
+                       <KEYWORD1>SELECT</KEYWORD1>\r
+                       <KEYWORD1>SENSITIVE</KEYWORD1>\r
+                       <KEYWORD1>SEPARATOR</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SHOW</KEYWORD1>\r
+                       <KEYWORD1>SMALLINT</KEYWORD1>\r
+                       <KEYWORD1>SONAME</KEYWORD1>\r
+                       <KEYWORD1>SPATIAL</KEYWORD1>\r
+                       <KEYWORD1>SPECIFIC</KEYWORD1>\r
+                       <KEYWORD1>SQL</KEYWORD1>\r
+                       <KEYWORD1>SQLEXCEPTION</KEYWORD1>\r
+                       <KEYWORD1>SQLSTATE</KEYWORD1>\r
+                       <KEYWORD1>SQLWARNING</KEYWORD1>\r
+                       <KEYWORD1>SQL_BIG_RESULT</KEYWORD1>\r
+                       <KEYWORD1>SQL_CALC_FOUND_ROWS</KEYWORD1>\r
+                       <KEYWORD1>SQL_SMALL_RESULT</KEYWORD1>\r
+                       <KEYWORD1>SSL</KEYWORD1>\r
+                       <KEYWORD1>STARTING</KEYWORD1>\r
+                       <KEYWORD1>STRAIGHT_JOIN</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>TERMINATED</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>TINYBLOB</KEYWORD1>\r
+                       <KEYWORD1>TINYINT</KEYWORD1>\r
+                       <KEYWORD1>TINYTEXT</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>TRAILING</KEYWORD1>\r
+                       <KEYWORD1>TRIGGER</KEYWORD1>\r
+                       <KEYWORD1>TRUE</KEYWORD1>\r
+                       <KEYWORD1>UNDO</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>UNIQUE</KEYWORD1>\r
+                       <KEYWORD1>UNLOCK</KEYWORD1>\r
+                       <KEYWORD1>UNSIGNED</KEYWORD1>\r
+                       <KEYWORD1>UPDATE</KEYWORD1>\r
+                       <KEYWORD1>USAGE</KEYWORD1>\r
+                       <KEYWORD1>USE</KEYWORD1>\r
+                       <KEYWORD1>USING</KEYWORD1>\r
+                       <KEYWORD1>UTC_DATE</KEYWORD1>\r
+                       <KEYWORD1>UTC_TIME</KEYWORD1>\r
+                       <KEYWORD1>UTC_TIMESTAMP</KEYWORD1>\r
+                       <KEYWORD1>VALUES</KEYWORD1>\r
+                       <KEYWORD1>VARBINARY</KEYWORD1>\r
+                       <KEYWORD1>VARCHAR</KEYWORD1>\r
+                       <KEYWORD1>VARCHARACTER</KEYWORD1>\r
+                       <KEYWORD1>VARYING</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>WHERE</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WRITE</KEYWORD1>\r
+                       <KEYWORD1>XOR</KEYWORD1>\r
+                       <KEYWORD1>YEAR_MONTH</KEYWORD1>\r
+                       <KEYWORD1>ZEROFILL</KEYWORD1>\r
+               \r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/netrexx.xml b/basis/xmode/modes/netrexx.xml
new file mode 100644 (file)
index 0000000..48d50eb
--- /dev/null
@@ -0,0 +1,414 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="indentNextLines"\r
+      VALUE="\s*(if|loop|do|else|select|otherwise|catch|finally|class|method|properties)(.*)"/>\r
+    <!-- VALUE="\s*(((if|while)\s*\(|else\s*(\{|$)|else\s+if\s*\(|case\s+.+:|default:)[^;]*|for\s*\(.*)" -->\r
+    <PROPERTY NAME="commentStart" VALUE="/*" />\r
+    <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+    <PROPERTY NAME="lineComment" VALUE="--" />\r
+    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+  </PROPS>\r
+  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+    <!-- Documentation comment -->\r
+    <SPAN TYPE="COMMENT2" DELEGATE="java::JAVADOC">\r
+      <BEGIN>/**</BEGIN>\r
+      <END>*/</END>\r
+    </SPAN>\r
+\r
+    <!-- C style comment -->\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>/*</BEGIN>\r
+      <END>*/</END>\r
+    </SPAN>\r
+\r
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">!</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+    <!-- workaround to stop "*" from being colorized\r
+         in import statements. -->\r
+    <SEQ TYPE="NULL">.*</SEQ>\r
+\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">%</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">|</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="OPERATOR">}</SEQ>\r
+    <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+    <KEYWORDS>\r
+\r
+      <FUNCTION>abbrev</FUNCTION>\r
+      <FUNCTION>abs</FUNCTION>\r
+      <FUNCTION>b2x</FUNCTION>\r
+      <FUNCTION>center</FUNCTION>\r
+      <FUNCTION>centre</FUNCTION>\r
+      <FUNCTION>changestr</FUNCTION>\r
+      <FUNCTION>charAt</FUNCTION>\r
+      <FUNCTION>compare</FUNCTION>\r
+      <FUNCTION>copies</FUNCTION>\r
+      <FUNCTION>copyIndexed</FUNCTION>\r
+      <FUNCTION>countstr</FUNCTION>\r
+      <FUNCTION>c2d</FUNCTION>\r
+      <FUNCTION>c2x</FUNCTION>\r
+      <FUNCTION>datatype</FUNCTION>\r
+      <FUNCTION>delstr</FUNCTION>\r
+      <FUNCTION>delword</FUNCTION>\r
+      <FUNCTION>d2c</FUNCTION>\r
+      <FUNCTION>d2X</FUNCTION>\r
+      <FUNCTION>equals</FUNCTION>\r
+      <FUNCTION>exists</FUNCTION>\r
+      <FUNCTION>format</FUNCTION>\r
+      <FUNCTION>hashCode</FUNCTION>\r
+      <FUNCTION>insert</FUNCTION>\r
+      <FUNCTION>lastpos</FUNCTION>\r
+      <FUNCTION>left</FUNCTION>\r
+      <FUNCTION>length</FUNCTION>\r
+      <FUNCTION>lower</FUNCTION>\r
+      <FUNCTION>max</FUNCTION>\r
+      <FUNCTION>min</FUNCTION>\r
+      <FUNCTION>nop</FUNCTION>\r
+      <FUNCTION>overlay</FUNCTION>\r
+      <FUNCTION>parse</FUNCTION>\r
+      <FUNCTION>pos</FUNCTION>\r
+      <FUNCTION>reverse</FUNCTION>\r
+      <FUNCTION>right</FUNCTION>\r
+      <FUNCTION>say</FUNCTION>\r
+      <FUNCTION>sequence</FUNCTION>\r
+      <FUNCTION>sign</FUNCTION>\r
+      <FUNCTION>space</FUNCTION>\r
+      <FUNCTION>strip</FUNCTION>\r
+      <FUNCTION>substr</FUNCTION>\r
+      <FUNCTION>subword</FUNCTION>\r
+      <FUNCTION>toCharArray</FUNCTION>\r
+      <FUNCTION>toString</FUNCTION>\r
+      <FUNCTION>toboolean</FUNCTION>\r
+      <FUNCTION>tobyte</FUNCTION>\r
+      <FUNCTION>tochar</FUNCTION>\r
+      <FUNCTION>todouble</FUNCTION>\r
+      <FUNCTION>tofloat</FUNCTION>\r
+      <FUNCTION>toint</FUNCTION>\r
+      <FUNCTION>tolong</FUNCTION>\r
+      <FUNCTION>toshort</FUNCTION>\r
+      <FUNCTION>trunc</FUNCTION>\r
+      <FUNCTION>translate</FUNCTION>\r
+      <FUNCTION>upper</FUNCTION>\r
+      <FUNCTION>verify</FUNCTION>\r
+      <FUNCTION>word</FUNCTION>\r
+      <FUNCTION>wordindex</FUNCTION>\r
+      <FUNCTION>wordlength</FUNCTION>\r
+      <FUNCTION>wordpos</FUNCTION>\r
+      <FUNCTION>words</FUNCTION>\r
+      <FUNCTION>x2b</FUNCTION>\r
+      <FUNCTION>x2c</FUNCTION>\r
+      <FUNCTION>x2d</FUNCTION>\r
+\r
+      <KEYWORD1>class</KEYWORD1>\r
+      <KEYWORD1>private</KEYWORD1>\r
+      <KEYWORD1>public</KEYWORD1>\r
+      <KEYWORD1>abstract</KEYWORD1>\r
+      <KEYWORD1>final</KEYWORD1>\r
+      <KEYWORD1>interface</KEYWORD1>\r
+      <KEYWORD1>dependent</KEYWORD1>\r
+      <KEYWORD1>adapter</KEYWORD1>\r
+      <KEYWORD1>deprecated</KEYWORD1>\r
+      <KEYWORD1>extends</KEYWORD1>\r
+      <KEYWORD1>uses</KEYWORD1>\r
+      <KEYWORD1>implements</KEYWORD1>\r
+\r
+      <KEYWORD1>method</KEYWORD1>\r
+      <KEYWORD1>native</KEYWORD1>\r
+      <KEYWORD1>returns</KEYWORD1>\r
+      <KEYWORD1>signals</KEYWORD1>\r
+\r
+      <KEYWORD1>properties</KEYWORD1>\r
+      <KEYWORD1>private</KEYWORD1>\r
+      <KEYWORD1>public</KEYWORD1>\r
+      <KEYWORD1>inheritable</KEYWORD1>\r
+      <KEYWORD1>constant</KEYWORD1>\r
+      <KEYWORD1>static</KEYWORD1>\r
+      <KEYWORD1>volatile</KEYWORD1>\r
+      <KEYWORD1>unused</KEYWORD1>\r
+      <KEYWORD1>transient</KEYWORD1>\r
+      <KEYWORD1>indirect</KEYWORD1>\r
+\r
+      <KEYWORD2>do</KEYWORD2>\r
+      <KEYWORD2>label</KEYWORD2>\r
+      <KEYWORD2>protect</KEYWORD2>\r
+      <KEYWORD2>catch</KEYWORD2>\r
+      <KEYWORD2>finally</KEYWORD2>\r
+      <KEYWORD2>end</KEYWORD2>\r
+      <KEYWORD2>signal</KEYWORD2>\r
+\r
+      <KEYWORD2>if</KEYWORD2>\r
+      <KEYWORD2>then</KEYWORD2>\r
+      <KEYWORD2>else</KEYWORD2>\r
+      <KEYWORD2>select</KEYWORD2>\r
+      <KEYWORD2>case</KEYWORD2>\r
+      <KEYWORD2>when</KEYWORD2>\r
+      <KEYWORD2>otherwise</KEYWORD2>\r
+\r
+      <KEYWORD2>loop</KEYWORD2>\r
+      <KEYWORD2>forever</KEYWORD2>\r
+      <KEYWORD2>for</KEYWORD2>\r
+      <KEYWORD2>to</KEYWORD2>\r
+      <KEYWORD2>by</KEYWORD2>\r
+      <KEYWORD2>over</KEYWORD2>\r
+      <KEYWORD2>until</KEYWORD2>\r
+      <KEYWORD2>while</KEYWORD2>\r
+      <KEYWORD2>leave</KEYWORD2>\r
+      <KEYWORD2>iterate</KEYWORD2>\r
+\r
+      <KEYWORD2>return</KEYWORD2>\r
+      <KEYWORD2>exit</KEYWORD2>\r
+\r
+      <KEYWORD3>ask</KEYWORD3>\r
+      <KEYWORD3>digits</KEYWORD3>\r
+      <KEYWORD3>form</KEYWORD3>\r
+      <KEYWORD3>null</KEYWORD3>\r
+      <KEYWORD3>source</KEYWORD3>\r
+      <KEYWORD3>this</KEYWORD3>\r
+      <KEYWORD3>super</KEYWORD3>\r
+      <KEYWORD3>parent</KEYWORD3>\r
+      <KEYWORD3>sourceline</KEYWORD3>\r
+      <KEYWORD3>version</KEYWORD3>\r
+\r
+      <KEYWORD3>trace</KEYWORD3>\r
+      <KEYWORD3>var</KEYWORD3>\r
+      <KEYWORD3>all</KEYWORD3>\r
+      <KEYWORD3>results</KEYWORD3>\r
+      <KEYWORD3>off</KEYWORD3>\r
+      <KEYWORD3>methods</KEYWORD3>\r
+\r
+      <KEYWORD3>package</KEYWORD3>\r
+      <KEYWORD3>import</KEYWORD3>\r
+      <KEYWORD3>numeric</KEYWORD3>\r
+      <KEYWORD3>scientific</KEYWORD3>\r
+      <KEYWORD3>engineering</KEYWORD3>\r
+\r
+      <LITERAL2>options</LITERAL2>\r
+      <LITERAL2>comments</LITERAL2>\r
+      <LITERAL2>nocomments</LITERAL2>\r
+      <LITERAL2>keep</LITERAL2>\r
+      <LITERAL2>nokeep</LITERAL2>\r
+      <LITERAL2>compact</LITERAL2>\r
+      <LITERAL2>nocompact</LITERAL2>\r
+      <LITERAL2>console</LITERAL2>\r
+      <LITERAL2>noconsole</LITERAL2>\r
+      <LITERAL2>decimal</LITERAL2>\r
+      <LITERAL2>nodecimal</LITERAL2>\r
+      <LITERAL2>explicit</LITERAL2>\r
+      <LITERAL2>noexplicit</LITERAL2>\r
+      <LITERAL2>java</LITERAL2>\r
+      <LITERAL2>nojava</LITERAL2>\r
+      <LITERAL2>savelog</LITERAL2>\r
+      <LITERAL2>nosavelog</LITERAL2>\r
+\r
+      <LITERAL2>sourcedir</LITERAL2>\r
+      <LITERAL2>nosourcedir</LITERAL2>\r
+      <LITERAL2>symbols</LITERAL2>\r
+      <LITERAL2>nosymbols</LITERAL2>\r
+      <LITERAL2>utf8</LITERAL2>\r
+      <LITERAL2>noutf8</LITERAL2>\r
+\r
+      <LITERAL2>notrace</LITERAL2>\r
+      <LITERAL2>binary</LITERAL2>\r
+      <LITERAL2>nobinary</LITERAL2>\r
+      <LITERAL2>crossref</LITERAL2>\r
+      <LITERAL2>nocrossref</LITERAL2>\r
+      <LITERAL2>diag</LITERAL2>\r
+      <LITERAL2>nodiag</LITERAL2>\r
+      <LITERAL2>format</LITERAL2>\r
+      <LITERAL2>noformat</LITERAL2>\r
+      <LITERAL2>logo</LITERAL2>\r
+      <LITERAL2>nologo</LITERAL2>\r
+      <LITERAL2>replace</LITERAL2>\r
+      <LITERAL2>noreplace</LITERAL2>\r
+\r
+      <LITERAL2>strictassign</LITERAL2>\r
+      <LITERAL2>nostrictassign</LITERAL2>\r
+      <LITERAL2>strictcase</LITERAL2>\r
+      <LITERAL2>nostrictcase</LITERAL2>\r
+      <LITERAL2>strictargs</LITERAL2>\r
+      <LITERAL2>nostrictargs</LITERAL2>\r
+      <LITERAL2>strictimport</LITERAL2>\r
+      <LITERAL2>nostrictimport</LITERAL2>\r
+      <LITERAL2>strictsignal</LITERAL2>\r
+      <LITERAL2>nostrictsignal</LITERAL2>\r
+      <LITERAL2>strictprops</LITERAL2>\r
+      <LITERAL2>nostrictprops</LITERAL2>\r
+\r
+      <LITERAL2>verbose</LITERAL2>\r
+      <LITERAL2>noverbose</LITERAL2>\r
+      <LITERAL2>verbose0</LITERAL2>\r
+      <LITERAL2>verbose1</LITERAL2>\r
+      <LITERAL2>verbose2</LITERAL2>\r
+      <LITERAL2>verbose3</LITERAL2>\r
+      <LITERAL2>verbose4</LITERAL2>\r
+      <LITERAL2>verbose5</LITERAL2>\r
+\r
+      <LABEL>boolean</LABEL>\r
+      <LABEL>char</LABEL>\r
+      <LABEL>byte</LABEL>\r
+      <LABEL>short</LABEL>\r
+      <LABEL>int</LABEL>\r
+      <LABEL>long</LABEL>\r
+      <LABEL>float</LABEL>\r
+      <LABEL>double</LABEL>\r
+      <LABEL>Boolean</LABEL>\r
+      <LABEL>Character</LABEL>\r
+      <LABEL>Byte</LABEL>\r
+      <LABEL>Short</LABEL>\r
+      <LABEL>Integer</LABEL>\r
+      <LABEL>Long</LABEL>\r
+      <LABEL>Float</LABEL>\r
+      <LABEL>Double</LABEL>\r
+      <LABEL>BigDecimal</LABEL>\r
+      <LABEL>BigInteger</LABEL>\r
+      <LABEL>String</LABEL>\r
+      <LABEL>Rexx</LABEL>\r
+\r
+      <LABEL>StringBuffer</LABEL>\r
+      <LABEL>Object</LABEL>\r
+      <LABEL>Number</LABEL>\r
+      <LABEL>ArrayList</LABEL>\r
+      <LABEL>Calendar</LABEL>\r
+      <LABEL>Date</LABEL>\r
+      <LABEL>HashMap</LABEL>\r
+      <LABEL>HashSet</LABEL>\r
+      <LABEL>Hashtable</LABEL>\r
+      <LABEL>LinkedHashMap</LABEL>\r
+      <LABEL>LinkedHashSet</LABEL>\r
+      <LABEL>TreeMap</LABEL>\r
+      <LABEL>TreeSet</LABEL>\r
+      <LABEL>Vector</LABEL>\r
+      <LABEL>ConcurrentModificationException</LABEL>\r
+\r
+      <LABEL>BufferedInputStream</LABEL>\r
+      <LABEL>BufferedOutputStream</LABEL>\r
+      <LABEL>BufferedReader</LABEL>\r
+      <LABEL>BufferedWriter</LABEL>\r
+      <LABEL>ByteArrayInputStream</LABEL>\r
+      <LABEL>ByteArrayOutputStream</LABEL>\r
+      <LABEL>CharArrayReader</LABEL>\r
+      <LABEL>CharArrayWriter</LABEL>\r
+      <LABEL>DataInputStream</LABEL>\r
+      <LABEL>DataOutputStream</LABEL>\r
+      <LABEL>File</LABEL>\r
+      <LABEL>FileDescriptor</LABEL>\r
+      <LABEL>FileInputStream</LABEL>\r
+      <LABEL>FileOutputStream</LABEL>\r
+      <LABEL>FilePermission</LABEL>\r
+      <LABEL>FileReader</LABEL>\r
+      <LABEL>FileWriter</LABEL>\r
+      <LABEL>FilterInputStream</LABEL>\r
+      <LABEL>FilterOutputStream</LABEL>\r
+      <LABEL>FilterReader</LABEL>\r
+      <LABEL>FilterWriter</LABEL>\r
+      <LABEL>InputStream</LABEL>\r
+      <LABEL>InputStreamReader</LABEL>\r
+      <LABEL>LineNumberInputStream</LABEL>\r
+      <LABEL>LineNumberReader</LABEL>\r
+      <LABEL>ObjectInputStream</LABEL>\r
+      <LABEL>ObjectOutputStream</LABEL>\r
+      <LABEL>OutputStream</LABEL>\r
+      <LABEL>OutputStreamWriter</LABEL>\r
+      <LABEL>PipedInputStream</LABEL>\r
+      <LABEL>PipedOutputStream</LABEL>\r
+      <LABEL>PipedReader</LABEL>\r
+      <LABEL>PipedWriter</LABEL>\r
+      <LABEL>PrintStream</LABEL>\r
+      <LABEL>PrintWriter</LABEL>\r
+      <LABEL>PushbackInputStream</LABEL>\r
+      <LABEL>PushbackReader</LABEL>\r
+      <LABEL>RandomAccessFile</LABEL>\r
+      <LABEL>Reader</LABEL>\r
+      <LABEL>SequenceInputStream</LABEL>\r
+      <LABEL>StreamTokenizer</LABEL>\r
+      <LABEL>StringBufferInputStream</LABEL>\r
+      <LABEL>StringReader</LABEL>\r
+      <LABEL>StringWriter</LABEL>\r
+      <LABEL>Writer</LABEL>\r
+\r
+      <!-- Commonly used (=java.lang.* and java.io.*) Exceptions -->\r
+      <MARKUP>ArithmeticException</MARKUP>\r
+      <MARKUP>ArrayIndexOutOfBoundsException</MARKUP>\r
+      <MARKUP>ArrayStoreException</MARKUP>\r
+      <MARKUP>ClassCastException</MARKUP>\r
+      <MARKUP>ClassNotFoundException</MARKUP>\r
+      <MARKUP>CloneNotSupportedException</MARKUP>\r
+      <MARKUP>Exception</MARKUP>\r
+      <MARKUP>IllegalAccessException</MARKUP>\r
+      <MARKUP>IllegalArgumentException</MARKUP>\r
+      <MARKUP>IllegalMonitorStateException</MARKUP>\r
+      <MARKUP>IllegalStateException</MARKUP>\r
+      <MARKUP>IllegalThreadStateException</MARKUP>\r
+      <MARKUP>IndexOutOfBoundsException</MARKUP>\r
+      <MARKUP>InstantiationException</MARKUP>\r
+      <MARKUP>InterruptedException</MARKUP>\r
+      <MARKUP>NegativeArraySizeException</MARKUP>\r
+      <MARKUP>NoSuchFieldException</MARKUP>\r
+      <MARKUP>NoSuchMethodException</MARKUP>\r
+      <MARKUP>NullPointerException</MARKUP>\r
+      <MARKUP>NumberFormatException</MARKUP>\r
+      <MARKUP>RuntimeException</MARKUP>\r
+      <MARKUP>SecurityException</MARKUP>\r
+      <MARKUP>StringIndexOutOfBoundsException</MARKUP>\r
+      <MARKUP>UnsupportedOperationException</MARKUP>\r
+\r
+      <MARKUP>CharConversionException</MARKUP>\r
+      <MARKUP>EOFException</MARKUP>\r
+      <MARKUP>FileNotFoundException</MARKUP>\r
+      <MARKUP>InterruptedIOException</MARKUP>\r
+      <MARKUP>InvalidClassException</MARKUP>\r
+      <MARKUP>InvalidObjectException</MARKUP>\r
+      <MARKUP>IOException</MARKUP>\r
+      <MARKUP>NotActiveException</MARKUP>\r
+      <MARKUP>NotSerializableException</MARKUP>\r
+      <MARKUP>ObjectStreamException</MARKUP>\r
+      <MARKUP>OptionalDataException</MARKUP>\r
+      <MARKUP>StreamCorruptedException</MARKUP>\r
+      <MARKUP>SyncFailedException</MARKUP>\r
+      <MARKUP>UnsupportedEncodingException</MARKUP>\r
+      <MARKUP>UTFDataFormatException</MARKUP>\r
+      <MARKUP>WriteAbortedException</MARKUP>\r
+\r
+      <!-- all rmi functions need to signal this -->\r
+      <MARKUP>RemoteException</MARKUP>\r
+\r
+      <!-- Rexx specific Exception -->\r
+      <MARKUP>BadArgumentException</MARKUP>\r
+      <MARKUP>BadColumnException</MARKUP>\r
+      <MARKUP>BadNumericException</MARKUP>\r
+      <MARKUP>DivideException</MARKUP>\r
+      <MARKUP>ExponentOverflowException</MARKUP>\r
+      <MARKUP>NoOtherwiseException</MARKUP>\r
+      <MARKUP>NotCharacterException</MARKUP>\r
+      <MARKUP>NotLogicException</MARKUP>\r
+\r
+    </KEYWORDS>\r
+  </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/nqc.xml b/basis/xmode/modes/nqc.xml
new file mode 100644 (file)
index 0000000..1c0e038
--- /dev/null
@@ -0,0 +1,219 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- preprocessor statements -->\r
+               <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+                       MATCH_TYPE="OPERATOR"\r
+                       TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>__event_src</KEYWORD1>\r
+                       <KEYWORD1>__sensor</KEYWORD1>\r
+                       <KEYWORD1>__type</KEYWORD1>\r
+                       <KEYWORD1>abs</KEYWORD1>\r
+                       <KEYWORD1>aquire</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>monitor</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>sign</KEYWORD1>\r
+                       <KEYWORD1>start</KEYWORD1>\r
+                       <KEYWORD1>stop</KEYWORD1>\r
+                       <KEYWORD1>sub</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>task</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <KEYWORD2>asm</KEYWORD2>\r
+                       <KEYWORD2>inline</KEYWORD2>\r
+\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>void</KEYWORD3>\r
+\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>NULL</LITERAL2>\r
+\r
+                       <LITERAL2>SENSOR_1</LITERAL2>\r
+                       <LITERAL2>SENSOR_2</LITERAL2>\r
+                       <LITERAL2>SENSOR_3</LITERAL2>\r
+\r
+                       <LITERAL2>SENSOR_TYPE_NONE</LITERAL2>\r
+                       <LITERAL2>SENSOR_TYPE_TOUCH</LITERAL2>\r
+                       <LITERAL2>SENSOR_TYPE_TEMPERATURE</LITERAL2>\r
+                       <LITERAL2>SENSOR_TYPE_LIGHT</LITERAL2>\r
+                       <LITERAL2>SENSOR_TYPE_ROTATION</LITERAL2>\r
+\r
+                       <LITERAL2>SENSOR_MODE_RAW</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_BOOL</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_EDGE</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_PULSE</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_PERCENT</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_FAHRENHEIT</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_CELSIUS</LITERAL2>\r
+                       <LITERAL2>SENSOR_MODE_ROTATION</LITERAL2>\r
+\r
+                       <LITERAL2>SENSOR_TOUCH</LITERAL2>\r
+                       <LITERAL2>SENSOR_LIGHT</LITERAL2>\r
+                       <LITERAL2>SENSOR_EDGE</LITERAL2>\r
+                       <LITERAL2>SENSOR_PULSE</LITERAL2>\r
+                       <LITERAL2>SENSOR_FAHRENHEIT</LITERAL2>\r
+                       <LITERAL2>SENSOR_CELSIUS</LITERAL2>\r
+                       <LITERAL2>SENSOR_ROTATION</LITERAL2>\r
+\r
+                       <LITERAL2>OUT_A</LITERAL2>\r
+                       <LITERAL2>OUT_B</LITERAL2>\r
+                       <LITERAL2>OUT_C</LITERAL2>\r
+\r
+                       <LITERAL2>OUT_OFF</LITERAL2>\r
+                       <LITERAL2>OUT_ON</LITERAL2>\r
+                       <LITERAL2>OUT_FLOAT</LITERAL2>\r
+\r
+                       <LITERAL2>OUT_FWD</LITERAL2>\r
+                       <LITERAL2>OUT_REV</LITERAL2>\r
+                       <LITERAL2>OUT_TOOGLE</LITERAL2>\r
+\r
+                       <LITERAL2>OUT_FULL</LITERAL2>\r
+                       <LITERAL2>OUT_HALF</LITERAL2>\r
+                       <LITERAL2>OUT_LOW</LITERAL2>\r
+\r
+                       <LITERAL2>SOUND_CLICK</LITERAL2>\r
+                       <LITERAL2>SOUND_DOUBLE_BEEP</LITERAL2>\r
+                       <LITERAL2>SOUND_DOWN</LITERAL2>\r
+                       <LITERAL2>SOUND_UP</LITERAL2>\r
+                       <LITERAL2>SOUND_LOW_BEEP</LITERAL2>\r
+                       <LITERAL2>SOUND_FAST_UP</LITERAL2>\r
+\r
+                       <LITERAL2>DISPLAY_WATCH</LITERAL2>\r
+                       <LITERAL2>DISPLAY_OUT_A</LITERAL2>\r
+                       <LITERAL2>DISPLAY_OUT_B</LITERAL2>\r
+                       <LITERAL2>DISPLAY_OUT_C</LITERAL2>\r
+                       <LITERAL2>DISPLAY_SENSOR_1</LITERAL2>\r
+                       <LITERAL2>DISPLAY_SENSOR_2</LITERAL2>\r
+                       <LITERAL2>DISPLAY_SENSOR_3</LITERAL2>\r
+\r
+                       <LITERAL2>TX_POWER_LO</LITERAL2>\r
+                       <LITERAL2>TX_POWER_HI</LITERAL2>\r
+\r
+                       <LITERAL2>SERIAL_COMM_DEFAULT</LITERAL2>\r
+                       <LITERAL2>SERIAL_COMM_4800</LITERAL2>\r
+                       <LITERAL2>SERIAL_COMM_DUTY25</LITERAL2>\r
+                       <LITERAL2>SERIAL_COMM_76KHZ</LITERAL2>\r
+\r
+                       <LITERAL2>SERIAL_PACKET_PREAMBLE</LITERAL2>\r
+                       <LITERAL2>SERIAL_PACKET_DEFAULT</LITERAL2>\r
+                       <LITERAL2>SERIAL_PACKET_NEGATED</LITERAL2>\r
+                       <LITERAL2>SERIAL_PACKET_CHECKSUM</LITERAL2>\r
+                       <LITERAL2>SERIAL_PACKET_RCX</LITERAL2>\r
+                       <LITERAL2>SERIAL_PACKET_</LITERAL2>\r
+\r
+                       <LITERAL2>ACQUIRE_OUT_A</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_OUT_B</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_OUT_C</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_SOUND</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_USER_1</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_USER_2</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_USER_3</LITERAL2>\r
+                       <LITERAL2>ACQUIRE_USER_4</LITERAL2>\r
+\r
+                       <LITERAL2>EVENT_TYPE_PRESSED</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_RELEASED</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_PULSE</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_EDGE</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_FASTCHANGE</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_LOW</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_NORMAL</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_HIGH</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_CLICK</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_DOUBLECLICK</LITERAL2>\r
+                       <LITERAL2>EVENT_TYPE_MESSAGE</LITERAL2>\r
+\r
+                       <LITERAL2>EVENT_1_PRESSED</LITERAL2>\r
+                       <LITERAL2>EVENT_1_RELEASED</LITERAL2>\r
+                       <LITERAL2>EVENT_2_PRESSED</LITERAL2>\r
+                       <LITERAL2>EVENT_2_RELEASED</LITERAL2>\r
+                       <LITERAL2>EVENT_LIGHT_HIGH</LITERAL2>\r
+                       <LITERAL2>EVENT_LIGHT_NORMAL</LITERAL2>\r
+                       <LITERAL2>EVENT_LIGHT_LOW</LITERAL2>\r
+                       <LITERAL2>EVENT_LIGHT_CLICK</LITERAL2>\r
+                       <LITERAL2>EVENT_LIGHT_DOUBLECLICK</LITERAL2>\r
+                       <LITERAL2>EVENT_COUNTER_0</LITERAL2>\r
+                       <LITERAL2>EVENT_COUNTER_1</LITERAL2>\r
+                       <LITERAL2>EVENT_TIMER_0</LITERAL2>\r
+                       <LITERAL2>EVENT_TIMER_1</LITERAL2>\r
+                       <LITERAL2>EVENT_TIMER_2</LITERAL2>\r
+                       <LITERAL2>EVENT_MESSAGE</LITERAL2>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/nsis2.xml b/basis/xmode/modes/nsis2.xml
new file mode 100644 (file)
index 0000000..1b104bd
--- /dev/null
@@ -0,0 +1,480 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+Nullsoft Scriptable Installation System mode by Ryan Grove 2003\r
+Updated by Uwe (donovaly@users.sourceforge.net) 2007\r
+Updated for 4.3pre9 by Alan Ezust 2007\r
+$Id: nsis2.xml 9932 2007-07-06 15:44:46Z Vampire0 $\r
+\r
+This file should be accurate as of the version of NSIS 2.25. If I've left something out, please let me know.\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+               <PROPERTY NAME="indentNextLine" VALUE="\s*(.*:|(function\s+.*)|(section\s+.*)|(subsection\s+.*))" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" ESCAPE="$\" HIGHLIGHT_DIGITS="TRUE" DEFAULT="NULL">\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Deprecated stuff -->\r
+                       <INVALID>dim</INVALID>\r
+                       <INVALID>uninstallexename</INVALID>\r
+\r
+                       <!-- Global variables -->\r
+                       <KEYWORD3>$0</KEYWORD3>\r
+                       <KEYWORD3>$1</KEYWORD3>\r
+                       <KEYWORD3>$2</KEYWORD3>\r
+                       <KEYWORD3>$3</KEYWORD3>\r
+                       <KEYWORD3>$4</KEYWORD3>\r
+                       <KEYWORD3>$5</KEYWORD3>\r
+                       <KEYWORD3>$6</KEYWORD3>\r
+                       <KEYWORD3>$7</KEYWORD3>\r
+                       <KEYWORD3>$8</KEYWORD3>\r
+                       <KEYWORD3>$9</KEYWORD3>\r
+                       <KEYWORD3>$INSTDIR</KEYWORD3>\r
+                       <KEYWORD3>$OUTDIR</KEYWORD3>\r
+                       <KEYWORD3>$CMDLINE</KEYWORD3>\r
+                       <KEYWORD3>$LANGUAGE</KEYWORD3>\r
+\r
+                       <!-- Local variables -->\r
+                       <KEYWORD3>$R0</KEYWORD3>\r
+                       <KEYWORD3>$R1</KEYWORD3>\r
+                       <KEYWORD3>$R2</KEYWORD3>\r
+                       <KEYWORD3>$R3</KEYWORD3>\r
+                       <KEYWORD3>$R4</KEYWORD3>\r
+                       <KEYWORD3>$R5</KEYWORD3>\r
+                       <KEYWORD3>$R6</KEYWORD3>\r
+                       <KEYWORD3>$R7</KEYWORD3>\r
+                       <KEYWORD3>$R8</KEYWORD3>\r
+                       <KEYWORD3>$R9</KEYWORD3>\r
+\r
+                       <!-- Constants -->\r
+                       <LITERAL3>ARCHIVE</LITERAL3>\r
+                       <LITERAL3>CENTER</LITERAL3>\r
+                       <LITERAL3>CONTROL</LITERAL3>\r
+                       <LITERAL3>CUR</LITERAL3>\r
+                       <LITERAL3>EXT</LITERAL3>\r
+                       <LITERAL3>F1</LITERAL3>\r
+                       <LITERAL3>F2</LITERAL3>\r
+                       <LITERAL3>F3</LITERAL3>\r
+                       <LITERAL3>F4</LITERAL3>\r
+                       <LITERAL3>F5</LITERAL3>\r
+                       <LITERAL3>F6</LITERAL3>\r
+                       <LITERAL3>F7</LITERAL3>\r
+                       <LITERAL3>F8</LITERAL3>\r
+                       <LITERAL3>F9</LITERAL3>\r
+                       <LITERAL3>F10</LITERAL3>\r
+                       <LITERAL3>F11</LITERAL3>\r
+                       <LITERAL3>F12</LITERAL3>\r
+                       <LITERAL3>F13</LITERAL3>\r
+                       <LITERAL3>F14</LITERAL3>\r
+                       <LITERAL3>F15</LITERAL3>\r
+                       <LITERAL3>F16</LITERAL3>\r
+                       <LITERAL3>F17</LITERAL3>\r
+                       <LITERAL3>F18</LITERAL3>\r
+                       <LITERAL3>F19</LITERAL3>\r
+                       <LITERAL3>F20</LITERAL3>\r
+                       <LITERAL3>F21</LITERAL3>\r
+                       <LITERAL3>F22</LITERAL3>\r
+                       <LITERAL3>F23</LITERAL3>\r
+                       <LITERAL3>F24</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_ARCHIVE</LITERAL3>\r
+                       <LITERAL3>MB_ABORTRETRYIGNORE</LITERAL3>\r
+                       <LITERAL3>RIGHT</LITERAL3>\r
+                       <LITERAL3>RO</LITERAL3>\r
+                       <LITERAL3>SET</LITERAL3>\r
+                       <LITERAL3>SHIFT</LITERAL3>\r
+                       <LITERAL3>SW_SHOWMAXIMIZED</LITERAL3>\r
+                       <LITERAL3>SW_SHOWMINIMIZED</LITERAL3>\r
+                       <LITERAL3>SW_SHOWNORMAL</LITERAL3>\r
+                       <LITERAL3>a</LITERAL3>\r
+                       <LITERAL3>all</LITERAL3>\r
+                       <LITERAL3>alwaysoff</LITERAL3>\r
+                       <LITERAL3>auto</LITERAL3>\r
+                       <LITERAL3>both</LITERAL3>\r
+                       <LITERAL3>bottom</LITERAL3>\r
+                       <LITERAL3>bzip2</LITERAL3>\r
+                       <LITERAL3>checkbox</LITERAL3>\r
+                       <LITERAL3>colored</LITERAL3>\r
+                       <LITERAL3>components</LITERAL3>\r
+                       <LITERAL3>current</LITERAL3>\r
+                       <LITERAL3>custom</LITERAL3>\r
+                       <LITERAL3>directory</LITERAL3>\r
+                       <LITERAL3>false</LITERAL3>\r
+                       <LITERAL3>force</LITERAL3>\r
+                       <LITERAL3>hide</LITERAL3>\r
+                       <LITERAL3>ifnewer</LITERAL3>\r
+                       <LITERAL3>instfiles</LITERAL3>\r
+                       <LITERAL3>license</LITERAL3>\r
+                       <LITERAL3>listonly</LITERAL3>\r
+                       <LITERAL3>manual</LITERAL3>\r
+                       <LITERAL3>nevershow</LITERAL3>\r
+                       <LITERAL3>none</LITERAL3>\r
+                       <LITERAL3>off</LITERAL3>\r
+                       <LITERAL3>on</LITERAL3>\r
+                       <LITERAL3>r</LITERAL3>\r
+                       <LITERAL3>radiobuttons</LITERAL3>\r
+                       <LITERAL3>show</LITERAL3>\r
+                       <LITERAL3>silent</LITERAL3>\r
+                       <LITERAL3>silentlog</LITERAL3>\r
+                       <LITERAL3>smooth</LITERAL3>\r
+                       <LITERAL3>textonly</LITERAL3>\r
+                       <LITERAL3>top</LITERAL3>\r
+                       <LITERAL3>true</LITERAL3>\r
+                       <LITERAL3>try</LITERAL3>\r
+                       <LITERAL3>uninstConfirm</LITERAL3>\r
+                       <LITERAL3>w</LITERAL3>\r
+                       <LITERAL3>zlib</LITERAL3>\r
+                       <LITERAL3>$$</LITERAL3>\r
+                       <LITERAL3>$DESKTOP</LITERAL3>\r
+                       <LITERAL3>$EXEDIR</LITERAL3>\r
+                       <LITERAL3>$HWNDPARENT</LITERAL3>\r
+                       <LITERAL3>$PLUGINSDIR</LITERAL3>\r
+                       <LITERAL3>$PROGRAMFILES</LITERAL3>\r
+                       <LITERAL3>$QUICKLAUNCH</LITERAL3>\r
+                       <LITERAL3>$SMPROGRAMS</LITERAL3>\r
+                       <LITERAL3>$SMSTARTUP</LITERAL3>\r
+                       <LITERAL3>$STARTMENU</LITERAL3>\r
+                       <LITERAL3>$SYSDIR</LITERAL3>\r
+                       <LITERAL3>$TEMP</LITERAL3>\r
+                       <LITERAL3>$WINDIR</LITERAL3>\r
+                       <LITERAL3>$\n</LITERAL3>\r
+                       <LITERAL3>$\r</LITERAL3>\r
+                       <LITERAL3>${NSISDIR}</LITERAL3>\r
+                       <LITERAL3>ALT</LITERAL3>\r
+                       <LITERAL3>END</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_HIDDEN</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_NORMAL</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_OFFLINE</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_READONLY</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_SYSTEM</LITERAL3>\r
+                       <LITERAL3>FILE_ATTRIBUTE_TEMPORARY</LITERAL3>\r
+                       <LITERAL3>HIDDEN</LITERAL3>\r
+                       <LITERAL3>HKCC</LITERAL3>\r
+                       <LITERAL3>HKCR</LITERAL3>\r
+                       <LITERAL3>HKCU</LITERAL3>\r
+                       <LITERAL3>HKDD</LITERAL3>\r
+                       <LITERAL3>HKLM</LITERAL3>\r
+                       <LITERAL3>HKPD</LITERAL3>\r
+                       <LITERAL3>HKU</LITERAL3>\r
+                       <LITERAL3>SHCTX</LITERAL3>\r
+                       <LITERAL3>IDABORT</LITERAL3>\r
+                       <LITERAL3>IDCANCEL</LITERAL3>\r
+                       <LITERAL3>IDIGNORE</LITERAL3>\r
+                       <LITERAL3>IDNO</LITERAL3>\r
+                       <LITERAL3>IDOK</LITERAL3>\r
+                       <LITERAL3>IDRETRY</LITERAL3>\r
+                       <LITERAL3>IDYES</LITERAL3>\r
+                       <LITERAL3>LEFT</LITERAL3>\r
+                       <LITERAL3>MB_DEFBUTTON1</LITERAL3>\r
+                       <LITERAL3>MB_DEFBUTTON2</LITERAL3>\r
+                       <LITERAL3>MB_DEFBUTTON3</LITERAL3>\r
+                       <LITERAL3>MB_DEFBUTTON4</LITERAL3>\r
+                       <LITERAL3>MB_ICONEXCLAMATION</LITERAL3>\r
+                       <LITERAL3>MB_ICONINFORMATION</LITERAL3>\r
+                       <LITERAL3>MB_ICONQUESTION</LITERAL3>\r
+                       <LITERAL3>MB_ICONSTOP</LITERAL3>\r
+                       <LITERAL3>MB_OK</LITERAL3>\r
+                       <LITERAL3>MB_OKCANCEL</LITERAL3>\r
+                       <LITERAL3>MB_RETRYCANCEL</LITERAL3>\r
+                       <LITERAL3>MB_RIGHT</LITERAL3>\r
+                       <LITERAL3>MB_SETFOREGROUND</LITERAL3>\r
+                       <LITERAL3>MB_TOPMOST</LITERAL3>\r
+                       <LITERAL3>MB_YESNO</LITERAL3>\r
+                       <LITERAL3>MB_YESNOCANCEL</LITERAL3>\r
+                       <LITERAL3>NORMAL</LITERAL3>\r
+                       <LITERAL3>OFFLINE</LITERAL3>\r
+                       <LITERAL3>READONLY</LITERAL3>\r
+                       <LITERAL3>SYSTEM</LITERAL3>\r
+                       <LITERAL3>TEMPORARY</LITERAL3>\r
+\r
+                       <!-- Command flags -->\r
+                       <KEYWORD4>/0</KEYWORD4>\r
+                       <KEYWORD4>/COMPONENTSONLYONCUSTOM</KEYWORD4>\r
+                       <KEYWORD4>/CUSTOMSTRING</KEYWORD4>\r
+                       <KEYWORD4>/FILESONLY</KEYWORD4>\r
+                       <KEYWORD4>/IMGID</KEYWORD4>\r
+                       <KEYWORD4>/ITALIC</KEYWORD4>\r
+                       <KEYWORD4>/LANG</KEYWORD4>\r
+                       <KEYWORD4>/NOCUSTOM</KEYWORD4>\r
+                       <KEYWORD4>/NOUNLOAD</KEYWORD4>\r
+                       <KEYWORD4>/REBOOTOK</KEYWORD4>\r
+                       <KEYWORD4>/RESIZETOFIT</KEYWORD4>\r
+                       <KEYWORD4>/RTL</KEYWORD4>\r
+                       <KEYWORD4>/SHORT</KEYWORD4>\r
+                       <KEYWORD4>/SILENT</KEYWORD4>\r
+                       <KEYWORD4>/STRIKE</KEYWORD4>\r
+                       <KEYWORD4>/TIMEOUT</KEYWORD4>\r
+                       <KEYWORD4>/TRIM</KEYWORD4>\r
+                       <KEYWORD4>/UNDERLINE</KEYWORD4>\r
+                       <KEYWORD4>/a</KEYWORD4>\r
+                       <KEYWORD4>/e</KEYWORD4>\r
+                       <KEYWORD4>/ifempty</KEYWORD4>\r
+                       <KEYWORD4>/nonfatal</KEYWORD4>\r
+                       <KEYWORD4>/oname</KEYWORD4>\r
+                       <KEYWORD4>/r</KEYWORD4>\r
+                       <KEYWORD4>/windows</KEYWORD4>\r
+\r
+                       <!-- Compiler utility commands -->\r
+                       <KEYWORD2>!addincludedir</KEYWORD2>\r
+                       <KEYWORD2>!addplugindir</KEYWORD2>\r
+                       <KEYWORD2>!define</KEYWORD2>\r
+                       <KEYWORD2>!include</KEYWORD2>\r
+                       <KEYWORD2>!cd</KEYWORD2>\r
+                       <KEYWORD2>!echo</KEYWORD2>\r
+                       <KEYWORD2>!error</KEYWORD2>\r
+                       <KEYWORD2>!insertmacro</KEYWORD2>\r
+                       <KEYWORD2>!packhdr</KEYWORD2>\r
+                       <KEYWORD2>!system</KEYWORD2>\r
+                       <KEYWORD2>!warning</KEYWORD2>\r
+                       <KEYWORD2>!undef</KEYWORD2>\r
+                       <KEYWORD2>!verbose</KEYWORD2>\r
+\r
+                       <!-- Conditional compilation -->\r
+                       <KEYWORD1>!ifdef</KEYWORD1>\r
+                       <KEYWORD1>!ifndef</KEYWORD1>\r
+                       <KEYWORD1>!if</KEYWORD1>\r
+                       <KEYWORD1>!else</KEYWORD1>\r
+                       <KEYWORD1>!endif</KEYWORD1>\r
+                       <KEYWORD1>!macro</KEYWORD1>\r
+                       <KEYWORD1>!macroend</KEYWORD1>\r
+\r
+                       <!-- Keywords -->\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>functionend</KEYWORD1>\r
+                       <KEYWORD1>section</KEYWORD1>\r
+                       <KEYWORD1>sectionend</KEYWORD1>\r
+                       <KEYWORD1>subsection</KEYWORD1>\r
+                       <KEYWORD1>subsectionend</KEYWORD1>\r
+\r
+                       <!-- Instructions -->\r
+                       <KEYWORD2>addbrandingimage</KEYWORD2>\r
+                       <KEYWORD2>addsize</KEYWORD2>\r
+                       <KEYWORD2>allowrootdirinstall</KEYWORD2>\r
+                       <KEYWORD2>allowskipfiles</KEYWORD2>\r
+                       <KEYWORD2>autoclosewindow</KEYWORD2>\r
+                       <KEYWORD2>bggradient</KEYWORD2>\r
+                       <KEYWORD2>brandingtext</KEYWORD2>\r
+                       <KEYWORD2>bringtofront</KEYWORD2>\r
+                       <KEYWORD2>callinstdll</KEYWORD2>\r
+                       <KEYWORD2>caption</KEYWORD2>\r
+                       <KEYWORD2>changeui</KEYWORD2>\r
+                       <KEYWORD2>checkbitmap</KEYWORD2>\r
+                       <KEYWORD2>completedtext</KEYWORD2>\r
+                       <KEYWORD2>componenttext</KEYWORD2>\r
+                       <KEYWORD2>copyfiles</KEYWORD2>\r
+                       <KEYWORD2>crccheck</KEYWORD2>\r
+                       <KEYWORD2>createdirectory</KEYWORD2>\r
+                       <KEYWORD2>createfont</KEYWORD2>\r
+                       <KEYWORD2>createshortcut</KEYWORD2>\r
+                       <KEYWORD2>delete</KEYWORD2>\r
+                       <KEYWORD2>deleteinisec</KEYWORD2>\r
+                       <KEYWORD2>deleteinistr</KEYWORD2>\r
+                       <KEYWORD2>deleteregkey</KEYWORD2>\r
+                       <KEYWORD2>deleteregvalue</KEYWORD2>\r
+                       <KEYWORD2>detailprint</KEYWORD2>\r
+                       <KEYWORD2>detailsbuttontext</KEYWORD2>\r
+                       <KEYWORD2>dirshow</KEYWORD2>\r
+                       <KEYWORD2>dirtext</KEYWORD2>\r
+                       <KEYWORD2>enumregkey</KEYWORD2>\r
+                       <KEYWORD2>enumregvalue</KEYWORD2>\r
+                       <KEYWORD2>exch</KEYWORD2>\r
+                       <KEYWORD2>exec</KEYWORD2>\r
+                       <KEYWORD2>execshell</KEYWORD2>\r
+                       <KEYWORD2>execwait</KEYWORD2>\r
+                       <KEYWORD2>expandenvstrings</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>fileclose</KEYWORD2>\r
+                       <KEYWORD2>fileerrortext</KEYWORD2>\r
+                       <KEYWORD2>fileopen</KEYWORD2>\r
+                       <KEYWORD2>fileread</KEYWORD2>\r
+                       <KEYWORD2>filereadbyte</KEYWORD2>\r
+                       <KEYWORD2>fileseek</KEYWORD2>\r
+                       <KEYWORD2>filewrite</KEYWORD2>\r
+                       <KEYWORD2>filewritebyte</KEYWORD2>\r
+                       <KEYWORD2>findclose</KEYWORD2>\r
+                       <KEYWORD2>findfirst</KEYWORD2>\r
+                       <KEYWORD2>findnext</KEYWORD2>\r
+                       <KEYWORD2>findwindow</KEYWORD2>\r
+                       <KEYWORD2>flushini</KEYWORD2>\r
+                       <KEYWORD2>getcurinsttype</KEYWORD2>\r
+                       <KEYWORD2>getcurrentaddress</KEYWORD2>\r
+                       <KEYWORD2>getdlgitem</KEYWORD2>\r
+                       <KEYWORD2>getdllversion</KEYWORD2>\r
+                       <KEYWORD2>getdllversionlocal</KEYWORD2>\r
+                       <KEYWORD2>getfiletime</KEYWORD2>\r
+                       <KEYWORD2>getfiletimelocal</KEYWORD2>\r
+                       <KEYWORD2>getfullpathname</KEYWORD2>\r
+                       <KEYWORD2>getfunctionaddress</KEYWORD2>\r
+                       <KEYWORD2>getlabeladdress</KEYWORD2>\r
+                       <KEYWORD2>gettempfilename</KEYWORD2>\r
+                       <KEYWORD2>getwindowtext</KEYWORD2>\r
+                       <KEYWORD2>hidewindow</KEYWORD2>\r
+                       <KEYWORD2>icon</KEYWORD2>\r
+                       <KEYWORD2>initpluginsdir</KEYWORD2>\r
+                       <KEYWORD2>installbuttontext</KEYWORD2>\r
+                       <KEYWORD2>installcolors</KEYWORD2>\r
+                       <KEYWORD2>installdir</KEYWORD2>\r
+                       <KEYWORD2>installdirregkey</KEYWORD2>\r
+                       <KEYWORD2>instprogressflags</KEYWORD2>\r
+                       <KEYWORD2>insttype</KEYWORD2>\r
+                       <KEYWORD2>insttypegettext</KEYWORD2>\r
+                       <KEYWORD2>insttypesettext</KEYWORD2>\r
+                       <KEYWORD2>intfmt</KEYWORD2>\r
+                       <KEYWORD2>intop</KEYWORD2>\r
+                       <KEYWORD2>langstring</KEYWORD2>\r
+                       <KEYWORD2>langstringup</KEYWORD2>\r
+                       <KEYWORD2>licensebkcolor</KEYWORD2>\r
+                       <KEYWORD2>licensedata</KEYWORD2>\r
+                       <KEYWORD2>licenseforceselection</KEYWORD2>\r
+                       <KEYWORD2>licensetext</KEYWORD2>\r
+                       <KEYWORD2>loadlanguagefile</KEYWORD2>\r
+                       <KEYWORD2>loadlanguagefile</KEYWORD2>\r
+                       <KEYWORD2>logset</KEYWORD2>\r
+                       <KEYWORD2>logtext</KEYWORD2>\r
+                       <KEYWORD2>miscbuttontext</KEYWORD2>\r
+                       <KEYWORD2>name</KEYWORD2>\r
+                       <KEYWORD2>nop</KEYWORD2>\r
+                       <KEYWORD2>outfile</KEYWORD2>\r
+                       <KEYWORD2>page</KEYWORD2>\r
+                       <KEYWORD2>plugindir</KEYWORD2>\r
+                       <KEYWORD2>pop</KEYWORD2>\r
+                       <KEYWORD2>push</KEYWORD2>\r
+                       <KEYWORD2>readenvstr</KEYWORD2>\r
+                       <KEYWORD2>readinistr</KEYWORD2>\r
+                       <KEYWORD2>readregdword</KEYWORD2>\r
+                       <KEYWORD2>readregstr</KEYWORD2>\r
+                       <KEYWORD2>regdll</KEYWORD2>\r
+                       <KEYWORD2>rename</KEYWORD2>\r
+                       <KEYWORD2>reservefile</KEYWORD2>\r
+                       <KEYWORD2>rmdir</KEYWORD2>\r
+                       <KEYWORD2>searchpath</KEYWORD2>\r
+                       <KEYWORD2>sectiongetflags</KEYWORD2>\r
+                       <KEYWORD2>sectiongetinsttypes</KEYWORD2>\r
+                       <KEYWORD2>sectiongetsize</KEYWORD2>\r
+                       <KEYWORD2>sectiongettext</KEYWORD2>\r
+                       <KEYWORD2>sectionin</KEYWORD2>\r
+                       <KEYWORD2>sectionsetflags</KEYWORD2>\r
+                       <KEYWORD2>sectionsetinsttypes</KEYWORD2>\r
+                       <KEYWORD2>sectionsetsize</KEYWORD2>\r
+                       <KEYWORD2>sectionsettext</KEYWORD2>\r
+                       <KEYWORD2>sendmessage</KEYWORD2>\r
+                       <KEYWORD2>setautoclose</KEYWORD2>\r
+                       <KEYWORD2>setbkcolor</KEYWORD2>\r
+                       <KEYWORD2>setbrandingimage</KEYWORD2>\r
+                       <KEYWORD2>setcompress</KEYWORD2>\r
+                       <KEYWORD2>setcompressor</KEYWORD2>\r
+                       <KEYWORD2>setcurinsttype</KEYWORD2>\r
+                       <KEYWORD2>setdatablockoptimize</KEYWORD2>\r
+                       <KEYWORD2>setdatesave</KEYWORD2>\r
+                       <KEYWORD2>setdetailsprint</KEYWORD2>\r
+                       <KEYWORD2>setdetailsview</KEYWORD2>\r
+                       <KEYWORD2>setfileattributes</KEYWORD2>\r
+                       <KEYWORD2>setfont</KEYWORD2>\r
+                       <KEYWORD2>setoutpath</KEYWORD2>\r
+                       <KEYWORD2>setoverwrite</KEYWORD2>\r
+                       <KEYWORD2>setpluginunload</KEYWORD2>\r
+                       <KEYWORD2>setrebootflag</KEYWORD2>\r
+                       <KEYWORD2>setshellvarcontext</KEYWORD2>\r
+                       <KEYWORD2>setstaticbkcolor</KEYWORD2>\r
+                       <KEYWORD2>setwindowlong</KEYWORD2>\r
+                       <KEYWORD2>showinstdetails</KEYWORD2>\r
+                       <KEYWORD2>showuninstdetails</KEYWORD2>\r
+                       <KEYWORD2>showwindow</KEYWORD2>\r
+                       <KEYWORD2>silentinstall</KEYWORD2>\r
+                       <KEYWORD2>silentuninstall</KEYWORD2>\r
+                       <KEYWORD2>sleep</KEYWORD2>\r
+                       <KEYWORD2>spacetexts</KEYWORD2>\r
+                       <KEYWORD2>strcpy</KEYWORD2>\r
+                       <KEYWORD2>strlen</KEYWORD2>\r
+                       <KEYWORD2>subcaption</KEYWORD2>\r
+                       <KEYWORD2>uninstallbuttontext</KEYWORD2>\r
+                       <KEYWORD2>uninstallcaption</KEYWORD2>\r
+                       <KEYWORD2>uninstallicon</KEYWORD2>\r
+                       <KEYWORD2>uninstallsubcaption</KEYWORD2>\r
+                       <KEYWORD2>uninstalltext</KEYWORD2>\r
+                       <KEYWORD2>uninstpage</KEYWORD2>\r
+                       <KEYWORD2>unregdll</KEYWORD2>\r
+                       <KEYWORD2>var</KEYWORD2>\r
+                       <KEYWORD2>viaddversionkey</KEYWORD2>\r
+                       <KEYWORD2>videscription</KEYWORD2>\r
+                       <KEYWORD2>vicompanyname</KEYWORD2>\r
+                       <KEYWORD2>vicomments</KEYWORD2>\r
+                       <KEYWORD2>vilegalcopyrights</KEYWORD2>\r
+                       <KEYWORD2>vilegaltrademarks</KEYWORD2>\r
+                       <KEYWORD2>viproductname</KEYWORD2>\r
+                       <KEYWORD2>viproductversion</KEYWORD2>\r
+                       <KEYWORD2>windowicon</KEYWORD2>\r
+                       <KEYWORD2>writeinistr</KEYWORD2>\r
+                       <KEYWORD2>writeregbin</KEYWORD2>\r
+                       <KEYWORD2>writeregdword</KEYWORD2>\r
+                       <KEYWORD2>writeregexpandstr</KEYWORD2>\r
+                       <KEYWORD2>writeregstr</KEYWORD2>\r
+                       <KEYWORD2>writeuninstaller</KEYWORD2>\r
+                       <KEYWORD2>xpstyle</KEYWORD2>\r
+\r
+                       <!-- Flow control instructions -->\r
+                       <KEYWORD1>abort</KEYWORD1>\r
+                       <KEYWORD1>call</KEYWORD1>\r
+                       <KEYWORD1>clearerrors</KEYWORD1>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>ifabort</KEYWORD1>\r
+                       <KEYWORD1>iferrors</KEYWORD1>\r
+                       <KEYWORD1>iffileexists</KEYWORD1>\r
+                       <KEYWORD1>ifrebootflag</KEYWORD1>\r
+                       <KEYWORD1>intcmp</KEYWORD1>\r
+                       <KEYWORD1>intcmpu</KEYWORD1>\r
+                       <KEYWORD1>iswindow</KEYWORD1>\r
+                       <KEYWORD1>messagebox</KEYWORD1>\r
+                       <KEYWORD1>reboot</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>quit</KEYWORD1>\r
+                       <KEYWORD1>seterrors</KEYWORD1>\r
+                       <KEYWORD1>strcmp</KEYWORD1>\r
+\r
+                       <!-- Callback functions -->\r
+                       <KEYWORD3>.onguiinit</KEYWORD3>\r
+                       <KEYWORD3>.oninit</KEYWORD3>\r
+                       <KEYWORD3>.oninstfailed</KEYWORD3>\r
+                       <KEYWORD3>.oninstsuccess</KEYWORD3>\r
+                       <KEYWORD3>.onmouseoversection</KEYWORD3>\r
+                       <KEYWORD3>.onselchange</KEYWORD3>\r
+                       <KEYWORD3>.onuserabort</KEYWORD3>\r
+                       <KEYWORD3>.onverifyinstdir</KEYWORD3>\r
+                       <KEYWORD3>un.onguiinit</KEYWORD3>\r
+                       <KEYWORD3>un.oninit</KEYWORD3>\r
+                       <KEYWORD3>un.onuninstfailed</KEYWORD3>\r
+                       <KEYWORD3>un.onuninstsuccess</KEYWORD3>\r
+                       <KEYWORD3>un.onuserabort</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="NSIS_LITERAL" DEFAULT="LITERAL1" NO_WORD_SEP="-{}_">\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/objective-c.xml b/basis/xmode/modes/objective-c.xml
new file mode 100644 (file)
index 0000000..7496838
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Extension of c.xml to handle Objective-C keywords. -->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+       <!-- Auto indent -->\r
+       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+       <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+       <PROPERTY NAME="indentNextLine"\r
+               VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+       <PROPERTY NAME="unindentThisLine"\r
+               VALUE="^.*(default:\s*|case.*:.*)$" />\r
+       <PROPERTY NAME="electricKeys" VALUE=":" />\r
+    </PROPS>\r
+\r
+    <RULES\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
+\r
+        <IMPORT DELEGATE="c::LEX"/>\r
+        <IMPORT DELEGATE="c::CORE"/>\r
+               <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+    <!-- Core language -->\r
+    <RULES SET="CORE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <KEYWORDS>\r
+            <!-- Types (Objective C) -->\r
+            <KEYWORD3>id</KEYWORD3>\r
+            <KEYWORD3>Class</KEYWORD3>\r
+            <KEYWORD3>SEL</KEYWORD3>\r
+            <KEYWORD3>IMP</KEYWORD3>\r
+            <KEYWORD3>BOOL</KEYWORD3>\r
+\r
+            <!-- Keywords (Objective C) -->\r
+            <KEYWORD1>oneway</KEYWORD1>\r
+            <KEYWORD1>in</KEYWORD1>\r
+            <KEYWORD1>out</KEYWORD1>\r
+            <KEYWORD1>inout</KEYWORD1>\r
+            <KEYWORD1>bycopy</KEYWORD1>\r
+            <KEYWORD1>byref</KEYWORD1>\r
+            <KEYWORD1>self</KEYWORD1>\r
+            <KEYWORD1>super</KEYWORD1>\r
+\r
+            <!-- Preprocessor Directives (Objective C)-->\r
+            <KEYWORD1>@interface</KEYWORD1>\r
+            <KEYWORD1>@implementation</KEYWORD1>\r
+            <KEYWORD1>@protocol</KEYWORD1>\r
+            <KEYWORD1>@end</KEYWORD1>\r
+            <KEYWORD1>@private</KEYWORD1>\r
+            <KEYWORD1>@protected</KEYWORD1>\r
+            <KEYWORD1>@public</KEYWORD1>\r
+            <KEYWORD1>@class</KEYWORD1>\r
+            <KEYWORD1>@selector</KEYWORD1>\r
+            <KEYWORD1>@endcode</KEYWORD1>\r
+            <KEYWORD1>@defs</KEYWORD1>\r
+\r
+            <LITERAL2>TRUE</LITERAL2>\r
+            <LITERAL2>FALSE</LITERAL2>\r
+            <LITERAL2>YES</LITERAL2>\r
+            <LITERAL2>NO</LITERAL2>\r
+            <LITERAL2>NULL</LITERAL2>\r
+            <LITERAL2>nil</LITERAL2>\r
+            <LITERAL2>Nil</LITERAL2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- Preprocessor specific rules -->\r
+    <RULES SET="CPP"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+\r
+        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="import" TYPE="MARKUP" DELEGATE="c::INCLUDE">import\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>\r
+        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>\r
+\r
+        <IMPORT DELEGATE="c::LEX"/>\r
+\r
+        <!-- Directives -->\r
+        <KEYWORDS>\r
+            <MARKUP>ifdef</MARKUP>\r
+            <MARKUP>ifndef</MARKUP>\r
+            <MARKUP>else</MARKUP>\r
+            <MARKUP>error</MARKUP>\r
+            <MARKUP>line</MARKUP>\r
+            <MARKUP>pragma</MARKUP>\r
+            <MARKUP>undef</MARKUP>\r
+            <MARKUP>warning</MARKUP>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- After #define directive -->\r
+    <!-- Almost same as the normal code,\r
+        except two additional operators # and ##. -->\r
+    <RULES SET="DEFINE"\r
+        ESCAPE="\" IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
+        <SEQ TYPE="OPERATOR">#</SEQ>\r
+        <IMPORT DELEGATE="c::LEX"/>\r
+        <IMPORT DELEGATE="c::CORE"/>\r
+        <IMPORT DELEGATE="CORE"/>\r
+    </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/objectrexx.xml b/basis/xmode/modes/objectrexx.xml
new file mode 100644 (file)
index 0000000..875e83e
--- /dev/null
@@ -0,0 +1,246 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLines"\r
+                       VALUE="\s*(if|loop|do|else|select|otherwise|catch|finally|class|method|properties)(.*)"/>\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- preprocessor statements -->\r
+               <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION">::</MARK_PREVIOUS>\r
+\r
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+                       MATCH_TYPE="OPERATOR"\r
+                       TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>Address</KEYWORD1>\r
+                       <KEYWORD1>Arg</KEYWORD1>\r
+                       <KEYWORD1>Call</KEYWORD1>\r
+                       <KEYWORD1>Do</KEYWORD1>\r
+                       <KEYWORD1>Drop</KEYWORD1>\r
+                       <KEYWORD1>Exit</KEYWORD1>\r
+                       <KEYWORD1>Expose</KEYWORD1>\r
+                       <KEYWORD1>Forward</KEYWORD1>\r
+                       <KEYWORD1>Guard</KEYWORD1>\r
+                       <KEYWORD1>If</KEYWORD1>\r
+                       <KEYWORD1>Interpret</KEYWORD1>\r
+                       <KEYWORD1>Iterate</KEYWORD1>\r
+                       <KEYWORD1>Leave</KEYWORD1>\r
+                       <KEYWORD1>Nop</KEYWORD1>\r
+                       <KEYWORD1>Numeric</KEYWORD1>\r
+                       <KEYWORD1>Parse</KEYWORD1>\r
+                       <KEYWORD1>Procedure</KEYWORD1>\r
+                       <KEYWORD1>pull</KEYWORD1>\r
+                       <KEYWORD1>Push</KEYWORD1>\r
+                       <KEYWORD1>Queue</KEYWORD1>\r
+                       <KEYWORD1>Raise</KEYWORD1>\r
+                       <KEYWORD1>reply</KEYWORD1>\r
+                       <KEYWORD1>Return</KEYWORD1>\r
+                       <KEYWORD1>Say</KEYWORD1>\r
+                       <KEYWORD1>Seleect</KEYWORD1>\r
+                       <KEYWORD1>Signal</KEYWORD1>\r
+                       <KEYWORD1>Trace</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+                       <KEYWORD1>Class</KEYWORD1>\r
+                       <KEYWORD1>Method</KEYWORD1>\r
+                       <KEYWORD1>Requires</KEYWORD1>\r
+                       <KEYWORD1>Routine</KEYWORD1>\r
+                       <KEYWORD1>Result</KEYWORD1>\r
+                       <KEYWORD1>RC</KEYWORD1>\r
+                       <KEYWORD1>Self</KEYWORD1>\r
+                       <KEYWORD1>Sigl</KEYWORD1>\r
+                       <KEYWORD1>Super</KEYWORD1>\r
+                       <KEYWORD2>Abbrev</KEYWORD2>\r
+                       <KEYWORD2>Abs</KEYWORD2>\r
+                       <KEYWORD2>Address</KEYWORD2>\r
+                       <KEYWORD2>Arg</KEYWORD2>\r
+                       <KEYWORD2>Beep</KEYWORD2>\r
+                       <KEYWORD2>BitAnd</KEYWORD2>\r
+                       <KEYWORD2>BitOr</KEYWORD2>\r
+                       <KEYWORD2>BitXor</KEYWORD2>\r
+                       <KEYWORD2>B2X</KEYWORD2>\r
+                       <KEYWORD2>Center</KEYWORD2>\r
+                       <KEYWORD2>ChangeStr</KEYWORD2>\r
+                       <KEYWORD2>CharIn</KEYWORD2>\r
+                       <KEYWORD2>CharOut</KEYWORD2>\r
+                       <KEYWORD2>Chars</KEYWORD2>\r
+                       <KEYWORD2>Compare</KEYWORD2>\r
+                       <KEYWORD2>Consition</KEYWORD2>\r
+                       <KEYWORD2>Copies</KEYWORD2>\r
+                       <KEYWORD2>CountStr</KEYWORD2>\r
+                       <KEYWORD2>C2D</KEYWORD2>\r
+                       <KEYWORD2>C2X</KEYWORD2>\r
+                       <KEYWORD2>DataType</KEYWORD2>\r
+                       <KEYWORD2>Date</KEYWORD2>\r
+                       <KEYWORD2>DelStr</KEYWORD2>\r
+                       <KEYWORD2>DelWord</KEYWORD2>\r
+                       <KEYWORD2>Digits</KEYWORD2>\r
+                       <KEYWORD2>Directory</KEYWORD2>\r
+                       <KEYWORD2>D2C</KEYWORD2>\r
+                       <KEYWORD2>D2X</KEYWORD2>\r
+                       <KEYWORD2>ErrorText</KEYWORD2>\r
+                       <KEYWORD2>FileSpec</KEYWORD2>\r
+                       <KEYWORD2>Form</KEYWORD2>\r
+                       <KEYWORD2>Format</KEYWORD2>\r
+                       <KEYWORD2>Fuzz</KEYWORD2>\r
+                       <KEYWORD2>Insert</KEYWORD2>\r
+                       <KEYWORD2>LastPos</KEYWORD2>\r
+                       <KEYWORD2>Left</KEYWORD2>\r
+                       <KEYWORD2>Length</KEYWORD2>\r
+                       <KEYWORD2>LineIn</KEYWORD2>\r
+                       <KEYWORD2>LineOut</KEYWORD2>\r
+                       <KEYWORD2>Lines</KEYWORD2>\r
+                       <KEYWORD2>Max</KEYWORD2>\r
+                       <KEYWORD2>Min</KEYWORD2>\r
+                       <KEYWORD2>Overlay</KEYWORD2>\r
+                       <KEYWORD2>Pos</KEYWORD2>\r
+                       <KEYWORD2>Queued</KEYWORD2>\r
+                       <KEYWORD2>Random</KEYWORD2>\r
+                       <KEYWORD2>Reverse</KEYWORD2>\r
+                       <KEYWORD2>Right</KEYWORD2>\r
+                       <KEYWORD2>Sign</KEYWORD2>\r
+                       <KEYWORD2>SourceLine</KEYWORD2>\r
+                       <KEYWORD2>Space</KEYWORD2>\r
+                       <KEYWORD2>Stream</KEYWORD2>\r
+                       <KEYWORD2>Strip</KEYWORD2>\r
+                       <KEYWORD2>SubStr</KEYWORD2>\r
+                       <KEYWORD2>SubWord</KEYWORD2>\r
+                       <KEYWORD2>Symbol</KEYWORD2>\r
+                       <KEYWORD2>Time</KEYWORD2>\r
+                       <KEYWORD2>Trace</KEYWORD2>\r
+                       <KEYWORD2>Translate</KEYWORD2>\r
+                       <KEYWORD2>Trunc</KEYWORD2>\r
+                       <KEYWORD2>Value</KEYWORD2>\r
+                       <KEYWORD2>Var</KEYWORD2>\r
+                       <KEYWORD2>Verify</KEYWORD2>\r
+                       <KEYWORD2>Word</KEYWORD2>\r
+                       <KEYWORD2>WordIndex</KEYWORD2>\r
+                       <KEYWORD2>WordLength</KEYWORD2>\r
+                       <KEYWORD2>WordPos</KEYWORD2>\r
+                       <KEYWORD2>Words</KEYWORD2>\r
+                       <KEYWORD2>XRange</KEYWORD2>\r
+                       <KEYWORD2>X2B</KEYWORD2>\r
+                       <KEYWORD2>X2C</KEYWORD2>\r
+                       <KEYWORD2>X2D</KEYWORD2>\r
+                       <KEYWORD2>RxFuncAdd</KEYWORD2>\r
+                       <KEYWORD2>RxFuncDrop</KEYWORD2>\r
+                       <KEYWORD2>RxFuncQuery</KEYWORD2>\r
+                       <KEYWORD2>RxMessageBox</KEYWORD2>\r
+                       <KEYWORD2>RxWinExec</KEYWORD2>\r
+                       <KEYWORD2>SysAddRexxMacro</KEYWORD2>\r
+                       <KEYWORD2>SysBootDrive</KEYWORD2>\r
+                       <KEYWORD2>SysClearRexxMacroSpace</KEYWORD2>\r
+                       <KEYWORD2>SysCloseEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysCloseMutexSem</KEYWORD2>\r
+                       <KEYWORD2>SysCls</KEYWORD2>\r
+                       <KEYWORD2>SysCreateEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysCreateMutexSem</KEYWORD2>\r
+                       <KEYWORD2>SysCurPos</KEYWORD2>\r
+                       <KEYWORD2>SysCurState</KEYWORD2>\r
+                       <KEYWORD2>SysDriveInfo</KEYWORD2>\r
+                       <KEYWORD2>SysDriveMap</KEYWORD2>\r
+                       <KEYWORD2>SysDropFuncs</KEYWORD2>\r
+                       <KEYWORD2>SysDropRexxMacro</KEYWORD2>\r
+                       <KEYWORD2>SysDumpVariables</KEYWORD2>\r
+                       <KEYWORD2>SysFileDelete</KEYWORD2>\r
+                       <KEYWORD2>SysFileSearch</KEYWORD2>\r
+                       <KEYWORD2>SysFileSystemType</KEYWORD2>\r
+                       <KEYWORD2>SysFileTree</KEYWORD2>\r
+                       <KEYWORD2>SysFromUnicode</KEYWORD2>\r
+                       <KEYWORD2>SysToUnicode</KEYWORD2>\r
+                       <KEYWORD2>SysGetErrortext</KEYWORD2>\r
+                       <KEYWORD2>SysGetFileDateTime</KEYWORD2>\r
+                       <KEYWORD2>SysGetKey</KEYWORD2>\r
+                       <KEYWORD2>SysIni</KEYWORD2>\r
+                       <KEYWORD2>SysLoadFuncs</KEYWORD2>\r
+                       <KEYWORD2>SysLoadRexxMacroSpace</KEYWORD2>\r
+                       <KEYWORD2>SysMkDir</KEYWORD2>\r
+                       <KEYWORD2>SysOpenEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysOpenMutexSem</KEYWORD2>\r
+                       <KEYWORD2>SysPostEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysPulseEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysQueryProcess</KEYWORD2>\r
+                       <KEYWORD2>SysQueryRexxMacro</KEYWORD2>\r
+                       <KEYWORD2>SysReleaseMutexSem</KEYWORD2>\r
+                       <KEYWORD2>SysReorderRexxMacro</KEYWORD2>\r
+                       <KEYWORD2>SysRequestMutexSem</KEYWORD2>\r
+                       <KEYWORD2>SysResetEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysRmDir</KEYWORD2>\r
+                       <KEYWORD2>SysSaveRexxMacroSpace</KEYWORD2>\r
+                       <KEYWORD2>SysSearchPath</KEYWORD2>\r
+                       <KEYWORD2>SysSetFileDateTime</KEYWORD2>\r
+                       <KEYWORD2>SysSetPriority</KEYWORD2>\r
+                       <KEYWORD2>SysSleep</KEYWORD2>\r
+                       <KEYWORD2>SysStemCopy</KEYWORD2>\r
+                       <KEYWORD2>SysStemDelete</KEYWORD2>\r
+                       <KEYWORD2>SysStemInsert</KEYWORD2>\r
+                       <KEYWORD2>SysStemSort</KEYWORD2>\r
+                       <KEYWORD2>SysSwitchSession</KEYWORD2>\r
+                       <KEYWORD2>SysSystemDirectory</KEYWORD2>\r
+                       <KEYWORD2>SysTempFileName</KEYWORD2>\r
+                       <KEYWORD2>SysTextScreenRead</KEYWORD2>\r
+                       <KEYWORD2>SysTextScreenSize</KEYWORD2>\r
+                       <KEYWORD2>SysUtilVersion</KEYWORD2>\r
+                       <KEYWORD2>SysVersion</KEYWORD2>\r
+                       <KEYWORD2>SysVolumeLabel</KEYWORD2>\r
+                       <KEYWORD2>SysWaitEventSem</KEYWORD2>\r
+                       <KEYWORD2>SysWaitNamedPipe</KEYWORD2>\r
+                       <KEYWORD2>SysWinDecryptFile</KEYWORD2>\r
+                       <KEYWORD2>SysWinEncryptFile</KEYWORD2>\r
+                       <KEYWORD2>SysWinVer</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/occam.xml b/basis/xmode/modes/occam.xml
new file mode 100644 (file)
index 0000000..4e7265e
--- /dev/null
@@ -0,0 +1,260 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Occam mode by Rick Beton. -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="" />\r
+               <PROPERTY NAME="blockComment" VALUE="" />\r
+               <PROPERTY NAME="noWordSep" VALUE="." />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <!-- Normal comments. -->\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <!-- Compiler directives. -->\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">/\</SEQ>\r
+               <SEQ TYPE="OPERATOR">\/</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+\r
+               <KEYWORDS>\r
+                        <!-- Structure keywords -->\r
+                       <KEYWORD1>ALT</KEYWORD1>\r
+                       <KEYWORD1>ASM</KEYWORD1>\r
+                       <KEYWORD1>CASE</KEYWORD1>\r
+                       <KEYWORD1>FUNCTION</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>INLINE</KEYWORD1>\r
+                       <KEYWORD1>PAR</KEYWORD1>\r
+                       <KEYWORD1>PLACED</KEYWORD1>\r
+                       <KEYWORD1>PRI</KEYWORD1>\r
+                       <KEYWORD1>PROC</KEYWORD1>\r
+                       <KEYWORD1>RESULT</KEYWORD1>\r
+                       <KEYWORD1>SEQ</KEYWORD1>\r
+                       <KEYWORD1>VALOF</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                        \r
+                       <!-- main keywords -->\r
+                        <KEYWORD2>AT</KEYWORD2>\r
+                       <KEYWORD2>ELSE</KEYWORD2>\r
+                       <KEYWORD2>FOR</KEYWORD2>\r
+                       <KEYWORD2>FROM</KEYWORD2>\r
+                       <KEYWORD2>IS</KEYWORD2>\r
+                       <KEYWORD2>PLACE</KEYWORD2>\r
+                       <KEYWORD2>PORT</KEYWORD2>\r
+                       <KEYWORD2>PROTOCOL</KEYWORD2>\r
+                       <KEYWORD2>SKIP</KEYWORD2>\r
+                       <KEYWORD2>STOP</KEYWORD2>\r
+                       <KEYWORD2>VAL</KEYWORD2>\r
+\r
+                        <!-- type and conversion keywords -->\r
+                       <KEYWORD2>AFTER</KEYWORD2>\r
+                       <KEYWORD2>AND</KEYWORD2>\r
+                       <KEYWORD2>ANY</KEYWORD2>\r
+                       <KEYWORD2>BITAND</KEYWORD2>\r
+                       <KEYWORD2>BITNOT</KEYWORD2>\r
+                       <KEYWORD2>BITOR</KEYWORD2>\r
+                       <KEYWORD2>BOOL</KEYWORD2>\r
+                       <KEYWORD2>BYTE</KEYWORD2>\r
+                       <KEYWORD2>BYTESIN</KEYWORD2>\r
+                       <KEYWORD2>CHAN</KEYWORD2>\r
+                       <KEYWORD2>DATA</KEYWORD2>\r
+                       <KEYWORD2>INT</KEYWORD2>\r
+                       <KEYWORD2>INT32</KEYWORD2>\r
+                       <KEYWORD2>INT16</KEYWORD2>\r
+                       <KEYWORD2>INT64</KEYWORD2>\r
+                       <KEYWORD2>MINUS</KEYWORD2>\r
+                       <KEYWORD2>MOSTNEG</KEYWORD2>\r
+                       <KEYWORD2>MOSTPOS</KEYWORD2>\r
+                       <KEYWORD2>NOT</KEYWORD2>\r
+                       <KEYWORD2>PLUS</KEYWORD2>\r
+                       <KEYWORD2>OF</KEYWORD2>\r
+                       <KEYWORD2>OFFSETOF</KEYWORD2>\r
+                       <KEYWORD2>OR</KEYWORD2>\r
+                       <KEYWORD2>PACKED</KEYWORD2>\r
+                       <KEYWORD2>REAL32</KEYWORD2>\r
+                       <KEYWORD2>REAL64</KEYWORD2>\r
+                       <KEYWORD2>RECORD</KEYWORD2>\r
+                       <KEYWORD2>REM</KEYWORD2>\r
+                       <KEYWORD2>RESHAPES</KEYWORD2>\r
+                       <KEYWORD2>RETYPES</KEYWORD2>\r
+                       <KEYWORD2>ROUND</KEYWORD2>\r
+                       <KEYWORD2>SIZE</KEYWORD2>\r
+                       <KEYWORD2>TIMER</KEYWORD2>\r
+                       <KEYWORD2>TIMES</KEYWORD2>\r
+                       <KEYWORD2>TRUNC</KEYWORD2>\r
+                       <KEYWORD2>TYPE</KEYWORD2>\r
+\r
+                        <!-- Occam3 and extensions to occam2.1 -->\r
+                       <KEYWORD2>BUCKET</KEYWORD2>\r
+                       <KEYWORD2>CLAIM</KEYWORD2>\r
+                       <KEYWORD2>ENROLL</KEYWORD2>\r
+                       <KEYWORD2>EVENT</KEYWORD2>\r
+                       <KEYWORD2>FALL</KEYWORD2>\r
+                       <KEYWORD2>FLUSH</KEYWORD2>\r
+                       <KEYWORD2>GRANT</KEYWORD2>\r
+                       <KEYWORD2>INITIAL</KEYWORD2>\r
+                       <KEYWORD2>RESOURCE</KEYWORD2>\r
+                       <KEYWORD2>SEMAPHORE</KEYWORD2>\r
+                       <KEYWORD2>SHARED</KEYWORD2>\r
+                       <KEYWORD2>SYNC</KEYWORD2>\r
+                        \r
+                        <!-- arithmetic & trigonometric functions -->\r
+                       <KEYWORD3>LONGADD</KEYWORD3>\r
+                       <KEYWORD3>LONGSUB</KEYWORD3>\r
+                       <KEYWORD3>ASHIFTRIGHT</KEYWORD3>\r
+                       <KEYWORD3>ASHIFTLEFT</KEYWORD3>\r
+                       <KEYWORD3>ROTATERIGHT</KEYWORD3>\r
+                       <KEYWORD3>ROTATELEFT</KEYWORD3>\r
+                       <KEYWORD3>LONGSUM</KEYWORD3>\r
+                       <KEYWORD3>LONGDIFF</KEYWORD3>\r
+                       <KEYWORD3>LONGPROD</KEYWORD3>\r
+                       <KEYWORD3>LONGDIV</KEYWORD3>\r
+                       <KEYWORD3>SHIFTLEFT</KEYWORD3>\r
+                       <KEYWORD3>SHIFTRIGHT</KEYWORD3>\r
+                       <KEYWORD3>NORMALISE</KEYWORD3>\r
+                       <KEYWORD3>ABS</KEYWORD3>\r
+                       <KEYWORD3>DABS</KEYWORD3>\r
+                       <KEYWORD3>SCALEB</KEYWORD3>\r
+                       <KEYWORD3>DSCALEB</KEYWORD3>\r
+                       <KEYWORD3>COPYSIGN</KEYWORD3>\r
+                       <KEYWORD3>DCOPYSIGN</KEYWORD3>\r
+                       <KEYWORD3>SQRT</KEYWORD3>\r
+                       <KEYWORD3>DSQRT</KEYWORD3>\r
+                       <KEYWORD3>MINUSX</KEYWORD3>\r
+                       <KEYWORD3>DMINUSX</KEYWORD3>\r
+                       <KEYWORD3>NEXTAFTER</KEYWORD3>\r
+                       <KEYWORD3>DNEXTAFTER</KEYWORD3>\r
+                       <KEYWORD3>MULBY2</KEYWORD3>\r
+                       <KEYWORD3>DMULBY2</KEYWORD3>\r
+                       <KEYWORD3>DIVBY2</KEYWORD3>\r
+                       <KEYWORD3>DDIVBY2</KEYWORD3>\r
+                       <KEYWORD3>LOGB</KEYWORD3>\r
+                       <KEYWORD3>DLOGB</KEYWORD3>\r
+                       <KEYWORD3>ISNAN</KEYWORD3>\r
+                       <KEYWORD3>DISNAN</KEYWORD3>\r
+                       <KEYWORD3>NOTFINITE</KEYWORD3>\r
+                       <KEYWORD3>DNOTFINITE</KEYWORD3>\r
+                       <KEYWORD3>ORDERED</KEYWORD3>\r
+                       <KEYWORD3>DORDERED</KEYWORD3>\r
+                       <KEYWORD3>FLOATING.UNPACK</KEYWORD3>\r
+                       <KEYWORD3>DFLOATING.UNPACK</KEYWORD3>\r
+                       <KEYWORD3>ARGUMENT.REDUCE</KEYWORD3>\r
+                       <KEYWORD3>DARGUMENT.REDUCE</KEYWORD3>\r
+                       <KEYWORD3>FPINT</KEYWORD3>\r
+                       <KEYWORD3>DFPINT</KEYWORD3>\r
+                       <KEYWORD3>REAL32OP</KEYWORD3>\r
+                       <KEYWORD3>REAL64OP</KEYWORD3>\r
+                       <KEYWORD3>IEEE32OP</KEYWORD3>\r
+                       <KEYWORD3>IEEE64OP</KEYWORD3>\r
+                       <KEYWORD3>REAL32REM</KEYWORD3>\r
+                       <KEYWORD3>REAL64REM</KEYWORD3>\r
+                       <KEYWORD3>IEEE32REM</KEYWORD3>\r
+                       <KEYWORD3>IEEE64REM</KEYWORD3>\r
+                       <KEYWORD3>REAL32EQ</KEYWORD3>\r
+                       <KEYWORD3>REAL64EQ</KEYWORD3>\r
+                       <KEYWORD3>REAL32GT</KEYWORD3>\r
+                       <KEYWORD3>REAL64GT</KEYWORD3>\r
+                       <KEYWORD3>IEEECOMPARE</KEYWORD3>\r
+                       <KEYWORD3>DIEEECOMPARE</KEYWORD3>\r
+                       <KEYWORD3>ALOG</KEYWORD3>\r
+                       <KEYWORD3>DALOG</KEYWORD3>\r
+                       <KEYWORD3>ALOG10</KEYWORD3>\r
+                       <KEYWORD3>DALOG10</KEYWORD3>\r
+                       <KEYWORD3>EXP</KEYWORD3>\r
+                       <KEYWORD3>DEXP</KEYWORD3>\r
+                       <KEYWORD3>TAN</KEYWORD3>\r
+                       <KEYWORD3>DTAN</KEYWORD3>\r
+                       <KEYWORD3>SIN</KEYWORD3>\r
+                       <KEYWORD3>DSIN</KEYWORD3>\r
+                       <KEYWORD3>ASIN</KEYWORD3>\r
+                       <KEYWORD3>DASIN</KEYWORD3>\r
+                       <KEYWORD3>COS</KEYWORD3>\r
+                       <KEYWORD3>DCOS</KEYWORD3>\r
+                       <KEYWORD3>SINH</KEYWORD3>\r
+                       <KEYWORD3>DSINH</KEYWORD3>\r
+                       <KEYWORD3>COSH</KEYWORD3>\r
+                       <KEYWORD3>DCOSH</KEYWORD3>\r
+                       <KEYWORD3>TANH</KEYWORD3>\r
+                       <KEYWORD3>DTANH</KEYWORD3>\r
+                       <KEYWORD3>ATAN</KEYWORD3>\r
+                       <KEYWORD3>DATAN</KEYWORD3>\r
+                       <KEYWORD3>ATAN2</KEYWORD3>\r
+                       <KEYWORD3>DATAN2</KEYWORD3>\r
+                       <KEYWORD3>RAN</KEYWORD3>\r
+                       <KEYWORD3>DRAN</KEYWORD3>\r
+                       <KEYWORD3>POWER</KEYWORD3>\r
+                       <KEYWORD3>DPOWER</KEYWORD3>\r
+\r
+                        <!-- basic data conversion functions -->\r
+                       <KEYWORD3>INTTOSTRING</KEYWORD3>\r
+                       <KEYWORD3>INT16TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>INT32TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>INT64TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOINT</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOINT16</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOINT32</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOINT64</KEYWORD3>\r
+                       <KEYWORD3>HEXTOSTRING</KEYWORD3>\r
+                       <KEYWORD3>HEX16TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>HEX32TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>HEX64TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOHEX</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOHEX16</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOHEX32</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOHEX64</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOREAL32</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOREAL64</KEYWORD3>\r
+                       <KEYWORD3>REAL32TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>REAL64TOSTRING</KEYWORD3>\r
+                       <KEYWORD3>STRINGTOBOOL</KEYWORD3>\r
+                       <KEYWORD3>BOOLTOSTRING</KEYWORD3>\r
+                       <KEYWORD3>RESCHEDULE</KEYWORD3>\r
+                       <KEYWORD3>ASSERT</KEYWORD3>\r
+\r
+                        <!-- preprocessor directives\r
+                        #INCLUDE\r
+                        #USE\r
+                        #OPTION\r
+                        #PRAGMA\r
+                        #COMMENT\r
+                        -->\r
+\r
+                       <LITERAL2>FALSE</LITERAL2>\r
+                       <LITERAL2>TRUE</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/omnimark.xml b/basis/xmode/modes/omnimark.xml
new file mode 100644 (file)
index 0000000..721ba4a
--- /dev/null
@@ -0,0 +1,455 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!-- contributed by Lionel Fiol <lio-sand@ifrance.com>       -->\r
+<!-- 09/NOV/2001: add automatic indentation properties       -->\r
+<!--              correct and add some keywords              -->\r
+<!--              reorganize all keywords (sorted)           -->\r
+<!-- 20/APR/2004: all keywords are now in lower case         -->\r
+<!-- 06/MAY/2004: add specific patterns for invalid literals -->\r
+<!-- 06/JUN/2004: add '.' (dot) in the noWordSep property    -->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="indentNextLines" VALUE="\s*((PROCESS|MARKUP|EXTERNAL|DOCUMENT|DTD|ELEMENT|FIND|TRANSLATE)((-|\s).*|\s*)|(DO|ELSE|REPEAT|MATCH|CASE|USING|GROUP|DEFINE|MACRO)(\s+.*|\s*))" />\r
+        <PROPERTY NAME="lineComment" VALUE=";" />\r
+        <PROPERTY NAME="noWordSep" VALUE=".-_" />\r
+    </PROPS>\r
+    <RULES ESCAPE="%" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+        <!-- Comments -->\r
+        <EOL_SPAN TYPE="COMMENT1">#!</EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+        <!-- Literals -->\r
+        <SPAN_REGEXP HASH_CHAR='"' NO_LINE_BREAK="TRUE" TYPE="INVALID">\r
+            <BEGIN>"((?!$)[^"])*$</BEGIN>\r
+            <END>$</END>\r
+        </SPAN_REGEXP>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN_REGEXP HASH_CHAR="'" NO_LINE_BREAK="TRUE" TYPE="INVALID">\r
+            <BEGIN>'((?!$)[^'])*$</BEGIN>\r
+            <END>$</END>\r
+        </SPAN_REGEXP>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+        <!-- Operators -->\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <!-- two next lines were removed as they conflict with the noWordSep property -->\r
+        <!-- <SEQ TYPE="OPERATOR">-</SEQ> -->\r
+        <!-- <SEQ TYPE="OPERATOR">_</SEQ> -->\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">@</SEQ>\r
+        <SEQ TYPE="OPERATOR">$</SEQ>\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">?</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <!-- Keywords -->\r
+        <KEYWORDS>\r
+            <KEYWORD2>#additional-info</KEYWORD2>\r
+            <KEYWORD2>#appinfo</KEYWORD2>\r
+            <KEYWORD2>#args</KEYWORD2>\r
+            <KEYWORD2>#capacity</KEYWORD2>\r
+            <KEYWORD2>#charset</KEYWORD2>\r
+            <KEYWORD2>#class</KEYWORD2>\r
+            <KEYWORD2>#command-line-names</KEYWORD2>\r
+            <KEYWORD2>#console</KEYWORD2>\r
+            <KEYWORD2>#current-input</KEYWORD2>\r
+            <KEYWORD2>#current-output</KEYWORD2>\r
+            <KEYWORD2>#data</KEYWORD2>\r
+            <KEYWORD2>#doctype</KEYWORD2>\r
+            <KEYWORD2>#document</KEYWORD2>\r
+            <KEYWORD2>#dtd</KEYWORD2>\r
+            <KEYWORD2>#empty</KEYWORD2>\r
+            <KEYWORD2>#error</KEYWORD2>\r
+            <KEYWORD2>#error-code</KEYWORD2>\r
+            <KEYWORD2>#external-exception</KEYWORD2>\r
+            <KEYWORD2>#file-name</KEYWORD2>\r
+            <KEYWORD2>#first</KEYWORD2>\r
+            <KEYWORD2>#group</KEYWORD2>\r
+            <KEYWORD2>#implied</KEYWORD2>\r
+            <KEYWORD2>#item</KEYWORD2>\r
+            <KEYWORD2>#language-version</KEYWORD2>\r
+            <KEYWORD2>#last</KEYWORD2>\r
+            <KEYWORD2>#libpath</KEYWORD2>\r
+            <KEYWORD2>#library</KEYWORD2>\r
+            <KEYWORD2>#libvalue</KEYWORD2>\r
+            <KEYWORD2>#line-number</KEYWORD2>\r
+            <KEYWORD2>#main-input</KEYWORD2>\r
+            <KEYWORD2>#main-output</KEYWORD2>\r
+            <KEYWORD2>#markup-error-count</KEYWORD2>\r
+            <KEYWORD2>#markup-error-total</KEYWORD2>\r
+            <KEYWORD2>#markup-parser</KEYWORD2>\r
+            <KEYWORD2>#markup-warning-count</KEYWORD2>\r
+            <KEYWORD2>#markup-warning-total</KEYWORD2>\r
+            <KEYWORD2>#message</KEYWORD2>\r
+            <KEYWORD2>#none</KEYWORD2>\r
+            <KEYWORD2>#output</KEYWORD2>\r
+            <KEYWORD2>#platform-info</KEYWORD2>\r
+            <KEYWORD2>#process-input</KEYWORD2>\r
+            <KEYWORD2>#process-output</KEYWORD2>\r
+            <KEYWORD2>#program-error</KEYWORD2>\r
+            <KEYWORD2>#recovery-info</KEYWORD2>\r
+            <KEYWORD2>#sgml</KEYWORD2>\r
+            <KEYWORD2>#sgml-error-count</KEYWORD2>\r
+            <KEYWORD2>#sgml-error-total</KEYWORD2>\r
+            <KEYWORD2>#sgml-warning-count</KEYWORD2>\r
+            <KEYWORD2>#sgml-warning-total</KEYWORD2>\r
+            <KEYWORD2>#suppress</KEYWORD2>\r
+            <KEYWORD2>#syntax</KEYWORD2>\r
+            <KEYWORD2>#!</KEYWORD2>\r
+            <OPERATOR>abs</OPERATOR>\r
+            <KEYWORD1>activate</KEYWORD1>\r
+            <OPERATOR>active</OPERATOR>\r
+            <KEYWORD2>after</KEYWORD2>\r
+            <KEYWORD1>again</KEYWORD1>\r
+            <KEYWORD2>ancestor</KEYWORD2>\r
+            <KEYWORD2>and</KEYWORD2>\r
+            <KEYWORD2>another</KEYWORD2>\r
+            <KEYWORD1>always</KEYWORD1>\r
+            <OPERATOR>and</OPERATOR>\r
+            <KEYWORD3>any</KEYWORD3>\r
+            <KEYWORD3>any-text</KEYWORD3>\r
+            <KEYWORD2>arg</KEYWORD2>\r
+            <OPERATOR>as</OPERATOR>\r
+            <KEYWORD1>assert</KEYWORD1>\r
+            <KEYWORD2>attached</KEYWORD2>\r
+            <KEYWORD2>attribute</KEYWORD2>\r
+            <KEYWORD2>attributes</KEYWORD2>\r
+            <OPERATOR>base</OPERATOR>\r
+            <KEYWORD2>bcd</KEYWORD2>\r
+            <KEYWORD2>before</KEYWORD2>\r
+            <OPERATOR>binary</OPERATOR>\r
+            <KEYWORD2>binary-input</KEYWORD2>\r
+            <KEYWORD2>binary-mode</KEYWORD2>\r
+            <KEYWORD2>binary-output</KEYWORD2>\r
+            <KEYWORD3>blank</KEYWORD3>\r
+            <KEYWORD2>break-width</KEYWORD2>\r
+            <KEYWORD2>buffer</KEYWORD2>\r
+            <KEYWORD2>buffered</KEYWORD2>\r
+            <KEYWORD2>by</KEYWORD2>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>catch</KEYWORD1>\r
+            <KEYWORD2>catchable</KEYWORD2>\r
+            <KEYWORD3>cdata</KEYWORD3>\r
+            <KEYWORD2>cdata-entity</KEYWORD2>\r
+            <OPERATOR>ceiling</OPERATOR>\r
+            <KEYWORD2>children</KEYWORD2>\r
+            <KEYWORD1>clear</KEYWORD1>\r
+            <KEYWORD1>close</KEYWORD1>\r
+            <KEYWORD2>closed</KEYWORD2>\r
+            <OPERATOR>compiled-date</OPERATOR>\r
+            <OPERATOR>complement</OPERATOR>\r
+            <KEYWORD2>conref</KEYWORD2>\r
+            <KEYWORD2>content</KEYWORD2>\r
+            <KEYWORD3>content-end</KEYWORD3>\r
+            <KEYWORD3>content-start</KEYWORD3>\r
+            <KEYWORD2>context-translate</KEYWORD2>\r
+            <KEYWORD1>copy</KEYWORD1>\r
+            <KEYWORD1>copy-clear</KEYWORD1>\r
+            <KEYWORD2>counter</KEYWORD2>\r
+            <KEYWORD2>created</KEYWORD2>\r
+            <OPERATOR>creating</OPERATOR>\r
+            <OPERATOR>creator</OPERATOR>\r
+            <KEYWORD2>cross-translate</KEYWORD2>\r
+            <KEYWORD2>current</KEYWORD2>\r
+            <KEYWORD2>data-attribute</KEYWORD2>\r
+            <KEYWORD2>data-attributes</KEYWORD2>\r
+            <KEYWORD2>data-content</KEYWORD2>\r
+            <KEYWORD2>data-letters</KEYWORD2>\r
+            <OPERATOR>date</OPERATOR>\r
+            <KEYWORD1>deactivate</KEYWORD1>\r
+            <KEYWORD2>declare</KEYWORD2>\r
+            <KEYWORD2>declared-conref</KEYWORD2>\r
+            <KEYWORD2>declared-current</KEYWORD2>\r
+            <KEYWORD2>declared-defaulted</KEYWORD2>\r
+            <KEYWORD2>declared-fixed</KEYWORD2>\r
+            <KEYWORD2>declared-implied</KEYWORD2>\r
+            <KEYWORD2>declared-required</KEYWORD2>\r
+            <KEYWORD1>decrement</KEYWORD1>\r
+            <KEYWORD2>default-entity</KEYWORD2>\r
+            <KEYWORD2>defaulted</KEYWORD2>\r
+            <KEYWORD2>defaulting</KEYWORD2>\r
+            <KEYWORD2>define</KEYWORD2>\r
+            <KEYWORD2>delimiter</KEYWORD2>\r
+            <OPERATOR>difference</OPERATOR>\r
+            <KEYWORD3>digit</KEYWORD3>\r
+            <KEYWORD2>directory</KEYWORD2>\r
+            <KEYWORD1>discard</KEYWORD1>\r
+            <OPERATOR>divide</OPERATOR>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD2>doctype</KEYWORD2>\r
+            <KEYWORD2>document</KEYWORD2>\r
+            <KEYWORD2>document-element</KEYWORD2>\r
+            <KEYWORD2>document-end</KEYWORD2>\r
+            <KEYWORD2>document-start</KEYWORD2>\r
+            <KEYWORD2>domain-free</KEYWORD2>\r
+            <KEYWORD1>done</KEYWORD1>\r
+            <KEYWORD2>down-translate</KEYWORD2>\r
+            <OPERATOR>drop</OPERATOR>\r
+            <KEYWORD2>dtd</KEYWORD2>\r
+            <KEYWORD2>dtd-end</KEYWORD2>\r
+            <KEYWORD2>dtd-start</KEYWORD2>\r
+            <KEYWORD2>dtds</KEYWORD2>\r
+            <KEYWORD2>element</KEYWORD2>\r
+            <KEYWORD2>elements</KEYWORD2>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD2>elsewhere</KEYWORD2>\r
+            <KEYWORD2>empty</KEYWORD2>\r
+            <KEYWORD2>entities</KEYWORD2>\r
+            <KEYWORD2>entity</KEYWORD2>\r
+            <KEYWORD2>epilog-start</KEYWORD2>\r
+            <OPERATOR>equal</OPERATOR>\r
+            <OPERATOR>equals</OPERATOR>\r
+            <KEYWORD2>escape</KEYWORD2>\r
+            <KEYWORD1>except</KEYWORD1>\r
+            <OPERATOR>exists</OPERATOR>\r
+            <KEYWORD1>exit</KEYWORD1>\r
+            <KEYWORD2>external</KEYWORD2>\r
+            <KEYWORD2>external-data-entity</KEYWORD2>\r
+            <KEYWORD2>external-entity</KEYWORD2>\r
+            <KEYWORD2>external-function</KEYWORD2>\r
+            <KEYWORD2>external-output-function</KEYWORD2>\r
+            <KEYWORD2>external-text-entity</KEYWORD2>\r
+            <KEYWORD2>false</KEYWORD2>\r
+            <OPERATOR>file</OPERATOR>\r
+            <KEYWORD2>find</KEYWORD2>\r
+            <KEYWORD2>find-end</KEYWORD2>\r
+            <KEYWORD2>find-start</KEYWORD2>\r
+            <OPERATOR>floor</OPERATOR>\r
+            <KEYWORD1>flush</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>format</KEYWORD1>\r
+            <KEYWORD2>function</KEYWORD2>\r
+            <KEYWORD2>function-library</KEYWORD2>\r
+            <KEYWORD2>general</KEYWORD2>\r
+            <KEYWORD2>global</KEYWORD2>\r
+            <OPERATOR>greater-equal</OPERATOR>\r
+            <OPERATOR>greater-than</OPERATOR>\r
+            <KEYWORD2>group</KEYWORD2>\r
+            <KEYWORD2>groups</KEYWORD2>\r
+            <KEYWORD1>halt</KEYWORD1>\r
+            <KEYWORD1>halt-everything</KEYWORD1>\r
+            <OPERATOR>has</OPERATOR>\r
+            <OPERATOR>hasnt</OPERATOR>\r
+            <KEYWORD2>heralded-names</KEYWORD2>\r
+            <KEYWORD2>id</KEYWORD2>\r
+            <KEYWORD2>id-checking</KEYWORD2>\r
+            <KEYWORD2>idref</KEYWORD2>\r
+            <KEYWORD2>idrefs</KEYWORD2>\r
+            <KEYWORD2>ignore</KEYWORD2>\r
+            <KEYWORD2>implied</KEYWORD2>\r
+            <KEYWORD2>in</KEYWORD2>\r
+            <KEYWORD2>in-library</KEYWORD2>\r
+            <KEYWORD2>include</KEYWORD2>\r
+            <KEYWORD2>include-end</KEYWORD2>\r
+            <KEYWORD2>include-guard</KEYWORD2>\r
+            <KEYWORD2>include-start</KEYWORD2>\r
+            <KEYWORD2>inclusion</KEYWORD2>\r
+            <KEYWORD1>increment</KEYWORD1>\r
+            <KEYWORD2>initial</KEYWORD2>\r
+            <KEYWORD2>initial-size</KEYWORD2>\r
+            <KEYWORD1>input</KEYWORD1>\r
+            <KEYWORD2>insertion-break</KEYWORD2>\r
+            <KEYWORD2>instance</KEYWORD2>\r
+            <KEYWORD2>integer</KEYWORD2>\r
+            <KEYWORD2>internal</KEYWORD2>\r
+            <KEYWORD2>invalid-data</KEYWORD2>\r
+            <OPERATOR>is</OPERATOR>\r
+            <OPERATOR>isnt</OPERATOR>\r
+            <OPERATOR>item</OPERATOR>\r
+            <KEYWORD1>join</KEYWORD1>\r
+            <OPERATOR>key</OPERATOR>\r
+            <KEYWORD2>keyed</KEYWORD2>\r
+            <OPERATOR>last</OPERATOR>\r
+            <OPERATOR>lastmost</OPERATOR>\r
+            <KEYWORD3>lc</KEYWORD3>\r
+            <OPERATOR>length</OPERATOR>\r
+            <OPERATOR>less-equal</OPERATOR>\r
+            <OPERATOR>less-than</OPERATOR>\r
+            <KEYWORD3>letter</KEYWORD3>\r
+            <KEYWORD2>letters</KEYWORD2>\r
+            <KEYWORD2>library</KEYWORD2>\r
+            <KEYWORD3>line-end</KEYWORD3>\r
+            <KEYWORD3>line-start</KEYWORD3>\r
+            <OPERATOR>literal</OPERATOR>\r
+            <KEYWORD2>local</KEYWORD2>\r
+            <OPERATOR>ln</OPERATOR>\r
+            <KEYWORD1>log</KEYWORD1>\r
+            <OPERATOR>log10</OPERATOR>\r
+            <OPERATOR>lookahead</OPERATOR>\r
+            <KEYWORD2>macro</KEYWORD2>\r
+            <KEYWORD2>macro-end</KEYWORD2>\r
+            <KEYWORD2>marked-section</KEYWORD2>\r
+            <KEYWORD2>markup-comment</KEYWORD2>\r
+            <KEYWORD2>markup-error</KEYWORD2>\r
+            <KEYWORD2>markup-parser</KEYWORD2>\r
+            <KEYWORD2>markup-wrapper</KEYWORD2>\r
+            <OPERATOR>mask</OPERATOR>\r
+            <KEYWORD1>match</KEYWORD1>\r
+            <OPERATOR>matches</OPERATOR>\r
+            <OPERATOR>minus</OPERATOR>\r
+            <KEYWORD2>mixed</KEYWORD2>\r
+            <KEYWORD2>modifiable</KEYWORD2>\r
+            <OPERATOR>modulo</OPERATOR>\r
+            <OPERATOR>name</OPERATOR>\r
+            <KEYWORD2>name-letters</KEYWORD2>\r
+            <KEYWORD2>namecase</KEYWORD2>\r
+            <KEYWORD2>named</KEYWORD2>\r
+            <KEYWORD2>names</KEYWORD2>\r
+            <KEYWORD2>ndata-entity</KEYWORD2>\r
+            <OPERATOR>negate</OPERATOR>\r
+            <KEYWORD2>nested-referents</KEYWORD2>\r
+            <KEYWORD1>new</KEYWORD1>\r
+            <KEYWORD2>newline</KEYWORD2>\r
+            <KEYWORD1>next</KEYWORD1>\r
+            <KEYWORD2>nmtoken</KEYWORD2>\r
+            <KEYWORD2>nmtokens</KEYWORD2>\r
+            <KEYWORD2>no</KEYWORD2>\r
+            <KEYWORD2>no-default-io</KEYWORD2>\r
+            <KEYWORD3>non-cdata</KEYWORD3>\r
+            <KEYWORD2>non-implied</KEYWORD2>\r
+            <KEYWORD3>non-sdata</KEYWORD3>\r
+            <OPERATOR>not</OPERATOR>\r
+            <KEYWORD1>not-reached</KEYWORD1>\r
+            <KEYWORD2>notation</KEYWORD2>\r
+            <KEYWORD2>number</KEYWORD2>\r
+            <OPERATOR>number-of</OPERATOR>\r
+            <KEYWORD2>numbers</KEYWORD2>\r
+            <KEYWORD3>null</KEYWORD3>\r
+            <KEYWORD2>nutoken</KEYWORD2>\r
+            <KEYWORD2>nutokens</KEYWORD2>\r
+            <OPERATOR>occurrence</OPERATOR>\r
+            <OPERATOR>of</OPERATOR>\r
+            <KEYWORD2>opaque</KEYWORD2>\r
+            <KEYWORD1>open</KEYWORD1>\r
+            <KEYWORD2>optional</KEYWORD2>\r
+            <OPERATOR>or</OPERATOR>\r
+            <KEYWORD1>output</KEYWORD1>\r
+            <KEYWORD1>output-to</KEYWORD1>\r
+            <KEYWORD1>over</KEYWORD1>\r
+            <KEYWORD2>parameter</KEYWORD2>\r
+            <KEYWORD2>parent</KEYWORD2>\r
+            <KEYWORD2>past</KEYWORD2>\r
+            <KEYWORD2>pattern</KEYWORD2>\r
+            <KEYWORD3>pcdata</KEYWORD3>\r
+            <KEYWORD2>plus</KEYWORD2>\r
+            <KEYWORD2>preparent</KEYWORD2>\r
+            <KEYWORD2>previous</KEYWORD2>\r
+            <KEYWORD2>process</KEYWORD2>\r
+            <KEYWORD2>process-end</KEYWORD2>\r
+            <KEYWORD2>process-start</KEYWORD2>\r
+            <KEYWORD2>processing-instruction</KEYWORD2>\r
+            <KEYWORD2>prolog-end</KEYWORD2>\r
+            <KEYWORD2>prolog-in-error</KEYWORD2>\r
+            <KEYWORD2>proper</KEYWORD2>\r
+            <KEYWORD2>public</KEYWORD2>\r
+            <KEYWORD1>put</KEYWORD1>\r
+            <KEYWORD3>rcdata</KEYWORD3>\r
+            <KEYWORD1>remove</KEYWORD1>\r
+            <KEYWORD2>read-only</KEYWORD2>\r
+            <KEYWORD2>readable</KEYWORD2>\r
+            <KEYWORD2>referent</KEYWORD2>\r
+            <KEYWORD2>referents</KEYWORD2>\r
+            <KEYWORD2>referents-allowed</KEYWORD2>\r
+            <KEYWORD2>referents-displayed</KEYWORD2>\r
+            <KEYWORD2>referents-not-allowed</KEYWORD2>\r
+            <KEYWORD2>remainder</KEYWORD2>\r
+            <KEYWORD1>reopen</KEYWORD1>\r
+            <KEYWORD1>repeat</KEYWORD1>\r
+            <KEYWORD2>repeated</KEYWORD2>\r
+            <KEYWORD2>replacement-break</KEYWORD2>\r
+            <KEYWORD1>reset</KEYWORD1>\r
+            <KEYWORD1>rethrow</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD2>reversed</KEYWORD2>\r
+            <OPERATOR>round</OPERATOR>\r
+            <KEYWORD1>save</KEYWORD1>\r
+            <KEYWORD1>save-clear</KEYWORD1>\r
+            <KEYWORD1>scan</KEYWORD1>\r
+            <KEYWORD3>sdata</KEYWORD3>\r
+            <KEYWORD2>sdata-entity</KEYWORD2>\r
+            <KEYWORD1>select</KEYWORD1>\r
+            <KEYWORD1>set</KEYWORD1>\r
+            <KEYWORD1>sgml</KEYWORD1>\r
+            <KEYWORD2>sgml-comment</KEYWORD2>\r
+            <KEYWORD2>sgml-declaration-end</KEYWORD2>\r
+            <KEYWORD2>sgml-dtd</KEYWORD2>\r
+            <KEYWORD2>sgml-dtds</KEYWORD2>\r
+            <KEYWORD2>sgml-error</KEYWORD2>\r
+            <KEYWORD1>sgml-in</KEYWORD1>\r
+            <KEYWORD1>sgml-out</KEYWORD1>\r
+            <KEYWORD1>sgml-parse</KEYWORD1>\r
+            <KEYWORD1>sgml-parser</KEYWORD1>\r
+            <OPERATOR>shift</OPERATOR>\r
+            <KEYWORD2>silent-referent</KEYWORD2>\r
+            <KEYWORD2>size</KEYWORD2>\r
+            <KEYWORD1>skip</KEYWORD1>\r
+            <KEYWORD2>source</KEYWORD2>\r
+            <KEYWORD3>space</KEYWORD3>\r
+            <KEYWORD2>specified</KEYWORD2>\r
+            <OPERATOR>sqrt</OPERATOR>\r
+            <OPERATOR>status</OPERATOR>\r
+            <KEYWORD2>stream</KEYWORD2>\r
+            <KEYWORD2>subdoc-entity</KEYWORD2>\r
+            <KEYWORD2>subdocument</KEYWORD2>\r
+            <KEYWORD2>subdocuments</KEYWORD2>\r
+            <KEYWORD2>subelement</KEYWORD2>\r
+            <KEYWORD1>submit</KEYWORD1>\r
+            <KEYWORD1>succeed</KEYWORD1>\r
+            <KEYWORD1>suppress</KEYWORD1>\r
+            <KEYWORD2>switch</KEYWORD2>\r
+            <KEYWORD2>symbol</KEYWORD2>\r
+            <KEYWORD2>system</KEYWORD2>\r
+            <KEYWORD1>system-call</KEYWORD1>\r
+            <OPERATOR>take</OPERATOR>\r
+            <KEYWORD1>test-system</KEYWORD1>\r
+            <KEYWORD3>text</KEYWORD3>\r
+            <KEYWORD2>text-mode</KEYWORD2>\r
+            <OPERATOR>this</OPERATOR>\r
+            <KEYWORD1>throw</KEYWORD1>\r
+            <KEYWORD2>thrown</KEYWORD2>\r
+            <KEYWORD2>times</KEYWORD2>\r
+            <KEYWORD1>to</KEYWORD1>\r
+            <KEYWORD2>token</KEYWORD2>\r
+            <KEYWORD2>translate</KEYWORD2>\r
+            <KEYWORD2>true</KEYWORD2>\r
+            <OPERATOR>truncate</OPERATOR>\r
+            <KEYWORD3>uc</KEYWORD3>\r
+            <OPERATOR>ul</OPERATOR>\r
+            <OPERATOR>unanchored</OPERATOR>\r
+            <KEYWORD2>unattached</KEYWORD2>\r
+            <KEYWORD2>unbuffered</KEYWORD2>\r
+            <OPERATOR>union</OPERATOR>\r
+            <KEYWORD1>unless</KEYWORD1>\r
+            <KEYWORD2>up-translate</KEYWORD2>\r
+            <OPERATOR>usemap</OPERATOR>\r
+            <KEYWORD1>using</KEYWORD1>\r
+            <KEYWORD2>value</KEYWORD2>\r
+            <KEYWORD3>value-end</KEYWORD3>\r
+            <KEYWORD3>value-start</KEYWORD3>\r
+            <KEYWORD2>valued</KEYWORD2>\r
+            <KEYWORD2>variable</KEYWORD2>\r
+            <KEYWORD1>when</KEYWORD1>\r
+            <KEYWORD3>white-space</KEYWORD3>\r
+            <OPERATOR>with</OPERATOR>\r
+            <KEYWORD3>word-end</KEYWORD3>\r
+            <KEYWORD3>word-start</KEYWORD3>\r
+            <KEYWORD2>writable</KEYWORD2>\r
+            <KEYWORD2>xml</KEYWORD2>\r
+            <KEYWORD2>xml-dtd</KEYWORD2>\r
+            <KEYWORD2>xml-dtds</KEYWORD2>\r
+            <KEYWORD1>xml-parse</KEYWORD1>\r
+            <KEYWORD2>yes</KEYWORD2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/pascal.xml b/basis/xmode/modes/pascal.xml
new file mode 100644 (file)
index 0000000..d411d56
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Pascal mode by Kristian Ovaska.\r
+     Delphi 3 was used as reference.\r
+     Modified by Barry Carr (Ixian Software Components Ltd)\r
+     Delphi 6 was used as reference.\r
+     Modified by Barry Carr (Ixian Software Components Ltd) Feb '04\r
+     Delphi 8 (for .NET) was used as reference\r
+     Keywords   = KEYWORD1\r
+     Directives = KEYWORD2.\r
+     Everything else as is-->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="{" />\r
+        <PROPERTY NAME="commentEnd" VALUE="}" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+    </PROPS>\r
+\r
+    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+        <!-- Compiler directives. -->\r
+        <SPAN TYPE="COMMENT3">\r
+            <BEGIN>{$</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+        <SPAN TYPE="COMMENT3">\r
+            <BEGIN>(*$</BEGIN>\r
+            <END>*)</END>\r
+        </SPAN>\r
+\r
+        <!-- Normal comments. -->\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <SPAN TYPE="COMMENT1">\r
+            <BEGIN>(*</BEGIN>\r
+            <END>*)</END>\r
+        </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <SEQ TYPE="OPERATOR">(</SEQ>\r
+        <SEQ TYPE="OPERATOR">]</SEQ>\r
+        <SEQ TYPE="OPERATOR">[</SEQ>\r
+        <SEQ TYPE="OPERATOR">.</SEQ>\r
+        <SEQ TYPE="OPERATOR">,</SEQ>\r
+        <SEQ TYPE="OPERATOR">;</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">@</SEQ>\r
+        <SEQ TYPE="OPERATOR">:=</SEQ>\r
+        <SEQ TYPE="OPERATOR">:</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <!-- Reserved words. Standard directives are not included, except\r
+                 private, protected, public, published, and automated. -->\r
+            <KEYWORD1>and</KEYWORD1>\r
+            <KEYWORD1>array</KEYWORD1>\r
+            <KEYWORD1>as</KEYWORD1>\r
+            <KEYWORD1>at</KEYWORD1>\r
+            <KEYWORD1>asm</KEYWORD1>\r
+            <KEYWORD1>begin</KEYWORD1>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>class</KEYWORD1>\r
+            <KEYWORD1>const</KEYWORD1>\r
+            <KEYWORD1>constructor</KEYWORD1>\r
+            <KEYWORD1>destructor</KEYWORD1>\r
+            <KEYWORD1>dispinterface</KEYWORD1>\r
+            <KEYWORD1>div</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD1>downto</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>end</KEYWORD1>\r
+            <KEYWORD1>except</KEYWORD1>\r
+            <KEYWORD1>exports</KEYWORD1>\r
+            <KEYWORD1>file</KEYWORD1>\r
+            <KEYWORD1>final</KEYWORD1>\r
+            <KEYWORD1>finalization</KEYWORD1>\r
+            <KEYWORD1>finally</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>function</KEYWORD1>\r
+            <KEYWORD1>goto</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD1>implementation</KEYWORD1>\r
+            <KEYWORD1>in</KEYWORD1>\r
+            <KEYWORD1>inherited</KEYWORD1>\r
+            <KEYWORD1>initialization</KEYWORD1>\r
+            <KEYWORD1>inline</KEYWORD1>\r
+            <KEYWORD1>interface</KEYWORD1>\r
+            <KEYWORD1>is</KEYWORD1>\r
+            <KEYWORD1>label</KEYWORD1>\r
+            <KEYWORD1>mod</KEYWORD1>\r
+            <KEYWORD1>not</KEYWORD1>\r
+            <KEYWORD1>object</KEYWORD1>\r
+            <KEYWORD1>of</KEYWORD1>\r
+            <KEYWORD1>on</KEYWORD1>\r
+            <KEYWORD1>or</KEYWORD1>\r
+            <KEYWORD1>out</KEYWORD1>\r
+            <KEYWORD1>packed</KEYWORD1>\r
+            <KEYWORD1>procedure</KEYWORD1>\r
+            <KEYWORD1>program</KEYWORD1>\r
+            <KEYWORD1>property</KEYWORD1>\r
+            <KEYWORD1>raise</KEYWORD1>\r
+            <KEYWORD1>record</KEYWORD1>\r
+            <KEYWORD1>repeat</KEYWORD1>\r
+            <KEYWORD1>resourcestring</KEYWORD1>\r
+            <KEYWORD1>set</KEYWORD1>\r
+            <KEYWORD1>sealed</KEYWORD1>\r
+            <KEYWORD1>shl</KEYWORD1>\r
+            <KEYWORD1>shr</KEYWORD1>\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <KEYWORD1>string</KEYWORD1>\r
+            <KEYWORD1>then</KEYWORD1>\r
+            <KEYWORD1>threadvar</KEYWORD1>\r
+            <KEYWORD1>to</KEYWORD1>\r
+            <KEYWORD1>try</KEYWORD1>\r
+            <KEYWORD1>type</KEYWORD1>\r
+            <KEYWORD1>unit</KEYWORD1>\r
+            <KEYWORD1>unsafe</KEYWORD1>\r
+            <KEYWORD1>until</KEYWORD1>\r
+            <KEYWORD1>uses</KEYWORD1>\r
+            <KEYWORD1>var</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+            <KEYWORD1>with</KEYWORD1>\r
+            <KEYWORD1>xor</KEYWORD1>\r
+\r
+            <KEYWORD2>absolute</KEYWORD2>\r
+            <KEYWORD2>abstract</KEYWORD2>\r
+            <KEYWORD2>assembler</KEYWORD2>\r
+            <KEYWORD2>automated</KEYWORD2>\r
+            <KEYWORD2>cdecl</KEYWORD2>\r
+            <KEYWORD2>contains</KEYWORD2>\r
+            <KEYWORD2>default</KEYWORD2>\r
+            <KEYWORD2>deprecated</KEYWORD2>\r
+            <KEYWORD2>dispid</KEYWORD2>\r
+            <KEYWORD2>dynamic</KEYWORD2>\r
+            <KEYWORD2>export</KEYWORD2>\r
+            <KEYWORD2>external</KEYWORD2>\r
+            <KEYWORD2>far</KEYWORD2>\r
+            <KEYWORD2>forward</KEYWORD2>\r
+            <KEYWORD2>implements</KEYWORD2>\r
+            <KEYWORD2>index</KEYWORD2>\r
+            <KEYWORD2>library</KEYWORD2>\r
+            <KEYWORD2>local</KEYWORD2>\r
+            <KEYWORD2>message</KEYWORD2>\r
+            <KEYWORD2>name</KEYWORD2>\r
+            <KEYWORD2>namespaces</KEYWORD2>\r
+            <KEYWORD2>near</KEYWORD2>\r
+            <KEYWORD2>nodefault</KEYWORD2>\r
+            <KEYWORD2>overload</KEYWORD2>\r
+            <KEYWORD2>override</KEYWORD2>\r
+            <KEYWORD2>package</KEYWORD2>\r
+            <KEYWORD2>pascal</KEYWORD2>\r
+            <KEYWORD2>platform</KEYWORD2>\r
+            <KEYWORD2>private</KEYWORD2>\r
+            <KEYWORD2>protected</KEYWORD2>\r
+            <KEYWORD2>public</KEYWORD2>\r
+            <KEYWORD2>published</KEYWORD2>\r
+            <KEYWORD2>read</KEYWORD2>\r
+            <KEYWORD2>readonly</KEYWORD2>\r
+            <KEYWORD2>register</KEYWORD2>\r
+            <KEYWORD2>reintroduce</KEYWORD2>\r
+            <KEYWORD2>requires</KEYWORD2>\r
+            <KEYWORD2>resident</KEYWORD2>\r
+            <KEYWORD2>safecall</KEYWORD2>\r
+            <KEYWORD2>stdcall</KEYWORD2>\r
+            <KEYWORD2>stored</KEYWORD2>\r
+            <KEYWORD2>varargs</KEYWORD2>\r
+            <KEYWORD2>virtual</KEYWORD2>\r
+            <KEYWORD2>write</KEYWORD2>\r
+            <KEYWORD2>writeonly</KEYWORD2>\r
+\r
+            <!-- Ordinal types. -->\r
+            <KEYWORD3>shortint</KEYWORD3>\r
+            <KEYWORD3>byte</KEYWORD3>\r
+            <KEYWORD3>char</KEYWORD3>\r
+            <KEYWORD3>smallint</KEYWORD3>\r
+            <KEYWORD3>integer</KEYWORD3>\r
+            <KEYWORD3>word</KEYWORD3>\r
+            <KEYWORD3>longint</KEYWORD3>\r
+            <KEYWORD3>cardinal</KEYWORD3>\r
+            <!-- Boolean types. -->\r
+            <KEYWORD3>boolean</KEYWORD3>\r
+            <KEYWORD3>bytebool</KEYWORD3>\r
+            <KEYWORD3>wordbool</KEYWORD3>\r
+            <KEYWORD3>longbool</KEYWORD3>\r
+            <!-- Real types. -->\r
+            <KEYWORD3>real</KEYWORD3>\r
+            <KEYWORD3>single</KEYWORD3>\r
+            <KEYWORD3>double</KEYWORD3>\r
+            <KEYWORD3>extended</KEYWORD3>\r
+            <KEYWORD3>comp</KEYWORD3>\r
+            <KEYWORD3>currency</KEYWORD3>\r
+            <!-- Untyped pointer. -->\r
+            <KEYWORD3>pointer</KEYWORD3>\r
+\r
+            <LITERAL2>false</LITERAL2>\r
+            <LITERAL2>nil</LITERAL2>\r
+            <LITERAL2>self</LITERAL2>\r
+            <LITERAL2>true</LITERAL2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/patch.xml b/basis/xmode/modes/patch.xml
new file mode 100644 (file)
index 0000000..c2ac51a
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <RULES>\r
+               <EOL_SPAN TYPE="LITERAL1" AT_LINE_START="TRUE">+++</EOL_SPAN>\r
+               <EOL_SPAN TYPE="LITERAL2" AT_LINE_START="TRUE">---</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">Index: </EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD1" AT_LINE_START="TRUE">+</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD1" AT_LINE_START="TRUE">&gt;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">-</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">&lt;</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">!</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">@@</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">*</EOL_SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/perl.xml b/basis/xmode/modes/perl.xml
new file mode 100644 (file)
index 0000000..2bb9f66
--- /dev/null
@@ -0,0 +1,732 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine" VALUE="[^#]*\.\s*$" />\r
+       </PROPS>\r
+\r
+       <!-- no ESCAPE char because we need the backslash for references -->\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- TYPE is LABEL so that =head1 and =cut are highlighted as so -->\r
+               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
+                       <BEGIN>=head1</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
+                       <BEGIN>=head2</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+        <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
+                       <BEGIN>=head3</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN  AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
+                       <BEGIN>=head4</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL"  AT_LINE_START="TRUE" DELEGATE="POD">\r
+                       <BEGIN>=item</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN  AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
+                       <BEGIN>=over</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
+                       <BEGIN>=back</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
+                       <BEGIN>=pod</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="POD"  AT_LINE_START="TRUE">\r
+                       <BEGIN>=for</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
+                       <BEGIN>=begin</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
+                       <BEGIN>=end</BEGIN>\r
+                       <END>=cut</END>\r
+               </SPAN>\r
+\r
+               <!-- Some other things that confuse the mode file. -->\r
+               <SEQ TYPE="OPERATOR">*"</SEQ>\r
+               <SEQ TYPE="OPERATOR">*'</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;"</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;'</SEQ>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- Scalar variables -->\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$#?((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- Array variables -->\r
+               <SEQ_REGEXP HASH_CHAR="@" TYPE="KEYWORD2">@((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- Associative Array (= Hash) variables -->\r
+               <SEQ_REGEXP HASH_CHAR="%" TYPE="KEYWORD2">%((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- Dereferences -->\r
+               <SEQ_REGEXP HASH_CHAR="$$" TYPE="KEYWORD4">\$\$+((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="@$" TYPE="KEYWORD4">@\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="%$" TYPE="KEYWORD4">%\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="*" TYPE="KEYWORD4">\*((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- Perl predefined variables -->\r
+               <SEQ_REGEXP HASH_CHAR="$^" TYPE="KEYWORD2">\$\^\p{Alpha}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$\p{Punct}</SEQ_REGEXP>\r
+\r
+               <!-- references to vars and code, starting with a backslash -->\r
+               <SEQ_REGEXP HASH_CHAR="\" TYPE="KEYWORD4">\\[@%\$&amp;]((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- complex code dereference -->\r
+               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
+                       <BEGIN>&amp;{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- Function calls from variables -->\r
+               <SEQ_REGEXP HASH_CHAR="&amp;$" TYPE="FUNCTION">&amp;\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
+\r
+               <!-- Special handling for subs, since they can have a ' in the name;\r
+                        try to do highlight as well as possible - this version will\r
+                        highlight both 'sub' and the opening '{' as KEYWORD1, so the\r
+                        opening bracket will be different than other brackets. -->\r
+               <SPAN_REGEXP HASH_CHAR="sub" TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="SUB_NAME">\r
+                       <BEGIN>sub\s</BEGIN>\r
+                       <END>{</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- Highlight calls to subs that contain ' in the name. -->\r
+               <SEQ_REGEXP HASH_CHAR="&amp;" TYPE="FUNCTION"\r
+               >&amp;\p{Alpha}[\p{Alnum}_]*'\p{Alpha}[\p{Alnum}_]*</SEQ_REGEXP>\r
+\r
+               <!-- Literals -->\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- apostroph literals -->\r
+               <SPAN TYPE="LITERAL1" DELEGATE="APOSTR">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- options: -text -->\r
+               <SEQ_REGEXP HASH_CHAR="-" TYPE="LITERAL1">-[\p{Lower}]\w+</SEQ_REGEXP>\r
+\r
+               <!-- file stat expressions -->\r
+               <SEQ_REGEXP HASH_CHAR="-" TYPE="KEYWORD3">-[\p{Lower}]</SEQ_REGEXP>\r
+\r
+               <!-- non-quoted literals in hashes -->\r
+               <SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="{" NO_LINE_BREAK="TRUE" DELEGATE="LITERAL">\r
+                       <BEGIN>\{(?=\s*[\p{Alpha}_\-][\p{Alnum}_]*\s*\})</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- Code blocks. This is a hack to correctly highlight some\r
+                        complex expressions that can have arbitrary perl code\r
+                        inside brackets (like array deferences below). Declaring\r
+                        this *before* the other rules is needed to maintain\r
+                        correct bracket matching.\r
+               -->\r
+               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- Array dereference -->\r
+               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
+                       <BEGIN>@{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- Hash dereference -->\r
+               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
+                       <BEGIN>%{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- labels, catches also package prefixes at line start :( -->\r
+               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+\r
+               <!-- __DATA__ and similar -->\r
+               <SEQ_REGEXP HASH_CHAR="__" TYPE="KEYWORD4">__\w+__</SEQ_REGEXP>\r
+\r
+               <!-- Exec -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <!-- file globs / IO operators -->\r
+               <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="KEYWORD4">&lt;[\p{Punct}\p{Alnum}_]*&gt;</SEQ_REGEXP>\r
+\r
+               <!-- Heredoc -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL2" DELEGATE="LITERAL">\r
+               <BEGIN><![CDATA[<<\p{Space}*(['"])([\p{Space}\p{Alnum}_]*)\1;?\s*]]></BEGIN>\r
+               <END>$2</END>\r
+               </SPAN_REGEXP>\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL2" DELEGATE="LITERAL">\r
+               <BEGIN><![CDATA[<<([\p{Alpha}_][\p{Alnum}_]*);?\s*]]></BEGIN>\r
+               <END>$1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- jEdit 4.1 adds regular expression syntax rules so we can\r
+                    highlight this sort of crap. -->\r
+\r
+               <!-- /Regexp/, avoid confusion with a sequence of two divisions! -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/"\r
+                       AT_WORD_START="TRUE">/.*?[^\\]/[cgimosx]*(?!\s*[\d\$\@\(\-])</SEQ_REGEXP>\r
+\r
+        <!-- q//, qq//, qr//, qx// -->\r
+               <SPAN_REGEXP HASH_CHAR="q"\r
+                                        TYPE="MARKUP"\r
+                                        MATCH_TYPE="OPERATOR"\r
+                                        DELEGATE="QUOTED"\r
+                                        AT_WORD_START="TRUE"\r
+                                        NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>q(?:|[qrxw])([#\[{(/|])</BEGIN>\r
+                       <END>~1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- tr/// transliteration -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="tr"\r
+            AT_WORD_START="TRUE">tr\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="tr"\r
+            AT_WORD_START="TRUE">tr([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*</SEQ_REGEXP>\r
+\r
+               <!-- y/// translation -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="y"\r
+            AT_WORD_START="TRUE">y\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="y"\r
+            AT_WORD_START="TRUE">y([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*</SEQ_REGEXP>\r
+\r
+               <!-- m// regular expression matching -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="m"\r
+                       AT_WORD_START="TRUE">m\s*\{.*?[^\\]\}[cgimosx]*</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="m"\r
+                       AT_WORD_START="TRUE">m([^\p{Alnum}\p{Space}\}])(?:.*?[^\\])\1[cgimosx]*</SEQ_REGEXP>\r
+\r
+               <!-- s/// regular expression substitution -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="s"\r
+            AT_WORD_START="TRUE">s\s*\{.*?\}\s*\{.*?\}[egimosx]*</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="s"\r
+            AT_WORD_START="TRUE">s([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[egimosx]*</SEQ_REGEXP>\r
+\r
+               <!-- complex operators -->\r
+               <SEQ TYPE="OPERATOR">||</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">=~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!~</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+=</SEQ>\r
+               <SEQ TYPE="OPERATOR">-=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/=</SEQ>\r
+               <SEQ TYPE="OPERATOR">*=</SEQ>\r
+               <SEQ TYPE="OPERATOR">.=</SEQ>\r
+               <SEQ TYPE="OPERATOR">%=</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">|=</SEQ>\r
+               <SEQ TYPE="OPERATOR">**=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">||=</SEQ>\r
+               <SEQ TYPE="OPERATOR">^=</SEQ>\r
+               <SEQ TYPE="OPERATOR">x=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+               <!-- simple operators -->\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">**</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <!-- Keywords -->\r
+               <KEYWORDS>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>elsif</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>unless</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>BEGIN</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+\r
+                       <OPERATOR>cmp</OPERATOR>\r
+                       <OPERATOR>eq</OPERATOR>\r
+                       <OPERATOR>ne</OPERATOR>\r
+                       <OPERATOR>le</OPERATOR>\r
+                       <OPERATOR>ge</OPERATOR>\r
+                       <OPERATOR>not</OPERATOR>\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>xor</OPERATOR>\r
+\r
+                       <!-- At least attempt to highlight 'x', although this misses some -->\r
+                       <OPERATOR>x</OPERATOR>\r
+\r
+                       <!--\r
+                               The following function list was derived from the perlfunc man\r
+                               page, Perl version 5.00503\r
+\r
+                               Certain keywords have been commented out where they appear more\r
+                               than once, and the y///, qx//, etc. functions have been removed,\r
+                               since they would are colorized not as keywords, but with separate\r
+                               rules.\r
+                       -->\r
+\r
+                       <!-- Functions for SCALARs or strings -->\r
+                       <KEYWORD3>chomp</KEYWORD3>\r
+                       <KEYWORD3>chop</KEYWORD3>\r
+                       <KEYWORD3>chr</KEYWORD3>\r
+                       <KEYWORD3>crypt</KEYWORD3>\r
+                       <KEYWORD3>hex</KEYWORD3>\r
+                       <KEYWORD3>index</KEYWORD3>\r
+                       <KEYWORD3>lc</KEYWORD3>\r
+                       <KEYWORD3>lcfirst</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>oct</KEYWORD3>\r
+                       <KEYWORD3>ord</KEYWORD3>\r
+                       <KEYWORD3>pack</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>rindex</KEYWORD3>\r
+                       <KEYWORD3>sprintf</KEYWORD3>\r
+                       <KEYWORD3>substr</KEYWORD3>\r
+                       <KEYWORD3>uc</KEYWORD3>\r
+                       <KEYWORD3>ucfirst</KEYWORD3>\r
+\r
+                       <!-- Regular expressions and pattern matching -->\r
+                       <KEYWORD3>pos</KEYWORD3>\r
+                       <KEYWORD3>quotemeta</KEYWORD3>\r
+                       <KEYWORD3>split</KEYWORD3>\r
+                       <KEYWORD3>study</KEYWORD3>\r
+\r
+                       <!-- Numeric functions -->\r
+                       <KEYWORD3>abs</KEYWORD3>\r
+                       <KEYWORD3>atan2</KEYWORD3>\r
+                       <KEYWORD3>cos</KEYWORD3>\r
+                       <KEYWORD3>exp</KEYWORD3>\r
+                       <!--<KEYWORD3>hex</KEYWORD3>-->\r
+                       <KEYWORD3>int</KEYWORD3>\r
+                       <KEYWORD3>log</KEYWORD3>\r
+                       <!--<KEYWORD3>oct</KEYWORD3>-->\r
+                       <KEYWORD3>rand</KEYWORD3>\r
+                       <KEYWORD3>sin</KEYWORD3>\r
+                       <KEYWORD3>sqrt</KEYWORD3>\r
+                       <KEYWORD3>srand</KEYWORD3>\r
+\r
+                       <!-- Functions for real @ARRAYs -->\r
+                       <KEYWORD3>pop</KEYWORD3>\r
+                       <KEYWORD3>push</KEYWORD3>\r
+                       <KEYWORD3>shift</KEYWORD3>\r
+                       <KEYWORD3>splice</KEYWORD3>\r
+                       <KEYWORD3>unshift</KEYWORD3>\r
+\r
+                       <!-- Functions for list data -->\r
+                       <KEYWORD3>grep</KEYWORD3>\r
+                       <KEYWORD3>join</KEYWORD3>\r
+                       <KEYWORD3>map</KEYWORD3>\r
+                       <!--<KEYWORD3>reverse</KEYWORD3>-->\r
+                       <KEYWORD3>sort</KEYWORD3>\r
+                       <KEYWORD3>unpack</KEYWORD3>\r
+\r
+                       <!-- Functions for real %HASHes -->\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>each</KEYWORD3>\r
+                       <KEYWORD3>exists</KEYWORD3>\r
+                       <KEYWORD3>keys</KEYWORD3>\r
+                       <KEYWORD3>values</KEYWORD3>\r
+\r
+                       <!-- Input and output functions -->\r
+                       <KEYWORD3>binmode</KEYWORD3>\r
+                       <KEYWORD3>close</KEYWORD3>\r
+                       <KEYWORD3>closedir</KEYWORD3>\r
+                       <KEYWORD3>dbmclose</KEYWORD3>\r
+                       <KEYWORD3>dbmopen</KEYWORD3>\r
+                       <!--<KEYWORD3>die</KEYWORD3>-->\r
+                       <KEYWORD3>eof</KEYWORD3>\r
+                       <KEYWORD3>fileno</KEYWORD3>\r
+                       <KEYWORD3>flock</KEYWORD3>\r
+                       <KEYWORD3>format</KEYWORD3>\r
+                       <KEYWORD3>getc</KEYWORD3>\r
+                       <KEYWORD3>print</KEYWORD3>\r
+                       <KEYWORD3>printf</KEYWORD3>\r
+                       <KEYWORD3>read</KEYWORD3>\r
+                       <KEYWORD3>readdir</KEYWORD3>\r
+                       <KEYWORD3>rewinddir</KEYWORD3>\r
+                       <KEYWORD3>seek</KEYWORD3>\r
+                       <KEYWORD3>seekdir</KEYWORD3>\r
+                       <KEYWORD3>select</KEYWORD3>\r
+                       <KEYWORD3>syscall</KEYWORD3>\r
+                       <KEYWORD3>sysread</KEYWORD3>\r
+                       <KEYWORD3>sysseek</KEYWORD3>\r
+                       <KEYWORD3>syswrite</KEYWORD3>\r
+                       <KEYWORD3>tell</KEYWORD3>\r
+                       <KEYWORD3>telldir</KEYWORD3>\r
+                       <KEYWORD3>truncate</KEYWORD3>\r
+                       <KEYWORD3>warn</KEYWORD3>\r
+                       <KEYWORD3>write</KEYWORD3>\r
+\r
+                       <!-- Functions for fixed length data or records -->\r
+                       <!--<KEYWORD3>pack</KEYWORD3>-->\r
+                       <!--<KEYWORD3>read</KEYWORD3>-->\r
+                       <!--<KEYWORD3>syscall</KEYWORD3>-->\r
+                       <!--<KEYWORD3>sysread</KEYWORD3>-->\r
+                       <!--<KEYWORD3>syswrite</KEYWORD3>-->\r
+                       <!--<KEYWORD3>unpack</KEYWORD3>-->\r
+                       <KEYWORD3>vec</KEYWORD3>\r
+\r
+                       <!-- Functions for filehandles, files, or directories -->\r
+                       <KEYWORD3>chdir</KEYWORD3>\r
+                       <KEYWORD3>chmod</KEYWORD3>\r
+                       <KEYWORD3>chown</KEYWORD3>\r
+                       <KEYWORD3>chroot</KEYWORD3>\r
+                       <KEYWORD3>fcntl</KEYWORD3>\r
+                       <KEYWORD3>glob</KEYWORD3>\r
+                       <KEYWORD3>ioctl</KEYWORD3>\r
+                       <KEYWORD3>link</KEYWORD3>\r
+                       <KEYWORD3>lstat</KEYWORD3>\r
+                       <KEYWORD3>mkdir</KEYWORD3>\r
+                       <KEYWORD3>open</KEYWORD3>\r
+                       <KEYWORD3>opendir</KEYWORD3>\r
+                       <KEYWORD3>readlink</KEYWORD3>\r
+                       <KEYWORD3>rename</KEYWORD3>\r
+                       <KEYWORD3>rmdir</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>symlink</KEYWORD3>\r
+                       <KEYWORD3>umask</KEYWORD3>\r
+                       <KEYWORD3>unlink</KEYWORD3>\r
+                       <KEYWORD3>utime</KEYWORD3>\r
+\r
+                       <!-- Keywords related to the control flow of your perl program -->\r
+                       <KEYWORD1>caller</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>die</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>dump</KEYWORD1>\r
+                       <KEYWORD1>eval</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>last</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <KEYWORD1>redo</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>wantarray</KEYWORD1>\r
+\r
+                       <!-- Keywords related to scoping -->\r
+                       <!--<KEYWORD1>caller</KEYWORD1>-->\r
+                       <!--<KEYWORD1>import</KEYWORD1>-->\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>my</KEYWORD1>\r
+                       <KEYWORD1>our</KEYWORD1>\r
+                       <KEYWORD1>package</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+\r
+                       <!-- Miscellaneous functions -->\r
+                       <KEYWORD3>defined</KEYWORD3>\r
+                       <!--<KEYWORD3>dump</KEYWORD3>-->\r
+                       <!--<KEYWORD3>eval</KEYWORD3>-->\r
+                       <KEYWORD3>formline</KEYWORD3>\r
+                       <!--<KEYWORD3>local</KEYWORD3>-->\r
+                       <!--<KEYWORD3>my</KEYWORD3>-->\r
+                       <KEYWORD3>reset</KEYWORD3>\r
+                       <KEYWORD3>scalar</KEYWORD3>\r
+                       <KEYWORD3>undef</KEYWORD3>\r
+                       <!--<KEYWORD3>wantarray</KEYWORD3>-->\r
+\r
+                       <!-- Functions for processes and process groups -->\r
+                       <KEYWORD3>alarm</KEYWORD3>\r
+                       <KEYWORD3>exec</KEYWORD3>\r
+                       <KEYWORD3>fork</KEYWORD3>\r
+                       <KEYWORD3>getpgrp</KEYWORD3>\r
+                       <KEYWORD3>getppid</KEYWORD3>\r
+                       <KEYWORD3>getpriority</KEYWORD3>\r
+                       <KEYWORD3>kill</KEYWORD3>\r
+                       <KEYWORD3>pipe</KEYWORD3>\r
+                       <KEYWORD3>setpgrp</KEYWORD3>\r
+                       <KEYWORD3>setpriority</KEYWORD3>\r
+                       <KEYWORD3>sleep</KEYWORD3>\r
+                       <KEYWORD3>system</KEYWORD3>\r
+                       <KEYWORD3>times</KEYWORD3>\r
+                       <KEYWORD3>wait</KEYWORD3>\r
+                       <KEYWORD3>waitpid</KEYWORD3>\r
+\r
+                       <!-- Keywords related to perl modules -->\r
+                       <!--<KEYWORD1>do</KEYWORD1>-->\r
+                       <KEYWORD1>import</KEYWORD1>\r
+                       <KEYWORD1>no</KEYWORD1>\r
+                       <!--<KEYWORD1>package</KEYWORD1>-->\r
+                       <KEYWORD1>require</KEYWORD1>\r
+                       <!--<KEYWORD1>use</KEYWORD1>-->\r
+\r
+                       <!-- Keywords related to classes and object-orientedness -->\r
+                       <KEYWORD3>bless</KEYWORD3>\r
+                       <!--<KEYWORD3>dbmclose</KEYWORD3>-->\r
+                       <!--<KEYWORD3>dbmopen</KEYWORD3>-->\r
+                       <!--<KEYWORD3>package</KEYWORD3>-->\r
+                       <KEYWORD3>ref</KEYWORD3>\r
+                       <KEYWORD3>tie</KEYWORD3>\r
+                       <KEYWORD3>tied</KEYWORD3>\r
+                       <KEYWORD3>untie</KEYWORD3>\r
+                       <!--<KEYWORD3>use</KEYWORD3>-->\r
+\r
+                       <!-- Low-level socket functions -->\r
+                       <KEYWORD3>accept</KEYWORD3>\r
+                       <KEYWORD3>bind</KEYWORD3>\r
+                       <KEYWORD3>connect</KEYWORD3>\r
+                       <KEYWORD3>getpeername</KEYWORD3>\r
+                       <KEYWORD3>getsockname</KEYWORD3>\r
+                       <KEYWORD3>getsockopt</KEYWORD3>\r
+                       <KEYWORD3>listen</KEYWORD3>\r
+                       <KEYWORD3>recv</KEYWORD3>\r
+                       <KEYWORD3>send</KEYWORD3>\r
+                       <KEYWORD3>setsockopt</KEYWORD3>\r
+                       <KEYWORD3>shutdown</KEYWORD3>\r
+                       <KEYWORD3>socket</KEYWORD3>\r
+                       <KEYWORD3>socketpair</KEYWORD3>\r
+\r
+                       <!-- System V interprocess communication functions -->\r
+                       <KEYWORD3>msgctl</KEYWORD3>\r
+                       <KEYWORD3>msgget</KEYWORD3>\r
+                       <KEYWORD3>msgrcv</KEYWORD3>\r
+                       <KEYWORD3>msgsnd</KEYWORD3>\r
+                       <KEYWORD3>semctl</KEYWORD3>\r
+                       <KEYWORD3>semget</KEYWORD3>\r
+\r
+                       <KEYWORD3>semop</KEYWORD3>\r
+                       <KEYWORD3>shmctl</KEYWORD3>\r
+                       <KEYWORD3>shmget</KEYWORD3>\r
+                       <KEYWORD3>shmread</KEYWORD3>\r
+                       <KEYWORD3>shmwrite</KEYWORD3>\r
+\r
+                       <!-- Fetching user and group info -->\r
+                       <KEYWORD3>endgrent</KEYWORD3>\r
+                       <KEYWORD3>endhostent</KEYWORD3>\r
+                       <KEYWORD3>endnetent</KEYWORD3>\r
+                       <KEYWORD3>endpwent</KEYWORD3>\r
+                       <KEYWORD3>getgrent</KEYWORD3>\r
+                       <KEYWORD3>getgrgid</KEYWORD3>\r
+                       <KEYWORD3>getgrnam</KEYWORD3>\r
+                       <KEYWORD3>getlogin</KEYWORD3>\r
+                       <KEYWORD3>getpwent</KEYWORD3>\r
+                       <KEYWORD3>getpwnam</KEYWORD3>\r
+                       <KEYWORD3>getpwuid</KEYWORD3>\r
+                       <KEYWORD3>setgrent</KEYWORD3>\r
+                       <KEYWORD3>setpwent</KEYWORD3>\r
+\r
+                       <!-- Fetching network info -->\r
+                       <KEYWORD3>endprotoent</KEYWORD3>\r
+                       <KEYWORD3>endservent</KEYWORD3>\r
+                       <KEYWORD3>gethostbyaddr</KEYWORD3>\r
+                       <KEYWORD3>gethostbyname</KEYWORD3>\r
+                       <KEYWORD3>gethostent</KEYWORD3>\r
+                       <KEYWORD3>getnetbyaddr</KEYWORD3>\r
+                       <KEYWORD3>getnetbyname</KEYWORD3>\r
+                       <KEYWORD3>getnetent</KEYWORD3>\r
+                       <KEYWORD3>getprotobyname</KEYWORD3>\r
+                       <KEYWORD3>getprotobynumber</KEYWORD3>\r
+                       <KEYWORD3>getprotoent</KEYWORD3>\r
+                       <KEYWORD3>getservbyname</KEYWORD3>\r
+                       <KEYWORD3>getservbyport</KEYWORD3>\r
+                       <KEYWORD3>getservent</KEYWORD3>\r
+                       <KEYWORD3>sethostent</KEYWORD3>\r
+                       <KEYWORD3>setnetent</KEYWORD3>\r
+                       <KEYWORD3>setprotoent</KEYWORD3>\r
+                       <KEYWORD3>setservent</KEYWORD3>\r
+\r
+                       <!-- Time-related functions -->\r
+                       <KEYWORD3>gmtime</KEYWORD3>\r
+                       <KEYWORD3>localtime</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <!--<KEYWORD3>times</KEYWORD3>-->\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="POD" DEFAULT="COMMENT2">\r
+               <MARK_FOLLOWING TYPE="LABEL" AT_LINE_START="TRUE">=</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <!-- Variables inside a Literal -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- object method inside a Literal -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>->{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>@{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">@</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>%{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="LITERAL1">|</SEQ>\r
+               <SEQ TYPE="LITERAL1">&amp;</SEQ>\r
+               <SEQ TYPE="LITERAL1">!</SEQ>\r
+               <SEQ TYPE="LITERAL1">&gt;</SEQ>\r
+               <SEQ TYPE="LITERAL1">&lt;</SEQ>\r
+               <SEQ TYPE="LITERAL1">)</SEQ>\r
+               <SEQ TYPE="LITERAL1">(</SEQ>\r
+               <SEQ TYPE="LITERAL1">=</SEQ>\r
+               <SEQ TYPE="LITERAL1">!</SEQ>\r
+               <SEQ TYPE="LITERAL1">+</SEQ>\r
+               <SEQ TYPE="LITERAL1">-</SEQ>\r
+               <SEQ TYPE="LITERAL1">/</SEQ>\r
+               <SEQ TYPE="LITERAL1">*</SEQ>\r
+               <SEQ TYPE="LITERAL1">^</SEQ>\r
+               <SEQ TYPE="LITERAL1">~</SEQ>\r
+               <SEQ TYPE="LITERAL1">}</SEQ>\r
+               <SEQ TYPE="LITERAL1">{</SEQ>\r
+               <SEQ TYPE="LITERAL1">.</SEQ>\r
+               <SEQ TYPE="LITERAL1">,</SEQ>\r
+               <SEQ TYPE="LITERAL1">;</SEQ>\r
+               <SEQ TYPE="LITERAL1">]</SEQ>\r
+               <SEQ TYPE="LITERAL1">[</SEQ>\r
+               <SEQ TYPE="LITERAL1">?</SEQ>\r
+               <SEQ TYPE="LITERAL1">:</SEQ>\r
+       </RULES>\r
+\r
+       <!-- Literals framed by apostrophs -->\r
+       <RULES SET="APOSTR" DEFAULT="LITERAL1" ESCAPE="\">\r
+\r
+               <!-- just a hack for sprintf -->\r
+               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%\d*\.?\d*[dfis]</SEQ_REGEXP>\r
+\r
+       </RULES>\r
+\r
+       <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>@{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">@</MARK_FOLLOWING>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+       <RULES SET="VARIABLE" DEFAULT="KEYWORD2" ESCAPE="\">\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="REGEXP" DEFAULT="MARKUP" ESCAPE="\">\r
+               <!-- ??? -->\r
+               <SEQ TYPE="MARKUP">)(</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="SUB_NAME" DEFAULT="FUNCTION">\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+               <SPAN TYPE="OPERATOR" DELEGATE="SUB_PROTO">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="SUB_PROTO" DEFAULT="LITERAL1">\r
+               <SEQ TYPE="LITERAL2">$</SEQ>\r
+               <SEQ TYPE="LITERAL2">@</SEQ>\r
+               <SEQ TYPE="LITERAL2">%</SEQ>\r
+               <SEQ TYPE="LITERAL2">&amp;</SEQ>\r
+               <SEQ TYPE="LITERAL2">*</SEQ>\r
+               <SEQ TYPE="LITERAL3">\</SEQ>\r
+       </RULES>\r
+\r
+       <!-- Used for quote-like operators; just makes sure the brackets are balanced. -->\r
+       <RULES SET="QUOTED" DEFAULT="LITERAL1">\r
+               <SPAN_REGEXP NO_LINE_BREAK="FALSE"\r
+                                        TYPE="LITERAL1"\r
+                                        MATCH_TYPE="OPERATOR"\r
+                                        DELEGATE="QUOTED"\r
+                                        HASH_CHARS="|[{(/">\r
+                       <BEGIN>([\[{\(])</BEGIN>\r
+                       <END>~1</END>\r
+               </SPAN_REGEXP>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/php.xml b/basis/xmode/modes/php.xml
new file mode 100644 (file)
index 0000000..91d8781
--- /dev/null
@@ -0,0 +1,4832 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Catalog entry:\r
+<MODE NAME="php" FILE="php.xml"\r
+                               FILE_NAME_GLOB="*.{php3,php4,php5,php,phtml}"\r
+                               FIRST_LINE_GLOB="&lt;?php*" />\r
+-->\r
+\r
+\r
+<!--\r
+Usage of keywords:\r
+ - COMMENT1: range comments  (/* ... */)\r
+ - COMMENT2: line comments   (using //)\r
+ - COMMENT3: phpdoc comments (/** .. */)\r
+ - COMMENT4: line comments   (using #)\r
+ - DIGIT:    numbers\r
+ - FUNCTION: custom functions and class/object methods, e.g. foo(), $foo->bar() and foo::bar()\r
+ - KEYWORD1: basic PHP keywords, e.g. true, false, extends, implements\r
+             language constructs, e.g. if .. then .. else\r
+ - KEYWORD2: internal PHP functions,\r
+ - KEYWORD3: variables, e.g. $foo\r
+ - KEYWORD4: class definitions, object members, internal PHP objects\r
+ - LABEL:    phpdoc labels, like @see\r
+             CDATA blocks\r
+ - LITERAL1: Strings in single quotes, e.g. 'foo'\r
+ - LITERAL2: Strings in double quotes, e.g. "foo"\r
+ - LITERAL3: Strings in backtick quotes, e.g. `foo`\r
+ - LITERAL4: heredocs, e.g. "<<< FOO .... FOO\r
+ - MARKUP:   tags, e.g. <?php .. ?>\r
+ - OPERATOR: normal operators, e.g. + - ( ) { } [ ]\r
+             PHP language types in phpdoc block (TODO: sane?!)\r
+-->\r
+\r
+<!--\r
+TODO:\r
+ - cleanup/factorize PHPDOC section\r
+-->\r
+\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <!-- Default comment props (used when a ruleset has no other props) -->\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while|else\s*(if)?|for(each)?|switch|declare)\s*\(.*\)[^{:;]*)|(do\s*[^\({:;]*))" />\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" /><!-- @deprecated since 4.3pre2 -->\r
+               <PROPERTY NAME="unindentThisLine"\r
+                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+       </PROPS>\r
+\r
+\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <PROPS>\r
+                       <!-- comment props for "HTML"/not-PHP: -->\r
+                       <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+                       <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+                       <PROPERTY NAME="lineComment" VALUE="" />\r
+               </PROPS>\r
+\r
+               <!-- regular PHP tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;?php</BEGIN>\r
+                       <END>?&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- short tags: -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;?</BEGIN>\r
+                       <END>?&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;?=</BEGIN>\r
+                       <END>?&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- ASP style tags: -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SSI? -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;SCRIPT" TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;SCRIPT\s+LANGUAGE="?PHP"?&gt;</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT1+PHP">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT_OPENTAG">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CSS -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS_OPENTAG">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CDATA -->\r
+               <SPAN TYPE="LABEL" DELEGATE="MAIN">\r
+                       <BEGIN>&lt;![CDATA[</BEGIN>\r
+                       <END>]]&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">&lt;/?\w+</SEQ_REGEXP>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+\r
+       <!-- HTML tags (from MAIN rule) -->\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+               <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ><!-- from SEQ_REGEXP delegate -->\r
+\r
+               <IMPORT DELEGATE="TO_LITERAL+PHP" />\r
+               <IMPORT DELEGATE="TO_PHP" />\r
+               <IMPORT DELEGATE="INVALID_LT" />\r
+               <IMPORT DELEGATE="html::TAGS" />\r
+       </RULES>\r
+\r
+\r
+       <!-- CSS where PHP code may be injected -->\r
+       <RULES SET="CSS_OPENTAG" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="CSS">&gt;</SEQ>\r
+\r
+               <IMPORT DELEGATE="TO_LITERAL+PHP"/>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS" DEFAULT="MARKUP">\r
+               <!-- CSS has no line comment: -->\r
+               <PROPS>\r
+                       <PROPERTY NAME="lineComment" VALUE="" />\r
+               </PROPS>\r
+\r
+               <SPAN DELEGATE="CSS"><!-- give priority to PHP -->\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+               <IMPORT DELEGATE="css::MAIN"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Helper for class references in rule PHP -->\r
+       <RULES SET="OBJECT_PHP" DEFAULT="KEYWORD4" ESCAPE="\"> <!-- TODO: ESCAPE should not be needed, see http://sourceforge.net/tracker/index.php?func=detail&aid=1600458&group_id=588&atid=100588 -->\r
+               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <!-- Keep brackets together and handle the expression therein with "PHP" -->\r
+               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <!-- Recurse methods: -->\r
+               <SEQ_REGEXP HASH_CHAR="-&gt;" TYPE="FUNCTION" DELEGATE="OBJECT_PHP">-&gt;\s*\w+\s*(?=\()</SEQ_REGEXP>\r
+\r
+               <!-- Recurse members: -->\r
+               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="OBJECT_PHP">-&gt;\w*</SEQ_REGEXP>\r
+\r
+               <!-- Operators delegate back to PHP {{{ -->\r
+               <SEQ DELEGATE="PHP"> </SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">!</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">%</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">*</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">+</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">,</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">-</SEQ><!-- "->" gets handled before -->\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">.</SEQ>\r
+               <SEQ_REGEXP HASH_CHAR="/" TYPE="OPERATOR" DELEGATE="PHP">/(?!/)</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR=":" TYPE="OPERATOR" DELEGATE="PHP">:(?!:)</SEQ_REGEXP><!-- not "::" -->\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">;</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">=</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">?</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">@</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">[</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">]</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">^</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">`</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">{</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">|</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">}</SEQ>\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">~</SEQ>\r
+               <!-- }}} -->\r
+\r
+               <IMPORT DELEGATE="PHP" />\r
+               <IMPORT DELEGATE="PHP_VAR" />\r
+               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
+       </RULES>\r
+\r
+\r
+       <!-- PHP literal where variables get parsed -->\r
+       <RULES SET="PHP_LITERAL2" DEFAULT="LITERAL2" ESCAPE="\">\r
+               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL2" DELEGATE="OBJECT_PHP">\r
+                       <BEGIN>\{(?=\$)</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+               <IMPORT DELEGATE="PHP_VAR" />\r
+       </RULES>\r
+\r
+\r
+       <!-- PHP literal in backticks, where variables get parsed; see PHP_LITERAL2 -->\r
+       <RULES SET="PHP_LITERAL3" DEFAULT="LITERAL3" ESCAPE="\">\r
+               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL3" DELEGATE="OBJECT_PHP">\r
+                       <BEGIN>\{(?=\$)</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+               <IMPORT DELEGATE="PHP_VAR" />\r
+       </RULES>\r
+\r
+\r
+       <!-- PHP heredoc blocks, where variables get parsed; see PHP_LITERAL2 -->\r
+       <RULES SET="PHP_LITERAL4" DEFAULT="LITERAL4" ESCAPE="\">\r
+               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL4" DELEGATE="OBJECT_PHP">\r
+                       <BEGIN>\{(?=\$)</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+               <IMPORT DELEGATE="PHP_VAR" />\r
+       </RULES>\r
+\r
+\r
+       <!-- Helper for class / interface definition -->\r
+       <RULES SET="DEF_CLASS" DEFAULT="KEYWORD4">\r
+               <SEQ TYPE="OPERATOR" DELEGATE="PHP">{</SEQ>\r
+\r
+               <!-- TODO: redundant comments {{{ -->\r
+               <!-- Silly comment -->\r
+               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- PHPdoc comment -->\r
+               <SPAN TYPE="COMMENT3" DELEGATE="PHPDOC">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT4">#</EOL_SPAN>\r
+               <!-- redundant }}} -->\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <!-- PHP variables (PHPDOC_VAR for phpdoc blocks) -->\r
+       <RULES SET="PHP_VAR">\r
+               <!-- (Class-)Variables -->\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD4">\$\w+(?=\s*=\s*(&amp;\s*)?new)</SEQ_REGEXP>\r
+\r
+               <!-- Normal variables -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="PHP" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+               <!-- Silly comment -->\r
+               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- PHPdoc comment -->\r
+               <SPAN TYPE="COMMENT3" DELEGATE="PHPDOC">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL2" DELEGATE="PHP_LITERAL2">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL3" DELEGATE="PHP_LITERAL3">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT4">#</EOL_SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR"> (</MARK_PREVIOUS>\r
+\r
+               <!-- Readins/Heredoc -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&lt;&lt;" TYPE="LITERAL4" DELEGATE="PHP_LITERAL4">\r
+                       <BEGIN><![CDATA[<<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>\r
+                       <END AT_LINE_START="TRUE">$1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- operators -->\r
+               <!-- {{{ -->\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">(array)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(bool)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(boolean)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(double)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(float)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(int)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(integer)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(object)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(real)</SEQ>\r
+               <SEQ TYPE="OPERATOR">(string)</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ_REGEXP HASH_CHAR=":" TYPE="OPERATOR">:(?!:)</SEQ_REGEXP><!-- not "::" -->\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">`</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <!-- }}} -->\r
+\r
+               <!-- Fix this variables to not start class definitions -->\r
+               <SEQ_REGEXP HASH_CHAR="$class" TYPE="KEYWORD3">\$class\w*</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="$interface" TYPE="KEYWORD3">\$interface\w*</SEQ_REGEXP>\r
+\r
+               <!-- Class definitions -->\r
+               <SEQ_REGEXP HASH_CHAR="class" AT_WORD_START="TRUE" DELEGATE="DEF_CLASS" TYPE="KEYWORD1">class(\s+|$)</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="interface" AT_WORD_START="TRUE" DELEGATE="DEF_CLASS" TYPE="KEYWORD1">interface(\s+|$)</SEQ_REGEXP>\r
+\r
+\r
+               <!-- to OBJECT_PHP: (Class-)Variables/Methods -->\r
+               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="$" DELEGATE="OBJECT_PHP">\$\w+(?=(\[\$?[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
+               <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
+\r
+               <!-- Imports: -->\r
+               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
+               <IMPORT DELEGATE="PHP_VAR" />\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="PHP_BASIC_KEYWORD1">\r
+               <KEYWORDS>\r
+                       <KEYWORD1>true</KEYWORD1>\r
+                       <KEYWORD1>false</KEYWORD1>\r
+                       <KEYWORD1>null</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="PHP_KEYWORDS">\r
+               <IMPORT DELEGATE="KEYWORDS_VISIBILITY" />\r
+               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
+\r
+               <KEYWORDS>\r
+                       <!-- start: generated by buildfunctionlist.php -->\r
+                       <!-- {{{ -->\r
+                       <!-- Internal classes (61) -->\r
+                       <KEYWORD4>arrayiterator</KEYWORD4>\r
+                       <KEYWORD4>arrayobject</KEYWORD4>\r
+                       <KEYWORD4>cachingiterator</KEYWORD4>\r
+                       <KEYWORD4>cachingrecursiveiterator</KEYWORD4>\r
+                       <KEYWORD4>collection</KEYWORD4>\r
+                       <KEYWORD4>descriptor</KEYWORD4>\r
+                       <KEYWORD4>directoryiterator</KEYWORD4>\r
+                       <KEYWORD4>domattr</KEYWORD4>\r
+                       <KEYWORD4>domattribute</KEYWORD4>\r
+                       <KEYWORD4>domcharacterdata</KEYWORD4>\r
+                       <KEYWORD4>domdocument</KEYWORD4>\r
+                       <KEYWORD4>domdocumenttype</KEYWORD4>\r
+                       <KEYWORD4>domelement</KEYWORD4>\r
+                       <KEYWORD4>domimplementation</KEYWORD4>\r
+                       <KEYWORD4>domnamednodemap</KEYWORD4>\r
+                       <KEYWORD4>domnode</KEYWORD4>\r
+                       <KEYWORD4>domnodelist</KEYWORD4>\r
+                       <KEYWORD4>domprocessinginstruction</KEYWORD4>\r
+                       <KEYWORD4>domtext</KEYWORD4>\r
+                       <KEYWORD4>domxpath</KEYWORD4>\r
+                       <KEYWORD4>domxsltstylesheet</KEYWORD4>\r
+                       <KEYWORD4>filteriterator</KEYWORD4>\r
+                       <KEYWORD4>hw_api</KEYWORD4>\r
+                       <KEYWORD4>hw_api_attribute</KEYWORD4>\r
+                       <KEYWORD4>hw_api_content</KEYWORD4>\r
+                       <KEYWORD4>hw_api_error</KEYWORD4>\r
+                       <KEYWORD4>hw_api_object</KEYWORD4>\r
+                       <KEYWORD4>hw_api_reason</KEYWORD4>\r
+                       <KEYWORD4>limititerator</KEYWORD4>\r
+                       <KEYWORD4>lob</KEYWORD4>\r
+                       <KEYWORD4>memcache</KEYWORD4>\r
+                       <KEYWORD4>parentiterator</KEYWORD4>\r
+                       <KEYWORD4>pdo</KEYWORD4>\r
+                       <KEYWORD4>pdostatement</KEYWORD4>\r
+                       <KEYWORD4>rar</KEYWORD4>\r
+                       <KEYWORD4>recursivedirectoryiterator</KEYWORD4>\r
+                       <KEYWORD4>recursiveiteratoriterator</KEYWORD4>\r
+                       <KEYWORD4>simplexmlelement</KEYWORD4>\r
+                       <KEYWORD4>simplexmliterator</KEYWORD4>\r
+                       <KEYWORD4>soapclient</KEYWORD4>\r
+                       <KEYWORD4>soapfault</KEYWORD4>\r
+                       <KEYWORD4>soapheader</KEYWORD4>\r
+                       <KEYWORD4>soapparam</KEYWORD4>\r
+                       <KEYWORD4>soapserver</KEYWORD4>\r
+                       <KEYWORD4>soapvar</KEYWORD4>\r
+                       <KEYWORD4>swfaction</KEYWORD4>\r
+                       <KEYWORD4>swfbitmap</KEYWORD4>\r
+                       <KEYWORD4>swfbutton</KEYWORD4>\r
+                       <KEYWORD4>swfdisplayitem</KEYWORD4>\r
+                       <KEYWORD4>swffill</KEYWORD4>\r
+                       <KEYWORD4>swffont</KEYWORD4>\r
+                       <KEYWORD4>swfgradient</KEYWORD4>\r
+                       <KEYWORD4>swfmorph</KEYWORD4>\r
+                       <KEYWORD4>swfmovie</KEYWORD4>\r
+                       <KEYWORD4>swfshape</KEYWORD4>\r
+                       <KEYWORD4>swfsprite</KEYWORD4>\r
+                       <KEYWORD4>swftext</KEYWORD4>\r
+                       <KEYWORD4>swftextfield</KEYWORD4>\r
+                       <KEYWORD4>tidy</KEYWORD4>\r
+                       <KEYWORD4>tidy_node</KEYWORD4>\r
+                       <KEYWORD4>variant</KEYWORD4>\r
+\r
+\r
+                       <!-- Internal functions (3549) -->\r
+                       <KEYWORD2>__call</KEYWORD2> <!-- soapclient -->\r
+                       <KEYWORD2>__construct</KEYWORD2> <!-- arrayobject, directoryiterator, pdo, tidy -->\r
+                       <KEYWORD2>__getfunctions</KEYWORD2> <!-- soapclient -->\r
+                       <KEYWORD2>__getlastrequest</KEYWORD2> <!-- soapclient -->\r
+                       <KEYWORD2>__getlastresponse</KEYWORD2> <!-- soapclient -->\r
+                       <KEYWORD2>__gettypes</KEYWORD2> <!-- soapclient -->\r
+                       <KEYWORD2>__tostring</KEYWORD2> <!-- cachingiterator -->\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>acos</KEYWORD2>\r
+                       <KEYWORD2>acosh</KEYWORD2>\r
+                       <KEYWORD2>add</KEYWORD2> <!-- memcache, swfmovie, swfsprite -->\r
+                       <KEYWORD2>add_namespace</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>add_root</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>addaction</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>addcolor</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>addcslashes</KEYWORD2>\r
+                       <KEYWORD2>addentry</KEYWORD2> <!-- swfgradient -->\r
+                       <KEYWORD2>addfill</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>addfunction</KEYWORD2> <!-- soapserver -->\r
+                       <KEYWORD2>addshape</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>addslashes</KEYWORD2>\r
+                       <KEYWORD2>addstring</KEYWORD2> <!-- swftext, swftextfield -->\r
+                       <KEYWORD2>aggregate</KEYWORD2>\r
+                       <KEYWORD2>aggregate_info</KEYWORD2>\r
+                       <KEYWORD2>aggregate_methods</KEYWORD2>\r
+                       <KEYWORD2>aggregate_methods_by_list</KEYWORD2>\r
+                       <KEYWORD2>aggregate_methods_by_regexp</KEYWORD2>\r
+                       <KEYWORD2>aggregate_properties</KEYWORD2>\r
+                       <KEYWORD2>aggregate_properties_by_list</KEYWORD2>\r
+                       <KEYWORD2>aggregate_properties_by_regexp</KEYWORD2>\r
+                       <KEYWORD2>aggregation_info</KEYWORD2>\r
+                       <KEYWORD2>align</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>apache_child_terminate</KEYWORD2>\r
+                       <KEYWORD2>apache_get_modules</KEYWORD2>\r
+                       <KEYWORD2>apache_get_version</KEYWORD2>\r
+                       <KEYWORD2>apache_getenv</KEYWORD2>\r
+                       <KEYWORD2>apache_lookup_uri</KEYWORD2>\r
+                       <KEYWORD2>apache_note</KEYWORD2>\r
+                       <KEYWORD2>apache_request_headers</KEYWORD2>\r
+                       <KEYWORD2>apache_response_headers</KEYWORD2>\r
+                       <KEYWORD2>apache_setenv</KEYWORD2>\r
+                       <KEYWORD2>apd_breakpoint</KEYWORD2>\r
+                       <KEYWORD2>apd_callstack</KEYWORD2>\r
+                       <KEYWORD2>apd_clunk</KEYWORD2>\r
+                       <KEYWORD2>apd_continue</KEYWORD2>\r
+                       <KEYWORD2>apd_croak</KEYWORD2>\r
+                       <KEYWORD2>apd_dump_function_table</KEYWORD2>\r
+                       <KEYWORD2>apd_dump_persistent_resources</KEYWORD2>\r
+                       <KEYWORD2>apd_dump_regular_resources</KEYWORD2>\r
+                       <KEYWORD2>apd_echo</KEYWORD2>\r
+                       <KEYWORD2>apd_get_active_symbols</KEYWORD2>\r
+                       <KEYWORD2>apd_set_pprof_trace</KEYWORD2>\r
+                       <KEYWORD2>apd_set_session</KEYWORD2>\r
+                       <KEYWORD2>apd_set_session_trace</KEYWORD2>\r
+                       <KEYWORD2>apd_set_socket_session_trace</KEYWORD2>\r
+                       <KEYWORD2>append</KEYWORD2> <!-- arrayobject, collection, lob -->\r
+                       <KEYWORD2>append_child</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>append_sibling</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>appendchild</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>appenddata</KEYWORD2> <!-- domcharacterdata -->\r
+                       <KEYWORD2>array_change_key_case</KEYWORD2>\r
+                       <KEYWORD2>array_chunk</KEYWORD2>\r
+                       <KEYWORD2>array_combine</KEYWORD2>\r
+                       <KEYWORD2>array_count_values</KEYWORD2>\r
+                       <KEYWORD2>array_diff</KEYWORD2>\r
+                       <KEYWORD2>array_diff_assoc</KEYWORD2>\r
+                       <KEYWORD2>array_diff_key</KEYWORD2>\r
+                       <KEYWORD2>array_diff_uassoc</KEYWORD2>\r
+                       <KEYWORD2>array_diff_ukey</KEYWORD2>\r
+                       <KEYWORD2>array_fill</KEYWORD2>\r
+                       <KEYWORD2>array_filter</KEYWORD2>\r
+                       <KEYWORD2>array_flip</KEYWORD2>\r
+                       <KEYWORD2>array_intersect</KEYWORD2>\r
+                       <KEYWORD2>array_intersect_assoc</KEYWORD2>\r
+                       <KEYWORD2>array_intersect_key</KEYWORD2>\r
+                       <KEYWORD2>array_intersect_uassoc</KEYWORD2>\r
+                       <KEYWORD2>array_intersect_ukey</KEYWORD2>\r
+                       <KEYWORD2>array_key_exists</KEYWORD2>\r
+                       <KEYWORD2>array_keys</KEYWORD2>\r
+                       <KEYWORD2>array_map</KEYWORD2>\r
+                       <KEYWORD2>array_merge</KEYWORD2>\r
+                       <KEYWORD2>array_merge_recursive</KEYWORD2>\r
+                       <KEYWORD2>array_multisort</KEYWORD2>\r
+                       <KEYWORD2>array_pad</KEYWORD2>\r
+                       <KEYWORD2>array_pop</KEYWORD2>\r
+                       <KEYWORD2>array_push</KEYWORD2>\r
+                       <KEYWORD2>array_rand</KEYWORD2>\r
+                       <KEYWORD2>array_reduce</KEYWORD2>\r
+                       <KEYWORD2>array_reverse</KEYWORD2>\r
+                       <KEYWORD2>array_search</KEYWORD2>\r
+                       <KEYWORD2>array_shift</KEYWORD2>\r
+                       <KEYWORD2>array_slice</KEYWORD2>\r
+                       <KEYWORD2>array_splice</KEYWORD2>\r
+                       <KEYWORD2>array_sum</KEYWORD2>\r
+                       <KEYWORD2>array_udiff</KEYWORD2>\r
+                       <KEYWORD2>array_udiff_assoc</KEYWORD2>\r
+                       <KEYWORD2>array_udiff_uassoc</KEYWORD2>\r
+                       <KEYWORD2>array_uintersect</KEYWORD2>\r
+                       <KEYWORD2>array_uintersect_assoc</KEYWORD2>\r
+                       <KEYWORD2>array_uintersect_uassoc</KEYWORD2>\r
+                       <KEYWORD2>array_unique</KEYWORD2>\r
+                       <KEYWORD2>array_unshift</KEYWORD2>\r
+                       <KEYWORD2>array_values</KEYWORD2>\r
+                       <KEYWORD2>array_walk</KEYWORD2>\r
+                       <KEYWORD2>array_walk_recursive</KEYWORD2>\r
+                       <KEYWORD2>arsort</KEYWORD2>\r
+                       <KEYWORD2>ascii2ebcdic</KEYWORD2>\r
+                       <KEYWORD2>asin</KEYWORD2>\r
+                       <KEYWORD2>asinh</KEYWORD2>\r
+                       <KEYWORD2>asort</KEYWORD2>\r
+                       <KEYWORD2>aspell_check</KEYWORD2>\r
+                       <KEYWORD2>aspell_check_raw</KEYWORD2>\r
+                       <KEYWORD2>aspell_new</KEYWORD2>\r
+                       <KEYWORD2>aspell_suggest</KEYWORD2>\r
+                       <KEYWORD2>assert</KEYWORD2>\r
+                       <KEYWORD2>assert_options</KEYWORD2>\r
+                       <KEYWORD2>assign</KEYWORD2> <!-- collection, hw_api_object -->\r
+                       <KEYWORD2>assignelem</KEYWORD2> <!-- collection -->\r
+                       <KEYWORD2>asxml</KEYWORD2> <!-- simplexmlelement -->\r
+                       <KEYWORD2>atan</KEYWORD2>\r
+                       <KEYWORD2>atan2</KEYWORD2>\r
+                       <KEYWORD2>atanh</KEYWORD2>\r
+                       <KEYWORD2>attreditable</KEYWORD2> <!-- hw_api_object -->\r
+                       <KEYWORD2>attributes</KEYWORD2> <!-- domnode, simplexmlelement, tidy_node -->\r
+                       <KEYWORD2>base64_decode</KEYWORD2>\r
+                       <KEYWORD2>base64_encode</KEYWORD2>\r
+                       <KEYWORD2>base_convert</KEYWORD2>\r
+                       <KEYWORD2>basename</KEYWORD2>\r
+                       <KEYWORD2>bcadd</KEYWORD2>\r
+                       <KEYWORD2>bccomp</KEYWORD2>\r
+                       <KEYWORD2>bcdiv</KEYWORD2>\r
+                       <KEYWORD2>bcmod</KEYWORD2>\r
+                       <KEYWORD2>bcmul</KEYWORD2>\r
+                       <KEYWORD2>bcpow</KEYWORD2>\r
+                       <KEYWORD2>bcpowmod</KEYWORD2>\r
+                       <KEYWORD2>bcscale</KEYWORD2>\r
+                       <KEYWORD2>bcsqrt</KEYWORD2>\r
+                       <KEYWORD2>bcsub</KEYWORD2>\r
+                       <KEYWORD2>begintransaction</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>bin2hex</KEYWORD2>\r
+                       <KEYWORD2>bind_textdomain_codeset</KEYWORD2>\r
+                       <KEYWORD2>bindcolumn</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>bindec</KEYWORD2>\r
+                       <KEYWORD2>bindparam</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>bindtextdomain</KEYWORD2>\r
+                       <KEYWORD2>bzclose</KEYWORD2>\r
+                       <KEYWORD2>bzcompress</KEYWORD2>\r
+                       <KEYWORD2>bzdecompress</KEYWORD2>\r
+                       <KEYWORD2>bzerrno</KEYWORD2>\r
+                       <KEYWORD2>bzerror</KEYWORD2>\r
+                       <KEYWORD2>bzerrstr</KEYWORD2>\r
+                       <KEYWORD2>bzflush</KEYWORD2>\r
+                       <KEYWORD2>bzopen</KEYWORD2>\r
+                       <KEYWORD2>bzread</KEYWORD2>\r
+                       <KEYWORD2>bzwrite</KEYWORD2>\r
+                       <KEYWORD2>cal_days_in_month</KEYWORD2>\r
+                       <KEYWORD2>cal_from_jd</KEYWORD2>\r
+                       <KEYWORD2>cal_info</KEYWORD2>\r
+                       <KEYWORD2>cal_to_jd</KEYWORD2>\r
+                       <KEYWORD2>call_user_func</KEYWORD2>\r
+                       <KEYWORD2>call_user_func_array</KEYWORD2>\r
+                       <KEYWORD2>call_user_method</KEYWORD2>\r
+                       <KEYWORD2>call_user_method_array</KEYWORD2>\r
+                       <KEYWORD2>ccvs_add</KEYWORD2>\r
+                       <KEYWORD2>ccvs_auth</KEYWORD2>\r
+                       <KEYWORD2>ccvs_command</KEYWORD2>\r
+                       <KEYWORD2>ccvs_count</KEYWORD2>\r
+                       <KEYWORD2>ccvs_delete</KEYWORD2>\r
+                       <KEYWORD2>ccvs_done</KEYWORD2>\r
+                       <KEYWORD2>ccvs_init</KEYWORD2>\r
+                       <KEYWORD2>ccvs_lookup</KEYWORD2>\r
+                       <KEYWORD2>ccvs_new</KEYWORD2>\r
+                       <KEYWORD2>ccvs_report</KEYWORD2>\r
+                       <KEYWORD2>ccvs_return</KEYWORD2>\r
+                       <KEYWORD2>ccvs_reverse</KEYWORD2>\r
+                       <KEYWORD2>ccvs_sale</KEYWORD2>\r
+                       <KEYWORD2>ccvs_status</KEYWORD2>\r
+                       <KEYWORD2>ccvs_textvalue</KEYWORD2>\r
+                       <KEYWORD2>ccvs_void</KEYWORD2>\r
+                       <KEYWORD2>ceil</KEYWORD2>\r
+                       <KEYWORD2>chdir</KEYWORD2>\r
+                       <KEYWORD2>checkdate</KEYWORD2>\r
+                       <KEYWORD2>checkdnsrr</KEYWORD2>\r
+                       <KEYWORD2>checkin</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>checkout</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>chgrp</KEYWORD2>\r
+                       <KEYWORD2>child_nodes</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>children</KEYWORD2> <!-- hw_api, simplexmlelement, tidy_node -->\r
+                       <KEYWORD2>chmod</KEYWORD2>\r
+                       <KEYWORD2>chop</KEYWORD2>\r
+                       <KEYWORD2>chown</KEYWORD2>\r
+                       <KEYWORD2>chr</KEYWORD2>\r
+                       <KEYWORD2>chroot</KEYWORD2>\r
+                       <KEYWORD2>chunk_split</KEYWORD2>\r
+                       <KEYWORD2>class_exists</KEYWORD2>\r
+                       <KEYWORD2>class_implements</KEYWORD2>\r
+                       <KEYWORD2>class_parents</KEYWORD2>\r
+                       <KEYWORD2>classkit_import</KEYWORD2>\r
+                       <KEYWORD2>classkit_method_add</KEYWORD2>\r
+                       <KEYWORD2>classkit_method_copy</KEYWORD2>\r
+                       <KEYWORD2>classkit_method_redefine</KEYWORD2>\r
+                       <KEYWORD2>classkit_method_remove</KEYWORD2>\r
+                       <KEYWORD2>classkit_method_rename</KEYWORD2>\r
+                       <KEYWORD2>clearstatcache</KEYWORD2>\r
+                       <KEYWORD2>clone_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>clonenode</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>close</KEYWORD2> <!-- lob, memcache -->\r
+                       <KEYWORD2>closedir</KEYWORD2>\r
+                       <KEYWORD2>closelog</KEYWORD2>\r
+                       <KEYWORD2>com</KEYWORD2>\r
+                       <KEYWORD2>com_addref</KEYWORD2>\r
+                       <KEYWORD2>com_create_guid</KEYWORD2>\r
+                       <KEYWORD2>com_event_sink</KEYWORD2>\r
+                       <KEYWORD2>com_get</KEYWORD2>\r
+                       <KEYWORD2>com_get_active_object</KEYWORD2>\r
+                       <KEYWORD2>com_invoke</KEYWORD2>\r
+                       <KEYWORD2>com_isenum</KEYWORD2>\r
+                       <KEYWORD2>com_load</KEYWORD2>\r
+                       <KEYWORD2>com_load_typelib</KEYWORD2>\r
+                       <KEYWORD2>com_message_pump</KEYWORD2>\r
+                       <KEYWORD2>com_print_typeinfo</KEYWORD2>\r
+                       <KEYWORD2>com_propget</KEYWORD2>\r
+                       <KEYWORD2>com_propput</KEYWORD2>\r
+                       <KEYWORD2>com_propset</KEYWORD2>\r
+                       <KEYWORD2>com_release</KEYWORD2>\r
+                       <KEYWORD2>com_set</KEYWORD2>\r
+                       <KEYWORD2>commit</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>compact</KEYWORD2>\r
+                       <KEYWORD2>connect</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>connection_aborted</KEYWORD2>\r
+                       <KEYWORD2>connection_status</KEYWORD2>\r
+                       <KEYWORD2>connection_timeout</KEYWORD2>\r
+                       <KEYWORD2>constant</KEYWORD2>\r
+                       <KEYWORD2>content</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>convert_cyr_string</KEYWORD2>\r
+                       <KEYWORD2>convert_uudecode</KEYWORD2>\r
+                       <KEYWORD2>convert_uuencode</KEYWORD2>\r
+                       <KEYWORD2>copy</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>cos</KEYWORD2>\r
+                       <KEYWORD2>cosh</KEYWORD2>\r
+                       <KEYWORD2>count</KEYWORD2> <!-- arrayobject, hw_api_error, hw_api_object -->\r
+                       <KEYWORD2>count_chars</KEYWORD2>\r
+                       <KEYWORD2>cpdf_add_annotation</KEYWORD2>\r
+                       <KEYWORD2>cpdf_add_outline</KEYWORD2>\r
+                       <KEYWORD2>cpdf_arc</KEYWORD2>\r
+                       <KEYWORD2>cpdf_begin_text</KEYWORD2>\r
+                       <KEYWORD2>cpdf_circle</KEYWORD2>\r
+                       <KEYWORD2>cpdf_clip</KEYWORD2>\r
+                       <KEYWORD2>cpdf_close</KEYWORD2>\r
+                       <KEYWORD2>cpdf_closepath</KEYWORD2>\r
+                       <KEYWORD2>cpdf_closepath_fill_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_closepath_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_continue_text</KEYWORD2>\r
+                       <KEYWORD2>cpdf_curveto</KEYWORD2>\r
+                       <KEYWORD2>cpdf_end_text</KEYWORD2>\r
+                       <KEYWORD2>cpdf_fill</KEYWORD2>\r
+                       <KEYWORD2>cpdf_fill_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_finalize</KEYWORD2>\r
+                       <KEYWORD2>cpdf_finalize_page</KEYWORD2>\r
+                       <KEYWORD2>cpdf_global_set_document_limits</KEYWORD2>\r
+                       <KEYWORD2>cpdf_import_jpeg</KEYWORD2>\r
+                       <KEYWORD2>cpdf_lineto</KEYWORD2>\r
+                       <KEYWORD2>cpdf_moveto</KEYWORD2>\r
+                       <KEYWORD2>cpdf_newpath</KEYWORD2>\r
+                       <KEYWORD2>cpdf_open</KEYWORD2>\r
+                       <KEYWORD2>cpdf_output_buffer</KEYWORD2>\r
+                       <KEYWORD2>cpdf_page_init</KEYWORD2>\r
+                       <KEYWORD2>cpdf_place_inline_image</KEYWORD2>\r
+                       <KEYWORD2>cpdf_rect</KEYWORD2>\r
+                       <KEYWORD2>cpdf_restore</KEYWORD2>\r
+                       <KEYWORD2>cpdf_rlineto</KEYWORD2>\r
+                       <KEYWORD2>cpdf_rmoveto</KEYWORD2>\r
+                       <KEYWORD2>cpdf_rotate</KEYWORD2>\r
+                       <KEYWORD2>cpdf_rotate_text</KEYWORD2>\r
+                       <KEYWORD2>cpdf_save</KEYWORD2>\r
+                       <KEYWORD2>cpdf_save_to_file</KEYWORD2>\r
+                       <KEYWORD2>cpdf_scale</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_action_url</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_char_spacing</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_creator</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_current_page</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_font</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_font_directories</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_font_map_file</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_horiz_scaling</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_keywords</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_leading</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_page_animation</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_subject</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_text_matrix</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_text_pos</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_text_rendering</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_text_rise</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_title</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_viewer_preferences</KEYWORD2>\r
+                       <KEYWORD2>cpdf_set_word_spacing</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setdash</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setflat</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setgray</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setgray_fill</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setgray_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setlinecap</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setlinejoin</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setlinewidth</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setmiterlimit</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setrgbcolor</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setrgbcolor_fill</KEYWORD2>\r
+                       <KEYWORD2>cpdf_setrgbcolor_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_show</KEYWORD2>\r
+                       <KEYWORD2>cpdf_show_xy</KEYWORD2>\r
+                       <KEYWORD2>cpdf_stringwidth</KEYWORD2>\r
+                       <KEYWORD2>cpdf_stroke</KEYWORD2>\r
+                       <KEYWORD2>cpdf_text</KEYWORD2>\r
+                       <KEYWORD2>cpdf_translate</KEYWORD2>\r
+                       <KEYWORD2>crack_check</KEYWORD2>\r
+                       <KEYWORD2>crack_closedict</KEYWORD2>\r
+                       <KEYWORD2>crack_getlastmessage</KEYWORD2>\r
+                       <KEYWORD2>crack_opendict</KEYWORD2>\r
+                       <KEYWORD2>crc32</KEYWORD2>\r
+                       <KEYWORD2>create_attribute</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_cdata_section</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_comment</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_element</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_element_ns</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_entity_reference</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_function</KEYWORD2>\r
+                       <KEYWORD2>create_processing_instruction</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>create_text_node</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createattribute</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createattributens</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createcdatasection</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createcomment</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createdocument</KEYWORD2> <!-- domimplementation -->\r
+                       <KEYWORD2>createdocumentfragment</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createdocumenttype</KEYWORD2> <!-- domimplementation -->\r
+                       <KEYWORD2>createelement</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createelementns</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createentityreference</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createprocessinginstruction</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>createtextnode</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>crypt</KEYWORD2>\r
+                       <KEYWORD2>ctype_alnum</KEYWORD2>\r
+                       <KEYWORD2>ctype_alpha</KEYWORD2>\r
+                       <KEYWORD2>ctype_cntrl</KEYWORD2>\r
+                       <KEYWORD2>ctype_digit</KEYWORD2>\r
+                       <KEYWORD2>ctype_graph</KEYWORD2>\r
+                       <KEYWORD2>ctype_lower</KEYWORD2>\r
+                       <KEYWORD2>ctype_print</KEYWORD2>\r
+                       <KEYWORD2>ctype_punct</KEYWORD2>\r
+                       <KEYWORD2>ctype_space</KEYWORD2>\r
+                       <KEYWORD2>ctype_upper</KEYWORD2>\r
+                       <KEYWORD2>ctype_xdigit</KEYWORD2>\r
+                       <KEYWORD2>curl_close</KEYWORD2>\r
+                       <KEYWORD2>curl_copy_handle</KEYWORD2>\r
+                       <KEYWORD2>curl_errno</KEYWORD2>\r
+                       <KEYWORD2>curl_error</KEYWORD2>\r
+                       <KEYWORD2>curl_exec</KEYWORD2>\r
+                       <KEYWORD2>curl_getinfo</KEYWORD2>\r
+                       <KEYWORD2>curl_init</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_add_handle</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_close</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_exec</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_getcontent</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_info_read</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_init</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_remove_handle</KEYWORD2>\r
+                       <KEYWORD2>curl_multi_select</KEYWORD2>\r
+                       <KEYWORD2>curl_setopt</KEYWORD2>\r
+                       <KEYWORD2>curl_version</KEYWORD2>\r
+                       <KEYWORD2>current</KEYWORD2> <!-- arrayiterator, directoryiterator, filteriterator, recursiveiteratoriterator, simplexmliterator -->\r
+                       <KEYWORD2>cybercash_base64_decode</KEYWORD2>\r
+                       <KEYWORD2>cybercash_base64_encode</KEYWORD2>\r
+                       <KEYWORD2>cybercash_decr</KEYWORD2>\r
+                       <KEYWORD2>cybercash_encr</KEYWORD2>\r
+                       <KEYWORD2>cyrus_authenticate</KEYWORD2>\r
+                       <KEYWORD2>cyrus_bind</KEYWORD2>\r
+                       <KEYWORD2>cyrus_close</KEYWORD2>\r
+                       <KEYWORD2>cyrus_connect</KEYWORD2>\r
+                       <KEYWORD2>cyrus_query</KEYWORD2>\r
+                       <KEYWORD2>cyrus_unbind</KEYWORD2>\r
+                       <KEYWORD2>data</KEYWORD2> <!-- domprocessinginstruction -->\r
+                       <KEYWORD2>date</KEYWORD2>\r
+                       <KEYWORD2>date_sunrise</KEYWORD2>\r
+                       <KEYWORD2>date_sunset</KEYWORD2>\r
+                       <KEYWORD2>dba_close</KEYWORD2>\r
+                       <KEYWORD2>dba_delete</KEYWORD2>\r
+                       <KEYWORD2>dba_exists</KEYWORD2>\r
+                       <KEYWORD2>dba_fetch</KEYWORD2>\r
+                       <KEYWORD2>dba_firstkey</KEYWORD2>\r
+                       <KEYWORD2>dba_handlers</KEYWORD2>\r
+                       <KEYWORD2>dba_insert</KEYWORD2>\r
+                       <KEYWORD2>dba_key_split</KEYWORD2>\r
+                       <KEYWORD2>dba_list</KEYWORD2>\r
+                       <KEYWORD2>dba_nextkey</KEYWORD2>\r
+                       <KEYWORD2>dba_open</KEYWORD2>\r
+                       <KEYWORD2>dba_optimize</KEYWORD2>\r
+                       <KEYWORD2>dba_popen</KEYWORD2>\r
+                       <KEYWORD2>dba_replace</KEYWORD2>\r
+                       <KEYWORD2>dba_sync</KEYWORD2>\r
+                       <KEYWORD2>dbase_add_record</KEYWORD2>\r
+                       <KEYWORD2>dbase_close</KEYWORD2>\r
+                       <KEYWORD2>dbase_create</KEYWORD2>\r
+                       <KEYWORD2>dbase_delete_record</KEYWORD2>\r
+                       <KEYWORD2>dbase_get_header_info</KEYWORD2>\r
+                       <KEYWORD2>dbase_get_record</KEYWORD2>\r
+                       <KEYWORD2>dbase_get_record_with_names</KEYWORD2>\r
+                       <KEYWORD2>dbase_numfields</KEYWORD2>\r
+                       <KEYWORD2>dbase_numrecords</KEYWORD2>\r
+                       <KEYWORD2>dbase_open</KEYWORD2>\r
+                       <KEYWORD2>dbase_pack</KEYWORD2>\r
+                       <KEYWORD2>dbase_replace_record</KEYWORD2>\r
+                       <KEYWORD2>dblist</KEYWORD2>\r
+                       <KEYWORD2>dbmclose</KEYWORD2>\r
+                       <KEYWORD2>dbmdelete</KEYWORD2>\r
+                       <KEYWORD2>dbmexists</KEYWORD2>\r
+                       <KEYWORD2>dbmfetch</KEYWORD2>\r
+                       <KEYWORD2>dbmfirstkey</KEYWORD2>\r
+                       <KEYWORD2>dbminsert</KEYWORD2>\r
+                       <KEYWORD2>dbmnextkey</KEYWORD2>\r
+                       <KEYWORD2>dbmopen</KEYWORD2>\r
+                       <KEYWORD2>dbmreplace</KEYWORD2>\r
+                       <KEYWORD2>dbplus_add</KEYWORD2>\r
+                       <KEYWORD2>dbplus_aql</KEYWORD2>\r
+                       <KEYWORD2>dbplus_chdir</KEYWORD2>\r
+                       <KEYWORD2>dbplus_close</KEYWORD2>\r
+                       <KEYWORD2>dbplus_curr</KEYWORD2>\r
+                       <KEYWORD2>dbplus_errcode</KEYWORD2>\r
+                       <KEYWORD2>dbplus_errno</KEYWORD2>\r
+                       <KEYWORD2>dbplus_find</KEYWORD2>\r
+                       <KEYWORD2>dbplus_first</KEYWORD2>\r
+                       <KEYWORD2>dbplus_flush</KEYWORD2>\r
+                       <KEYWORD2>dbplus_freealllocks</KEYWORD2>\r
+                       <KEYWORD2>dbplus_freelock</KEYWORD2>\r
+                       <KEYWORD2>dbplus_freerlocks</KEYWORD2>\r
+                       <KEYWORD2>dbplus_getlock</KEYWORD2>\r
+                       <KEYWORD2>dbplus_getunique</KEYWORD2>\r
+                       <KEYWORD2>dbplus_info</KEYWORD2>\r
+                       <KEYWORD2>dbplus_last</KEYWORD2>\r
+                       <KEYWORD2>dbplus_lockrel</KEYWORD2>\r
+                       <KEYWORD2>dbplus_next</KEYWORD2>\r
+                       <KEYWORD2>dbplus_open</KEYWORD2>\r
+                       <KEYWORD2>dbplus_prev</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rchperm</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rcreate</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rcrtexact</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rcrtlike</KEYWORD2>\r
+                       <KEYWORD2>dbplus_resolve</KEYWORD2>\r
+                       <KEYWORD2>dbplus_restorepos</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rkeys</KEYWORD2>\r
+                       <KEYWORD2>dbplus_ropen</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rquery</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rrename</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rsecindex</KEYWORD2>\r
+                       <KEYWORD2>dbplus_runlink</KEYWORD2>\r
+                       <KEYWORD2>dbplus_rzap</KEYWORD2>\r
+                       <KEYWORD2>dbplus_savepos</KEYWORD2>\r
+                       <KEYWORD2>dbplus_setindex</KEYWORD2>\r
+                       <KEYWORD2>dbplus_setindexbynumber</KEYWORD2>\r
+                       <KEYWORD2>dbplus_sql</KEYWORD2>\r
+                       <KEYWORD2>dbplus_tcl</KEYWORD2>\r
+                       <KEYWORD2>dbplus_tremove</KEYWORD2>\r
+                       <KEYWORD2>dbplus_undo</KEYWORD2>\r
+                       <KEYWORD2>dbplus_undoprepare</KEYWORD2>\r
+                       <KEYWORD2>dbplus_unlockrel</KEYWORD2>\r
+                       <KEYWORD2>dbplus_unselect</KEYWORD2>\r
+                       <KEYWORD2>dbplus_update</KEYWORD2>\r
+                       <KEYWORD2>dbplus_xlockrel</KEYWORD2>\r
+                       <KEYWORD2>dbplus_xunlockrel</KEYWORD2>\r
+                       <KEYWORD2>dbstat</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>dbx_close</KEYWORD2>\r
+                       <KEYWORD2>dbx_compare</KEYWORD2>\r
+                       <KEYWORD2>dbx_connect</KEYWORD2>\r
+                       <KEYWORD2>dbx_error</KEYWORD2>\r
+                       <KEYWORD2>dbx_escape_string</KEYWORD2>\r
+                       <KEYWORD2>dbx_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>dbx_query</KEYWORD2>\r
+                       <KEYWORD2>dbx_sort</KEYWORD2>\r
+                       <KEYWORD2>dcgettext</KEYWORD2>\r
+                       <KEYWORD2>dcngettext</KEYWORD2>\r
+                       <KEYWORD2>dcstat</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>deaggregate</KEYWORD2>\r
+                       <KEYWORD2>debug_backtrace</KEYWORD2>\r
+                       <KEYWORD2>debug_print_backtrace</KEYWORD2>\r
+                       <KEYWORD2>debug_zval_dump</KEYWORD2>\r
+                       <KEYWORD2>debugger_off</KEYWORD2>\r
+                       <KEYWORD2>debugger_on</KEYWORD2>\r
+                       <KEYWORD2>decbin</KEYWORD2>\r
+                       <KEYWORD2>dechex</KEYWORD2>\r
+                       <KEYWORD2>decoct</KEYWORD2>\r
+                       <KEYWORD2>decrement</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>define</KEYWORD2>\r
+                       <KEYWORD2>define_syslog_variables</KEYWORD2>\r
+                       <KEYWORD2>defined</KEYWORD2>\r
+                       <KEYWORD2>deg2rad</KEYWORD2>\r
+                       <KEYWORD2>delete</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>deletedata</KEYWORD2> <!-- domcharacterdata -->\r
+                       <KEYWORD2>description</KEYWORD2> <!-- hw_api_reason -->\r
+                       <KEYWORD2>dgettext</KEYWORD2>\r
+                       <KEYWORD2>dio_close</KEYWORD2>\r
+                       <KEYWORD2>dio_fcntl</KEYWORD2>\r
+                       <KEYWORD2>dio_open</KEYWORD2>\r
+                       <KEYWORD2>dio_read</KEYWORD2>\r
+                       <KEYWORD2>dio_seek</KEYWORD2>\r
+                       <KEYWORD2>dio_stat</KEYWORD2>\r
+                       <KEYWORD2>dio_tcsetattr</KEYWORD2>\r
+                       <KEYWORD2>dio_truncate</KEYWORD2>\r
+                       <KEYWORD2>dio_write</KEYWORD2>\r
+                       <KEYWORD2>dir</KEYWORD2>\r
+                       <KEYWORD2>dirname</KEYWORD2>\r
+                       <KEYWORD2>disk_free_space</KEYWORD2>\r
+                       <KEYWORD2>disk_total_space</KEYWORD2>\r
+                       <KEYWORD2>diskfreespace</KEYWORD2>\r
+                       <KEYWORD2>dl</KEYWORD2>\r
+                       <KEYWORD2>dngettext</KEYWORD2>\r
+                       <KEYWORD2>dns_check_record</KEYWORD2>\r
+                       <KEYWORD2>dns_get_mx</KEYWORD2>\r
+                       <KEYWORD2>dns_get_record</KEYWORD2>\r
+                       <KEYWORD2>doctype</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>document_element</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>dom_import_simplexml</KEYWORD2>\r
+                       <KEYWORD2>domxml_new_doc</KEYWORD2>\r
+                       <KEYWORD2>domxml_open_file</KEYWORD2>\r
+                       <KEYWORD2>domxml_open_mem</KEYWORD2>\r
+                       <KEYWORD2>domxml_version</KEYWORD2>\r
+                       <KEYWORD2>domxml_xmltree</KEYWORD2>\r
+                       <KEYWORD2>domxml_xslt_stylesheet</KEYWORD2>\r
+                       <KEYWORD2>domxml_xslt_stylesheet_doc</KEYWORD2>\r
+                       <KEYWORD2>domxml_xslt_stylesheet_file</KEYWORD2>\r
+                       <KEYWORD2>dotnet</KEYWORD2>\r
+                       <KEYWORD2>dotnet_load</KEYWORD2>\r
+                       <KEYWORD2>doubleval</KEYWORD2>\r
+                       <KEYWORD2>drawcurve</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>drawcurveto</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>drawline</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>drawlineto</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>dstanchors</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>dstofsrcanchors</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>dump_file</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>dump_mem</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>dump_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>each</KEYWORD2>\r
+                       <KEYWORD2>easter_date</KEYWORD2>\r
+                       <KEYWORD2>easter_days</KEYWORD2>\r
+                       <KEYWORD2>ebcdic2ascii</KEYWORD2>\r
+                       <KEYWORD2>end</KEYWORD2>\r
+                       <KEYWORD2>entities</KEYWORD2> <!-- domdocumenttype -->\r
+                       <KEYWORD2>eof</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>erase</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>ereg</KEYWORD2>\r
+                       <KEYWORD2>ereg_replace</KEYWORD2>\r
+                       <KEYWORD2>eregi</KEYWORD2>\r
+                       <KEYWORD2>eregi_replace</KEYWORD2>\r
+                       <KEYWORD2>error_log</KEYWORD2>\r
+                       <KEYWORD2>error_reporting</KEYWORD2>\r
+                       <KEYWORD2>errorcode</KEYWORD2> <!-- pdo, pdostatement -->\r
+                       <KEYWORD2>errorinfo</KEYWORD2> <!-- pdo, pdostatement -->\r
+                       <KEYWORD2>escapeshellarg</KEYWORD2>\r
+                       <KEYWORD2>escapeshellcmd</KEYWORD2>\r
+                       <KEYWORD2>exec</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>execute</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>exif_imagetype</KEYWORD2>\r
+                       <KEYWORD2>exif_read_data</KEYWORD2>\r
+                       <KEYWORD2>exif_tagname</KEYWORD2>\r
+                       <KEYWORD2>exif_thumbnail</KEYWORD2>\r
+                       <KEYWORD2>exp</KEYWORD2>\r
+                       <KEYWORD2>explode</KEYWORD2>\r
+                       <KEYWORD2>expm1</KEYWORD2>\r
+                       <KEYWORD2>export</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>extension_loaded</KEYWORD2>\r
+                       <KEYWORD2>extract</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>ezmlm_hash</KEYWORD2>\r
+                       <KEYWORD2>fam_cancel_monitor</KEYWORD2>\r
+                       <KEYWORD2>fam_close</KEYWORD2>\r
+                       <KEYWORD2>fam_monitor_collection</KEYWORD2>\r
+                       <KEYWORD2>fam_monitor_directory</KEYWORD2>\r
+                       <KEYWORD2>fam_monitor_file</KEYWORD2>\r
+                       <KEYWORD2>fam_next_event</KEYWORD2>\r
+                       <KEYWORD2>fam_open</KEYWORD2>\r
+                       <KEYWORD2>fam_pending</KEYWORD2>\r
+                       <KEYWORD2>fam_resume_monitor</KEYWORD2>\r
+                       <KEYWORD2>fam_suspend_monitor</KEYWORD2>\r
+                       <KEYWORD2>fbsql_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>fbsql_autocommit</KEYWORD2>\r
+                       <KEYWORD2>fbsql_blob_size</KEYWORD2>\r
+                       <KEYWORD2>fbsql_change_user</KEYWORD2>\r
+                       <KEYWORD2>fbsql_clob_size</KEYWORD2>\r
+                       <KEYWORD2>fbsql_close</KEYWORD2>\r
+                       <KEYWORD2>fbsql_commit</KEYWORD2>\r
+                       <KEYWORD2>fbsql_connect</KEYWORD2>\r
+                       <KEYWORD2>fbsql_create_blob</KEYWORD2>\r
+                       <KEYWORD2>fbsql_create_clob</KEYWORD2>\r
+                       <KEYWORD2>fbsql_create_db</KEYWORD2>\r
+                       <KEYWORD2>fbsql_data_seek</KEYWORD2>\r
+                       <KEYWORD2>fbsql_database</KEYWORD2>\r
+                       <KEYWORD2>fbsql_database_password</KEYWORD2>\r
+                       <KEYWORD2>fbsql_db_query</KEYWORD2>\r
+                       <KEYWORD2>fbsql_db_status</KEYWORD2>\r
+                       <KEYWORD2>fbsql_drop_db</KEYWORD2>\r
+                       <KEYWORD2>fbsql_errno</KEYWORD2>\r
+                       <KEYWORD2>fbsql_error</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_lengths</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>fbsql_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_flags</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_len</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_name</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_seek</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_table</KEYWORD2>\r
+                       <KEYWORD2>fbsql_field_type</KEYWORD2>\r
+                       <KEYWORD2>fbsql_free_result</KEYWORD2>\r
+                       <KEYWORD2>fbsql_get_autostart_info</KEYWORD2>\r
+                       <KEYWORD2>fbsql_hostname</KEYWORD2>\r
+                       <KEYWORD2>fbsql_insert_id</KEYWORD2>\r
+                       <KEYWORD2>fbsql_list_dbs</KEYWORD2>\r
+                       <KEYWORD2>fbsql_list_fields</KEYWORD2>\r
+                       <KEYWORD2>fbsql_list_tables</KEYWORD2>\r
+                       <KEYWORD2>fbsql_next_result</KEYWORD2>\r
+                       <KEYWORD2>fbsql_num_fields</KEYWORD2>\r
+                       <KEYWORD2>fbsql_num_rows</KEYWORD2>\r
+                       <KEYWORD2>fbsql_password</KEYWORD2>\r
+                       <KEYWORD2>fbsql_pconnect</KEYWORD2>\r
+                       <KEYWORD2>fbsql_query</KEYWORD2>\r
+                       <KEYWORD2>fbsql_read_blob</KEYWORD2>\r
+                       <KEYWORD2>fbsql_read_clob</KEYWORD2>\r
+                       <KEYWORD2>fbsql_result</KEYWORD2>\r
+                       <KEYWORD2>fbsql_rollback</KEYWORD2>\r
+                       <KEYWORD2>fbsql_select_db</KEYWORD2>\r
+                       <KEYWORD2>fbsql_set_lob_mode</KEYWORD2>\r
+                       <KEYWORD2>fbsql_set_password</KEYWORD2>\r
+                       <KEYWORD2>fbsql_set_transaction</KEYWORD2>\r
+                       <KEYWORD2>fbsql_start_db</KEYWORD2>\r
+                       <KEYWORD2>fbsql_stop_db</KEYWORD2>\r
+                       <KEYWORD2>fbsql_tablename</KEYWORD2>\r
+                       <KEYWORD2>fbsql_username</KEYWORD2>\r
+                       <KEYWORD2>fbsql_warnings</KEYWORD2>\r
+                       <KEYWORD2>fclose</KEYWORD2>\r
+                       <KEYWORD2>fdf_add_doc_javascript</KEYWORD2>\r
+                       <KEYWORD2>fdf_add_template</KEYWORD2>\r
+                       <KEYWORD2>fdf_close</KEYWORD2>\r
+                       <KEYWORD2>fdf_create</KEYWORD2>\r
+                       <KEYWORD2>fdf_enum_values</KEYWORD2>\r
+                       <KEYWORD2>fdf_errno</KEYWORD2>\r
+                       <KEYWORD2>fdf_error</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_ap</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_attachment</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_encoding</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_file</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_flags</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_opt</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_status</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_value</KEYWORD2>\r
+                       <KEYWORD2>fdf_get_version</KEYWORD2>\r
+                       <KEYWORD2>fdf_header</KEYWORD2>\r
+                       <KEYWORD2>fdf_next_field_name</KEYWORD2>\r
+                       <KEYWORD2>fdf_open</KEYWORD2>\r
+                       <KEYWORD2>fdf_open_string</KEYWORD2>\r
+                       <KEYWORD2>fdf_remove_item</KEYWORD2>\r
+                       <KEYWORD2>fdf_save</KEYWORD2>\r
+                       <KEYWORD2>fdf_save_string</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_ap</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_encoding</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_file</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_flags</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_javascript_action</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_on_import_javascript</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_opt</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_status</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_submit_form_action</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_target_frame</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_value</KEYWORD2>\r
+                       <KEYWORD2>fdf_set_version</KEYWORD2>\r
+                       <KEYWORD2>feof</KEYWORD2>\r
+                       <KEYWORD2>fetch</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>fetchall</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>fetchsingle</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>fflush</KEYWORD2>\r
+                       <KEYWORD2>fgetc</KEYWORD2>\r
+                       <KEYWORD2>fgetcsv</KEYWORD2>\r
+                       <KEYWORD2>fgets</KEYWORD2>\r
+                       <KEYWORD2>fgetss</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>file_exists</KEYWORD2>\r
+                       <KEYWORD2>file_get_contents</KEYWORD2>\r
+                       <KEYWORD2>file_put_contents</KEYWORD2>\r
+                       <KEYWORD2>fileatime</KEYWORD2>\r
+                       <KEYWORD2>filectime</KEYWORD2>\r
+                       <KEYWORD2>filegroup</KEYWORD2>\r
+                       <KEYWORD2>fileinode</KEYWORD2>\r
+                       <KEYWORD2>filemtime</KEYWORD2>\r
+                       <KEYWORD2>fileowner</KEYWORD2>\r
+                       <KEYWORD2>fileperms</KEYWORD2>\r
+                       <KEYWORD2>filepro</KEYWORD2>\r
+                       <KEYWORD2>filepro_fieldcount</KEYWORD2>\r
+                       <KEYWORD2>filepro_fieldname</KEYWORD2>\r
+                       <KEYWORD2>filepro_fieldtype</KEYWORD2>\r
+                       <KEYWORD2>filepro_fieldwidth</KEYWORD2>\r
+                       <KEYWORD2>filepro_retrieve</KEYWORD2>\r
+                       <KEYWORD2>filepro_rowcount</KEYWORD2>\r
+                       <KEYWORD2>filesize</KEYWORD2>\r
+                       <KEYWORD2>filetype</KEYWORD2>\r
+                       <KEYWORD2>find</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>first_child</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>floatval</KEYWORD2>\r
+                       <KEYWORD2>flock</KEYWORD2>\r
+                       <KEYWORD2>floor</KEYWORD2>\r
+                       <KEYWORD2>flush</KEYWORD2> <!-- lob, memcache -->\r
+                       <KEYWORD2>fmod</KEYWORD2>\r
+                       <KEYWORD2>fnmatch</KEYWORD2>\r
+                       <KEYWORD2>fopen</KEYWORD2>\r
+                       <KEYWORD2>fpassthru</KEYWORD2>\r
+                       <KEYWORD2>fprintf</KEYWORD2>\r
+                       <KEYWORD2>fputcsv</KEYWORD2>\r
+                       <KEYWORD2>fputs</KEYWORD2>\r
+                       <KEYWORD2>fread</KEYWORD2>\r
+                       <KEYWORD2>free</KEYWORD2> <!-- collection, descriptor -->\r
+                       <KEYWORD2>frenchtojd</KEYWORD2>\r
+                       <KEYWORD2>fribidi_log2vis</KEYWORD2>\r
+                       <KEYWORD2>fscanf</KEYWORD2>\r
+                       <KEYWORD2>fseek</KEYWORD2>\r
+                       <KEYWORD2>fsockopen</KEYWORD2>\r
+                       <KEYWORD2>fstat</KEYWORD2>\r
+                       <KEYWORD2>ftell</KEYWORD2>\r
+                       <KEYWORD2>ftok</KEYWORD2>\r
+                       <KEYWORD2>ftp_alloc</KEYWORD2>\r
+                       <KEYWORD2>ftp_cdup</KEYWORD2>\r
+                       <KEYWORD2>ftp_chdir</KEYWORD2>\r
+                       <KEYWORD2>ftp_chmod</KEYWORD2>\r
+                       <KEYWORD2>ftp_close</KEYWORD2>\r
+                       <KEYWORD2>ftp_connect</KEYWORD2>\r
+                       <KEYWORD2>ftp_delete</KEYWORD2>\r
+                       <KEYWORD2>ftp_exec</KEYWORD2>\r
+                       <KEYWORD2>ftp_fget</KEYWORD2>\r
+                       <KEYWORD2>ftp_fput</KEYWORD2>\r
+                       <KEYWORD2>ftp_get</KEYWORD2>\r
+                       <KEYWORD2>ftp_get_option</KEYWORD2>\r
+                       <KEYWORD2>ftp_login</KEYWORD2>\r
+                       <KEYWORD2>ftp_mdtm</KEYWORD2>\r
+                       <KEYWORD2>ftp_mkdir</KEYWORD2>\r
+                       <KEYWORD2>ftp_nb_continue</KEYWORD2>\r
+                       <KEYWORD2>ftp_nb_fget</KEYWORD2>\r
+                       <KEYWORD2>ftp_nb_fput</KEYWORD2>\r
+                       <KEYWORD2>ftp_nb_get</KEYWORD2>\r
+                       <KEYWORD2>ftp_nb_put</KEYWORD2>\r
+                       <KEYWORD2>ftp_nlist</KEYWORD2>\r
+                       <KEYWORD2>ftp_pasv</KEYWORD2>\r
+                       <KEYWORD2>ftp_put</KEYWORD2>\r
+                       <KEYWORD2>ftp_pwd</KEYWORD2>\r
+                       <KEYWORD2>ftp_quit</KEYWORD2>\r
+                       <KEYWORD2>ftp_raw</KEYWORD2>\r
+                       <KEYWORD2>ftp_rawlist</KEYWORD2>\r
+                       <KEYWORD2>ftp_rename</KEYWORD2>\r
+                       <KEYWORD2>ftp_rmdir</KEYWORD2>\r
+                       <KEYWORD2>ftp_set_option</KEYWORD2>\r
+                       <KEYWORD2>ftp_site</KEYWORD2>\r
+                       <KEYWORD2>ftp_size</KEYWORD2>\r
+                       <KEYWORD2>ftp_ssl_connect</KEYWORD2>\r
+                       <KEYWORD2>ftp_systype</KEYWORD2>\r
+                       <KEYWORD2>ftruncate</KEYWORD2>\r
+                       <KEYWORD2>ftstat</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>func_get_arg</KEYWORD2>\r
+                       <KEYWORD2>func_get_args</KEYWORD2>\r
+                       <KEYWORD2>func_num_args</KEYWORD2>\r
+                       <KEYWORD2>function_exists</KEYWORD2>\r
+                       <KEYWORD2>fwrite</KEYWORD2>\r
+                       <KEYWORD2>gd_info</KEYWORD2>\r
+                       <KEYWORD2>get</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>get_attr</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>get_attribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>get_attribute_node</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>get_browser</KEYWORD2>\r
+                       <KEYWORD2>get_cfg_var</KEYWORD2>\r
+                       <KEYWORD2>get_class</KEYWORD2>\r
+                       <KEYWORD2>get_class_methods</KEYWORD2>\r
+                       <KEYWORD2>get_class_vars</KEYWORD2>\r
+                       <KEYWORD2>get_content</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>get_current_user</KEYWORD2>\r
+                       <KEYWORD2>get_declared_classes</KEYWORD2>\r
+                       <KEYWORD2>get_declared_interfaces</KEYWORD2>\r
+                       <KEYWORD2>get_defined_constants</KEYWORD2>\r
+                       <KEYWORD2>get_defined_functions</KEYWORD2>\r
+                       <KEYWORD2>get_defined_vars</KEYWORD2>\r
+                       <KEYWORD2>get_element_by_id</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>get_elements_by_tagname</KEYWORD2> <!-- domdocument, domelement -->\r
+                       <KEYWORD2>get_extension_funcs</KEYWORD2>\r
+                       <KEYWORD2>get_headers</KEYWORD2>\r
+                       <KEYWORD2>get_html_translation_table</KEYWORD2>\r
+                       <KEYWORD2>get_include_path</KEYWORD2>\r
+                       <KEYWORD2>get_included_files</KEYWORD2>\r
+                       <KEYWORD2>get_loaded_extensions</KEYWORD2>\r
+                       <KEYWORD2>get_magic_quotes_gpc</KEYWORD2>\r
+                       <KEYWORD2>get_magic_quotes_runtime</KEYWORD2>\r
+                       <KEYWORD2>get_meta_tags</KEYWORD2>\r
+                       <KEYWORD2>get_nodes</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>get_object_vars</KEYWORD2>\r
+                       <KEYWORD2>get_parent_class</KEYWORD2>\r
+                       <KEYWORD2>get_required_files</KEYWORD2>\r
+                       <KEYWORD2>get_resource_type</KEYWORD2>\r
+                       <KEYWORD2>getallheaders</KEYWORD2>\r
+                       <KEYWORD2>getatime</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getattr</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getattribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>getattributenode</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>getattributenodens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>getattributens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>getbuffering</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>getchildren</KEYWORD2> <!-- cachingrecursiveiterator, directoryiterator, parentiterator, recursivedirectoryiterator, simplexmliterator -->\r
+                       <KEYWORD2>getcrc</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getctime</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getcwd</KEYWORD2>\r
+                       <KEYWORD2>getdate</KEYWORD2>\r
+                       <KEYWORD2>getdepth</KEYWORD2> <!-- recursiveiteratoriterator -->\r
+                       <KEYWORD2>getelem</KEYWORD2> <!-- collection -->\r
+                       <KEYWORD2>getelementbyid</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>getelementsbytagname</KEYWORD2> <!-- domdocument, domelement -->\r
+                       <KEYWORD2>getelementsbytagnamens</KEYWORD2> <!-- domdocument, domelement -->\r
+                       <KEYWORD2>getenv</KEYWORD2>\r
+                       <KEYWORD2>getfilename</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getfiletime</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getfunctions</KEYWORD2> <!-- soapserver -->\r
+                       <KEYWORD2>getgroup</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getheight</KEYWORD2> <!-- swfbitmap -->\r
+                       <KEYWORD2>gethostbyaddr</KEYWORD2>\r
+                       <KEYWORD2>gethostbyname</KEYWORD2>\r
+                       <KEYWORD2>gethostbynamel</KEYWORD2>\r
+                       <KEYWORD2>gethostos</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getimagesize</KEYWORD2>\r
+                       <KEYWORD2>getinneriterator</KEYWORD2> <!-- filteriterator -->\r
+                       <KEYWORD2>getinode</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getiterator</KEYWORD2> <!-- arrayobject -->\r
+                       <KEYWORD2>getlastmod</KEYWORD2>\r
+                       <KEYWORD2>getmethod</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getmtime</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getmxrr</KEYWORD2>\r
+                       <KEYWORD2>getmygid</KEYWORD2>\r
+                       <KEYWORD2>getmyinode</KEYWORD2>\r
+                       <KEYWORD2>getmypid</KEYWORD2>\r
+                       <KEYWORD2>getmyuid</KEYWORD2>\r
+                       <KEYWORD2>getname</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getnameditem</KEYWORD2> <!-- domnamednodemap -->\r
+                       <KEYWORD2>getnameditemns</KEYWORD2> <!-- domnamednodemap -->\r
+                       <KEYWORD2>getopt</KEYWORD2>\r
+                       <KEYWORD2>getowner</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getpackedsize</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getpath</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getpathname</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getperms</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getposition</KEYWORD2> <!-- limititerator -->\r
+                       <KEYWORD2>getprotobyname</KEYWORD2>\r
+                       <KEYWORD2>getprotobynumber</KEYWORD2>\r
+                       <KEYWORD2>getrandmax</KEYWORD2>\r
+                       <KEYWORD2>getrusage</KEYWORD2>\r
+                       <KEYWORD2>getservbyname</KEYWORD2>\r
+                       <KEYWORD2>getservbyport</KEYWORD2>\r
+                       <KEYWORD2>getshape1</KEYWORD2> <!-- swfmorph -->\r
+                       <KEYWORD2>getshape2</KEYWORD2> <!-- swfmorph -->\r
+                       <KEYWORD2>getsize</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getstats</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>getsubiterator</KEYWORD2> <!-- recursiveiteratoriterator -->\r
+                       <KEYWORD2>gettext</KEYWORD2>\r
+                       <KEYWORD2>gettimeofday</KEYWORD2>\r
+                       <KEYWORD2>gettype</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>getunpackedsize</KEYWORD2> <!-- rar -->\r
+                       <KEYWORD2>getversion</KEYWORD2> <!-- memcache, rar -->\r
+                       <KEYWORD2>getwidth</KEYWORD2> <!-- swfbitmap, swffont, swftext -->\r
+                       <KEYWORD2>glob</KEYWORD2>\r
+                       <KEYWORD2>gmdate</KEYWORD2>\r
+                       <KEYWORD2>gmmktime</KEYWORD2>\r
+                       <KEYWORD2>gmp_abs</KEYWORD2>\r
+                       <KEYWORD2>gmp_add</KEYWORD2>\r
+                       <KEYWORD2>gmp_and</KEYWORD2>\r
+                       <KEYWORD2>gmp_clrbit</KEYWORD2>\r
+                       <KEYWORD2>gmp_cmp</KEYWORD2>\r
+                       <KEYWORD2>gmp_com</KEYWORD2>\r
+                       <KEYWORD2>gmp_div</KEYWORD2>\r
+                       <KEYWORD2>gmp_div_q</KEYWORD2>\r
+                       <KEYWORD2>gmp_div_qr</KEYWORD2>\r
+                       <KEYWORD2>gmp_div_r</KEYWORD2>\r
+                       <KEYWORD2>gmp_divexact</KEYWORD2>\r
+                       <KEYWORD2>gmp_fact</KEYWORD2>\r
+                       <KEYWORD2>gmp_gcd</KEYWORD2>\r
+                       <KEYWORD2>gmp_gcdext</KEYWORD2>\r
+                       <KEYWORD2>gmp_hamdist</KEYWORD2>\r
+                       <KEYWORD2>gmp_init</KEYWORD2>\r
+                       <KEYWORD2>gmp_intval</KEYWORD2>\r
+                       <KEYWORD2>gmp_invert</KEYWORD2>\r
+                       <KEYWORD2>gmp_jacobi</KEYWORD2>\r
+                       <KEYWORD2>gmp_legendre</KEYWORD2>\r
+                       <KEYWORD2>gmp_mod</KEYWORD2>\r
+                       <KEYWORD2>gmp_mul</KEYWORD2>\r
+                       <KEYWORD2>gmp_neg</KEYWORD2>\r
+                       <KEYWORD2>gmp_or</KEYWORD2>\r
+                       <KEYWORD2>gmp_perfect_square</KEYWORD2>\r
+                       <KEYWORD2>gmp_popcount</KEYWORD2>\r
+                       <KEYWORD2>gmp_pow</KEYWORD2>\r
+                       <KEYWORD2>gmp_powm</KEYWORD2>\r
+                       <KEYWORD2>gmp_prob_prime</KEYWORD2>\r
+                       <KEYWORD2>gmp_random</KEYWORD2>\r
+                       <KEYWORD2>gmp_scan0</KEYWORD2>\r
+                       <KEYWORD2>gmp_scan1</KEYWORD2>\r
+                       <KEYWORD2>gmp_setbit</KEYWORD2>\r
+                       <KEYWORD2>gmp_sign</KEYWORD2>\r
+                       <KEYWORD2>gmp_sqrt</KEYWORD2>\r
+                       <KEYWORD2>gmp_sqrtrem</KEYWORD2>\r
+                       <KEYWORD2>gmp_strval</KEYWORD2>\r
+                       <KEYWORD2>gmp_sub</KEYWORD2>\r
+                       <KEYWORD2>gmp_xor</KEYWORD2>\r
+                       <KEYWORD2>gmstrftime</KEYWORD2>\r
+                       <KEYWORD2>gregoriantojd</KEYWORD2>\r
+                       <KEYWORD2>gzclose</KEYWORD2>\r
+                       <KEYWORD2>gzcompress</KEYWORD2>\r
+                       <KEYWORD2>gzdeflate</KEYWORD2>\r
+                       <KEYWORD2>gzencode</KEYWORD2>\r
+                       <KEYWORD2>gzeof</KEYWORD2>\r
+                       <KEYWORD2>gzfile</KEYWORD2>\r
+                       <KEYWORD2>gzgetc</KEYWORD2>\r
+                       <KEYWORD2>gzgets</KEYWORD2>\r
+                       <KEYWORD2>gzgetss</KEYWORD2>\r
+                       <KEYWORD2>gzinflate</KEYWORD2>\r
+                       <KEYWORD2>gzopen</KEYWORD2>\r
+                       <KEYWORD2>gzpassthru</KEYWORD2>\r
+                       <KEYWORD2>gzputs</KEYWORD2>\r
+                       <KEYWORD2>gzread</KEYWORD2>\r
+                       <KEYWORD2>gzrewind</KEYWORD2>\r
+                       <KEYWORD2>gzseek</KEYWORD2>\r
+                       <KEYWORD2>gztell</KEYWORD2>\r
+                       <KEYWORD2>gzuncompress</KEYWORD2>\r
+                       <KEYWORD2>gzwrite</KEYWORD2>\r
+                       <KEYWORD2>handle</KEYWORD2> <!-- soapserver -->\r
+                       <KEYWORD2>has_attribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>has_attributes</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>has_child_nodes</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>hasattribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>hasattributens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>hasattributes</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>haschildnodes</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>haschildren</KEYWORD2> <!-- cachingrecursiveiterator, parentiterator, recursivedirectoryiterator, simplexmliterator, tidy_node -->\r
+                       <KEYWORD2>hasfeature</KEYWORD2> <!-- domimplementation -->\r
+                       <KEYWORD2>hasnext</KEYWORD2> <!-- cachingiterator -->\r
+                       <KEYWORD2>hassiblings</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>header</KEYWORD2>\r
+                       <KEYWORD2>headers_list</KEYWORD2>\r
+                       <KEYWORD2>headers_sent</KEYWORD2>\r
+                       <KEYWORD2>hebrev</KEYWORD2>\r
+                       <KEYWORD2>hebrevc</KEYWORD2>\r
+                       <KEYWORD2>hexdec</KEYWORD2>\r
+                       <KEYWORD2>highlight_file</KEYWORD2>\r
+                       <KEYWORD2>highlight_string</KEYWORD2>\r
+                       <KEYWORD2>html_dump_mem</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>html_entity_decode</KEYWORD2>\r
+                       <KEYWORD2>htmlentities</KEYWORD2>\r
+                       <KEYWORD2>htmlspecialchars</KEYWORD2>\r
+                       <KEYWORD2>http_build_query</KEYWORD2>\r
+                       <KEYWORD2>hw_array2objrec</KEYWORD2>\r
+                       <KEYWORD2>hw_changeobject</KEYWORD2>\r
+                       <KEYWORD2>hw_children</KEYWORD2>\r
+                       <KEYWORD2>hw_childrenobj</KEYWORD2>\r
+                       <KEYWORD2>hw_close</KEYWORD2>\r
+                       <KEYWORD2>hw_connect</KEYWORD2>\r
+                       <KEYWORD2>hw_connection_info</KEYWORD2>\r
+                       <KEYWORD2>hw_cp</KEYWORD2>\r
+                       <KEYWORD2>hw_deleteobject</KEYWORD2>\r
+                       <KEYWORD2>hw_docbyanchor</KEYWORD2>\r
+                       <KEYWORD2>hw_docbyanchorobj</KEYWORD2>\r
+                       <KEYWORD2>hw_document_attributes</KEYWORD2>\r
+                       <KEYWORD2>hw_document_bodytag</KEYWORD2>\r
+                       <KEYWORD2>hw_document_content</KEYWORD2>\r
+                       <KEYWORD2>hw_document_setcontent</KEYWORD2>\r
+                       <KEYWORD2>hw_document_size</KEYWORD2>\r
+                       <KEYWORD2>hw_dummy</KEYWORD2>\r
+                       <KEYWORD2>hw_edittext</KEYWORD2>\r
+                       <KEYWORD2>hw_error</KEYWORD2>\r
+                       <KEYWORD2>hw_errormsg</KEYWORD2>\r
+                       <KEYWORD2>hw_free_document</KEYWORD2>\r
+                       <KEYWORD2>hw_getanchors</KEYWORD2>\r
+                       <KEYWORD2>hw_getanchorsobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getandlock</KEYWORD2>\r
+                       <KEYWORD2>hw_getchildcoll</KEYWORD2>\r
+                       <KEYWORD2>hw_getchildcollobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getchilddoccoll</KEYWORD2>\r
+                       <KEYWORD2>hw_getchilddoccollobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getobject</KEYWORD2>\r
+                       <KEYWORD2>hw_getobjectbyquery</KEYWORD2>\r
+                       <KEYWORD2>hw_getobjectbyquerycoll</KEYWORD2>\r
+                       <KEYWORD2>hw_getobjectbyquerycollobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getobjectbyqueryobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getparents</KEYWORD2>\r
+                       <KEYWORD2>hw_getparentsobj</KEYWORD2>\r
+                       <KEYWORD2>hw_getrellink</KEYWORD2>\r
+                       <KEYWORD2>hw_getremote</KEYWORD2>\r
+                       <KEYWORD2>hw_getremotechildren</KEYWORD2>\r
+                       <KEYWORD2>hw_getsrcbydestobj</KEYWORD2>\r
+                       <KEYWORD2>hw_gettext</KEYWORD2>\r
+                       <KEYWORD2>hw_getusername</KEYWORD2>\r
+                       <KEYWORD2>hw_identify</KEYWORD2>\r
+                       <KEYWORD2>hw_incollections</KEYWORD2>\r
+                       <KEYWORD2>hw_info</KEYWORD2>\r
+                       <KEYWORD2>hw_inscoll</KEYWORD2>\r
+                       <KEYWORD2>hw_insdoc</KEYWORD2>\r
+                       <KEYWORD2>hw_insertanchors</KEYWORD2>\r
+                       <KEYWORD2>hw_insertdocument</KEYWORD2>\r
+                       <KEYWORD2>hw_insertobject</KEYWORD2>\r
+                       <KEYWORD2>hw_mapid</KEYWORD2>\r
+                       <KEYWORD2>hw_modifyobject</KEYWORD2>\r
+                       <KEYWORD2>hw_mv</KEYWORD2>\r
+                       <KEYWORD2>hw_new_document</KEYWORD2>\r
+                       <KEYWORD2>hw_objrec2array</KEYWORD2>\r
+                       <KEYWORD2>hw_output_document</KEYWORD2>\r
+                       <KEYWORD2>hw_pconnect</KEYWORD2>\r
+                       <KEYWORD2>hw_pipedocument</KEYWORD2>\r
+                       <KEYWORD2>hw_root</KEYWORD2>\r
+                       <KEYWORD2>hw_setlinkroot</KEYWORD2>\r
+                       <KEYWORD2>hw_stat</KEYWORD2>\r
+                       <KEYWORD2>hw_unlock</KEYWORD2>\r
+                       <KEYWORD2>hw_who</KEYWORD2>\r
+                       <KEYWORD2>hwapi_hgcsp</KEYWORD2>\r
+                       <KEYWORD2>hwstat</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>hypot</KEYWORD2>\r
+                       <KEYWORD2>ibase_add_user</KEYWORD2>\r
+                       <KEYWORD2>ibase_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>ibase_backup</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_add</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_cancel</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_close</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_create</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_echo</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_get</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_import</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_info</KEYWORD2>\r
+                       <KEYWORD2>ibase_blob_open</KEYWORD2>\r
+                       <KEYWORD2>ibase_close</KEYWORD2>\r
+                       <KEYWORD2>ibase_commit</KEYWORD2>\r
+                       <KEYWORD2>ibase_commit_ret</KEYWORD2>\r
+                       <KEYWORD2>ibase_connect</KEYWORD2>\r
+                       <KEYWORD2>ibase_db_info</KEYWORD2>\r
+                       <KEYWORD2>ibase_delete_user</KEYWORD2>\r
+                       <KEYWORD2>ibase_drop_db</KEYWORD2>\r
+                       <KEYWORD2>ibase_errcode</KEYWORD2>\r
+                       <KEYWORD2>ibase_errmsg</KEYWORD2>\r
+                       <KEYWORD2>ibase_execute</KEYWORD2>\r
+                       <KEYWORD2>ibase_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>ibase_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>ibase_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>ibase_field_info</KEYWORD2>\r
+                       <KEYWORD2>ibase_free_event_handler</KEYWORD2>\r
+                       <KEYWORD2>ibase_free_query</KEYWORD2>\r
+                       <KEYWORD2>ibase_free_result</KEYWORD2>\r
+                       <KEYWORD2>ibase_gen_id</KEYWORD2>\r
+                       <KEYWORD2>ibase_maintain_db</KEYWORD2>\r
+                       <KEYWORD2>ibase_modify_user</KEYWORD2>\r
+                       <KEYWORD2>ibase_name_result</KEYWORD2>\r
+                       <KEYWORD2>ibase_num_fields</KEYWORD2>\r
+                       <KEYWORD2>ibase_num_params</KEYWORD2>\r
+                       <KEYWORD2>ibase_param_info</KEYWORD2>\r
+                       <KEYWORD2>ibase_pconnect</KEYWORD2>\r
+                       <KEYWORD2>ibase_prepare</KEYWORD2>\r
+                       <KEYWORD2>ibase_query</KEYWORD2>\r
+                       <KEYWORD2>ibase_restore</KEYWORD2>\r
+                       <KEYWORD2>ibase_rollback</KEYWORD2>\r
+                       <KEYWORD2>ibase_rollback_ret</KEYWORD2>\r
+                       <KEYWORD2>ibase_server_info</KEYWORD2>\r
+                       <KEYWORD2>ibase_service_attach</KEYWORD2>\r
+                       <KEYWORD2>ibase_service_detach</KEYWORD2>\r
+                       <KEYWORD2>ibase_set_event_handler</KEYWORD2>\r
+                       <KEYWORD2>ibase_timefmt</KEYWORD2>\r
+                       <KEYWORD2>ibase_trans</KEYWORD2>\r
+                       <KEYWORD2>ibase_wait_event</KEYWORD2>\r
+                       <KEYWORD2>iconv</KEYWORD2>\r
+                       <KEYWORD2>iconv_get_encoding</KEYWORD2>\r
+                       <KEYWORD2>iconv_mime_decode</KEYWORD2>\r
+                       <KEYWORD2>iconv_mime_decode_headers</KEYWORD2>\r
+                       <KEYWORD2>iconv_mime_encode</KEYWORD2>\r
+                       <KEYWORD2>iconv_set_encoding</KEYWORD2>\r
+                       <KEYWORD2>iconv_strlen</KEYWORD2>\r
+                       <KEYWORD2>iconv_strpos</KEYWORD2>\r
+                       <KEYWORD2>iconv_strrpos</KEYWORD2>\r
+                       <KEYWORD2>iconv_substr</KEYWORD2>\r
+                       <KEYWORD2>id3_get_genre_id</KEYWORD2>\r
+                       <KEYWORD2>id3_get_genre_list</KEYWORD2>\r
+                       <KEYWORD2>id3_get_genre_name</KEYWORD2>\r
+                       <KEYWORD2>id3_get_tag</KEYWORD2>\r
+                       <KEYWORD2>id3_get_version</KEYWORD2>\r
+                       <KEYWORD2>id3_remove_tag</KEYWORD2>\r
+                       <KEYWORD2>id3_set_tag</KEYWORD2>\r
+                       <KEYWORD2>idate</KEYWORD2>\r
+                       <KEYWORD2>identify</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>ifx_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>ifx_blobinfile_mode</KEYWORD2>\r
+                       <KEYWORD2>ifx_byteasvarchar</KEYWORD2>\r
+                       <KEYWORD2>ifx_close</KEYWORD2>\r
+                       <KEYWORD2>ifx_connect</KEYWORD2>\r
+                       <KEYWORD2>ifx_copy_blob</KEYWORD2>\r
+                       <KEYWORD2>ifx_create_blob</KEYWORD2>\r
+                       <KEYWORD2>ifx_create_char</KEYWORD2>\r
+                       <KEYWORD2>ifx_do</KEYWORD2>\r
+                       <KEYWORD2>ifx_error</KEYWORD2>\r
+                       <KEYWORD2>ifx_errormsg</KEYWORD2>\r
+                       <KEYWORD2>ifx_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>ifx_fieldproperties</KEYWORD2>\r
+                       <KEYWORD2>ifx_fieldtypes</KEYWORD2>\r
+                       <KEYWORD2>ifx_free_blob</KEYWORD2>\r
+                       <KEYWORD2>ifx_free_char</KEYWORD2>\r
+                       <KEYWORD2>ifx_free_result</KEYWORD2>\r
+                       <KEYWORD2>ifx_get_blob</KEYWORD2>\r
+                       <KEYWORD2>ifx_get_char</KEYWORD2>\r
+                       <KEYWORD2>ifx_getsqlca</KEYWORD2>\r
+                       <KEYWORD2>ifx_htmltbl_result</KEYWORD2>\r
+                       <KEYWORD2>ifx_nullformat</KEYWORD2>\r
+                       <KEYWORD2>ifx_num_fields</KEYWORD2>\r
+                       <KEYWORD2>ifx_num_rows</KEYWORD2>\r
+                       <KEYWORD2>ifx_pconnect</KEYWORD2>\r
+                       <KEYWORD2>ifx_prepare</KEYWORD2>\r
+                       <KEYWORD2>ifx_query</KEYWORD2>\r
+                       <KEYWORD2>ifx_textasvarchar</KEYWORD2>\r
+                       <KEYWORD2>ifx_update_blob</KEYWORD2>\r
+                       <KEYWORD2>ifx_update_char</KEYWORD2>\r
+                       <KEYWORD2>ifxus_close_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_create_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_free_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_open_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_read_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_seek_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_tell_slob</KEYWORD2>\r
+                       <KEYWORD2>ifxus_write_slob</KEYWORD2>\r
+                       <KEYWORD2>ignore_user_abort</KEYWORD2>\r
+                       <KEYWORD2>image2wbmp</KEYWORD2>\r
+                       <KEYWORD2>image_type_to_extension</KEYWORD2>\r
+                       <KEYWORD2>image_type_to_mime_type</KEYWORD2>\r
+                       <KEYWORD2>imagealphablending</KEYWORD2>\r
+                       <KEYWORD2>imageantialias</KEYWORD2>\r
+                       <KEYWORD2>imagearc</KEYWORD2>\r
+                       <KEYWORD2>imagechar</KEYWORD2>\r
+                       <KEYWORD2>imagecharup</KEYWORD2>\r
+                       <KEYWORD2>imagecolorallocate</KEYWORD2>\r
+                       <KEYWORD2>imagecolorallocatealpha</KEYWORD2>\r
+                       <KEYWORD2>imagecolorat</KEYWORD2>\r
+                       <KEYWORD2>imagecolorclosest</KEYWORD2>\r
+                       <KEYWORD2>imagecolorclosestalpha</KEYWORD2>\r
+                       <KEYWORD2>imagecolorclosesthwb</KEYWORD2>\r
+                       <KEYWORD2>imagecolordeallocate</KEYWORD2>\r
+                       <KEYWORD2>imagecolorexact</KEYWORD2>\r
+                       <KEYWORD2>imagecolorexactalpha</KEYWORD2>\r
+                       <KEYWORD2>imagecolormatch</KEYWORD2>\r
+                       <KEYWORD2>imagecolorresolve</KEYWORD2>\r
+                       <KEYWORD2>imagecolorresolvealpha</KEYWORD2>\r
+                       <KEYWORD2>imagecolorset</KEYWORD2>\r
+                       <KEYWORD2>imagecolorsforindex</KEYWORD2>\r
+                       <KEYWORD2>imagecolorstotal</KEYWORD2>\r
+                       <KEYWORD2>imagecolortransparent</KEYWORD2>\r
+                       <KEYWORD2>imagecopy</KEYWORD2>\r
+                       <KEYWORD2>imagecopymerge</KEYWORD2>\r
+                       <KEYWORD2>imagecopymergegray</KEYWORD2>\r
+                       <KEYWORD2>imagecopyresampled</KEYWORD2>\r
+                       <KEYWORD2>imagecopyresized</KEYWORD2>\r
+                       <KEYWORD2>imagecreate</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromgd</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromgd2</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromgd2part</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromgif</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromjpeg</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefrompng</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromstring</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromwbmp</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromxbm</KEYWORD2>\r
+                       <KEYWORD2>imagecreatefromxpm</KEYWORD2>\r
+                       <KEYWORD2>imagecreatetruecolor</KEYWORD2>\r
+                       <KEYWORD2>imagedashedline</KEYWORD2>\r
+                       <KEYWORD2>imagedestroy</KEYWORD2>\r
+                       <KEYWORD2>imageellipse</KEYWORD2>\r
+                       <KEYWORD2>imagefill</KEYWORD2>\r
+                       <KEYWORD2>imagefilledarc</KEYWORD2>\r
+                       <KEYWORD2>imagefilledellipse</KEYWORD2>\r
+                       <KEYWORD2>imagefilledpolygon</KEYWORD2>\r
+                       <KEYWORD2>imagefilledrectangle</KEYWORD2>\r
+                       <KEYWORD2>imagefilltoborder</KEYWORD2>\r
+                       <KEYWORD2>imagefilter</KEYWORD2>\r
+                       <KEYWORD2>imagefontheight</KEYWORD2>\r
+                       <KEYWORD2>imagefontwidth</KEYWORD2>\r
+                       <KEYWORD2>imageftbbox</KEYWORD2>\r
+                       <KEYWORD2>imagefttext</KEYWORD2>\r
+                       <KEYWORD2>imagegammacorrect</KEYWORD2>\r
+                       <KEYWORD2>imagegd</KEYWORD2>\r
+                       <KEYWORD2>imagegd2</KEYWORD2>\r
+                       <KEYWORD2>imagegif</KEYWORD2>\r
+                       <KEYWORD2>imageinterlace</KEYWORD2>\r
+                       <KEYWORD2>imageistruecolor</KEYWORD2>\r
+                       <KEYWORD2>imagejpeg</KEYWORD2>\r
+                       <KEYWORD2>imagelayereffect</KEYWORD2>\r
+                       <KEYWORD2>imageline</KEYWORD2>\r
+                       <KEYWORD2>imageloadfont</KEYWORD2>\r
+                       <KEYWORD2>imagepalettecopy</KEYWORD2>\r
+                       <KEYWORD2>imagepng</KEYWORD2>\r
+                       <KEYWORD2>imagepolygon</KEYWORD2>\r
+                       <KEYWORD2>imagepsbbox</KEYWORD2>\r
+                       <KEYWORD2>imagepscopyfont</KEYWORD2>\r
+                       <KEYWORD2>imagepsencodefont</KEYWORD2>\r
+                       <KEYWORD2>imagepsextendfont</KEYWORD2>\r
+                       <KEYWORD2>imagepsfreefont</KEYWORD2>\r
+                       <KEYWORD2>imagepsloadfont</KEYWORD2>\r
+                       <KEYWORD2>imagepsslantfont</KEYWORD2>\r
+                       <KEYWORD2>imagepstext</KEYWORD2>\r
+                       <KEYWORD2>imagerectangle</KEYWORD2>\r
+                       <KEYWORD2>imagerotate</KEYWORD2>\r
+                       <KEYWORD2>imagesavealpha</KEYWORD2>\r
+                       <KEYWORD2>imagesetbrush</KEYWORD2>\r
+                       <KEYWORD2>imagesetpixel</KEYWORD2>\r
+                       <KEYWORD2>imagesetstyle</KEYWORD2>\r
+                       <KEYWORD2>imagesetthickness</KEYWORD2>\r
+                       <KEYWORD2>imagesettile</KEYWORD2>\r
+                       <KEYWORD2>imagestring</KEYWORD2>\r
+                       <KEYWORD2>imagestringup</KEYWORD2>\r
+                       <KEYWORD2>imagesx</KEYWORD2>\r
+                       <KEYWORD2>imagesy</KEYWORD2>\r
+                       <KEYWORD2>imagetruecolortopalette</KEYWORD2>\r
+                       <KEYWORD2>imagettfbbox</KEYWORD2>\r
+                       <KEYWORD2>imagettftext</KEYWORD2>\r
+                       <KEYWORD2>imagetypes</KEYWORD2>\r
+                       <KEYWORD2>imagewbmp</KEYWORD2>\r
+                       <KEYWORD2>imagexbm</KEYWORD2>\r
+                       <KEYWORD2>imap_8bit</KEYWORD2>\r
+                       <KEYWORD2>imap_alerts</KEYWORD2>\r
+                       <KEYWORD2>imap_append</KEYWORD2>\r
+                       <KEYWORD2>imap_base64</KEYWORD2>\r
+                       <KEYWORD2>imap_binary</KEYWORD2>\r
+                       <KEYWORD2>imap_body</KEYWORD2>\r
+                       <KEYWORD2>imap_bodystruct</KEYWORD2>\r
+                       <KEYWORD2>imap_check</KEYWORD2>\r
+                       <KEYWORD2>imap_clearflag_full</KEYWORD2>\r
+                       <KEYWORD2>imap_close</KEYWORD2>\r
+                       <KEYWORD2>imap_createmailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_delete</KEYWORD2>\r
+                       <KEYWORD2>imap_deletemailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_errors</KEYWORD2>\r
+                       <KEYWORD2>imap_expunge</KEYWORD2>\r
+                       <KEYWORD2>imap_fetch_overview</KEYWORD2>\r
+                       <KEYWORD2>imap_fetchbody</KEYWORD2>\r
+                       <KEYWORD2>imap_fetchheader</KEYWORD2>\r
+                       <KEYWORD2>imap_fetchstructure</KEYWORD2>\r
+                       <KEYWORD2>imap_get_quota</KEYWORD2>\r
+                       <KEYWORD2>imap_get_quotaroot</KEYWORD2>\r
+                       <KEYWORD2>imap_getacl</KEYWORD2>\r
+                       <KEYWORD2>imap_getmailboxes</KEYWORD2>\r
+                       <KEYWORD2>imap_getsubscribed</KEYWORD2>\r
+                       <KEYWORD2>imap_header</KEYWORD2>\r
+                       <KEYWORD2>imap_headerinfo</KEYWORD2>\r
+                       <KEYWORD2>imap_headers</KEYWORD2>\r
+                       <KEYWORD2>imap_last_error</KEYWORD2>\r
+                       <KEYWORD2>imap_list</KEYWORD2>\r
+                       <KEYWORD2>imap_listmailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_listscan</KEYWORD2>\r
+                       <KEYWORD2>imap_listsubscribed</KEYWORD2>\r
+                       <KEYWORD2>imap_lsub</KEYWORD2>\r
+                       <KEYWORD2>imap_mail</KEYWORD2>\r
+                       <KEYWORD2>imap_mail_compose</KEYWORD2>\r
+                       <KEYWORD2>imap_mail_copy</KEYWORD2>\r
+                       <KEYWORD2>imap_mail_move</KEYWORD2>\r
+                       <KEYWORD2>imap_mailboxmsginfo</KEYWORD2>\r
+                       <KEYWORD2>imap_mime_header_decode</KEYWORD2>\r
+                       <KEYWORD2>imap_msgno</KEYWORD2>\r
+                       <KEYWORD2>imap_num_msg</KEYWORD2>\r
+                       <KEYWORD2>imap_num_recent</KEYWORD2>\r
+                       <KEYWORD2>imap_open</KEYWORD2>\r
+                       <KEYWORD2>imap_ping</KEYWORD2>\r
+                       <KEYWORD2>imap_qprint</KEYWORD2>\r
+                       <KEYWORD2>imap_renamemailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_reopen</KEYWORD2>\r
+                       <KEYWORD2>imap_rfc822_parse_adrlist</KEYWORD2>\r
+                       <KEYWORD2>imap_rfc822_parse_headers</KEYWORD2>\r
+                       <KEYWORD2>imap_rfc822_write_address</KEYWORD2>\r
+                       <KEYWORD2>imap_scanmailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_search</KEYWORD2>\r
+                       <KEYWORD2>imap_set_quota</KEYWORD2>\r
+                       <KEYWORD2>imap_setacl</KEYWORD2>\r
+                       <KEYWORD2>imap_setflag_full</KEYWORD2>\r
+                       <KEYWORD2>imap_sort</KEYWORD2>\r
+                       <KEYWORD2>imap_status</KEYWORD2>\r
+                       <KEYWORD2>imap_subscribe</KEYWORD2>\r
+                       <KEYWORD2>imap_thread</KEYWORD2>\r
+                       <KEYWORD2>imap_timeout</KEYWORD2>\r
+                       <KEYWORD2>imap_uid</KEYWORD2>\r
+                       <KEYWORD2>imap_undelete</KEYWORD2>\r
+                       <KEYWORD2>imap_unsubscribe</KEYWORD2>\r
+                       <KEYWORD2>imap_utf7_decode</KEYWORD2>\r
+                       <KEYWORD2>imap_utf7_encode</KEYWORD2>\r
+                       <KEYWORD2>imap_utf8</KEYWORD2>\r
+                       <KEYWORD2>implode</KEYWORD2>\r
+                       <KEYWORD2>import</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>import_request_variables</KEYWORD2>\r
+                       <KEYWORD2>importnode</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>in_array</KEYWORD2>\r
+                       <KEYWORD2>increment</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>inet_ntop</KEYWORD2>\r
+                       <KEYWORD2>inet_pton</KEYWORD2>\r
+                       <KEYWORD2>info</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>ingres_autocommit</KEYWORD2>\r
+                       <KEYWORD2>ingres_close</KEYWORD2>\r
+                       <KEYWORD2>ingres_commit</KEYWORD2>\r
+                       <KEYWORD2>ingres_connect</KEYWORD2>\r
+                       <KEYWORD2>ingres_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>ingres_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>ingres_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_length</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_name</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_nullable</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_precision</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_scale</KEYWORD2>\r
+                       <KEYWORD2>ingres_field_type</KEYWORD2>\r
+                       <KEYWORD2>ingres_num_fields</KEYWORD2>\r
+                       <KEYWORD2>ingres_num_rows</KEYWORD2>\r
+                       <KEYWORD2>ingres_pconnect</KEYWORD2>\r
+                       <KEYWORD2>ingres_query</KEYWORD2>\r
+                       <KEYWORD2>ingres_rollback</KEYWORD2>\r
+                       <KEYWORD2>ini_alter</KEYWORD2>\r
+                       <KEYWORD2>ini_get</KEYWORD2>\r
+                       <KEYWORD2>ini_get_all</KEYWORD2>\r
+                       <KEYWORD2>ini_restore</KEYWORD2>\r
+                       <KEYWORD2>ini_set</KEYWORD2>\r
+                       <KEYWORD2>insert</KEYWORD2> <!-- hw_api, hw_api_object -->\r
+                       <KEYWORD2>insert_before</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>insertanchor</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>insertbefore</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>insertcollection</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>insertdata</KEYWORD2> <!-- domcharacterdata -->\r
+                       <KEYWORD2>insertdocument</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>interface_exists</KEYWORD2>\r
+                       <KEYWORD2>internal_subset</KEYWORD2> <!-- domdocumenttype -->\r
+                       <KEYWORD2>intval</KEYWORD2>\r
+                       <KEYWORD2>ip2long</KEYWORD2>\r
+                       <KEYWORD2>iptcembed</KEYWORD2>\r
+                       <KEYWORD2>iptcparse</KEYWORD2>\r
+                       <KEYWORD2>ircg_channel_mode</KEYWORD2>\r
+                       <KEYWORD2>ircg_disconnect</KEYWORD2>\r
+                       <KEYWORD2>ircg_eval_ecmascript_params</KEYWORD2>\r
+                       <KEYWORD2>ircg_fetch_error_msg</KEYWORD2>\r
+                       <KEYWORD2>ircg_get_username</KEYWORD2>\r
+                       <KEYWORD2>ircg_html_encode</KEYWORD2>\r
+                       <KEYWORD2>ircg_ignore_add</KEYWORD2>\r
+                       <KEYWORD2>ircg_ignore_del</KEYWORD2>\r
+                       <KEYWORD2>ircg_invite</KEYWORD2>\r
+                       <KEYWORD2>ircg_is_conn_alive</KEYWORD2>\r
+                       <KEYWORD2>ircg_join</KEYWORD2>\r
+                       <KEYWORD2>ircg_kick</KEYWORD2>\r
+                       <KEYWORD2>ircg_list</KEYWORD2>\r
+                       <KEYWORD2>ircg_lookup_format_messages</KEYWORD2>\r
+                       <KEYWORD2>ircg_lusers</KEYWORD2>\r
+                       <KEYWORD2>ircg_msg</KEYWORD2>\r
+                       <KEYWORD2>ircg_names</KEYWORD2>\r
+                       <KEYWORD2>ircg_nick</KEYWORD2>\r
+                       <KEYWORD2>ircg_nickname_escape</KEYWORD2>\r
+                       <KEYWORD2>ircg_nickname_unescape</KEYWORD2>\r
+                       <KEYWORD2>ircg_notice</KEYWORD2>\r
+                       <KEYWORD2>ircg_oper</KEYWORD2>\r
+                       <KEYWORD2>ircg_part</KEYWORD2>\r
+                       <KEYWORD2>ircg_pconnect</KEYWORD2>\r
+                       <KEYWORD2>ircg_register_format_messages</KEYWORD2>\r
+                       <KEYWORD2>ircg_set_current</KEYWORD2>\r
+                       <KEYWORD2>ircg_set_file</KEYWORD2>\r
+                       <KEYWORD2>ircg_set_on_die</KEYWORD2>\r
+                       <KEYWORD2>ircg_topic</KEYWORD2>\r
+                       <KEYWORD2>ircg_who</KEYWORD2>\r
+                       <KEYWORD2>ircg_whois</KEYWORD2>\r
+                       <KEYWORD2>is_a</KEYWORD2>\r
+                       <KEYWORD2>is_array</KEYWORD2>\r
+                       <KEYWORD2>is_blank_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>is_bool</KEYWORD2>\r
+                       <KEYWORD2>is_callable</KEYWORD2>\r
+                       <KEYWORD2>is_dir</KEYWORD2>\r
+                       <KEYWORD2>is_double</KEYWORD2>\r
+                       <KEYWORD2>is_executable</KEYWORD2>\r
+                       <KEYWORD2>is_file</KEYWORD2>\r
+                       <KEYWORD2>is_finite</KEYWORD2>\r
+                       <KEYWORD2>is_float</KEYWORD2>\r
+                       <KEYWORD2>is_infinite</KEYWORD2>\r
+                       <KEYWORD2>is_int</KEYWORD2>\r
+                       <KEYWORD2>is_integer</KEYWORD2>\r
+                       <KEYWORD2>is_link</KEYWORD2>\r
+                       <KEYWORD2>is_long</KEYWORD2>\r
+                       <KEYWORD2>is_nan</KEYWORD2>\r
+                       <KEYWORD2>is_null</KEYWORD2>\r
+                       <KEYWORD2>is_numeric</KEYWORD2>\r
+                       <KEYWORD2>is_object</KEYWORD2>\r
+                       <KEYWORD2>is_readable</KEYWORD2>\r
+                       <KEYWORD2>is_real</KEYWORD2>\r
+                       <KEYWORD2>is_resource</KEYWORD2>\r
+                       <KEYWORD2>is_scalar</KEYWORD2>\r
+                       <KEYWORD2>is_soap_fault</KEYWORD2>\r
+                       <KEYWORD2>is_string</KEYWORD2>\r
+                       <KEYWORD2>is_subclass_of</KEYWORD2>\r
+                       <KEYWORD2>is_uploaded_file</KEYWORD2>\r
+                       <KEYWORD2>is_writable</KEYWORD2>\r
+                       <KEYWORD2>is_writeable</KEYWORD2>\r
+                       <KEYWORD2>isasp</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>iscomment</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>isdir</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>isdot</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>isexecutable</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>isfile</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>ishtml</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>isid</KEYWORD2> <!-- domattr -->\r
+                       <KEYWORD2>isjste</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>islink</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>isphp</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>isreadable</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>issamenode</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>issupported</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>istext</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>iswhitespaceinelementcontent</KEYWORD2> <!-- domtext -->\r
+                       <KEYWORD2>iswritable</KEYWORD2> <!-- directoryiterator -->\r
+                       <KEYWORD2>isxhtml</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>isxml</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>item</KEYWORD2> <!-- domnamednodemap, domnodelist -->\r
+                       <KEYWORD2>iterator_count</KEYWORD2>\r
+                       <KEYWORD2>iterator_to_array</KEYWORD2>\r
+                       <KEYWORD2>java_last_exception_clear</KEYWORD2>\r
+                       <KEYWORD2>java_last_exception_get</KEYWORD2>\r
+                       <KEYWORD2>jddayofweek</KEYWORD2>\r
+                       <KEYWORD2>jdmonthname</KEYWORD2>\r
+                       <KEYWORD2>jdtofrench</KEYWORD2>\r
+                       <KEYWORD2>jdtogregorian</KEYWORD2>\r
+                       <KEYWORD2>jdtojewish</KEYWORD2>\r
+                       <KEYWORD2>jdtojulian</KEYWORD2>\r
+                       <KEYWORD2>jdtounix</KEYWORD2>\r
+                       <KEYWORD2>jewishtojd</KEYWORD2>\r
+                       <KEYWORD2>join</KEYWORD2>\r
+                       <KEYWORD2>jpeg2wbmp</KEYWORD2>\r
+                       <KEYWORD2>juliantojd</KEYWORD2>\r
+                       <KEYWORD2>key</KEYWORD2> <!-- arrayiterator, directoryiterator, filteriterator, hw_api_attribute, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator -->\r
+                       <KEYWORD2>krsort</KEYWORD2>\r
+                       <KEYWORD2>ksort</KEYWORD2>\r
+                       <KEYWORD2>langdepvalue</KEYWORD2> <!-- hw_api_attribute -->\r
+                       <KEYWORD2>last_child</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>lastinsertid</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>lcg_value</KEYWORD2>\r
+                       <KEYWORD2>ldap_8859_to_t61</KEYWORD2>\r
+                       <KEYWORD2>ldap_add</KEYWORD2>\r
+                       <KEYWORD2>ldap_bind</KEYWORD2>\r
+                       <KEYWORD2>ldap_close</KEYWORD2>\r
+                       <KEYWORD2>ldap_compare</KEYWORD2>\r
+                       <KEYWORD2>ldap_connect</KEYWORD2>\r
+                       <KEYWORD2>ldap_count_entries</KEYWORD2>\r
+                       <KEYWORD2>ldap_delete</KEYWORD2>\r
+                       <KEYWORD2>ldap_dn2ufn</KEYWORD2>\r
+                       <KEYWORD2>ldap_err2str</KEYWORD2>\r
+                       <KEYWORD2>ldap_errno</KEYWORD2>\r
+                       <KEYWORD2>ldap_error</KEYWORD2>\r
+                       <KEYWORD2>ldap_explode_dn</KEYWORD2>\r
+                       <KEYWORD2>ldap_first_attribute</KEYWORD2>\r
+                       <KEYWORD2>ldap_first_entry</KEYWORD2>\r
+                       <KEYWORD2>ldap_first_reference</KEYWORD2>\r
+                       <KEYWORD2>ldap_free_result</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_attributes</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_dn</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_entries</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_option</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_values</KEYWORD2>\r
+                       <KEYWORD2>ldap_get_values_len</KEYWORD2>\r
+                       <KEYWORD2>ldap_list</KEYWORD2>\r
+                       <KEYWORD2>ldap_mod_add</KEYWORD2>\r
+                       <KEYWORD2>ldap_mod_del</KEYWORD2>\r
+                       <KEYWORD2>ldap_mod_replace</KEYWORD2>\r
+                       <KEYWORD2>ldap_modify</KEYWORD2>\r
+                       <KEYWORD2>ldap_next_attribute</KEYWORD2>\r
+                       <KEYWORD2>ldap_next_entry</KEYWORD2>\r
+                       <KEYWORD2>ldap_next_reference</KEYWORD2>\r
+                       <KEYWORD2>ldap_parse_reference</KEYWORD2>\r
+                       <KEYWORD2>ldap_parse_result</KEYWORD2>\r
+                       <KEYWORD2>ldap_read</KEYWORD2>\r
+                       <KEYWORD2>ldap_rename</KEYWORD2>\r
+                       <KEYWORD2>ldap_sasl_bind</KEYWORD2>\r
+                       <KEYWORD2>ldap_search</KEYWORD2>\r
+                       <KEYWORD2>ldap_set_option</KEYWORD2>\r
+                       <KEYWORD2>ldap_set_rebind_proc</KEYWORD2>\r
+                       <KEYWORD2>ldap_sort</KEYWORD2>\r
+                       <KEYWORD2>ldap_start_tls</KEYWORD2>\r
+                       <KEYWORD2>ldap_t61_to_8859</KEYWORD2>\r
+                       <KEYWORD2>ldap_unbind</KEYWORD2>\r
+                       <KEYWORD2>levenshtein</KEYWORD2>\r
+                       <KEYWORD2>link</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>linkinfo</KEYWORD2>\r
+                       <KEYWORD2>load</KEYWORD2> <!-- domdocument, lob -->\r
+                       <KEYWORD2>loadhtml</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>loadhtmlfile</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>loadxml</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>localeconv</KEYWORD2>\r
+                       <KEYWORD2>localtime</KEYWORD2>\r
+                       <KEYWORD2>lock</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>log</KEYWORD2>\r
+                       <KEYWORD2>log10</KEYWORD2>\r
+                       <KEYWORD2>log1p</KEYWORD2>\r
+                       <KEYWORD2>long2ip</KEYWORD2>\r
+                       <KEYWORD2>lookupnamespaceuri</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>lookupprefix</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>lstat</KEYWORD2>\r
+                       <KEYWORD2>ltrim</KEYWORD2>\r
+                       <KEYWORD2>lzf_compress</KEYWORD2>\r
+                       <KEYWORD2>lzf_decompress</KEYWORD2>\r
+                       <KEYWORD2>lzf_optimized_for</KEYWORD2>\r
+                       <KEYWORD2>mail</KEYWORD2>\r
+                       <KEYWORD2>mailparse_determine_best_xfer_encoding</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_create</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_extract_part</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_extract_part_file</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_free</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_get_part</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_get_part_data</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_get_structure</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_parse</KEYWORD2>\r
+                       <KEYWORD2>mailparse_msg_parse_file</KEYWORD2>\r
+                       <KEYWORD2>mailparse_rfc822_parse_addresses</KEYWORD2>\r
+                       <KEYWORD2>mailparse_stream_encode</KEYWORD2>\r
+                       <KEYWORD2>mailparse_uudecode_all</KEYWORD2>\r
+                       <KEYWORD2>main</KEYWORD2>\r
+                       <KEYWORD2>max</KEYWORD2> <!-- collection -->\r
+                       <KEYWORD2>mb_convert_case</KEYWORD2>\r
+                       <KEYWORD2>mb_convert_encoding</KEYWORD2>\r
+                       <KEYWORD2>mb_convert_kana</KEYWORD2>\r
+                       <KEYWORD2>mb_convert_variables</KEYWORD2>\r
+                       <KEYWORD2>mb_decode_mimeheader</KEYWORD2>\r
+                       <KEYWORD2>mb_decode_numericentity</KEYWORD2>\r
+                       <KEYWORD2>mb_detect_encoding</KEYWORD2>\r
+                       <KEYWORD2>mb_detect_order</KEYWORD2>\r
+                       <KEYWORD2>mb_encode_mimeheader</KEYWORD2>\r
+                       <KEYWORD2>mb_encode_numericentity</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_match</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_replace</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_getpos</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_getregs</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_init</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_pos</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_regs</KEYWORD2>\r
+                       <KEYWORD2>mb_ereg_search_setpos</KEYWORD2>\r
+                       <KEYWORD2>mb_eregi</KEYWORD2>\r
+                       <KEYWORD2>mb_eregi_replace</KEYWORD2>\r
+                       <KEYWORD2>mb_get_info</KEYWORD2>\r
+                       <KEYWORD2>mb_http_input</KEYWORD2>\r
+                       <KEYWORD2>mb_http_output</KEYWORD2>\r
+                       <KEYWORD2>mb_internal_encoding</KEYWORD2>\r
+                       <KEYWORD2>mb_language</KEYWORD2>\r
+                       <KEYWORD2>mb_list_encodings</KEYWORD2>\r
+                       <KEYWORD2>mb_output_handler</KEYWORD2>\r
+                       <KEYWORD2>mb_parse_str</KEYWORD2>\r
+                       <KEYWORD2>mb_preferred_mime_name</KEYWORD2>\r
+                       <KEYWORD2>mb_regex_encoding</KEYWORD2>\r
+                       <KEYWORD2>mb_regex_set_options</KEYWORD2>\r
+                       <KEYWORD2>mb_send_mail</KEYWORD2>\r
+                       <KEYWORD2>mb_split</KEYWORD2>\r
+                       <KEYWORD2>mb_strcut</KEYWORD2>\r
+                       <KEYWORD2>mb_strimwidth</KEYWORD2>\r
+                       <KEYWORD2>mb_strlen</KEYWORD2>\r
+                       <KEYWORD2>mb_strpos</KEYWORD2>\r
+                       <KEYWORD2>mb_strrpos</KEYWORD2>\r
+                       <KEYWORD2>mb_strtolower</KEYWORD2>\r
+                       <KEYWORD2>mb_strtoupper</KEYWORD2>\r
+                       <KEYWORD2>mb_strwidth</KEYWORD2>\r
+                       <KEYWORD2>mb_substitute_character</KEYWORD2>\r
+                       <KEYWORD2>mb_substr</KEYWORD2>\r
+                       <KEYWORD2>mb_substr_count</KEYWORD2>\r
+                       <KEYWORD2>mcal_append_event</KEYWORD2>\r
+                       <KEYWORD2>mcal_close</KEYWORD2>\r
+                       <KEYWORD2>mcal_create_calendar</KEYWORD2>\r
+                       <KEYWORD2>mcal_date_compare</KEYWORD2>\r
+                       <KEYWORD2>mcal_date_valid</KEYWORD2>\r
+                       <KEYWORD2>mcal_day_of_week</KEYWORD2>\r
+                       <KEYWORD2>mcal_day_of_year</KEYWORD2>\r
+                       <KEYWORD2>mcal_days_in_month</KEYWORD2>\r
+                       <KEYWORD2>mcal_delete_calendar</KEYWORD2>\r
+                       <KEYWORD2>mcal_delete_event</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_add_attribute</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_init</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_alarm</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_category</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_class</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_description</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_end</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_daily</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_monthly_mday</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_monthly_wday</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_none</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_weekly</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_recur_yearly</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_start</KEYWORD2>\r
+                       <KEYWORD2>mcal_event_set_title</KEYWORD2>\r
+                       <KEYWORD2>mcal_expunge</KEYWORD2>\r
+                       <KEYWORD2>mcal_fetch_current_stream_event</KEYWORD2>\r
+                       <KEYWORD2>mcal_fetch_event</KEYWORD2>\r
+                       <KEYWORD2>mcal_is_leap_year</KEYWORD2>\r
+                       <KEYWORD2>mcal_list_alarms</KEYWORD2>\r
+                       <KEYWORD2>mcal_list_events</KEYWORD2>\r
+                       <KEYWORD2>mcal_next_recurrence</KEYWORD2>\r
+                       <KEYWORD2>mcal_open</KEYWORD2>\r
+                       <KEYWORD2>mcal_popen</KEYWORD2>\r
+                       <KEYWORD2>mcal_rename_calendar</KEYWORD2>\r
+                       <KEYWORD2>mcal_reopen</KEYWORD2>\r
+                       <KEYWORD2>mcal_snooze</KEYWORD2>\r
+                       <KEYWORD2>mcal_store_event</KEYWORD2>\r
+                       <KEYWORD2>mcal_time_valid</KEYWORD2>\r
+                       <KEYWORD2>mcal_week_of_year</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_cbc</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_cfb</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_create_iv</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_decrypt</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_ecb</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_algorithms_name</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_block_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_iv_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_key_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_modes_name</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_get_supported_key_sizes</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_is_block_algorithm</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_is_block_algorithm_mode</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_is_block_mode</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_enc_self_test</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_encrypt</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_generic</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_generic_deinit</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_generic_end</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_generic_init</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_get_block_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_get_cipher_name</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_get_iv_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_get_key_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_list_algorithms</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_list_modes</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_close</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_get_algo_block_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_get_algo_key_size</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_get_supported_key_sizes</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_is_block_algorithm</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_is_block_algorithm_mode</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_is_block_mode</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_open</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_module_self_test</KEYWORD2>\r
+                       <KEYWORD2>mcrypt_ofb</KEYWORD2>\r
+                       <KEYWORD2>mcve_adduser</KEYWORD2>\r
+                       <KEYWORD2>mcve_adduserarg</KEYWORD2>\r
+                       <KEYWORD2>mcve_bt</KEYWORD2>\r
+                       <KEYWORD2>mcve_checkstatus</KEYWORD2>\r
+                       <KEYWORD2>mcve_chkpwd</KEYWORD2>\r
+                       <KEYWORD2>mcve_chngpwd</KEYWORD2>\r
+                       <KEYWORD2>mcve_completeauthorizations</KEYWORD2>\r
+                       <KEYWORD2>mcve_connect</KEYWORD2>\r
+                       <KEYWORD2>mcve_connectionerror</KEYWORD2>\r
+                       <KEYWORD2>mcve_deleteresponse</KEYWORD2>\r
+                       <KEYWORD2>mcve_deletetrans</KEYWORD2>\r
+                       <KEYWORD2>mcve_deleteusersetup</KEYWORD2>\r
+                       <KEYWORD2>mcve_deluser</KEYWORD2>\r
+                       <KEYWORD2>mcve_destroyconn</KEYWORD2>\r
+                       <KEYWORD2>mcve_destroyengine</KEYWORD2>\r
+                       <KEYWORD2>mcve_disableuser</KEYWORD2>\r
+                       <KEYWORD2>mcve_edituser</KEYWORD2>\r
+                       <KEYWORD2>mcve_enableuser</KEYWORD2>\r
+                       <KEYWORD2>mcve_force</KEYWORD2>\r
+                       <KEYWORD2>mcve_getcell</KEYWORD2>\r
+                       <KEYWORD2>mcve_getcellbynum</KEYWORD2>\r
+                       <KEYWORD2>mcve_getcommadelimited</KEYWORD2>\r
+                       <KEYWORD2>mcve_getheader</KEYWORD2>\r
+                       <KEYWORD2>mcve_getuserarg</KEYWORD2>\r
+                       <KEYWORD2>mcve_getuserparam</KEYWORD2>\r
+                       <KEYWORD2>mcve_gft</KEYWORD2>\r
+                       <KEYWORD2>mcve_gl</KEYWORD2>\r
+                       <KEYWORD2>mcve_gut</KEYWORD2>\r
+                       <KEYWORD2>mcve_initconn</KEYWORD2>\r
+                       <KEYWORD2>mcve_initengine</KEYWORD2>\r
+                       <KEYWORD2>mcve_initusersetup</KEYWORD2>\r
+                       <KEYWORD2>mcve_iscommadelimited</KEYWORD2>\r
+                       <KEYWORD2>mcve_liststats</KEYWORD2>\r
+                       <KEYWORD2>mcve_listusers</KEYWORD2>\r
+                       <KEYWORD2>mcve_maxconntimeout</KEYWORD2>\r
+                       <KEYWORD2>mcve_monitor</KEYWORD2>\r
+                       <KEYWORD2>mcve_numcolumns</KEYWORD2>\r
+                       <KEYWORD2>mcve_numrows</KEYWORD2>\r
+                       <KEYWORD2>mcve_override</KEYWORD2>\r
+                       <KEYWORD2>mcve_parsecommadelimited</KEYWORD2>\r
+                       <KEYWORD2>mcve_ping</KEYWORD2>\r
+                       <KEYWORD2>mcve_preauth</KEYWORD2>\r
+                       <KEYWORD2>mcve_preauthcompletion</KEYWORD2>\r
+                       <KEYWORD2>mcve_qc</KEYWORD2>\r
+                       <KEYWORD2>mcve_responseparam</KEYWORD2>\r
+                       <KEYWORD2>mcve_return</KEYWORD2>\r
+                       <KEYWORD2>mcve_returncode</KEYWORD2>\r
+                       <KEYWORD2>mcve_returnstatus</KEYWORD2>\r
+                       <KEYWORD2>mcve_sale</KEYWORD2>\r
+                       <KEYWORD2>mcve_setblocking</KEYWORD2>\r
+                       <KEYWORD2>mcve_setdropfile</KEYWORD2>\r
+                       <KEYWORD2>mcve_setip</KEYWORD2>\r
+                       <KEYWORD2>mcve_setssl</KEYWORD2>\r
+                       <KEYWORD2>mcve_setssl_files</KEYWORD2>\r
+                       <KEYWORD2>mcve_settimeout</KEYWORD2>\r
+                       <KEYWORD2>mcve_settle</KEYWORD2>\r
+                       <KEYWORD2>mcve_text_avs</KEYWORD2>\r
+                       <KEYWORD2>mcve_text_code</KEYWORD2>\r
+                       <KEYWORD2>mcve_text_cv</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionauth</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionavs</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionbatch</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactioncv</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionid</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionitem</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactionssent</KEYWORD2>\r
+                       <KEYWORD2>mcve_transactiontext</KEYWORD2>\r
+                       <KEYWORD2>mcve_transinqueue</KEYWORD2>\r
+                       <KEYWORD2>mcve_transnew</KEYWORD2>\r
+                       <KEYWORD2>mcve_transparam</KEYWORD2>\r
+                       <KEYWORD2>mcve_transsend</KEYWORD2>\r
+                       <KEYWORD2>mcve_ub</KEYWORD2>\r
+                       <KEYWORD2>mcve_uwait</KEYWORD2>\r
+                       <KEYWORD2>mcve_verifyconnection</KEYWORD2>\r
+                       <KEYWORD2>mcve_verifysslcert</KEYWORD2>\r
+                       <KEYWORD2>mcve_void</KEYWORD2>\r
+                       <KEYWORD2>md5</KEYWORD2>\r
+                       <KEYWORD2>md5_file</KEYWORD2>\r
+                       <KEYWORD2>mdecrypt_generic</KEYWORD2>\r
+                       <KEYWORD2>memcache_debug</KEYWORD2>\r
+                       <KEYWORD2>memory_get_usage</KEYWORD2>\r
+                       <KEYWORD2>metaphone</KEYWORD2>\r
+                       <KEYWORD2>method_exists</KEYWORD2>\r
+                       <KEYWORD2>mhash</KEYWORD2>\r
+                       <KEYWORD2>mhash_count</KEYWORD2>\r
+                       <KEYWORD2>mhash_get_block_size</KEYWORD2>\r
+                       <KEYWORD2>mhash_get_hash_name</KEYWORD2>\r
+                       <KEYWORD2>mhash_keygen_s2k</KEYWORD2>\r
+                       <KEYWORD2>microtime</KEYWORD2>\r
+                       <KEYWORD2>mime_content_type</KEYWORD2>\r
+                       <KEYWORD2>mimetype</KEYWORD2> <!-- hw_api_content -->\r
+                       <KEYWORD2>min</KEYWORD2>\r
+                       <KEYWORD2>ming_setcubicthreshold</KEYWORD2>\r
+                       <KEYWORD2>ming_setscale</KEYWORD2>\r
+                       <KEYWORD2>ming_useswfversion</KEYWORD2>\r
+                       <KEYWORD2>mkdir</KEYWORD2>\r
+                       <KEYWORD2>mktime</KEYWORD2>\r
+                       <KEYWORD2>money_format</KEYWORD2>\r
+                       <KEYWORD2>move</KEYWORD2> <!-- hw_api, swfdisplayitem -->\r
+                       <KEYWORD2>move_uploaded_file</KEYWORD2>\r
+                       <KEYWORD2>movepen</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>movepento</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>moveto</KEYWORD2> <!-- swfdisplayitem, swffill, swftext -->\r
+                       <KEYWORD2>msession_connect</KEYWORD2>\r
+                       <KEYWORD2>msession_count</KEYWORD2>\r
+                       <KEYWORD2>msession_create</KEYWORD2>\r
+                       <KEYWORD2>msession_destroy</KEYWORD2>\r
+                       <KEYWORD2>msession_disconnect</KEYWORD2>\r
+                       <KEYWORD2>msession_find</KEYWORD2>\r
+                       <KEYWORD2>msession_get</KEYWORD2>\r
+                       <KEYWORD2>msession_get_array</KEYWORD2>\r
+                       <KEYWORD2>msession_get_data</KEYWORD2>\r
+                       <KEYWORD2>msession_inc</KEYWORD2>\r
+                       <KEYWORD2>msession_list</KEYWORD2>\r
+                       <KEYWORD2>msession_listvar</KEYWORD2>\r
+                       <KEYWORD2>msession_lock</KEYWORD2>\r
+                       <KEYWORD2>msession_plugin</KEYWORD2>\r
+                       <KEYWORD2>msession_randstr</KEYWORD2>\r
+                       <KEYWORD2>msession_set</KEYWORD2>\r
+                       <KEYWORD2>msession_set_array</KEYWORD2>\r
+                       <KEYWORD2>msession_set_data</KEYWORD2>\r
+                       <KEYWORD2>msession_timeout</KEYWORD2>\r
+                       <KEYWORD2>msession_uniq</KEYWORD2>\r
+                       <KEYWORD2>msession_unlock</KEYWORD2>\r
+                       <KEYWORD2>msg_get_queue</KEYWORD2>\r
+                       <KEYWORD2>msg_receive</KEYWORD2>\r
+                       <KEYWORD2>msg_remove_queue</KEYWORD2>\r
+                       <KEYWORD2>msg_send</KEYWORD2>\r
+                       <KEYWORD2>msg_set_queue</KEYWORD2>\r
+                       <KEYWORD2>msg_stat_queue</KEYWORD2>\r
+                       <KEYWORD2>msql</KEYWORD2>\r
+                       <KEYWORD2>msql_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>msql_close</KEYWORD2>\r
+                       <KEYWORD2>msql_connect</KEYWORD2>\r
+                       <KEYWORD2>msql_create_db</KEYWORD2>\r
+                       <KEYWORD2>msql_createdb</KEYWORD2>\r
+                       <KEYWORD2>msql_data_seek</KEYWORD2>\r
+                       <KEYWORD2>msql_db_query</KEYWORD2>\r
+                       <KEYWORD2>msql_dbname</KEYWORD2>\r
+                       <KEYWORD2>msql_drop_db</KEYWORD2>\r
+                       <KEYWORD2>msql_error</KEYWORD2>\r
+                       <KEYWORD2>msql_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>msql_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>msql_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>msql_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>msql_field_flags</KEYWORD2>\r
+                       <KEYWORD2>msql_field_len</KEYWORD2>\r
+                       <KEYWORD2>msql_field_name</KEYWORD2>\r
+                       <KEYWORD2>msql_field_seek</KEYWORD2>\r
+                       <KEYWORD2>msql_field_table</KEYWORD2>\r
+                       <KEYWORD2>msql_field_type</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldflags</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldlen</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldname</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldtable</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldtype</KEYWORD2>\r
+                       <KEYWORD2>msql_free_result</KEYWORD2>\r
+                       <KEYWORD2>msql_list_dbs</KEYWORD2>\r
+                       <KEYWORD2>msql_list_fields</KEYWORD2>\r
+                       <KEYWORD2>msql_list_tables</KEYWORD2>\r
+                       <KEYWORD2>msql_num_fields</KEYWORD2>\r
+                       <KEYWORD2>msql_num_rows</KEYWORD2>\r
+                       <KEYWORD2>msql_numfields</KEYWORD2>\r
+                       <KEYWORD2>msql_numrows</KEYWORD2>\r
+                       <KEYWORD2>msql_pconnect</KEYWORD2>\r
+                       <KEYWORD2>msql_query</KEYWORD2>\r
+                       <KEYWORD2>msql_regcase</KEYWORD2>\r
+                       <KEYWORD2>msql_result</KEYWORD2>\r
+                       <KEYWORD2>msql_select_db</KEYWORD2>\r
+                       <KEYWORD2>msql_tablename</KEYWORD2>\r
+                       <KEYWORD2>mssql_bind</KEYWORD2>\r
+                       <KEYWORD2>mssql_close</KEYWORD2>\r
+                       <KEYWORD2>mssql_connect</KEYWORD2>\r
+                       <KEYWORD2>mssql_data_seek</KEYWORD2>\r
+                       <KEYWORD2>mssql_execute</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_batch</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>mssql_field_length</KEYWORD2>\r
+                       <KEYWORD2>mssql_field_name</KEYWORD2>\r
+                       <KEYWORD2>mssql_field_seek</KEYWORD2>\r
+                       <KEYWORD2>mssql_field_type</KEYWORD2>\r
+                       <KEYWORD2>mssql_free_result</KEYWORD2>\r
+                       <KEYWORD2>mssql_free_statement</KEYWORD2>\r
+                       <KEYWORD2>mssql_get_last_message</KEYWORD2>\r
+                       <KEYWORD2>mssql_guid_string</KEYWORD2>\r
+                       <KEYWORD2>mssql_init</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_error_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_message_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_next_result</KEYWORD2>\r
+                       <KEYWORD2>mssql_num_fields</KEYWORD2>\r
+                       <KEYWORD2>mssql_num_rows</KEYWORD2>\r
+                       <KEYWORD2>mssql_pconnect</KEYWORD2>\r
+                       <KEYWORD2>mssql_query</KEYWORD2>\r
+                       <KEYWORD2>mssql_result</KEYWORD2>\r
+                       <KEYWORD2>mssql_rows_affected</KEYWORD2>\r
+                       <KEYWORD2>mssql_select_db</KEYWORD2>\r
+                       <KEYWORD2>mt_getrandmax</KEYWORD2>\r
+                       <KEYWORD2>mt_rand</KEYWORD2>\r
+                       <KEYWORD2>mt_srand</KEYWORD2>\r
+                       <KEYWORD2>multcolor</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>muscat_close</KEYWORD2>\r
+                       <KEYWORD2>muscat_get</KEYWORD2>\r
+                       <KEYWORD2>muscat_give</KEYWORD2>\r
+                       <KEYWORD2>muscat_setup</KEYWORD2>\r
+                       <KEYWORD2>muscat_setup_net</KEYWORD2>\r
+                       <KEYWORD2>mysql_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>mysql_change_user</KEYWORD2>\r
+                       <KEYWORD2>mysql_client_encoding</KEYWORD2>\r
+                       <KEYWORD2>mysql_close</KEYWORD2>\r
+                       <KEYWORD2>mysql_connect</KEYWORD2>\r
+                       <KEYWORD2>mysql_create_db</KEYWORD2>\r
+                       <KEYWORD2>mysql_data_seek</KEYWORD2>\r
+                       <KEYWORD2>mysql_db_name</KEYWORD2>\r
+                       <KEYWORD2>mysql_db_query</KEYWORD2>\r
+                       <KEYWORD2>mysql_drop_db</KEYWORD2>\r
+                       <KEYWORD2>mysql_errno</KEYWORD2>\r
+                       <KEYWORD2>mysql_error</KEYWORD2>\r
+                       <KEYWORD2>mysql_escape_string</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_lengths</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>mysql_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_flags</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_len</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_name</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_seek</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_table</KEYWORD2>\r
+                       <KEYWORD2>mysql_field_type</KEYWORD2>\r
+                       <KEYWORD2>mysql_free_result</KEYWORD2>\r
+                       <KEYWORD2>mysql_get_client_info</KEYWORD2>\r
+                       <KEYWORD2>mysql_get_host_info</KEYWORD2>\r
+                       <KEYWORD2>mysql_get_proto_info</KEYWORD2>\r
+                       <KEYWORD2>mysql_get_server_info</KEYWORD2>\r
+                       <KEYWORD2>mysql_info</KEYWORD2>\r
+                       <KEYWORD2>mysql_insert_id</KEYWORD2>\r
+                       <KEYWORD2>mysql_list_dbs</KEYWORD2>\r
+                       <KEYWORD2>mysql_list_fields</KEYWORD2>\r
+                       <KEYWORD2>mysql_list_processes</KEYWORD2>\r
+                       <KEYWORD2>mysql_list_tables</KEYWORD2>\r
+                       <KEYWORD2>mysql_num_fields</KEYWORD2>\r
+                       <KEYWORD2>mysql_num_rows</KEYWORD2>\r
+                       <KEYWORD2>mysql_pconnect</KEYWORD2>\r
+                       <KEYWORD2>mysql_ping</KEYWORD2>\r
+                       <KEYWORD2>mysql_query</KEYWORD2>\r
+                       <KEYWORD2>mysql_real_escape_string</KEYWORD2>\r
+                       <KEYWORD2>mysql_result</KEYWORD2>\r
+                       <KEYWORD2>mysql_select_db</KEYWORD2>\r
+                       <KEYWORD2>mysql_stat</KEYWORD2>\r
+                       <KEYWORD2>mysql_tablename</KEYWORD2>\r
+                       <KEYWORD2>mysql_thread_id</KEYWORD2>\r
+                       <KEYWORD2>mysql_unbuffered_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>mysqli_autocommit</KEYWORD2>\r
+                       <KEYWORD2>mysqli_bind_param</KEYWORD2>\r
+                       <KEYWORD2>mysqli_bind_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_change_user</KEYWORD2>\r
+                       <KEYWORD2>mysqli_character_set_name</KEYWORD2>\r
+                       <KEYWORD2>mysqli_client_encoding</KEYWORD2>\r
+                       <KEYWORD2>mysqli_close</KEYWORD2>\r
+                       <KEYWORD2>mysqli_commit</KEYWORD2>\r
+                       <KEYWORD2>mysqli_connect</KEYWORD2>\r
+                       <KEYWORD2>mysqli_connect_errno</KEYWORD2>\r
+                       <KEYWORD2>mysqli_connect_error</KEYWORD2>\r
+                       <KEYWORD2>mysqli_data_seek</KEYWORD2>\r
+                       <KEYWORD2>mysqli_debug</KEYWORD2>\r
+                       <KEYWORD2>mysqli_disable_reads_from_master</KEYWORD2>\r
+                       <KEYWORD2>mysqli_disable_rpl_parse</KEYWORD2>\r
+                       <KEYWORD2>mysqli_dump_debug_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_embedded_connect</KEYWORD2>\r
+                       <KEYWORD2>mysqli_enable_reads_from_master</KEYWORD2>\r
+                       <KEYWORD2>mysqli_enable_rpl_parse</KEYWORD2>\r
+                       <KEYWORD2>mysqli_errno</KEYWORD2>\r
+                       <KEYWORD2>mysqli_error</KEYWORD2>\r
+                       <KEYWORD2>mysqli_escape_string</KEYWORD2>\r
+                       <KEYWORD2>mysqli_execute</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_field_direct</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_fields</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_lengths</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>mysqli_field_count</KEYWORD2>\r
+                       <KEYWORD2>mysqli_field_seek</KEYWORD2>\r
+                       <KEYWORD2>mysqli_field_tell</KEYWORD2>\r
+                       <KEYWORD2>mysqli_free_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_client_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_client_version</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_host_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_metadata</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_proto_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_server_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_get_server_version</KEYWORD2>\r
+                       <KEYWORD2>mysqli_info</KEYWORD2>\r
+                       <KEYWORD2>mysqli_init</KEYWORD2>\r
+                       <KEYWORD2>mysqli_insert_id</KEYWORD2>\r
+                       <KEYWORD2>mysqli_kill</KEYWORD2>\r
+                       <KEYWORD2>mysqli_master_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_more_results</KEYWORD2>\r
+                       <KEYWORD2>mysqli_multi_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_next_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_num_fields</KEYWORD2>\r
+                       <KEYWORD2>mysqli_num_rows</KEYWORD2>\r
+                       <KEYWORD2>mysqli_options</KEYWORD2>\r
+                       <KEYWORD2>mysqli_param_count</KEYWORD2>\r
+                       <KEYWORD2>mysqli_ping</KEYWORD2>\r
+                       <KEYWORD2>mysqli_prepare</KEYWORD2>\r
+                       <KEYWORD2>mysqli_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_real_connect</KEYWORD2>\r
+                       <KEYWORD2>mysqli_real_escape_string</KEYWORD2>\r
+                       <KEYWORD2>mysqli_real_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_report</KEYWORD2>\r
+                       <KEYWORD2>mysqli_rollback</KEYWORD2>\r
+                       <KEYWORD2>mysqli_rpl_parse_enabled</KEYWORD2>\r
+                       <KEYWORD2>mysqli_rpl_probe</KEYWORD2>\r
+                       <KEYWORD2>mysqli_rpl_query_type</KEYWORD2>\r
+                       <KEYWORD2>mysqli_select_db</KEYWORD2>\r
+                       <KEYWORD2>mysqli_send_long_data</KEYWORD2>\r
+                       <KEYWORD2>mysqli_send_query</KEYWORD2>\r
+                       <KEYWORD2>mysqli_server_end</KEYWORD2>\r
+                       <KEYWORD2>mysqli_server_init</KEYWORD2>\r
+                       <KEYWORD2>mysqli_set_opt</KEYWORD2>\r
+                       <KEYWORD2>mysqli_sqlstate</KEYWORD2>\r
+                       <KEYWORD2>mysqli_ssl_set</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stat</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_bind_param</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_bind_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_close</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_data_seek</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_errno</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_error</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_execute</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_fetch</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_free_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_init</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_num_rows</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_param_count</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_prepare</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_reset</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_result_metadata</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_send_long_data</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_sqlstate</KEYWORD2>\r
+                       <KEYWORD2>mysqli_stmt_store_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_store_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_thread_id</KEYWORD2>\r
+                       <KEYWORD2>mysqli_thread_safe</KEYWORD2>\r
+                       <KEYWORD2>mysqli_use_result</KEYWORD2>\r
+                       <KEYWORD2>mysqli_warning_count</KEYWORD2>\r
+                       <KEYWORD2>name</KEYWORD2> <!-- domattribute, domdocumenttype -->\r
+                       <KEYWORD2>natcasesort</KEYWORD2>\r
+                       <KEYWORD2>natsort</KEYWORD2>\r
+                       <KEYWORD2>ncurses_addch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_addchnstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_addchstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_addnstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_addstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_assume_default_colors</KEYWORD2>\r
+                       <KEYWORD2>ncurses_attroff</KEYWORD2>\r
+                       <KEYWORD2>ncurses_attron</KEYWORD2>\r
+                       <KEYWORD2>ncurses_attrset</KEYWORD2>\r
+                       <KEYWORD2>ncurses_baudrate</KEYWORD2>\r
+                       <KEYWORD2>ncurses_beep</KEYWORD2>\r
+                       <KEYWORD2>ncurses_bkgd</KEYWORD2>\r
+                       <KEYWORD2>ncurses_bkgdset</KEYWORD2>\r
+                       <KEYWORD2>ncurses_border</KEYWORD2>\r
+                       <KEYWORD2>ncurses_bottom_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_can_change_color</KEYWORD2>\r
+                       <KEYWORD2>ncurses_cbreak</KEYWORD2>\r
+                       <KEYWORD2>ncurses_clear</KEYWORD2>\r
+                       <KEYWORD2>ncurses_clrtobot</KEYWORD2>\r
+                       <KEYWORD2>ncurses_clrtoeol</KEYWORD2>\r
+                       <KEYWORD2>ncurses_color_content</KEYWORD2>\r
+                       <KEYWORD2>ncurses_color_set</KEYWORD2>\r
+                       <KEYWORD2>ncurses_curs_set</KEYWORD2>\r
+                       <KEYWORD2>ncurses_def_prog_mode</KEYWORD2>\r
+                       <KEYWORD2>ncurses_def_shell_mode</KEYWORD2>\r
+                       <KEYWORD2>ncurses_define_key</KEYWORD2>\r
+                       <KEYWORD2>ncurses_del_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_delay_output</KEYWORD2>\r
+                       <KEYWORD2>ncurses_delch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_deleteln</KEYWORD2>\r
+                       <KEYWORD2>ncurses_delwin</KEYWORD2>\r
+                       <KEYWORD2>ncurses_doupdate</KEYWORD2>\r
+                       <KEYWORD2>ncurses_echo</KEYWORD2>\r
+                       <KEYWORD2>ncurses_echochar</KEYWORD2>\r
+                       <KEYWORD2>ncurses_end</KEYWORD2>\r
+                       <KEYWORD2>ncurses_erase</KEYWORD2>\r
+                       <KEYWORD2>ncurses_erasechar</KEYWORD2>\r
+                       <KEYWORD2>ncurses_filter</KEYWORD2>\r
+                       <KEYWORD2>ncurses_flash</KEYWORD2>\r
+                       <KEYWORD2>ncurses_flushinp</KEYWORD2>\r
+                       <KEYWORD2>ncurses_getch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_getmaxyx</KEYWORD2>\r
+                       <KEYWORD2>ncurses_getmouse</KEYWORD2>\r
+                       <KEYWORD2>ncurses_getyx</KEYWORD2>\r
+                       <KEYWORD2>ncurses_halfdelay</KEYWORD2>\r
+                       <KEYWORD2>ncurses_has_colors</KEYWORD2>\r
+                       <KEYWORD2>ncurses_has_ic</KEYWORD2>\r
+                       <KEYWORD2>ncurses_has_il</KEYWORD2>\r
+                       <KEYWORD2>ncurses_has_key</KEYWORD2>\r
+                       <KEYWORD2>ncurses_hide_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_hline</KEYWORD2>\r
+                       <KEYWORD2>ncurses_inch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_init</KEYWORD2>\r
+                       <KEYWORD2>ncurses_init_color</KEYWORD2>\r
+                       <KEYWORD2>ncurses_init_pair</KEYWORD2>\r
+                       <KEYWORD2>ncurses_insch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_insdelln</KEYWORD2>\r
+                       <KEYWORD2>ncurses_insertln</KEYWORD2>\r
+                       <KEYWORD2>ncurses_insstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_instr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_isendwin</KEYWORD2>\r
+                       <KEYWORD2>ncurses_keyok</KEYWORD2>\r
+                       <KEYWORD2>ncurses_keypad</KEYWORD2>\r
+                       <KEYWORD2>ncurses_killchar</KEYWORD2>\r
+                       <KEYWORD2>ncurses_longname</KEYWORD2>\r
+                       <KEYWORD2>ncurses_meta</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mouse_trafo</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mouseinterval</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mousemask</KEYWORD2>\r
+                       <KEYWORD2>ncurses_move</KEYWORD2>\r
+                       <KEYWORD2>ncurses_move_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvaddch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvaddchnstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvaddchstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvaddnstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvaddstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvcur</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvdelch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvgetch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvhline</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvinch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvvline</KEYWORD2>\r
+                       <KEYWORD2>ncurses_mvwaddstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_napms</KEYWORD2>\r
+                       <KEYWORD2>ncurses_new_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_newpad</KEYWORD2>\r
+                       <KEYWORD2>ncurses_newwin</KEYWORD2>\r
+                       <KEYWORD2>ncurses_nl</KEYWORD2>\r
+                       <KEYWORD2>ncurses_nocbreak</KEYWORD2>\r
+                       <KEYWORD2>ncurses_noecho</KEYWORD2>\r
+                       <KEYWORD2>ncurses_nonl</KEYWORD2>\r
+                       <KEYWORD2>ncurses_noqiflush</KEYWORD2>\r
+                       <KEYWORD2>ncurses_noraw</KEYWORD2>\r
+                       <KEYWORD2>ncurses_pair_content</KEYWORD2>\r
+                       <KEYWORD2>ncurses_panel_above</KEYWORD2>\r
+                       <KEYWORD2>ncurses_panel_below</KEYWORD2>\r
+                       <KEYWORD2>ncurses_panel_window</KEYWORD2>\r
+                       <KEYWORD2>ncurses_pnoutrefresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_prefresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_putp</KEYWORD2>\r
+                       <KEYWORD2>ncurses_qiflush</KEYWORD2>\r
+                       <KEYWORD2>ncurses_raw</KEYWORD2>\r
+                       <KEYWORD2>ncurses_refresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_replace_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_reset_prog_mode</KEYWORD2>\r
+                       <KEYWORD2>ncurses_reset_shell_mode</KEYWORD2>\r
+                       <KEYWORD2>ncurses_resetty</KEYWORD2>\r
+                       <KEYWORD2>ncurses_savetty</KEYWORD2>\r
+                       <KEYWORD2>ncurses_scr_dump</KEYWORD2>\r
+                       <KEYWORD2>ncurses_scr_init</KEYWORD2>\r
+                       <KEYWORD2>ncurses_scr_restore</KEYWORD2>\r
+                       <KEYWORD2>ncurses_scr_set</KEYWORD2>\r
+                       <KEYWORD2>ncurses_scrl</KEYWORD2>\r
+                       <KEYWORD2>ncurses_show_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_attr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_attroff</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_attron</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_attrset</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_clear</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_color</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_init</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_noutrefresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_refresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_restore</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_set</KEYWORD2>\r
+                       <KEYWORD2>ncurses_slk_touch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_standend</KEYWORD2>\r
+                       <KEYWORD2>ncurses_standout</KEYWORD2>\r
+                       <KEYWORD2>ncurses_start_color</KEYWORD2>\r
+                       <KEYWORD2>ncurses_termattrs</KEYWORD2>\r
+                       <KEYWORD2>ncurses_termname</KEYWORD2>\r
+                       <KEYWORD2>ncurses_timeout</KEYWORD2>\r
+                       <KEYWORD2>ncurses_top_panel</KEYWORD2>\r
+                       <KEYWORD2>ncurses_typeahead</KEYWORD2>\r
+                       <KEYWORD2>ncurses_ungetch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_ungetmouse</KEYWORD2>\r
+                       <KEYWORD2>ncurses_update_panels</KEYWORD2>\r
+                       <KEYWORD2>ncurses_use_default_colors</KEYWORD2>\r
+                       <KEYWORD2>ncurses_use_env</KEYWORD2>\r
+                       <KEYWORD2>ncurses_use_extended_names</KEYWORD2>\r
+                       <KEYWORD2>ncurses_vidattr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_vline</KEYWORD2>\r
+                       <KEYWORD2>ncurses_waddch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_waddstr</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wattroff</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wattron</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wattrset</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wborder</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wclear</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wcolor_set</KEYWORD2>\r
+                       <KEYWORD2>ncurses_werase</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wgetch</KEYWORD2>\r
+                       <KEYWORD2>ncurses_whline</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wmouse_trafo</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wmove</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wnoutrefresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wrefresh</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wstandend</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wstandout</KEYWORD2>\r
+                       <KEYWORD2>ncurses_wvline</KEYWORD2>\r
+                       <KEYWORD2>next</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, parentiterator, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator, tidy_node -->\r
+                       <KEYWORD2>next_sibling</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>nextframe</KEYWORD2> <!-- swfmovie, swfsprite -->\r
+                       <KEYWORD2>ngettext</KEYWORD2>\r
+                       <KEYWORD2>nl2br</KEYWORD2>\r
+                       <KEYWORD2>nl_langinfo</KEYWORD2>\r
+                       <KEYWORD2>node_name</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>node_type</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>node_value</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>normalize</KEYWORD2> <!-- domdocument, domnode -->\r
+                       <KEYWORD2>notations</KEYWORD2> <!-- domdocumenttype -->\r
+                       <KEYWORD2>notes_body</KEYWORD2>\r
+                       <KEYWORD2>notes_copy_db</KEYWORD2>\r
+                       <KEYWORD2>notes_create_db</KEYWORD2>\r
+                       <KEYWORD2>notes_create_note</KEYWORD2>\r
+                       <KEYWORD2>notes_drop_db</KEYWORD2>\r
+                       <KEYWORD2>notes_find_note</KEYWORD2>\r
+                       <KEYWORD2>notes_header_info</KEYWORD2>\r
+                       <KEYWORD2>notes_list_msgs</KEYWORD2>\r
+                       <KEYWORD2>notes_mark_read</KEYWORD2>\r
+                       <KEYWORD2>notes_mark_unread</KEYWORD2>\r
+                       <KEYWORD2>notes_nav_create</KEYWORD2>\r
+                       <KEYWORD2>notes_search</KEYWORD2>\r
+                       <KEYWORD2>notes_unread</KEYWORD2>\r
+                       <KEYWORD2>notes_version</KEYWORD2>\r
+                       <KEYWORD2>nsapi_request_headers</KEYWORD2>\r
+                       <KEYWORD2>nsapi_response_headers</KEYWORD2>\r
+                       <KEYWORD2>nsapi_virtual</KEYWORD2>\r
+                       <KEYWORD2>number_format</KEYWORD2>\r
+                       <KEYWORD2>ob_clean</KEYWORD2>\r
+                       <KEYWORD2>ob_end_clean</KEYWORD2>\r
+                       <KEYWORD2>ob_end_flush</KEYWORD2>\r
+                       <KEYWORD2>ob_flush</KEYWORD2>\r
+                       <KEYWORD2>ob_get_clean</KEYWORD2>\r
+                       <KEYWORD2>ob_get_contents</KEYWORD2>\r
+                       <KEYWORD2>ob_get_flush</KEYWORD2>\r
+                       <KEYWORD2>ob_get_length</KEYWORD2>\r
+                       <KEYWORD2>ob_get_level</KEYWORD2>\r
+                       <KEYWORD2>ob_get_status</KEYWORD2>\r
+                       <KEYWORD2>ob_gzhandler</KEYWORD2>\r
+                       <KEYWORD2>ob_iconv_handler</KEYWORD2>\r
+                       <KEYWORD2>ob_implicit_flush</KEYWORD2>\r
+                       <KEYWORD2>ob_list_handlers</KEYWORD2>\r
+                       <KEYWORD2>ob_start</KEYWORD2>\r
+                       <KEYWORD2>ob_tidyhandler</KEYWORD2>\r
+                       <KEYWORD2>object</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>objectbyanchor</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>oci_bind_by_name</KEYWORD2>\r
+                       <KEYWORD2>oci_cancel</KEYWORD2>\r
+                       <KEYWORD2>oci_close</KEYWORD2>\r
+                       <KEYWORD2>oci_commit</KEYWORD2>\r
+                       <KEYWORD2>oci_connect</KEYWORD2>\r
+                       <KEYWORD2>oci_define_by_name</KEYWORD2>\r
+                       <KEYWORD2>oci_error</KEYWORD2>\r
+                       <KEYWORD2>oci_execute</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch_all</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>oci_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>oci_field_is_null</KEYWORD2>\r
+                       <KEYWORD2>oci_field_name</KEYWORD2>\r
+                       <KEYWORD2>oci_field_precision</KEYWORD2>\r
+                       <KEYWORD2>oci_field_scale</KEYWORD2>\r
+                       <KEYWORD2>oci_field_size</KEYWORD2>\r
+                       <KEYWORD2>oci_field_type</KEYWORD2>\r
+                       <KEYWORD2>oci_field_type_raw</KEYWORD2>\r
+                       <KEYWORD2>oci_free_statement</KEYWORD2>\r
+                       <KEYWORD2>oci_internal_debug</KEYWORD2>\r
+                       <KEYWORD2>oci_lob_copy</KEYWORD2>\r
+                       <KEYWORD2>oci_lob_is_equal</KEYWORD2>\r
+                       <KEYWORD2>oci_new_collection</KEYWORD2>\r
+                       <KEYWORD2>oci_new_connect</KEYWORD2>\r
+                       <KEYWORD2>oci_new_cursor</KEYWORD2>\r
+                       <KEYWORD2>oci_new_descriptor</KEYWORD2>\r
+                       <KEYWORD2>oci_num_fields</KEYWORD2>\r
+                       <KEYWORD2>oci_num_rows</KEYWORD2>\r
+                       <KEYWORD2>oci_parse</KEYWORD2>\r
+                       <KEYWORD2>oci_password_change</KEYWORD2>\r
+                       <KEYWORD2>oci_pconnect</KEYWORD2>\r
+                       <KEYWORD2>oci_result</KEYWORD2>\r
+                       <KEYWORD2>oci_rollback</KEYWORD2>\r
+                       <KEYWORD2>oci_server_version</KEYWORD2>\r
+                       <KEYWORD2>oci_set_prefetch</KEYWORD2>\r
+                       <KEYWORD2>oci_statement_type</KEYWORD2>\r
+                       <KEYWORD2>ocibindbyname</KEYWORD2>\r
+                       <KEYWORD2>ocicancel</KEYWORD2>\r
+                       <KEYWORD2>ocicloselob</KEYWORD2>\r
+                       <KEYWORD2>ocicollappend</KEYWORD2>\r
+                       <KEYWORD2>ocicollassign</KEYWORD2>\r
+                       <KEYWORD2>ocicollassignelem</KEYWORD2>\r
+                       <KEYWORD2>ocicollgetelem</KEYWORD2>\r
+                       <KEYWORD2>ocicollmax</KEYWORD2>\r
+                       <KEYWORD2>ocicollsize</KEYWORD2>\r
+                       <KEYWORD2>ocicolltrim</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnisnull</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnname</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnprecision</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnscale</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnsize</KEYWORD2>\r
+                       <KEYWORD2>ocicolumntype</KEYWORD2>\r
+                       <KEYWORD2>ocicolumntyperaw</KEYWORD2>\r
+                       <KEYWORD2>ocicommit</KEYWORD2>\r
+                       <KEYWORD2>ocidefinebyname</KEYWORD2>\r
+                       <KEYWORD2>ocierror</KEYWORD2>\r
+                       <KEYWORD2>ociexecute</KEYWORD2>\r
+                       <KEYWORD2>ocifetch</KEYWORD2>\r
+                       <KEYWORD2>ocifetchinto</KEYWORD2>\r
+                       <KEYWORD2>ocifetchstatement</KEYWORD2>\r
+                       <KEYWORD2>ocifreecollection</KEYWORD2>\r
+                       <KEYWORD2>ocifreecursor</KEYWORD2>\r
+                       <KEYWORD2>ocifreedesc</KEYWORD2>\r
+                       <KEYWORD2>ocifreestatement</KEYWORD2>\r
+                       <KEYWORD2>ociinternaldebug</KEYWORD2>\r
+                       <KEYWORD2>ociloadlob</KEYWORD2>\r
+                       <KEYWORD2>ocilogoff</KEYWORD2>\r
+                       <KEYWORD2>ocilogon</KEYWORD2>\r
+                       <KEYWORD2>ocinewcollection</KEYWORD2>\r
+                       <KEYWORD2>ocinewcursor</KEYWORD2>\r
+                       <KEYWORD2>ocinewdescriptor</KEYWORD2>\r
+                       <KEYWORD2>ocinlogon</KEYWORD2>\r
+                       <KEYWORD2>ocinumcols</KEYWORD2>\r
+                       <KEYWORD2>ociparse</KEYWORD2>\r
+                       <KEYWORD2>ociplogon</KEYWORD2>\r
+                       <KEYWORD2>ociresult</KEYWORD2>\r
+                       <KEYWORD2>ocirollback</KEYWORD2>\r
+                       <KEYWORD2>ocirowcount</KEYWORD2>\r
+                       <KEYWORD2>ocisavelob</KEYWORD2>\r
+                       <KEYWORD2>ocisavelobfile</KEYWORD2>\r
+                       <KEYWORD2>ociserverversion</KEYWORD2>\r
+                       <KEYWORD2>ocisetprefetch</KEYWORD2>\r
+                       <KEYWORD2>ocistatementtype</KEYWORD2>\r
+                       <KEYWORD2>ociwritelobtofile</KEYWORD2>\r
+                       <KEYWORD2>ociwritetemporarylob</KEYWORD2>\r
+                       <KEYWORD2>octdec</KEYWORD2>\r
+                       <KEYWORD2>odbc_autocommit</KEYWORD2>\r
+                       <KEYWORD2>odbc_binmode</KEYWORD2>\r
+                       <KEYWORD2>odbc_close</KEYWORD2>\r
+                       <KEYWORD2>odbc_close_all</KEYWORD2>\r
+                       <KEYWORD2>odbc_columnprivileges</KEYWORD2>\r
+                       <KEYWORD2>odbc_columns</KEYWORD2>\r
+                       <KEYWORD2>odbc_commit</KEYWORD2>\r
+                       <KEYWORD2>odbc_connect</KEYWORD2>\r
+                       <KEYWORD2>odbc_cursor</KEYWORD2>\r
+                       <KEYWORD2>odbc_data_source</KEYWORD2>\r
+                       <KEYWORD2>odbc_do</KEYWORD2>\r
+                       <KEYWORD2>odbc_error</KEYWORD2>\r
+                       <KEYWORD2>odbc_errormsg</KEYWORD2>\r
+                       <KEYWORD2>odbc_exec</KEYWORD2>\r
+                       <KEYWORD2>odbc_execute</KEYWORD2>\r
+                       <KEYWORD2>odbc_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>odbc_fetch_into</KEYWORD2>\r
+                       <KEYWORD2>odbc_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>odbc_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_len</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_name</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_num</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_precision</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_scale</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_type</KEYWORD2>\r
+                       <KEYWORD2>odbc_foreignkeys</KEYWORD2>\r
+                       <KEYWORD2>odbc_free_result</KEYWORD2>\r
+                       <KEYWORD2>odbc_gettypeinfo</KEYWORD2>\r
+                       <KEYWORD2>odbc_longreadlen</KEYWORD2>\r
+                       <KEYWORD2>odbc_next_result</KEYWORD2>\r
+                       <KEYWORD2>odbc_num_fields</KEYWORD2>\r
+                       <KEYWORD2>odbc_num_rows</KEYWORD2>\r
+                       <KEYWORD2>odbc_pconnect</KEYWORD2>\r
+                       <KEYWORD2>odbc_prepare</KEYWORD2>\r
+                       <KEYWORD2>odbc_primarykeys</KEYWORD2>\r
+                       <KEYWORD2>odbc_procedurecolumns</KEYWORD2>\r
+                       <KEYWORD2>odbc_procedures</KEYWORD2>\r
+                       <KEYWORD2>odbc_result</KEYWORD2>\r
+                       <KEYWORD2>odbc_result_all</KEYWORD2>\r
+                       <KEYWORD2>odbc_rollback</KEYWORD2>\r
+                       <KEYWORD2>odbc_setoption</KEYWORD2>\r
+                       <KEYWORD2>odbc_specialcolumns</KEYWORD2>\r
+                       <KEYWORD2>odbc_statistics</KEYWORD2>\r
+                       <KEYWORD2>odbc_tableprivileges</KEYWORD2>\r
+                       <KEYWORD2>odbc_tables</KEYWORD2>\r
+                       <KEYWORD2>offsetexists</KEYWORD2> <!-- arrayobject -->\r
+                       <KEYWORD2>offsetget</KEYWORD2> <!-- arrayobject -->\r
+                       <KEYWORD2>offsetset</KEYWORD2> <!-- arrayobject -->\r
+                       <KEYWORD2>offsetunset</KEYWORD2> <!-- arrayobject -->\r
+                       <KEYWORD2>openal_buffer_create</KEYWORD2>\r
+                       <KEYWORD2>openal_buffer_data</KEYWORD2>\r
+                       <KEYWORD2>openal_buffer_destroy</KEYWORD2>\r
+                       <KEYWORD2>openal_buffer_get</KEYWORD2>\r
+                       <KEYWORD2>openal_buffer_loadwav</KEYWORD2>\r
+                       <KEYWORD2>openal_context_create</KEYWORD2>\r
+                       <KEYWORD2>openal_context_current</KEYWORD2>\r
+                       <KEYWORD2>openal_context_destroy</KEYWORD2>\r
+                       <KEYWORD2>openal_context_process</KEYWORD2>\r
+                       <KEYWORD2>openal_context_suspend</KEYWORD2>\r
+                       <KEYWORD2>openal_device_close</KEYWORD2>\r
+                       <KEYWORD2>openal_device_open</KEYWORD2>\r
+                       <KEYWORD2>openal_listener_get</KEYWORD2>\r
+                       <KEYWORD2>openal_listener_set</KEYWORD2>\r
+                       <KEYWORD2>openal_source_create</KEYWORD2>\r
+                       <KEYWORD2>openal_source_destroy</KEYWORD2>\r
+                       <KEYWORD2>openal_source_get</KEYWORD2>\r
+                       <KEYWORD2>openal_source_pause</KEYWORD2>\r
+                       <KEYWORD2>openal_source_play</KEYWORD2>\r
+                       <KEYWORD2>openal_source_rewind</KEYWORD2>\r
+                       <KEYWORD2>openal_source_set</KEYWORD2>\r
+                       <KEYWORD2>openal_source_stop</KEYWORD2>\r
+                       <KEYWORD2>openal_stream</KEYWORD2>\r
+                       <KEYWORD2>opendir</KEYWORD2>\r
+                       <KEYWORD2>openlog</KEYWORD2>\r
+                       <KEYWORD2>openssl_csr_export</KEYWORD2>\r
+                       <KEYWORD2>openssl_csr_export_to_file</KEYWORD2>\r
+                       <KEYWORD2>openssl_csr_new</KEYWORD2>\r
+                       <KEYWORD2>openssl_csr_sign</KEYWORD2>\r
+                       <KEYWORD2>openssl_error_string</KEYWORD2>\r
+                       <KEYWORD2>openssl_free_key</KEYWORD2>\r
+                       <KEYWORD2>openssl_get_privatekey</KEYWORD2>\r
+                       <KEYWORD2>openssl_get_publickey</KEYWORD2>\r
+                       <KEYWORD2>openssl_open</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkcs7_decrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkcs7_encrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkcs7_sign</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkcs7_verify</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkey_export</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkey_export_to_file</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkey_get_private</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkey_get_public</KEYWORD2>\r
+                       <KEYWORD2>openssl_pkey_new</KEYWORD2>\r
+                       <KEYWORD2>openssl_private_decrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_private_encrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_public_decrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_public_encrypt</KEYWORD2>\r
+                       <KEYWORD2>openssl_seal</KEYWORD2>\r
+                       <KEYWORD2>openssl_sign</KEYWORD2>\r
+                       <KEYWORD2>openssl_verify</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_check_private_key</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_checkpurpose</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_export</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_export_to_file</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_free</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_parse</KEYWORD2>\r
+                       <KEYWORD2>openssl_x509_read</KEYWORD2>\r
+                       <KEYWORD2>ora_bind</KEYWORD2>\r
+                       <KEYWORD2>ora_close</KEYWORD2>\r
+                       <KEYWORD2>ora_columnname</KEYWORD2>\r
+                       <KEYWORD2>ora_columnsize</KEYWORD2>\r
+                       <KEYWORD2>ora_columntype</KEYWORD2>\r
+                       <KEYWORD2>ora_commit</KEYWORD2>\r
+                       <KEYWORD2>ora_commitoff</KEYWORD2>\r
+                       <KEYWORD2>ora_commiton</KEYWORD2>\r
+                       <KEYWORD2>ora_do</KEYWORD2>\r
+                       <KEYWORD2>ora_error</KEYWORD2>\r
+                       <KEYWORD2>ora_errorcode</KEYWORD2>\r
+                       <KEYWORD2>ora_exec</KEYWORD2>\r
+                       <KEYWORD2>ora_fetch</KEYWORD2>\r
+                       <KEYWORD2>ora_fetch_into</KEYWORD2>\r
+                       <KEYWORD2>ora_getcolumn</KEYWORD2>\r
+                       <KEYWORD2>ora_logoff</KEYWORD2>\r
+                       <KEYWORD2>ora_logon</KEYWORD2>\r
+                       <KEYWORD2>ora_numcols</KEYWORD2>\r
+                       <KEYWORD2>ora_numrows</KEYWORD2>\r
+                       <KEYWORD2>ora_open</KEYWORD2>\r
+                       <KEYWORD2>ora_parse</KEYWORD2>\r
+                       <KEYWORD2>ora_plogon</KEYWORD2>\r
+                       <KEYWORD2>ora_rollback</KEYWORD2>\r
+                       <KEYWORD2>ord</KEYWORD2>\r
+                       <KEYWORD2>output</KEYWORD2> <!-- swfmovie -->\r
+                       <KEYWORD2>output_add_rewrite_var</KEYWORD2>\r
+                       <KEYWORD2>output_reset_rewrite_vars</KEYWORD2>\r
+                       <KEYWORD2>overload</KEYWORD2>\r
+                       <KEYWORD2>override_function</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_close</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_commit</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_connect</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_cursor</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_exec</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_execute</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_fetch_into</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_field_len</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_field_name</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_field_num</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_field_type</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_free_result</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_longreadlen</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_num_fields</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_num_rows</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_prepare</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_result</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_result_all</KEYWORD2>\r
+                       <KEYWORD2>ovrimos_rollback</KEYWORD2>\r
+                       <KEYWORD2>owner_document</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>pack</KEYWORD2>\r
+                       <KEYWORD2>parent_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>parents</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>parse_ini_file</KEYWORD2>\r
+                       <KEYWORD2>parse_str</KEYWORD2>\r
+                       <KEYWORD2>parse_url</KEYWORD2>\r
+                       <KEYWORD2>parsekit_compile_file</KEYWORD2>\r
+                       <KEYWORD2>parsekit_compile_string</KEYWORD2>\r
+                       <KEYWORD2>parsekit_func_arginfo</KEYWORD2>\r
+                       <KEYWORD2>passthru</KEYWORD2>\r
+                       <KEYWORD2>pathinfo</KEYWORD2>\r
+                       <KEYWORD2>pclose</KEYWORD2>\r
+                       <KEYWORD2>pcntl_alarm</KEYWORD2>\r
+                       <KEYWORD2>pcntl_exec</KEYWORD2>\r
+                       <KEYWORD2>pcntl_fork</KEYWORD2>\r
+                       <KEYWORD2>pcntl_getpriority</KEYWORD2>\r
+                       <KEYWORD2>pcntl_setpriority</KEYWORD2>\r
+                       <KEYWORD2>pcntl_signal</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wait</KEYWORD2>\r
+                       <KEYWORD2>pcntl_waitpid</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wexitstatus</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wifexited</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wifsignaled</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wifstopped</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wstopsig</KEYWORD2>\r
+                       <KEYWORD2>pcntl_wtermsig</KEYWORD2>\r
+                       <KEYWORD2>pconnect</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>pdf_add_annotation</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_bookmark</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_launchlink</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_locallink</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_note</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_outline</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_pdflink</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_thumbnail</KEYWORD2>\r
+                       <KEYWORD2>pdf_add_weblink</KEYWORD2>\r
+                       <KEYWORD2>pdf_arc</KEYWORD2>\r
+                       <KEYWORD2>pdf_arcn</KEYWORD2>\r
+                       <KEYWORD2>pdf_attach_file</KEYWORD2>\r
+                       <KEYWORD2>pdf_begin_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_begin_pattern</KEYWORD2>\r
+                       <KEYWORD2>pdf_begin_template</KEYWORD2>\r
+                       <KEYWORD2>pdf_circle</KEYWORD2>\r
+                       <KEYWORD2>pdf_clip</KEYWORD2>\r
+                       <KEYWORD2>pdf_close</KEYWORD2>\r
+                       <KEYWORD2>pdf_close_image</KEYWORD2>\r
+                       <KEYWORD2>pdf_close_pdi</KEYWORD2>\r
+                       <KEYWORD2>pdf_close_pdi_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_closepath</KEYWORD2>\r
+                       <KEYWORD2>pdf_closepath_fill_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_closepath_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_concat</KEYWORD2>\r
+                       <KEYWORD2>pdf_continue_text</KEYWORD2>\r
+                       <KEYWORD2>pdf_curveto</KEYWORD2>\r
+                       <KEYWORD2>pdf_delete</KEYWORD2>\r
+                       <KEYWORD2>pdf_end_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_end_pattern</KEYWORD2>\r
+                       <KEYWORD2>pdf_end_template</KEYWORD2>\r
+                       <KEYWORD2>pdf_endpath</KEYWORD2>\r
+                       <KEYWORD2>pdf_fill</KEYWORD2>\r
+                       <KEYWORD2>pdf_fill_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_findfont</KEYWORD2>\r
+                       <KEYWORD2>pdf_fit_pdi_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_buffer</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_font</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_fontname</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_fontsize</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_image_height</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_image_width</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_majorversion</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_minorversion</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_parameter</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_pdi_parameter</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_pdi_value</KEYWORD2>\r
+                       <KEYWORD2>pdf_get_value</KEYWORD2>\r
+                       <KEYWORD2>pdf_initgraphics</KEYWORD2>\r
+                       <KEYWORD2>pdf_lineto</KEYWORD2>\r
+                       <KEYWORD2>pdf_load_font</KEYWORD2>\r
+                       <KEYWORD2>pdf_makespotcolor</KEYWORD2>\r
+                       <KEYWORD2>pdf_moveto</KEYWORD2>\r
+                       <KEYWORD2>pdf_new</KEYWORD2>\r
+                       <KEYWORD2>pdf_open</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_ccitt</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_file</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_gif</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_image</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_image_file</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_jpeg</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_memory_image</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_pdi</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_pdi_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_png</KEYWORD2>\r
+                       <KEYWORD2>pdf_open_tiff</KEYWORD2>\r
+                       <KEYWORD2>pdf_place_image</KEYWORD2>\r
+                       <KEYWORD2>pdf_place_pdi_page</KEYWORD2>\r
+                       <KEYWORD2>pdf_rect</KEYWORD2>\r
+                       <KEYWORD2>pdf_restore</KEYWORD2>\r
+                       <KEYWORD2>pdf_rotate</KEYWORD2>\r
+                       <KEYWORD2>pdf_save</KEYWORD2>\r
+                       <KEYWORD2>pdf_scale</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_border_color</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_border_dash</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_border_style</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_char_spacing</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_duration</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_font</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_horiz_scaling</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info_author</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info_creator</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info_keywords</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info_subject</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_info_title</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_leading</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_parameter</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_text_matrix</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_text_pos</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_text_rendering</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_text_rise</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_value</KEYWORD2>\r
+                       <KEYWORD2>pdf_set_word_spacing</KEYWORD2>\r
+                       <KEYWORD2>pdf_setcolor</KEYWORD2>\r
+                       <KEYWORD2>pdf_setdash</KEYWORD2>\r
+                       <KEYWORD2>pdf_setflat</KEYWORD2>\r
+                       <KEYWORD2>pdf_setfont</KEYWORD2>\r
+                       <KEYWORD2>pdf_setgray</KEYWORD2>\r
+                       <KEYWORD2>pdf_setgray_fill</KEYWORD2>\r
+                       <KEYWORD2>pdf_setgray_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_setlinecap</KEYWORD2>\r
+                       <KEYWORD2>pdf_setlinejoin</KEYWORD2>\r
+                       <KEYWORD2>pdf_setlinewidth</KEYWORD2>\r
+                       <KEYWORD2>pdf_setmatrix</KEYWORD2>\r
+                       <KEYWORD2>pdf_setmiterlimit</KEYWORD2>\r
+                       <KEYWORD2>pdf_setpolydash</KEYWORD2>\r
+                       <KEYWORD2>pdf_setrgbcolor</KEYWORD2>\r
+                       <KEYWORD2>pdf_setrgbcolor_fill</KEYWORD2>\r
+                       <KEYWORD2>pdf_setrgbcolor_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_show</KEYWORD2>\r
+                       <KEYWORD2>pdf_show_boxed</KEYWORD2>\r
+                       <KEYWORD2>pdf_show_xy</KEYWORD2>\r
+                       <KEYWORD2>pdf_skew</KEYWORD2>\r
+                       <KEYWORD2>pdf_stringwidth</KEYWORD2>\r
+                       <KEYWORD2>pdf_stroke</KEYWORD2>\r
+                       <KEYWORD2>pdf_translate</KEYWORD2>\r
+                       <KEYWORD2>pfpro_cleanup</KEYWORD2>\r
+                       <KEYWORD2>pfpro_init</KEYWORD2>\r
+                       <KEYWORD2>pfpro_process</KEYWORD2>\r
+                       <KEYWORD2>pfpro_process_raw</KEYWORD2>\r
+                       <KEYWORD2>pfpro_version</KEYWORD2>\r
+                       <KEYWORD2>pfsockopen</KEYWORD2>\r
+                       <KEYWORD2>pg_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>pg_cancel_query</KEYWORD2>\r
+                       <KEYWORD2>pg_client_encoding</KEYWORD2>\r
+                       <KEYWORD2>pg_close</KEYWORD2>\r
+                       <KEYWORD2>pg_connect</KEYWORD2>\r
+                       <KEYWORD2>pg_connection_busy</KEYWORD2>\r
+                       <KEYWORD2>pg_connection_reset</KEYWORD2>\r
+                       <KEYWORD2>pg_connection_status</KEYWORD2>\r
+                       <KEYWORD2>pg_convert</KEYWORD2>\r
+                       <KEYWORD2>pg_copy_from</KEYWORD2>\r
+                       <KEYWORD2>pg_copy_to</KEYWORD2>\r
+                       <KEYWORD2>pg_dbname</KEYWORD2>\r
+                       <KEYWORD2>pg_delete</KEYWORD2>\r
+                       <KEYWORD2>pg_end_copy</KEYWORD2>\r
+                       <KEYWORD2>pg_escape_bytea</KEYWORD2>\r
+                       <KEYWORD2>pg_escape_string</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_all</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_result</KEYWORD2>\r
+                       <KEYWORD2>pg_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>pg_field_is_null</KEYWORD2>\r
+                       <KEYWORD2>pg_field_name</KEYWORD2>\r
+                       <KEYWORD2>pg_field_num</KEYWORD2>\r
+                       <KEYWORD2>pg_field_prtlen</KEYWORD2>\r
+                       <KEYWORD2>pg_field_size</KEYWORD2>\r
+                       <KEYWORD2>pg_field_type</KEYWORD2>\r
+                       <KEYWORD2>pg_free_result</KEYWORD2>\r
+                       <KEYWORD2>pg_get_notify</KEYWORD2>\r
+                       <KEYWORD2>pg_get_pid</KEYWORD2>\r
+                       <KEYWORD2>pg_get_result</KEYWORD2>\r
+                       <KEYWORD2>pg_host</KEYWORD2>\r
+                       <KEYWORD2>pg_insert</KEYWORD2>\r
+                       <KEYWORD2>pg_last_error</KEYWORD2>\r
+                       <KEYWORD2>pg_last_notice</KEYWORD2>\r
+                       <KEYWORD2>pg_last_oid</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_close</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_create</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_export</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_import</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_open</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_read</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_read_all</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_seek</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_tell</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_unlink</KEYWORD2>\r
+                       <KEYWORD2>pg_lo_write</KEYWORD2>\r
+                       <KEYWORD2>pg_meta_data</KEYWORD2>\r
+                       <KEYWORD2>pg_num_fields</KEYWORD2>\r
+                       <KEYWORD2>pg_num_rows</KEYWORD2>\r
+                       <KEYWORD2>pg_options</KEYWORD2>\r
+                       <KEYWORD2>pg_parameter_status</KEYWORD2>\r
+                       <KEYWORD2>pg_pconnect</KEYWORD2>\r
+                       <KEYWORD2>pg_ping</KEYWORD2>\r
+                       <KEYWORD2>pg_port</KEYWORD2>\r
+                       <KEYWORD2>pg_put_line</KEYWORD2>\r
+                       <KEYWORD2>pg_query</KEYWORD2>\r
+                       <KEYWORD2>pg_result_error</KEYWORD2>\r
+                       <KEYWORD2>pg_result_seek</KEYWORD2>\r
+                       <KEYWORD2>pg_result_status</KEYWORD2>\r
+                       <KEYWORD2>pg_select</KEYWORD2>\r
+                       <KEYWORD2>pg_send_query</KEYWORD2>\r
+                       <KEYWORD2>pg_set_client_encoding</KEYWORD2>\r
+                       <KEYWORD2>pg_trace</KEYWORD2>\r
+                       <KEYWORD2>pg_tty</KEYWORD2>\r
+                       <KEYWORD2>pg_unescape_bytea</KEYWORD2>\r
+                       <KEYWORD2>pg_untrace</KEYWORD2>\r
+                       <KEYWORD2>pg_update</KEYWORD2>\r
+                       <KEYWORD2>pg_version</KEYWORD2>\r
+                       <KEYWORD2>php_check_syntax</KEYWORD2>\r
+                       <KEYWORD2>php_ini_scanned_files</KEYWORD2>\r
+                       <KEYWORD2>php_logo_guid</KEYWORD2>\r
+                       <KEYWORD2>php_sapi_name</KEYWORD2>\r
+                       <KEYWORD2>php_strip_whitespace</KEYWORD2>\r
+                       <KEYWORD2>php_uname</KEYWORD2>\r
+                       <KEYWORD2>phpcredits</KEYWORD2>\r
+                       <KEYWORD2>phpinfo</KEYWORD2>\r
+                       <KEYWORD2>phpversion</KEYWORD2>\r
+                       <KEYWORD2>pi</KEYWORD2>\r
+                       <KEYWORD2>png2wbmp</KEYWORD2>\r
+                       <KEYWORD2>popen</KEYWORD2>\r
+                       <KEYWORD2>pos</KEYWORD2>\r
+                       <KEYWORD2>posix_ctermid</KEYWORD2>\r
+                       <KEYWORD2>posix_get_last_error</KEYWORD2>\r
+                       <KEYWORD2>posix_getcwd</KEYWORD2>\r
+                       <KEYWORD2>posix_getegid</KEYWORD2>\r
+                       <KEYWORD2>posix_geteuid</KEYWORD2>\r
+                       <KEYWORD2>posix_getgid</KEYWORD2>\r
+                       <KEYWORD2>posix_getgrgid</KEYWORD2>\r
+                       <KEYWORD2>posix_getgrnam</KEYWORD2>\r
+                       <KEYWORD2>posix_getgroups</KEYWORD2>\r
+                       <KEYWORD2>posix_getlogin</KEYWORD2>\r
+                       <KEYWORD2>posix_getpgid</KEYWORD2>\r
+                       <KEYWORD2>posix_getpgrp</KEYWORD2>\r
+                       <KEYWORD2>posix_getpid</KEYWORD2>\r
+                       <KEYWORD2>posix_getppid</KEYWORD2>\r
+                       <KEYWORD2>posix_getpwnam</KEYWORD2>\r
+                       <KEYWORD2>posix_getpwuid</KEYWORD2>\r
+                       <KEYWORD2>posix_getrlimit</KEYWORD2>\r
+                       <KEYWORD2>posix_getsid</KEYWORD2>\r
+                       <KEYWORD2>posix_getuid</KEYWORD2>\r
+                       <KEYWORD2>posix_isatty</KEYWORD2>\r
+                       <KEYWORD2>posix_kill</KEYWORD2>\r
+                       <KEYWORD2>posix_mkfifo</KEYWORD2>\r
+                       <KEYWORD2>posix_setegid</KEYWORD2>\r
+                       <KEYWORD2>posix_seteuid</KEYWORD2>\r
+                       <KEYWORD2>posix_setgid</KEYWORD2>\r
+                       <KEYWORD2>posix_setpgid</KEYWORD2>\r
+                       <KEYWORD2>posix_setsid</KEYWORD2>\r
+                       <KEYWORD2>posix_setuid</KEYWORD2>\r
+                       <KEYWORD2>posix_strerror</KEYWORD2>\r
+                       <KEYWORD2>posix_times</KEYWORD2>\r
+                       <KEYWORD2>posix_ttyname</KEYWORD2>\r
+                       <KEYWORD2>posix_uname</KEYWORD2>\r
+                       <KEYWORD2>pow</KEYWORD2>\r
+                       <KEYWORD2>prefix</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>preg_grep</KEYWORD2>\r
+                       <KEYWORD2>preg_match</KEYWORD2>\r
+                       <KEYWORD2>preg_match_all</KEYWORD2>\r
+                       <KEYWORD2>preg_quote</KEYWORD2>\r
+                       <KEYWORD2>preg_replace</KEYWORD2>\r
+                       <KEYWORD2>preg_replace_callback</KEYWORD2>\r
+                       <KEYWORD2>preg_split</KEYWORD2>\r
+                       <KEYWORD2>prepare</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>prev</KEYWORD2> <!-- tidy_node -->\r
+                       <KEYWORD2>previous_sibling</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>print_r</KEYWORD2>\r
+                       <KEYWORD2>printer_abort</KEYWORD2>\r
+                       <KEYWORD2>printer_close</KEYWORD2>\r
+                       <KEYWORD2>printer_create_brush</KEYWORD2>\r
+                       <KEYWORD2>printer_create_dc</KEYWORD2>\r
+                       <KEYWORD2>printer_create_font</KEYWORD2>\r
+                       <KEYWORD2>printer_create_pen</KEYWORD2>\r
+                       <KEYWORD2>printer_delete_brush</KEYWORD2>\r
+                       <KEYWORD2>printer_delete_dc</KEYWORD2>\r
+                       <KEYWORD2>printer_delete_font</KEYWORD2>\r
+                       <KEYWORD2>printer_delete_pen</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_bmp</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_chord</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_elipse</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_line</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_pie</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_rectangle</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_roundrect</KEYWORD2>\r
+                       <KEYWORD2>printer_draw_text</KEYWORD2>\r
+                       <KEYWORD2>printer_end_doc</KEYWORD2>\r
+                       <KEYWORD2>printer_end_page</KEYWORD2>\r
+                       <KEYWORD2>printer_get_option</KEYWORD2>\r
+                       <KEYWORD2>printer_list</KEYWORD2>\r
+                       <KEYWORD2>printer_logical_fontheight</KEYWORD2>\r
+                       <KEYWORD2>printer_open</KEYWORD2>\r
+                       <KEYWORD2>printer_select_brush</KEYWORD2>\r
+                       <KEYWORD2>printer_select_font</KEYWORD2>\r
+                       <KEYWORD2>printer_select_pen</KEYWORD2>\r
+                       <KEYWORD2>printer_set_option</KEYWORD2>\r
+                       <KEYWORD2>printer_start_doc</KEYWORD2>\r
+                       <KEYWORD2>printer_start_page</KEYWORD2>\r
+                       <KEYWORD2>printer_write</KEYWORD2>\r
+                       <KEYWORD2>printf</KEYWORD2>\r
+                       <KEYWORD2>proc_close</KEYWORD2>\r
+                       <KEYWORD2>proc_get_status</KEYWORD2>\r
+                       <KEYWORD2>proc_nice</KEYWORD2>\r
+                       <KEYWORD2>proc_open</KEYWORD2>\r
+                       <KEYWORD2>proc_terminate</KEYWORD2>\r
+                       <KEYWORD2>process</KEYWORD2> <!-- domxsltstylesheet -->\r
+                       <KEYWORD2>pspell_add_to_personal</KEYWORD2>\r
+                       <KEYWORD2>pspell_add_to_session</KEYWORD2>\r
+                       <KEYWORD2>pspell_check</KEYWORD2>\r
+                       <KEYWORD2>pspell_clear_session</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_create</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_data_dir</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_dict_dir</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_ignore</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_mode</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_personal</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_repl</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_runtogether</KEYWORD2>\r
+                       <KEYWORD2>pspell_config_save_repl</KEYWORD2>\r
+                       <KEYWORD2>pspell_new</KEYWORD2>\r
+                       <KEYWORD2>pspell_new_config</KEYWORD2>\r
+                       <KEYWORD2>pspell_new_personal</KEYWORD2>\r
+                       <KEYWORD2>pspell_save_wordlist</KEYWORD2>\r
+                       <KEYWORD2>pspell_store_replacement</KEYWORD2>\r
+                       <KEYWORD2>pspell_suggest</KEYWORD2>\r
+                       <KEYWORD2>public_id</KEYWORD2> <!-- domdocumenttype -->\r
+                       <KEYWORD2>putenv</KEYWORD2>\r
+                       <KEYWORD2>qdom_error</KEYWORD2>\r
+                       <KEYWORD2>qdom_tree</KEYWORD2>\r
+                       <KEYWORD2>query</KEYWORD2> <!-- domxpath -->\r
+                       <KEYWORD2>quoted_printable_decode</KEYWORD2>\r
+                       <KEYWORD2>quotemeta</KEYWORD2>\r
+                       <KEYWORD2>rad2deg</KEYWORD2>\r
+                       <KEYWORD2>rand</KEYWORD2>\r
+                       <KEYWORD2>range</KEYWORD2>\r
+                       <KEYWORD2>rar_close</KEYWORD2>\r
+                       <KEYWORD2>rar_entry_get</KEYWORD2>\r
+                       <KEYWORD2>rar_list</KEYWORD2>\r
+                       <KEYWORD2>rar_open</KEYWORD2>\r
+                       <KEYWORD2>rawurldecode</KEYWORD2>\r
+                       <KEYWORD2>rawurlencode</KEYWORD2>\r
+                       <KEYWORD2>read</KEYWORD2> <!-- hw_api_content, lob -->\r
+                       <KEYWORD2>read_exif_data</KEYWORD2>\r
+                       <KEYWORD2>readdir</KEYWORD2>\r
+                       <KEYWORD2>readfile</KEYWORD2>\r
+                       <KEYWORD2>readgzfile</KEYWORD2>\r
+                       <KEYWORD2>readline</KEYWORD2>\r
+                       <KEYWORD2>readline_add_history</KEYWORD2>\r
+                       <KEYWORD2>readline_callback_handler_install</KEYWORD2>\r
+                       <KEYWORD2>readline_callback_handler_remove</KEYWORD2>\r
+                       <KEYWORD2>readline_callback_read_char</KEYWORD2>\r
+                       <KEYWORD2>readline_clear_history</KEYWORD2>\r
+                       <KEYWORD2>readline_completion_function</KEYWORD2>\r
+                       <KEYWORD2>readline_info</KEYWORD2>\r
+                       <KEYWORD2>readline_list_history</KEYWORD2>\r
+                       <KEYWORD2>readline_on_new_line</KEYWORD2>\r
+                       <KEYWORD2>readline_read_history</KEYWORD2>\r
+                       <KEYWORD2>readline_redisplay</KEYWORD2>\r
+                       <KEYWORD2>readline_write_history</KEYWORD2>\r
+                       <KEYWORD2>readlink</KEYWORD2>\r
+                       <KEYWORD2>realpath</KEYWORD2>\r
+                       <KEYWORD2>reason</KEYWORD2> <!-- hw_api_error -->\r
+                       <KEYWORD2>recode</KEYWORD2>\r
+                       <KEYWORD2>recode_file</KEYWORD2>\r
+                       <KEYWORD2>recode_string</KEYWORD2>\r
+                       <KEYWORD2>register_shutdown_function</KEYWORD2>\r
+                       <KEYWORD2>register_tick_function</KEYWORD2>\r
+                       <KEYWORD2>registernamespace</KEYWORD2> <!-- domxpath -->\r
+                       <KEYWORD2>relaxngvalidate</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>relaxngvalidatesource</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>remove</KEYWORD2> <!-- hw_api, hw_api_object, swfdisplayitem, swfmovie, swfsprite -->\r
+                       <KEYWORD2>remove_attribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>remove_child</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>removeattribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>removeattributenode</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>removeattributens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>removechild</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>rename</KEYWORD2>\r
+                       <KEYWORD2>rename_function</KEYWORD2>\r
+                       <KEYWORD2>replace</KEYWORD2> <!-- hw_api, memcache -->\r
+                       <KEYWORD2>replace_child</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>replace_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>replacechild</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>replacedata</KEYWORD2> <!-- domcharacterdata -->\r
+                       <KEYWORD2>reset</KEYWORD2>\r
+                       <KEYWORD2>restore_error_handler</KEYWORD2>\r
+                       <KEYWORD2>restore_exception_handler</KEYWORD2>\r
+                       <KEYWORD2>restore_include_path</KEYWORD2>\r
+                       <KEYWORD2>result_dump_file</KEYWORD2> <!-- domxsltstylesheet -->\r
+                       <KEYWORD2>result_dump_mem</KEYWORD2> <!-- domxsltstylesheet -->\r
+                       <KEYWORD2>rewind</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, lob, parentiterator, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator -->\r
+                       <KEYWORD2>rewinddir</KEYWORD2>\r
+                       <KEYWORD2>rmdir</KEYWORD2>\r
+                       <KEYWORD2>rollback</KEYWORD2> <!-- pdo -->\r
+                       <KEYWORD2>rotate</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>rotateto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
+                       <KEYWORD2>round</KEYWORD2>\r
+                       <KEYWORD2>rowcount</KEYWORD2> <!-- pdostatement -->\r
+                       <KEYWORD2>rsort</KEYWORD2>\r
+                       <KEYWORD2>rtrim</KEYWORD2>\r
+                       <KEYWORD2>save</KEYWORD2> <!-- domdocument, lob, swfmovie -->\r
+                       <KEYWORD2>savehtml</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>savehtmlfile</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>savexml</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>scale</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>scaleto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
+                       <KEYWORD2>scandir</KEYWORD2>\r
+                       <KEYWORD2>schemavalidate</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>schemavalidatesource</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>seek</KEYWORD2> <!-- arrayiterator, limititerator, lob -->\r
+                       <KEYWORD2>sem_acquire</KEYWORD2>\r
+                       <KEYWORD2>sem_get</KEYWORD2>\r
+                       <KEYWORD2>sem_release</KEYWORD2>\r
+                       <KEYWORD2>sem_remove</KEYWORD2>\r
+                       <KEYWORD2>serialize</KEYWORD2>\r
+                       <KEYWORD2>sesam_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>sesam_commit</KEYWORD2>\r
+                       <KEYWORD2>sesam_connect</KEYWORD2>\r
+                       <KEYWORD2>sesam_diagnostic</KEYWORD2>\r
+                       <KEYWORD2>sesam_disconnect</KEYWORD2>\r
+                       <KEYWORD2>sesam_errormsg</KEYWORD2>\r
+                       <KEYWORD2>sesam_execimm</KEYWORD2>\r
+                       <KEYWORD2>sesam_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>sesam_fetch_result</KEYWORD2>\r
+                       <KEYWORD2>sesam_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>sesam_field_array</KEYWORD2>\r
+                       <KEYWORD2>sesam_field_name</KEYWORD2>\r
+                       <KEYWORD2>sesam_free_result</KEYWORD2>\r
+                       <KEYWORD2>sesam_num_fields</KEYWORD2>\r
+                       <KEYWORD2>sesam_query</KEYWORD2>\r
+                       <KEYWORD2>sesam_rollback</KEYWORD2>\r
+                       <KEYWORD2>sesam_seek_row</KEYWORD2>\r
+                       <KEYWORD2>sesam_settransaction</KEYWORD2>\r
+                       <KEYWORD2>session_cache_expire</KEYWORD2>\r
+                       <KEYWORD2>session_cache_limiter</KEYWORD2>\r
+                       <KEYWORD2>session_commit</KEYWORD2>\r
+                       <KEYWORD2>session_decode</KEYWORD2>\r
+                       <KEYWORD2>session_destroy</KEYWORD2>\r
+                       <KEYWORD2>session_encode</KEYWORD2>\r
+                       <KEYWORD2>session_get_cookie_params</KEYWORD2>\r
+                       <KEYWORD2>session_id</KEYWORD2>\r
+                       <KEYWORD2>session_is_registered</KEYWORD2>\r
+                       <KEYWORD2>session_module_name</KEYWORD2>\r
+                       <KEYWORD2>session_name</KEYWORD2>\r
+                       <KEYWORD2>session_regenerate_id</KEYWORD2>\r
+                       <KEYWORD2>session_register</KEYWORD2>\r
+                       <KEYWORD2>session_save_path</KEYWORD2>\r
+                       <KEYWORD2>session_set_cookie_params</KEYWORD2>\r
+                       <KEYWORD2>session_set_save_handler</KEYWORD2>\r
+                       <KEYWORD2>session_start</KEYWORD2>\r
+                       <KEYWORD2>session_unregister</KEYWORD2>\r
+                       <KEYWORD2>session_unset</KEYWORD2>\r
+                       <KEYWORD2>session_write_close</KEYWORD2>\r
+                       <KEYWORD2>set</KEYWORD2> <!-- memcache -->\r
+                       <KEYWORD2>set_attribute</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>set_content</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>set_error_handler</KEYWORD2>\r
+                       <KEYWORD2>set_exception_handler</KEYWORD2>\r
+                       <KEYWORD2>set_file_buffer</KEYWORD2>\r
+                       <KEYWORD2>set_include_path</KEYWORD2>\r
+                       <KEYWORD2>set_magic_quotes_runtime</KEYWORD2>\r
+                       <KEYWORD2>set_name</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>set_namespace</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>set_time_limit</KEYWORD2>\r
+                       <KEYWORD2>setaction</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>setattribute</KEYWORD2> <!-- domelement, pdo -->\r
+                       <KEYWORD2>setattributenode</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>setattributenodens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>setattributens</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>setbackground</KEYWORD2> <!-- swfmovie -->\r
+                       <KEYWORD2>setbounds</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setbuffering</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>setclass</KEYWORD2> <!-- soapserver -->\r
+                       <KEYWORD2>setcolor</KEYWORD2> <!-- swftext, swftextfield -->\r
+                       <KEYWORD2>setcommitedversion</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>setcookie</KEYWORD2>\r
+                       <KEYWORD2>setdepth</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>setdimension</KEYWORD2> <!-- swfmovie -->\r
+                       <KEYWORD2>setdown</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>setfont</KEYWORD2> <!-- swftext, swftextfield -->\r
+                       <KEYWORD2>setframes</KEYWORD2> <!-- swfmovie, swfsprite -->\r
+                       <KEYWORD2>setheight</KEYWORD2> <!-- swftext, swftextfield -->\r
+                       <KEYWORD2>sethit</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>setindentation</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setleftfill</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>setleftmargin</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setline</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>setlinespacing</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setlocale</KEYWORD2>\r
+                       <KEYWORD2>setmargins</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setname</KEYWORD2> <!-- swfdisplayitem, swftextfield -->\r
+                       <KEYWORD2>setover</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>setpersistence</KEYWORD2> <!-- soapserver -->\r
+                       <KEYWORD2>setrate</KEYWORD2> <!-- swfmovie -->\r
+                       <KEYWORD2>setratio</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>setrawcookie</KEYWORD2>\r
+                       <KEYWORD2>setrightfill</KEYWORD2> <!-- swfshape -->\r
+                       <KEYWORD2>setrightmargin</KEYWORD2> <!-- swftextfield -->\r
+                       <KEYWORD2>setspacing</KEYWORD2> <!-- swftext -->\r
+                       <KEYWORD2>settype</KEYWORD2>\r
+                       <KEYWORD2>setup</KEYWORD2> <!-- swfbutton -->\r
+                       <KEYWORD2>sha1</KEYWORD2>\r
+                       <KEYWORD2>sha1_file</KEYWORD2>\r
+                       <KEYWORD2>shell_exec</KEYWORD2>\r
+                       <KEYWORD2>shm_attach</KEYWORD2>\r
+                       <KEYWORD2>shm_detach</KEYWORD2>\r
+                       <KEYWORD2>shm_get_var</KEYWORD2>\r
+                       <KEYWORD2>shm_put_var</KEYWORD2>\r
+                       <KEYWORD2>shm_remove</KEYWORD2>\r
+                       <KEYWORD2>shm_remove_var</KEYWORD2>\r
+                       <KEYWORD2>shmop_close</KEYWORD2>\r
+                       <KEYWORD2>shmop_delete</KEYWORD2>\r
+                       <KEYWORD2>shmop_open</KEYWORD2>\r
+                       <KEYWORD2>shmop_read</KEYWORD2>\r
+                       <KEYWORD2>shmop_size</KEYWORD2>\r
+                       <KEYWORD2>shmop_write</KEYWORD2>\r
+                       <KEYWORD2>show_source</KEYWORD2>\r
+                       <KEYWORD2>shuffle</KEYWORD2>\r
+                       <KEYWORD2>similar_text</KEYWORD2>\r
+                       <KEYWORD2>simplexml_import_dom</KEYWORD2>\r
+                       <KEYWORD2>simplexml_load_file</KEYWORD2>\r
+                       <KEYWORD2>simplexml_load_string</KEYWORD2>\r
+                       <KEYWORD2>sin</KEYWORD2>\r
+                       <KEYWORD2>sinh</KEYWORD2>\r
+                       <KEYWORD2>size</KEYWORD2> <!-- collection, lob -->\r
+                       <KEYWORD2>sizeof</KEYWORD2>\r
+                       <KEYWORD2>skewx</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>skewxto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
+                       <KEYWORD2>skewy</KEYWORD2> <!-- swfdisplayitem -->\r
+                       <KEYWORD2>skewyto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
+                       <KEYWORD2>sleep</KEYWORD2>\r
+                       <KEYWORD2>snmp_get_quick_print</KEYWORD2>\r
+                       <KEYWORD2>snmp_get_valueretrieval</KEYWORD2>\r
+                       <KEYWORD2>snmp_read_mib</KEYWORD2>\r
+                       <KEYWORD2>snmp_set_enum_print</KEYWORD2>\r
+                       <KEYWORD2>snmp_set_oid_numeric_print</KEYWORD2>\r
+                       <KEYWORD2>snmp_set_quick_print</KEYWORD2>\r
+                       <KEYWORD2>snmp_set_valueretrieval</KEYWORD2>\r
+                       <KEYWORD2>snmpget</KEYWORD2>\r
+                       <KEYWORD2>snmpgetnext</KEYWORD2>\r
+                       <KEYWORD2>snmprealwalk</KEYWORD2>\r
+                       <KEYWORD2>snmpset</KEYWORD2>\r
+                       <KEYWORD2>snmpwalk</KEYWORD2>\r
+                       <KEYWORD2>snmpwalkoid</KEYWORD2>\r
+                       <KEYWORD2>socket_accept</KEYWORD2>\r
+                       <KEYWORD2>socket_bind</KEYWORD2>\r
+                       <KEYWORD2>socket_clear_error</KEYWORD2>\r
+                       <KEYWORD2>socket_close</KEYWORD2>\r
+                       <KEYWORD2>socket_connect</KEYWORD2>\r
+                       <KEYWORD2>socket_create</KEYWORD2>\r
+                       <KEYWORD2>socket_create_listen</KEYWORD2>\r
+                       <KEYWORD2>socket_create_pair</KEYWORD2>\r
+                       <KEYWORD2>socket_get_option</KEYWORD2>\r
+                       <KEYWORD2>socket_get_status</KEYWORD2>\r
+                       <KEYWORD2>socket_getpeername</KEYWORD2>\r
+                       <KEYWORD2>socket_getsockname</KEYWORD2>\r
+                       <KEYWORD2>socket_last_error</KEYWORD2>\r
+                       <KEYWORD2>socket_listen</KEYWORD2>\r
+                       <KEYWORD2>socket_read</KEYWORD2>\r
+                       <KEYWORD2>socket_recv</KEYWORD2>\r
+                       <KEYWORD2>socket_recvfrom</KEYWORD2>\r
+                       <KEYWORD2>socket_select</KEYWORD2>\r
+                       <KEYWORD2>socket_send</KEYWORD2>\r
+                       <KEYWORD2>socket_sendto</KEYWORD2>\r
+                       <KEYWORD2>socket_set_block</KEYWORD2>\r
+                       <KEYWORD2>socket_set_blocking</KEYWORD2>\r
+                       <KEYWORD2>socket_set_nonblock</KEYWORD2>\r
+                       <KEYWORD2>socket_set_option</KEYWORD2>\r
+                       <KEYWORD2>socket_set_timeout</KEYWORD2>\r
+                       <KEYWORD2>socket_shutdown</KEYWORD2>\r
+                       <KEYWORD2>socket_strerror</KEYWORD2>\r
+                       <KEYWORD2>socket_write</KEYWORD2>\r
+                       <KEYWORD2>sort</KEYWORD2>\r
+                       <KEYWORD2>soundex</KEYWORD2>\r
+                       <KEYWORD2>specified</KEYWORD2> <!-- domattribute -->\r
+                       <KEYWORD2>spl_classes</KEYWORD2>\r
+                       <KEYWORD2>split</KEYWORD2>\r
+                       <KEYWORD2>spliti</KEYWORD2>\r
+                       <KEYWORD2>splittext</KEYWORD2> <!-- domtext -->\r
+                       <KEYWORD2>sprintf</KEYWORD2>\r
+                       <KEYWORD2>sql_regcase</KEYWORD2>\r
+                       <KEYWORD2>sqlite_array_query</KEYWORD2>\r
+                       <KEYWORD2>sqlite_busy_timeout</KEYWORD2>\r
+                       <KEYWORD2>sqlite_changes</KEYWORD2>\r
+                       <KEYWORD2>sqlite_close</KEYWORD2>\r
+                       <KEYWORD2>sqlite_column</KEYWORD2>\r
+                       <KEYWORD2>sqlite_create_aggregate</KEYWORD2>\r
+                       <KEYWORD2>sqlite_create_function</KEYWORD2>\r
+                       <KEYWORD2>sqlite_current</KEYWORD2>\r
+                       <KEYWORD2>sqlite_error_string</KEYWORD2>\r
+                       <KEYWORD2>sqlite_escape_string</KEYWORD2>\r
+                       <KEYWORD2>sqlite_exec</KEYWORD2>\r
+                       <KEYWORD2>sqlite_factory</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_all</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_column_types</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_single</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_string</KEYWORD2>\r
+                       <KEYWORD2>sqlite_field_name</KEYWORD2>\r
+                       <KEYWORD2>sqlite_has_more</KEYWORD2>\r
+                       <KEYWORD2>sqlite_has_prev</KEYWORD2>\r
+                       <KEYWORD2>sqlite_last_error</KEYWORD2>\r
+                       <KEYWORD2>sqlite_last_insert_rowid</KEYWORD2>\r
+                       <KEYWORD2>sqlite_libencoding</KEYWORD2>\r
+                       <KEYWORD2>sqlite_libversion</KEYWORD2>\r
+                       <KEYWORD2>sqlite_next</KEYWORD2>\r
+                       <KEYWORD2>sqlite_num_fields</KEYWORD2>\r
+                       <KEYWORD2>sqlite_num_rows</KEYWORD2>\r
+                       <KEYWORD2>sqlite_open</KEYWORD2>\r
+                       <KEYWORD2>sqlite_popen</KEYWORD2>\r
+                       <KEYWORD2>sqlite_prev</KEYWORD2>\r
+                       <KEYWORD2>sqlite_query</KEYWORD2>\r
+                       <KEYWORD2>sqlite_rewind</KEYWORD2>\r
+                       <KEYWORD2>sqlite_seek</KEYWORD2>\r
+                       <KEYWORD2>sqlite_single_query</KEYWORD2>\r
+                       <KEYWORD2>sqlite_udf_decode_binary</KEYWORD2>\r
+                       <KEYWORD2>sqlite_udf_encode_binary</KEYWORD2>\r
+                       <KEYWORD2>sqlite_unbuffered_query</KEYWORD2>\r
+                       <KEYWORD2>sqrt</KEYWORD2>\r
+                       <KEYWORD2>srand</KEYWORD2>\r
+                       <KEYWORD2>srcanchors</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>srcsofdst</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>sscanf</KEYWORD2>\r
+                       <KEYWORD2>stat</KEYWORD2>\r
+                       <KEYWORD2>str_ireplace</KEYWORD2>\r
+                       <KEYWORD2>str_pad</KEYWORD2>\r
+                       <KEYWORD2>str_repeat</KEYWORD2>\r
+                       <KEYWORD2>str_replace</KEYWORD2>\r
+                       <KEYWORD2>str_rot13</KEYWORD2>\r
+                       <KEYWORD2>str_shuffle</KEYWORD2>\r
+                       <KEYWORD2>str_split</KEYWORD2>\r
+                       <KEYWORD2>str_word_count</KEYWORD2>\r
+                       <KEYWORD2>strcasecmp</KEYWORD2>\r
+                       <KEYWORD2>strchr</KEYWORD2>\r
+                       <KEYWORD2>strcmp</KEYWORD2>\r
+                       <KEYWORD2>strcoll</KEYWORD2>\r
+                       <KEYWORD2>strcspn</KEYWORD2>\r
+                       <KEYWORD2>stream_context_create</KEYWORD2>\r
+                       <KEYWORD2>stream_context_get_default</KEYWORD2>\r
+                       <KEYWORD2>stream_context_get_options</KEYWORD2>\r
+                       <KEYWORD2>stream_context_set_option</KEYWORD2>\r
+                       <KEYWORD2>stream_context_set_params</KEYWORD2>\r
+                       <KEYWORD2>stream_copy_to_stream</KEYWORD2>\r
+                       <KEYWORD2>stream_filter_append</KEYWORD2>\r
+                       <KEYWORD2>stream_filter_prepend</KEYWORD2>\r
+                       <KEYWORD2>stream_filter_register</KEYWORD2>\r
+                       <KEYWORD2>stream_filter_remove</KEYWORD2>\r
+                       <KEYWORD2>stream_get_contents</KEYWORD2>\r
+                       <KEYWORD2>stream_get_filters</KEYWORD2>\r
+                       <KEYWORD2>stream_get_line</KEYWORD2>\r
+                       <KEYWORD2>stream_get_meta_data</KEYWORD2>\r
+                       <KEYWORD2>stream_get_transports</KEYWORD2>\r
+                       <KEYWORD2>stream_get_wrappers</KEYWORD2>\r
+                       <KEYWORD2>stream_register_wrapper</KEYWORD2>\r
+                       <KEYWORD2>stream_select</KEYWORD2>\r
+                       <KEYWORD2>stream_set_blocking</KEYWORD2>\r
+                       <KEYWORD2>stream_set_timeout</KEYWORD2>\r
+                       <KEYWORD2>stream_set_write_buffer</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_accept</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_client</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_enable_crypto</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_get_name</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_recvfrom</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_sendto</KEYWORD2>\r
+                       <KEYWORD2>stream_socket_server</KEYWORD2>\r
+                       <KEYWORD2>stream_wrapper_register</KEYWORD2>\r
+                       <KEYWORD2>stream_wrapper_restore</KEYWORD2>\r
+                       <KEYWORD2>stream_wrapper_unregister</KEYWORD2>\r
+                       <KEYWORD2>streammp3</KEYWORD2> <!-- swfmovie -->\r
+                       <KEYWORD2>strftime</KEYWORD2>\r
+                       <KEYWORD2>strip_tags</KEYWORD2>\r
+                       <KEYWORD2>stripcslashes</KEYWORD2>\r
+                       <KEYWORD2>stripos</KEYWORD2>\r
+                       <KEYWORD2>stripslashes</KEYWORD2>\r
+                       <KEYWORD2>stristr</KEYWORD2>\r
+                       <KEYWORD2>strlen</KEYWORD2>\r
+                       <KEYWORD2>strnatcasecmp</KEYWORD2>\r
+                       <KEYWORD2>strnatcmp</KEYWORD2>\r
+                       <KEYWORD2>strncasecmp</KEYWORD2>\r
+                       <KEYWORD2>strncmp</KEYWORD2>\r
+                       <KEYWORD2>strpbrk</KEYWORD2>\r
+                       <KEYWORD2>strpos</KEYWORD2>\r
+                       <KEYWORD2>strptime</KEYWORD2>\r
+                       <KEYWORD2>strrchr</KEYWORD2>\r
+                       <KEYWORD2>strrev</KEYWORD2>\r
+                       <KEYWORD2>strripos</KEYWORD2>\r
+                       <KEYWORD2>strrpos</KEYWORD2>\r
+                       <KEYWORD2>strspn</KEYWORD2>\r
+                       <KEYWORD2>strstr</KEYWORD2>\r
+                       <KEYWORD2>strtok</KEYWORD2>\r
+                       <KEYWORD2>strtolower</KEYWORD2>\r
+                       <KEYWORD2>strtotime</KEYWORD2>\r
+                       <KEYWORD2>strtoupper</KEYWORD2>\r
+                       <KEYWORD2>strtr</KEYWORD2>\r
+                       <KEYWORD2>strval</KEYWORD2>\r
+                       <KEYWORD2>substr</KEYWORD2>\r
+                       <KEYWORD2>substr_compare</KEYWORD2>\r
+                       <KEYWORD2>substr_count</KEYWORD2>\r
+                       <KEYWORD2>substr_replace</KEYWORD2>\r
+                       <KEYWORD2>substringdata</KEYWORD2> <!-- domcharacterdata -->\r
+                       <KEYWORD2>swf_actiongeturl</KEYWORD2>\r
+                       <KEYWORD2>swf_actiongotoframe</KEYWORD2>\r
+                       <KEYWORD2>swf_actiongotolabel</KEYWORD2>\r
+                       <KEYWORD2>swf_actionnextframe</KEYWORD2>\r
+                       <KEYWORD2>swf_actionplay</KEYWORD2>\r
+                       <KEYWORD2>swf_actionprevframe</KEYWORD2>\r
+                       <KEYWORD2>swf_actionsettarget</KEYWORD2>\r
+                       <KEYWORD2>swf_actionstop</KEYWORD2>\r
+                       <KEYWORD2>swf_actiontogglequality</KEYWORD2>\r
+                       <KEYWORD2>swf_actionwaitforframe</KEYWORD2>\r
+                       <KEYWORD2>swf_addbuttonrecord</KEYWORD2>\r
+                       <KEYWORD2>swf_addcolor</KEYWORD2>\r
+                       <KEYWORD2>swf_closefile</KEYWORD2>\r
+                       <KEYWORD2>swf_definebitmap</KEYWORD2>\r
+                       <KEYWORD2>swf_definefont</KEYWORD2>\r
+                       <KEYWORD2>swf_defineline</KEYWORD2>\r
+                       <KEYWORD2>swf_definepoly</KEYWORD2>\r
+                       <KEYWORD2>swf_definerect</KEYWORD2>\r
+                       <KEYWORD2>swf_definetext</KEYWORD2>\r
+                       <KEYWORD2>swf_endbutton</KEYWORD2>\r
+                       <KEYWORD2>swf_enddoaction</KEYWORD2>\r
+                       <KEYWORD2>swf_endshape</KEYWORD2>\r
+                       <KEYWORD2>swf_endsymbol</KEYWORD2>\r
+                       <KEYWORD2>swf_fontsize</KEYWORD2>\r
+                       <KEYWORD2>swf_fontslant</KEYWORD2>\r
+                       <KEYWORD2>swf_fonttracking</KEYWORD2>\r
+                       <KEYWORD2>swf_getbitmapinfo</KEYWORD2>\r
+                       <KEYWORD2>swf_getfontinfo</KEYWORD2>\r
+                       <KEYWORD2>swf_getframe</KEYWORD2>\r
+                       <KEYWORD2>swf_labelframe</KEYWORD2>\r
+                       <KEYWORD2>swf_lookat</KEYWORD2>\r
+                       <KEYWORD2>swf_modifyobject</KEYWORD2>\r
+                       <KEYWORD2>swf_mulcolor</KEYWORD2>\r
+                       <KEYWORD2>swf_nextid</KEYWORD2>\r
+                       <KEYWORD2>swf_oncondition</KEYWORD2>\r
+                       <KEYWORD2>swf_openfile</KEYWORD2>\r
+                       <KEYWORD2>swf_ortho</KEYWORD2>\r
+                       <KEYWORD2>swf_ortho2</KEYWORD2>\r
+                       <KEYWORD2>swf_perspective</KEYWORD2>\r
+                       <KEYWORD2>swf_placeobject</KEYWORD2>\r
+                       <KEYWORD2>swf_polarview</KEYWORD2>\r
+                       <KEYWORD2>swf_popmatrix</KEYWORD2>\r
+                       <KEYWORD2>swf_posround</KEYWORD2>\r
+                       <KEYWORD2>swf_pushmatrix</KEYWORD2>\r
+                       <KEYWORD2>swf_removeobject</KEYWORD2>\r
+                       <KEYWORD2>swf_rotate</KEYWORD2>\r
+                       <KEYWORD2>swf_scale</KEYWORD2>\r
+                       <KEYWORD2>swf_setfont</KEYWORD2>\r
+                       <KEYWORD2>swf_setframe</KEYWORD2>\r
+                       <KEYWORD2>swf_shapearc</KEYWORD2>\r
+                       <KEYWORD2>swf_shapecurveto</KEYWORD2>\r
+                       <KEYWORD2>swf_shapecurveto3</KEYWORD2>\r
+                       <KEYWORD2>swf_shapefillbitmapclip</KEYWORD2>\r
+                       <KEYWORD2>swf_shapefillbitmaptile</KEYWORD2>\r
+                       <KEYWORD2>swf_shapefilloff</KEYWORD2>\r
+                       <KEYWORD2>swf_shapefillsolid</KEYWORD2>\r
+                       <KEYWORD2>swf_shapelinesolid</KEYWORD2>\r
+                       <KEYWORD2>swf_shapelineto</KEYWORD2>\r
+                       <KEYWORD2>swf_shapemoveto</KEYWORD2>\r
+                       <KEYWORD2>swf_showframe</KEYWORD2>\r
+                       <KEYWORD2>swf_startbutton</KEYWORD2>\r
+                       <KEYWORD2>swf_startdoaction</KEYWORD2>\r
+                       <KEYWORD2>swf_startshape</KEYWORD2>\r
+                       <KEYWORD2>swf_startsymbol</KEYWORD2>\r
+                       <KEYWORD2>swf_textwidth</KEYWORD2>\r
+                       <KEYWORD2>swf_translate</KEYWORD2>\r
+                       <KEYWORD2>swf_viewport</KEYWORD2>\r
+                       <KEYWORD2>swfbutton_keypress</KEYWORD2>\r
+                       <KEYWORD2>sybase_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>sybase_close</KEYWORD2>\r
+                       <KEYWORD2>sybase_connect</KEYWORD2>\r
+                       <KEYWORD2>sybase_data_seek</KEYWORD2>\r
+                       <KEYWORD2>sybase_deadlock_retry_count</KEYWORD2>\r
+                       <KEYWORD2>sybase_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>sybase_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>sybase_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>sybase_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>sybase_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>sybase_field_seek</KEYWORD2>\r
+                       <KEYWORD2>sybase_free_result</KEYWORD2>\r
+                       <KEYWORD2>sybase_get_last_message</KEYWORD2>\r
+                       <KEYWORD2>sybase_min_client_severity</KEYWORD2>\r
+                       <KEYWORD2>sybase_min_error_severity</KEYWORD2>\r
+                       <KEYWORD2>sybase_min_message_severity</KEYWORD2>\r
+                       <KEYWORD2>sybase_min_server_severity</KEYWORD2>\r
+                       <KEYWORD2>sybase_num_fields</KEYWORD2>\r
+                       <KEYWORD2>sybase_num_rows</KEYWORD2>\r
+                       <KEYWORD2>sybase_pconnect</KEYWORD2>\r
+                       <KEYWORD2>sybase_query</KEYWORD2>\r
+                       <KEYWORD2>sybase_result</KEYWORD2>\r
+                       <KEYWORD2>sybase_select_db</KEYWORD2>\r
+                       <KEYWORD2>sybase_set_message_handler</KEYWORD2>\r
+                       <KEYWORD2>sybase_unbuffered_query</KEYWORD2>\r
+                       <KEYWORD2>symlink</KEYWORD2>\r
+                       <KEYWORD2>syslog</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>system_id</KEYWORD2> <!-- domdocumenttype -->\r
+                       <KEYWORD2>tagname</KEYWORD2> <!-- domelement -->\r
+                       <KEYWORD2>tan</KEYWORD2>\r
+                       <KEYWORD2>tanh</KEYWORD2>\r
+                       <KEYWORD2>target</KEYWORD2> <!-- domprocessinginstruction -->\r
+                       <KEYWORD2>tcpwrap_check</KEYWORD2>\r
+                       <KEYWORD2>tell</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>tempnam</KEYWORD2>\r
+                       <KEYWORD2>textdomain</KEYWORD2>\r
+                       <KEYWORD2>tidy_access_count</KEYWORD2>\r
+                       <KEYWORD2>tidy_clean_repair</KEYWORD2>\r
+                       <KEYWORD2>tidy_config_count</KEYWORD2>\r
+                       <KEYWORD2>tidy_diagnose</KEYWORD2>\r
+                       <KEYWORD2>tidy_error_count</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_body</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_config</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_error_buffer</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_head</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_html</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_html_ver</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_output</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_release</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_root</KEYWORD2>\r
+                       <KEYWORD2>tidy_get_status</KEYWORD2>\r
+                       <KEYWORD2>tidy_getopt</KEYWORD2>\r
+                       <KEYWORD2>tidy_is_xhtml</KEYWORD2>\r
+                       <KEYWORD2>tidy_is_xml</KEYWORD2>\r
+                       <KEYWORD2>tidy_load_config</KEYWORD2>\r
+                       <KEYWORD2>tidy_parse_file</KEYWORD2>\r
+                       <KEYWORD2>tidy_parse_string</KEYWORD2>\r
+                       <KEYWORD2>tidy_repair_file</KEYWORD2>\r
+                       <KEYWORD2>tidy_repair_string</KEYWORD2>\r
+                       <KEYWORD2>tidy_reset_config</KEYWORD2>\r
+                       <KEYWORD2>tidy_save_config</KEYWORD2>\r
+                       <KEYWORD2>tidy_set_encoding</KEYWORD2>\r
+                       <KEYWORD2>tidy_setopt</KEYWORD2>\r
+                       <KEYWORD2>tidy_warning_count</KEYWORD2>\r
+                       <KEYWORD2>time</KEYWORD2>\r
+                       <KEYWORD2>time_nanosleep</KEYWORD2>\r
+                       <KEYWORD2>title</KEYWORD2> <!-- hw_api_object -->\r
+                       <KEYWORD2>tmpfile</KEYWORD2>\r
+                       <KEYWORD2>token_get_all</KEYWORD2>\r
+                       <KEYWORD2>token_name</KEYWORD2>\r
+                       <KEYWORD2>touch</KEYWORD2>\r
+                       <KEYWORD2>trigger_error</KEYWORD2>\r
+                       <KEYWORD2>trim</KEYWORD2> <!-- collection -->\r
+                       <KEYWORD2>truncate</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>type</KEYWORD2> <!-- hw_api_reason -->\r
+                       <KEYWORD2>uasort</KEYWORD2>\r
+                       <KEYWORD2>ucfirst</KEYWORD2>\r
+                       <KEYWORD2>ucwords</KEYWORD2>\r
+                       <KEYWORD2>udm_add_search_limit</KEYWORD2>\r
+                       <KEYWORD2>udm_alloc_agent</KEYWORD2>\r
+                       <KEYWORD2>udm_alloc_agent_array</KEYWORD2>\r
+                       <KEYWORD2>udm_api_version</KEYWORD2>\r
+                       <KEYWORD2>udm_cat_list</KEYWORD2>\r
+                       <KEYWORD2>udm_cat_path</KEYWORD2>\r
+                       <KEYWORD2>udm_check_charset</KEYWORD2>\r
+                       <KEYWORD2>udm_check_stored</KEYWORD2>\r
+                       <KEYWORD2>udm_clear_search_limits</KEYWORD2>\r
+                       <KEYWORD2>udm_close_stored</KEYWORD2>\r
+                       <KEYWORD2>udm_crc32</KEYWORD2>\r
+                       <KEYWORD2>udm_errno</KEYWORD2>\r
+                       <KEYWORD2>udm_error</KEYWORD2>\r
+                       <KEYWORD2>udm_find</KEYWORD2>\r
+                       <KEYWORD2>udm_free_agent</KEYWORD2>\r
+                       <KEYWORD2>udm_free_ispell_data</KEYWORD2>\r
+                       <KEYWORD2>udm_free_res</KEYWORD2>\r
+                       <KEYWORD2>udm_get_doc_count</KEYWORD2>\r
+                       <KEYWORD2>udm_get_res_field</KEYWORD2>\r
+                       <KEYWORD2>udm_get_res_param</KEYWORD2>\r
+                       <KEYWORD2>udm_hash32</KEYWORD2>\r
+                       <KEYWORD2>udm_load_ispell_data</KEYWORD2>\r
+                       <KEYWORD2>udm_open_stored</KEYWORD2>\r
+                       <KEYWORD2>udm_set_agent_param</KEYWORD2>\r
+                       <KEYWORD2>uksort</KEYWORD2>\r
+                       <KEYWORD2>umask</KEYWORD2>\r
+                       <KEYWORD2>uniqid</KEYWORD2>\r
+                       <KEYWORD2>unixtojd</KEYWORD2>\r
+                       <KEYWORD2>unlink</KEYWORD2>\r
+                       <KEYWORD2>unlink_node</KEYWORD2> <!-- domnode -->\r
+                       <KEYWORD2>unlock</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>unpack</KEYWORD2>\r
+                       <KEYWORD2>unregister_tick_function</KEYWORD2>\r
+                       <KEYWORD2>unserialize</KEYWORD2>\r
+                       <KEYWORD2>urldecode</KEYWORD2>\r
+                       <KEYWORD2>urlencode</KEYWORD2>\r
+                       <KEYWORD2>user</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>user_error</KEYWORD2>\r
+                       <KEYWORD2>userlist</KEYWORD2> <!-- hw_api -->\r
+                       <KEYWORD2>usleep</KEYWORD2>\r
+                       <KEYWORD2>usort</KEYWORD2>\r
+                       <KEYWORD2>utf8_decode</KEYWORD2>\r
+                       <KEYWORD2>utf8_encode</KEYWORD2>\r
+                       <KEYWORD2>valid</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, recursiveiteratoriterator, simplexmliterator -->\r
+                       <KEYWORD2>validate</KEYWORD2> <!-- domdocument -->\r
+                       <KEYWORD2>value</KEYWORD2> <!-- domattribute, hw_api_attribute, hw_api_object -->\r
+                       <KEYWORD2>values</KEYWORD2> <!-- hw_api_attribute -->\r
+                       <KEYWORD2>var_dump</KEYWORD2>\r
+                       <KEYWORD2>var_export</KEYWORD2>\r
+                       <KEYWORD2>variant_abs</KEYWORD2>\r
+                       <KEYWORD2>variant_add</KEYWORD2>\r
+                       <KEYWORD2>variant_and</KEYWORD2>\r
+                       <KEYWORD2>variant_cast</KEYWORD2>\r
+                       <KEYWORD2>variant_cat</KEYWORD2>\r
+                       <KEYWORD2>variant_cmp</KEYWORD2>\r
+                       <KEYWORD2>variant_date_from_timestamp</KEYWORD2>\r
+                       <KEYWORD2>variant_date_to_timestamp</KEYWORD2>\r
+                       <KEYWORD2>variant_div</KEYWORD2>\r
+                       <KEYWORD2>variant_eqv</KEYWORD2>\r
+                       <KEYWORD2>variant_fix</KEYWORD2>\r
+                       <KEYWORD2>variant_get_type</KEYWORD2>\r
+                       <KEYWORD2>variant_idiv</KEYWORD2>\r
+                       <KEYWORD2>variant_imp</KEYWORD2>\r
+                       <KEYWORD2>variant_int</KEYWORD2>\r
+                       <KEYWORD2>variant_mod</KEYWORD2>\r
+                       <KEYWORD2>variant_mul</KEYWORD2>\r
+                       <KEYWORD2>variant_neg</KEYWORD2>\r
+                       <KEYWORD2>variant_not</KEYWORD2>\r
+                       <KEYWORD2>variant_or</KEYWORD2>\r
+                       <KEYWORD2>variant_pow</KEYWORD2>\r
+                       <KEYWORD2>variant_round</KEYWORD2>\r
+                       <KEYWORD2>variant_set</KEYWORD2>\r
+                       <KEYWORD2>variant_set_type</KEYWORD2>\r
+                       <KEYWORD2>variant_sub</KEYWORD2>\r
+                       <KEYWORD2>variant_xor</KEYWORD2>\r
+                       <KEYWORD2>version_compare</KEYWORD2>\r
+                       <KEYWORD2>vfprintf</KEYWORD2>\r
+                       <KEYWORD2>virtual</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_add_alias_domain</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_add_alias_domain_ex</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_add_domain</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_add_domain_ex</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_add_user</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_alias_add</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_alias_del</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_alias_del_domain</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_alias_get</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_alias_get_all</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_auth_user</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_del_domain</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_del_domain_ex</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_del_user</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_error</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_passwd</KEYWORD2>\r
+                       <KEYWORD2>vpopmail_set_user_quota</KEYWORD2>\r
+                       <KEYWORD2>vprintf</KEYWORD2>\r
+                       <KEYWORD2>vsprintf</KEYWORD2>\r
+                       <KEYWORD2>w32api_deftype</KEYWORD2>\r
+                       <KEYWORD2>w32api_init_dtype</KEYWORD2>\r
+                       <KEYWORD2>w32api_invoke_function</KEYWORD2>\r
+                       <KEYWORD2>w32api_register_function</KEYWORD2>\r
+                       <KEYWORD2>w32api_set_call_method</KEYWORD2>\r
+                       <KEYWORD2>wddx_add_vars</KEYWORD2>\r
+                       <KEYWORD2>wddx_deserialize</KEYWORD2>\r
+                       <KEYWORD2>wddx_packet_end</KEYWORD2>\r
+                       <KEYWORD2>wddx_packet_start</KEYWORD2>\r
+                       <KEYWORD2>wddx_serialize_value</KEYWORD2>\r
+                       <KEYWORD2>wddx_serialize_vars</KEYWORD2>\r
+                       <KEYWORD2>wordwrap</KEYWORD2>\r
+                       <KEYWORD2>write</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>writetemporary</KEYWORD2> <!-- lob -->\r
+                       <KEYWORD2>xattr_get</KEYWORD2>\r
+                       <KEYWORD2>xattr_list</KEYWORD2>\r
+                       <KEYWORD2>xattr_remove</KEYWORD2>\r
+                       <KEYWORD2>xattr_set</KEYWORD2>\r
+                       <KEYWORD2>xattr_supported</KEYWORD2>\r
+                       <KEYWORD2>xdiff_file_diff</KEYWORD2>\r
+                       <KEYWORD2>xdiff_file_diff_binary</KEYWORD2>\r
+                       <KEYWORD2>xdiff_file_merge3</KEYWORD2>\r
+                       <KEYWORD2>xdiff_file_patch</KEYWORD2>\r
+                       <KEYWORD2>xdiff_file_patch_binary</KEYWORD2>\r
+                       <KEYWORD2>xdiff_string_diff</KEYWORD2>\r
+                       <KEYWORD2>xdiff_string_diff_binary</KEYWORD2>\r
+                       <KEYWORD2>xdiff_string_merge3</KEYWORD2>\r
+                       <KEYWORD2>xdiff_string_patch</KEYWORD2>\r
+                       <KEYWORD2>xdiff_string_patch_binary</KEYWORD2>\r
+                       <KEYWORD2>xinclude</KEYWORD2> <!-- domdocument, domdocument -->\r
+                       <KEYWORD2>xml_error_string</KEYWORD2>\r
+                       <KEYWORD2>xml_get_current_byte_index</KEYWORD2>\r
+                       <KEYWORD2>xml_get_current_column_number</KEYWORD2>\r
+                       <KEYWORD2>xml_get_current_line_number</KEYWORD2>\r
+                       <KEYWORD2>xml_get_error_code</KEYWORD2>\r
+                       <KEYWORD2>xml_parse</KEYWORD2>\r
+                       <KEYWORD2>xml_parse_into_struct</KEYWORD2>\r
+                       <KEYWORD2>xml_parser_create</KEYWORD2>\r
+                       <KEYWORD2>xml_parser_create_ns</KEYWORD2>\r
+                       <KEYWORD2>xml_parser_free</KEYWORD2>\r
+                       <KEYWORD2>xml_parser_get_option</KEYWORD2>\r
+                       <KEYWORD2>xml_parser_set_option</KEYWORD2>\r
+                       <KEYWORD2>xml_set_character_data_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_default_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_element_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_end_namespace_decl_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_external_entity_ref_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_notation_decl_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_object</KEYWORD2>\r
+                       <KEYWORD2>xml_set_processing_instruction_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_start_namespace_decl_handler</KEYWORD2>\r
+                       <KEYWORD2>xml_set_unparsed_entity_decl_handler</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_decode</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_decode_request</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_encode</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_encode_request</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_get_type</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_is_fault</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_parse_method_descriptions</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_add_introspection_data</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_call_method</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_create</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_destroy</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_register_introspection_callback</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_server_register_method</KEYWORD2>\r
+                       <KEYWORD2>xmlrpc_set_type</KEYWORD2>\r
+                       <KEYWORD2>xpath</KEYWORD2> <!-- simplexmlelement -->\r
+                       <KEYWORD2>xpath_eval</KEYWORD2>\r
+                       <KEYWORD2>xpath_eval_expression</KEYWORD2>\r
+                       <KEYWORD2>xpath_new_context</KEYWORD2>\r
+                       <KEYWORD2>xptr_eval</KEYWORD2>\r
+                       <KEYWORD2>xptr_new_context</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_get_parameter</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_has_exslt_support</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_import_stylesheet</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_register_php_functions</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_remove_parameter</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_set_parameter</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_transform_to_doc</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_transform_to_uri</KEYWORD2>\r
+                       <KEYWORD2>xsl_xsltprocessor_transform_to_xml</KEYWORD2>\r
+                       <KEYWORD2>xslt_backend_info</KEYWORD2>\r
+                       <KEYWORD2>xslt_backend_name</KEYWORD2>\r
+                       <KEYWORD2>xslt_backend_version</KEYWORD2>\r
+                       <KEYWORD2>xslt_create</KEYWORD2>\r
+                       <KEYWORD2>xslt_errno</KEYWORD2>\r
+                       <KEYWORD2>xslt_error</KEYWORD2>\r
+                       <KEYWORD2>xslt_free</KEYWORD2>\r
+                       <KEYWORD2>xslt_getopt</KEYWORD2>\r
+                       <KEYWORD2>xslt_process</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_base</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_encoding</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_error_handler</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_log</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_object</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_sax_handler</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_sax_handlers</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_scheme_handler</KEYWORD2>\r
+                       <KEYWORD2>xslt_set_scheme_handlers</KEYWORD2>\r
+                       <KEYWORD2>xslt_setopt</KEYWORD2>\r
+                       <KEYWORD2>yaz_addinfo</KEYWORD2>\r
+                       <KEYWORD2>yaz_ccl_conf</KEYWORD2>\r
+                       <KEYWORD2>yaz_ccl_parse</KEYWORD2>\r
+                       <KEYWORD2>yaz_close</KEYWORD2>\r
+                       <KEYWORD2>yaz_connect</KEYWORD2>\r
+                       <KEYWORD2>yaz_database</KEYWORD2>\r
+                       <KEYWORD2>yaz_element</KEYWORD2>\r
+                       <KEYWORD2>yaz_errno</KEYWORD2>\r
+                       <KEYWORD2>yaz_error</KEYWORD2>\r
+                       <KEYWORD2>yaz_es_result</KEYWORD2>\r
+                       <KEYWORD2>yaz_get_option</KEYWORD2>\r
+                       <KEYWORD2>yaz_hits</KEYWORD2>\r
+                       <KEYWORD2>yaz_itemorder</KEYWORD2>\r
+                       <KEYWORD2>yaz_present</KEYWORD2>\r
+                       <KEYWORD2>yaz_range</KEYWORD2>\r
+                       <KEYWORD2>yaz_record</KEYWORD2>\r
+                       <KEYWORD2>yaz_scan</KEYWORD2>\r
+                       <KEYWORD2>yaz_scan_result</KEYWORD2>\r
+                       <KEYWORD2>yaz_schema</KEYWORD2>\r
+                       <KEYWORD2>yaz_search</KEYWORD2>\r
+                       <KEYWORD2>yaz_set_option</KEYWORD2>\r
+                       <KEYWORD2>yaz_sort</KEYWORD2>\r
+                       <KEYWORD2>yaz_syntax</KEYWORD2>\r
+                       <KEYWORD2>yaz_wait</KEYWORD2>\r
+                       <KEYWORD2>yp_all</KEYWORD2>\r
+                       <KEYWORD2>yp_cat</KEYWORD2>\r
+                       <KEYWORD2>yp_err_string</KEYWORD2>\r
+                       <KEYWORD2>yp_errno</KEYWORD2>\r
+                       <KEYWORD2>yp_first</KEYWORD2>\r
+                       <KEYWORD2>yp_get_default_domain</KEYWORD2>\r
+                       <KEYWORD2>yp_master</KEYWORD2>\r
+                       <KEYWORD2>yp_match</KEYWORD2>\r
+                       <KEYWORD2>yp_next</KEYWORD2>\r
+                       <KEYWORD2>yp_order</KEYWORD2>\r
+                       <KEYWORD2>zend_logo_guid</KEYWORD2>\r
+                       <KEYWORD2>zend_version</KEYWORD2>\r
+                       <KEYWORD2>zip_close</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_close</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_compressedsize</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_compressionmethod</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_filesize</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_name</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_open</KEYWORD2>\r
+                       <KEYWORD2>zip_entry_read</KEYWORD2>\r
+                       <KEYWORD2>zip_open</KEYWORD2>\r
+                       <KEYWORD2>zip_read</KEYWORD2>\r
+                       <KEYWORD2>zlib_get_coding_type</KEYWORD2>\r
+\r
+\r
+                       <!-- Alias functions (343)\r
+                               http://zend.com/phpfunc/all_aliases.php -->\r
+                       <KEYWORD2>apache_request_headers</KEYWORD2>\r
+                       <KEYWORD2>apache_response_headers</KEYWORD2>\r
+                       <KEYWORD2>attr_get</KEYWORD2>\r
+                       <KEYWORD2>attr_set</KEYWORD2>\r
+                       <KEYWORD2>autocommit</KEYWORD2>\r
+                       <KEYWORD2>bind_param</KEYWORD2>\r
+                       <KEYWORD2>bind_result</KEYWORD2>\r
+                       <KEYWORD2>bzclose</KEYWORD2>\r
+                       <KEYWORD2>bzflush</KEYWORD2>\r
+                       <KEYWORD2>bzwrite</KEYWORD2>\r
+                       <KEYWORD2>change_user</KEYWORD2>\r
+                       <KEYWORD2>character_set_name</KEYWORD2>\r
+                       <KEYWORD2>checkdnsrr</KEYWORD2>\r
+                       <KEYWORD2>chop</KEYWORD2>\r
+                       <KEYWORD2>client_encoding</KEYWORD2>\r
+                       <KEYWORD2>close</KEYWORD2>\r
+                       <KEYWORD2>commit</KEYWORD2>\r
+                       <KEYWORD2>connect</KEYWORD2>\r
+                       <KEYWORD2>data_seek</KEYWORD2>\r
+                       <KEYWORD2>debug</KEYWORD2>\r
+                       <KEYWORD2>disable_reads_from_master</KEYWORD2>\r
+                       <KEYWORD2>disable_rpl_parse</KEYWORD2>\r
+                       <KEYWORD2>diskfreespace</KEYWORD2>\r
+                       <KEYWORD2>doubleval</KEYWORD2>\r
+                       <KEYWORD2>dump_debug_info</KEYWORD2>\r
+                       <KEYWORD2>enable_reads_from_master</KEYWORD2>\r
+                       <KEYWORD2>enable_rpl_parse</KEYWORD2>\r
+                       <KEYWORD2>escape_string</KEYWORD2>\r
+                       <KEYWORD2>execute</KEYWORD2>\r
+                       <KEYWORD2>fbird_add_user</KEYWORD2>\r
+                       <KEYWORD2>fbird_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>fbird_backup</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_add</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_cancel</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_close</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_create</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_echo</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_get</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_import</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_info</KEYWORD2>\r
+                       <KEYWORD2>fbird_blob_open</KEYWORD2>\r
+                       <KEYWORD2>fbird_close</KEYWORD2>\r
+                       <KEYWORD2>fbird_commit</KEYWORD2>\r
+                       <KEYWORD2>fbird_commit_ret</KEYWORD2>\r
+                       <KEYWORD2>fbird_connect</KEYWORD2>\r
+                       <KEYWORD2>fbird_db_info</KEYWORD2>\r
+                       <KEYWORD2>fbird_delete_user</KEYWORD2>\r
+                       <KEYWORD2>fbird_drop_db</KEYWORD2>\r
+                       <KEYWORD2>fbird_errcode</KEYWORD2>\r
+                       <KEYWORD2>fbird_errmsg</KEYWORD2>\r
+                       <KEYWORD2>fbird_execute</KEYWORD2>\r
+                       <KEYWORD2>fbird_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>fbird_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>fbird_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>fbird_field_info</KEYWORD2>\r
+                       <KEYWORD2>fbird_free_event_handler</KEYWORD2>\r
+                       <KEYWORD2>fbird_free_query</KEYWORD2>\r
+                       <KEYWORD2>fbird_free_result</KEYWORD2>\r
+                       <KEYWORD2>fbird_gen_id</KEYWORD2>\r
+                       <KEYWORD2>fbird_maintain_db</KEYWORD2>\r
+                       <KEYWORD2>fbird_modify_user</KEYWORD2>\r
+                       <KEYWORD2>fbird_name_result</KEYWORD2>\r
+                       <KEYWORD2>fbird_num_fields</KEYWORD2>\r
+                       <KEYWORD2>fbird_num_params</KEYWORD2>\r
+                       <KEYWORD2>fbird_num_rows</KEYWORD2>\r
+                       <KEYWORD2>fbird_param_info</KEYWORD2>\r
+                       <KEYWORD2>fbird_pconnect</KEYWORD2>\r
+                       <KEYWORD2>fbird_prepare</KEYWORD2>\r
+                       <KEYWORD2>fbird_query</KEYWORD2>\r
+                       <KEYWORD2>fbird_restore</KEYWORD2>\r
+                       <KEYWORD2>fbird_rollback</KEYWORD2>\r
+                       <KEYWORD2>fbird_rollback_ret</KEYWORD2>\r
+                       <KEYWORD2>fbird_server_info</KEYWORD2>\r
+                       <KEYWORD2>fbird_service_attach</KEYWORD2>\r
+                       <KEYWORD2>fbird_service_detach</KEYWORD2>\r
+                       <KEYWORD2>fbird_set_event_handler</KEYWORD2>\r
+                       <KEYWORD2>fbird_trans</KEYWORD2>\r
+                       <KEYWORD2>fbird_wait_event</KEYWORD2>\r
+                       <KEYWORD2>fbsql</KEYWORD2>\r
+                       <KEYWORD2>fbsql_tablename</KEYWORD2>\r
+                       <KEYWORD2>fetch</KEYWORD2>\r
+                       <KEYWORD2>fetch_array</KEYWORD2>\r
+                       <KEYWORD2>fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>fetch_field</KEYWORD2>\r
+                       <KEYWORD2>fetch_field_direct</KEYWORD2>\r
+                       <KEYWORD2>fetch_fields</KEYWORD2>\r
+                       <KEYWORD2>fetch_object</KEYWORD2>\r
+                       <KEYWORD2>fetch_row</KEYWORD2>\r
+                       <KEYWORD2>field_count</KEYWORD2>\r
+                       <KEYWORD2>field_seek</KEYWORD2>\r
+                       <KEYWORD2>fputs</KEYWORD2>\r
+                       <KEYWORD2>free</KEYWORD2>\r
+                       <KEYWORD2>free_result</KEYWORD2>\r
+                       <KEYWORD2>ftp_quit</KEYWORD2>\r
+                       <KEYWORD2>get_client_info</KEYWORD2>\r
+                       <KEYWORD2>get_required_files</KEYWORD2>\r
+                       <KEYWORD2>get_server_info</KEYWORD2>\r
+                       <KEYWORD2>getallheaders</KEYWORD2>\r
+                       <KEYWORD2>getmxrr</KEYWORD2>\r
+                       <KEYWORD2>gmp_div</KEYWORD2>\r
+                       <KEYWORD2>gzclose</KEYWORD2>\r
+                       <KEYWORD2>gzeof</KEYWORD2>\r
+                       <KEYWORD2>gzgetc</KEYWORD2>\r
+                       <KEYWORD2>gzgets</KEYWORD2>\r
+                       <KEYWORD2>gzgetss</KEYWORD2>\r
+                       <KEYWORD2>gzpassthru</KEYWORD2>\r
+                       <KEYWORD2>gzputs</KEYWORD2>\r
+                       <KEYWORD2>gzread</KEYWORD2>\r
+                       <KEYWORD2>gzrewind</KEYWORD2>\r
+                       <KEYWORD2>gzseek</KEYWORD2>\r
+                       <KEYWORD2>gztell</KEYWORD2>\r
+                       <KEYWORD2>gzwrite</KEYWORD2>\r
+                       <KEYWORD2>imap_create</KEYWORD2>\r
+                       <KEYWORD2>imap_fetchtext</KEYWORD2>\r
+                       <KEYWORD2>imap_header</KEYWORD2>\r
+                       <KEYWORD2>imap_listmailbox</KEYWORD2>\r
+                       <KEYWORD2>imap_listsubscribed</KEYWORD2>\r
+                       <KEYWORD2>imap_rename</KEYWORD2>\r
+                       <KEYWORD2>ini_alter</KEYWORD2>\r
+                       <KEYWORD2>init</KEYWORD2>\r
+                       <KEYWORD2>is_double</KEYWORD2>\r
+                       <KEYWORD2>is_int</KEYWORD2>\r
+                       <KEYWORD2>is_integer</KEYWORD2>\r
+                       <KEYWORD2>is_real</KEYWORD2>\r
+                       <KEYWORD2>is_writeable</KEYWORD2>\r
+                       <KEYWORD2>join</KEYWORD2>\r
+                       <KEYWORD2>key_exists</KEYWORD2>\r
+                       <KEYWORD2>kill</KEYWORD2>\r
+                       <KEYWORD2>ldap_close</KEYWORD2>\r
+                       <KEYWORD2>ldap_modify</KEYWORD2>\r
+                       <KEYWORD2>magic_quotes_runtime</KEYWORD2>\r
+                       <KEYWORD2>master_query</KEYWORD2>\r
+                       <KEYWORD2>ming_keypress</KEYWORD2>\r
+                       <KEYWORD2>ming_setcubicthreshold</KEYWORD2>\r
+                       <KEYWORD2>ming_setscale</KEYWORD2>\r
+                       <KEYWORD2>ming_useconstants</KEYWORD2>\r
+                       <KEYWORD2>ming_useswfversion</KEYWORD2>\r
+                       <KEYWORD2>more_results</KEYWORD2>\r
+                       <KEYWORD2>msql</KEYWORD2>\r
+                       <KEYWORD2>msql_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>msql_createdb</KEYWORD2>\r
+                       <KEYWORD2>msql_dbname</KEYWORD2>\r
+                       <KEYWORD2>msql_dropdb</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldflags</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldlen</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldname</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldtable</KEYWORD2>\r
+                       <KEYWORD2>msql_fieldtype</KEYWORD2>\r
+                       <KEYWORD2>msql_freeresult</KEYWORD2>\r
+                       <KEYWORD2>msql_listdbs</KEYWORD2>\r
+                       <KEYWORD2>msql_listfields</KEYWORD2>\r
+                       <KEYWORD2>msql_listtables</KEYWORD2>\r
+                       <KEYWORD2>msql_numfields</KEYWORD2>\r
+                       <KEYWORD2>msql_numrows</KEYWORD2>\r
+                       <KEYWORD2>msql_regcase</KEYWORD2>\r
+                       <KEYWORD2>msql_selectdb</KEYWORD2>\r
+                       <KEYWORD2>msql_tablename</KEYWORD2>\r
+                       <KEYWORD2>mssql_affected_rows</KEYWORD2>\r
+                       <KEYWORD2>mssql_close</KEYWORD2>\r
+                       <KEYWORD2>mssql_connect</KEYWORD2>\r
+                       <KEYWORD2>mssql_data_seek</KEYWORD2>\r
+                       <KEYWORD2>mssql_deadlock_retry_count</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_array</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_assoc</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_field</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_object</KEYWORD2>\r
+                       <KEYWORD2>mssql_fetch_row</KEYWORD2>\r
+                       <KEYWORD2>mssql_field_seek</KEYWORD2>\r
+                       <KEYWORD2>mssql_free_result</KEYWORD2>\r
+                       <KEYWORD2>mssql_get_last_message</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_client_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_error_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_message_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_min_server_severity</KEYWORD2>\r
+                       <KEYWORD2>mssql_num_fields</KEYWORD2>\r
+                       <KEYWORD2>mssql_num_rows</KEYWORD2>\r
+                       <KEYWORD2>mssql_pconnect</KEYWORD2>\r
+                       <KEYWORD2>mssql_query</KEYWORD2>\r
+                       <KEYWORD2>mssql_result</KEYWORD2>\r
+                       <KEYWORD2>mssql_select_db</KEYWORD2>\r
+                       <KEYWORD2>mssql_set_message_handler</KEYWORD2>\r
+                       <KEYWORD2>mssql_unbuffered_query</KEYWORD2>\r
+                       <KEYWORD2>multi_query</KEYWORD2>\r
+                       <KEYWORD2>mysql</KEYWORD2>\r
+                       <KEYWORD2>mysql_createdb</KEYWORD2>\r
+                       <KEYWORD2>mysql_db_name</KEYWORD2>\r
+                       <KEYWORD2>mysql_dbname</KEYWORD2>\r
+                       <KEYWORD2>mysql_dropdb</KEYWORD2>\r
+                       <KEYWORD2>mysql_fieldflags</KEYWORD2>\r
+                       <KEYWORD2>mysql_fieldlen</KEYWORD2>\r
+                       <KEYWORD2>mysql_fieldname</KEYWORD2>\r
+                       <KEYWORD2>mysql_fieldtable</KEYWORD2>\r
+                       <KEYWORD2>mysql_fieldtype</KEYWORD2>\r
+                       <KEYWORD2>mysql_freeresult</KEYWORD2>\r
+                       <KEYWORD2>mysql_listdbs</KEYWORD2>\r
+                       <KEYWORD2>mysql_listfields</KEYWORD2>\r
+                       <KEYWORD2>mysql_listtables</KEYWORD2>\r
+                       <KEYWORD2>mysql_numfields</KEYWORD2>\r
+                       <KEYWORD2>mysql_numrows</KEYWORD2>\r
+                       <KEYWORD2>mysql_selectdb</KEYWORD2>\r
+                       <KEYWORD2>mysql_table_name</KEYWORD2>\r
+                       <KEYWORD2>mysql_tablename</KEYWORD2>\r
+                       <KEYWORD2>mysqli</KEYWORD2>\r
+                       <KEYWORD2>mysqli_execute</KEYWORD2>\r
+                       <KEYWORD2>mysqli_fetch</KEYWORD2>\r
+                       <KEYWORD2>mysqli_set_opt</KEYWORD2>\r
+                       <KEYWORD2>next_result</KEYWORD2>\r
+                       <KEYWORD2>num_rows</KEYWORD2>\r
+                       <KEYWORD2>oci_free_cursor</KEYWORD2>\r
+                       <KEYWORD2>ocibindbyname</KEYWORD2>\r
+                       <KEYWORD2>ocicancel</KEYWORD2>\r
+                       <KEYWORD2>ocicollappend</KEYWORD2>\r
+                       <KEYWORD2>ocicollassignelem</KEYWORD2>\r
+                       <KEYWORD2>ocicollgetelem</KEYWORD2>\r
+                       <KEYWORD2>ocicollmax</KEYWORD2>\r
+                       <KEYWORD2>ocicollsize</KEYWORD2>\r
+                       <KEYWORD2>ocicolltrim</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnisnull</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnname</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnprecision</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnscale</KEYWORD2>\r
+                       <KEYWORD2>ocicolumnsize</KEYWORD2>\r
+                       <KEYWORD2>ocicolumntype</KEYWORD2>\r
+                       <KEYWORD2>ocicolumntyperaw</KEYWORD2>\r
+                       <KEYWORD2>ocicommit</KEYWORD2>\r
+                       <KEYWORD2>ocidefinebyname</KEYWORD2>\r
+                       <KEYWORD2>ocierror</KEYWORD2>\r
+                       <KEYWORD2>ociexecute</KEYWORD2>\r
+                       <KEYWORD2>ocifetch</KEYWORD2>\r
+                       <KEYWORD2>ocifetchstatement</KEYWORD2>\r
+                       <KEYWORD2>ocifreecollection</KEYWORD2>\r
+                       <KEYWORD2>ocifreecursor</KEYWORD2>\r
+                       <KEYWORD2>ocifreedesc</KEYWORD2>\r
+                       <KEYWORD2>ocifreestatement</KEYWORD2>\r
+                       <KEYWORD2>ociinternaldebug</KEYWORD2>\r
+                       <KEYWORD2>ociloadlob</KEYWORD2>\r
+                       <KEYWORD2>ocilogoff</KEYWORD2>\r
+                       <KEYWORD2>ocilogon</KEYWORD2>\r
+                       <KEYWORD2>ocinewcollection</KEYWORD2>\r
+                       <KEYWORD2>ocinewcursor</KEYWORD2>\r
+                       <KEYWORD2>ocinewdescriptor</KEYWORD2>\r
+                       <KEYWORD2>ocinlogon</KEYWORD2>\r
+                       <KEYWORD2>ocinumcols</KEYWORD2>\r
+                       <KEYWORD2>ociparse</KEYWORD2>\r
+                       <KEYWORD2>ocipasswordchange</KEYWORD2>\r
+                       <KEYWORD2>ociplogon</KEYWORD2>\r
+                       <KEYWORD2>ociresult</KEYWORD2>\r
+                       <KEYWORD2>ocirollback</KEYWORD2>\r
+                       <KEYWORD2>ocirowcount</KEYWORD2>\r
+                       <KEYWORD2>ocisavelob</KEYWORD2>\r
+                       <KEYWORD2>ocisavelobfile</KEYWORD2>\r
+                       <KEYWORD2>ociserverversion</KEYWORD2>\r
+                       <KEYWORD2>ocisetprefetch</KEYWORD2>\r
+                       <KEYWORD2>ocistatementtype</KEYWORD2>\r
+                       <KEYWORD2>ociwritelobtofile</KEYWORD2>\r
+                       <KEYWORD2>odbc_do</KEYWORD2>\r
+                       <KEYWORD2>odbc_field_precision</KEYWORD2>\r
+                       <KEYWORD2>openssl_free_key</KEYWORD2>\r
+                       <KEYWORD2>openssl_get_privatekey</KEYWORD2>\r
+                       <KEYWORD2>openssl_get_publickey</KEYWORD2>\r
+                       <KEYWORD2>options</KEYWORD2>\r
+                       <KEYWORD2>pg_clientencoding</KEYWORD2>\r
+                       <KEYWORD2>pg_cmdtuples</KEYWORD2>\r
+                       <KEYWORD2>pg_errormessage</KEYWORD2>\r
+                       <KEYWORD2>pg_exec</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldisnull</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldname</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldnum</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldprtlen</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldsize</KEYWORD2>\r
+                       <KEYWORD2>pg_fieldtype</KEYWORD2>\r
+                       <KEYWORD2>pg_freeresult</KEYWORD2>\r
+                       <KEYWORD2>pg_getlastoid</KEYWORD2>\r
+                       <KEYWORD2>pg_loclose</KEYWORD2>\r
+                       <KEYWORD2>pg_locreate</KEYWORD2>\r
+                       <KEYWORD2>pg_loexport</KEYWORD2>\r
+                       <KEYWORD2>pg_loimport</KEYWORD2>\r
+                       <KEYWORD2>pg_loopen</KEYWORD2>\r
+                       <KEYWORD2>pg_loread</KEYWORD2>\r
+                       <KEYWORD2>pg_loreadall</KEYWORD2>\r
+                       <KEYWORD2>pg_lounlink</KEYWORD2>\r
+                       <KEYWORD2>pg_lowrite</KEYWORD2>\r
+                       <KEYWORD2>pg_numfields</KEYWORD2>\r
+                       <KEYWORD2>pg_numrows</KEYWORD2>\r
+                       <KEYWORD2>pg_result</KEYWORD2>\r
+                       <KEYWORD2>pg_setclientencoding</KEYWORD2>\r
+                       <KEYWORD2>ping</KEYWORD2>\r
+                       <KEYWORD2>pos</KEYWORD2>\r
+                       <KEYWORD2>posix_errno</KEYWORD2>\r
+                       <KEYWORD2>prepare</KEYWORD2>\r
+                       <KEYWORD2>query</KEYWORD2>\r
+                       <KEYWORD2>read_exif_data</KEYWORD2>\r
+                       <KEYWORD2>real_connect</KEYWORD2>\r
+                       <KEYWORD2>real_escape_string</KEYWORD2>\r
+                       <KEYWORD2>real_query</KEYWORD2>\r
+                       <KEYWORD2>recode</KEYWORD2>\r
+                       <KEYWORD2>reset</KEYWORD2>\r
+                       <KEYWORD2>result_metadata</KEYWORD2>\r
+                       <KEYWORD2>rollback</KEYWORD2>\r
+                       <KEYWORD2>rpl_parse_enabled</KEYWORD2>\r
+                       <KEYWORD2>rpl_probe</KEYWORD2>\r
+                       <KEYWORD2>rpl_query_type</KEYWORD2>\r
+                       <KEYWORD2>select_db</KEYWORD2>\r
+                       <KEYWORD2>send_long_data</KEYWORD2>\r
+                       <KEYWORD2>session_commit</KEYWORD2>\r
+                       <KEYWORD2>set_file_buffer</KEYWORD2>\r
+                       <KEYWORD2>set_local_infile_default</KEYWORD2>\r
+                       <KEYWORD2>set_local_infile_handler</KEYWORD2>\r
+                       <KEYWORD2>set_opt</KEYWORD2>\r
+                       <KEYWORD2>show_source</KEYWORD2>\r
+                       <KEYWORD2>sizeof</KEYWORD2>\r
+                       <KEYWORD2>slave_query</KEYWORD2>\r
+                       <KEYWORD2>snmpwalkoid</KEYWORD2>\r
+                       <KEYWORD2>socket_get_status</KEYWORD2>\r
+                       <KEYWORD2>socket_getopt</KEYWORD2>\r
+                       <KEYWORD2>socket_set_blocking</KEYWORD2>\r
+                       <KEYWORD2>socket_set_timeout</KEYWORD2>\r
+                       <KEYWORD2>socket_setopt</KEYWORD2>\r
+                       <KEYWORD2>sqlite_fetch_string</KEYWORD2>\r
+                       <KEYWORD2>sqlite_has_more</KEYWORD2>\r
+                       <KEYWORD2>ssl_set</KEYWORD2>\r
+                       <KEYWORD2>stat</KEYWORD2>\r
+                       <KEYWORD2>stmt</KEYWORD2>\r
+                       <KEYWORD2>stmt_init</KEYWORD2>\r
+                       <KEYWORD2>store_result</KEYWORD2>\r
+                       <KEYWORD2>strchr</KEYWORD2>\r
+                       <KEYWORD2>stream_register_wrapper</KEYWORD2>\r
+                       <KEYWORD2>thread_safe</KEYWORD2>\r
+                       <KEYWORD2>use_result</KEYWORD2>\r
+                       <KEYWORD2>user_error</KEYWORD2>\r
+                       <KEYWORD2>velocis_autocommit</KEYWORD2>\r
+                       <KEYWORD2>velocis_close</KEYWORD2>\r
+                       <KEYWORD2>velocis_commit</KEYWORD2>\r
+                       <KEYWORD2>velocis_connect</KEYWORD2>\r
+                       <KEYWORD2>velocis_exec</KEYWORD2>\r
+                       <KEYWORD2>velocis_fetch</KEYWORD2>\r
+                       <KEYWORD2>velocis_fieldname</KEYWORD2>\r
+                       <KEYWORD2>velocis_fieldnum</KEYWORD2>\r
+                       <KEYWORD2>velocis_freeresult</KEYWORD2>\r
+                       <KEYWORD2>velocis_off_autocommit</KEYWORD2>\r
+                       <KEYWORD2>velocis_result</KEYWORD2>\r
+                       <KEYWORD2>velocis_rollback</KEYWORD2>\r
+                       <KEYWORD2>virtual</KEYWORD2>\r
+\r
+\r
+                       <!-- Language constructs (69)\r
+                               http://www.php.net/manual/en/reserved.php -->\r
+                       <KEYWORD1>__CLASS__</KEYWORD1>\r
+                       <KEYWORD1>__FILE__</KEYWORD1>\r
+                       <KEYWORD1>__FUNCTION__</KEYWORD1>\r
+                       <KEYWORD1>__LINE__</KEYWORD1>\r
+                       <KEYWORD1>__METHOD__</KEYWORD1>\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <KEYWORD1>array</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>cfunction</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>clone</KEYWORD1>\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>declare</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>die</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>echo</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>elseif</KEYWORD1>\r
+                       <KEYWORD1>empty</KEYWORD1>\r
+                       <KEYWORD1>enddeclare</KEYWORD1>\r
+                       <KEYWORD1>endfor</KEYWORD1>\r
+                       <KEYWORD1>endforeach</KEYWORD1>\r
+                       <KEYWORD1>endif</KEYWORD1>\r
+                       <KEYWORD1>endswitch</KEYWORD1>\r
+                       <KEYWORD1>endwhile</KEYWORD1>\r
+                       <KEYWORD1>eval</KEYWORD1>\r
+                       <KEYWORD1>exception</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>false</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>global</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>include</KEYWORD1>\r
+                       <KEYWORD1>include_once</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>interface</KEYWORD1>\r
+                       <KEYWORD1>isset</KEYWORD1>\r
+                       <KEYWORD1>list</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>null</KEYWORD1>\r
+                       <KEYWORD1>old_function</KEYWORD1>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <KEYWORD1>php_user_filter</KEYWORD1>\r
+                       <KEYWORD1>print</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>require</KEYWORD1>\r
+                       <KEYWORD1>require_once</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>true</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>unset</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+                       <KEYWORD1>var</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <OPERATOR>xor</OPERATOR>\r
+                       <!-- end: generated by buildfunctionlist.php -->\r
+                       <!-- }}} -->\r
+\r
+                       <!-- xdebug functions -->\r
+                       <!-- {{{ -->\r
+                       <KEYWORD2>xdebug_break</KEYWORD2>\r
+                       <KEYWORD2>xdebug_call_class</KEYWORD2>\r
+                       <KEYWORD2>xdebug_call_file</KEYWORD2>\r
+                       <KEYWORD2>xdebug_call_function</KEYWORD2>\r
+                       <KEYWORD2>xdebug_call_line</KEYWORD2>\r
+                       <KEYWORD2>xdebug_disable</KEYWORD2>\r
+                       <KEYWORD2>xdebug_dump_function_profile</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_dump_function_trace</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_dump_superglobals</KEYWORD2>\r
+                       <KEYWORD2>xdebug_enable</KEYWORD2>\r
+                       <KEYWORD2>xdebug_get_code_coverage</KEYWORD2>\r
+                       <KEYWORD2>xdebug_get_function_count</KEYWORD2>\r
+                       <KEYWORD2>xdebug_get_function_profile</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_get_function_stack</KEYWORD2>\r
+                       <KEYWORD2>xdebug_get_function_trace</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_get_stack_depth</KEYWORD2>\r
+                       <KEYWORD2>xdebug_is_enabled</KEYWORD2>\r
+                       <KEYWORD2>xdebug_memory_usage</KEYWORD2>\r
+                       <KEYWORD2>xdebug_peak_memory_usage</KEYWORD2>\r
+                       <KEYWORD2>xdebug_start_code_coverage</KEYWORD2>\r
+                       <KEYWORD2>xdebug_start_profiling</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_start_trace</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_stop_code_coverage</KEYWORD2>\r
+                       <KEYWORD2>xdebug_stop_profiling</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_stop_trace</KEYWORD2><!-- version 1 only -->\r
+                       <KEYWORD2>xdebug_time_index</KEYWORD2>\r
+                       <KEYWORD2>xdebug_var_dump</KEYWORD2>\r
+                       <!-- }}} -->\r
+\r
+                       <!-- Basic SimpleTest methods -->\r
+                       <!-- {{{ -->\r
+                       <KEYWORD2>assertCopy</KEYWORD2>\r
+                       <KEYWORD2>assertEqual</KEYWORD2>\r
+                       <KEYWORD2>assertError</KEYWORD2>\r
+                       <KEYWORD2>assertErrorPattern</KEYWORD2>\r
+                       <KEYWORD2>assertFalse</KEYWORD2>\r
+                       <KEYWORD2>assertIdentical</KEYWORD2>\r
+                       <KEYWORD2>assertIsA</KEYWORD2>\r
+                       <KEYWORD2>assertNoErrors</KEYWORD2>\r
+                       <KEYWORD2>assertNoUnwantedPattern</KEYWORD2>\r
+                       <KEYWORD2>assertNotA</KEYWORD2>\r
+                       <KEYWORD2>assertNotEqual</KEYWORD2>\r
+                       <KEYWORD2>assertNotIdentical</KEYWORD2>\r
+                       <KEYWORD2>assertNotNull</KEYWORD2>\r
+                       <KEYWORD2>assertNull</KEYWORD2>\r
+                       <KEYWORD2>assertReference</KEYWORD2>\r
+                       <KEYWORD2>assertTrue</KEYWORD2>\r
+                       <KEYWORD2>assertWantedPattern</KEYWORD2>\r
+\r
+                       <KEYWORD2>setReturnValue</KEYWORD2>\r
+                       <KEYWORD2>setReturnValueAt</KEYWORD2>\r
+                       <KEYWORD2>setReturnReference</KEYWORD2>\r
+                       <KEYWORD2>setReturnReferenceAt</KEYWORD2>\r
+                       <KEYWORD2>expectArguments</KEYWORD2>\r
+                       <KEYWORD2>expectArgumentsAt</KEYWORD2>\r
+                       <KEYWORD2>expectCallCount</KEYWORD2>\r
+                       <KEYWORD2>expectMaximumCallCount</KEYWORD2>\r
+                       <KEYWORD2>expectMinimumCallCount</KEYWORD2>\r
+                       <KEYWORD2>expectNever</KEYWORD2>\r
+                       <KEYWORD2>expectOnce</KEYWORD2>\r
+                       <KEYWORD2>expectAtLeastOnce</KEYWORD2>\r
+                       <KEYWORD2>tally</KEYWORD2>\r
+\r
+                       <KEYWORD2>dump</KEYWORD2>\r
+                       <KEYWORD2>error</KEYWORD2>\r
+                       <KEYWORD2>fail</KEYWORD2>\r
+                       <KEYWORD2>pass</KEYWORD2>\r
+                       <KEYWORD2>sendMessage</KEYWORD2>\r
+                       <KEYWORD2>setUp</KEYWORD2>\r
+                       <KEYWORD2>signal</KEYWORD2>\r
+                       <KEYWORD2>swallowErrors</KEYWORD2>\r
+                       <KEYWORD2>tearDown</KEYWORD2>\r
+                       <!-- }}} -->\r
+\r
+                       <!-- more magical functions -->\r
+                       <KEYWORD2>__autoload</KEYWORD2>\r
+                       <KEYWORD2>__destruct</KEYWORD2>\r
+                       <KEYWORD2>__get</KEYWORD2>\r
+                       <KEYWORD2>__set</KEYWORD2>\r
+                       <KEYWORD2>__sleep</KEYWORD2>\r
+                       <KEYWORD2>__wakeup</KEYWORD2>\r
+\r
+                       <!-- more constructs -->\r
+                       <KEYWORD4>parent</KEYWORD4>\r
+                       <KEYWORD4>self</KEYWORD4>\r
+                       <KEYWORD4>stdClass</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="KEYWORDS_VISIBILITY">\r
+               <KEYWORDS>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <!-- Javascript -->\r
+       <RULES SET="JAVASCRIPT_OPENTAG" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT">&gt;</SEQ>\r
+               <IMPORT DELEGATE="TO_LITERAL+PHP"/> <!-- handle PHP in <script> tag -->\r
+               <IMPORT DELEGATE="html::TAGS" /> <!-- handle e.g. 'style="width:1px"' -->\r
+       </RULES>\r
+\r
+\r
+       <!-- Handle literals, but allow switching to PHP therein, e.g. from html TAGS -->\r
+       <RULES SET="TO_LITERAL+PHP">\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL1+PHP">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL2+PHP">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" ESCAPE="\">\r
+               <IMPORT DELEGATE="TO_LITERAL+PHP"/>\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+               <IMPORT DELEGATE="javascript::MAIN"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Handle PHP tags in LITERAL1, e.g. in the "type" attribute of a <SCRIPT> tag -->\r
+       <RULES SET="LITERAL1+PHP" DEFAULT="LITERAL1">\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Handle PHP tags in LITERAL2, e.g. in the "type" attribute of a <SCRIPT> tag -->\r
+       <RULES SET="LITERAL2+PHP" DEFAULT="LITERAL2">\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Handle PHP tags in comments -->\r
+       <RULES SET="COMMENT1+PHP" DEFAULT="COMMENT1">\r
+               <IMPORT DELEGATE="TO_PHP"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Go to PHP mode again -->\r
+       <RULES SET="TO_PHP" DEFAULT="MARKUP">\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;?php</BEGIN>\r
+                       <END>?&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;?</BEGIN>\r
+                       <END>?&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+\r
+       <!-- Extended label block, also uses "|" as seperator -->\r
+       <RULES SET="PHPDOC_LABEL_BLOCK_EXTENDED" DEFAULT="COMMENT3"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+\r
+               <!-- Delegate back (gets not caught from PHPDOC_LABEL_BLOCK): -->\r
+               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" />\r
+               <IMPORT DELEGATE="PHPDOC_LABEL_BLOCK" />\r
+\r
+               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
+               <IMPORT DELEGATE="PHPDOC" />\r
+               <IMPORT DELEGATE="PHPDOC_VAR" />\r
+               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
+       </RULES>\r
+\r
+       <!-- A block after a label tag like "@see" -->\r
+       <RULES SET="PHPDOC_LABEL_BLOCK" DEFAULT="COMMENT3"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+\r
+               <!-- Delegate back -->\r
+               <!-- <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" /> -->\r
+\r
+               <SEQ TYPE="COMMENT3" DELEGATE="PHPDOC">*/</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION">()</MARK_PREVIOUS>\r
+\r
+               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
+               <IMPORT DELEGATE="PHPDOC" />\r
+               <IMPORT DELEGATE="PHPDOC_VAR" />\r
+               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
+\r
+               <!-- Taken from: http://php.net/manual/en/language.types.php -->\r
+               <KEYWORDS>\r
+                       <OPERATOR>array</OPERATOR>\r
+                       <OPERATOR>bool</OPERATOR>\r
+                       <OPERATOR>boolean</OPERATOR>\r
+                       <OPERATOR>callback</OPERATOR>\r
+                       <OPERATOR>double</OPERATOR>\r
+                       <OPERATOR>float</OPERATOR>\r
+                       <OPERATOR>int</OPERATOR>\r
+                       <OPERATOR>integer</OPERATOR>\r
+                       <OPERATOR>mixed</OPERATOR>\r
+                       <OPERATOR>number</OPERATOR>\r
+                       <OPERATOR>NULL</OPERATOR>\r
+                       <OPERATOR>object</OPERATOR>\r
+                       <OPERATOR>real</OPERATOR><!-- not listed, but valid in a typecast -->\r
+                       <OPERATOR>resource</OPERATOR>\r
+                       <OPERATOR>string</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+\r
+       <!-- A block after @access -->\r
+       <RULES SET="PHPDOC_LABEL_BLOCK_ACCESS" DEFAULT="COMMENT3"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+               <IMPORT DELEGATE="KEYWORDS_VISIBILITY" />\r
+\r
+               <!-- Delegate back: -->\r
+               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS"/>\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="PHPDOC_BLOCK" DEFAULT="COMMENT3"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+               <!-- highlight function/method name as token type FUNCTION -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION">()</MARK_PREVIOUS>\r
+\r
+               <!-- Delegate back: -->\r
+               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS"/>\r
+               <IMPORT DELEGATE="PHPDOC"/>\r
+               <IMPORT DELEGATE="PHPDOC_VAR"/>\r
+       </RULES>\r
+\r
+\r
+       <!-- Helper for class references in rule PHPDOC -->\r
+       <RULES SET="OBJECT_PHPDOC">\r
+               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="-&gt;" DELEGATE="PHPDOC">-&gt;\w+\s*(?=\()</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="OBJECT_PHPDOC">-&gt;\w+(?=(\[[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
+               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="PHPDOC">-&gt;\w*</SEQ_REGEXP>\r
+\r
+               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
+       </RULES>\r
+\r
+\r
+       <!-- Almost like PHP_VAR - but with another delegate -->\r
+       <RULES SET="PHPDOC_VAR">\r
+               <!-- (Class-)Variables -->\r
+               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="$" DELEGATE="OBJECT_PHPDOC">\$\w+(?=(\[[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
+\r
+               <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
+\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD4">\$\w+(?=\s*=\s*(&amp;\s*)?new)</SEQ_REGEXP>\r
+\r
+               <!-- Normal variables -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+\r
+       <!-- phpdoc / phpDocumentor label tags -->\r
+       <RULES SET="PHPDOC_LABEL_KEYWORDS">\r
+               <!-- {{{\r
+                       Some (@global, @param, ..) are here just for complete-word -->\r
+               <KEYWORDS>\r
+                       <LABEL>@abstract</LABEL>\r
+                       <LABEL>@access</LABEL>\r
+                       <LABEL>@author</LABEL>\r
+                       <LABEL>@category</LABEL>\r
+                       <LABEL>@const</LABEL>\r
+                       <LABEL>@constant</LABEL>\r
+                       <LABEL>@copyright</LABEL>\r
+                       <LABEL>@deprecated</LABEL>\r
+                       <LABEL>@example</LABEL>\r
+                       <LABEL>@filesource</LABEL>\r
+                       <LABEL>@final</LABEL>\r
+                       <LABEL>@global</LABEL>\r
+                       <LABEL>@ignore</LABEL>\r
+                       <LABEL>@internal</LABEL>\r
+                       <LABEL>@license</LABEL>\r
+                       <LABEL>@link</LABEL>\r
+                       <LABEL>@name</LABEL>\r
+                       <LABEL>@package</LABEL>\r
+                       <LABEL>@param</LABEL>\r
+                       <LABEL>@return</LABEL>\r
+                       <LABEL>@see</LABEL>\r
+                       <LABEL>@since</LABEL>\r
+                       <LABEL>@static</LABEL>\r
+                       <LABEL>@staticvar</LABEL>\r
+                       <LABEL>@subpackage</LABEL>\r
+                       <LABEL>@todo</LABEL>\r
+                       <LABEL>@tutorial</LABEL>\r
+                       <LABEL>@uses</LABEL>\r
+                       <LABEL>@var</LABEL>\r
+                       <LABEL>@version</LABEL>\r
+               </KEYWORDS>\r
+               <!-- }}} -->\r
+       </RULES>\r
+\r
+\r
+       <!-- Delegate to PHPDOC_LABEL_BLOCK[_EXTENDED|_ACCESS] or back to PHPDOC -->\r
+       <RULES SET="PHPDOC_DELEGATE_LABEL_BLOCKS" DEFAULT="COMMENT3">\r
+               <!-- Delegate empty line (just an asterisk) back to PHPDOC -->\r
+               <SEQ_REGEXP TYPE="COMMENT3" AT_WHITESPACE_END="TRUE" DELEGATE="PHPDOC" HASH_CHAR="*">\*\s*$</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
+                       DELEGATE="PHPDOC_LABEL_BLOCK_EXTENDED">@(global|param|return|staticvar|var)</SEQ_REGEXP>\r
+\r
+               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
+                       DELEGATE="PHPDOC_LABEL_BLOCK">@(deprecated|see|uses)</SEQ_REGEXP>\r
+\r
+               <SEQ TYPE="LABEL" DELEGATE="PHPDOC_LABEL_BLOCK_ACCESS">@access</SEQ>\r
+\r
+               <!-- Delegate the remaining phpdoc tags back to PHPDOC_BLOCK: -->\r
+               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
+                       DELEGATE="PHPDOC_BLOCK">@(abstract|author|category|const|constant|copyright|example|filesource|final|ignore|internal|license|link|name|package|since|static|subpackage|todo|tutorial|version)</SEQ_REGEXP>\r
+       </RULES>\r
+\r
+\r
+       <!-- The main phpdoc rules -->\r
+       <RULES SET="PHPDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
+               <!-- HTML comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="PHPDOC_BLOCK">\r
+                       <BEGIN>{@internal</BEGIN>\r
+                       <END>}}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="PHPDOC_BLOCK">\r
+                       <BEGIN>{@link</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- PHPdoc allows this -->\r
+               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
+               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
+\r
+               <SPAN DELEGATE="PHP" TYPE="MARKUP">\r
+                       <BEGIN>&lt;code&gt;</BEGIN>\r
+                       <END>&lt;/code&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- HTML tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Imports: -->\r
+               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" />\r
+               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
+               <IMPORT DELEGATE="PHPDOC_VAR" />\r
+               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
+       </RULES>\r
+\r
+\r
+       <RULES SET="INVALID_LT" DEFAULT="INVALID">\r
+               <SEQ TYPE="INVALID">&lt;</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/pike.xml b/basis/xmode/modes/pike.xml
new file mode 100644 (file)
index 0000000..fa50f3e
--- /dev/null
@@ -0,0 +1,242 @@
+<?xml version="1.0"?>\r
+\r
+<!-- Pike mode, contributed by\r
+                      Marco G?tze, <gomar@gmx.net> -->\r
+<!-- Small fixes and autodoc support contributed by\r
+                      Peter Lundqvist <peterl@update.uu.se> -->\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart" VALUE="/*"/>\r
+    <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
+    <PROPERTY NAME="lineComment" VALUE="//"/>\r
+    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*`"/>\r
+\r
+    <!-- Auto indent -->\r
+    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>\r
+    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
+    <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|(for(each)?)|while|catch|gauge)\s*\(|(do|else)\s*|else\s+if\s*\()[^{;]*)"/>\r
+    <!-- set this to 'true' if you want to use GNU coding style -->\r
+    <PROPERTY NAME="doubleBracketIndent" VALUE="false"/>\r
+  </PROPS>\r
+  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+|0[bB][01]+)[lLdDfF]?">\r
+\r
+    <!-- comments -->\r
+    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+      <BEGIN>/*</BEGIN>\r
+      <END>*/</END>\r
+    </SPAN>\r
+    <SEQ TYPE="INVALID">*/</SEQ>\r
+\r
+    <!-- Autodoc comment -->\r
+    <EOL_SPAN TYPE="COMMENT1" DELEGATE="AUTODOC">//!</EOL_SPAN>\r
+    <!-- C++ line comment -->\r
+    <EOL_SPAN TYPE="COMMENT1" DELEGATE="COMMENT">//</EOL_SPAN>\r
+\r
+    <!-- string, char literals -->\r
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING_LITERAL">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="LITERAL1" DELEGATE="STRING_LITERAL">\r
+      <BEGIN>#"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <!-- preprocessor statements -->\r
+    <SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="#" AT_LINE_START="TRUE">#.*?(?=($|/\*|//))</SEQ_REGEXP>\r
+\r
+    <!-- operators -->\r
+    <SEQ TYPE="OPERATOR">({</SEQ>\r
+    <SEQ TYPE="OPERATOR">})</SEQ>\r
+    <SEQ TYPE="OPERATOR">([</SEQ>\r
+    <SEQ TYPE="OPERATOR">])</SEQ>\r
+    <SEQ TYPE="OPERATOR">(&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;)</SEQ>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">!</SEQ>\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">%</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+    <SEQ TYPE="OPERATOR">|</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="OPERATOR">@</SEQ>\r
+    <SEQ TYPE="OPERATOR">`</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+\r
+    <!-- function calls -->\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+    <KEYWORDS>\r
+      <!-- type modifiers -->\r
+      <KEYWORD1>constant</KEYWORD1>\r
+      <KEYWORD1>extern</KEYWORD1>\r
+      <KEYWORD1>final</KEYWORD1>\r
+      <KEYWORD1>inline</KEYWORD1>\r
+      <KEYWORD1>local</KEYWORD1>\r
+      <KEYWORD1>nomask</KEYWORD1>\r
+      <KEYWORD1>optional</KEYWORD1>\r
+      <KEYWORD1>private</KEYWORD1>\r
+      <KEYWORD1>protected</KEYWORD1>\r
+      <KEYWORD1>public</KEYWORD1>\r
+      <KEYWORD1>static</KEYWORD1>\r
+      <KEYWORD1>variant</KEYWORD1>\r
+\r
+      <!-- types -->\r
+      <KEYWORD3>array</KEYWORD3>\r
+      <KEYWORD3>class</KEYWORD3>\r
+      <KEYWORD3>float</KEYWORD3>\r
+      <KEYWORD3>function</KEYWORD3>\r
+      <KEYWORD3>int</KEYWORD3>\r
+      <KEYWORD3>mapping</KEYWORD3>\r
+      <KEYWORD3>mixed</KEYWORD3>\r
+      <KEYWORD3>multiset</KEYWORD3>\r
+      <KEYWORD3>object</KEYWORD3>\r
+      <KEYWORD3>program</KEYWORD3>\r
+      <KEYWORD3>string</KEYWORD3>\r
+      <KEYWORD3>void</KEYWORD3>\r
+\r
+      <!-- flow control and block-introducing keywords -->\r
+      <KEYWORD1>break</KEYWORD1>\r
+      <KEYWORD1>case</KEYWORD1>\r
+      <KEYWORD1>catch</KEYWORD1>\r
+      <KEYWORD1>continue</KEYWORD1>\r
+      <KEYWORD1>default</KEYWORD1>\r
+      <KEYWORD1>do</KEYWORD1>\r
+      <KEYWORD1>else</KEYWORD1>\r
+      <KEYWORD1>for</KEYWORD1>\r
+      <KEYWORD1>foreach</KEYWORD1>\r
+      <KEYWORD1>gauge</KEYWORD1>\r
+      <KEYWORD1>if</KEYWORD1>\r
+      <KEYWORD1>lambda</KEYWORD1>\r
+      <KEYWORD1>return</KEYWORD1>\r
+      <KEYWORD1>sscanf</KEYWORD1>\r
+      <KEYWORD1>switch</KEYWORD1>\r
+      <KEYWORD1>while</KEYWORD1>\r
+\r
+      <!-- special instructions -->\r
+      <KEYWORD2>import</KEYWORD2>\r
+      <KEYWORD2>inherit</KEYWORD2>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+  <RULES SET="COMMENT" IGNORE_CASE="FALSE" DEFAULT="COMMENT1">\r
+    <KEYWORDS>\r
+      <COMMENT2>FIXME</COMMENT2>\r
+      <COMMENT2>XXX</COMMENT2>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+  <RULES SET="AUTODOC" IGNORE_CASE="TRUE" DEFAULT="COMMENT1">\r
+\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN" MATCH_TYPE="CONTEXT">@decl</EOL_SPAN>\r
+\r
+               <!-- XML tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                 <BEGIN>@xml{</BEGIN>\r
+                       <END>@}</END>\r
+               </SPAN>\r
+               <!-- Cross references -->\r
+               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
+               <BEGIN>@[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <!-- Brace keywords -->\r
+               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="@">@(b|i|u|tt|url|pre|ref|code|expr|image)?(\{.*@\})</SEQ_REGEXP>\r
+\r
+               <!-- Attempt to get syntax highlighting of @decl-ed functions\r
+                    inside of the autodoc-rule.\r
+\r
+                    It works - but jEdit 4.1 has problems keeping it highlighted\r
+                    (the syntax highlighting works depending on how you travel\r
+                    past the @decl-ed region).\r
+                    Can't figure aout how to to proper coloring of the @decl\r
+                    keyword either.\r
+\r
+                    If there are problems with what regions are highlighted -\r
+                    try to uncomment this first.\r
+               -->\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN">@decl</EOL_SPAN>\r
+\r
+               <KEYWORDS>\r
+                 <!-- Meta keywords -->\r
+                 <LABEL>@appears</LABEL>\r
+                 <LABEL>@belongs</LABEL>\r
+                 <LABEL>@class</LABEL>\r
+                 <LABEL>@endclass</LABEL>\r
+                 <LABEL>@example</LABEL>\r
+                 <LABEL>@module</LABEL>\r
+                 <LABEL>@endmodule</LABEL>\r
+                 <LABEL>@namespace</LABEL>\r
+                 <LABEL>@endnamespace</LABEL>\r
+                 <!-- <LABEL>@decl</LABEL>\r
+                 -->\r
+\r
+                 <!-- Single keywords -->\r
+                 <LABEL>@deprecated</LABEL>\r
+\r
+                 <!-- Delimiter keywords -->\r
+                 <LABEL>@note</LABEL>\r
+                 <LABEL>@example</LABEL>\r
+                 <LABEL>@bugs</LABEL>\r
+                 <LABEL>@returns</LABEL>\r
+                 <LABEL>@throws</LABEL>\r
+                 <LABEL>@param</LABEL>\r
+                 <LABEL>@seealso</LABEL>\r
+                 <LABEL>@fixme</LABEL>\r
+                 <LABEL>@constant</LABEL>\r
+                 <LABEL>@member</LABEL>\r
+                 <LABEL>@index</LABEL>\r
+                 <LABEL>@elem</LABEL>\r
+                 <LABEL>@value</LABEL>\r
+                 <LABEL>@type</LABEL>\r
+                 <LABEL>@item</LABEL>\r
+\r
+                 <!-- Container keywords -->\r
+                 <LABEL>@section</LABEL>\r
+                 <LABEL>@mapping</LABEL>\r
+                 <LABEL>@endmapping</LABEL>\r
+                 <LABEL>@multiset</LABEL>\r
+                 <LABEL>@endmultiset</LABEL>\r
+                 <LABEL>@array</LABEL>\r
+                 <LABEL>@endarray</LABEL>\r
+                 <LABEL>@int</LABEL>\r
+                 <LABEL>@endint</LABEL>\r
+                 <LABEL>@string</LABEL>\r
+                 <LABEL>@endstring</LABEL>\r
+                 <LABEL>@mixed</LABEL>\r
+                 <LABEL>@endmixed</LABEL>\r
+                 <LABEL>@dl</LABEL>\r
+                 <LABEL>@enddl</LABEL>\r
+                 <LABEL>@ol</LABEL>\r
+                 <LABEL>@endol</LABEL>\r
+                 <LABEL>@ul</LABEL>\r
+                 <LABEL>@endol</LABEL>\r
+\r
+                 <!-- Special keywords -->\r
+                 <LABEL>@ignore</LABEL>\r
+                 <LABEL>@endignore</LABEL>\r
+\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+  <RULES SET="STRING_LITERAL" ESCAPE="\" IGNORE_CASE="TRUE" DEFAULT="LITERAL1">\r
+    <SEQ_REGEXP TYPE="LITERAL2" HASH_CHAR="%">%([^ a-z]*[a-z]|\[[^\]]*\])</SEQ_REGEXP>\r
+    <SEQ TYPE="COMMENT2">DEBUG:</SEQ>\r
+  </RULES>\r
+</MODE>
\ No newline at end of file
diff --git a/basis/xmode/modes/pl-sql.xml b/basis/xmode/modes/pl-sql.xml
new file mode 100644 (file)
index 0000000..b3e084d
--- /dev/null
@@ -0,0 +1,502 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+        <PROPERTY NAME="indentNextLines" VALUE="\s*(.*THEN|ELSE|LOOP).*" />\r
+               <PROPERTY NAME="unindentNextLines" VALUE="^\s*(ELSE|ELSIF|END IF|END LOOP).*" />\r
+               <PROPERTY NAME="unindentThisLine" VALUE="^\s*(ELSE|ELSIF|END IF|END LOOP).*" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LABEL">\r
+                       <BEGIN>/*+</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="LABEL">--+</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">REM </EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">REMARK</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <MARK_FOLLOWING AT_LINE_START="TRUE" AT_WHITESPACE_END="TRUE"\r
+                TYPE="LABEL">@@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING AT_LINE_START="TRUE"\r
+                AT_WHITESPACE_END="TRUE" TYPE="LABEL">@</MARK_FOLLOWING>\r
+               <EOL_SPAN AT_LINE_START="TRUE" DELEGATE="shellscript::MAIN">!</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE"\r
+                DELEGATE="shellscript::MAIN">host</EOL_SPAN>\r
+               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <!-- reserved words -->\r
+                       <KEYWORD1>ABORT</KEYWORD1>\r
+                       <KEYWORD1>ACCESS</KEYWORD1>\r
+                       <KEYWORD1>ACCEPT</KEYWORD1>\r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ALTER</KEYWORD1>\r
+                       <KEYWORD1>ARRAY</KEYWORD1>\r
+                       <KEYWORD1>ARRAY_LEN</KEYWORD1>\r
+                       <KEYWORD1>AS</KEYWORD1>\r
+                       <KEYWORD1>ASC</KEYWORD1>\r
+                       <KEYWORD1>ASSERT</KEYWORD1>\r
+                       <KEYWORD1>ASSIGN</KEYWORD1>\r
+                       <KEYWORD1>AT</KEYWORD1>\r
+                       <KEYWORD1>AUDIT</KEYWORD1>\r
+                       <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
+                       <KEYWORD1>AVG</KEYWORD1>\r
+                       <KEYWORD1>BASE_TABLE</KEYWORD1>\r
+                       <KEYWORD1>BEGIN</KEYWORD1>\r
+                       <KEYWORD1>BINARY_INTEGER</KEYWORD1>\r
+                       <KEYWORD1>BODY</KEYWORD1>\r
+                       <KEYWORD1>BREAK</KEYWORD1>\r
+                       <KEYWORD1>BREAKS</KEYWORD1>\r
+                       <KEYWORD1>BTITLE</KEYWORD1>\r
+                       <KEYWORD1>CASE</KEYWORD1>\r
+                       <KEYWORD1>CALL</KEYWORD1>\r
+                       <KEYWORD1>CENTER</KEYWORD1>\r
+                       <KEYWORD1>CHAR</KEYWORD1>\r
+                       <KEYWORD1>CHAR_BASE</KEYWORD1>\r
+                       <KEYWORD1>CHECK</KEYWORD1>\r
+                       <KEYWORD1>CLEAR</KEYWORD1>\r
+                       <KEYWORD1>CLOSE</KEYWORD1>\r
+                       <KEYWORD1>CLUSTER</KEYWORD1>\r
+                       <KEYWORD1>CLUSTERS</KEYWORD1>\r
+                       <KEYWORD1>CMPVAR</KEYWORD1>\r
+                       <KEYWORD1>COL</KEYWORD1>\r
+                       <KEYWORD1>COLAUTH</KEYWORD1>\r
+                       <KEYWORD1>COLUMN</KEYWORD1>\r
+                       <KEYWORD1>COLUMNS</KEYWORD1>\r
+                       <KEYWORD1>COMMENT</KEYWORD1>\r
+                       <KEYWORD1>COMMIT</KEYWORD1>\r
+                       <KEYWORD1>COMPRESS</KEYWORD1>\r
+                       <KEYWORD1>COMPUTE</KEYWORD1>\r
+                       <KEYWORD1>CONSTANT</KEYWORD1>\r
+                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>COUNT</KEYWORD1>\r
+                       <KEYWORD1>CREATE</KEYWORD1>\r
+                       <KEYWORD1>CURRENT</KEYWORD1>\r
+                       <KEYWORD1>CURRVAL</KEYWORD1>\r
+                       <KEYWORD1>CURSOR</KEYWORD1>\r
+                       <KEYWORD1>DATABASE</KEYWORD1>\r
+                       <KEYWORD1>DATA_BASE</KEYWORD1>\r
+                       <KEYWORD1>DATE</KEYWORD1>\r
+                       <KEYWORD1>DBA</KEYWORD1>\r
+                       <KEYWORD1>DEBUGOFF</KEYWORD1>\r
+                       <KEYWORD1>DEBUGON</KEYWORD1>\r
+                       <KEYWORD1>DECLARE</KEYWORD1>\r
+                       <KEYWORD1>DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>DEFINITION</KEYWORD1>\r
+                       <KEYWORD1>DELAY</KEYWORD1>\r
+                       <KEYWORD1>DELETE</KEYWORD1>\r
+                       <KEYWORD1>DESC</KEYWORD1>\r
+                       <KEYWORD1>EXPLAIN</KEYWORD1>\r
+                       <KEYWORD1>DIGITS</KEYWORD1>\r
+                       <KEYWORD1>DISPOSE</KEYWORD1>\r
+                       <KEYWORD1>DISTINCT</KEYWORD1>\r
+                       <KEYWORD1>DO</KEYWORD1>\r
+                       <KEYWORD1>DROP</KEYWORD1>\r
+                       <KEYWORD1>DUMP</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>ELSIF</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>ENTRY</KEYWORD1>>\r
+                       <KEYWORD1>ERRORS</KEYWORD1>\r
+                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
+                       <KEYWORD1>EXCEPTION_INIT</KEYWORD1>\r
+                       <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
+                       <KEYWORD1>EXECUTE</KEYWORD1>\r
+                       <KEYWORD1>EXIT</KEYWORD1>\r
+                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
+                       <KEYWORD1>FALSE</KEYWORD1>\r
+                       <KEYWORD1>FETCH</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+            <KEYWORD1>FOREIGN</KEYWORD1>\r
+                       <KEYWORD1>FORM</KEYWORD1>\r
+                       <KEYWORD1>FORMAT</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>FUNCTION</KEYWORD1>\r
+                       <KEYWORD1>GENERIC</KEYWORD1>\r
+                       <KEYWORD1>GOTO</KEYWORD1>\r
+                       <KEYWORD1>GRANT</KEYWORD1>\r
+                       <KEYWORD1>GREATEST</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+                       <KEYWORD1>HAVING</KEYWORD1>\r
+                       <KEYWORD1>HEADING</KEYWORD1>\r
+                       <KEYWORD1>IDENTIFIED</KEYWORD1>\r
+                       <KEYWORD1>IDENTITYCOL</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>IMMEDIATE</KEYWORD1>\r
+                       <KEYWORD1>INCREMENT</KEYWORD1>\r
+                       <KEYWORD1>INDEX</KEYWORD1>\r
+                       <KEYWORD1>INDEXES</KEYWORD1>\r
+                       <KEYWORD1>INDICATOR</KEYWORD1>\r
+                       <KEYWORD1>INITIAL</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>INTERFACE</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>IS</KEYWORD1>\r
+                       <KEYWORD1>KEY</KEYWORD1>\r
+                       <KEYWORD1>LEAST</KEYWORD1>\r
+                       <KEYWORD1>LEVEL</KEYWORD1>\r
+                       <KEYWORD1>LIMITED</KEYWORD1>\r
+                       <KEYWORD1>LOCK</KEYWORD1>\r
+                       <KEYWORD1>LONG</KEYWORD1>\r
+                       <KEYWORD1>LOOP</KEYWORD1>\r
+                       <KEYWORD1>MATCHED</KEYWORD1>\r
+                       <KEYWORD1>MAX</KEYWORD1>\r
+                       <KEYWORD1>MAXEXTENTS</KEYWORD1>\r
+                       <KEYWORD1>MERGE</KEYWORD1>\r
+                       <KEYWORD1>MEMBER</KEYWORD1>\r
+                       <KEYWORD1>MIN</KEYWORD1>\r
+                       <KEYWORD1>MINUS</KEYWORD1>\r
+                       <KEYWORD1>MLSLABEL</KEYWORD1>\r
+                       <KEYWORD1>MOD</KEYWORD1>\r
+                       <KEYWORD1>MODIFY</KEYWORD1>\r
+                       <KEYWORD1>MORE</KEYWORD1>\r
+                       <KEYWORD1>NATURAL</KEYWORD1>\r
+                       <KEYWORD1>NATURALN</KEYWORD1>\r
+                       <KEYWORD1>NEW</KEYWORD1>\r
+                       <KEYWORD1>NEW_VALUE</KEYWORD1>\r
+                       <KEYWORD1>NEXT</KEYWORD1>\r
+                       <KEYWORD1>NEXTVAL</KEYWORD1>\r
+                       <KEYWORD1>NOAUDIT</KEYWORD1>\r
+                       <KEYWORD1>NOCOMPRESS</KEYWORD1>\r
+                       <KEYWORD1>NOPRINT</KEYWORD1>\r
+                       <KEYWORD1>NOWAIT</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>NUMBER</KEYWORD1>\r
+                       <KEYWORD1>NUMBER_BASE</KEYWORD1>\r
+                       <KEYWORD1>OF</KEYWORD1>\r
+                       <KEYWORD1>OFFLINE</KEYWORD1>\r
+                       <KEYWORD1>ON</KEYWORD1>\r
+                       <KEYWORD1>OFF</KEYWORD1>\r
+                       <KEYWORD1>ONLINE</KEYWORD1>\r
+                       <KEYWORD1>OPEN</KEYWORD1>\r
+                       <KEYWORD1>OPTION</KEYWORD1>\r
+                       <KEYWORD1>ORDER</KEYWORD1>\r
+                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
+                       <KEYWORD1>OTHERS</KEYWORD1>\r
+                       <KEYWORD1>OUT</KEYWORD1>\r
+                       <KEYWORD1>PACKAGE</KEYWORD1>\r
+                       <KEYWORD1>PAGE</KEYWORD1>\r
+                       <KEYWORD1>PARTITION</KEYWORD1>\r
+                       <KEYWORD1>PCTFREE</KEYWORD1>\r
+                       <KEYWORD1>PCTINCREASE</KEYWORD1>\r
+                       <KEYWORD1>PLAN</KEYWORD1>\r
+                       <KEYWORD1>POSITIVE</KEYWORD1>\r
+                       <KEYWORD1>POSITIVEN</KEYWORD1>\r
+                       <KEYWORD1>PRAGMA</KEYWORD1>\r
+                       <KEYWORD1>PRINT</KEYWORD1>\r
+                       <KEYWORD1>PRIMARY</KEYWORD1>\r
+                       <KEYWORD1>PRIOR</KEYWORD1>\r
+                       <KEYWORD1>PRIVATE</KEYWORD1>\r
+                       <KEYWORD1>PRIVILEGES</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
+                       <KEYWORD1>PROMPT</KEYWORD1>\r
+                       <KEYWORD1>PUBLIC</KEYWORD1>\r
+                       <KEYWORD1>QUOTED_IDENTIFIER</KEYWORD1>\r
+                       <KEYWORD1>RAISE</KEYWORD1>\r
+                       <KEYWORD1>RANGE</KEYWORD1>\r
+                       <KEYWORD1>RAW</KEYWORD1>\r
+                       <KEYWORD1>RECORD</KEYWORD1>\r
+                       <KEYWORD1>REF</KEYWORD1>\r
+            <KEYWORD1>REFERENCES</KEYWORD1>\r
+                       <KEYWORD1>RELEASE</KEYWORD1>\r
+                       <KEYWORD1>REMR</KEYWORD1>\r
+                       <KEYWORD1>RENAME</KEYWORD1>\r
+                       <KEYWORD1>RESOURCE</KEYWORD1>\r
+                       <KEYWORD1>RETURN</KEYWORD1>\r
+                       <KEYWORD1>REVERSE</KEYWORD1>\r
+                       <KEYWORD1>REVOKE</KEYWORD1>\r
+                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
+                       <KEYWORD1>ROW</KEYWORD1>\r
+                       <KEYWORD1>ROWID</KEYWORD1>\r
+                       <KEYWORD1>ROWLABEL</KEYWORD1>\r
+                       <KEYWORD1>ROWNUM</KEYWORD1>\r
+                       <KEYWORD1>ROWS</KEYWORD1>\r
+                       <KEYWORD1>ROWTYPE</KEYWORD1>\r
+                       <KEYWORD1>RUN</KEYWORD1>\r
+                       <KEYWORD1>SAVEPOINT</KEYWORD1>\r
+                       <KEYWORD1>SCHEMA</KEYWORD1>\r
+                       <KEYWORD1>SELECT</KEYWORD1>\r
+                       <KEYWORD1>SEPERATE</KEYWORD1>\r
+                       <KEYWORD1>SEQUENCE</KEYWORD1>\r
+                       <KEYWORD1>SESSION</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SHARE</KEYWORD1>\r
+                       <KEYWORD1>SHOW</KEYWORD1>\r
+                       <KEYWORD1>SIGNTYPE</KEYWORD1>\r
+                       <KEYWORD1>SKIP</KEYWORD1>\r
+                       <KEYWORD1>SPACE</KEYWORD1>\r
+                       <KEYWORD1>SPOOL</KEYWORD1>\r
+                       <NULL>.SQL</NULL> <!-- for 'SPOOL some.sql;' stuff -->\r
+                       <KEYWORD1>SQL</KEYWORD1>\r
+                       <KEYWORD1>SQLCODE</KEYWORD1>\r
+                       <KEYWORD1>SQLERRM</KEYWORD1>\r
+                       <KEYWORD1>SQLERROR</KEYWORD1>\r
+                       <KEYWORD1>STATEMENT</KEYWORD1>\r
+                       <KEYWORD1>STDDEV</KEYWORD1>\r
+                       <KEYWORD1>STORAGE</KEYWORD1>\r
+                       <KEYWORD1>SUBTYPE</KEYWORD1>\r
+                       <KEYWORD1>SUCCESSFULL</KEYWORD1>\r
+                       <KEYWORD1>SUM</KEYWORD1>\r
+                       <KEYWORD1>SYNONYM</KEYWORD1>\r
+                       <KEYWORD1>SYSDATE</KEYWORD1>\r
+                       <KEYWORD1>TABAUTH</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>TABLES</KEYWORD1>\r
+                       <KEYWORD1>TABLESPACE</KEYWORD1>\r
+                       <KEYWORD1>TASK</KEYWORD1>\r
+                       <KEYWORD1>TERMINATE</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>TRIGGER</KEYWORD1>\r
+                       <KEYWORD1>TRUE</KEYWORD1>\r
+                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
+                       <KEYWORD1>TTITLE</KEYWORD1>\r
+                       <KEYWORD1>TYPE</KEYWORD1>\r
+                       <KEYWORD1>UID</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>UNIQUE</KEYWORD1>\r
+                       <KEYWORD1>UNDEFINE</KEYWORD1>\r
+                       <KEYWORD1>UPDATE</KEYWORD1>\r
+                       <KEYWORD1>UPDATETEXT</KEYWORD1>\r
+                       <KEYWORD1>USE</KEYWORD1>\r
+                       <KEYWORD1>USER</KEYWORD1>\r
+                       <KEYWORD1>USING</KEYWORD1>\r
+                       <KEYWORD1>VALIDATE</KEYWORD1>\r
+                       <KEYWORD1>VALUES</KEYWORD1>\r
+                       <KEYWORD1>VARIANCE</KEYWORD1>\r
+                       <KEYWORD1>VIEW</KEYWORD1>\r
+                       <KEYWORD1>VIEWS</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>WHENEVER</KEYWORD1>\r
+                       <KEYWORD1>WHERE</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WORK</KEYWORD1>\r
+                       <KEYWORD1>WRITE</KEYWORD1>\r
+                       <KEYWORD1>XOR</KEYWORD1>\r
+\r
+                       <!-- data types -->\r
+                       <KEYWORD1>binary</KEYWORD1>\r
+                       <KEYWORD1>bit</KEYWORD1>\r
+                       <KEYWORD1>blob</KEYWORD1>\r
+                       <KEYWORD1>boolean</KEYWORD1>\r
+                       <KEYWORD1>char</KEYWORD1>\r
+                       <KEYWORD1>character</KEYWORD1>\r
+                       <KEYWORD1>datetime</KEYWORD1>\r
+                       <KEYWORD1>decimal</KEYWORD1>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>image</KEYWORD1>\r
+                       <KEYWORD1>int</KEYWORD1>\r
+                       <KEYWORD1>integer</KEYWORD1>\r
+                       <KEYWORD1>money</KEYWORD1>\r
+                       <KEYWORD1>numeric</KEYWORD1>\r
+                       <KEYWORD1>nchar</KEYWORD1>\r
+                       <KEYWORD1>nvarchar</KEYWORD1>\r
+                       <KEYWORD1>ntext</KEYWORD1>\r
+                       <KEYWORD1>object</KEYWORD1>\r
+                       <KEYWORD1>pls_integer</KEYWORD1>\r
+                       <KEYWORD1>real</KEYWORD1>\r
+                       <KEYWORD1>smalldatetime</KEYWORD1>\r
+                       <KEYWORD1>smallint</KEYWORD1>\r
+                       <KEYWORD1>smallmoney</KEYWORD1>\r
+                       <KEYWORD1>text</KEYWORD1>\r
+                       <KEYWORD1>timestamp</KEYWORD1>\r
+                       <KEYWORD1>tinyint</KEYWORD1>\r
+                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
+                       <KEYWORD1>varbinary</KEYWORD1>\r
+                       <KEYWORD1>varchar</KEYWORD1>\r
+                       <KEYWORD1>varchar2</KEYWORD1>\r
+                       <KEYWORD1>varray</KEYWORD1>\r
+\r
+                       <!-- system functions -->\r
+                       <KEYWORD2>ABS</KEYWORD2>\r
+                       <KEYWORD2>ACOS</KEYWORD2>\r
+                       <KEYWORD2>ADD_MONTHS</KEYWORD2>\r
+                       <KEYWORD2>ASCII</KEYWORD2>\r
+                       <KEYWORD2>ASIN</KEYWORD2>\r
+                       <KEYWORD2>ATAN</KEYWORD2>\r
+                       <KEYWORD2>ATAN2</KEYWORD2>\r
+                       <KEYWORD2>BITAND</KEYWORD2>\r
+                       <KEYWORD2>CEIL</KEYWORD2>\r
+                       <KEYWORD2>CHARTOROWID</KEYWORD2>\r
+                       <KEYWORD2>CHR</KEYWORD2>\r
+                       <KEYWORD2>CONCAT</KEYWORD2>\r
+                       <KEYWORD2>CONVERT</KEYWORD2>\r
+                       <KEYWORD2>COS</KEYWORD2>\r
+                       <KEYWORD2>COSH</KEYWORD2>\r
+                       <KEYWORD2>DECODE</KEYWORD2>\r
+                       <KEYWORD2>DEFINE</KEYWORD2>\r
+                       <KEYWORD2>DUAL</KEYWORD2>\r
+                       <KEYWORD2>FLOOR</KEYWORD2>\r
+                       <KEYWORD2>HEXTORAW</KEYWORD2>\r
+                       <KEYWORD2>INITCAP</KEYWORD2>\r
+                       <KEYWORD2>INSTR</KEYWORD2>\r
+                       <KEYWORD2>INSTRB</KEYWORD2>\r
+                       <KEYWORD2>LAST_DAY</KEYWORD2>\r
+                       <KEYWORD2>LENGTH</KEYWORD2>\r
+                       <KEYWORD2>LENGTHB</KEYWORD2>\r
+                       <KEYWORD2>LN</KEYWORD2>\r
+                       <KEYWORD2>LOG</KEYWORD2>\r
+                       <KEYWORD2>LOWER</KEYWORD2>\r
+                       <KEYWORD2>LPAD</KEYWORD2>\r
+                       <KEYWORD2>LTRIM</KEYWORD2>\r
+                       <KEYWORD2>MOD</KEYWORD2>\r
+                       <KEYWORD2>MONTHS_BETWEEN</KEYWORD2>\r
+                       <KEYWORD2>NEW_TIME</KEYWORD2>\r
+                       <KEYWORD2>NEXT_DAY</KEYWORD2>\r
+                       <KEYWORD2>NLSSORT</KEYWORD2>\r
+                       <KEYWORD2>NSL_INITCAP</KEYWORD2>\r
+                       <KEYWORD2>NLS_LOWER</KEYWORD2>\r
+                       <KEYWORD2>NLS_UPPER</KEYWORD2>\r
+                       <KEYWORD2>NVL</KEYWORD2>\r
+                       <KEYWORD2>POWER</KEYWORD2>\r
+                       <KEYWORD2>RAWTOHEX</KEYWORD2>\r
+                       <KEYWORD2>REPLACE</KEYWORD2>\r
+                       <KEYWORD2>ROUND</KEYWORD2>\r
+                       <KEYWORD2>ROWIDTOCHAR</KEYWORD2>\r
+                       <KEYWORD2>RPAD</KEYWORD2>\r
+                       <KEYWORD2>RTRIM</KEYWORD2>\r
+                       <KEYWORD2>SIGN</KEYWORD2>\r
+                       <KEYWORD2>SOUNDEX</KEYWORD2>\r
+                       <KEYWORD2>SIN</KEYWORD2>\r
+                       <KEYWORD2>SINH</KEYWORD2>\r
+                       <KEYWORD2>SQRT</KEYWORD2>\r
+                       <KEYWORD2>SUBSTR</KEYWORD2>\r
+                       <KEYWORD2>SUBSTRB</KEYWORD2>\r
+                       <KEYWORD2>TAN</KEYWORD2>\r
+                       <KEYWORD2>TANH</KEYWORD2>\r
+                       <KEYWORD2>TO_CHAR</KEYWORD2>\r
+                       <KEYWORD2>TO_DATE</KEYWORD2>\r
+                       <KEYWORD2>TO_MULTIBYTE</KEYWORD2>\r
+                       <KEYWORD2>TO_NUMBER</KEYWORD2>\r
+                       <KEYWORD2>TO_SINGLE_BYTE</KEYWORD2>\r
+                       <KEYWORD2>TRANSLATE</KEYWORD2>\r
+                       <KEYWORD2>TRUNC</KEYWORD2>\r
+                       <KEYWORD2>UPPER</KEYWORD2>\r
+\r
+                       <!-- operators -->\r
+                       <KEYWORD1>ALL</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>BETWEEN</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>CONNECT</KEYWORD1>\r
+                       <KEYWORD1>EXISTS</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>INTERSECT</KEYWORD1>\r
+                       <KEYWORD1>LIKE</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>START</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>NOTFOUND</KEYWORD1>\r
+                       <KEYWORD1>ISOPEN</KEYWORD1>\r
+                       <KEYWORD1>JOIN</KEYWORD1>\r
+                       <KEYWORD1>LEFT</KEYWORD1>\r
+                       <KEYWORD1>RIGHT</KEYWORD1>\r
+                       <KEYWORD1>FULL</KEYWORD1>\r
+                       <KEYWORD1>OUTER</KEYWORD1>\r
+                       <KEYWORD1>CROSS</KEYWORD1>\r
+\r
+                       <!-- Some common packages -->\r
+                       <KEYWORD3>DBMS_SQL</KEYWORD3>\r
+                       <FUNCTION>OPEN_CURSOR</FUNCTION>\r
+                       <FUNCTION>PARSE</FUNCTION>\r
+                       <FUNCTION>BIND_VARIABLE</FUNCTION>\r
+                       <FUNCTION>BIND_ARRAY</FUNCTION>\r
+                       <FUNCTION>DEFINE_COLUMN</FUNCTION>\r
+                       <FUNCTION>DEFINE_COLUMN_LONG</FUNCTION>\r
+                       <FUNCTION>DEFINE_ARRAY</FUNCTION>\r
+                       <FUNCTION>EXECUTE</FUNCTION>\r
+                       <FUNCTION>FETCH_ROWS</FUNCTION>\r
+                       <FUNCTION>EXECUTE_AND_FETCH</FUNCTION>\r
+                       <FUNCTION>VARIABLE_VALUE</FUNCTION>\r
+                       <FUNCTION>COLUMN_VALUE</FUNCTION>\r
+                       <FUNCTION>COLUMN_VALUE_LONG</FUNCTION>\r
+                       <FUNCTION>CLOSE_CURSOR</FUNCTION>\r
+                       <FUNCTION>DEFINE_COLUMN_CHAR</FUNCTION>\r
+                       <FUNCTION>COLUMN_VALUE_CHAR</FUNCTION>\r
+\r
+                       <KEYWORD3>DBMS_PROFILER</KEYWORD3>\r
+                       <FUNCTION>START_PROFILER</FUNCTION>\r
+                       <FUNCTION>STOP_PROFILER</FUNCTION>\r
+                       <FUNCTION>ROLLUP_RUN</FUNCTION>\r
+\r
+                       <!-- other keywords (output-related) -->\r
+                       <KEYWORD3>_EDITOR</KEYWORD3>\r
+                       <KEYWORD3>ARRAYSIZE</KEYWORD3>\r
+                       <KEYWORD3>AUTOTRACE</KEYWORD3>\r
+                       <KEYWORD3>DBMS_OUTPUT</KEYWORD3>\r
+                       <KEYWORD3>ECHO</KEYWORD3>\r
+                       <KEYWORD3>ENABLE</KEYWORD3>\r
+                       <KEYWORD3>FCLOSE</KEYWORD3>\r
+                       <KEYWORD3>FCLOSE_ALL</KEYWORD3>\r
+                       <KEYWORD3>FEED</KEYWORD3>\r
+                       <KEYWORD3>FEEDBACK</KEYWORD3>\r
+                       <KEYWORD3>FILE_TYPE</KEYWORD3>\r
+                       <KEYWORD3>FOPEN</KEYWORD3>\r
+                       <KEYWORD3>HEAD</KEYWORD3>\r
+                       <KEYWORD3>INVALID_OPERATION</KEYWORD3>\r
+                       <KEYWORD3>INVALID_PATH</KEYWORD3>\r
+                       <KEYWORD3>LINESIZE</KEYWORD3>\r
+                       <KEYWORD3>PAGESIZE</KEYWORD3>\r
+                       <KEYWORD3>PAGES</KEYWORD3>\r
+                       <KEYWORD3>PAUSE</KEYWORD3>\r
+                       <KEYWORD3>DOC</KEYWORD3>\r
+                       <KEYWORD3>PUTF</KEYWORD3>\r
+                       <KEYWORD3>PUT_LINE</KEYWORD3>\r
+                       <KEYWORD3>SERVEROUTPUT</KEYWORD3>\r
+                       <KEYWORD3>SQL.PNO</KEYWORD3>\r
+                       <KEYWORD3>UTL_FILE</KEYWORD3>\r
+                       <KEYWORD3>VER</KEYWORD3>\r
+                       <KEYWORD3>VERIFY</KEYWORD3>\r
+                       <KEYWORD3>WRITE_ERROR</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
+\r
diff --git a/basis/xmode/modes/pl1.xml b/basis/xmode/modes/pl1.xml
new file mode 100644 (file)
index 0000000..ae4f609
--- /dev/null
@@ -0,0 +1,597 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd"   VALUE="*/" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="TRUE"\r
+               HIGHLIGHT_DIGITS="FALSE">\r
+\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- preprocessor statements -->\r
+               <EOL_SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="*" AT_LINE_START="TRUE">\* *process</EOL_SPAN_REGEXP>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">¬</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+                       MATCH_TYPE="OPERATOR"\r
+                       TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+      <!-- Statements, keywords and directives -->\r
+                       <KEYWORD1>alias</KEYWORD1>\r
+                       <KEYWORD1>alloc</KEYWORD1>\r
+                       <KEYWORD1>allocate</KEYWORD1>\r
+                       <KEYWORD1>attach</KEYWORD1>\r
+                       <KEYWORD1>begin</KEYWORD1>\r
+      <KEYWORD1>by</KEYWORD1>\r
+      <KEYWORD1>byname</KEYWORD1>\r
+                       <KEYWORD1>call</KEYWORD1>\r
+                       <KEYWORD1>close</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>dcl</KEYWORD1>\r
+                       <KEYWORD1>declare</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>define</KEYWORD1>\r
+                       <KEYWORD1>delay</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>detach</KEYWORD1>\r
+                       <KEYWORD1>dft</KEYWORD1>\r
+                       <KEYWORD1>display</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+      <KEYWORD1>downthru</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>entry</KEYWORD1>\r
+      <KEYWORD1>exit</KEYWORD1>\r
+      <KEYWORD1>fetch</KEYWORD1>\r
+      <KEYWORD1>flush</KEYWORD1>\r
+      <KEYWORD1>format</KEYWORD1>\r
+                       <KEYWORD1>free</KEYWORD1>\r
+                       <KEYWORD1>from</KEYWORD1>\r
+      <KEYWORD1>get</KEYWORD1>\r
+      <KEYWORD1>go</KEYWORD1>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>ignore</KEYWORD1>\r
+                       <KEYWORD1>%include</KEYWORD1>\r
+                       <KEYWORD1>into</KEYWORD1>\r
+                       <KEYWORD1>iterate</KEYWORD1>\r
+                       <KEYWORD1>key</KEYWORD1>\r
+                       <KEYWORD1>keyfrom</KEYWORD1>\r
+                       <KEYWORD1>keyto</KEYWORD1>\r
+                       <KEYWORD1>leave</KEYWORD1>\r
+      <KEYWORD1>line</KEYWORD1>\r
+      <KEYWORD1>locate</KEYWORD1>\r
+      <KEYWORD1>loop</KEYWORD1>\r
+      <KEYWORD1>name</KEYWORD1>\r
+      <KEYWORD1>on</KEYWORD1>\r
+      <KEYWORD1>open</KEYWORD1>\r
+                       <KEYWORD1>ordinal</KEYWORD1>\r
+      <KEYWORD1>other</KEYWORD1>\r
+      <KEYWORD1>otherwise</KEYWORD1>\r
+      <KEYWORD1>package</KEYWORD1>\r
+      <KEYWORD1>page</KEYWORD1>\r
+      <KEYWORD1>proc</KEYWORD1>\r
+      <KEYWORD1>procedure</KEYWORD1>\r
+      <KEYWORD1>put</KEYWORD1>\r
+      <KEYWORD1>read</KEYWORD1>\r
+      <KEYWORD1>release</KEYWORD1>\r
+      <KEYWORD1>repeat</KEYWORD1>\r
+      <KEYWORD1>reply</KEYWORD1>\r
+      <KEYWORD1>resignal</KEYWORD1>\r
+      <KEYWORD1>return</KEYWORD1>\r
+      <KEYWORD1>revert</KEYWORD1>\r
+      <KEYWORD1>rewrite</KEYWORD1>\r
+      <KEYWORD1>select</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+      <KEYWORD1>signal</KEYWORD1>\r
+                       <KEYWORD1>skip</KEYWORD1>\r
+                       <KEYWORD1>snap</KEYWORD1>\r
+      <KEYWORD1>stop</KEYWORD1>\r
+                       <KEYWORD1>string</KEYWORD1>\r
+                       <KEYWORD1>structure</KEYWORD1>\r
+      <KEYWORD1>then</KEYWORD1>\r
+      <KEYWORD1>thread</KEYWORD1>\r
+      <KEYWORD1>to</KEYWORD1>\r
+      <KEYWORD1>tstack</KEYWORD1>\r
+      <KEYWORD1>unlock</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+      <KEYWORD1>upthru</KEYWORD1>\r
+      <KEYWORD1>wait</KEYWORD1>\r
+      <KEYWORD1>when</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+      <KEYWORD1>write</KEYWORD1>\r
+\r
+      <!-- Options & attributes -->\r
+                       <KEYWORD2>A</KEYWORD2>\r
+                       <KEYWORD2>abnormal</KEYWORD2>\r
+                       <KEYWORD2>aligned</KEYWORD2>\r
+                       <KEYWORD2>anycond</KEYWORD2>\r
+                       <KEYWORD2>anycondition</KEYWORD2>\r
+                       <KEYWORD2>area</KEYWORD2>\r
+                       <KEYWORD2>asgn</KEYWORD2>\r
+                       <KEYWORD2>asm</KEYWORD2>\r
+                       <KEYWORD2>assembler</KEYWORD2>\r
+                       <KEYWORD2>assignable</KEYWORD2>\r
+                       <KEYWORD2>attn</KEYWORD2>\r
+                       <KEYWORD2>attention</KEYWORD2>\r
+                       <KEYWORD2>auto</KEYWORD2>\r
+                       <KEYWORD2>automatic</KEYWORD2>\r
+                       <KEYWORD2>b</KEYWORD2>\r
+                       <KEYWORD2>b3</KEYWORD2>\r
+                       <KEYWORD2>b4</KEYWORD2>\r
+                       <KEYWORD2>based</KEYWORD2>\r
+                       <KEYWORD2>bigendian</KEYWORD2>\r
+                       <KEYWORD2>bin</KEYWORD2>\r
+                       <KEYWORD2>binary</KEYWORD2>\r
+                       <KEYWORD2>bit</KEYWORD2>\r
+                       <KEYWORD2>buf</KEYWORD2>\r
+                       <KEYWORD2>buffered</KEYWORD2>\r
+                       <KEYWORD2>builtin</KEYWORD2>\r
+                       <KEYWORD2>bx</KEYWORD2>\r
+                       <KEYWORD2>byaddr</KEYWORD2>\r
+                       <KEYWORD2>byvalue</KEYWORD2>\r
+      <KEYWORD2>C</KEYWORD2>\r
+                       <KEYWORD2>cdecl</KEYWORD2>\r
+                       <KEYWORD2>cell</KEYWORD2>\r
+                       <KEYWORD2>char</KEYWORD2>\r
+                       <KEYWORD2>character</KEYWORD2>\r
+                       <KEYWORD2>charg</KEYWORD2>\r
+                       <KEYWORD2>chargraphic</KEYWORD2>\r
+                       <KEYWORD2>cobol</KEYWORD2>\r
+                       <KEYWORD2>column</KEYWORD2>\r
+                       <KEYWORD2>complex</KEYWORD2>\r
+                       <KEYWORD2>cond</KEYWORD2>\r
+                       <KEYWORD2>condition</KEYWORD2>\r
+                       <KEYWORD2>conn</KEYWORD2>\r
+                       <KEYWORD2>connected</KEYWORD2>\r
+                       <KEYWORD2>controlled</KEYWORD2>\r
+                       <KEYWORD2>conv</KEYWORD2>\r
+                       <KEYWORD2>conversion</KEYWORD2>\r
+                       <KEYWORD2>cplx</KEYWORD2>\r
+                       <KEYWORD2>ctl</KEYWORD2>\r
+                       <KEYWORD2>data</KEYWORD2>\r
+                       <KEYWORD2>date</KEYWORD2>\r
+                       <KEYWORD2>dec</KEYWORD2>\r
+                       <KEYWORD2>decimal</KEYWORD2>\r
+                       <KEYWORD2>def</KEYWORD2>\r
+                       <KEYWORD2>defined</KEYWORD2>\r
+                       <KEYWORD2>descriptor</KEYWORD2>\r
+                       <KEYWORD2>descriptors</KEYWORD2>\r
+                       <KEYWORD2>dim</KEYWORD2>\r
+                       <KEYWORD2>dimension</KEYWORD2>\r
+                       <KEYWORD2>direct</KEYWORD2>\r
+                       <KEYWORD2>E</KEYWORD2>\r
+                       <KEYWORD2>edit</KEYWORD2>\r
+                       <KEYWORD2>endfile</KEYWORD2>\r
+                       <KEYWORD2>endpage</KEYWORD2>\r
+                       <KEYWORD2>env</KEYWORD2>\r
+                       <KEYWORD2>environment</KEYWORD2>\r
+                       <KEYWORD2>error</KEYWORD2>\r
+                       <KEYWORD2>exclusive</KEYWORD2>\r
+                       <KEYWORD2>exports</KEYWORD2>\r
+                       <KEYWORD2>ext</KEYWORD2>\r
+                       <KEYWORD2>external</KEYWORD2>\r
+                       <KEYWORD2>F</KEYWORD2>\r
+                       <KEYWORD2>fetchable</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>finish</KEYWORD2>\r
+                       <KEYWORD2>fixed</KEYWORD2>\r
+                       <KEYWORD2>fixedoverflow</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>fofl</KEYWORD2>\r
+                       <KEYWORD2>format</KEYWORD2>\r
+                       <KEYWORD2>fortran</KEYWORD2>\r
+                       <KEYWORD2>fromalien</KEYWORD2>\r
+                       <KEYWORD2>g</KEYWORD2>\r
+                       <KEYWORD2>generic</KEYWORD2>\r
+                       <KEYWORD2>graphic</KEYWORD2>\r
+                       <KEYWORD2>gx</KEYWORD2>\r
+                       <KEYWORD2>handle</KEYWORD2>\r
+                       <KEYWORD2>hexadec</KEYWORD2>\r
+                       <KEYWORD2>ieee</KEYWORD2>\r
+                       <KEYWORD2>imported</KEYWORD2>\r
+                       <KEYWORD2>init</KEYWORD2>\r
+                       <KEYWORD2>initial</KEYWORD2>\r
+                       <KEYWORD2>inline</KEYWORD2>\r
+                       <KEYWORD2>input</KEYWORD2>\r
+                       <KEYWORD2>inter</KEYWORD2>\r
+                       <KEYWORD2>internal</KEYWORD2>\r
+                       <KEYWORD2>invalidop</KEYWORD2>\r
+                       <KEYWORD2>irred</KEYWORD2>\r
+                       <KEYWORD2>irreducible</KEYWORD2>\r
+                       <KEYWORD2>keyed</KEYWORD2>\r
+                       <KEYWORD2>L</KEYWORD2>\r
+                       <KEYWORD2>label</KEYWORD2>\r
+                       <KEYWORD2>like</KEYWORD2>\r
+                       <KEYWORD2>limited</KEYWORD2>\r
+                       <KEYWORD2>linesize</KEYWORD2>\r
+                       <KEYWORD2>linkage</KEYWORD2>\r
+                       <KEYWORD2>list</KEYWORD2>\r
+                       <KEYWORD2>littleendian</KEYWORD2>\r
+                       <KEYWORD2>m</KEYWORD2>\r
+                       <KEYWORD2>main</KEYWORD2>\r
+                       <KEYWORD2>native</KEYWORD2>\r
+                       <KEYWORD2>nonasgn</KEYWORD2>\r
+                       <KEYWORD2>nocharg</KEYWORD2>\r
+                       <KEYWORD2>nochargraphic</KEYWORD2>\r
+                       <KEYWORD2>nodescriptor</KEYWORD2>\r
+                       <KEYWORD2>noexecops</KEYWORD2>\r
+                       <KEYWORD2>nomap</KEYWORD2>\r
+                       <KEYWORD2>nomapin</KEYWORD2>\r
+                       <KEYWORD2>nomapout</KEYWORD2>\r
+                       <KEYWORD2>nonasgn</KEYWORD2>\r
+                       <KEYWORD2>nonassignable</KEYWORD2>\r
+                       <KEYWORD2>nonconn</KEYWORD2>\r
+                       <KEYWORD2>nonconnected</KEYWORD2>\r
+                       <KEYWORD2>nonnative</KEYWORD2>\r
+                       <KEYWORD2>nonvar</KEYWORD2>\r
+                       <KEYWORD2>nonvarying</KEYWORD2>\r
+                       <KEYWORD2>normal</KEYWORD2>\r
+                       <KEYWORD2>offset</KEYWORD2>\r
+                       <KEYWORD2>ofl</KEYWORD2>\r
+                       <KEYWORD2>optional</KEYWORD2>\r
+                       <KEYWORD2>options</KEYWORD2>\r
+                       <KEYWORD2>optlink</KEYWORD2>\r
+                       <KEYWORD2>order</KEYWORD2>\r
+                       <KEYWORD2>output</KEYWORD2>\r
+                       <KEYWORD2>overflow</KEYWORD2>\r
+                       <KEYWORD2>P</KEYWORD2>\r
+                       <KEYWORD2>pagesize</KEYWORD2>\r
+                       <KEYWORD2>parameter</KEYWORD2>\r
+                       <KEYWORD2>pic</KEYWORD2>\r
+                       <KEYWORD2>picture</KEYWORD2>\r
+                       <KEYWORD2>pointer</KEYWORD2>\r
+                       <KEYWORD2>pos</KEYWORD2>\r
+                       <KEYWORD2>position</KEYWORD2>\r
+                       <KEYWORD2>prec</KEYWORD2>\r
+                       <KEYWORD2>precision</KEYWORD2>\r
+                       <KEYWORD2>print</KEYWORD2>\r
+                       <KEYWORD2>ptr</KEYWORD2>\r
+                       <KEYWORD2>R</KEYWORD2>\r
+                       <KEYWORD2>range</KEYWORD2>\r
+                       <KEYWORD2>real</KEYWORD2>\r
+                       <KEYWORD2>record</KEYWORD2>\r
+                       <KEYWORD2>recursive</KEYWORD2>\r
+                       <KEYWORD2>red</KEYWORD2>\r
+                       <KEYWORD2>reducible</KEYWORD2>\r
+                       <KEYWORD2>reentrant</KEYWORD2>\r
+                       <KEYWORD2>refer</KEYWORD2>\r
+                       <KEYWORD2>reorder</KEYWORD2>\r
+                       <KEYWORD2>reserved</KEYWORD2>\r
+                       <KEYWORD2>reserves</KEYWORD2>\r
+                       <KEYWORD2>retcode</KEYWORD2>\r
+                       <KEYWORD2>returns</KEYWORD2>\r
+                       <KEYWORD2>seql</KEYWORD2>\r
+                       <KEYWORD2>sequential</KEYWORD2>\r
+                       <KEYWORD2>signed</KEYWORD2>\r
+                       <KEYWORD2>size</KEYWORD2>\r
+                       <KEYWORD2>static</KEYWORD2>\r
+                       <KEYWORD2>stdcall</KEYWORD2>\r
+                       <KEYWORD2>storage</KEYWORD2>\r
+                       <KEYWORD2>stream</KEYWORD2>\r
+                       <KEYWORD2>strg</KEYWORD2>\r
+                       <KEYWORD2>stringrange</KEYWORD2>\r
+                       <KEYWORD2>strz</KEYWORD2>\r
+                       <KEYWORD2>stringsize</KEYWORD2>\r
+                       <KEYWORD2>subrg</KEYWORD2>\r
+                       <KEYWORD2>subscriptrange</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>task</KEYWORD2>\r
+                       <KEYWORD2>title</KEYWORD2>\r
+                       <KEYWORD2>transmit</KEYWORD2>\r
+                       <KEYWORD2>type</KEYWORD2>\r
+                       <KEYWORD2>ufl</KEYWORD2>\r
+                       <KEYWORD2>unal</KEYWORD2>\r
+                       <KEYWORD2>unaligned</KEYWORD2>\r
+                       <KEYWORD2>unbuf</KEYWORD2>\r
+                       <KEYWORD2>unbuffered</KEYWORD2>\r
+                       <KEYWORD2>undefinedfile</KEYWORD2>\r
+                       <KEYWORD2>underflow</KEYWORD2>\r
+                       <KEYWORD2>undf</KEYWORD2>\r
+                       <KEYWORD2>union</KEYWORD2>\r
+                       <KEYWORD2>unsigned</KEYWORD2>\r
+                       <KEYWORD2>update</KEYWORD2>\r
+                       <KEYWORD2>value</KEYWORD2>\r
+                       <KEYWORD2>var</KEYWORD2>\r
+                       <KEYWORD2>variable</KEYWORD2>\r
+                       <KEYWORD2>varying</KEYWORD2>\r
+                       <KEYWORD2>varyingz</KEYWORD2>\r
+                       <KEYWORD2>varz</KEYWORD2>\r
+                       <KEYWORD2>wchar</KEYWORD2>\r
+                       <KEYWORD2>widechar</KEYWORD2>\r
+                       <KEYWORD2>winmain</KEYWORD2>\r
+                       <KEYWORD2>wx</KEYWORD2>\r
+                       <KEYWORD2>x</KEYWORD2>\r
+                       <KEYWORD2>xn</KEYWORD2>\r
+                       <KEYWORD2>xu</KEYWORD2>\r
+                       <KEYWORD2>zdiv</KEYWORD2>\r
+                       <KEYWORD2>zerodivide</KEYWORD2>\r
+\r
+      <!-- Builtins -->\r
+                       <KEYWORD3>abs</KEYWORD3>\r
+                       <KEYWORD3>acos</KEYWORD3>\r
+                       <KEYWORD3>acosf</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>addr</KEYWORD3>\r
+                       <KEYWORD3>address</KEYWORD3>\r
+                       <KEYWORD3>addrdata</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>allocation</KEYWORD3>\r
+                       <KEYWORD3>allocn</KEYWORD3>\r
+                       <KEYWORD3>allocsize</KEYWORD3>\r
+                       <KEYWORD3>any</KEYWORD3>\r
+                       <KEYWORD3>asin</KEYWORD3>\r
+                       <KEYWORD3>asinf</KEYWORD3>\r
+                       <KEYWORD3>atan</KEYWORD3>\r
+                       <KEYWORD3>atand</KEYWORD3>\r
+                       <KEYWORD3>atanf</KEYWORD3>\r
+                       <KEYWORD3>atanh</KEYWORD3>\r
+                       <KEYWORD3>availablearea</KEYWORD3>\r
+                       <KEYWORD3>binaryvalue</KEYWORD3>\r
+                       <KEYWORD3>bind</KEYWORD3>\r
+                       <KEYWORD3>binvalue</KEYWORD3>\r
+                       <KEYWORD3>bitlocation</KEYWORD3>\r
+                       <KEYWORD3>bitloc</KEYWORD3>\r
+                       <KEYWORD3>bool</KEYWORD3>\r
+                       <KEYWORD3>byte</KEYWORD3>\r
+                       <KEYWORD3>cast</KEYWORD3>\r
+                       <KEYWORD3>cds</KEYWORD3>\r
+                       <KEYWORD3>ceil</KEYWORD3>\r
+                       <KEYWORD3>center</KEYWORD3>\r
+                       <KEYWORD3>centre</KEYWORD3>\r
+                       <KEYWORD3>centreleft</KEYWORD3>\r
+                       <KEYWORD3>centreleft</KEYWORD3>\r
+                       <KEYWORD3>centreright</KEYWORD3>\r
+                       <KEYWORD3>centerright</KEYWORD3>\r
+                       <KEYWORD3>charg</KEYWORD3>\r
+                       <KEYWORD3>chargraphic</KEYWORD3>\r
+                       <KEYWORD3>chargval</KEYWORD3>\r
+                       <KEYWORD3>checkstg</KEYWORD3>\r
+                       <KEYWORD3>collate</KEYWORD3>\r
+                       <KEYWORD3>compare</KEYWORD3>\r
+                       <KEYWORD3>conjg</KEYWORD3>\r
+                       <KEYWORD3>cos</KEYWORD3>\r
+                       <KEYWORD3>cosd</KEYWORD3>\r
+                       <KEYWORD3>cosf</KEYWORD3>\r
+                       <KEYWORD3>cosh</KEYWORD3>\r
+                       <KEYWORD3>count</KEYWORD3>\r
+                       <KEYWORD3>cs</KEYWORD3>\r
+                       <KEYWORD3>cstg</KEYWORD3>\r
+                       <KEYWORD3>currentsize</KEYWORD3>\r
+                       <KEYWORD3>currentstorage</KEYWORD3>\r
+                       <KEYWORD3>datafield</KEYWORD3>\r
+                       <KEYWORD3>date</KEYWORD3>\r
+                       <KEYWORD3>datetime</KEYWORD3>\r
+                       <KEYWORD3>days</KEYWORD3>\r
+                       <KEYWORD3>daystodate</KEYWORD3>\r
+                       <KEYWORD3>daystosecs</KEYWORD3>\r
+                       <KEYWORD3>divide</KEYWORD3>\r
+                       <KEYWORD3>empty</KEYWORD3>\r
+                       <KEYWORD3>entryaddr</KEYWORD3>\r
+                       <KEYWORD3>epsilon</KEYWORD3>\r
+                       <KEYWORD3>erfc</KEYWORD3>\r
+                       <KEYWORD3>exp</KEYWORD3>\r
+                       <KEYWORD3>expf</KEYWORD3>\r
+                       <KEYWORD3>exponent</KEYWORD3>\r
+                       <KEYWORD3>fileddint</KEYWORD3>\r
+                       <KEYWORD3>fileddtest</KEYWORD3>\r
+                       <KEYWORD3>fileddword</KEYWORD3>\r
+                       <KEYWORD3>fileid</KEYWORD3>\r
+                       <KEYWORD3>fileopen</KEYWORD3>\r
+                       <KEYWORD3>fileread</KEYWORD3>\r
+                       <KEYWORD3>fileseek</KEYWORD3>\r
+                       <KEYWORD3>filetell</KEYWORD3>\r
+                       <KEYWORD3>filewrite</KEYWORD3>\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>floor</KEYWORD3>\r
+                       <KEYWORD3>gamma</KEYWORD3>\r
+                       <KEYWORD3>getenv</KEYWORD3>\r
+                       <KEYWORD3>hbound</KEYWORD3>\r
+                       <KEYWORD3>hex</KEYWORD3>\r
+                       <KEYWORD3>heximage</KEYWORD3>\r
+                       <KEYWORD3>high</KEYWORD3>\r
+                       <KEYWORD3>huge</KEYWORD3>\r
+                       <KEYWORD3>iand</KEYWORD3>\r
+                       <KEYWORD3>ieor</KEYWORD3>\r
+                       <KEYWORD3>imag</KEYWORD3>\r
+                       <KEYWORD3>index</KEYWORD3>\r
+                       <KEYWORD3>inot</KEYWORD3>\r
+                       <KEYWORD3>ior</KEYWORD3>\r
+                       <KEYWORD3>isigned</KEYWORD3>\r
+                       <KEYWORD3>isll</KEYWORD3>\r
+                       <KEYWORD3>ismain</KEYWORD3>\r
+                       <KEYWORD3>isrl</KEYWORD3>\r
+                       <KEYWORD3>iunsigned</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>lbound</KEYWORD3>\r
+                       <KEYWORD3>left</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>lineno</KEYWORD3>\r
+                       <KEYWORD3>loc</KEYWORD3>\r
+                       <KEYWORD3>location</KEYWORD3>\r
+                       <KEYWORD3>log</KEYWORD3>\r
+                       <KEYWORD3>logf</KEYWORD3>\r
+                       <KEYWORD3>loggamma</KEYWORD3>\r
+                       <KEYWORD3>log2</KEYWORD3>\r
+                       <KEYWORD3>log10</KEYWORD3>\r
+                       <KEYWORD3>log10f</KEYWORD3>\r
+                       <KEYWORD3>low</KEYWORD3>\r
+                       <KEYWORD3>lowercase</KEYWORD3>\r
+                       <KEYWORD3>lower2</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>maxexp</KEYWORD3>\r
+                       <KEYWORD3>maxlength</KEYWORD3>\r
+                       <KEYWORD3>min</KEYWORD3>\r
+                       <KEYWORD3>minexp</KEYWORD3>\r
+                       <KEYWORD3>mod</KEYWORD3>\r
+                       <KEYWORD3>mpstr</KEYWORD3>\r
+                       <KEYWORD3>multiply</KEYWORD3>\r
+                       <KEYWORD3>new</KEYWORD3>\r
+                       <KEYWORD3>null</KEYWORD3>\r
+                       <KEYWORD3>offestadd</KEYWORD3>\r
+                       <KEYWORD3>offestdiff</KEYWORD3>\r
+                       <KEYWORD3>offestsubtract</KEYWORD3>\r
+                       <KEYWORD3>offestvalue</KEYWORD3>\r
+                       <KEYWORD3>omitted</KEYWORD3>\r
+                       <KEYWORD3>onchar</KEYWORD3>\r
+                       <KEYWORD3>oncode</KEYWORD3>\r
+                       <KEYWORD3>oncondond</KEYWORD3>\r
+                       <KEYWORD3>oncondid</KEYWORD3>\r
+                       <KEYWORD3>oncount</KEYWORD3>\r
+                       <KEYWORD3>onfile</KEYWORD3>\r
+                       <KEYWORD3>ongsource</KEYWORD3>\r
+                       <KEYWORD3>onkey</KEYWORD3>\r
+                       <KEYWORD3>onloc</KEYWORD3>\r
+                       <KEYWORD3>onsource</KEYWORD3>\r
+                       <KEYWORD3>onsubcode</KEYWORD3>\r
+                       <KEYWORD3>onwchar</KEYWORD3>\r
+                       <KEYWORD3>onwsource</KEYWORD3>\r
+                       <KEYWORD3>ordinalname</KEYWORD3>\r
+                       <KEYWORD3>ordinalpred</KEYWORD3>\r
+                       <KEYWORD3>ordinalsucc</KEYWORD3>\r
+                       <KEYWORD3>packagename</KEYWORD3>\r
+                       <KEYWORD3>pageno</KEYWORD3>\r
+                       <KEYWORD3>places</KEYWORD3>\r
+                       <KEYWORD3>pliascii</KEYWORD3>\r
+                       <KEYWORD3>plianc</KEYWORD3>\r
+                       <KEYWORD3>plickpt</KEYWORD3>\r
+                       <KEYWORD3>plidelete</KEYWORD3>\r
+                       <KEYWORD3>plidump</KEYWORD3>\r
+                       <KEYWORD3>pliebcdic</KEYWORD3>\r
+                       <KEYWORD3>plifill</KEYWORD3>\r
+                       <KEYWORD3>plifree</KEYWORD3>\r
+                       <KEYWORD3>plimove</KEYWORD3>\r
+                       <KEYWORD3>pliover</KEYWORD3>\r
+                       <KEYWORD3>plirest</KEYWORD3>\r
+                       <KEYWORD3>pliretc</KEYWORD3>\r
+                       <KEYWORD3>pliretv</KEYWORD3>\r
+                       <KEYWORD3>plisaxa</KEYWORD3>\r
+                       <KEYWORD3>plisaxb</KEYWORD3>\r
+                       <KEYWORD3>plisrta</KEYWORD3>\r
+                       <KEYWORD3>plisrtb</KEYWORD3>\r
+                       <KEYWORD3>plisrtc</KEYWORD3>\r
+                       <KEYWORD3>plisrtd</KEYWORD3>\r
+                       <KEYWORD3>pointeradd</KEYWORD3>\r
+                       <KEYWORD3>ptradd</KEYWORD3>\r
+                       <KEYWORD3>pointerdiff</KEYWORD3>\r
+                       <KEYWORD3>ptrdiff</KEYWORD3>\r
+                       <KEYWORD3>pointersubtract</KEYWORD3>\r
+                       <KEYWORD3>ptrsubtract</KEYWORD3>\r
+                       <KEYWORD3>pointervalue</KEYWORD3>\r
+                       <KEYWORD3>ptrvalue</KEYWORD3>\r
+                       <KEYWORD3>poly</KEYWORD3>\r
+                       <KEYWORD3>pred</KEYWORD3>\r
+                       <KEYWORD3>present</KEYWORD3>\r
+                       <KEYWORD3>procname</KEYWORD3>\r
+                       <KEYWORD3>procedurename</KEYWORD3>\r
+                       <KEYWORD3>prod</KEYWORD3>\r
+                       <KEYWORD3>putenv</KEYWORD3>\r
+                       <KEYWORD3>radix</KEYWORD3>\r
+                       <KEYWORD3>raise</KEYWORD3>\r
+                       <KEYWORD3>random</KEYWORD3>\r
+                       <KEYWORD3>rank</KEYWORD3>\r
+                       <KEYWORD3>rem</KEYWORD3>\r
+                       <KEYWORD3>repattern</KEYWORD3>\r
+                       <KEYWORD3>respec</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>round</KEYWORD3>\r
+                       <KEYWORD3>samekey</KEYWORD3>\r
+                       <KEYWORD3>scale</KEYWORD3>\r
+                       <KEYWORD3>search</KEYWORD3>\r
+                       <KEYWORD3>searchr</KEYWORD3>\r
+                       <KEYWORD3>secs</KEYWORD3>\r
+                       <KEYWORD3>secstodate</KEYWORD3>\r
+                       <KEYWORD3>secstodays</KEYWORD3>\r
+                       <KEYWORD3>sign</KEYWORD3>\r
+                       <KEYWORD3>signed</KEYWORD3>\r
+                       <KEYWORD3>sin</KEYWORD3>\r
+                       <KEYWORD3>sind</KEYWORD3>\r
+                       <KEYWORD3>sinf</KEYWORD3>\r
+                       <KEYWORD3>sinh</KEYWORD3>\r
+                       <KEYWORD3>size</KEYWORD3>\r
+                       <KEYWORD3>sourcefile</KEYWORD3>\r
+                       <KEYWORD3>sourceline</KEYWORD3>\r
+                       <KEYWORD3>sqrt</KEYWORD3>\r
+                       <KEYWORD3>sqrtf</KEYWORD3>\r
+                       <KEYWORD3>stg</KEYWORD3>\r
+                       <KEYWORD3>storage</KEYWORD3>\r
+                       <KEYWORD3>string</KEYWORD3>\r
+                       <KEYWORD3>substr</KEYWORD3>\r
+                       <KEYWORD3>subtract</KEYWORD3>\r
+                       <KEYWORD3>succ</KEYWORD3>\r
+                       <KEYWORD3>sum</KEYWORD3>\r
+                       <KEYWORD3>sysnull</KEYWORD3>\r
+                       <KEYWORD3>tally</KEYWORD3>\r
+                       <KEYWORD3>tan</KEYWORD3>\r
+                       <KEYWORD3>tand</KEYWORD3>\r
+                       <KEYWORD3>tanf</KEYWORD3>\r
+                       <KEYWORD3>tanh</KEYWORD3>\r
+                       <KEYWORD3>threadid</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>tiny</KEYWORD3>\r
+                       <KEYWORD3>translate</KEYWORD3>\r
+                       <KEYWORD3>trim</KEYWORD3>\r
+                       <KEYWORD3>trunc</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>unallocated</KEYWORD3>\r
+                       <KEYWORD3>unspec</KEYWORD3>\r
+                       <KEYWORD3>uppercase</KEYWORD3>\r
+                       <KEYWORD3>valid</KEYWORD3>\r
+                       <KEYWORD3>validdate</KEYWORD3>\r
+                       <KEYWORD3>varglist</KEYWORD3>\r
+                       <KEYWORD3>vargsizer</KEYWORD3>\r
+                       <KEYWORD3>verify</KEYWORD3>\r
+                       <KEYWORD3>verifyr</KEYWORD3>\r
+                       <KEYWORD3>wcharval</KEYWORD3>\r
+                       <KEYWORD3>weekday</KEYWORD3>\r
+                       <KEYWORD3>whigh</KEYWORD3>\r
+                       <KEYWORD3>wlow</KEYWORD3>\r
+                       <KEYWORD3>y4date</KEYWORD3>\r
+                       <KEYWORD3>y4julian</KEYWORD3>\r
+                       <KEYWORD3>y4year</KEYWORD3>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/pop11.xml b/basis/xmode/modes/pop11.xml
new file mode 100644 (file)
index 0000000..47685dd
--- /dev/null
@@ -0,0 +1,262 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- pop11 mode by David S. Moss -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE=";;;" />\r
+    </PROPS>\r
+\r
+       <RULES SET="MAIN" ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Normal comments. -->\r
+               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT1">;;;</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>![</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+        <!-- Functions -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <MARK_PREVIOUS AT_LINE_START="TRUE" TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+\r
+        <!-- Needs to be before conditional compilation or won't work -->\r
+        <SEQ TYPE="NULL">#_&lt;</SEQ>\r
+        <SEQ TYPE="NULL">&gt;_#</SEQ>\r
+\r
+        <!-- Conditional compilation -->\r
+        <MARK_FOLLOWING AT_LINE_START="TRUE" TYPE="LABEL">#_</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">.</SEQ>\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="NULL">^</SEQ>\r
+               <SEQ TYPE="NULL">@</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ>\r
+               <SEQ TYPE="NULL">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <KEYWORDS>\r
+                   <LITERAL2>false</LITERAL2>\r
+                   <LITERAL2>true</LITERAL2>\r
+                   <LITERAL2>database</LITERAL2>\r
+                   <LITERAL2>it</LITERAL2>\r
+                   <LITERAL2>undef</LITERAL2>\r
+\r
+            <!-- keywords -->\r
+            <KEYWORD1>define</KEYWORD1>\r
+            <KEYWORD1>class</KEYWORD1>\r
+            <KEYWORD1>enddefine</KEYWORD1>\r
+            <KEYWORD1>dlocal</KEYWORD1>\r
+            <KEYWORD1>lvars</KEYWORD1>\r
+            <KEYWORD1>vars</KEYWORD1>\r
+            <KEYWORD1>slot</KEYWORD1>\r
+            <KEYWORD1>instance</KEYWORD1>\r
+            <KEYWORD1>endinstance</KEYWORD1>\r
+            <KEYWORD1>method</KEYWORD1>\r
+                   <KEYWORD1>syntax</KEYWORD1>\r
+            <KEYWORD1>biginteger</KEYWORD1>\r
+            <KEYWORD1>boolean</KEYWORD1>\r
+            <KEYWORD1>complex</KEYWORD1>\r
+            <KEYWORD1>ddecimal</KEYWORD1>\r
+            <KEYWORD1>decimal</KEYWORD1>\r
+            <KEYWORD1>device</KEYWORD1>\r
+            <KEYWORD1>ident</KEYWORD1>\r
+            <KEYWORD1>integer</KEYWORD1>\r
+            <KEYWORD1>intvec</KEYWORD1>\r
+            <KEYWORD1>key</KEYWORD1>\r
+            <KEYWORD1>nil</KEYWORD1>\r
+            <KEYWORD1>pair</KEYWORD1>\r
+            <KEYWORD1>procedure</KEYWORD1>\r
+            <KEYWORD1>process</KEYWORD1>\r
+            <KEYWORD1>prologterm</KEYWORD1>\r
+            <KEYWORD1>prologvar</KEYWORD1>\r
+            <KEYWORD1>ratio</KEYWORD1>\r
+            <KEYWORD1>ref</KEYWORD1>\r
+            <KEYWORD1>section</KEYWORD1>\r
+            <KEYWORD1>string</KEYWORD1>\r
+            <KEYWORD1>termin</KEYWORD1>\r
+            <KEYWORD1>vector</KEYWORD1>\r
+            <KEYWORD1>word</KEYWORD1>\r
+\r
+            <!-- flow control -->\r
+            <KEYWORD3>if</KEYWORD3>\r
+            <KEYWORD3>forevery</KEYWORD3>\r
+            <KEYWORD3>endforevery</KEYWORD3>\r
+            <KEYWORD3>then</KEYWORD3>\r
+            <KEYWORD3>switchon</KEYWORD3>\r
+            <KEYWORD3>endswitchon</KEYWORD3>\r
+            <KEYWORD3>case</KEYWORD3>\r
+            <KEYWORD3>elseif</KEYWORD3>\r
+            <KEYWORD3>else</KEYWORD3>\r
+            <KEYWORD3>endif</KEYWORD3>\r
+            <KEYWORD3>for</KEYWORD3>\r
+            <KEYWORD3>repeat</KEYWORD3>\r
+            <KEYWORD3>from</KEYWORD3>\r
+            <KEYWORD3>till</KEYWORD3>\r
+            <KEYWORD3>step</KEYWORD3>\r
+            <KEYWORD3>while</KEYWORD3>\r
+            <KEYWORD3>endfor</KEYWORD3>\r
+            <KEYWORD3>endrepeat</KEYWORD3>\r
+            <KEYWORD3>endwhile</KEYWORD3>\r
+            <KEYWORD3>times</KEYWORD3>\r
+            <KEYWORD3>to</KEYWORD3>\r
+            <KEYWORD3>do</KEYWORD3>\r
+            <KEYWORD3>by</KEYWORD3>\r
+            <KEYWORD3>in</KEYWORD3>\r
+            <KEYWORD3>return</KEYWORD3>\r
+\r
+            <!-- other statements -->\r
+            <KEYWORD2>and</KEYWORD2>\r
+            <KEYWORD2>or</KEYWORD2>\r
+            <KEYWORD2>matches</KEYWORD2>\r
+            <KEYWORD2>quitloop</KEYWORD2>\r
+            <KEYWORD2>goto</KEYWORD2>\r
+            <KEYWORD2>uses</KEYWORD2>\r
+            <KEYWORD2>trace</KEYWORD2>\r
+            <KEYWORD2>cons_with</KEYWORD2>\r
+            <KEYWORD2>consstring</KEYWORD2>\r
+\r
+            <!-- Built in functions -->\r
+            <LITERAL2>interrupt</LITERAL2>\r
+            <LITERAL2>partapply</LITERAL2>\r
+            <LITERAL2>consclosure</LITERAL2>\r
+            <LITERAL2>max</LITERAL2>\r
+            <LITERAL2>add</LITERAL2>\r
+            <LITERAL2>remove</LITERAL2>\r
+            <LITERAL2>alladd</LITERAL2>\r
+            <LITERAL2>quitif</LITERAL2>\r
+            <LITERAL2>copydata</LITERAL2>\r
+            <LITERAL2>copytree</LITERAL2>\r
+            <LITERAL2>copylist</LITERAL2>\r
+            <LITERAL2>length</LITERAL2>\r
+            <LITERAL2>hd</LITERAL2>\r
+            <LITERAL2>tl</LITERAL2>\r
+            <LITERAL2>rev</LITERAL2>\r
+            <LITERAL2>shuffle</LITERAL2>\r
+            <LITERAL2>oneof</LITERAL2>\r
+            <LITERAL2>sort</LITERAL2>\r
+            <LITERAL2>syssort</LITERAL2>\r
+            <LITERAL2>random</LITERAL2>\r
+            <LITERAL2>readline</LITERAL2>\r
+            <LITERAL2>not</LITERAL2>\r
+            <LITERAL2>pr</LITERAL2>\r
+            <LITERAL2>nl</LITERAL2>\r
+            <LITERAL2>present</LITERAL2>\r
+            <LITERAL2>subword</LITERAL2>\r
+            <LITERAL2>member</LITERAL2>\r
+            <LITERAL2>length</LITERAL2>\r
+            <LITERAL2>listlength</LITERAL2>\r
+            <LITERAL2>datalength</LITERAL2>\r
+            <LITERAL2>mishap</LITERAL2>\r
+            <LITERAL2>last</LITERAL2>\r
+            <LITERAL2>delete</LITERAL2>\r
+            <LITERAL2>valof</LITERAL2>\r
+            <LITERAL2>dataword</LITERAL2>\r
+\r
+            <!-- input validation functions -->\r
+            <LITERAL2>isnumber</LITERAL2>\r
+            <LITERAL2>isinteger</LITERAL2>\r
+            <LITERAL2>islist</LITERAL2>\r
+            <LITERAL2>isboolean</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+    <RULES SET="LIST" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="TRUE">\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
+                       <BEGIN>![</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+        <SPAN DELEGATE="MAIN" TYPE="NULL">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>%</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT1">;;;</EOL_SPAN>\r
+               <SEQ TYPE="LITERAL2">=</SEQ>\r
+               <SEQ TYPE="LITERAL2">==</SEQ>\r
+\r
+        <MARK_FOLLOWING TYPE="LITERAL2">^</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL2">?</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+    <RULES SET="STRING" ESCAPE="\" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="FALSE">\r
+    </RULES>\r
+\r
+    <RULES NO_WORD_SEP="." SET="COMMENT" DEFAULT="COMMENT1" HIGHLIGHT_DIGITS="FALSE">\r
+        <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
+               <SEQ TYPE="COMMENT1">*</SEQ>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/postscript.xml b/basis/xmode/modes/postscript.xml
new file mode 100644 (file)
index 0000000..1588b62
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- PostScript mode, by Slava Pestov. Based on PostScriptTokenMarker by\r
+     Ralf Engels -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="%" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT2">%!</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">%?</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">%%</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+               <!-- Literals -->\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LABEL">/</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>pop</KEYWORD1>\r
+                       <KEYWORD1>exch</KEYWORD1>\r
+                       <KEYWORD1>dup</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>roll</KEYWORD1>\r
+                       <KEYWORD1>clear</KEYWORD1>\r
+                       <KEYWORD1>count</KEYWORD1>\r
+                       <KEYWORD1>mark</KEYWORD1>\r
+                       <KEYWORD1>cleartomark</KEYWORD1>\r
+                       <KEYWORD1>counttomark</KEYWORD1>\r
+\r
+                       <KEYWORD1>exec</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>ifelse</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>stop</KEYWORD1>\r
+                       <KEYWORD1>stopped</KEYWORD1>\r
+                       <KEYWORD1>countexecstack</KEYWORD1>\r
+                       <KEYWORD1>execstack</KEYWORD1>\r
+                       <KEYWORD1>quit</KEYWORD1>\r
+                       <KEYWORD1>start</KEYWORD1>\r
+\r
+                       <OPERATOR>add</OPERATOR>\r
+                       <OPERATOR>div</OPERATOR>\r
+                       <OPERATOR>idiv</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <OPERATOR>mul</OPERATOR>\r
+                       <OPERATOR>sub</OPERATOR>\r
+                       <OPERATOR>abs</OPERATOR>\r
+                       <OPERATOR>ned</OPERATOR>\r
+                       <OPERATOR>ceiling</OPERATOR>\r
+                       <OPERATOR>floor</OPERATOR>\r
+                       <OPERATOR>round</OPERATOR>\r
+                       <OPERATOR>truncate</OPERATOR>\r
+                       <OPERATOR>sqrt</OPERATOR>\r
+                       <OPERATOR>atan</OPERATOR>\r
+                       <OPERATOR>cos</OPERATOR>\r
+                       <OPERATOR>sin</OPERATOR>\r
+                       <OPERATOR>exp</OPERATOR>\r
+                       <OPERATOR>ln</OPERATOR>\r
+                       <OPERATOR>log</OPERATOR>\r
+                       <OPERATOR>rand</OPERATOR>\r
+                       <OPERATOR>srand</OPERATOR>\r
+                       <OPERATOR>rrand</OPERATOR>\r
+\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>NULL</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/povray.xml b/basis/xmode/modes/povray.xml
new file mode 100644 (file)
index 0000000..b76ba9e
--- /dev/null
@@ -0,0 +1,518 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Povray mode, by Jan Schaefer\r
+     based on original Povray mode by Slava Pestov\r
+     based on PovrayTokenMarker, by Romain Guy -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>aa_level</KEYWORD2>\r
+                       <KEYWORD2>aa_threshold</KEYWORD2>\r
+                       <FUNCTION>abs</FUNCTION>\r
+                       <KEYWORD2>absorption</KEYWORD2>\r
+                       <KEYWORD2>accuracy</KEYWORD2>\r
+                       <FUNCTION>acos</FUNCTION>\r
+                       <FUNCTION>acosh</FUNCTION>\r
+                       <KEYWORD2>adaptive</KEYWORD2>\r
+                       <KEYWORD2>adc_bailout</KEYWORD2>\r
+                       <KEYWORD2>agate</KEYWORD2>\r
+                       <KEYWORD2>agate_turb</KEYWORD2>\r
+                       <KEYWORD2>all</KEYWORD2>\r
+                       <KEYWORD2>all_intersections</KEYWORD2>\r
+                       <KEYWORD2>alpha</KEYWORD2>\r
+                       <KEYWORD2>altitude</KEYWORD2>\r
+                       <KEYWORD2>always_sample</KEYWORD2>\r
+                       <KEYWORD2>ambient</KEYWORD2>\r
+                       <KEYWORD2>ambient_light</KEYWORD2>\r
+                       <KEYWORD2>angle</KEYWORD2>\r
+                       <KEYWORD2>aperture</KEYWORD2>\r
+                       <KEYWORD2>append</KEYWORD2>\r
+                       <KEYWORD2>arc_angle</KEYWORD2>\r
+                       <KEYWORD2>area_light</KEYWORD2>\r
+                       <KEYWORD2>array</KEYWORD2>\r
+                       <FUNCTION>asc</FUNCTION>\r
+                       <KEYWORD2>ascii</KEYWORD2>\r
+                       <FUNCTION>asin</FUNCTION>\r
+                       <FUNCTION>asinh</FUNCTION>\r
+                       <KEYWORD2>assumed_gamma</KEYWORD2>\r
+                       <FUNCTION>atan</FUNCTION>\r
+                       <FUNCTION>atan2</FUNCTION>\r
+                       <FUNCTION>atanh</FUNCTION>\r
+                       <KEYWORD2>autostop</KEYWORD2>\r
+                       <KEYWORD2>average</KEYWORD2>\r
+                       <KEYWORD2>b_spline</KEYWORD2>\r
+                       <KEYWORD1>background</KEYWORD1>\r
+                       <KEYWORD2>bezier_spline</KEYWORD2>\r
+                       <KEYWORD1>bicubic_patch</KEYWORD1>\r
+                       <KEYWORD2>black_hole</KEYWORD2>\r
+                       <KEYWORD1>blob</KEYWORD1>\r
+                       <LITERAL1>blue</LITERAL1>\r
+                       <KEYWORD2>blur_samples</KEYWORD2>\r
+                       <KEYWORD1>bounded_by</KEYWORD1>\r
+                       <KEYWORD1>box</KEYWORD1>\r
+                       <KEYWORD2>boxed</KEYWORD2>\r
+                       <KEYWORD2>bozo</KEYWORD2>\r
+                       <KEYWORD1>#break</KEYWORD1>\r
+                       <KEYWORD2>brick</KEYWORD2>\r
+                       <KEYWORD2>brick_size</KEYWORD2>\r
+                       <KEYWORD2>brightness</KEYWORD2>\r
+                       <KEYWORD2>brilliance</KEYWORD2>\r
+                       <KEYWORD1>bump_map</KEYWORD1>\r
+                       <KEYWORD2>bump_size</KEYWORD2>\r
+                       <KEYWORD2>bumps</KEYWORD2>\r
+                       <KEYWORD1>camera</KEYWORD1>\r
+                       <KEYWORD1>#case</KEYWORD1>\r
+                       <KEYWORD2>caustics</KEYWORD2>\r
+                       <FUNCTION>ceil</FUNCTION>\r
+                       <KEYWORD2>cells</KEYWORD2>\r
+                       <KEYWORD2>charset</KEYWORD2>\r
+                       <KEYWORD2>checker</KEYWORD2>\r
+                       <FUNCTION>chr</FUNCTION>\r
+                       <KEYWORD2>circular</KEYWORD2>\r
+                       <KEYWORD1>clipped_by</KEYWORD1>\r
+                       <LITERAL1>clock</LITERAL1>\r
+                       <LITERAL1>clock_delta</LITERAL1>\r
+                       <LITERAL1>clock_on</LITERAL1>\r
+                       <KEYWORD2>collect</KEYWORD2>\r
+                       <KEYWORD2>color</KEYWORD2>\r
+                       <KEYWORD2>color_map</KEYWORD2>\r
+                       <KEYWORD2>colour</KEYWORD2>\r
+                       <KEYWORD2>colour_map</KEYWORD2>\r
+                       <KEYWORD2>component</KEYWORD2>\r
+                       <KEYWORD2>composite</KEYWORD2>\r
+                       <FUNCTION>concat</FUNCTION>\r
+                       <KEYWORD1>cone</KEYWORD1>\r
+                       <KEYWORD2>confidence</KEYWORD2>\r
+                       <KEYWORD2>conic_sweep</KEYWORD2>\r
+                       <KEYWORD2>conserve_energy</KEYWORD2>\r
+                       <KEYWORD1>contained_by</KEYWORD1>\r
+                       <KEYWORD2>control0</KEYWORD2>\r
+                       <KEYWORD2>control1</KEYWORD2>\r
+                       <KEYWORD2>coords</KEYWORD2>\r
+                       <FUNCTION>cos</FUNCTION>\r
+                       <FUNCTION>cosh</FUNCTION>\r
+                       <KEYWORD2>count</KEYWORD2>\r
+                       <KEYWORD2>crackle</KEYWORD2>\r
+                       <KEYWORD2>crand</KEYWORD2>\r
+                       <KEYWORD1>cube</KEYWORD1>\r
+                       <KEYWORD1>cubic</KEYWORD1>\r
+                       <KEYWORD2>cubic_spline</KEYWORD2>\r
+                       <KEYWORD2>cubic_wave</KEYWORD2>\r
+                       <KEYWORD2>cutaway_textures</KEYWORD2>\r
+                       <KEYWORD1>cylinder</KEYWORD1>\r
+                       <KEYWORD2>cylindrical</KEYWORD2>\r
+                       <KEYWORD1>#debug</KEYWORD1>\r
+                       <KEYWORD1>#declare</KEYWORD1>\r
+                       <KEYWORD1>#default</KEYWORD1>\r
+                       <FUNCTION>defined</FUNCTION>\r
+                       <FUNCTION>degrees</FUNCTION>\r
+                       <KEYWORD2>density</KEYWORD2>\r
+                       <KEYWORD2>density_file</KEYWORD2>\r
+                       <KEYWORD1>density_map</KEYWORD1>\r
+                       <KEYWORD2>dents</KEYWORD2>\r
+                       <KEYWORD2>df3</KEYWORD2>\r
+                       <KEYWORD1>difference</KEYWORD1>\r
+                       <KEYWORD2>diffuse</KEYWORD2>\r
+                       <FUNCTION>dimension_size</FUNCTION>\r
+                       <FUNCTION>dimensions</FUNCTION>\r
+                       <KEYWORD2>direction</KEYWORD2>\r
+                       <KEYWORD1>disc</KEYWORD1>\r
+                       <KEYWORD2>dispersion</KEYWORD2>\r
+                       <KEYWORD2>dispersion_samples</KEYWORD2>\r
+                       <KEYWORD2>dist_exp</KEYWORD2>\r
+                       <KEYWORD2>distance</KEYWORD2>\r
+                       <FUNCTION>div</FUNCTION>\r
+                       <KEYWORD2>double_illuminate</KEYWORD2>\r
+                       <KEYWORD2>eccentricity</KEYWORD2>\r
+                       <KEYWORD1>#else</KEYWORD1>\r
+                       <KEYWORD2>emission</KEYWORD2>\r
+                       <KEYWORD1>#end</KEYWORD1>\r
+                       <KEYWORD1>#error</KEYWORD1>\r
+                       <KEYWORD2>error_bound</KEYWORD2>\r
+                       <KEYWORD2>evaluate</KEYWORD2>\r
+                       <FUNCTION>exp</FUNCTION>\r
+                       <KEYWORD2>expand_thresholds</KEYWORD2>\r
+                       <KEYWORD2>exponent</KEYWORD2>\r
+                       <KEYWORD2>exterior</KEYWORD2>\r
+                       <KEYWORD2>extinction</KEYWORD2>\r
+                       <KEYWORD1>face_indices</KEYWORD1>\r
+                       <KEYWORD2>facets</KEYWORD2>\r
+                       <KEYWORD2>fade_color</KEYWORD2>\r
+                       <KEYWORD2>fade_colour</KEYWORD2>\r
+                       <KEYWORD2>fade_distance</KEYWORD2>\r
+                       <KEYWORD2>fade_power</KEYWORD2>\r
+                       <KEYWORD2>falloff</KEYWORD2>\r
+                       <KEYWORD2>falloff_angle</KEYWORD2>\r
+                       <LITERAL1>false</LITERAL1>\r
+                       <KEYWORD1>#fclose</KEYWORD1>\r
+                       <FUNCTION>file_exists</FUNCTION>\r
+                       <KEYWORD2>filter</KEYWORD2>\r
+                       <LITERAL1>final_clock</LITERAL1>\r
+                       <LITERAL1>final_frame</LITERAL1>\r
+                       <KEYWORD1>finish</KEYWORD1>\r
+                       <KEYWORD2>fisheye</KEYWORD2>\r
+                       <KEYWORD2>flatness</KEYWORD2>\r
+                       <KEYWORD2>flip</KEYWORD2>\r
+                       <FUNCTION>floor</FUNCTION>\r
+                       <KEYWORD2>focal_point</KEYWORD2>\r
+                       <KEYWORD1>fog</KEYWORD1>\r
+                       <KEYWORD2>fog_alt</KEYWORD2>\r
+                       <KEYWORD2>fog_offset</KEYWORD2>\r
+                       <KEYWORD2>fog_type</KEYWORD2>\r
+                       <KEYWORD1>#fopen</KEYWORD1>\r
+                       <KEYWORD2>form</KEYWORD2>\r
+                       <LITERAL1>frame_number</LITERAL1>\r
+                       <KEYWORD2>frequency</KEYWORD2>\r
+                       <KEYWORD2>fresnel</KEYWORD2>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD2>gather</KEYWORD2>\r
+                       <KEYWORD2>gif</KEYWORD2>\r
+                       <KEYWORD2>global_lights</KEYWORD2>\r
+                       <KEYWORD1>global_settings</KEYWORD1>\r
+                       <KEYWORD2>gradient</KEYWORD2>\r
+                       <KEYWORD2>granite</KEYWORD2>\r
+                       <LITERAL1>gray</LITERAL1>\r
+                       <KEYWORD2>gray_threshold</KEYWORD2>\r
+                       <LITERAL1>green</LITERAL1>\r
+                       <KEYWORD2>h_angle</KEYWORD2>\r
+                       <KEYWORD1>height_field</KEYWORD1>\r
+                       <KEYWORD2>hexagon</KEYWORD2>\r
+                       <KEYWORD2>hf_gray_16</KEYWORD2>\r
+                       <KEYWORD2>hierarchy</KEYWORD2>\r
+                       <KEYWORD2>hollow</KEYWORD2>\r
+                       <KEYWORD2>hypercomplex</KEYWORD2>\r
+                       <KEYWORD1>#if</KEYWORD1>\r
+                       <KEYWORD1>#ifdef</KEYWORD1>\r
+                       <KEYWORD2>iff</KEYWORD2>\r
+                       <KEYWORD1>#ifndef</KEYWORD1>\r
+                       <LITERAL1>image_height</LITERAL1>\r
+                       <KEYWORD1>image_map</KEYWORD1>\r
+                       <KEYWORD2>image_pattern</KEYWORD2>\r
+                       <LITERAL1>image_width</LITERAL1>\r
+                       <KEYWORD1>#include</KEYWORD1>\r
+                       <LITERAL1>initial_clock</LITERAL1>\r
+                       <LITERAL1>initial_frame</LITERAL1>\r
+                       <FUNCTION>inside</FUNCTION>\r
+                       <FUNCTION>int</FUNCTION>\r
+                       <KEYWORD1>interior</KEYWORD1>\r
+                       <KEYWORD1>interior_texture</KEYWORD1>\r
+                       <FUNCTION>internal</FUNCTION>\r
+                       <KEYWORD2>interpolate</KEYWORD2>\r
+                       <KEYWORD1>intersection</KEYWORD1>\r
+                       <KEYWORD2>intervals</KEYWORD2>\r
+                       <KEYWORD2>inverse</KEYWORD2>\r
+                       <KEYWORD1>ior</KEYWORD1>\r
+                       <KEYWORD1>irid</KEYWORD1>\r
+                       <KEYWORD2>irid_wavelength</KEYWORD2>\r
+                       <KEYWORD1>isosurface</KEYWORD1>\r
+                       <KEYWORD2>jitter</KEYWORD2>\r
+                       <KEYWORD2>jpeg</KEYWORD2>\r
+                       <KEYWORD2>julia</KEYWORD2>\r
+                       <KEYWORD1>julia_fractal</KEYWORD1>\r
+                       <KEYWORD1>lathe</KEYWORD1>\r
+                       <KEYWORD2>lambda</KEYWORD2>\r
+                       <KEYWORD2>leopard</KEYWORD2>\r
+                       <KEYWORD1>light_group</KEYWORD1>\r
+                       <KEYWORD1>light_source</KEYWORD1>\r
+                       <KEYWORD2>linear_spline</KEYWORD2>\r
+                       <KEYWORD2>linear_sweep</KEYWORD2>\r
+                       <FUNCTION>ln</FUNCTION>\r
+                       <KEYWORD2>load_file</KEYWORD2>\r
+                       <KEYWORD1>#local</KEYWORD1>\r
+                       <KEYWORD2>location</KEYWORD2>\r
+                       <FUNCTION>log</FUNCTION>\r
+                       <KEYWORD2>look_at</KEYWORD2>\r
+                       <KEYWORD1>looks_like</KEYWORD1>\r
+                       <KEYWORD2>low_error_factor</KEYWORD2>\r
+                       <KEYWORD1>#macro</KEYWORD1>\r
+                       <KEYWORD2>magnet</KEYWORD2>\r
+                       <KEYWORD2>major_radius</KEYWORD2>\r
+                       <KEYWORD2>mandel</KEYWORD2>\r
+                       <KEYWORD2>map_type</KEYWORD2>\r
+                       <KEYWORD2>marble</KEYWORD2>\r
+                       <KEYWORD1>material</KEYWORD1>\r
+                       <KEYWORD1>material_map</KEYWORD1>\r
+                       <KEYWORD2>matrix</KEYWORD2>\r
+                       <FUNCTION>max</FUNCTION>\r
+                       <KEYWORD2>max_extent</KEYWORD2>\r
+                       <KEYWORD2>max_gradient</KEYWORD2>\r
+                       <KEYWORD2>max_intersections</KEYWORD2>\r
+                       <KEYWORD2>max_iteration</KEYWORD2>\r
+                       <KEYWORD2>max_sample</KEYWORD2>\r
+                       <KEYWORD2>max_trace</KEYWORD2>\r
+                       <KEYWORD2>max_trace_level</KEYWORD2>\r
+                       <KEYWORD1>media</KEYWORD1>\r
+                       <KEYWORD2>media_attenuation</KEYWORD2>\r
+                       <KEYWORD2>media_interaction</KEYWORD2>\r
+                       <KEYWORD1>merge</KEYWORD1>\r
+                       <KEYWORD1>mesh</KEYWORD1>\r
+                       <KEYWORD1>mesh2</KEYWORD1>\r
+                       <KEYWORD2>metallic</KEYWORD2>\r
+                       <KEYWORD2>method</KEYWORD2>\r
+                       <KEYWORD2>metric</KEYWORD2>\r
+                       <FUNCTION>min</FUNCTION>\r
+                       <KEYWORD2>min_extent</KEYWORD2>\r
+                       <KEYWORD2>minimum_reuse</KEYWORD2>\r
+                       <FUNCTION>mod</FUNCTION>\r
+                       <KEYWORD2>mortar</KEYWORD2>\r
+                       <KEYWORD2>natural_spline</KEYWORD2>\r
+                       <KEYWORD2>nearest_count</KEYWORD2>\r
+                       <LITERAL1>no</LITERAL1>\r
+                       <KEYWORD2>no_bump_scale</KEYWORD2>\r
+                       <KEYWORD2>no_image</KEYWORD2>\r
+                       <KEYWORD2>no_reflection</KEYWORD2>\r
+                       <KEYWORD2>no_shadow</KEYWORD2>\r
+                       <KEYWORD2>noise_generator</KEYWORD2>\r
+                       <KEYWORD1>normal</KEYWORD1>\r
+                       <KEYWORD1>normal_indices</KEYWORD1>\r
+                       <KEYWORD1>normal_map</KEYWORD1>\r
+                       <KEYWORD1>normal_vectors</KEYWORD1>\r
+                       <KEYWORD2>number_of_waves</KEYWORD2>\r
+                       <KEYWORD1>object</KEYWORD1>\r
+                       <KEYWORD2>octaves</KEYWORD2>\r
+                       <LITERAL1>off</LITERAL1>\r
+                       <KEYWORD2>offset</KEYWORD2>\r
+                       <KEYWORD2>omega</KEYWORD2>\r
+                       <KEYWORD2>omnimax</KEYWORD2>\r
+                       <LITERAL1>on</LITERAL1>\r
+                       <KEYWORD2>once</KEYWORD2>\r
+                       <KEYWORD2>onion</KEYWORD2>\r
+                       <KEYWORD2>open</KEYWORD2>\r
+                       <KEYWORD2>orient</KEYWORD2>\r
+                       <KEYWORD2>orientation</KEYWORD2>\r
+                       <KEYWORD2>orthographic</KEYWORD2>\r
+                       <KEYWORD2>panoramic</KEYWORD2>\r
+                       <KEYWORD2>parallel</KEYWORD2>\r
+                       <KEYWORD2>parametric</KEYWORD2>\r
+                       <KEYWORD2>pass_through</KEYWORD2>\r
+                       <KEYWORD1>pattern</KEYWORD1>\r
+                       <KEYWORD2>perspective</KEYWORD2>\r
+                       <KEYWORD2>pgm</KEYWORD2>\r
+                       <KEYWORD2>phase</KEYWORD2>\r
+                       <KEYWORD2>phong</KEYWORD2>\r
+                       <KEYWORD2>phong_size</KEYWORD2>\r
+                       <KEYWORD1>photons</KEYWORD1>\r
+                       <LITERAL1>pi</LITERAL1>\r
+                       <KEYWORD1>pigment</KEYWORD1>\r
+                       <KEYWORD1>pigment_map</KEYWORD1>\r
+                       <KEYWORD1>pigment_pattern</KEYWORD1>\r
+                       <KEYWORD2>planar</KEYWORD2>\r
+                       <KEYWORD1>plane</KEYWORD1>\r
+                       <KEYWORD1>png</KEYWORD1>\r
+                       <KEYWORD2>point_at</KEYWORD2>\r
+                       <KEYWORD1>poly</KEYWORD1>\r
+                       <KEYWORD2>poly_wave</KEYWORD2>\r
+                       <KEYWORD1>polygon</KEYWORD1>\r
+                       <KEYWORD2>pot</KEYWORD2>\r
+                       <FUNCTION>pow</FUNCTION>\r
+                       <KEYWORD2>ppm</KEYWORD2>\r
+                       <KEYWORD2>precision</KEYWORD2>\r
+                       <KEYWORD2>precompute</KEYWORD2>\r
+                       <KEYWORD2>pretrace_end</KEYWORD2>\r
+                       <KEYWORD2>pretrace_start</KEYWORD2>\r
+                       <KEYWORD1>prism</KEYWORD1>\r
+                       <KEYWORD2>projected_through</KEYWORD2>\r
+                       <KEYWORD2>pwr</KEYWORD2>\r
+                       <KEYWORD2>quadratic_spline</KEYWORD2>\r
+                       <KEYWORD2>quadric</KEYWORD2>\r
+                       <KEYWORD2>quartic</KEYWORD2>\r
+                       <KEYWORD2>quaternion</KEYWORD2>\r
+                       <KEYWORD2>quick_color</KEYWORD2>\r
+                       <KEYWORD2>quick_colour</KEYWORD2>\r
+                       <KEYWORD2>quilted</KEYWORD2>\r
+                       <KEYWORD2>radial</KEYWORD2>\r
+                       <FUNCTION>radians</FUNCTION>\r
+                       <KEYWORD1>radiosity</KEYWORD1>\r
+                       <KEYWORD2>radius</KEYWORD2>\r
+                       <KEYWORD1>rainbow</KEYWORD1>\r
+                       <KEYWORD2>ramp_wave</KEYWORD2>\r
+                       <FUNCTION>rand</FUNCTION>\r
+                       <KEYWORD1>#range</KEYWORD1>\r
+                       <KEYWORD2>range_divider</KEYWORD2>\r
+                       <KEYWORD2>ratio</KEYWORD2>\r
+                       <KEYWORD1>#read</KEYWORD1>\r
+                       <KEYWORD2>reciprocal</KEYWORD2>\r
+                       <KEYWORD2>recursion_limit</KEYWORD2>\r
+                       <LITERAL1>red</LITERAL1>\r
+                       <KEYWORD1>reflection</KEYWORD1>\r
+                       <KEYWORD2>reflection_exponent</KEYWORD2>\r
+                       <KEYWORD2>refraction</KEYWORD2>\r
+                       <KEYWORD1>#render</KEYWORD1>\r
+                       <KEYWORD2>repeat</KEYWORD2>\r
+                       <KEYWORD2>rgb</KEYWORD2>\r
+                       <KEYWORD2>rgbf</KEYWORD2>\r
+                       <KEYWORD2>rgbft</KEYWORD2>\r
+                       <KEYWORD2>rgbt</KEYWORD2>\r
+                       <KEYWORD2>right</KEYWORD2>\r
+                       <KEYWORD2>ripples</KEYWORD2>\r
+                       <KEYWORD2>rotate</KEYWORD2>\r
+                       <KEYWORD2>roughness</KEYWORD2>\r
+                       <KEYWORD2>samples</KEYWORD2>\r
+                       <KEYWORD2>save_file</KEYWORD2>\r
+                       <KEYWORD2>scale</KEYWORD2>\r
+                       <KEYWORD2>scallop_wave</KEYWORD2>\r
+                       <KEYWORD2>scattering</KEYWORD2>\r
+                       <FUNCTION>seed</FUNCTION>\r
+                       <KEYWORD2>select</KEYWORD2>\r
+                       <KEYWORD2>shadowless</KEYWORD2>\r
+                       <FUNCTION>sin</FUNCTION>\r
+                       <KEYWORD2>sine_wave</KEYWORD2>\r
+                       <FUNCTION>sinh</FUNCTION>\r
+                       <KEYWORD2>size</KEYWORD2>\r
+                       <KEYWORD2>sky</KEYWORD2>\r
+                       <KEYWORD1>sky_sphere</KEYWORD1>\r
+                       <KEYWORD2>slice</KEYWORD2>\r
+                       <KEYWORD1>slope</KEYWORD1>\r
+                       <KEYWORD1>slope_map</KEYWORD1>\r
+                       <KEYWORD2>smooth</KEYWORD2>\r
+                       <KEYWORD1>smooth_triangle</KEYWORD1>\r
+                       <KEYWORD1>solid</KEYWORD1>\r
+                       <KEYWORD1>sor</KEYWORD1>\r
+                       <KEYWORD2>spacing</KEYWORD2>\r
+                       <KEYWORD2>specular</KEYWORD2>\r
+                       <KEYWORD1>sphere</KEYWORD1>\r
+                       <KEYWORD1>sphere_sweep</KEYWORD1>\r
+                       <KEYWORD2>spherical</KEYWORD2>\r
+                       <KEYWORD2>spiral1</KEYWORD2>\r
+                       <KEYWORD2>spiral2</KEYWORD2>\r
+                       <KEYWORD1>spline</KEYWORD1>\r
+                       <KEYWORD2>split_union</KEYWORD2>\r
+                       <KEYWORD2>spotlight</KEYWORD2>\r
+                       <KEYWORD2>spotted</KEYWORD2>\r
+                       <KEYWORD2>sqr</KEYWORD2>\r
+                       <FUNCTION>sqrt</FUNCTION>\r
+                       <KEYWORD1>#statistics</KEYWORD1>\r
+                       <FUNCTION>str</FUNCTION>\r
+                       <FUNCTION>strcmp</FUNCTION>\r
+                       <KEYWORD2>strength</KEYWORD2>\r
+                       <FUNCTION>strlen</FUNCTION>\r
+                       <FUNCTION>strlwr</FUNCTION>\r
+                       <FUNCTION>strupr</FUNCTION>\r
+                       <KEYWORD2>sturm</KEYWORD2>\r
+                       <FUNCTION>substr</FUNCTION>\r
+                       <KEYWORD1>superellipsoid</KEYWORD1>\r
+                       <KEYWORD1>#switch</KEYWORD1>\r
+                       <KEYWORD2>sys</KEYWORD2>\r
+                       <LITERAL1>t</LITERAL1>\r
+                       <FUNCTION>tan</FUNCTION>\r
+                       <FUNCTION>tanh</FUNCTION>\r
+                       <KEYWORD2>target</KEYWORD2>\r
+                       <KEYWORD1>text</KEYWORD1>\r
+                       <KEYWORD1>texture</KEYWORD1>\r
+                       <KEYWORD1>texture_list</KEYWORD1>\r
+                       <KEYWORD1>texture_map</KEYWORD1>\r
+                       <KEYWORD2>tga</KEYWORD2>\r
+                       <KEYWORD2>thickness</KEYWORD2>\r
+                       <KEYWORD2>threshold</KEYWORD2>\r
+                       <KEYWORD2>tiff</KEYWORD2>\r
+                       <KEYWORD2>tightness</KEYWORD2>\r
+                       <KEYWORD2>tile2</KEYWORD2>\r
+                       <KEYWORD2>tiles</KEYWORD2>\r
+                       <KEYWORD2>tolerance</KEYWORD2>\r
+                       <KEYWORD2>toroidal</KEYWORD2>\r
+                       <KEYWORD1>torus</KEYWORD1>\r
+                       <FUNCTION>trace</FUNCTION>\r
+                       <KEYWORD2>transform</KEYWORD2>\r
+                       <KEYWORD2>translate</KEYWORD2>\r
+                       <KEYWORD2>transmit</KEYWORD2>\r
+                       <KEYWORD1>triangle</KEYWORD1>\r
+                       <KEYWORD2>triangle_wave</KEYWORD2>\r
+                       <LITERAL1>true</LITERAL1>\r
+                       <KEYWORD2>ttf</KEYWORD2>\r
+                       <KEYWORD2>turb_depth</KEYWORD2>\r
+                       <KEYWORD2>turbulence</KEYWORD2>\r
+                       <KEYWORD2>type</KEYWORD2>\r
+                       <LITERAL1>u</LITERAL1>\r
+                       <KEYWORD2>u_steps</KEYWORD2>\r
+                       <KEYWORD2>ultra_wide_angle</KEYWORD2>\r
+                       <KEYWORD1>#undef</KEYWORD1>\r
+                       <KEYWORD1>union</KEYWORD1>\r
+                       <KEYWORD2>up</KEYWORD2>\r
+                       <KEYWORD2>use_alpha</KEYWORD2>\r
+                       <KEYWORD2>use_color</KEYWORD2>\r
+                       <KEYWORD2>use_colour</KEYWORD2>\r
+                       <KEYWORD2>use_index</KEYWORD2>\r
+                       <KEYWORD2>utf8</KEYWORD2>\r
+                       <KEYWORD1>uv_indices</KEYWORD1>\r
+                       <KEYWORD1>uv_mapping</KEYWORD1>\r
+                       <KEYWORD1>uv_vectors</KEYWORD1>\r
+                       <LITERAL1>v</LITERAL1>\r
+                       <KEYWORD2>v_angle</KEYWORD2>\r
+                       <KEYWORD2>v_steps</KEYWORD2>\r
+                       <FUNCTION>val</FUNCTION>\r
+                       <KEYWORD2>variance</KEYWORD2>\r
+                       <FUNCTION>vaxis_rotate</FUNCTION>\r
+                       <FUNCTION>vcross</FUNCTION>\r
+                       <FUNCTION>vdot</FUNCTION>\r
+                       <KEYWORD1>#version</KEYWORD1>\r
+                       <KEYWORD1>vertex_vectors</KEYWORD1>\r
+                       <FUNCTION>vlength</FUNCTION>\r
+                       <FUNCTION>vnormalize</FUNCTION>\r
+                       <FUNCTION>vrotate</FUNCTION>\r
+                       <FUNCTION>vstr</FUNCTION>\r
+                       <FUNCTION>vturbulence</FUNCTION>\r
+                       <KEYWORD1>#warning</KEYWORD1>\r
+                       <KEYWORD1>warp</KEYWORD1>\r
+                       <KEYWORD2>water_level</KEYWORD2>\r
+                       <KEYWORD2>waves</KEYWORD2>\r
+                       <KEYWORD1>#while</KEYWORD1>\r
+                       <KEYWORD2>width</KEYWORD2>\r
+                       <KEYWORD2>wood</KEYWORD2>\r
+                       <KEYWORD2>wrinkles</KEYWORD2>\r
+                       <KEYWORD1>#write</KEYWORD1>\r
+                       <LITERAL1>x</LITERAL1>\r
+                       <LITERAL1>y</LITERAL1>\r
+                       <LITERAL1>yes</LITERAL1>\r
+                       <LITERAL1>z</LITERAL1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/powerdynamo.xml b/basis/xmode/modes/powerdynamo.xml
new file mode 100644 (file)
index 0000000..f5eb29e
--- /dev/null
@@ -0,0 +1,464 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--\r
+Sybase PowerDynamo mode file for jEdit - v 1.0\r
+(For the 5 people in the world who still have to program in dynamo.)\r
+\r
+By Ben Williams (benw@webmedia.com.au)\r
+\r
+1.0  2003-11-13\r
+Initial release - supports dynamo script, SQL tags, and mostly complete support\r
+for the other tags (data, document, etc). more support planned for future.\r
+\r
+-->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=" @       %^*()+=|\{}[]:;,.?$&amp;" />\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
+                       <BEGIN>&lt;!--script</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- these are the other dynamo tag types. for the meoment, we'll just hand them over to powerdynamo-script,\r
+                        but in future versions we can easily add individual processing for each of them, as they should have.\r
+               -->\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-data">\r
+                       <BEGIN>&lt;!--data</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-document">\r
+                       <BEGIN>&lt;!--document</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
+                       <BEGIN>&lt;!--evaluate</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
+                       <BEGIN>&lt;!--execute</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--formatting</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--/formatting</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--include</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--label</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="transact-sql::MAIN">\r
+                       <BEGIN>&lt;!--sql</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_error_code</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_error_info</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_state</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_on_no_error</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--/sql_on_no_error</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_on_error</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--/sql_on_error</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_on_no_rows</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--/sql_on_no_rows</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--sql_on_rows</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
+                       <BEGIN>&lt;!--/sql_on_rows</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP">\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
+                       <BEGIN>&lt;!--script</BEGIN>\r
+                       <END>--?&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS_LITERAL" DEFAULT="LITERAL1">\r
+               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
+                       <BEGIN>&lt;!--script</BEGIN>\r
+                       <END>?--&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="powerdynamo-script" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE">\r
+               <!--PROPS>\r
+                       <PROPERTY NAME="commentStart" VALUE="/*" />\r
+                       <PROPERTY NAME="lineComment" VALUE="//" />\r
+               </PROPS-->\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Language constructs (24) -->\r
+                       <KEYWORD1>abstract</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>byte</KEYWORD1>\r
+                       <KEYWORD1>boolean</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>char</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>double</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>exists</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>false</KEYWORD1>\r
+                       <KEYWORD1>file</KEYWORD1>\r
+                       <KEYWORD1>final</KEYWORD1>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>int</KEYWORD1>\r
+                       <KEYWORD1>interface</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>long</KEYWORD1>\r
+                       <KEYWORD1>length</KEYWORD1>\r
+                       <KEYWORD1>native</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+                       <KEYWORD1>null</KEYWORD1>\r
+                       <KEYWORD1>package</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+                       <KEYWORD1>protected</KEYWORD1>\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>synchronized</KEYWORD1>\r
+                       <KEYWORD1>short</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>super</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>true</KEYWORD1>\r
+                       <KEYWORD1>this</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>throws</KEYWORD1>\r
+                       <KEYWORD1>threadsafe</KEYWORD1>\r
+                       <KEYWORD1>transient</KEYWORD1>\r
+                       <KEYWORD1>var</KEYWORD1>\r
+                       <KEYWORD1>void</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <!-- objects -->\r
+                       <KEYWORD2></KEYWORD2>\r
+                       <KEYWORD2>document</KEYWORD2>\r
+                       <KEYWORD2>connection</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>query</KEYWORD2>\r
+                       <KEYWORD2>session</KEYWORD2>\r
+                       <KEYWORD2>site</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>typeof</KEYWORD2>\r
+\r
+                       <!-- methods & attributes -->\r
+                       <KEYWORD3>AskQuestion</KEYWORD3>\r
+                       <KEYWORD3>autoCommit</KEYWORD3>\r
+                       <KEYWORD3>Close</KEYWORD3>\r
+                       <KEYWORD3>Commit</KEYWORD3>\r
+                       <KEYWORD3>Connect</KEYWORD3>\r
+                       <KEYWORD3>CreateConnection</KEYWORD3>\r
+                       <KEYWORD3>CreateDocument</KEYWORD3>\r
+                       <KEYWORD3>CreatePropertySheet</KEYWORD3>\r
+                       <KEYWORD3>CreateQuery</KEYWORD3>\r
+                       <KEYWORD3>CreateWizard</KEYWORD3>\r
+                       <KEYWORD3>cachedOutputTimeOut</KEYWORD3>\r
+                       <KEYWORD3>charAt</KEYWORD3>\r
+                       <KEYWORD3>connected</KEYWORD3>\r
+                       <KEYWORD3>connection</KEYWORD3>\r
+                       <KEYWORD3>connectionId</KEYWORD3>\r
+                       <KEYWORD3>connectionName</KEYWORD3>\r
+                       <KEYWORD3>connectionType</KEYWORD3>\r
+                       <KEYWORD3>connectParameters</KEYWORD3>\r
+                       <KEYWORD3>contentType</KEYWORD3>\r
+                       <KEYWORD3>DeleteConnection</KEYWORD3>\r
+                       <KEYWORD3>DeleteDocument</KEYWORD3>\r
+                       <KEYWORD3>Disconnect</KEYWORD3>\r
+                       <KEYWORD3>database</KEYWORD3>\r
+                       <KEYWORD3>dataSource</KEYWORD3>\r
+                       <KEYWORD3>dataSourceList</KEYWORD3>\r
+                       <KEYWORD3>description</KEYWORD3>\r
+                       <KEYWORD3>Exec</KEYWORD3>\r
+                       <KEYWORD3>Execute</KEYWORD3>\r
+                       <KEYWORD3>ExportTo</KEYWORD3>\r
+                       <KEYWORD3>eof</KEYWORD3>\r
+                       <KEYWORD3>errorNumber</KEYWORD3>\r
+                       <KEYWORD3>errorString</KEYWORD3>\r
+                       <KEYWORD3>GetColumnCount</KEYWORD3>\r
+                       <KEYWORD3>GetColumnIndex</KEYWORD3>\r
+                       <KEYWORD3>GetColumnLabel</KEYWORD3>\r
+                       <KEYWORD3>GetConnection</KEYWORD3>\r
+                       <KEYWORD3>GetConnectionIdList</KEYWORD3>\r
+                       <KEYWORD3>GetConnectionNameList</KEYWORD3>\r
+                       <KEYWORD3>GetCWD</KEYWORD3>\r
+                       <KEYWORD3>GetDirectory</KEYWORD3>\r
+                       <KEYWORD3>GetDocument</KEYWORD3>\r
+                       <KEYWORD3>GetEmpty</KEYWORD3>\r
+                       <KEYWORD3>GetEnv</KEYWORD3>\r
+                       <KEYWORD3>GetErrorCode</KEYWORD3>\r
+                       <KEYWORD3>GetErrorInfo</KEYWORD3>\r
+                       <KEYWORD3>GetEventList</KEYWORD3>\r
+                       <KEYWORD3>GetFilePtr</KEYWORD3>\r
+                       <KEYWORD3>GetGenerated</KEYWORD3>\r
+                       <KEYWORD3>GetRootDocument</KEYWORD3>\r
+                       <KEYWORD3>GetRowCount</KEYWORD3>\r
+                       <KEYWORD3>GetServerVariable</KEYWORD3>\r
+                       <KEYWORD3>GetState</KEYWORD3>\r
+                       <KEYWORD3>GetSupportedMoves</KEYWORD3>\r
+                       <KEYWORD3>GetValue</KEYWORD3>\r
+                       <KEYWORD3>ImportFrom</KEYWORD3>\r
+                       <KEYWORD3>Include</KEYWORD3>\r
+                       <KEYWORD3>id</KEYWORD3>\r
+                       <KEYWORD3>indexOf</KEYWORD3>\r
+                       <KEYWORD3>lastIndexOf</KEYWORD3>\r
+                       <KEYWORD3>lastModified</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>location</KEYWORD3>\r
+                       <KEYWORD3>Move</KEYWORD3>\r
+                       <KEYWORD3>MoveFirst</KEYWORD3>\r
+                       <KEYWORD3>MoveLast</KEYWORD3>\r
+                       <KEYWORD3>MoveNext</KEYWORD3>\r
+                       <KEYWORD3>MovePrevious</KEYWORD3>\r
+                       <KEYWORD3>MoveRelative</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>name</KEYWORD3>\r
+                       <KEYWORD3>OnEvent</KEYWORD3>\r
+                       <KEYWORD3>Open</KEYWORD3>\r
+                       <KEYWORD3>Opened</KEYWORD3>\r
+                       <KEYWORD3>parent</KEYWORD3>\r
+                       <KEYWORD3>password</KEYWORD3>\r
+                       <KEYWORD3>ReadChar</KEYWORD3>\r
+                       <KEYWORD3>ReadLine</KEYWORD3>\r
+                       <KEYWORD3>Refresh</KEYWORD3>\r
+                       <KEYWORD3>Rollback</KEYWORD3>\r
+                       <KEYWORD3>redirect</KEYWORD3>\r
+                       <KEYWORD3>Seek</KEYWORD3>\r
+                       <KEYWORD3>SetEnv</KEYWORD3>\r
+                       <KEYWORD3>SetSQL</KEYWORD3>\r
+                       <KEYWORD3>ShowMessage</KEYWORD3>\r
+                       <KEYWORD3>substring</KEYWORD3>\r
+                       <KEYWORD3>server</KEYWORD3>\r
+                       <KEYWORD3>simulateCursors</KEYWORD3>\r
+                       <KEYWORD3>size</KEYWORD3>\r
+                       <KEYWORD3>source</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+                       <KEYWORD3>timeOut</KEYWORD3>\r
+                       <KEYWORD3>toLowerCase</KEYWORD3>\r
+                       <KEYWORD3>toUpperCase</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>userId</KEYWORD3>\r
+                       <KEYWORD3>value</KEYWORD3>\r
+                       <KEYWORD3>WriteLine</KEYWORD3>\r
+                       <KEYWORD3>Write</KEYWORD3>\r
+                       <KEYWORD3>write</KEYWORD3>\r
+                       <KEYWORD3>writeln</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-general">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>NAME</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-data">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>NAME</KEYWORD2>\r
+                       <KEYWORD2>QUERY</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-document">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD2>CONTENT_TYPE</KEYWORD2>\r
+                       <KEYWORD2>REDIRECT</KEYWORD2>\r
+                       <KEYWORD2>STATUS</KEYWORD2>\r
+                       <KEYWORD2>CACHED_OUTPUT_TIMEOUT</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/progress.xml b/basis/xmode/modes/progress.xml
new file mode 100644 (file)
index 0000000..480bdef
--- /dev/null
@@ -0,0 +1,3748 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- ====================================================================== -->\r
+<!-- Progress mode for jEdit 4.2+                                           -->\r
+<!--                                                                        -->\r
+<!-- This is a jEdit syntax file for Progress Open Edge 10.0A               -->\r
+<!--                                                                        -->\r
+<!-- For comments / suggestions / contributions, please contact me at       -->\r
+<!-- p.tingen@vcd.nl                                                        -->\r
+<!--                                                                        -->\r
+<!-- ====================================================================== -->\r
+<!--                                                                        -->\r
+<!-- Contributors: PT Patrick Tingen                                        -->\r
+<!--               GW Gerben Wieringa                                       -->\r
+<!--               SH Stephen Hawkins                                       -->\r
+<!--                                                                        -->\r
+<!-- ====================================================================== -->\r
+<!-- 2001-07-17 PT Initial version for Progress 8.2                         -->\r
+<!-- 2002-10-08 GW Added some keywords                                      -->\r
+<!-- 2003-02-18 PT Added some keywords                                      -->\r
+<!-- 2003-05-21 PT Rewritten. Thanks to GW & SH !                           -->\r
+<!-- 2004-01-26 PT Generated using Progress program for Progress 9.1D       -->\r
+<!-- 2004-02-04 PT Generated using Progress program for Open Edge 10.0A     -->\r
+<!-- 2004-02-06 PT Corrected due to validating errors against xmode.dtd     -->\r
+<!-- 2004-02-16 PT Fixed 'or choose of' being reported as invalid.          -->\r
+<!-- 2004-04-29 PT Added some appbuilder constants                          -->\r
+<!-- ====================================================================== -->\r
+<!-- Special thanks to Gerben and Stephen for their support.                -->\r
+<!-- ====================================================================== -->\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart"        VALUE="/*" />\r
+    <PROPERTY NAME="commentEnd"          VALUE="*/" />\r
+    <PROPERTY NAME="boxComment"          VALUE="**" />\r
+    <PROPERTY NAME="lineComment"         VALUE="&amp;scop cmt " />\r
+    <PROPERTY NAME="indentNextLine"      VALUE="\s*(if|do|for|else|case|repeat|procedure|function)(\s+.*|\s*)" />\r
+    <PROPERTY NAME="wordBreakChars"      VALUE=",.;:/?^[]@" />\r
+    <PROPERTY NAME="indentOpenBrackets"  VALUE="{" />\r
+    <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+  </PROPS>\r
+\r
+  <RULES SET="COMMENT" DEFAULT="COMMENT1" IGNORE_CASE="TRUE">\r
+      <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+      <BEGIN>/*</BEGIN> <END>*/</END>\r
+      </SPAN>\r
+  </RULES>\r
+\r
+  <RULES ESCAPE="~" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+    <!-- COMMENT1   : Normal Progress comments -->\r
+    <!-- LITERAL1   : text between ' or " -->\r
+    <!-- LITERAL2   :  -->\r
+    <!-- MARKUP     :  -->\r
+    <!-- LABEL      : Progress block labels -->\r
+    <!-- FUNCTION   : attributes and methods -->\r
+    <!-- OPERATOR   : All operators -->\r
+    <!-- INVALID    : Deprecated keywords -->\r
+    <!-- NON INVALID: Correction for non-invalid keywords -->\r
+\r
+    <!-- COMMENT1   : Normal Progress comments -->\r
+    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
+     <BEGIN>/*</BEGIN>\r
+     <END>*/</END>\r
+    </SPAN>\r
+    <!-- LITERAL1   : text between ' or " -->\r
+      <SPAN TYPE="LITERAL1">\r
+        <BEGIN>'</BEGIN>\r
+        <END>'</END>\r
+      </SPAN>\r
+\r
+      <SPAN TYPE="LITERAL1">\r
+        <BEGIN>"</BEGIN>\r
+        <END>"</END>\r
+      </SPAN>\r
+\r
+    <!-- LABEL      : Progress block labels -->\r
+      <MARK_FOLLOWING TYPE="LABEL">{&amp;</MARK_FOLLOWING>\r
+\r
+    <!-- OPERATOR   : All operators -->\r
+      <SEQ TYPE="OPERATOR">*</SEQ>\r
+      <SEQ TYPE="OPERATOR">+</SEQ>\r
+      <SEQ TYPE="OPERATOR">,</SEQ>\r
+      <SEQ TYPE="OPERATOR">.</SEQ>\r
+      <SEQ TYPE="OPERATOR">/</SEQ>\r
+      <SEQ TYPE="OPERATOR">=</SEQ>\r
+      <SEQ TYPE="OPERATOR">?</SEQ>\r
+      <SEQ TYPE="OPERATOR">@</SEQ>\r
+      <SEQ TYPE="OPERATOR">[</SEQ>\r
+      <SEQ TYPE="OPERATOR">]</SEQ>\r
+      <SEQ TYPE="OPERATOR">^</SEQ>\r
+      <SEQ TYPE="OPERATOR">(</SEQ>\r
+      <SEQ TYPE="OPERATOR">)</SEQ>\r
+      <!-- GT, EQ etc -->\r
+      <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+      <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+      <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+\r
+    <!-- LABEL      : Progress block labels -->\r
+      <!-- Better would be to search for regexp  ^[[:blank:]]*[[:graph:]]+:$ -->\r
+      <!-- but this is not (yet) implemented since regexps cannot match     -->\r
+      <!-- anything that does not have a fixed starting character.          -->\r
+      <MARK_PREVIOUS TYPE="LABEL" AT_WHITESPACE_END="TRUE" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+\r
+    <!-- FUNCTION   : attributes and methods -->\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:accelerator</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:accept-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:accept-row-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-buffer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-calc-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-columns-from</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-events-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-fields-from</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-first</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-index-field</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-last</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-field</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-index</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-new-field</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-new-index</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:add-super-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:adm-data</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:after-buffer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:after-rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:after-table</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:allow-column-searching</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:always-on-top</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:ambiguous</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:append-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:appl-alert-boxes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:apply-callback</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-info</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-password</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-userid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:async-request-count</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:async-request-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:asynchronous</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:attach-data-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:attr-space</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:attribute-names</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-completion</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-delete</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-delete-xml</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-end-key</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-go</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-indent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-resize</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-return</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-validate</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:auto-zap</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:available</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:available-formats</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:background</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:base-ade</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:basic-logging</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:batch-mode</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:before-buffer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:before-rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:before-table</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:bgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:blank</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:block-iteration-display</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-bottom-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-bottom-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-left-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-left-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-right-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-right-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-top-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:border-top-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:box</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:box-selectable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-data-types</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-formats</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-labels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-compare</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-copy</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-create</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-delete</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-field</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-lines</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-release</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-validate</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:bytes-read</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:bytes-written</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cache</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:call-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:call-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:can-create</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:can-delete</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:can-read</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:can-write</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-break</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-button</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-requests</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cancelled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:careful-paint</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:case-sensitive</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:centered</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:character_length</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:charset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:checked</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:child-num</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:clear</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:clear-selection</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:client-connection-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:client-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:clone-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:code</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:codepage</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-bgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-dcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-fgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-label</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-movable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-pfcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-read-only</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-resizable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:column-scrolling</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:columns</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:com-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:complete</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:config-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:connect</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:connected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:context-help</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:context-help-file</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:context-help-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:control-box</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:convert-3d-colors</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:convert-to-offset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:coverage</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cpcase</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cpcoll</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cplog</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cpprint</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cprcodein</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cprcodeout</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cpstream</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cpterm</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:crc-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:create-like</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:create-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:create-node-namespace</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:create-on-add</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:create-result-list-entry</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-changed</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-environment</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-iteration</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-result-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-row-modified</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:current-window</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-char</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-line</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-offset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:data-entry-return</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:data-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:data-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dataset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:date-format</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:db-references</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dbname</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dde-error</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dde-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dde-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dde-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dde-topic</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:deblank</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:debug</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:debug-alert</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:decimals</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:default</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:default-buffer-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:default-button</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:default-commit</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:default-string</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-current-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-line</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-result-list-entry</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-selected-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delete-selected-rows</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:delimiter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:description</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-focused-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-rows</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-selected-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:detach-data-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:directory</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disable-auto-zap</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disable-connections</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disable-dump-triggers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disable-load-triggers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:disconnect</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:display-message</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:display-timezone</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:display-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:down</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:drag-enabled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:drop-target</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dump-logging-now</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:dynamic</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edge-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edge-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-can-paste</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-can-undo</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-clear</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-copy</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-cut</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-paste</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:edit-undo</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:empty</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:empty-temp-table</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:enable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:enable-connections</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:enabled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:encoding</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:end-file-drop</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:end-user-prompt</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:error-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:error-object-detail</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:error-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:error-string</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:event-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:event-procedure-context</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:event-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:exclusive-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:execution-log</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:expand</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:expandable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:export</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:extent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:fetch-selected-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:fgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-create-date</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-create-time</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-mod-date</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-mod-time</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-offset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-size</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:file-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:fill</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:fill-mode</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:filled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:find-by-rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:find-current</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:find-first</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:find-last</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:find-unique</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-async-request</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-buffer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-data-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-dataset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-query</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-server</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-server-socket</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-socket</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:first-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:fit-last-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:flat-button</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:focused-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:focused-row-selected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:font-based-layout</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:foreground</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:form-input</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:format</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:forward-only</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-col</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-spacing</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-x</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frame-y</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:frequency</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:full-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:full-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:full-pathname</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:full-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:full-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:function</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-attribute</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-attribute-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-blue-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-browse-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-buffer-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-bytes-available</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-cgi-list</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-cgi-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-child-relation</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-config-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-current</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-document-element</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-dropped-file</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-dynamic</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-first</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-green-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-iteration</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-last</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-message</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-next</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-number</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-parent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-prev</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-printers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-red-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-repositioned-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-rgb-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-selected-widget</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-signature</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-socket-option</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:get-wait-state</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:graphic-edge</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-factor-horizontal</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-factor-vertical</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-snap</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:grid-visible</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:handler</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:has-lobs</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:has-records</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:hidden</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:horizontal</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-charset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-end-of-line</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-end-of-page</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-frame-begin</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-frame-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-header-begin</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-header-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-title-begin</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:html-title-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:hwnd</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:icfparameter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:icon</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:image</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:image-down</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:image-insensitive</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:image-up</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:immediate-display</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:import-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:in-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:increment-exclusive-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:index</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:index-information</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:initial</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:initialize-document-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:initiate</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:inner-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:inner-lines</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:input-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-backtab</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-before</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-file</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-string</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:insert-tab</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:instantiating-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:internal-entries</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:invoke</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:is-open</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:is-parameter-set</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:is-row-selected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:is-selected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:is-xml</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:items-per-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:keep-connection-open</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:keep-frame-z-order</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:keep-security-cache</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:key</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:label</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:label-bgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:label-dcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:label-fgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:label-font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:labels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:languages</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:large</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:large-to-small</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-async-request</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-server</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-server-socket</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-socket</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:last-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:line</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:list-item-pairs</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:list-items</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:listings</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:literal-question</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-icon</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-image</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-down</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-insensitive</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-up</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-mouse-pointer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:load-small-icon</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:local-host</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:local-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:local-port</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locator-column-number</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locator-line-number</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locator-public-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locator-system-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locator-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:locked</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:log-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:longchar-to-node-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:lookup</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:mandatory</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:manual-highlight</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:margin-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:margin-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:margin-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:margin-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-button</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-data-guess</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:max-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:md5-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:memptr-to-node-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:menu-bar</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:menu-key</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:menu-mouse</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:merge-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:merge-row-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:message-area</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:message-area-font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-button</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-column-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-column-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-schema-marshall</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:min-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:modified</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:mouse-pointer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:movable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-after-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-before-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-bottom</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-eof</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-top</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:multiple</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:multitasking-interval</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:namespace-prefix</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:namespace-uri</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:needs-appserver-prompt</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:needs-prompt</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:new</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:new-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:next-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:next-sibling</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:next-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:no-current-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:no-empty-space</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:no-focus</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:no-schema-marshall</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:no-validate</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:node-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:node-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:node-value-to-longchar</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:node-value-to-memptr</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:normalize</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-buffers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-buttons</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-child-relations</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-children</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-columns</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-dropped-files</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-entries</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-fields</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-formats</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-items</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-iterations</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-lines</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-locked-columns</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-messages</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-parameters</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-replaced</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-results</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-selected-rows</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-selected-widgets</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-tabs</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-to-retain</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:num-visible-columns</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-decimal-point</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-format</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-separator</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:ole-invoke-locale</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:ole-names-locale</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:on-frame-border</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:origin-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:origin-rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:overlay</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:owner</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:owner-document</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:page-bottom</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:page-top</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:parameter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:parent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:parent-relation</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:parse-status</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:password-field</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:pathname</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:persistent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:persistent-cache-disabled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:persistent-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:pfcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:pixels-per-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:pixels-per-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:popup-menu</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:popup-only</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:position</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:prepare-string</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:prepared</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:prev-column</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:prev-sibling</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:prev-tab-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:primary</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:printer-control-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:printer-hdc</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:printer-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:printer-port</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:private-data</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:procedure-name</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:profiling</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:progress-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:proxy</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:proxy-password</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:proxy-userid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:public-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:published-events</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:query</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:query-close</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:query-off-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:query-open</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:query-prepare</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:quit</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:radio-buttons</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:raw-transfer</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:read</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:read-file</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:read-only</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:recid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:record-length</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:refresh</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:refreshable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reject-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reject-row-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:rejected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remote</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remote-host</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remote-port</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remove-attribute</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remove-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remove-events-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:remove-super-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:replace</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:replace-child</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:replace-selection-text</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-backwards</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-forwards</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-parent-relation</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-to-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-to-rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:resizable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:resize</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:retain-shape</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:return-inserted</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:return-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:return-value-data-type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row-markers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row-resizable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:row-state</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:rowid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:rule-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:rule-y</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:save</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:save-file</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:save-row-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse-first</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse-next</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sax-xml</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:schema-change</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:schema-path</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:screen-lines</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:screen-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-bars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-delta</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-offset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-current-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-item</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-selected-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scrollable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scrollbar-horizontal</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:scrollbar-vertical</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:search</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:select-all</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:select-focused-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:select-next-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:select-prev-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:select-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:selectable</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:selected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:selection-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:selection-start</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:selection-text</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sensitive</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:separator-fgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:separators</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-bound</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-bound-request</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-context</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:server-operating-mode</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:session-end</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-attribute</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-attribute-node</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-blue-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-break</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-buffers</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-callback-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-commit</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-connect-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-dynamic</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-green-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-input-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-numeric-format</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-parameter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-read-response-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-red-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-repositioned-row</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-rgb-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-rollback</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-selection</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-socket-option</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:set-wait-state</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:show-in-taskbar</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:side-label-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:side-labels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:skip-deleted-record</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:small-icon</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:small-title</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sort</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:startup-parameters</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:status-area</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:status-area-font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:stop</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:stop-parsing</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:stopped</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:stretch-to-fit</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:string-value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:sub-menu-help</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:subtype</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:super-procedures</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:suppress-namespace-processing</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:suppress-warnings</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:synchronize</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:system-alert-boxes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:system-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tab-position</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tab-stop</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:table</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:table-crc-list</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:table-handle</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:table-list</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:table-number</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:temp-directory</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:temp-table-prepare</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:text-selected</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:three-d</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tic-marks</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:time-source</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:title</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:title-bgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:title-dcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:title-fgcolor</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:title-font</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:toggle-box</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tooltip</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tooltips</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:top-only</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:trace-filter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tracing</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:tracking-changes</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:trans-init-procedure</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:transaction</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:transparent</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:type</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:undo</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:unique-id</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:unique-match</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:url</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:url-decode</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:url-encode</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:url-password</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:url-userid</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:user-data</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:v6display</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:validate</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:validate-expression</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:validate-message</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:validate-xml</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:validation-enabled</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:value</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:view-first-column-on-reopen</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-height-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:visible</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:warning</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:widget-enter</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:widget-leave</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:width-chars</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:window</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:window-state</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:window-system</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:word-wrap</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-height-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-width-pixels</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-x</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-y</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:write</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:write-data</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:x</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:x-document</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:xml-schema-path</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:xml-suppress-namespace-processing</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:y</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:year-offset</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="FUNCTION">:_dcm</MARK_FOLLOWING>\r
+\r
+    <!-- INVALID    : Deprecated keywords -->\r
+      <SEQ_REGEXP TYPE="INVALID" HASH_CHAR="put" AT_WORD_START="TRUE">put\s+screen</SEQ_REGEXP>\r
+      <MARK_FOLLOWING TYPE="INVALID">:WHERE-STRING</MARK_FOLLOWING>\r
+      <MARK_FOLLOWING TYPE="INVALID">:REPOSITION-PARENT-RELATION</MARK_FOLLOWING>\r
+\r
+    <!-- NON INVALID: Correction for non-invalid keywords -->\r
+      <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="choose" AT_WORD_START="TRUE">choose\s+of</SEQ_REGEXP>\r
+\r
+    <KEYWORDS>\r
+      <!-- Keep the following sections in the specified order since -->\r
+      <!-- some keywords occur in more than 1 section. The last one -->\r
+      <!-- determines the appearance of a certain keyword.          -->\r
+\r
+      <!-- KEYWORD3   : events -->\r
+      <!-- KEYWORD1   : Statements, functions, attributes, methods -->\r
+      <!-- KEYWORD2   : VST & metaschema files and fields -->\r
+      <!-- INVALID    : Deprecated keywords -->\r
+      <!-- COMMENT2   : Preprocessor statements -->\r
+\r
+      <!-- KEYWORD3   : events -->\r
+        <KEYWORD3>any-key</KEYWORD3>\r
+        <KEYWORD3>any-printable</KEYWORD3>\r
+        <KEYWORD3>back-tab</KEYWORD3>\r
+        <KEYWORD3>backspace</KEYWORD3>\r
+        <KEYWORD3>bell</KEYWORD3>\r
+        <KEYWORD3>choose</KEYWORD3>\r
+        <KEYWORD3>container-event</KEYWORD3>\r
+        <KEYWORD3>dde-notify</KEYWORD3>\r
+        <KEYWORD3>default-action</KEYWORD3>\r
+        <KEYWORD3>del</KEYWORD3>\r
+        <KEYWORD3>delete-char</KEYWORD3>\r
+        <KEYWORD3>delete-character</KEYWORD3>\r
+        <KEYWORD3>deselect</KEYWORD3>\r
+        <KEYWORD3>deselection</KEYWORD3>\r
+        <KEYWORD3>drop-file-notify</KEYWORD3>\r
+        <KEYWORD3>empty-selection</KEYWORD3>\r
+        <KEYWORD3>end</KEYWORD3>\r
+        <KEYWORD3>end-box-selection</KEYWORD3>\r
+        <KEYWORD3>end-error</KEYWORD3>\r
+        <KEYWORD3>end-move</KEYWORD3>\r
+        <KEYWORD3>end-resize</KEYWORD3>\r
+        <KEYWORD3>end-search</KEYWORD3>\r
+        <KEYWORD3>endkey</KEYWORD3>\r
+        <KEYWORD3>entry</KEYWORD3>\r
+        <KEYWORD3>error</KEYWORD3>\r
+        <KEYWORD3>go</KEYWORD3>\r
+        <KEYWORD3>help</KEYWORD3>\r
+        <KEYWORD3>home</KEYWORD3>\r
+        <KEYWORD3>leave</KEYWORD3>\r
+        <KEYWORD3>menu-drop</KEYWORD3>\r
+        <KEYWORD3>off-end</KEYWORD3>\r
+        <KEYWORD3>off-home</KEYWORD3>\r
+        <KEYWORD3>parent-window-close</KEYWORD3>\r
+        <KEYWORD3>procedure-complete</KEYWORD3>\r
+        <KEYWORD3>read-response</KEYWORD3>\r
+        <KEYWORD3>recall</KEYWORD3>\r
+        <KEYWORD3>return</KEYWORD3>\r
+        <KEYWORD3>row-display</KEYWORD3>\r
+        <KEYWORD3>row-entry</KEYWORD3>\r
+        <KEYWORD3>row-leave</KEYWORD3>\r
+        <KEYWORD3>scroll-notify</KEYWORD3>\r
+        <KEYWORD3>select</KEYWORD3>\r
+        <KEYWORD3>selection</KEYWORD3>\r
+        <KEYWORD3>start-box-selection</KEYWORD3>\r
+        <KEYWORD3>start-move</KEYWORD3>\r
+        <KEYWORD3>start-resize</KEYWORD3>\r
+        <KEYWORD3>start-search</KEYWORD3>\r
+        <KEYWORD3>tab</KEYWORD3>\r
+        <KEYWORD3>value-changed</KEYWORD3>\r
+        <KEYWORD3>window-close</KEYWORD3>\r
+        <KEYWORD3>window-maximized</KEYWORD3>\r
+        <KEYWORD3>window-minimized</KEYWORD3>\r
+        <KEYWORD3>window-resized</KEYWORD3>\r
+        <KEYWORD3>window-restored</KEYWORD3>\r
+\r
+\r
+      <!-- KEYWORD1   : Statements, functions -->\r
+        <KEYWORD1>abort</KEYWORD1>\r
+        <KEYWORD1>absolute</KEYWORD1>\r
+        <KEYWORD1>accelerator</KEYWORD1>\r
+        <KEYWORD1>accept-changes</KEYWORD1>\r
+        <KEYWORD1>accept-row-changes</KEYWORD1>\r
+        <KEYWORD1>accumulate</KEYWORD1>\r
+        <KEYWORD1>across</KEYWORD1>\r
+        <KEYWORD1>active</KEYWORD1>\r
+        <KEYWORD1>active-window</KEYWORD1>\r
+        <KEYWORD1>actor</KEYWORD1>\r
+        <KEYWORD1>add</KEYWORD1>\r
+        <KEYWORD1>add-buffer</KEYWORD1>\r
+        <KEYWORD1>add-calc-column</KEYWORD1>\r
+        <KEYWORD1>add-columns-from</KEYWORD1>\r
+        <KEYWORD1>add-events-procedure</KEYWORD1>\r
+        <KEYWORD1>add-fields-from</KEYWORD1>\r
+        <KEYWORD1>add-first</KEYWORD1>\r
+        <KEYWORD1>add-header-entry</KEYWORD1>\r
+        <KEYWORD1>add-index-field</KEYWORD1>\r
+        <KEYWORD1>add-interval</KEYWORD1>\r
+        <KEYWORD1>add-last</KEYWORD1>\r
+        <KEYWORD1>add-like-column</KEYWORD1>\r
+        <KEYWORD1>add-like-field</KEYWORD1>\r
+        <KEYWORD1>add-like-index</KEYWORD1>\r
+        <KEYWORD1>add-new-field</KEYWORD1>\r
+        <KEYWORD1>add-new-index</KEYWORD1>\r
+        <KEYWORD1>add-relation</KEYWORD1>\r
+        <KEYWORD1>add-source-buffer</KEYWORD1>\r
+        <KEYWORD1>add-super-procedure</KEYWORD1>\r
+        <KEYWORD1>adm-data</KEYWORD1>\r
+        <KEYWORD1>advise</KEYWORD1>\r
+        <KEYWORD1>after-buffer</KEYWORD1>\r
+        <KEYWORD1>after-rowid</KEYWORD1>\r
+        <KEYWORD1>after-table</KEYWORD1>\r
+        <KEYWORD1>alert-box</KEYWORD1>\r
+        <KEYWORD1>alias</KEYWORD1>\r
+        <KEYWORD1>all</KEYWORD1>\r
+        <KEYWORD1>allow-column-searching</KEYWORD1>\r
+        <KEYWORD1>allow-replication</KEYWORD1>\r
+        <KEYWORD1>alter</KEYWORD1>\r
+        <KEYWORD1>alternate-key</KEYWORD1>\r
+        <KEYWORD1>always-on-top</KEYWORD1>\r
+        <KEYWORD1>ambiguous</KEYWORD1>\r
+        <KEYWORD1>and</KEYWORD1>\r
+        <KEYWORD1>ansi-only</KEYWORD1>\r
+        <KEYWORD1>any</KEYWORD1>\r
+        <KEYWORD1>anywhere</KEYWORD1>\r
+        <KEYWORD1>append</KEYWORD1>\r
+        <KEYWORD1>append-child</KEYWORD1>\r
+        <KEYWORD1>append-line</KEYWORD1>\r
+        <KEYWORD1>appl-alert-boxes</KEYWORD1>\r
+        <KEYWORD1>application</KEYWORD1>\r
+        <KEYWORD1>apply</KEYWORD1>\r
+        <KEYWORD1>apply-callback</KEYWORD1>\r
+        <KEYWORD1>appserver-info</KEYWORD1>\r
+        <KEYWORD1>appserver-password</KEYWORD1>\r
+        <KEYWORD1>appserver-userid</KEYWORD1>\r
+        <KEYWORD1>array-message</KEYWORD1>\r
+        <KEYWORD1>as</KEYWORD1>\r
+        <KEYWORD1>as-cursor</KEYWORD1>\r
+        <KEYWORD1>ascending</KEYWORD1>\r
+        <KEYWORD1>ask-overwrite</KEYWORD1>\r
+        <KEYWORD1>assign</KEYWORD1>\r
+        <KEYWORD1>async-request-count</KEYWORD1>\r
+        <KEYWORD1>async-request-handle</KEYWORD1>\r
+        <KEYWORD1>asynchronous</KEYWORD1>\r
+        <KEYWORD1>at</KEYWORD1>\r
+        <KEYWORD1>attach</KEYWORD1>\r
+        <KEYWORD1>attach-data-source</KEYWORD1>\r
+        <KEYWORD1>attachment</KEYWORD1>\r
+        <KEYWORD1>attr-space</KEYWORD1>\r
+        <KEYWORD1>attribute-names</KEYWORD1>\r
+        <KEYWORD1>attribute-type</KEYWORD1>\r
+        <KEYWORD1>authorization</KEYWORD1>\r
+        <KEYWORD1>auto-completion</KEYWORD1>\r
+        <KEYWORD1>auto-delete</KEYWORD1>\r
+        <KEYWORD1>auto-delete-xml</KEYWORD1>\r
+        <KEYWORD1>auto-end-key</KEYWORD1>\r
+        <KEYWORD1>auto-endkey</KEYWORD1>\r
+        <KEYWORD1>auto-go</KEYWORD1>\r
+        <KEYWORD1>auto-indent</KEYWORD1>\r
+        <KEYWORD1>auto-resize</KEYWORD1>\r
+        <KEYWORD1>auto-return</KEYWORD1>\r
+        <KEYWORD1>auto-validate</KEYWORD1>\r
+        <KEYWORD1>auto-zap</KEYWORD1>\r
+        <KEYWORD1>automatic</KEYWORD1>\r
+        <KEYWORD1>available</KEYWORD1>\r
+        <KEYWORD1>available-formats</KEYWORD1>\r
+        <KEYWORD1>average</KEYWORD1>\r
+        <KEYWORD1>avg</KEYWORD1>\r
+        <KEYWORD1>background</KEYWORD1>\r
+        <KEYWORD1>backwards</KEYWORD1>\r
+        <KEYWORD1>base-ade</KEYWORD1>\r
+        <KEYWORD1>base-key</KEYWORD1>\r
+        <KEYWORD1>base64</KEYWORD1>\r
+        <KEYWORD1>basic-logging</KEYWORD1>\r
+        <KEYWORD1>batch-mode</KEYWORD1>\r
+        <KEYWORD1>before-buffer</KEYWORD1>\r
+        <KEYWORD1>before-hide</KEYWORD1>\r
+        <KEYWORD1>before-rowid</KEYWORD1>\r
+        <KEYWORD1>before-table</KEYWORD1>\r
+        <KEYWORD1>begins</KEYWORD1>\r
+        <KEYWORD1>between</KEYWORD1>\r
+        <KEYWORD1>bgcolor</KEYWORD1>\r
+        <KEYWORD1>big-endian</KEYWORD1>\r
+        <KEYWORD1>binary</KEYWORD1>\r
+        <KEYWORD1>bind-where</KEYWORD1>\r
+        <KEYWORD1>blank</KEYWORD1>\r
+        <KEYWORD1>blob</KEYWORD1>\r
+        <KEYWORD1>block</KEYWORD1>\r
+        <KEYWORD1>block-iteration-display</KEYWORD1>\r
+        <KEYWORD1>border-bottom</KEYWORD1>\r
+        <KEYWORD1>border-bottom-chars</KEYWORD1>\r
+        <KEYWORD1>border-bottom-pixels</KEYWORD1>\r
+        <KEYWORD1>border-left</KEYWORD1>\r
+        <KEYWORD1>border-left-chars</KEYWORD1>\r
+        <KEYWORD1>border-left-pixels</KEYWORD1>\r
+        <KEYWORD1>border-right</KEYWORD1>\r
+        <KEYWORD1>border-right-chars</KEYWORD1>\r
+        <KEYWORD1>border-right-pixels</KEYWORD1>\r
+        <KEYWORD1>border-top</KEYWORD1>\r
+        <KEYWORD1>border-top-chars</KEYWORD1>\r
+        <KEYWORD1>border-top-pixels</KEYWORD1>\r
+        <KEYWORD1>both</KEYWORD1>\r
+        <KEYWORD1>bottom</KEYWORD1>\r
+        <KEYWORD1>bottom-column</KEYWORD1>\r
+        <KEYWORD1>box</KEYWORD1>\r
+        <KEYWORD1>box-selectable</KEYWORD1>\r
+        <KEYWORD1>break</KEYWORD1>\r
+        <KEYWORD1>break-line</KEYWORD1>\r
+        <KEYWORD1>browse</KEYWORD1>\r
+        <KEYWORD1>browse-column-data-types</KEYWORD1>\r
+        <KEYWORD1>browse-column-formats</KEYWORD1>\r
+        <KEYWORD1>browse-column-labels</KEYWORD1>\r
+        <KEYWORD1>browse-header</KEYWORD1>\r
+        <KEYWORD1>btos</KEYWORD1>\r
+        <KEYWORD1>buffer</KEYWORD1>\r
+        <KEYWORD1>buffer-chars</KEYWORD1>\r
+        <KEYWORD1>buffer-compare</KEYWORD1>\r
+        <KEYWORD1>buffer-copy</KEYWORD1>\r
+        <KEYWORD1>buffer-create</KEYWORD1>\r
+        <KEYWORD1>buffer-delete</KEYWORD1>\r
+        <KEYWORD1>buffer-field</KEYWORD1>\r
+        <KEYWORD1>buffer-handle</KEYWORD1>\r
+        <KEYWORD1>buffer-lines</KEYWORD1>\r
+        <KEYWORD1>buffer-name</KEYWORD1>\r
+        <KEYWORD1>buffer-release</KEYWORD1>\r
+        <KEYWORD1>buffer-validate</KEYWORD1>\r
+        <KEYWORD1>buffer-value</KEYWORD1>\r
+        <KEYWORD1>buttons</KEYWORD1>\r
+        <KEYWORD1>by</KEYWORD1>\r
+        <KEYWORD1>by-pointer</KEYWORD1>\r
+        <KEYWORD1>by-reference</KEYWORD1>\r
+        <KEYWORD1>by-value</KEYWORD1>\r
+        <KEYWORD1>by-variant-pointer</KEYWORD1>\r
+        <KEYWORD1>byte</KEYWORD1>\r
+        <KEYWORD1>bytes-read</KEYWORD1>\r
+        <KEYWORD1>bytes-written</KEYWORD1>\r
+        <KEYWORD1>cache</KEYWORD1>\r
+        <KEYWORD1>cache-size</KEYWORD1>\r
+        <KEYWORD1>call</KEYWORD1>\r
+        <KEYWORD1>call-name</KEYWORD1>\r
+        <KEYWORD1>call-type</KEYWORD1>\r
+        <KEYWORD1>can-create</KEYWORD1>\r
+        <KEYWORD1>can-delete</KEYWORD1>\r
+        <KEYWORD1>can-do</KEYWORD1>\r
+        <KEYWORD1>can-find</KEYWORD1>\r
+        <KEYWORD1>can-query</KEYWORD1>\r
+        <KEYWORD1>can-read</KEYWORD1>\r
+        <KEYWORD1>can-set</KEYWORD1>\r
+        <KEYWORD1>can-write</KEYWORD1>\r
+        <KEYWORD1>cancel-break</KEYWORD1>\r
+        <KEYWORD1>cancel-button</KEYWORD1>\r
+        <KEYWORD1>cancel-pick</KEYWORD1>\r
+        <KEYWORD1>cancel-requests</KEYWORD1>\r
+        <KEYWORD1>cancelled</KEYWORD1>\r
+        <KEYWORD1>caps</KEYWORD1>\r
+        <KEYWORD1>careful-paint</KEYWORD1>\r
+        <KEYWORD1>case</KEYWORD1>\r
+        <KEYWORD1>case-sensitive</KEYWORD1>\r
+        <KEYWORD1>cdecl</KEYWORD1>\r
+        <KEYWORD1>centered</KEYWORD1>\r
+        <KEYWORD1>chained</KEYWORD1>\r
+        <KEYWORD1>character</KEYWORD1>\r
+        <KEYWORD1>character_length</KEYWORD1>\r
+        <KEYWORD1>charset</KEYWORD1>\r
+        <KEYWORD1>check</KEYWORD1>\r
+        <KEYWORD1>checked</KEYWORD1>\r
+        <KEYWORD1>child-buffer</KEYWORD1>\r
+        <KEYWORD1>child-num</KEYWORD1>\r
+        <KEYWORD1>choices</KEYWORD1>\r
+        <KEYWORD1>chr</KEYWORD1>\r
+        <KEYWORD1>clear</KEYWORD1>\r
+        <KEYWORD1>clear-selection</KEYWORD1>\r
+        <KEYWORD1>client-connection-id</KEYWORD1>\r
+        <KEYWORD1>client-type</KEYWORD1>\r
+        <KEYWORD1>clipboard</KEYWORD1>\r
+        <KEYWORD1>clob</KEYWORD1>\r
+        <KEYWORD1>clone-node</KEYWORD1>\r
+        <KEYWORD1>close</KEYWORD1>\r
+        <KEYWORD1>code</KEYWORD1>\r
+        <KEYWORD1>codebase-locator</KEYWORD1>\r
+        <KEYWORD1>codepage</KEYWORD1>\r
+        <KEYWORD1>codepage-convert</KEYWORD1>\r
+        <KEYWORD1>col</KEYWORD1>\r
+        <KEYWORD1>col-of</KEYWORD1>\r
+        <KEYWORD1>collate</KEYWORD1>\r
+        <KEYWORD1>colon</KEYWORD1>\r
+        <KEYWORD1>colon-aligned</KEYWORD1>\r
+        <KEYWORD1>color</KEYWORD1>\r
+        <KEYWORD1>color-table</KEYWORD1>\r
+        <KEYWORD1>column-bgcolor</KEYWORD1>\r
+        <KEYWORD1>column-codepage</KEYWORD1>\r
+        <KEYWORD1>column-dcolor</KEYWORD1>\r
+        <KEYWORD1>column-fgcolor</KEYWORD1>\r
+        <KEYWORD1>column-font</KEYWORD1>\r
+        <KEYWORD1>column-label</KEYWORD1>\r
+        <KEYWORD1>column-label-bgcolor</KEYWORD1>\r
+        <KEYWORD1>column-label-dcolor</KEYWORD1>\r
+        <KEYWORD1>column-label-fgcolor</KEYWORD1>\r
+        <KEYWORD1>column-label-font</KEYWORD1>\r
+        <KEYWORD1>column-label-height-chars</KEYWORD1>\r
+        <KEYWORD1>column-label-height-pixels</KEYWORD1>\r
+        <KEYWORD1>column-movable</KEYWORD1>\r
+        <KEYWORD1>column-of</KEYWORD1>\r
+        <KEYWORD1>column-pfcolor</KEYWORD1>\r
+        <KEYWORD1>column-read-only</KEYWORD1>\r
+        <KEYWORD1>column-resizable</KEYWORD1>\r
+        <KEYWORD1>column-scrolling</KEYWORD1>\r
+        <KEYWORD1>columns</KEYWORD1>\r
+        <KEYWORD1>com-handle</KEYWORD1>\r
+        <KEYWORD1>com-self</KEYWORD1>\r
+        <KEYWORD1>combo-box</KEYWORD1>\r
+        <KEYWORD1>command</KEYWORD1>\r
+        <KEYWORD1>compares</KEYWORD1>\r
+        <KEYWORD1>compile</KEYWORD1>\r
+        <KEYWORD1>compiler</KEYWORD1>\r
+        <KEYWORD1>complete</KEYWORD1>\r
+        <KEYWORD1>component-handle</KEYWORD1>\r
+        <KEYWORD1>component-self</KEYWORD1>\r
+        <KEYWORD1>config-name</KEYWORD1>\r
+        <KEYWORD1>connect</KEYWORD1>\r
+        <KEYWORD1>connected</KEYWORD1>\r
+        <KEYWORD1>constrained</KEYWORD1>\r
+        <KEYWORD1>contains</KEYWORD1>\r
+        <KEYWORD1>contents</KEYWORD1>\r
+        <KEYWORD1>context</KEYWORD1>\r
+        <KEYWORD1>context-help</KEYWORD1>\r
+        <KEYWORD1>context-help-file</KEYWORD1>\r
+        <KEYWORD1>context-help-id</KEYWORD1>\r
+        <KEYWORD1>context-popup</KEYWORD1>\r
+        <KEYWORD1>control</KEYWORD1>\r
+        <KEYWORD1>control-box</KEYWORD1>\r
+        <KEYWORD1>control-container</KEYWORD1>\r
+        <KEYWORD1>control-frame</KEYWORD1>\r
+        <KEYWORD1>convert</KEYWORD1>\r
+        <KEYWORD1>convert-3d-colors</KEYWORD1>\r
+        <KEYWORD1>convert-to-offset</KEYWORD1>\r
+        <KEYWORD1>copy</KEYWORD1>\r
+        <KEYWORD1>copy-lob</KEYWORD1>\r
+        <KEYWORD1>count</KEYWORD1>\r
+        <KEYWORD1>count-of</KEYWORD1>\r
+        <KEYWORD1>coverage</KEYWORD1>\r
+        <KEYWORD1>cpcase</KEYWORD1>\r
+        <KEYWORD1>cpcoll</KEYWORD1>\r
+        <KEYWORD1>cpinternal</KEYWORD1>\r
+        <KEYWORD1>cplog</KEYWORD1>\r
+        <KEYWORD1>cpprint</KEYWORD1>\r
+        <KEYWORD1>cprcodein</KEYWORD1>\r
+        <KEYWORD1>cprcodeout</KEYWORD1>\r
+        <KEYWORD1>cpstream</KEYWORD1>\r
+        <KEYWORD1>cpterm</KEYWORD1>\r
+        <KEYWORD1>crc-value</KEYWORD1>\r
+        <KEYWORD1>create</KEYWORD1>\r
+        <KEYWORD1>create-like</KEYWORD1>\r
+        <KEYWORD1>create-node</KEYWORD1>\r
+        <KEYWORD1>create-node-namespace</KEYWORD1>\r
+        <KEYWORD1>create-on-add</KEYWORD1>\r
+        <KEYWORD1>create-result-list-entry</KEYWORD1>\r
+        <KEYWORD1>create-test-file</KEYWORD1>\r
+        <KEYWORD1>ctos</KEYWORD1>\r
+        <KEYWORD1>current</KEYWORD1>\r
+        <KEYWORD1>current-changed</KEYWORD1>\r
+        <KEYWORD1>current-column</KEYWORD1>\r
+        <KEYWORD1>current-environment</KEYWORD1>\r
+        <KEYWORD1>current-iteration</KEYWORD1>\r
+        <KEYWORD1>current-language</KEYWORD1>\r
+        <KEYWORD1>current-result-row</KEYWORD1>\r
+        <KEYWORD1>current-row-modified</KEYWORD1>\r
+        <KEYWORD1>current-value</KEYWORD1>\r
+        <KEYWORD1>current-window</KEYWORD1>\r
+        <KEYWORD1>current_date</KEYWORD1>\r
+        <KEYWORD1>cursor</KEYWORD1>\r
+        <KEYWORD1>cursor-char</KEYWORD1>\r
+        <KEYWORD1>cursor-down</KEYWORD1>\r
+        <KEYWORD1>cursor-left</KEYWORD1>\r
+        <KEYWORD1>cursor-line</KEYWORD1>\r
+        <KEYWORD1>cursor-offset</KEYWORD1>\r
+        <KEYWORD1>cursor-right</KEYWORD1>\r
+        <KEYWORD1>cursor-up</KEYWORD1>\r
+        <KEYWORD1>cut</KEYWORD1>\r
+        <KEYWORD1>data-bind</KEYWORD1>\r
+        <KEYWORD1>data-entry-return</KEYWORD1>\r
+        <KEYWORD1>data-refresh-line</KEYWORD1>\r
+        <KEYWORD1>data-refresh-page</KEYWORD1>\r
+        <KEYWORD1>data-relation</KEYWORD1>\r
+        <KEYWORD1>data-source</KEYWORD1>\r
+        <KEYWORD1>data-type</KEYWORD1>\r
+        <KEYWORD1>database</KEYWORD1>\r
+        <KEYWORD1>dataservers</KEYWORD1>\r
+        <KEYWORD1>dataset</KEYWORD1>\r
+        <KEYWORD1>dataset-handle</KEYWORD1>\r
+        <KEYWORD1>date</KEYWORD1>\r
+        <KEYWORD1>date-format</KEYWORD1>\r
+        <KEYWORD1>datetime</KEYWORD1>\r
+        <KEYWORD1>datetime-tz</KEYWORD1>\r
+        <KEYWORD1>day</KEYWORD1>\r
+        <KEYWORD1>db-references</KEYWORD1>\r
+        <KEYWORD1>dbcodepage</KEYWORD1>\r
+        <KEYWORD1>dbcollation</KEYWORD1>\r
+        <KEYWORD1>dbname</KEYWORD1>\r
+        <KEYWORD1>dbparam</KEYWORD1>\r
+        <KEYWORD1>dbrestrictions</KEYWORD1>\r
+        <KEYWORD1>dbtaskid</KEYWORD1>\r
+        <KEYWORD1>dbtype</KEYWORD1>\r
+        <KEYWORD1>dbversion</KEYWORD1>\r
+        <KEYWORD1>dcolor</KEYWORD1>\r
+        <KEYWORD1>dde</KEYWORD1>\r
+        <KEYWORD1>dde-error</KEYWORD1>\r
+        <KEYWORD1>dde-id</KEYWORD1>\r
+        <KEYWORD1>dde-item</KEYWORD1>\r
+        <KEYWORD1>dde-name</KEYWORD1>\r
+        <KEYWORD1>dde-topic</KEYWORD1>\r
+        <KEYWORD1>deblank</KEYWORD1>\r
+        <KEYWORD1>debug</KEYWORD1>\r
+        <KEYWORD1>debug-alert</KEYWORD1>\r
+        <KEYWORD1>debug-list</KEYWORD1>\r
+        <KEYWORD1>debugger</KEYWORD1>\r
+        <KEYWORD1>decimal</KEYWORD1>\r
+        <KEYWORD1>decimals</KEYWORD1>\r
+        <KEYWORD1>declare</KEYWORD1>\r
+        <KEYWORD1>default</KEYWORD1>\r
+        <KEYWORD1>default-buffer-handle</KEYWORD1>\r
+        <KEYWORD1>default-button</KEYWORD1>\r
+        <KEYWORD1>default-commit</KEYWORD1>\r
+        <KEYWORD1>default-extension</KEYWORD1>\r
+        <KEYWORD1>default-noxlate</KEYWORD1>\r
+        <KEYWORD1>default-pop-up</KEYWORD1>\r
+        <KEYWORD1>default-string</KEYWORD1>\r
+        <KEYWORD1>default-window</KEYWORD1>\r
+        <KEYWORD1>defer-lob-fetch</KEYWORD1>\r
+        <KEYWORD1>define</KEYWORD1>\r
+        <KEYWORD1>defined</KEYWORD1>\r
+        <KEYWORD1>delete</KEYWORD1>\r
+        <KEYWORD1>delete-column</KEYWORD1>\r
+        <KEYWORD1>delete-current-row</KEYWORD1>\r
+        <KEYWORD1>delete-end-line</KEYWORD1>\r
+        <KEYWORD1>delete-field</KEYWORD1>\r
+        <KEYWORD1>delete-header-entry</KEYWORD1>\r
+        <KEYWORD1>delete-line</KEYWORD1>\r
+        <KEYWORD1>delete-node</KEYWORD1>\r
+        <KEYWORD1>delete-result-list-entry</KEYWORD1>\r
+        <KEYWORD1>delete-selected-row</KEYWORD1>\r
+        <KEYWORD1>delete-selected-rows</KEYWORD1>\r
+        <KEYWORD1>delete-word</KEYWORD1>\r
+        <KEYWORD1>delimiter</KEYWORD1>\r
+        <KEYWORD1>descending</KEYWORD1>\r
+        <KEYWORD1>description</KEYWORD1>\r
+        <KEYWORD1>deselect-extend</KEYWORD1>\r
+        <KEYWORD1>deselect-focused-row</KEYWORD1>\r
+        <KEYWORD1>deselect-rows</KEYWORD1>\r
+        <KEYWORD1>deselect-selected-row</KEYWORD1>\r
+        <KEYWORD1>deselection-extend</KEYWORD1>\r
+        <KEYWORD1>detach</KEYWORD1>\r
+        <KEYWORD1>detach-data-source</KEYWORD1>\r
+        <KEYWORD1>dialog-box</KEYWORD1>\r
+        <KEYWORD1>dialog-help</KEYWORD1>\r
+        <KEYWORD1>dictionary</KEYWORD1>\r
+        <KEYWORD1>dir</KEYWORD1>\r
+        <KEYWORD1>directory</KEYWORD1>\r
+        <KEYWORD1>disable</KEYWORD1>\r
+        <KEYWORD1>disable-auto-zap</KEYWORD1>\r
+        <KEYWORD1>disable-connections</KEYWORD1>\r
+        <KEYWORD1>disable-dump-triggers</KEYWORD1>\r
+        <KEYWORD1>disable-load-triggers</KEYWORD1>\r
+        <KEYWORD1>disabled</KEYWORD1>\r
+        <KEYWORD1>disconnect</KEYWORD1>\r
+        <KEYWORD1>dismiss-menu</KEYWORD1>\r
+        <KEYWORD1>display</KEYWORD1>\r
+        <KEYWORD1>display-message</KEYWORD1>\r
+        <KEYWORD1>display-timezone</KEYWORD1>\r
+        <KEYWORD1>display-type</KEYWORD1>\r
+        <KEYWORD1>distinct</KEYWORD1>\r
+        <KEYWORD1>do</KEYWORD1>\r
+        <KEYWORD1>dos</KEYWORD1>\r
+        <KEYWORD1>dos-end</KEYWORD1>\r
+        <KEYWORD1>double</KEYWORD1>\r
+        <KEYWORD1>down</KEYWORD1>\r
+        <KEYWORD1>drag-enabled</KEYWORD1>\r
+        <KEYWORD1>drop</KEYWORD1>\r
+        <KEYWORD1>drop-down</KEYWORD1>\r
+        <KEYWORD1>drop-down-list</KEYWORD1>\r
+        <KEYWORD1>drop-target</KEYWORD1>\r
+        <KEYWORD1>dump</KEYWORD1>\r
+        <KEYWORD1>dump-logging-now</KEYWORD1>\r
+        <KEYWORD1>dynamic</KEYWORD1>\r
+        <KEYWORD1>dynamic-current-value</KEYWORD1>\r
+        <KEYWORD1>dynamic-function</KEYWORD1>\r
+        <KEYWORD1>dynamic-next-value</KEYWORD1>\r
+        <KEYWORD1>each</KEYWORD1>\r
+        <KEYWORD1>echo</KEYWORD1>\r
+        <KEYWORD1>edge</KEYWORD1>\r
+        <KEYWORD1>edge-chars</KEYWORD1>\r
+        <KEYWORD1>edge-pixels</KEYWORD1>\r
+        <KEYWORD1>edit-can-paste</KEYWORD1>\r
+        <KEYWORD1>edit-can-undo</KEYWORD1>\r
+        <KEYWORD1>edit-clear</KEYWORD1>\r
+        <KEYWORD1>edit-copy</KEYWORD1>\r
+        <KEYWORD1>edit-cut</KEYWORD1>\r
+        <KEYWORD1>edit-paste</KEYWORD1>\r
+        <KEYWORD1>edit-undo</KEYWORD1>\r
+        <KEYWORD1>editing</KEYWORD1>\r
+        <KEYWORD1>editor</KEYWORD1>\r
+        <KEYWORD1>editor-backtab</KEYWORD1>\r
+        <KEYWORD1>editor-tab</KEYWORD1>\r
+        <KEYWORD1>else</KEYWORD1>\r
+        <KEYWORD1>empty</KEYWORD1>\r
+        <KEYWORD1>empty-dataset</KEYWORD1>\r
+        <KEYWORD1>empty-temp-table</KEYWORD1>\r
+        <KEYWORD1>enable</KEYWORD1>\r
+        <KEYWORD1>enable-connections</KEYWORD1>\r
+        <KEYWORD1>enabled</KEYWORD1>\r
+        <KEYWORD1>encode</KEYWORD1>\r
+        <KEYWORD1>encoding</KEYWORD1>\r
+        <KEYWORD1>end-file-drop</KEYWORD1>\r
+        <KEYWORD1>end-key</KEYWORD1>\r
+        <KEYWORD1>end-row-resize</KEYWORD1>\r
+        <KEYWORD1>end-user-prompt</KEYWORD1>\r
+        <KEYWORD1>enter-menubar</KEYWORD1>\r
+        <KEYWORD1>entered</KEYWORD1>\r
+        <KEYWORD1>entry-types-list</KEYWORD1>\r
+        <KEYWORD1>eq</KEYWORD1>\r
+        <KEYWORD1>error-column</KEYWORD1>\r
+        <KEYWORD1>error-object-detail</KEYWORD1>\r
+        <KEYWORD1>error-row</KEYWORD1>\r
+        <KEYWORD1>error-status</KEYWORD1>\r
+        <KEYWORD1>error-string</KEYWORD1>\r
+        <KEYWORD1>escape</KEYWORD1>\r
+        <KEYWORD1>etime</KEYWORD1>\r
+        <KEYWORD1>event-procedure</KEYWORD1>\r
+        <KEYWORD1>event-procedure-context</KEYWORD1>\r
+        <KEYWORD1>event-type</KEYWORD1>\r
+        <KEYWORD1>events</KEYWORD1>\r
+        <KEYWORD1>except</KEYWORD1>\r
+        <KEYWORD1>exclusive</KEYWORD1>\r
+        <KEYWORD1>exclusive-id</KEYWORD1>\r
+        <KEYWORD1>exclusive-lock</KEYWORD1>\r
+        <KEYWORD1>exclusive-web-user</KEYWORD1>\r
+        <KEYWORD1>execute</KEYWORD1>\r
+        <KEYWORD1>execution-log</KEYWORD1>\r
+        <KEYWORD1>exists</KEYWORD1>\r
+        <KEYWORD1>exit</KEYWORD1>\r
+        <KEYWORD1>exp</KEYWORD1>\r
+        <KEYWORD1>expand</KEYWORD1>\r
+        <KEYWORD1>expandable</KEYWORD1>\r
+        <KEYWORD1>explicit</KEYWORD1>\r
+        <KEYWORD1>export</KEYWORD1>\r
+        <KEYWORD1>extended</KEYWORD1>\r
+        <KEYWORD1>extent</KEYWORD1>\r
+        <KEYWORD1>external</KEYWORD1>\r
+        <KEYWORD1>extract</KEYWORD1>\r
+        <KEYWORD1>false</KEYWORD1>\r
+        <KEYWORD1>fetch</KEYWORD1>\r
+        <KEYWORD1>fetch-selected-row</KEYWORD1>\r
+        <KEYWORD1>fgcolor</KEYWORD1>\r
+        <KEYWORD1>fields</KEYWORD1>\r
+        <KEYWORD1>file</KEYWORD1>\r
+        <KEYWORD1>file-access-date</KEYWORD1>\r
+        <KEYWORD1>file-access-time</KEYWORD1>\r
+        <KEYWORD1>file-create-date</KEYWORD1>\r
+        <KEYWORD1>file-create-time</KEYWORD1>\r
+        <KEYWORD1>file-information</KEYWORD1>\r
+        <KEYWORD1>file-mod-date</KEYWORD1>\r
+        <KEYWORD1>file-mod-time</KEYWORD1>\r
+        <KEYWORD1>file-name</KEYWORD1>\r
+        <KEYWORD1>file-offset</KEYWORD1>\r
+        <KEYWORD1>file-size</KEYWORD1>\r
+        <KEYWORD1>file-type</KEYWORD1>\r
+        <KEYWORD1>filename</KEYWORD1>\r
+        <KEYWORD1>fill</KEYWORD1>\r
+        <KEYWORD1>fill-in</KEYWORD1>\r
+        <KEYWORD1>fill-mode</KEYWORD1>\r
+        <KEYWORD1>fill-where-string</KEYWORD1>\r
+        <KEYWORD1>filled</KEYWORD1>\r
+        <KEYWORD1>filters</KEYWORD1>\r
+        <KEYWORD1>find</KEYWORD1>\r
+        <KEYWORD1>find-by-rowid</KEYWORD1>\r
+        <KEYWORD1>find-case-sensitive</KEYWORD1>\r
+        <KEYWORD1>find-current</KEYWORD1>\r
+        <KEYWORD1>find-first</KEYWORD1>\r
+        <KEYWORD1>find-global</KEYWORD1>\r
+        <KEYWORD1>find-last</KEYWORD1>\r
+        <KEYWORD1>find-next</KEYWORD1>\r
+        <KEYWORD1>find-next-occurrence</KEYWORD1>\r
+        <KEYWORD1>find-prev-occurrence</KEYWORD1>\r
+        <KEYWORD1>find-previous</KEYWORD1>\r
+        <KEYWORD1>find-select</KEYWORD1>\r
+        <KEYWORD1>find-unique</KEYWORD1>\r
+        <KEYWORD1>find-wrap-around</KEYWORD1>\r
+        <KEYWORD1>finder</KEYWORD1>\r
+        <KEYWORD1>first</KEYWORD1>\r
+        <KEYWORD1>first-async-request</KEYWORD1>\r
+        <KEYWORD1>first-buffer</KEYWORD1>\r
+        <KEYWORD1>first-child</KEYWORD1>\r
+        <KEYWORD1>first-column</KEYWORD1>\r
+        <KEYWORD1>first-data-source</KEYWORD1>\r
+        <KEYWORD1>first-dataset</KEYWORD1>\r
+        <KEYWORD1>first-of</KEYWORD1>\r
+        <KEYWORD1>first-procedure</KEYWORD1>\r
+        <KEYWORD1>first-query</KEYWORD1>\r
+        <KEYWORD1>first-server</KEYWORD1>\r
+        <KEYWORD1>first-server-socket</KEYWORD1>\r
+        <KEYWORD1>first-socket</KEYWORD1>\r
+        <KEYWORD1>first-tab-item</KEYWORD1>\r
+        <KEYWORD1>fit-last-column</KEYWORD1>\r
+        <KEYWORD1>fix-codepage</KEYWORD1>\r
+        <KEYWORD1>fixed-only</KEYWORD1>\r
+        <KEYWORD1>flat-button</KEYWORD1>\r
+        <KEYWORD1>float</KEYWORD1>\r
+        <KEYWORD1>focus</KEYWORD1>\r
+        <KEYWORD1>focus-in</KEYWORD1>\r
+        <KEYWORD1>focused-row</KEYWORD1>\r
+        <KEYWORD1>focused-row-selected</KEYWORD1>\r
+        <KEYWORD1>font</KEYWORD1>\r
+        <KEYWORD1>font-based-layout</KEYWORD1>\r
+        <KEYWORD1>font-table</KEYWORD1>\r
+        <KEYWORD1>for</KEYWORD1>\r
+        <KEYWORD1>force-file</KEYWORD1>\r
+        <KEYWORD1>foreground</KEYWORD1>\r
+        <KEYWORD1>form-input</KEYWORD1>\r
+        <KEYWORD1>format</KEYWORD1>\r
+        <KEYWORD1>forward-only</KEYWORD1>\r
+        <KEYWORD1>forwards</KEYWORD1>\r
+        <KEYWORD1>frame</KEYWORD1>\r
+        <KEYWORD1>frame-col</KEYWORD1>\r
+        <KEYWORD1>frame-db</KEYWORD1>\r
+        <KEYWORD1>frame-down</KEYWORD1>\r
+        <KEYWORD1>frame-field</KEYWORD1>\r
+        <KEYWORD1>frame-file</KEYWORD1>\r
+        <KEYWORD1>frame-index</KEYWORD1>\r
+        <KEYWORD1>frame-line</KEYWORD1>\r
+        <KEYWORD1>frame-name</KEYWORD1>\r
+        <KEYWORD1>frame-row</KEYWORD1>\r
+        <KEYWORD1>frame-spacing</KEYWORD1>\r
+        <KEYWORD1>frame-value</KEYWORD1>\r
+        <KEYWORD1>frame-x</KEYWORD1>\r
+        <KEYWORD1>frame-y</KEYWORD1>\r
+        <KEYWORD1>frequency</KEYWORD1>\r
+        <KEYWORD1>from</KEYWORD1>\r
+        <KEYWORD1>from-chars</KEYWORD1>\r
+        <KEYWORD1>from-current</KEYWORD1>\r
+        <KEYWORD1>from-pixels</KEYWORD1>\r
+        <KEYWORD1>fromnoreorder</KEYWORD1>\r
+        <KEYWORD1>full-height</KEYWORD1>\r
+        <KEYWORD1>full-height-chars</KEYWORD1>\r
+        <KEYWORD1>full-height-pixels</KEYWORD1>\r
+        <KEYWORD1>full-pathname</KEYWORD1>\r
+        <KEYWORD1>full-width-chars</KEYWORD1>\r
+        <KEYWORD1>full-width-pixels</KEYWORD1>\r
+        <KEYWORD1>function</KEYWORD1>\r
+        <KEYWORD1>function-call-type</KEYWORD1>\r
+        <KEYWORD1>gateways</KEYWORD1>\r
+        <KEYWORD1>ge</KEYWORD1>\r
+        <KEYWORD1>generate-md5</KEYWORD1>\r
+        <KEYWORD1>get</KEYWORD1>\r
+        <KEYWORD1>get-attr-call-type</KEYWORD1>\r
+        <KEYWORD1>get-attribute</KEYWORD1>\r
+        <KEYWORD1>get-attribute-node</KEYWORD1>\r
+        <KEYWORD1>get-bits</KEYWORD1>\r
+        <KEYWORD1>get-blue-value</KEYWORD1>\r
+        <KEYWORD1>get-browse-column</KEYWORD1>\r
+        <KEYWORD1>get-buffer-handle</KEYWORD1>\r
+        <KEYWORD1>get-byte</KEYWORD1>\r
+        <KEYWORD1>get-byte-order</KEYWORD1>\r
+        <KEYWORD1>get-bytes</KEYWORD1>\r
+        <KEYWORD1>get-bytes-available</KEYWORD1>\r
+        <KEYWORD1>get-cgi-list</KEYWORD1>\r
+        <KEYWORD1>get-cgi-value</KEYWORD1>\r
+        <KEYWORD1>get-changes</KEYWORD1>\r
+        <KEYWORD1>get-child</KEYWORD1>\r
+        <KEYWORD1>get-child-relation</KEYWORD1>\r
+        <KEYWORD1>get-codepages</KEYWORD1>\r
+        <KEYWORD1>get-collations</KEYWORD1>\r
+        <KEYWORD1>get-config-value</KEYWORD1>\r
+        <KEYWORD1>get-current</KEYWORD1>\r
+        <KEYWORD1>get-dataset-buffer</KEYWORD1>\r
+        <KEYWORD1>get-dir</KEYWORD1>\r
+        <KEYWORD1>get-document-element</KEYWORD1>\r
+        <KEYWORD1>get-double</KEYWORD1>\r
+        <KEYWORD1>get-dropped-file</KEYWORD1>\r
+        <KEYWORD1>get-dynamic</KEYWORD1>\r
+        <KEYWORD1>get-file</KEYWORD1>\r
+        <KEYWORD1>get-first</KEYWORD1>\r
+        <KEYWORD1>get-float</KEYWORD1>\r
+        <KEYWORD1>get-green-value</KEYWORD1>\r
+        <KEYWORD1>get-header-entry</KEYWORD1>\r
+        <KEYWORD1>get-index-by-namespace-name</KEYWORD1>\r
+        <KEYWORD1>get-index-by-qname</KEYWORD1>\r
+        <KEYWORD1>get-iteration</KEYWORD1>\r
+        <KEYWORD1>get-key-value</KEYWORD1>\r
+        <KEYWORD1>get-last</KEYWORD1>\r
+        <KEYWORD1>get-localname-by-index</KEYWORD1>\r
+        <KEYWORD1>get-long</KEYWORD1>\r
+        <KEYWORD1>get-message</KEYWORD1>\r
+        <KEYWORD1>get-next</KEYWORD1>\r
+        <KEYWORD1>get-node</KEYWORD1>\r
+        <KEYWORD1>get-number</KEYWORD1>\r
+        <KEYWORD1>get-parent</KEYWORD1>\r
+        <KEYWORD1>get-pointer-value</KEYWORD1>\r
+        <KEYWORD1>get-prev</KEYWORD1>\r
+        <KEYWORD1>get-printers</KEYWORD1>\r
+        <KEYWORD1>get-qname-by-index</KEYWORD1>\r
+        <KEYWORD1>get-red-value</KEYWORD1>\r
+        <KEYWORD1>get-relation</KEYWORD1>\r
+        <KEYWORD1>get-repositioned-row</KEYWORD1>\r
+        <KEYWORD1>get-rgb-value</KEYWORD1>\r
+        <KEYWORD1>get-selected-widget</KEYWORD1>\r
+        <KEYWORD1>get-serialized</KEYWORD1>\r
+        <KEYWORD1>get-short</KEYWORD1>\r
+        <KEYWORD1>get-signature</KEYWORD1>\r
+        <KEYWORD1>get-size</KEYWORD1>\r
+        <KEYWORD1>get-socket-option</KEYWORD1>\r
+        <KEYWORD1>get-source-buffer</KEYWORD1>\r
+        <KEYWORD1>get-string</KEYWORD1>\r
+        <KEYWORD1>get-tab-item</KEYWORD1>\r
+        <KEYWORD1>get-text-height</KEYWORD1>\r
+        <KEYWORD1>get-text-height-chars</KEYWORD1>\r
+        <KEYWORD1>get-text-height-pixels</KEYWORD1>\r
+        <KEYWORD1>get-text-width</KEYWORD1>\r
+        <KEYWORD1>get-text-width-chars</KEYWORD1>\r
+        <KEYWORD1>get-text-width-pixels</KEYWORD1>\r
+        <KEYWORD1>get-top-buffer</KEYWORD1>\r
+        <KEYWORD1>get-type-by-index</KEYWORD1>\r
+        <KEYWORD1>get-type-by-namespace-name</KEYWORD1>\r
+        <KEYWORD1>get-type-by-qname</KEYWORD1>\r
+        <KEYWORD1>get-unsigned-short</KEYWORD1>\r
+        <KEYWORD1>get-uri-by-index</KEYWORD1>\r
+        <KEYWORD1>get-value-by-index</KEYWORD1>\r
+        <KEYWORD1>get-value-by-namespace-name</KEYWORD1>\r
+        <KEYWORD1>get-value-by-qname</KEYWORD1>\r
+        <KEYWORD1>get-wait-state</KEYWORD1>\r
+        <KEYWORD1>getbyte</KEYWORD1>\r
+        <KEYWORD1>global</KEYWORD1>\r
+        <KEYWORD1>go-on</KEYWORD1>\r
+        <KEYWORD1>go-pending</KEYWORD1>\r
+        <KEYWORD1>goto</KEYWORD1>\r
+        <KEYWORD1>grant</KEYWORD1>\r
+        <KEYWORD1>graphic-edge</KEYWORD1>\r
+        <KEYWORD1>grayed</KEYWORD1>\r
+        <KEYWORD1>grid-factor-horizontal</KEYWORD1>\r
+        <KEYWORD1>grid-factor-vertical</KEYWORD1>\r
+        <KEYWORD1>grid-set</KEYWORD1>\r
+        <KEYWORD1>grid-snap</KEYWORD1>\r
+        <KEYWORD1>grid-unit-height</KEYWORD1>\r
+        <KEYWORD1>grid-unit-height-chars</KEYWORD1>\r
+        <KEYWORD1>grid-unit-height-pixels</KEYWORD1>\r
+        <KEYWORD1>grid-unit-width</KEYWORD1>\r
+        <KEYWORD1>grid-unit-width-chars</KEYWORD1>\r
+        <KEYWORD1>grid-unit-width-pixels</KEYWORD1>\r
+        <KEYWORD1>grid-visible</KEYWORD1>\r
+        <KEYWORD1>group</KEYWORD1>\r
+        <KEYWORD1>gt</KEYWORD1>\r
+        <KEYWORD1>handle</KEYWORD1>\r
+        <KEYWORD1>handler</KEYWORD1>\r
+        <KEYWORD1>has-lobs</KEYWORD1>\r
+        <KEYWORD1>has-records</KEYWORD1>\r
+        <KEYWORD1>having</KEYWORD1>\r
+        <KEYWORD1>header</KEYWORD1>\r
+        <KEYWORD1>height</KEYWORD1>\r
+        <KEYWORD1>height-chars</KEYWORD1>\r
+        <KEYWORD1>height-pixels</KEYWORD1>\r
+        <KEYWORD1>help-context</KEYWORD1>\r
+        <KEYWORD1>help-topic</KEYWORD1>\r
+        <KEYWORD1>helpfile-name</KEYWORD1>\r
+        <KEYWORD1>hidden</KEYWORD1>\r
+        <KEYWORD1>hide</KEYWORD1>\r
+        <KEYWORD1>hint</KEYWORD1>\r
+        <KEYWORD1>horiz-end</KEYWORD1>\r
+        <KEYWORD1>horiz-home</KEYWORD1>\r
+        <KEYWORD1>horiz-scroll-drag</KEYWORD1>\r
+        <KEYWORD1>horizontal</KEYWORD1>\r
+        <KEYWORD1>host-byte-order</KEYWORD1>\r
+        <KEYWORD1>html-charset</KEYWORD1>\r
+        <KEYWORD1>html-end-of-line</KEYWORD1>\r
+        <KEYWORD1>html-end-of-page</KEYWORD1>\r
+        <KEYWORD1>html-frame-begin</KEYWORD1>\r
+        <KEYWORD1>html-frame-end</KEYWORD1>\r
+        <KEYWORD1>html-header-begin</KEYWORD1>\r
+        <KEYWORD1>html-header-end</KEYWORD1>\r
+        <KEYWORD1>html-title-begin</KEYWORD1>\r
+        <KEYWORD1>html-title-end</KEYWORD1>\r
+        <KEYWORD1>hwnd</KEYWORD1>\r
+        <KEYWORD1>icfparameter</KEYWORD1>\r
+        <KEYWORD1>icon</KEYWORD1>\r
+        <KEYWORD1>if</KEYWORD1>\r
+        <KEYWORD1>ignore-current-modified</KEYWORD1>\r
+        <KEYWORD1>image</KEYWORD1>\r
+        <KEYWORD1>image-down</KEYWORD1>\r
+        <KEYWORD1>image-insensitive</KEYWORD1>\r
+        <KEYWORD1>image-size</KEYWORD1>\r
+        <KEYWORD1>image-size-chars</KEYWORD1>\r
+        <KEYWORD1>image-size-pixels</KEYWORD1>\r
+        <KEYWORD1>image-up</KEYWORD1>\r
+        <KEYWORD1>immediate-display</KEYWORD1>\r
+        <KEYWORD1>import</KEYWORD1>\r
+        <KEYWORD1>import-node</KEYWORD1>\r
+        <KEYWORD1>in</KEYWORD1>\r
+        <KEYWORD1>in-handle</KEYWORD1>\r
+        <KEYWORD1>increment-exclusive-id</KEYWORD1>\r
+        <KEYWORD1>index</KEYWORD1>\r
+        <KEYWORD1>index-hint</KEYWORD1>\r
+        <KEYWORD1>index-information</KEYWORD1>\r
+        <KEYWORD1>indexed-reposition</KEYWORD1>\r
+        <KEYWORD1>indicator</KEYWORD1>\r
+        <KEYWORD1>information</KEYWORD1>\r
+        <KEYWORD1>init</KEYWORD1>\r
+        <KEYWORD1>initial</KEYWORD1>\r
+        <KEYWORD1>initial-dir</KEYWORD1>\r
+        <KEYWORD1>initial-filter</KEYWORD1>\r
+        <KEYWORD1>initialize-document-type</KEYWORD1>\r
+        <KEYWORD1>initiate</KEYWORD1>\r
+        <KEYWORD1>inner</KEYWORD1>\r
+        <KEYWORD1>inner-chars</KEYWORD1>\r
+        <KEYWORD1>inner-lines</KEYWORD1>\r
+        <KEYWORD1>input</KEYWORD1>\r
+        <KEYWORD1>input-output</KEYWORD1>\r
+        <KEYWORD1>input-value</KEYWORD1>\r
+        <KEYWORD1>insert</KEYWORD1>\r
+        <KEYWORD1>insert-backtab</KEYWORD1>\r
+        <KEYWORD1>insert-before</KEYWORD1>\r
+        <KEYWORD1>insert-column</KEYWORD1>\r
+        <KEYWORD1>insert-field</KEYWORD1>\r
+        <KEYWORD1>insert-field-data</KEYWORD1>\r
+        <KEYWORD1>insert-field-label</KEYWORD1>\r
+        <KEYWORD1>insert-file</KEYWORD1>\r
+        <KEYWORD1>insert-mode</KEYWORD1>\r
+        <KEYWORD1>insert-row</KEYWORD1>\r
+        <KEYWORD1>insert-string</KEYWORD1>\r
+        <KEYWORD1>insert-tab</KEYWORD1>\r
+        <KEYWORD1>instantiating-procedure</KEYWORD1>\r
+        <KEYWORD1>integer</KEYWORD1>\r
+        <KEYWORD1>internal-entries</KEYWORD1>\r
+        <KEYWORD1>interval</KEYWORD1>\r
+        <KEYWORD1>into</KEYWORD1>\r
+        <KEYWORD1>invoke</KEYWORD1>\r
+        <KEYWORD1>is</KEYWORD1>\r
+        <KEYWORD1>is-attr-space</KEYWORD1>\r
+        <KEYWORD1>is-codepage-fixed</KEYWORD1>\r
+        <KEYWORD1>is-column-codepage</KEYWORD1>\r
+        <KEYWORD1>is-lead-byte</KEYWORD1>\r
+        <KEYWORD1>is-open</KEYWORD1>\r
+        <KEYWORD1>is-parameter-set</KEYWORD1>\r
+        <KEYWORD1>is-row-selected</KEYWORD1>\r
+        <KEYWORD1>is-selected</KEYWORD1>\r
+        <KEYWORD1>is-xml</KEYWORD1>\r
+        <KEYWORD1>iso-date</KEYWORD1>\r
+        <KEYWORD1>item</KEYWORD1>\r
+        <KEYWORD1>items-per-row</KEYWORD1>\r
+        <KEYWORD1>iteration-changed</KEYWORD1>\r
+        <KEYWORD1>join</KEYWORD1>\r
+        <KEYWORD1>join-by-sqldb</KEYWORD1>\r
+        <KEYWORD1>kblabel</KEYWORD1>\r
+        <KEYWORD1>keep-connection-open</KEYWORD1>\r
+        <KEYWORD1>keep-frame-z-order</KEYWORD1>\r
+        <KEYWORD1>keep-messages</KEYWORD1>\r
+        <KEYWORD1>keep-security-cache</KEYWORD1>\r
+        <KEYWORD1>keep-tab-order</KEYWORD1>\r
+        <KEYWORD1>key</KEYWORD1>\r
+        <KEYWORD1>key-code</KEYWORD1>\r
+        <KEYWORD1>key-function</KEYWORD1>\r
+        <KEYWORD1>key-label</KEYWORD1>\r
+        <KEYWORD1>keycode</KEYWORD1>\r
+        <KEYWORD1>keyfunction</KEYWORD1>\r
+        <KEYWORD1>keylabel</KEYWORD1>\r
+        <KEYWORD1>keys</KEYWORD1>\r
+        <KEYWORD1>keyword</KEYWORD1>\r
+        <KEYWORD1>keyword-all</KEYWORD1>\r
+        <KEYWORD1>label</KEYWORD1>\r
+        <KEYWORD1>label-bgcolor</KEYWORD1>\r
+        <KEYWORD1>label-dcolor</KEYWORD1>\r
+        <KEYWORD1>label-fgcolor</KEYWORD1>\r
+        <KEYWORD1>label-font</KEYWORD1>\r
+        <KEYWORD1>label-pfcolor</KEYWORD1>\r
+        <KEYWORD1>labels</KEYWORD1>\r
+        <KEYWORD1>landscape</KEYWORD1>\r
+        <KEYWORD1>languages</KEYWORD1>\r
+        <KEYWORD1>large</KEYWORD1>\r
+        <KEYWORD1>large-to-small</KEYWORD1>\r
+        <KEYWORD1>last</KEYWORD1>\r
+        <KEYWORD1>last-async-request</KEYWORD1>\r
+        <KEYWORD1>last-child</KEYWORD1>\r
+        <KEYWORD1>last-event</KEYWORD1>\r
+        <KEYWORD1>last-key</KEYWORD1>\r
+        <KEYWORD1>last-of</KEYWORD1>\r
+        <KEYWORD1>last-procedure</KEYWORD1>\r
+        <KEYWORD1>last-server</KEYWORD1>\r
+        <KEYWORD1>last-server-socket</KEYWORD1>\r
+        <KEYWORD1>last-socket</KEYWORD1>\r
+        <KEYWORD1>last-tab-item</KEYWORD1>\r
+        <KEYWORD1>lastkey</KEYWORD1>\r
+        <KEYWORD1>lc</KEYWORD1>\r
+        <KEYWORD1>ldbname</KEYWORD1>\r
+        <KEYWORD1>le</KEYWORD1>\r
+        <KEYWORD1>leading</KEYWORD1>\r
+        <KEYWORD1>left</KEYWORD1>\r
+        <KEYWORD1>left-aligned</KEYWORD1>\r
+        <KEYWORD1>left-end</KEYWORD1>\r
+        <KEYWORD1>left-trim</KEYWORD1>\r
+        <KEYWORD1>length</KEYWORD1>\r
+        <KEYWORD1>library</KEYWORD1>\r
+        <KEYWORD1>like</KEYWORD1>\r
+        <KEYWORD1>line</KEYWORD1>\r
+        <KEYWORD1>line-counter</KEYWORD1>\r
+        <KEYWORD1>line-down</KEYWORD1>\r
+        <KEYWORD1>line-left</KEYWORD1>\r
+        <KEYWORD1>line-right</KEYWORD1>\r
+        <KEYWORD1>line-up</KEYWORD1>\r
+        <KEYWORD1>list-events</KEYWORD1>\r
+        <KEYWORD1>list-item-pairs</KEYWORD1>\r
+        <KEYWORD1>list-items</KEYWORD1>\r
+        <KEYWORD1>list-query-attrs</KEYWORD1>\r
+        <KEYWORD1>list-set-attrs</KEYWORD1>\r
+        <KEYWORD1>list-widgets</KEYWORD1>\r
+        <KEYWORD1>listing</KEYWORD1>\r
+        <KEYWORD1>listings</KEYWORD1>\r
+        <KEYWORD1>literal-question</KEYWORD1>\r
+        <KEYWORD1>little-endian</KEYWORD1>\r
+        <KEYWORD1>load</KEYWORD1>\r
+        <KEYWORD1>load-from</KEYWORD1>\r
+        <KEYWORD1>load-icon</KEYWORD1>\r
+        <KEYWORD1>load-image</KEYWORD1>\r
+        <KEYWORD1>load-image-down</KEYWORD1>\r
+        <KEYWORD1>load-image-insensitive</KEYWORD1>\r
+        <KEYWORD1>load-image-up</KEYWORD1>\r
+        <KEYWORD1>load-mouse-pointer</KEYWORD1>\r
+        <KEYWORD1>load-picture</KEYWORD1>\r
+        <KEYWORD1>load-small-icon</KEYWORD1>\r
+        <KEYWORD1>lob-dir</KEYWORD1>\r
+        <KEYWORD1>local-host</KEYWORD1>\r
+        <KEYWORD1>local-name</KEYWORD1>\r
+        <KEYWORD1>local-port</KEYWORD1>\r
+        <KEYWORD1>locator-column-number</KEYWORD1>\r
+        <KEYWORD1>locator-line-number</KEYWORD1>\r
+        <KEYWORD1>locator-public-id</KEYWORD1>\r
+        <KEYWORD1>locator-system-id</KEYWORD1>\r
+        <KEYWORD1>locator-type</KEYWORD1>\r
+        <KEYWORD1>locked</KEYWORD1>\r
+        <KEYWORD1>log</KEYWORD1>\r
+        <KEYWORD1>log-entry-types</KEYWORD1>\r
+        <KEYWORD1>log-id</KEYWORD1>\r
+        <KEYWORD1>log-manager</KEYWORD1>\r
+        <KEYWORD1>log-threshold</KEYWORD1>\r
+        <KEYWORD1>logfile-name</KEYWORD1>\r
+        <KEYWORD1>logging-level</KEYWORD1>\r
+        <KEYWORD1>logical</KEYWORD1>\r
+        <KEYWORD1>long</KEYWORD1>\r
+        <KEYWORD1>longchar</KEYWORD1>\r
+        <KEYWORD1>longchar-to-node-value</KEYWORD1>\r
+        <KEYWORD1>lookahead</KEYWORD1>\r
+        <KEYWORD1>lookup</KEYWORD1>\r
+        <KEYWORD1>lower</KEYWORD1>\r
+        <KEYWORD1>lt</KEYWORD1>\r
+        <KEYWORD1>machine-class</KEYWORD1>\r
+        <KEYWORD1>main-menu</KEYWORD1>\r
+        <KEYWORD1>mandatory</KEYWORD1>\r
+        <KEYWORD1>manual-highlight</KEYWORD1>\r
+        <KEYWORD1>map</KEYWORD1>\r
+        <KEYWORD1>margin-extra</KEYWORD1>\r
+        <KEYWORD1>margin-height</KEYWORD1>\r
+        <KEYWORD1>margin-height-chars</KEYWORD1>\r
+        <KEYWORD1>margin-height-pixels</KEYWORD1>\r
+        <KEYWORD1>margin-width</KEYWORD1>\r
+        <KEYWORD1>margin-width-chars</KEYWORD1>\r
+        <KEYWORD1>margin-width-pixels</KEYWORD1>\r
+        <KEYWORD1>matches</KEYWORD1>\r
+        <KEYWORD1>max</KEYWORD1>\r
+        <KEYWORD1>max-button</KEYWORD1>\r
+        <KEYWORD1>max-chars</KEYWORD1>\r
+        <KEYWORD1>max-data-guess</KEYWORD1>\r
+        <KEYWORD1>max-height</KEYWORD1>\r
+        <KEYWORD1>max-height-chars</KEYWORD1>\r
+        <KEYWORD1>max-height-pixels</KEYWORD1>\r
+        <KEYWORD1>max-rows</KEYWORD1>\r
+        <KEYWORD1>max-size</KEYWORD1>\r
+        <KEYWORD1>max-value</KEYWORD1>\r
+        <KEYWORD1>max-width</KEYWORD1>\r
+        <KEYWORD1>max-width-chars</KEYWORD1>\r
+        <KEYWORD1>max-width-pixels</KEYWORD1>\r
+        <KEYWORD1>maximize</KEYWORD1>\r
+        <KEYWORD1>maximum</KEYWORD1>\r
+        <KEYWORD1>md5-value</KEYWORD1>\r
+        <KEYWORD1>member</KEYWORD1>\r
+        <KEYWORD1>memptr</KEYWORD1>\r
+        <KEYWORD1>memptr-to-node-value</KEYWORD1>\r
+        <KEYWORD1>menu</KEYWORD1>\r
+        <KEYWORD1>menu-bar</KEYWORD1>\r
+        <KEYWORD1>menu-item</KEYWORD1>\r
+        <KEYWORD1>menu-key</KEYWORD1>\r
+        <KEYWORD1>menu-mouse</KEYWORD1>\r
+        <KEYWORD1>menubar</KEYWORD1>\r
+        <KEYWORD1>merge-changes</KEYWORD1>\r
+        <KEYWORD1>merge-row-changes</KEYWORD1>\r
+        <KEYWORD1>message</KEYWORD1>\r
+        <KEYWORD1>message-area</KEYWORD1>\r
+        <KEYWORD1>message-area-font</KEYWORD1>\r
+        <KEYWORD1>message-line</KEYWORD1>\r
+        <KEYWORD1>message-lines</KEYWORD1>\r
+        <KEYWORD1>min-button</KEYWORD1>\r
+        <KEYWORD1>min-column-width-chars</KEYWORD1>\r
+        <KEYWORD1>min-column-width-pixels</KEYWORD1>\r
+        <KEYWORD1>min-height</KEYWORD1>\r
+        <KEYWORD1>min-height-chars</KEYWORD1>\r
+        <KEYWORD1>min-height-pixels</KEYWORD1>\r
+        <KEYWORD1>min-row-height</KEYWORD1>\r
+        <KEYWORD1>min-row-height-chars</KEYWORD1>\r
+        <KEYWORD1>min-row-height-pixels</KEYWORD1>\r
+        <KEYWORD1>min-schema-marshall</KEYWORD1>\r
+        <KEYWORD1>min-size</KEYWORD1>\r
+        <KEYWORD1>min-value</KEYWORD1>\r
+        <KEYWORD1>min-width</KEYWORD1>\r
+        <KEYWORD1>min-width-chars</KEYWORD1>\r
+        <KEYWORD1>min-width-pixels</KEYWORD1>\r
+        <KEYWORD1>minimum</KEYWORD1>\r
+        <KEYWORD1>mod</KEYWORD1>\r
+        <KEYWORD1>modified</KEYWORD1>\r
+        <KEYWORD1>modulo</KEYWORD1>\r
+        <KEYWORD1>month</KEYWORD1>\r
+        <KEYWORD1>mouse</KEYWORD1>\r
+        <KEYWORD1>mouse-pointer</KEYWORD1>\r
+        <KEYWORD1>movable</KEYWORD1>\r
+        <KEYWORD1>move</KEYWORD1>\r
+        <KEYWORD1>move-after-tab-item</KEYWORD1>\r
+        <KEYWORD1>move-before-tab-item</KEYWORD1>\r
+        <KEYWORD1>move-column</KEYWORD1>\r
+        <KEYWORD1>move-to-bottom</KEYWORD1>\r
+        <KEYWORD1>move-to-eof</KEYWORD1>\r
+        <KEYWORD1>move-to-top</KEYWORD1>\r
+        <KEYWORD1>mpe</KEYWORD1>\r
+        <KEYWORD1>mtime</KEYWORD1>\r
+        <KEYWORD1>multiple</KEYWORD1>\r
+        <KEYWORD1>multiple-key</KEYWORD1>\r
+        <KEYWORD1>multitasking-interval</KEYWORD1>\r
+        <KEYWORD1>must-exist</KEYWORD1>\r
+        <KEYWORD1>must-understand</KEYWORD1>\r
+        <KEYWORD1>name</KEYWORD1>\r
+        <KEYWORD1>namespace-prefix</KEYWORD1>\r
+        <KEYWORD1>namespace-uri</KEYWORD1>\r
+        <KEYWORD1>native</KEYWORD1>\r
+        <KEYWORD1>ne</KEYWORD1>\r
+        <KEYWORD1>needs-appserver-prompt</KEYWORD1>\r
+        <KEYWORD1>needs-prompt</KEYWORD1>\r
+        <KEYWORD1>nested</KEYWORD1>\r
+        <KEYWORD1>new</KEYWORD1>\r
+        <KEYWORD1>new-line</KEYWORD1>\r
+        <KEYWORD1>new-row</KEYWORD1>\r
+        <KEYWORD1>next</KEYWORD1>\r
+        <KEYWORD1>next-column</KEYWORD1>\r
+        <KEYWORD1>next-error</KEYWORD1>\r
+        <KEYWORD1>next-frame</KEYWORD1>\r
+        <KEYWORD1>next-prompt</KEYWORD1>\r
+        <KEYWORD1>next-sibling</KEYWORD1>\r
+        <KEYWORD1>next-tab-item</KEYWORD1>\r
+        <KEYWORD1>next-value</KEYWORD1>\r
+        <KEYWORD1>next-word</KEYWORD1>\r
+        <KEYWORD1>no</KEYWORD1>\r
+        <KEYWORD1>no-apply</KEYWORD1>\r
+        <KEYWORD1>no-array-message</KEYWORD1>\r
+        <KEYWORD1>no-assign</KEYWORD1>\r
+        <KEYWORD1>no-attr</KEYWORD1>\r
+        <KEYWORD1>no-attr-list</KEYWORD1>\r
+        <KEYWORD1>no-attr-space</KEYWORD1>\r
+        <KEYWORD1>no-auto-validate</KEYWORD1>\r
+        <KEYWORD1>no-bind-where</KEYWORD1>\r
+        <KEYWORD1>no-box</KEYWORD1>\r
+        <KEYWORD1>no-column-scrolling</KEYWORD1>\r
+        <KEYWORD1>no-console</KEYWORD1>\r
+        <KEYWORD1>no-convert</KEYWORD1>\r
+        <KEYWORD1>no-convert-3d-colors</KEYWORD1>\r
+        <KEYWORD1>no-current-value</KEYWORD1>\r
+        <KEYWORD1>no-debug</KEYWORD1>\r
+        <KEYWORD1>no-drag</KEYWORD1>\r
+        <KEYWORD1>no-echo</KEYWORD1>\r
+        <KEYWORD1>no-empty-space</KEYWORD1>\r
+        <KEYWORD1>no-error</KEYWORD1>\r
+        <KEYWORD1>no-fill</KEYWORD1>\r
+        <KEYWORD1>no-focus</KEYWORD1>\r
+        <KEYWORD1>no-help</KEYWORD1>\r
+        <KEYWORD1>no-hide</KEYWORD1>\r
+        <KEYWORD1>no-index-hint</KEYWORD1>\r
+        <KEYWORD1>no-join-by-sqldb</KEYWORD1>\r
+        <KEYWORD1>no-labels</KEYWORD1>\r
+        <KEYWORD1>no-lobs</KEYWORD1>\r
+        <KEYWORD1>no-lock</KEYWORD1>\r
+        <KEYWORD1>no-lookahead</KEYWORD1>\r
+        <KEYWORD1>no-map</KEYWORD1>\r
+        <KEYWORD1>no-message</KEYWORD1>\r
+        <KEYWORD1>no-pause</KEYWORD1>\r
+        <KEYWORD1>no-prefetch</KEYWORD1>\r
+        <KEYWORD1>no-return-value</KEYWORD1>\r
+        <KEYWORD1>no-row-markers</KEYWORD1>\r
+        <KEYWORD1>no-schema-marshall</KEYWORD1>\r
+        <KEYWORD1>no-scrollbar-vertical</KEYWORD1>\r
+        <KEYWORD1>no-scrolling</KEYWORD1>\r
+        <KEYWORD1>no-separate-connection</KEYWORD1>\r
+        <KEYWORD1>no-separators</KEYWORD1>\r
+        <KEYWORD1>no-tab-stop</KEYWORD1>\r
+        <KEYWORD1>no-underline</KEYWORD1>\r
+        <KEYWORD1>no-undo</KEYWORD1>\r
+        <KEYWORD1>no-validate</KEYWORD1>\r
+        <KEYWORD1>no-wait</KEYWORD1>\r
+        <KEYWORD1>no-word-wrap</KEYWORD1>\r
+        <KEYWORD1>node-type</KEYWORD1>\r
+        <KEYWORD1>node-value</KEYWORD1>\r
+        <KEYWORD1>node-value-to-longchar</KEYWORD1>\r
+        <KEYWORD1>node-value-to-memptr</KEYWORD1>\r
+        <KEYWORD1>none</KEYWORD1>\r
+        <KEYWORD1>normalize</KEYWORD1>\r
+        <KEYWORD1>not</KEYWORD1>\r
+        <KEYWORD1>now</KEYWORD1>\r
+        <KEYWORD1>null</KEYWORD1>\r
+        <KEYWORD1>num-aliases</KEYWORD1>\r
+        <KEYWORD1>num-buffers</KEYWORD1>\r
+        <KEYWORD1>num-buttons</KEYWORD1>\r
+        <KEYWORD1>num-child-relations</KEYWORD1>\r
+        <KEYWORD1>num-children</KEYWORD1>\r
+        <KEYWORD1>num-columns</KEYWORD1>\r
+        <KEYWORD1>num-copies</KEYWORD1>\r
+        <KEYWORD1>num-dbs</KEYWORD1>\r
+        <KEYWORD1>num-dropped-files</KEYWORD1>\r
+        <KEYWORD1>num-entries</KEYWORD1>\r
+        <KEYWORD1>num-fields</KEYWORD1>\r
+        <KEYWORD1>num-formats</KEYWORD1>\r
+        <KEYWORD1>num-header-entries</KEYWORD1>\r
+        <KEYWORD1>num-items</KEYWORD1>\r
+        <KEYWORD1>num-iterations</KEYWORD1>\r
+        <KEYWORD1>num-lines</KEYWORD1>\r
+        <KEYWORD1>num-locked-columns</KEYWORD1>\r
+        <KEYWORD1>num-log-files</KEYWORD1>\r
+        <KEYWORD1>num-messages</KEYWORD1>\r
+        <KEYWORD1>num-parameters</KEYWORD1>\r
+        <KEYWORD1>num-relations</KEYWORD1>\r
+        <KEYWORD1>num-replaced</KEYWORD1>\r
+        <KEYWORD1>num-results</KEYWORD1>\r
+        <KEYWORD1>num-selected</KEYWORD1>\r
+        <KEYWORD1>num-selected-rows</KEYWORD1>\r
+        <KEYWORD1>num-selected-widgets</KEYWORD1>\r
+        <KEYWORD1>num-source-buffers</KEYWORD1>\r
+        <KEYWORD1>num-tabs</KEYWORD1>\r
+        <KEYWORD1>num-to-retain</KEYWORD1>\r
+        <KEYWORD1>num-top-buffers</KEYWORD1>\r
+        <KEYWORD1>num-visible-columns</KEYWORD1>\r
+        <KEYWORD1>numeric</KEYWORD1>\r
+        <KEYWORD1>numeric-decimal-point</KEYWORD1>\r
+        <KEYWORD1>numeric-format</KEYWORD1>\r
+        <KEYWORD1>numeric-separator</KEYWORD1>\r
+        <KEYWORD1>object</KEYWORD1>\r
+        <KEYWORD1>octet_length</KEYWORD1>\r
+        <KEYWORD1>of</KEYWORD1>\r
+        <KEYWORD1>off</KEYWORD1>\r
+        <KEYWORD1>ok</KEYWORD1>\r
+        <KEYWORD1>ok-cancel</KEYWORD1>\r
+        <KEYWORD1>old</KEYWORD1>\r
+        <KEYWORD1>ole-invoke-locale</KEYWORD1>\r
+        <KEYWORD1>ole-names-locale</KEYWORD1>\r
+        <KEYWORD1>on</KEYWORD1>\r
+        <KEYWORD1>on-frame-border</KEYWORD1>\r
+        <KEYWORD1>open</KEYWORD1>\r
+        <KEYWORD1>open-line-above</KEYWORD1>\r
+        <KEYWORD1>opsys</KEYWORD1>\r
+        <KEYWORD1>option</KEYWORD1>\r
+        <KEYWORD1>options</KEYWORD1>\r
+        <KEYWORD1>or</KEYWORD1>\r
+        <KEYWORD1>ordered-join</KEYWORD1>\r
+        <KEYWORD1>ordinal</KEYWORD1>\r
+        <KEYWORD1>orientation</KEYWORD1>\r
+        <KEYWORD1>origin-handle</KEYWORD1>\r
+        <KEYWORD1>origin-rowid</KEYWORD1>\r
+        <KEYWORD1>os-append</KEYWORD1>\r
+        <KEYWORD1>os-command</KEYWORD1>\r
+        <KEYWORD1>os-copy</KEYWORD1>\r
+        <KEYWORD1>os-create-dir</KEYWORD1>\r
+        <KEYWORD1>os-delete</KEYWORD1>\r
+        <KEYWORD1>os-dir</KEYWORD1>\r
+        <KEYWORD1>os-drives</KEYWORD1>\r
+        <KEYWORD1>os-error</KEYWORD1>\r
+        <KEYWORD1>os-getenv</KEYWORD1>\r
+        <KEYWORD1>os-rename</KEYWORD1>\r
+        <KEYWORD1>os2</KEYWORD1>\r
+        <KEYWORD1>os400</KEYWORD1>\r
+        <KEYWORD1>otherwise</KEYWORD1>\r
+        <KEYWORD1>out-of-data</KEYWORD1>\r
+        <KEYWORD1>outer</KEYWORD1>\r
+        <KEYWORD1>outer-join</KEYWORD1>\r
+        <KEYWORD1>output</KEYWORD1>\r
+        <KEYWORD1>overlay</KEYWORD1>\r
+        <KEYWORD1>override</KEYWORD1>\r
+        <KEYWORD1>owner</KEYWORD1>\r
+        <KEYWORD1>owner-document</KEYWORD1>\r
+        <KEYWORD1>page</KEYWORD1>\r
+        <KEYWORD1>page-bottom</KEYWORD1>\r
+        <KEYWORD1>page-down</KEYWORD1>\r
+        <KEYWORD1>page-left</KEYWORD1>\r
+        <KEYWORD1>page-number</KEYWORD1>\r
+        <KEYWORD1>page-right</KEYWORD1>\r
+        <KEYWORD1>page-right-text</KEYWORD1>\r
+        <KEYWORD1>page-size</KEYWORD1>\r
+        <KEYWORD1>page-top</KEYWORD1>\r
+        <KEYWORD1>page-up</KEYWORD1>\r
+        <KEYWORD1>page-width</KEYWORD1>\r
+        <KEYWORD1>paged</KEYWORD1>\r
+        <KEYWORD1>parameter</KEYWORD1>\r
+        <KEYWORD1>parent</KEYWORD1>\r
+        <KEYWORD1>parent-buffer</KEYWORD1>\r
+        <KEYWORD1>parent-relation</KEYWORD1>\r
+        <KEYWORD1>parse-status</KEYWORD1>\r
+        <KEYWORD1>partial-key</KEYWORD1>\r
+        <KEYWORD1>pascal</KEYWORD1>\r
+        <KEYWORD1>password-field</KEYWORD1>\r
+        <KEYWORD1>paste</KEYWORD1>\r
+        <KEYWORD1>pathname</KEYWORD1>\r
+        <KEYWORD1>pause</KEYWORD1>\r
+        <KEYWORD1>pdbname</KEYWORD1>\r
+        <KEYWORD1>performance</KEYWORD1>\r
+        <KEYWORD1>persistent</KEYWORD1>\r
+        <KEYWORD1>persistent-cache-disabled</KEYWORD1>\r
+        <KEYWORD1>persistent-procedure</KEYWORD1>\r
+        <KEYWORD1>pfcolor</KEYWORD1>\r
+        <KEYWORD1>pick</KEYWORD1>\r
+        <KEYWORD1>pick-area</KEYWORD1>\r
+        <KEYWORD1>pick-both</KEYWORD1>\r
+        <KEYWORD1>pixels</KEYWORD1>\r
+        <KEYWORD1>pixels-per-column</KEYWORD1>\r
+        <KEYWORD1>pixels-per-row</KEYWORD1>\r
+        <KEYWORD1>popup-menu</KEYWORD1>\r
+        <KEYWORD1>popup-only</KEYWORD1>\r
+        <KEYWORD1>portrait</KEYWORD1>\r
+        <KEYWORD1>position</KEYWORD1>\r
+        <KEYWORD1>precision</KEYWORD1>\r
+        <KEYWORD1>prepare-string</KEYWORD1>\r
+        <KEYWORD1>prepared</KEYWORD1>\r
+        <KEYWORD1>preprocess</KEYWORD1>\r
+        <KEYWORD1>preselect</KEYWORD1>\r
+        <KEYWORD1>prev</KEYWORD1>\r
+        <KEYWORD1>prev-column</KEYWORD1>\r
+        <KEYWORD1>prev-frame</KEYWORD1>\r
+        <KEYWORD1>prev-sibling</KEYWORD1>\r
+        <KEYWORD1>prev-tab-item</KEYWORD1>\r
+        <KEYWORD1>prev-word</KEYWORD1>\r
+        <KEYWORD1>primary</KEYWORD1>\r
+        <KEYWORD1>printer</KEYWORD1>\r
+        <KEYWORD1>printer-control-handle</KEYWORD1>\r
+        <KEYWORD1>printer-hdc</KEYWORD1>\r
+        <KEYWORD1>printer-name</KEYWORD1>\r
+        <KEYWORD1>printer-port</KEYWORD1>\r
+        <KEYWORD1>printer-setup</KEYWORD1>\r
+        <KEYWORD1>private</KEYWORD1>\r
+        <KEYWORD1>private-data</KEYWORD1>\r
+        <KEYWORD1>privileges</KEYWORD1>\r
+        <KEYWORD1>proc-handle</KEYWORD1>\r
+        <KEYWORD1>proc-status</KEYWORD1>\r
+        <KEYWORD1>procedure</KEYWORD1>\r
+        <KEYWORD1>procedure-call-type</KEYWORD1>\r
+        <KEYWORD1>procedure-name</KEYWORD1>\r
+        <KEYWORD1>process</KEYWORD1>\r
+        <KEYWORD1>profile-file</KEYWORD1>\r
+        <KEYWORD1>profiler</KEYWORD1>\r
+        <KEYWORD1>profiling</KEYWORD1>\r
+        <KEYWORD1>program-name</KEYWORD1>\r
+        <KEYWORD1>progress</KEYWORD1>\r
+        <KEYWORD1>progress-source</KEYWORD1>\r
+        <KEYWORD1>prompt</KEYWORD1>\r
+        <KEYWORD1>prompt-for</KEYWORD1>\r
+        <KEYWORD1>promsgs</KEYWORD1>\r
+        <KEYWORD1>propath</KEYWORD1>\r
+        <KEYWORD1>proversion</KEYWORD1>\r
+        <KEYWORD1>proxy</KEYWORD1>\r
+        <KEYWORD1>proxy-password</KEYWORD1>\r
+        <KEYWORD1>proxy-userid</KEYWORD1>\r
+        <KEYWORD1>public-id</KEYWORD1>\r
+        <KEYWORD1>publish</KEYWORD1>\r
+        <KEYWORD1>published-events</KEYWORD1>\r
+        <KEYWORD1>put</KEYWORD1>\r
+        <KEYWORD1>put-bits</KEYWORD1>\r
+        <KEYWORD1>put-byte</KEYWORD1>\r
+        <KEYWORD1>put-bytes</KEYWORD1>\r
+        <KEYWORD1>put-double</KEYWORD1>\r
+        <KEYWORD1>put-float</KEYWORD1>\r
+        <KEYWORD1>put-key-value</KEYWORD1>\r
+        <KEYWORD1>put-long</KEYWORD1>\r
+        <KEYWORD1>put-short</KEYWORD1>\r
+        <KEYWORD1>put-string</KEYWORD1>\r
+        <KEYWORD1>put-unsigned-short</KEYWORD1>\r
+        <KEYWORD1>putbyte</KEYWORD1>\r
+        <KEYWORD1>query</KEYWORD1>\r
+        <KEYWORD1>query-close</KEYWORD1>\r
+        <KEYWORD1>query-off-end</KEYWORD1>\r
+        <KEYWORD1>query-open</KEYWORD1>\r
+        <KEYWORD1>query-prepare</KEYWORD1>\r
+        <KEYWORD1>query-tuning</KEYWORD1>\r
+        <KEYWORD1>question</KEYWORD1>\r
+        <KEYWORD1>quit</KEYWORD1>\r
+        <KEYWORD1>quoter</KEYWORD1>\r
+        <KEYWORD1>r-index</KEYWORD1>\r
+        <KEYWORD1>radio-buttons</KEYWORD1>\r
+        <KEYWORD1>radio-set</KEYWORD1>\r
+        <KEYWORD1>random</KEYWORD1>\r
+        <KEYWORD1>raw</KEYWORD1>\r
+        <KEYWORD1>raw-transfer</KEYWORD1>\r
+        <KEYWORD1>rcode-information</KEYWORD1>\r
+        <KEYWORD1>read</KEYWORD1>\r
+        <KEYWORD1>read-available</KEYWORD1>\r
+        <KEYWORD1>read-exact-num</KEYWORD1>\r
+        <KEYWORD1>read-file</KEYWORD1>\r
+        <KEYWORD1>read-only</KEYWORD1>\r
+        <KEYWORD1>readkey</KEYWORD1>\r
+        <KEYWORD1>real</KEYWORD1>\r
+        <KEYWORD1>recid</KEYWORD1>\r
+        <KEYWORD1>record-length</KEYWORD1>\r
+        <KEYWORD1>rectangle</KEYWORD1>\r
+        <KEYWORD1>recursive</KEYWORD1>\r
+        <KEYWORD1>refresh</KEYWORD1>\r
+        <KEYWORD1>refreshable</KEYWORD1>\r
+        <KEYWORD1>reject-changes</KEYWORD1>\r
+        <KEYWORD1>reject-row-changes</KEYWORD1>\r
+        <KEYWORD1>rejected</KEYWORD1>\r
+        <KEYWORD1>relation-fields</KEYWORD1>\r
+        <KEYWORD1>relations-active</KEYWORD1>\r
+        <KEYWORD1>release</KEYWORD1>\r
+        <KEYWORD1>remote</KEYWORD1>\r
+        <KEYWORD1>remote-host</KEYWORD1>\r
+        <KEYWORD1>remote-port</KEYWORD1>\r
+        <KEYWORD1>remove-attribute</KEYWORD1>\r
+        <KEYWORD1>remove-child</KEYWORD1>\r
+        <KEYWORD1>remove-events-procedure</KEYWORD1>\r
+        <KEYWORD1>remove-super-procedure</KEYWORD1>\r
+        <KEYWORD1>repeat</KEYWORD1>\r
+        <KEYWORD1>replace</KEYWORD1>\r
+        <KEYWORD1>replace-child</KEYWORD1>\r
+        <KEYWORD1>replace-selection-text</KEYWORD1>\r
+        <KEYWORD1>replication-create</KEYWORD1>\r
+        <KEYWORD1>replication-delete</KEYWORD1>\r
+        <KEYWORD1>replication-write</KEYWORD1>\r
+        <KEYWORD1>reports</KEYWORD1>\r
+        <KEYWORD1>reposition</KEYWORD1>\r
+        <KEYWORD1>reposition-backwards</KEYWORD1>\r
+        <KEYWORD1>reposition-forwards</KEYWORD1>\r
+        <KEYWORD1>reposition-mode</KEYWORD1>\r
+        <KEYWORD1>reposition-parent-relation</KEYWORD1>\r
+        <KEYWORD1>reposition-to-row</KEYWORD1>\r
+        <KEYWORD1>reposition-to-rowid</KEYWORD1>\r
+        <KEYWORD1>request</KEYWORD1>\r
+        <KEYWORD1>resizable</KEYWORD1>\r
+        <KEYWORD1>resize</KEYWORD1>\r
+        <KEYWORD1>result</KEYWORD1>\r
+        <KEYWORD1>resume-display</KEYWORD1>\r
+        <KEYWORD1>retain</KEYWORD1>\r
+        <KEYWORD1>retain-shape</KEYWORD1>\r
+        <KEYWORD1>retry</KEYWORD1>\r
+        <KEYWORD1>retry-cancel</KEYWORD1>\r
+        <KEYWORD1>return-inserted</KEYWORD1>\r
+        <KEYWORD1>return-to-start-dir</KEYWORD1>\r
+        <KEYWORD1>return-value</KEYWORD1>\r
+        <KEYWORD1>return-value-data-type</KEYWORD1>\r
+        <KEYWORD1>returns</KEYWORD1>\r
+        <KEYWORD1>reverse-from</KEYWORD1>\r
+        <KEYWORD1>revert</KEYWORD1>\r
+        <KEYWORD1>revoke</KEYWORD1>\r
+        <KEYWORD1>rgb-value</KEYWORD1>\r
+        <KEYWORD1>right</KEYWORD1>\r
+        <KEYWORD1>right-aligned</KEYWORD1>\r
+        <KEYWORD1>right-end</KEYWORD1>\r
+        <KEYWORD1>right-trim</KEYWORD1>\r
+        <KEYWORD1>round</KEYWORD1>\r
+        <KEYWORD1>row</KEYWORD1>\r
+        <KEYWORD1>row-created</KEYWORD1>\r
+        <KEYWORD1>row-deleted</KEYWORD1>\r
+        <KEYWORD1>row-height</KEYWORD1>\r
+        <KEYWORD1>row-height-chars</KEYWORD1>\r
+        <KEYWORD1>row-height-pixels</KEYWORD1>\r
+        <KEYWORD1>row-markers</KEYWORD1>\r
+        <KEYWORD1>row-modified</KEYWORD1>\r
+        <KEYWORD1>row-of</KEYWORD1>\r
+        <KEYWORD1>row-resizable</KEYWORD1>\r
+        <KEYWORD1>row-state</KEYWORD1>\r
+        <KEYWORD1>row-unmodified</KEYWORD1>\r
+        <KEYWORD1>rowid</KEYWORD1>\r
+        <KEYWORD1>rule</KEYWORD1>\r
+        <KEYWORD1>rule-row</KEYWORD1>\r
+        <KEYWORD1>rule-y</KEYWORD1>\r
+        <KEYWORD1>run</KEYWORD1>\r
+        <KEYWORD1>run-procedure</KEYWORD1>\r
+        <KEYWORD1>save</KEYWORD1>\r
+        <KEYWORD1>save-as</KEYWORD1>\r
+        <KEYWORD1>save-file</KEYWORD1>\r
+        <KEYWORD1>save-row-changes</KEYWORD1>\r
+        <KEYWORD1>save-where-string</KEYWORD1>\r
+        <KEYWORD1>sax-attributes</KEYWORD1>\r
+        <KEYWORD1>sax-complete</KEYWORD1>\r
+        <KEYWORD1>sax-parse</KEYWORD1>\r
+        <KEYWORD1>sax-parse-first</KEYWORD1>\r
+        <KEYWORD1>sax-parse-next</KEYWORD1>\r
+        <KEYWORD1>sax-parser-error</KEYWORD1>\r
+        <KEYWORD1>sax-reader</KEYWORD1>\r
+        <KEYWORD1>sax-running</KEYWORD1>\r
+        <KEYWORD1>sax-uninitialized</KEYWORD1>\r
+        <KEYWORD1>sax-xml</KEYWORD1>\r
+        <KEYWORD1>schema</KEYWORD1>\r
+        <KEYWORD1>schema-change</KEYWORD1>\r
+        <KEYWORD1>schema-path</KEYWORD1>\r
+        <KEYWORD1>screen</KEYWORD1>\r
+        <KEYWORD1>screen-io</KEYWORD1>\r
+        <KEYWORD1>screen-lines</KEYWORD1>\r
+        <KEYWORD1>screen-value</KEYWORD1>\r
+        <KEYWORD1>scroll</KEYWORD1>\r
+        <KEYWORD1>scroll-bars</KEYWORD1>\r
+        <KEYWORD1>scroll-delta</KEYWORD1>\r
+        <KEYWORD1>scroll-left</KEYWORD1>\r
+        <KEYWORD1>scroll-mode</KEYWORD1>\r
+        <KEYWORD1>scroll-offset</KEYWORD1>\r
+        <KEYWORD1>scroll-right</KEYWORD1>\r
+        <KEYWORD1>scroll-to-current-row</KEYWORD1>\r
+        <KEYWORD1>scroll-to-item</KEYWORD1>\r
+        <KEYWORD1>scroll-to-selected-row</KEYWORD1>\r
+        <KEYWORD1>scrollable</KEYWORD1>\r
+        <KEYWORD1>scrollbar-drag</KEYWORD1>\r
+        <KEYWORD1>scrollbar-horizontal</KEYWORD1>\r
+        <KEYWORD1>scrollbar-vertical</KEYWORD1>\r
+        <KEYWORD1>scrolled-row-position</KEYWORD1>\r
+        <KEYWORD1>scrolling</KEYWORD1>\r
+        <KEYWORD1>sdbname</KEYWORD1>\r
+        <KEYWORD1>search</KEYWORD1>\r
+        <KEYWORD1>search-self</KEYWORD1>\r
+        <KEYWORD1>search-target</KEYWORD1>\r
+        <KEYWORD1>section</KEYWORD1>\r
+        <KEYWORD1>seek</KEYWORD1>\r
+        <KEYWORD1>select-all</KEYWORD1>\r
+        <KEYWORD1>select-extend</KEYWORD1>\r
+        <KEYWORD1>select-focused-row</KEYWORD1>\r
+        <KEYWORD1>select-next-row</KEYWORD1>\r
+        <KEYWORD1>select-prev-row</KEYWORD1>\r
+        <KEYWORD1>select-repositioned-row</KEYWORD1>\r
+        <KEYWORD1>select-row</KEYWORD1>\r
+        <KEYWORD1>selectable</KEYWORD1>\r
+        <KEYWORD1>selected</KEYWORD1>\r
+        <KEYWORD1>selected-items</KEYWORD1>\r
+        <KEYWORD1>selection-end</KEYWORD1>\r
+        <KEYWORD1>selection-extend</KEYWORD1>\r
+        <KEYWORD1>selection-list</KEYWORD1>\r
+        <KEYWORD1>selection-start</KEYWORD1>\r
+        <KEYWORD1>selection-text</KEYWORD1>\r
+        <KEYWORD1>self</KEYWORD1>\r
+        <KEYWORD1>send</KEYWORD1>\r
+        <KEYWORD1>sensitive</KEYWORD1>\r
+        <KEYWORD1>separate-connection</KEYWORD1>\r
+        <KEYWORD1>separator-fgcolor</KEYWORD1>\r
+        <KEYWORD1>separators</KEYWORD1>\r
+        <KEYWORD1>server</KEYWORD1>\r
+        <KEYWORD1>server-connection-bound</KEYWORD1>\r
+        <KEYWORD1>server-connection-bound-request</KEYWORD1>\r
+        <KEYWORD1>server-connection-context</KEYWORD1>\r
+        <KEYWORD1>server-connection-id</KEYWORD1>\r
+        <KEYWORD1>server-operating-mode</KEYWORD1>\r
+        <KEYWORD1>server-socket</KEYWORD1>\r
+        <KEYWORD1>session</KEYWORD1>\r
+        <KEYWORD1>session-end</KEYWORD1>\r
+        <KEYWORD1>set</KEYWORD1>\r
+        <KEYWORD1>set-actor</KEYWORD1>\r
+        <KEYWORD1>set-attr-call-type</KEYWORD1>\r
+        <KEYWORD1>set-attribute</KEYWORD1>\r
+        <KEYWORD1>set-attribute-node</KEYWORD1>\r
+        <KEYWORD1>set-blue-value</KEYWORD1>\r
+        <KEYWORD1>set-break</KEYWORD1>\r
+        <KEYWORD1>set-buffers</KEYWORD1>\r
+        <KEYWORD1>set-byte-order</KEYWORD1>\r
+        <KEYWORD1>set-callback-procedure</KEYWORD1>\r
+        <KEYWORD1>set-cell-focus</KEYWORD1>\r
+        <KEYWORD1>set-commit</KEYWORD1>\r
+        <KEYWORD1>set-connect-procedure</KEYWORD1>\r
+        <KEYWORD1>set-contents</KEYWORD1>\r
+        <KEYWORD1>set-dynamic</KEYWORD1>\r
+        <KEYWORD1>set-green-value</KEYWORD1>\r
+        <KEYWORD1>set-input-source</KEYWORD1>\r
+        <KEYWORD1>set-must-understand</KEYWORD1>\r
+        <KEYWORD1>set-node</KEYWORD1>\r
+        <KEYWORD1>set-numeric-format</KEYWORD1>\r
+        <KEYWORD1>set-parameter</KEYWORD1>\r
+        <KEYWORD1>set-pointer-value</KEYWORD1>\r
+        <KEYWORD1>set-read-response-procedure</KEYWORD1>\r
+        <KEYWORD1>set-red-value</KEYWORD1>\r
+        <KEYWORD1>set-repositioned-row</KEYWORD1>\r
+        <KEYWORD1>set-rgb-value</KEYWORD1>\r
+        <KEYWORD1>set-rollback</KEYWORD1>\r
+        <KEYWORD1>set-selection</KEYWORD1>\r
+        <KEYWORD1>set-serialized</KEYWORD1>\r
+        <KEYWORD1>set-size</KEYWORD1>\r
+        <KEYWORD1>set-socket-option</KEYWORD1>\r
+        <KEYWORD1>set-wait-state</KEYWORD1>\r
+        <KEYWORD1>settings</KEYWORD1>\r
+        <KEYWORD1>setuserid</KEYWORD1>\r
+        <KEYWORD1>share-lock</KEYWORD1>\r
+        <KEYWORD1>shared</KEYWORD1>\r
+        <KEYWORD1>short</KEYWORD1>\r
+        <KEYWORD1>show-in-taskbar</KEYWORD1>\r
+        <KEYWORD1>show-stats</KEYWORD1>\r
+        <KEYWORD1>side-label</KEYWORD1>\r
+        <KEYWORD1>side-label-handle</KEYWORD1>\r
+        <KEYWORD1>side-labels</KEYWORD1>\r
+        <KEYWORD1>silent</KEYWORD1>\r
+        <KEYWORD1>simple</KEYWORD1>\r
+        <KEYWORD1>single</KEYWORD1>\r
+        <KEYWORD1>size</KEYWORD1>\r
+        <KEYWORD1>size-chars</KEYWORD1>\r
+        <KEYWORD1>size-pixels</KEYWORD1>\r
+        <KEYWORD1>skip</KEYWORD1>\r
+        <KEYWORD1>skip-deleted-record</KEYWORD1>\r
+        <KEYWORD1>skip-schema-check</KEYWORD1>\r
+        <KEYWORD1>slider</KEYWORD1>\r
+        <KEYWORD1>small-icon</KEYWORD1>\r
+        <KEYWORD1>small-title</KEYWORD1>\r
+        <KEYWORD1>smallint</KEYWORD1>\r
+        <KEYWORD1>soap-fault</KEYWORD1>\r
+        <KEYWORD1>soap-fault-actor</KEYWORD1>\r
+        <KEYWORD1>soap-fault-code</KEYWORD1>\r
+        <KEYWORD1>soap-fault-detail</KEYWORD1>\r
+        <KEYWORD1>soap-fault-string</KEYWORD1>\r
+        <KEYWORD1>soap-header</KEYWORD1>\r
+        <KEYWORD1>soap-header-entryref</KEYWORD1>\r
+        <KEYWORD1>socket</KEYWORD1>\r
+        <KEYWORD1>some</KEYWORD1>\r
+        <KEYWORD1>sort</KEYWORD1>\r
+        <KEYWORD1>source</KEYWORD1>\r
+        <KEYWORD1>source-procedure</KEYWORD1>\r
+        <KEYWORD1>space</KEYWORD1>\r
+        <KEYWORD1>sql</KEYWORD1>\r
+        <KEYWORD1>sqrt</KEYWORD1>\r
+        <KEYWORD1>start</KEYWORD1>\r
+        <KEYWORD1>start-extend-box-selection</KEYWORD1>\r
+        <KEYWORD1>start-row-resize</KEYWORD1>\r
+        <KEYWORD1>starting</KEYWORD1>\r
+        <KEYWORD1>startup-parameters</KEYWORD1>\r
+        <KEYWORD1>status</KEYWORD1>\r
+        <KEYWORD1>status-area</KEYWORD1>\r
+        <KEYWORD1>status-area-font</KEYWORD1>\r
+        <KEYWORD1>stdcall</KEYWORD1>\r
+        <KEYWORD1>stop</KEYWORD1>\r
+        <KEYWORD1>stop-display</KEYWORD1>\r
+        <KEYWORD1>stop-parsing</KEYWORD1>\r
+        <KEYWORD1>stopped</KEYWORD1>\r
+        <KEYWORD1>stored-procedure</KEYWORD1>\r
+        <KEYWORD1>stream</KEYWORD1>\r
+        <KEYWORD1>stream-io</KEYWORD1>\r
+        <KEYWORD1>stretch-to-fit</KEYWORD1>\r
+        <KEYWORD1>string</KEYWORD1>\r
+        <KEYWORD1>string-value</KEYWORD1>\r
+        <KEYWORD1>string-xref</KEYWORD1>\r
+        <KEYWORD1>sub-average</KEYWORD1>\r
+        <KEYWORD1>sub-count</KEYWORD1>\r
+        <KEYWORD1>sub-maximum</KEYWORD1>\r
+        <KEYWORD1>sub-menu</KEYWORD1>\r
+        <KEYWORD1>sub-menu-help</KEYWORD1>\r
+        <KEYWORD1>sub-minimum</KEYWORD1>\r
+        <KEYWORD1>sub-total</KEYWORD1>\r
+        <KEYWORD1>subscribe</KEYWORD1>\r
+        <KEYWORD1>substitute</KEYWORD1>\r
+        <KEYWORD1>substring</KEYWORD1>\r
+        <KEYWORD1>subtype</KEYWORD1>\r
+        <KEYWORD1>sum</KEYWORD1>\r
+        <KEYWORD1>summary</KEYWORD1>\r
+        <KEYWORD1>super</KEYWORD1>\r
+        <KEYWORD1>super-procedures</KEYWORD1>\r
+        <KEYWORD1>suppress-namespace-processing</KEYWORD1>\r
+        <KEYWORD1>suppress-warnings</KEYWORD1>\r
+        <KEYWORD1>synchronize</KEYWORD1>\r
+        <KEYWORD1>system-alert-boxes</KEYWORD1>\r
+        <KEYWORD1>system-dialog</KEYWORD1>\r
+        <KEYWORD1>system-help</KEYWORD1>\r
+        <KEYWORD1>system-id</KEYWORD1>\r
+        <KEYWORD1>tab-position</KEYWORD1>\r
+        <KEYWORD1>tab-stop</KEYWORD1>\r
+        <KEYWORD1>table</KEYWORD1>\r
+        <KEYWORD1>table-crc-list</KEYWORD1>\r
+        <KEYWORD1>table-handle</KEYWORD1>\r
+        <KEYWORD1>table-list</KEYWORD1>\r
+        <KEYWORD1>table-number</KEYWORD1>\r
+        <KEYWORD1>target</KEYWORD1>\r
+        <KEYWORD1>target-procedure</KEYWORD1>\r
+        <KEYWORD1>temp-directory</KEYWORD1>\r
+        <KEYWORD1>temp-table</KEYWORD1>\r
+        <KEYWORD1>temp-table-prepare</KEYWORD1>\r
+        <KEYWORD1>term</KEYWORD1>\r
+        <KEYWORD1>terminal</KEYWORD1>\r
+        <KEYWORD1>terminate</KEYWORD1>\r
+        <KEYWORD1>text</KEYWORD1>\r
+        <KEYWORD1>text-cursor</KEYWORD1>\r
+        <KEYWORD1>text-seg-growth</KEYWORD1>\r
+        <KEYWORD1>text-selected</KEYWORD1>\r
+        <KEYWORD1>then</KEYWORD1>\r
+        <KEYWORD1>this-procedure</KEYWORD1>\r
+        <KEYWORD1>three-d</KEYWORD1>\r
+        <KEYWORD1>through</KEYWORD1>\r
+        <KEYWORD1>thru</KEYWORD1>\r
+        <KEYWORD1>tic-marks</KEYWORD1>\r
+        <KEYWORD1>time</KEYWORD1>\r
+        <KEYWORD1>time-source</KEYWORD1>\r
+        <KEYWORD1>timezone</KEYWORD1>\r
+        <KEYWORD1>title</KEYWORD1>\r
+        <KEYWORD1>title-bgcolor</KEYWORD1>\r
+        <KEYWORD1>title-dcolor</KEYWORD1>\r
+        <KEYWORD1>title-fgcolor</KEYWORD1>\r
+        <KEYWORD1>title-font</KEYWORD1>\r
+        <KEYWORD1>to</KEYWORD1>\r
+        <KEYWORD1>to-rowid</KEYWORD1>\r
+        <KEYWORD1>today</KEYWORD1>\r
+        <KEYWORD1>toggle-box</KEYWORD1>\r
+        <KEYWORD1>tooltip</KEYWORD1>\r
+        <KEYWORD1>tooltips</KEYWORD1>\r
+        <KEYWORD1>top</KEYWORD1>\r
+        <KEYWORD1>top-column</KEYWORD1>\r
+        <KEYWORD1>top-only</KEYWORD1>\r
+        <KEYWORD1>topic</KEYWORD1>\r
+        <KEYWORD1>total</KEYWORD1>\r
+        <KEYWORD1>trace-filter</KEYWORD1>\r
+        <KEYWORD1>tracing</KEYWORD1>\r
+        <KEYWORD1>tracking-changes</KEYWORD1>\r
+        <KEYWORD1>trailing</KEYWORD1>\r
+        <KEYWORD1>trans</KEYWORD1>\r
+        <KEYWORD1>trans-init-procedure</KEYWORD1>\r
+        <KEYWORD1>transaction</KEYWORD1>\r
+        <KEYWORD1>transaction-mode</KEYWORD1>\r
+        <KEYWORD1>transparent</KEYWORD1>\r
+        <KEYWORD1>trigger</KEYWORD1>\r
+        <KEYWORD1>triggers</KEYWORD1>\r
+        <KEYWORD1>trim</KEYWORD1>\r
+        <KEYWORD1>true</KEYWORD1>\r
+        <KEYWORD1>truncate</KEYWORD1>\r
+        <KEYWORD1>ttcodepage</KEYWORD1>\r
+        <KEYWORD1>type</KEYWORD1>\r
+        <KEYWORD1>unbuffered</KEYWORD1>\r
+        <KEYWORD1>underline</KEYWORD1>\r
+        <KEYWORD1>undo</KEYWORD1>\r
+        <KEYWORD1>unformatted</KEYWORD1>\r
+        <KEYWORD1>union</KEYWORD1>\r
+        <KEYWORD1>unique</KEYWORD1>\r
+        <KEYWORD1>unique-id</KEYWORD1>\r
+        <KEYWORD1>unique-match</KEYWORD1>\r
+        <KEYWORD1>unix</KEYWORD1>\r
+        <KEYWORD1>unix-end</KEYWORD1>\r
+        <KEYWORD1>unless-hidden</KEYWORD1>\r
+        <KEYWORD1>unload</KEYWORD1>\r
+        <KEYWORD1>unsigned-short</KEYWORD1>\r
+        <KEYWORD1>unsubscribe</KEYWORD1>\r
+        <KEYWORD1>up</KEYWORD1>\r
+        <KEYWORD1>update</KEYWORD1>\r
+        <KEYWORD1>upper</KEYWORD1>\r
+        <KEYWORD1>url</KEYWORD1>\r
+        <KEYWORD1>url-decode</KEYWORD1>\r
+        <KEYWORD1>url-encode</KEYWORD1>\r
+        <KEYWORD1>url-password</KEYWORD1>\r
+        <KEYWORD1>url-userid</KEYWORD1>\r
+        <KEYWORD1>use</KEYWORD1>\r
+        <KEYWORD1>use-dict-exps</KEYWORD1>\r
+        <KEYWORD1>use-filename</KEYWORD1>\r
+        <KEYWORD1>use-index</KEYWORD1>\r
+        <KEYWORD1>use-revvideo</KEYWORD1>\r
+        <KEYWORD1>use-text</KEYWORD1>\r
+        <KEYWORD1>use-underline</KEYWORD1>\r
+        <KEYWORD1>user</KEYWORD1>\r
+        <KEYWORD1>user-data</KEYWORD1>\r
+        <KEYWORD1>userid</KEYWORD1>\r
+        <KEYWORD1>using</KEYWORD1>\r
+        <KEYWORD1>utc-offset</KEYWORD1>\r
+        <KEYWORD1>v6display</KEYWORD1>\r
+        <KEYWORD1>v6frame</KEYWORD1>\r
+        <KEYWORD1>valid-event</KEYWORD1>\r
+        <KEYWORD1>valid-handle</KEYWORD1>\r
+        <KEYWORD1>validate</KEYWORD1>\r
+        <KEYWORD1>validate-expression</KEYWORD1>\r
+        <KEYWORD1>validate-message</KEYWORD1>\r
+        <KEYWORD1>validate-xml</KEYWORD1>\r
+        <KEYWORD1>validation-enabled</KEYWORD1>\r
+        <KEYWORD1>value</KEYWORD1>\r
+        <KEYWORD1>values</KEYWORD1>\r
+        <KEYWORD1>variable</KEYWORD1>\r
+        <KEYWORD1>verbose</KEYWORD1>\r
+        <KEYWORD1>vertical</KEYWORD1>\r
+        <KEYWORD1>view</KEYWORD1>\r
+        <KEYWORD1>view-as</KEYWORD1>\r
+        <KEYWORD1>view-first-column-on-reopen</KEYWORD1>\r
+        <KEYWORD1>virtual-height</KEYWORD1>\r
+        <KEYWORD1>virtual-height-chars</KEYWORD1>\r
+        <KEYWORD1>virtual-height-pixels</KEYWORD1>\r
+        <KEYWORD1>virtual-width</KEYWORD1>\r
+        <KEYWORD1>virtual-width-chars</KEYWORD1>\r
+        <KEYWORD1>virtual-width-pixels</KEYWORD1>\r
+        <KEYWORD1>visible</KEYWORD1>\r
+        <KEYWORD1>vms</KEYWORD1>\r
+        <KEYWORD1>wait</KEYWORD1>\r
+        <KEYWORD1>wait-for</KEYWORD1>\r
+        <KEYWORD1>warning</KEYWORD1>\r
+        <KEYWORD1>web-context</KEYWORD1>\r
+        <KEYWORD1>web-notify</KEYWORD1>\r
+        <KEYWORD1>weekday</KEYWORD1>\r
+        <KEYWORD1>when</KEYWORD1>\r
+        <KEYWORD1>where</KEYWORD1>\r
+        <KEYWORD1>where-string</KEYWORD1>\r
+        <KEYWORD1>while</KEYWORD1>\r
+        <KEYWORD1>widget</KEYWORD1>\r
+        <KEYWORD1>widget-enter</KEYWORD1>\r
+        <KEYWORD1>widget-handle</KEYWORD1>\r
+        <KEYWORD1>widget-leave</KEYWORD1>\r
+        <KEYWORD1>widget-pool</KEYWORD1>\r
+        <KEYWORD1>width</KEYWORD1>\r
+        <KEYWORD1>width-chars</KEYWORD1>\r
+        <KEYWORD1>width-pixels</KEYWORD1>\r
+        <KEYWORD1>window</KEYWORD1>\r
+        <KEYWORD1>window-delayed-minimize</KEYWORD1>\r
+        <KEYWORD1>window-name</KEYWORD1>\r
+        <KEYWORD1>window-normal</KEYWORD1>\r
+        <KEYWORD1>window-state</KEYWORD1>\r
+        <KEYWORD1>window-system</KEYWORD1>\r
+        <KEYWORD1>with</KEYWORD1>\r
+        <KEYWORD1>word-index</KEYWORD1>\r
+        <KEYWORD1>word-wrap</KEYWORD1>\r
+        <KEYWORD1>work-area-height-pixels</KEYWORD1>\r
+        <KEYWORD1>work-area-width-pixels</KEYWORD1>\r
+        <KEYWORD1>work-area-x</KEYWORD1>\r
+        <KEYWORD1>work-area-y</KEYWORD1>\r
+        <KEYWORD1>work-table</KEYWORD1>\r
+        <KEYWORD1>workfile</KEYWORD1>\r
+        <KEYWORD1>write</KEYWORD1>\r
+        <KEYWORD1>write-data</KEYWORD1>\r
+        <KEYWORD1>x</KEYWORD1>\r
+        <KEYWORD1>x-document</KEYWORD1>\r
+        <KEYWORD1>x-noderef</KEYWORD1>\r
+        <KEYWORD1>x-of</KEYWORD1>\r
+        <KEYWORD1>xcode</KEYWORD1>\r
+        <KEYWORD1>xml-schema-path</KEYWORD1>\r
+        <KEYWORD1>xml-suppress-namespace-processing</KEYWORD1>\r
+        <KEYWORD1>xref</KEYWORD1>\r
+        <KEYWORD1>y</KEYWORD1>\r
+        <KEYWORD1>y-of</KEYWORD1>\r
+        <KEYWORD1>year</KEYWORD1>\r
+        <KEYWORD1>year-offset</KEYWORD1>\r
+        <KEYWORD1>yes</KEYWORD1>\r
+        <KEYWORD1>yes-no</KEYWORD1>\r
+        <KEYWORD1>yes-no-cancel</KEYWORD1>\r
+        <KEYWORD1>_dcm</KEYWORD1>\r
+\r
+      <!-- Some commonly used abbreviations -->\r
+        <!-- And words missing from -zgenkwlist option -->\r
+        <KEYWORD1>accum</KEYWORD1>\r
+        <KEYWORD1>asc</KEYWORD1>\r
+        <KEYWORD1>avail</KEYWORD1>\r
+        <KEYWORD1>button</KEYWORD1>\r
+        <KEYWORD1>char</KEYWORD1>\r
+        <KEYWORD1>column</KEYWORD1>\r
+        <KEYWORD1>dec</KEYWORD1>\r
+        <KEYWORD1>def</KEYWORD1>\r
+        <KEYWORD1>disp</KEYWORD1>\r
+        <KEYWORD1>dict</KEYWORD1>\r
+        <KEYWORD1>dyn-function</KEYWORD1>\r
+        <KEYWORD1>excl</KEYWORD1>\r
+        <KEYWORD1>field</KEYWORD1>\r
+        <KEYWORD1>field-group</KEYWORD1>\r
+        <KEYWORD1>file-info</KEYWORD1>\r
+        <KEYWORD1>form</KEYWORD1>\r
+        <KEYWORD1>forward</KEYWORD1>\r
+        <KEYWORD1>funct</KEYWORD1>\r
+        <KEYWORD1>int</KEYWORD1>\r
+        <KEYWORD1>info</KEYWORD1>\r
+        <KEYWORD1>index-field</KEYWORD1>\r
+        <KEYWORD1>log</KEYWORD1>\r
+        <KEYWORD1>literal</KEYWORD1>\r
+        <KEYWORD1>load-control</KEYWORD1>\r
+        <KEYWORD1>no-label</KEYWORD1>\r
+        <KEYWORD1>prim</KEYWORD1>\r
+        <KEYWORD1>rcode-info</KEYWORD1>\r
+        <KEYWORD1>share</KEYWORD1>\r
+        <KEYWORD1>substr</KEYWORD1>\r
+        <KEYWORD1>var</KEYWORD1>\r
+\r
+\r
+      <!-- KEYWORD2   : VST & metaschema files and fields -->\r
+        <KEYWORD2>_abbreviate</KEYWORD2>\r
+        <KEYWORD2>_account_expires</KEYWORD2>\r
+        <KEYWORD2>_actailog</KEYWORD2>\r
+        <KEYWORD2>_actbilog</KEYWORD2>\r
+        <KEYWORD2>_actbuffer</KEYWORD2>\r
+        <KEYWORD2>_actindex</KEYWORD2>\r
+        <KEYWORD2>_actiofile</KEYWORD2>\r
+        <KEYWORD2>_actiotype</KEYWORD2>\r
+        <KEYWORD2>_active</KEYWORD2>\r
+        <KEYWORD2>_actlock</KEYWORD2>\r
+        <KEYWORD2>_actother</KEYWORD2>\r
+        <KEYWORD2>_actpws</KEYWORD2>\r
+        <KEYWORD2>_actrecord</KEYWORD2>\r
+        <KEYWORD2>_actserver</KEYWORD2>\r
+        <KEYWORD2>_actspace</KEYWORD2>\r
+        <KEYWORD2>_actsummary</KEYWORD2>\r
+        <KEYWORD2>_admin</KEYWORD2>\r
+        <KEYWORD2>_ailog-aiwwrites</KEYWORD2>\r
+        <KEYWORD2>_ailog-bbuffwaits</KEYWORD2>\r
+        <KEYWORD2>_ailog-byteswritn</KEYWORD2>\r
+        <KEYWORD2>_ailog-forcewaits</KEYWORD2>\r
+        <KEYWORD2>_ailog-id</KEYWORD2>\r
+        <KEYWORD2>_ailog-misc</KEYWORD2>\r
+        <KEYWORD2>_ailog-nobufavail</KEYWORD2>\r
+        <KEYWORD2>_ailog-partialwrt</KEYWORD2>\r
+        <KEYWORD2>_ailog-recwriten</KEYWORD2>\r
+        <KEYWORD2>_ailog-totwrites</KEYWORD2>\r
+        <KEYWORD2>_ailog-trans</KEYWORD2>\r
+        <KEYWORD2>_ailog-uptime</KEYWORD2>\r
+        <KEYWORD2>_alt</KEYWORD2>\r
+        <KEYWORD2>_area</KEYWORD2>\r
+        <KEYWORD2>_area-attrib</KEYWORD2>\r
+        <KEYWORD2>_area-block</KEYWORD2>\r
+        <KEYWORD2>_area-blocksize</KEYWORD2>\r
+        <KEYWORD2>_area-clustersize</KEYWORD2>\r
+        <KEYWORD2>_area-extents</KEYWORD2>\r
+        <KEYWORD2>_area-misc</KEYWORD2>\r
+        <KEYWORD2>_area-name</KEYWORD2>\r
+        <KEYWORD2>_area-number</KEYWORD2>\r
+        <KEYWORD2>_area-recbits</KEYWORD2>\r
+        <KEYWORD2>_area-recid</KEYWORD2>\r
+        <KEYWORD2>_area-type</KEYWORD2>\r
+        <KEYWORD2>_area-version</KEYWORD2>\r
+        <KEYWORD2>_areaextent</KEYWORD2>\r
+        <KEYWORD2>_areastatus</KEYWORD2>\r
+        <KEYWORD2>_areastatus-areaname</KEYWORD2>\r
+        <KEYWORD2>_areastatus-areanum</KEYWORD2>\r
+        <KEYWORD2>_areastatus-extents</KEYWORD2>\r
+        <KEYWORD2>_areastatus-freenum</KEYWORD2>\r
+        <KEYWORD2>_areastatus-hiwater</KEYWORD2>\r
+        <KEYWORD2>_areastatus-id</KEYWORD2>\r
+        <KEYWORD2>_areastatus-lastextent</KEYWORD2>\r
+        <KEYWORD2>_areastatus-rmnum</KEYWORD2>\r
+        <KEYWORD2>_areastatus-totblocks</KEYWORD2>\r
+        <KEYWORD2>_argtype</KEYWORD2>\r
+        <KEYWORD2>_ascending</KEYWORD2>\r
+        <KEYWORD2>_attribute</KEYWORD2>\r
+        <KEYWORD2>_attributes1</KEYWORD2>\r
+        <KEYWORD2>_auth-id</KEYWORD2>\r
+        <KEYWORD2>_autoincr</KEYWORD2>\r
+        <KEYWORD2>_base-col</KEYWORD2>\r
+        <KEYWORD2>_base-tables</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-apwq</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-ckpmarked</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-ckpq</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-hashsize</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-id</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-lastckpnum</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-lru</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-misc</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-modbuffs</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-totbufs</KEYWORD2>\r
+        <KEYWORD2>_bfstatus-usedbuffs</KEYWORD2>\r
+        <KEYWORD2>_bilog-bbuffwaits</KEYWORD2>\r
+        <KEYWORD2>_bilog-biwwrites</KEYWORD2>\r
+        <KEYWORD2>_bilog-bytesread</KEYWORD2>\r
+        <KEYWORD2>_bilog-byteswrtn</KEYWORD2>\r
+        <KEYWORD2>_bilog-clstrclose</KEYWORD2>\r
+        <KEYWORD2>_bilog-ebuffwaits</KEYWORD2>\r
+        <KEYWORD2>_bilog-forcewaits</KEYWORD2>\r
+        <KEYWORD2>_bilog-forcewrts</KEYWORD2>\r
+        <KEYWORD2>_bilog-id</KEYWORD2>\r
+        <KEYWORD2>_bilog-misc</KEYWORD2>\r
+        <KEYWORD2>_bilog-partialwrts</KEYWORD2>\r
+        <KEYWORD2>_bilog-recread</KEYWORD2>\r
+        <KEYWORD2>_bilog-recwriten</KEYWORD2>\r
+        <KEYWORD2>_bilog-totalwrts</KEYWORD2>\r
+        <KEYWORD2>_bilog-totreads</KEYWORD2>\r
+        <KEYWORD2>_bilog-trans</KEYWORD2>\r
+        <KEYWORD2>_bilog-uptime</KEYWORD2>\r
+        <KEYWORD2>_block</KEYWORD2>\r
+        <KEYWORD2>_block-area</KEYWORD2>\r
+        <KEYWORD2>_block-bkupctr</KEYWORD2>\r
+        <KEYWORD2>_block-block</KEYWORD2>\r
+        <KEYWORD2>_block-chaintype</KEYWORD2>\r
+        <KEYWORD2>_block-dbkey</KEYWORD2>\r
+        <KEYWORD2>_block-id</KEYWORD2>\r
+        <KEYWORD2>_block-misc</KEYWORD2>\r
+        <KEYWORD2>_block-nextdbkey</KEYWORD2>\r
+        <KEYWORD2>_block-type</KEYWORD2>\r
+        <KEYWORD2>_block-update</KEYWORD2>\r
+        <KEYWORD2>_buffer-apwenq</KEYWORD2>\r
+        <KEYWORD2>_buffer-chkpts</KEYWORD2>\r
+        <KEYWORD2>_buffer-deferred</KEYWORD2>\r
+        <KEYWORD2>_buffer-flushed</KEYWORD2>\r
+        <KEYWORD2>_buffer-id</KEYWORD2>\r
+        <KEYWORD2>_buffer-logicrds</KEYWORD2>\r
+        <KEYWORD2>_buffer-logicwrts</KEYWORD2>\r
+        <KEYWORD2>_buffer-lruskips</KEYWORD2>\r
+        <KEYWORD2>_buffer-lruwrts</KEYWORD2>\r
+        <KEYWORD2>_buffer-marked</KEYWORD2>\r
+        <KEYWORD2>_buffer-misc</KEYWORD2>\r
+        <KEYWORD2>_buffer-osrds</KEYWORD2>\r
+        <KEYWORD2>_buffer-oswrts</KEYWORD2>\r
+        <KEYWORD2>_buffer-trans</KEYWORD2>\r
+        <KEYWORD2>_buffer-uptime</KEYWORD2>\r
+        <KEYWORD2>_buffstatus</KEYWORD2>\r
+        <KEYWORD2>_cache</KEYWORD2>\r
+        <KEYWORD2>_can-create</KEYWORD2>\r
+        <KEYWORD2>_can-delete</KEYWORD2>\r
+        <KEYWORD2>_can-dump</KEYWORD2>\r
+        <KEYWORD2>_can-load</KEYWORD2>\r
+        <KEYWORD2>_can-read</KEYWORD2>\r
+        <KEYWORD2>_can-write</KEYWORD2>\r
+        <KEYWORD2>_casesensitive</KEYWORD2>\r
+        <KEYWORD2>_charset</KEYWORD2>\r
+        <KEYWORD2>_checkpoint</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-apwq</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-cptq</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-dirty</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-flush</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-id</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-len</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-misc</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-scan</KEYWORD2>\r
+        <KEYWORD2>_checkpoint-time</KEYWORD2>\r
+        <KEYWORD2>_chkclause</KEYWORD2>\r
+        <KEYWORD2>_chkseq</KEYWORD2>\r
+        <KEYWORD2>_cnstrname</KEYWORD2>\r
+        <KEYWORD2>_cnstrtype</KEYWORD2>\r
+        <KEYWORD2>_code-feature</KEYWORD2>\r
+        <KEYWORD2>_codefeature-id</KEYWORD2>\r
+        <KEYWORD2>_codefeature-res01</KEYWORD2>\r
+        <KEYWORD2>_codefeature-res02</KEYWORD2>\r
+        <KEYWORD2>_codefeature_name</KEYWORD2>\r
+        <KEYWORD2>_codefeature_required</KEYWORD2>\r
+        <KEYWORD2>_codefeature_supported</KEYWORD2>\r
+        <KEYWORD2>_codepage</KEYWORD2>\r
+        <KEYWORD2>_col</KEYWORD2>\r
+        <KEYWORD2>_col-label</KEYWORD2>\r
+        <KEYWORD2>_col-label-sa</KEYWORD2>\r
+        <KEYWORD2>_col-name</KEYWORD2>\r
+        <KEYWORD2>_colid</KEYWORD2>\r
+        <KEYWORD2>_coll-cp</KEYWORD2>\r
+        <KEYWORD2>_coll-data</KEYWORD2>\r
+        <KEYWORD2>_coll-name</KEYWORD2>\r
+        <KEYWORD2>_coll-segment</KEYWORD2>\r
+        <KEYWORD2>_coll-sequence</KEYWORD2>\r
+        <KEYWORD2>_coll-strength</KEYWORD2>\r
+        <KEYWORD2>_coll-tran-subtype</KEYWORD2>\r
+        <KEYWORD2>_coll-tran-version</KEYWORD2>\r
+        <KEYWORD2>_collation</KEYWORD2>\r
+        <KEYWORD2>_colname</KEYWORD2>\r
+        <KEYWORD2>_colposition</KEYWORD2>\r
+        <KEYWORD2>_connect</KEYWORD2>\r
+        <KEYWORD2>_connect-2phase</KEYWORD2>\r
+        <KEYWORD2>_connect-batch</KEYWORD2>\r
+        <KEYWORD2>_connect-device</KEYWORD2>\r
+        <KEYWORD2>_connect-disconnect</KEYWORD2>\r
+        <KEYWORD2>_connect-id</KEYWORD2>\r
+        <KEYWORD2>_connect-interrupt</KEYWORD2>\r
+        <KEYWORD2>_connect-misc</KEYWORD2>\r
+        <KEYWORD2>_connect-name</KEYWORD2>\r
+        <KEYWORD2>_connect-pid</KEYWORD2>\r
+        <KEYWORD2>_connect-resync</KEYWORD2>\r
+        <KEYWORD2>_connect-semid</KEYWORD2>\r
+        <KEYWORD2>_connect-semnum</KEYWORD2>\r
+        <KEYWORD2>_connect-server</KEYWORD2>\r
+        <KEYWORD2>_connect-time</KEYWORD2>\r
+        <KEYWORD2>_connect-transid</KEYWORD2>\r
+        <KEYWORD2>_connect-type</KEYWORD2>\r
+        <KEYWORD2>_connect-usr</KEYWORD2>\r
+        <KEYWORD2>_connect-wait</KEYWORD2>\r
+        <KEYWORD2>_connect-wait1</KEYWORD2>\r
+        <KEYWORD2>_cp-attr</KEYWORD2>\r
+        <KEYWORD2>_cp-dbrecid</KEYWORD2>\r
+        <KEYWORD2>_cp-name</KEYWORD2>\r
+        <KEYWORD2>_cp-sequence</KEYWORD2>\r
+        <KEYWORD2>_crc</KEYWORD2>\r
+        <KEYWORD2>_create-limit</KEYWORD2>\r
+        <KEYWORD2>_createparams</KEYWORD2>\r
+        <KEYWORD2>_create_date</KEYWORD2>\r
+        <KEYWORD2>_creator</KEYWORD2>\r
+        <KEYWORD2>_cycle-ok</KEYWORD2>\r
+        <KEYWORD2>_data-type</KEYWORD2>\r
+        <KEYWORD2>_database-feature</KEYWORD2>\r
+        <KEYWORD2>_datatype</KEYWORD2>\r
+        <KEYWORD2>_db</KEYWORD2>\r
+        <KEYWORD2>_db-addr</KEYWORD2>\r
+        <KEYWORD2>_db-coll-name</KEYWORD2>\r
+        <KEYWORD2>_db-collate</KEYWORD2>\r
+        <KEYWORD2>_db-comm</KEYWORD2>\r
+        <KEYWORD2>_db-lang</KEYWORD2>\r
+        <KEYWORD2>_db-local</KEYWORD2>\r
+        <KEYWORD2>_db-misc1</KEYWORD2>\r
+        <KEYWORD2>_db-misc2</KEYWORD2>\r
+        <KEYWORD2>_db-name</KEYWORD2>\r
+        <KEYWORD2>_db-recid</KEYWORD2>\r
+        <KEYWORD2>_db-res1</KEYWORD2>\r
+        <KEYWORD2>_db-res2</KEYWORD2>\r
+        <KEYWORD2>_db-revision</KEYWORD2>\r
+        <KEYWORD2>_db-slave</KEYWORD2>\r
+        <KEYWORD2>_db-type</KEYWORD2>\r
+        <KEYWORD2>_db-xl-name</KEYWORD2>\r
+        <KEYWORD2>_db-xlate</KEYWORD2>\r
+        <KEYWORD2>_dbaacc</KEYWORD2>\r
+        <KEYWORD2>_dbfeature-id</KEYWORD2>\r
+        <KEYWORD2>_dbfeature-res01</KEYWORD2>\r
+        <KEYWORD2>_dbfeature-res02</KEYWORD2>\r
+        <KEYWORD2>_dbfeature_active</KEYWORD2>\r
+        <KEYWORD2>_dbfeature_enabled</KEYWORD2>\r
+        <KEYWORD2>_dbfeature_name</KEYWORD2>\r
+        <KEYWORD2>_dblink</KEYWORD2>\r
+        <KEYWORD2>_dbstatus</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-aiblksize</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-biblksize</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-biclsize</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-biopen</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-bisize</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-bitrunc</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-cachestamp</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-changed</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-clversminor</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-codepage</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-collation</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-createdate</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-dbblksize</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-dbvers</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-dbversminor</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-emptyblks</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-fbdate</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-freeblks</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-hiwater</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-ibdate</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-ibseq</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-id</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-integrity</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-intflags</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-lastopen</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-lasttable</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-lasttran</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-misc</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-mostlocks</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-numareas</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-numlocks</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-numsems</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-prevopen</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-rmfreeblks</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-sharedmemver</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-shmvers</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-starttime</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-state</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-tainted</KEYWORD2>\r
+        <KEYWORD2>_dbstatus-totalblks</KEYWORD2>\r
+        <KEYWORD2>_decimals</KEYWORD2>\r
+        <KEYWORD2>_del</KEYWORD2>\r
+        <KEYWORD2>_deleterule</KEYWORD2>\r
+        <KEYWORD2>_desc</KEYWORD2>\r
+        <KEYWORD2>_description</KEYWORD2>\r
+        <KEYWORD2>_dfltvalue</KEYWORD2>\r
+        <KEYWORD2>_dft-pk</KEYWORD2>\r
+        <KEYWORD2>_dhtypename</KEYWORD2>\r
+        <KEYWORD2>_disabled</KEYWORD2>\r
+        <KEYWORD2>_dtype</KEYWORD2>\r
+        <KEYWORD2>_dump-name</KEYWORD2>\r
+        <KEYWORD2>_email</KEYWORD2>\r
+        <KEYWORD2>_event</KEYWORD2>\r
+        <KEYWORD2>_exe</KEYWORD2>\r
+        <KEYWORD2>_extent</KEYWORD2>\r
+        <KEYWORD2>_extent-attrib</KEYWORD2>\r
+        <KEYWORD2>_extent-misc</KEYWORD2>\r
+        <KEYWORD2>_extent-number</KEYWORD2>\r
+        <KEYWORD2>_extent-path</KEYWORD2>\r
+        <KEYWORD2>_extent-size</KEYWORD2>\r
+        <KEYWORD2>_extent-system</KEYWORD2>\r
+        <KEYWORD2>_extent-type</KEYWORD2>\r
+        <KEYWORD2>_extent-version</KEYWORD2>\r
+        <KEYWORD2>_fetch-type</KEYWORD2>\r
+        <KEYWORD2>_field</KEYWORD2>\r
+        <KEYWORD2>_field-map</KEYWORD2>\r
+        <KEYWORD2>_field-name</KEYWORD2>\r
+        <KEYWORD2>_field-physpos</KEYWORD2>\r
+        <KEYWORD2>_field-recid</KEYWORD2>\r
+        <KEYWORD2>_field-rpos</KEYWORD2>\r
+        <KEYWORD2>_field-trig</KEYWORD2>\r
+        <KEYWORD2>_fil-misc1</KEYWORD2>\r
+        <KEYWORD2>_fil-misc2</KEYWORD2>\r
+        <KEYWORD2>_fil-res1</KEYWORD2>\r
+        <KEYWORD2>_fil-res2</KEYWORD2>\r
+        <KEYWORD2>_file</KEYWORD2>\r
+        <KEYWORD2>_file-label</KEYWORD2>\r
+        <KEYWORD2>_file-label-sa</KEYWORD2>\r
+        <KEYWORD2>_file-name</KEYWORD2>\r
+        <KEYWORD2>_file-number</KEYWORD2>\r
+        <KEYWORD2>_file-recid</KEYWORD2>\r
+        <KEYWORD2>_file-trig</KEYWORD2>\r
+        <KEYWORD2>_filelist</KEYWORD2>\r
+        <KEYWORD2>_filelist-blksize</KEYWORD2>\r
+        <KEYWORD2>_filelist-extend</KEYWORD2>\r
+        <KEYWORD2>_filelist-id</KEYWORD2>\r
+        <KEYWORD2>_filelist-logicalsz</KEYWORD2>\r
+        <KEYWORD2>_filelist-misc</KEYWORD2>\r
+        <KEYWORD2>_filelist-name</KEYWORD2>\r
+        <KEYWORD2>_filelist-openmode</KEYWORD2>\r
+        <KEYWORD2>_filelist-size</KEYWORD2>\r
+        <KEYWORD2>_fire_4gl</KEYWORD2>\r
+        <KEYWORD2>_fld</KEYWORD2>\r
+        <KEYWORD2>_fld-case</KEYWORD2>\r
+        <KEYWORD2>_fld-misc1</KEYWORD2>\r
+        <KEYWORD2>_fld-misc2</KEYWORD2>\r
+        <KEYWORD2>_fld-res1</KEYWORD2>\r
+        <KEYWORD2>_fld-res2</KEYWORD2>\r
+        <KEYWORD2>_fld-stdtype</KEYWORD2>\r
+        <KEYWORD2>_fld-stlen</KEYWORD2>\r
+        <KEYWORD2>_fld-stoff</KEYWORD2>\r
+        <KEYWORD2>_for-allocated</KEYWORD2>\r
+        <KEYWORD2>_for-cnt1</KEYWORD2>\r
+        <KEYWORD2>_for-cnt2</KEYWORD2>\r
+        <KEYWORD2>_for-flag</KEYWORD2>\r
+        <KEYWORD2>_for-format</KEYWORD2>\r
+        <KEYWORD2>_for-id</KEYWORD2>\r
+        <KEYWORD2>_for-info</KEYWORD2>\r
+        <KEYWORD2>_for-itype</KEYWORD2>\r
+        <KEYWORD2>_for-maxsize</KEYWORD2>\r
+        <KEYWORD2>_for-name</KEYWORD2>\r
+        <KEYWORD2>_for-number</KEYWORD2>\r
+        <KEYWORD2>_for-owner</KEYWORD2>\r
+        <KEYWORD2>_for-primary</KEYWORD2>\r
+        <KEYWORD2>_for-retrieve</KEYWORD2>\r
+        <KEYWORD2>_for-scale</KEYWORD2>\r
+        <KEYWORD2>_for-separator</KEYWORD2>\r
+        <KEYWORD2>_for-size</KEYWORD2>\r
+        <KEYWORD2>_for-spacing</KEYWORD2>\r
+        <KEYWORD2>_for-type</KEYWORD2>\r
+        <KEYWORD2>_for-xpos</KEYWORD2>\r
+        <KEYWORD2>_format</KEYWORD2>\r
+        <KEYWORD2>_format-sa</KEYWORD2>\r
+        <KEYWORD2>_frozen</KEYWORD2>\r
+        <KEYWORD2>_given_name</KEYWORD2>\r
+        <KEYWORD2>_grantee</KEYWORD2>\r
+        <KEYWORD2>_grantor</KEYWORD2>\r
+        <KEYWORD2>_group-by</KEYWORD2>\r
+        <KEYWORD2>_group_number</KEYWORD2>\r
+        <KEYWORD2>_has-ccnstrs</KEYWORD2>\r
+        <KEYWORD2>_has-fcnstrs</KEYWORD2>\r
+        <KEYWORD2>_has-pcnstrs</KEYWORD2>\r
+        <KEYWORD2>_has-ucnstrs</KEYWORD2>\r
+        <KEYWORD2>_hasresultset</KEYWORD2>\r
+        <KEYWORD2>_hasreturnval</KEYWORD2>\r
+        <KEYWORD2>_help</KEYWORD2>\r
+        <KEYWORD2>_help-sa</KEYWORD2>\r
+        <KEYWORD2>_hidden</KEYWORD2>\r
+        <KEYWORD2>_host</KEYWORD2>\r
+        <KEYWORD2>_i-misc1</KEYWORD2>\r
+        <KEYWORD2>_i-misc2</KEYWORD2>\r
+        <KEYWORD2>_i-res1</KEYWORD2>\r
+        <KEYWORD2>_i-res2</KEYWORD2>\r
+        <KEYWORD2>_ianum</KEYWORD2>\r
+        <KEYWORD2>_id</KEYWORD2>\r
+        <KEYWORD2>_idx-crc</KEYWORD2>\r
+        <KEYWORD2>_idx-num</KEYWORD2>\r
+        <KEYWORD2>_idxid</KEYWORD2>\r
+        <KEYWORD2>_idxmethod</KEYWORD2>\r
+        <KEYWORD2>_idxname</KEYWORD2>\r
+        <KEYWORD2>_idxowner</KEYWORD2>\r
+        <KEYWORD2>_if-misc1</KEYWORD2>\r
+        <KEYWORD2>_if-misc2</KEYWORD2>\r
+        <KEYWORD2>_if-res1</KEYWORD2>\r
+        <KEYWORD2>_if-res2</KEYWORD2>\r
+        <KEYWORD2>_index</KEYWORD2>\r
+        <KEYWORD2>_index-create</KEYWORD2>\r
+        <KEYWORD2>_index-delete</KEYWORD2>\r
+        <KEYWORD2>_index-field</KEYWORD2>\r
+        <KEYWORD2>_index-find</KEYWORD2>\r
+        <KEYWORD2>_index-free</KEYWORD2>\r
+        <KEYWORD2>_index-id</KEYWORD2>\r
+        <KEYWORD2>_index-misc</KEYWORD2>\r
+        <KEYWORD2>_index-name</KEYWORD2>\r
+        <KEYWORD2>_index-recid</KEYWORD2>\r
+        <KEYWORD2>_index-remove</KEYWORD2>\r
+        <KEYWORD2>_index-seq</KEYWORD2>\r
+        <KEYWORD2>_index-splits</KEYWORD2>\r
+        <KEYWORD2>_index-trans</KEYWORD2>\r
+        <KEYWORD2>_index-uptime</KEYWORD2>\r
+        <KEYWORD2>_indexbase</KEYWORD2>\r
+        <KEYWORD2>_indexstat</KEYWORD2>\r
+        <KEYWORD2>_indexstat-blockdelete</KEYWORD2>\r
+        <KEYWORD2>_indexstat-create</KEYWORD2>\r
+        <KEYWORD2>_indexstat-delete</KEYWORD2>\r
+        <KEYWORD2>_indexstat-id</KEYWORD2>\r
+        <KEYWORD2>_indexstat-read</KEYWORD2>\r
+        <KEYWORD2>_indexstat-split</KEYWORD2>\r
+        <KEYWORD2>_initial</KEYWORD2>\r
+        <KEYWORD2>_initial-sa</KEYWORD2>\r
+        <KEYWORD2>_ins</KEYWORD2>\r
+        <KEYWORD2>_iofile-bufreads</KEYWORD2>\r
+        <KEYWORD2>_iofile-bufwrites</KEYWORD2>\r
+        <KEYWORD2>_iofile-extends</KEYWORD2>\r
+        <KEYWORD2>_iofile-filename</KEYWORD2>\r
+        <KEYWORD2>_iofile-id</KEYWORD2>\r
+        <KEYWORD2>_iofile-misc</KEYWORD2>\r
+        <KEYWORD2>_iofile-reads</KEYWORD2>\r
+        <KEYWORD2>_iofile-trans</KEYWORD2>\r
+        <KEYWORD2>_iofile-ubufreads</KEYWORD2>\r
+        <KEYWORD2>_iofile-ubufwrites</KEYWORD2>\r
+        <KEYWORD2>_iofile-uptime</KEYWORD2>\r
+        <KEYWORD2>_iofile-writes</KEYWORD2>\r
+        <KEYWORD2>_iotype-airds</KEYWORD2>\r
+        <KEYWORD2>_iotype-aiwrts</KEYWORD2>\r
+        <KEYWORD2>_iotype-birds</KEYWORD2>\r
+        <KEYWORD2>_iotype-biwrts</KEYWORD2>\r
+        <KEYWORD2>_iotype-datareads</KEYWORD2>\r
+        <KEYWORD2>_iotype-datawrts</KEYWORD2>\r
+        <KEYWORD2>_iotype-id</KEYWORD2>\r
+        <KEYWORD2>_iotype-idxrds</KEYWORD2>\r
+        <KEYWORD2>_iotype-idxwrts</KEYWORD2>\r
+        <KEYWORD2>_iotype-misc</KEYWORD2>\r
+        <KEYWORD2>_iotype-trans</KEYWORD2>\r
+        <KEYWORD2>_iotype-uptime</KEYWORD2>\r
+        <KEYWORD2>_ispublic</KEYWORD2>\r
+        <KEYWORD2>_keyvalue-expr</KEYWORD2>\r
+        <KEYWORD2>_label</KEYWORD2>\r
+        <KEYWORD2>_label-sa</KEYWORD2>\r
+        <KEYWORD2>_lang</KEYWORD2>\r
+        <KEYWORD2>_last-change</KEYWORD2>\r
+        <KEYWORD2>_last-modified</KEYWORD2>\r
+        <KEYWORD2>_last_login</KEYWORD2>\r
+        <KEYWORD2>_latch</KEYWORD2>\r
+        <KEYWORD2>_latch-busy</KEYWORD2>\r
+        <KEYWORD2>_latch-hold</KEYWORD2>\r
+        <KEYWORD2>_latch-id</KEYWORD2>\r
+        <KEYWORD2>_latch-lock</KEYWORD2>\r
+        <KEYWORD2>_latch-lockedt</KEYWORD2>\r
+        <KEYWORD2>_latch-lockt</KEYWORD2>\r
+        <KEYWORD2>_latch-name</KEYWORD2>\r
+        <KEYWORD2>_latch-qhold</KEYWORD2>\r
+        <KEYWORD2>_latch-spin</KEYWORD2>\r
+        <KEYWORD2>_latch-type</KEYWORD2>\r
+        <KEYWORD2>_latch-wait</KEYWORD2>\r
+        <KEYWORD2>_latch-waitt</KEYWORD2>\r
+        <KEYWORD2>_lic-activeconns</KEYWORD2>\r
+        <KEYWORD2>_lic-batchconns</KEYWORD2>\r
+        <KEYWORD2>_lic-currconns</KEYWORD2>\r
+        <KEYWORD2>_lic-id</KEYWORD2>\r
+        <KEYWORD2>_lic-maxactive</KEYWORD2>\r
+        <KEYWORD2>_lic-maxbatch</KEYWORD2>\r
+        <KEYWORD2>_lic-maxcurrent</KEYWORD2>\r
+        <KEYWORD2>_lic-minactive</KEYWORD2>\r
+        <KEYWORD2>_lic-minbatch</KEYWORD2>\r
+        <KEYWORD2>_lic-mincurrent</KEYWORD2>\r
+        <KEYWORD2>_lic-validusers</KEYWORD2>\r
+        <KEYWORD2>_license</KEYWORD2>\r
+        <KEYWORD2>_linkowner</KEYWORD2>\r
+        <KEYWORD2>_literalprefix</KEYWORD2>\r
+        <KEYWORD2>_literalsuffix</KEYWORD2>\r
+        <KEYWORD2>_localtypename</KEYWORD2>\r
+        <KEYWORD2>_lock</KEYWORD2>\r
+        <KEYWORD2>_lock-canclreq</KEYWORD2>\r
+        <KEYWORD2>_lock-chain</KEYWORD2>\r
+        <KEYWORD2>_lock-downgrade</KEYWORD2>\r
+        <KEYWORD2>_lock-exclfind</KEYWORD2>\r
+        <KEYWORD2>_lock-excllock</KEYWORD2>\r
+        <KEYWORD2>_lock-exclreq</KEYWORD2>\r
+        <KEYWORD2>_lock-exclwait</KEYWORD2>\r
+        <KEYWORD2>_lock-flags</KEYWORD2>\r
+        <KEYWORD2>_lock-id</KEYWORD2>\r
+        <KEYWORD2>_lock-misc</KEYWORD2>\r
+        <KEYWORD2>_lock-name</KEYWORD2>\r
+        <KEYWORD2>_lock-recgetlock</KEYWORD2>\r
+        <KEYWORD2>_lock-recgetreq</KEYWORD2>\r
+        <KEYWORD2>_lock-recgetwait</KEYWORD2>\r
+        <KEYWORD2>_lock-recid</KEYWORD2>\r
+        <KEYWORD2>_lock-redreq</KEYWORD2>\r
+        <KEYWORD2>_lock-shrfind</KEYWORD2>\r
+        <KEYWORD2>_lock-shrlock</KEYWORD2>\r
+        <KEYWORD2>_lock-shrreq</KEYWORD2>\r
+        <KEYWORD2>_lock-shrwait</KEYWORD2>\r
+        <KEYWORD2>_lock-table</KEYWORD2>\r
+        <KEYWORD2>_lock-trans</KEYWORD2>\r
+        <KEYWORD2>_lock-type</KEYWORD2>\r
+        <KEYWORD2>_lock-upglock</KEYWORD2>\r
+        <KEYWORD2>_lock-upgreq</KEYWORD2>\r
+        <KEYWORD2>_lock-upgwait</KEYWORD2>\r
+        <KEYWORD2>_lock-uptime</KEYWORD2>\r
+        <KEYWORD2>_lock-usr</KEYWORD2>\r
+        <KEYWORD2>_lockreq</KEYWORD2>\r
+        <KEYWORD2>_lockreq-exclfind</KEYWORD2>\r
+        <KEYWORD2>_lockreq-id</KEYWORD2>\r
+        <KEYWORD2>_lockreq-misc</KEYWORD2>\r
+        <KEYWORD2>_lockreq-name</KEYWORD2>\r
+        <KEYWORD2>_lockreq-num</KEYWORD2>\r
+        <KEYWORD2>_lockreq-reclock</KEYWORD2>\r
+        <KEYWORD2>_lockreq-recwait</KEYWORD2>\r
+        <KEYWORD2>_lockreq-schlock</KEYWORD2>\r
+        <KEYWORD2>_lockreq-schwait</KEYWORD2>\r
+        <KEYWORD2>_lockreq-shrfind</KEYWORD2>\r
+        <KEYWORD2>_lockreq-trnlock</KEYWORD2>\r
+        <KEYWORD2>_lockreq-trnwait</KEYWORD2>\r
+        <KEYWORD2>_logging</KEYWORD2>\r
+        <KEYWORD2>_logging-2pc</KEYWORD2>\r
+        <KEYWORD2>_logging-2pcnickname</KEYWORD2>\r
+        <KEYWORD2>_logging-2pcpriority</KEYWORD2>\r
+        <KEYWORD2>_logging-aibegin</KEYWORD2>\r
+        <KEYWORD2>_logging-aiblksize</KEYWORD2>\r
+        <KEYWORD2>_logging-aibuffs</KEYWORD2>\r
+        <KEYWORD2>_logging-aicurrext</KEYWORD2>\r
+        <KEYWORD2>_logging-aiextents</KEYWORD2>\r
+        <KEYWORD2>_logging-aigennum</KEYWORD2>\r
+        <KEYWORD2>_logging-aiio</KEYWORD2>\r
+        <KEYWORD2>_logging-aijournal</KEYWORD2>\r
+        <KEYWORD2>_logging-ailogsize</KEYWORD2>\r
+        <KEYWORD2>_logging-ainew</KEYWORD2>\r
+        <KEYWORD2>_logging-aiopen</KEYWORD2>\r
+        <KEYWORD2>_logging-biblksize</KEYWORD2>\r
+        <KEYWORD2>_logging-bibuffs</KEYWORD2>\r
+        <KEYWORD2>_logging-bibytesfree</KEYWORD2>\r
+        <KEYWORD2>_logging-biclage</KEYWORD2>\r
+        <KEYWORD2>_logging-biclsize</KEYWORD2>\r
+        <KEYWORD2>_logging-biextents</KEYWORD2>\r
+        <KEYWORD2>_logging-bifullbuffs</KEYWORD2>\r
+        <KEYWORD2>_logging-biio</KEYWORD2>\r
+        <KEYWORD2>_logging-bilogsize</KEYWORD2>\r
+        <KEYWORD2>_logging-commitdelay</KEYWORD2>\r
+        <KEYWORD2>_logging-crashprot</KEYWORD2>\r
+        <KEYWORD2>_logging-id</KEYWORD2>\r
+        <KEYWORD2>_logging-lastckp</KEYWORD2>\r
+        <KEYWORD2>_logging-misc</KEYWORD2>\r
+        <KEYWORD2>_logins</KEYWORD2>\r
+        <KEYWORD2>_login_failures</KEYWORD2>\r
+        <KEYWORD2>_mandatory</KEYWORD2>\r
+        <KEYWORD2>_max_logins</KEYWORD2>\r
+        <KEYWORD2>_max_tries</KEYWORD2>\r
+        <KEYWORD2>_middle_initial</KEYWORD2>\r
+        <KEYWORD2>_mod-sequence</KEYWORD2>\r
+        <KEYWORD2>_mode</KEYWORD2>\r
+        <KEYWORD2>_mstrblk</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-aiblksize</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-biblksize</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-biopen</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-biprev</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-bistate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-cfilnum</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-crdate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-dbstate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-dbvers</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-fbdate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-hiwater</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-ibdate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-ibseq</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-id</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-integrity</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-lasttask</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-misc</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-oppdate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-oprdate</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-rlclsize</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-rltime</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-tainted</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-timestamp</KEYWORD2>\r
+        <KEYWORD2>_mstrblk-totblks</KEYWORD2>\r
+        <KEYWORD2>_myconn-id</KEYWORD2>\r
+        <KEYWORD2>_myconn-numseqbuffers</KEYWORD2>\r
+        <KEYWORD2>_myconn-pid</KEYWORD2>\r
+        <KEYWORD2>_myconn-usedseqbuffers</KEYWORD2>\r
+        <KEYWORD2>_myconn-userid</KEYWORD2>\r
+        <KEYWORD2>_myconnection</KEYWORD2>\r
+        <KEYWORD2>_name_loc</KEYWORD2>\r
+        <KEYWORD2>_ndx</KEYWORD2>\r
+        <KEYWORD2>_nullable</KEYWORD2>\r
+        <KEYWORD2>_nullflag</KEYWORD2>\r
+        <KEYWORD2>_num-comp</KEYWORD2>\r
+        <KEYWORD2>_numfld</KEYWORD2>\r
+        <KEYWORD2>_numkcomp</KEYWORD2>\r
+        <KEYWORD2>_numkey</KEYWORD2>\r
+        <KEYWORD2>_numkfld</KEYWORD2>\r
+        <KEYWORD2>_object-associate</KEYWORD2>\r
+        <KEYWORD2>_object-associate-type</KEYWORD2>\r
+        <KEYWORD2>_object-attrib</KEYWORD2>\r
+        <KEYWORD2>_object-block</KEYWORD2>\r
+        <KEYWORD2>_object-misc</KEYWORD2>\r
+        <KEYWORD2>_object-number</KEYWORD2>\r
+        <KEYWORD2>_object-root</KEYWORD2>\r
+        <KEYWORD2>_object-system</KEYWORD2>\r
+        <KEYWORD2>_object-type</KEYWORD2>\r
+        <KEYWORD2>_odbcmoney</KEYWORD2>\r
+        <KEYWORD2>_order</KEYWORD2>\r
+        <KEYWORD2>_other-commit</KEYWORD2>\r
+        <KEYWORD2>_other-flushmblk</KEYWORD2>\r
+        <KEYWORD2>_other-id</KEYWORD2>\r
+        <KEYWORD2>_other-misc</KEYWORD2>\r
+        <KEYWORD2>_other-trans</KEYWORD2>\r
+        <KEYWORD2>_other-undo</KEYWORD2>\r
+        <KEYWORD2>_other-uptime</KEYWORD2>\r
+        <KEYWORD2>_other-wait</KEYWORD2>\r
+        <KEYWORD2>_override</KEYWORD2>\r
+        <KEYWORD2>_owner</KEYWORD2>\r
+        <KEYWORD2>_password</KEYWORD2>\r
+        <KEYWORD2>_prime-index</KEYWORD2>\r
+        <KEYWORD2>_proc-name</KEYWORD2>\r
+        <KEYWORD2>_procbin</KEYWORD2>\r
+        <KEYWORD2>_procid</KEYWORD2>\r
+        <KEYWORD2>_procname</KEYWORD2>\r
+        <KEYWORD2>_proctext</KEYWORD2>\r
+        <KEYWORD2>_proctype</KEYWORD2>\r
+        <KEYWORD2>_property</KEYWORD2>\r
+        <KEYWORD2>_pw-apwqwrites</KEYWORD2>\r
+        <KEYWORD2>_pw-buffsscaned</KEYWORD2>\r
+        <KEYWORD2>_pw-bufsckp</KEYWORD2>\r
+        <KEYWORD2>_pw-checkpoints</KEYWORD2>\r
+        <KEYWORD2>_pw-ckpqwrites</KEYWORD2>\r
+        <KEYWORD2>_pw-dbwrites</KEYWORD2>\r
+        <KEYWORD2>_pw-flushed</KEYWORD2>\r
+        <KEYWORD2>_pw-id</KEYWORD2>\r
+        <KEYWORD2>_pw-marked</KEYWORD2>\r
+        <KEYWORD2>_pw-misc</KEYWORD2>\r
+        <KEYWORD2>_pw-scancycles</KEYWORD2>\r
+        <KEYWORD2>_pw-scanwrites</KEYWORD2>\r
+        <KEYWORD2>_pw-totdbwrites</KEYWORD2>\r
+        <KEYWORD2>_pw-trans</KEYWORD2>\r
+        <KEYWORD2>_pw-uptime</KEYWORD2>\r
+        <KEYWORD2>_pwd</KEYWORD2>\r
+        <KEYWORD2>_pwd_duration</KEYWORD2>\r
+        <KEYWORD2>_pwd_expires</KEYWORD2>\r
+        <KEYWORD2>_record-bytescreat</KEYWORD2>\r
+        <KEYWORD2>_record-bytesdel</KEYWORD2>\r
+        <KEYWORD2>_record-bytesread</KEYWORD2>\r
+        <KEYWORD2>_record-bytesupd</KEYWORD2>\r
+        <KEYWORD2>_record-fragcreat</KEYWORD2>\r
+        <KEYWORD2>_record-fragdel</KEYWORD2>\r
+        <KEYWORD2>_record-fragread</KEYWORD2>\r
+        <KEYWORD2>_record-fragupd</KEYWORD2>\r
+        <KEYWORD2>_record-id</KEYWORD2>\r
+        <KEYWORD2>_record-misc</KEYWORD2>\r
+        <KEYWORD2>_record-reccreat</KEYWORD2>\r
+        <KEYWORD2>_record-recdel</KEYWORD2>\r
+        <KEYWORD2>_record-recread</KEYWORD2>\r
+        <KEYWORD2>_record-recupd</KEYWORD2>\r
+        <KEYWORD2>_record-trans</KEYWORD2>\r
+        <KEYWORD2>_record-uptime</KEYWORD2>\r
+        <KEYWORD2>_ref</KEYWORD2>\r
+        <KEYWORD2>_ref-table</KEYWORD2>\r
+        <KEYWORD2>_refcnstrname</KEYWORD2>\r
+        <KEYWORD2>_referstonew</KEYWORD2>\r
+        <KEYWORD2>_referstoold</KEYWORD2>\r
+        <KEYWORD2>_refowner</KEYWORD2>\r
+        <KEYWORD2>_reftblname</KEYWORD2>\r
+        <KEYWORD2>_remowner</KEYWORD2>\r
+        <KEYWORD2>_remtbl</KEYWORD2>\r
+        <KEYWORD2>_repl-agent</KEYWORD2>\r
+        <KEYWORD2>_repl-agentcontrol</KEYWORD2>\r
+        <KEYWORD2>_repl-server</KEYWORD2>\r
+        <KEYWORD2>_replagt-agentid</KEYWORD2>\r
+        <KEYWORD2>_replagt-agentname</KEYWORD2>\r
+        <KEYWORD2>_replagt-blocksack</KEYWORD2>\r
+        <KEYWORD2>_replagt-blocksprocessed</KEYWORD2>\r
+        <KEYWORD2>_replagt-blocksreceived</KEYWORD2>\r
+        <KEYWORD2>_replagt-commstatus</KEYWORD2>\r
+        <KEYWORD2>_replagt-connecttime</KEYWORD2>\r
+        <KEYWORD2>_replagt-dbname</KEYWORD2>\r
+        <KEYWORD2>_replagt-lasttrid</KEYWORD2>\r
+        <KEYWORD2>_replagt-method</KEYWORD2>\r
+        <KEYWORD2>_replagt-notesprocessed</KEYWORD2>\r
+        <KEYWORD2>_replagt-port</KEYWORD2>\r
+        <KEYWORD2>_replagt-reservedchar</KEYWORD2>\r
+        <KEYWORD2>_replagt-reservedint</KEYWORD2>\r
+        <KEYWORD2>_replagt-serverhost</KEYWORD2>\r
+        <KEYWORD2>_replagt-status</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-agentid</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-agentname</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-blocksack</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-blockssent</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-commstatus</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-connecttime</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-lastblocksentat</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-method</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-port</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-remotedbname</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-remotehost</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-reservedchar</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-reservedint</KEYWORD2>\r
+        <KEYWORD2>_replagtctl-status</KEYWORD2>\r
+        <KEYWORD2>_replsrv-agentcount</KEYWORD2>\r
+        <KEYWORD2>_replsrv-blockssent</KEYWORD2>\r
+        <KEYWORD2>_replsrv-id</KEYWORD2>\r
+        <KEYWORD2>_replsrv-lastblocksentat</KEYWORD2>\r
+        <KEYWORD2>_replsrv-reservedchar</KEYWORD2>\r
+        <KEYWORD2>_replsrv-reservedint</KEYWORD2>\r
+        <KEYWORD2>_replsrv-starttime</KEYWORD2>\r
+        <KEYWORD2>_resacc</KEYWORD2>\r
+        <KEYWORD2>_resrc</KEYWORD2>\r
+        <KEYWORD2>_resrc-id</KEYWORD2>\r
+        <KEYWORD2>_resrc-lock</KEYWORD2>\r
+        <KEYWORD2>_resrc-name</KEYWORD2>\r
+        <KEYWORD2>_resrc-time</KEYWORD2>\r
+        <KEYWORD2>_resrc-wait</KEYWORD2>\r
+        <KEYWORD2>_rolename</KEYWORD2>\r
+        <KEYWORD2>_rssid</KEYWORD2>\r
+        <KEYWORD2>_scale</KEYWORD2>\r
+        <KEYWORD2>_schemaname</KEYWORD2>\r
+        <KEYWORD2>_screator</KEYWORD2>\r
+        <KEYWORD2>_searchable</KEYWORD2>\r
+        <KEYWORD2>_segment-bytefree</KEYWORD2>\r
+        <KEYWORD2>_segment-bytesused</KEYWORD2>\r
+        <KEYWORD2>_segment-id</KEYWORD2>\r
+        <KEYWORD2>_segment-misc</KEYWORD2>\r
+        <KEYWORD2>_segment-segid</KEYWORD2>\r
+        <KEYWORD2>_segment-segsize</KEYWORD2>\r
+        <KEYWORD2>_segments</KEYWORD2>\r
+        <KEYWORD2>_sel</KEYWORD2>\r
+        <KEYWORD2>_seq</KEYWORD2>\r
+        <KEYWORD2>_seq-incr</KEYWORD2>\r
+        <KEYWORD2>_seq-init</KEYWORD2>\r
+        <KEYWORD2>_seq-max</KEYWORD2>\r
+        <KEYWORD2>_seq-min</KEYWORD2>\r
+        <KEYWORD2>_seq-misc</KEYWORD2>\r
+        <KEYWORD2>_seq-name</KEYWORD2>\r
+        <KEYWORD2>_seq-num</KEYWORD2>\r
+        <KEYWORD2>_seq-owner</KEYWORD2>\r
+        <KEYWORD2>_sequence</KEYWORD2>\r
+        <KEYWORD2>_server-byterec</KEYWORD2>\r
+        <KEYWORD2>_server-bytesent</KEYWORD2>\r
+        <KEYWORD2>_server-currusers</KEYWORD2>\r
+        <KEYWORD2>_server-id</KEYWORD2>\r
+        <KEYWORD2>_server-logins</KEYWORD2>\r
+        <KEYWORD2>_server-maxusers</KEYWORD2>\r
+        <KEYWORD2>_server-misc</KEYWORD2>\r
+        <KEYWORD2>_server-msgrec</KEYWORD2>\r
+        <KEYWORD2>_server-msgsent</KEYWORD2>\r
+        <KEYWORD2>_server-num</KEYWORD2>\r
+        <KEYWORD2>_server-pendconn</KEYWORD2>\r
+        <KEYWORD2>_server-pid</KEYWORD2>\r
+        <KEYWORD2>_server-portnum</KEYWORD2>\r
+        <KEYWORD2>_server-protocol</KEYWORD2>\r
+        <KEYWORD2>_server-qryrec</KEYWORD2>\r
+        <KEYWORD2>_server-recrec</KEYWORD2>\r
+        <KEYWORD2>_server-recsent</KEYWORD2>\r
+        <KEYWORD2>_server-timeslice</KEYWORD2>\r
+        <KEYWORD2>_server-trans</KEYWORD2>\r
+        <KEYWORD2>_server-type</KEYWORD2>\r
+        <KEYWORD2>_server-uptime</KEYWORD2>\r
+        <KEYWORD2>_servers</KEYWORD2>\r
+        <KEYWORD2>_sname</KEYWORD2>\r
+        <KEYWORD2>_sowner</KEYWORD2>\r
+        <KEYWORD2>_space-allocnewrm</KEYWORD2>\r
+        <KEYWORD2>_space-backadd</KEYWORD2>\r
+        <KEYWORD2>_space-bytesalloc</KEYWORD2>\r
+        <KEYWORD2>_space-dbexd</KEYWORD2>\r
+        <KEYWORD2>_space-examined</KEYWORD2>\r
+        <KEYWORD2>_space-fromfree</KEYWORD2>\r
+        <KEYWORD2>_space-fromrm</KEYWORD2>\r
+        <KEYWORD2>_space-front2back</KEYWORD2>\r
+        <KEYWORD2>_space-frontadd</KEYWORD2>\r
+        <KEYWORD2>_space-id</KEYWORD2>\r
+        <KEYWORD2>_space-locked</KEYWORD2>\r
+        <KEYWORD2>_space-misc</KEYWORD2>\r
+        <KEYWORD2>_space-removed</KEYWORD2>\r
+        <KEYWORD2>_space-retfree</KEYWORD2>\r
+        <KEYWORD2>_space-takefree</KEYWORD2>\r
+        <KEYWORD2>_space-trans</KEYWORD2>\r
+        <KEYWORD2>_space-uptime</KEYWORD2>\r
+        <KEYWORD2>_spare1</KEYWORD2>\r
+        <KEYWORD2>_spare2</KEYWORD2>\r
+        <KEYWORD2>_spare3</KEYWORD2>\r
+        <KEYWORD2>_spare4</KEYWORD2>\r
+        <KEYWORD2>_sql_properties</KEYWORD2>\r
+        <KEYWORD2>_sremdb</KEYWORD2>\r
+        <KEYWORD2>_startup</KEYWORD2>\r
+        <KEYWORD2>_startup-aibuffs</KEYWORD2>\r
+        <KEYWORD2>_startup-ainame</KEYWORD2>\r
+        <KEYWORD2>_startup-apwbuffs</KEYWORD2>\r
+        <KEYWORD2>_startup-apwmaxwrites</KEYWORD2>\r
+        <KEYWORD2>_startup-apwqtime</KEYWORD2>\r
+        <KEYWORD2>_startup-apwstime</KEYWORD2>\r
+        <KEYWORD2>_startup-bibuffs</KEYWORD2>\r
+        <KEYWORD2>_startup-bidelay</KEYWORD2>\r
+        <KEYWORD2>_startup-biio</KEYWORD2>\r
+        <KEYWORD2>_startup-biname</KEYWORD2>\r
+        <KEYWORD2>_startup-bitrunc</KEYWORD2>\r
+        <KEYWORD2>_startup-buffs</KEYWORD2>\r
+        <KEYWORD2>_startup-crashprot</KEYWORD2>\r
+        <KEYWORD2>_startup-directio</KEYWORD2>\r
+        <KEYWORD2>_startup-id</KEYWORD2>\r
+        <KEYWORD2>_startup-locktable</KEYWORD2>\r
+        <KEYWORD2>_startup-maxclients</KEYWORD2>\r
+        <KEYWORD2>_startup-maxservers</KEYWORD2>\r
+        <KEYWORD2>_startup-maxusers</KEYWORD2>\r
+        <KEYWORD2>_startup-misc</KEYWORD2>\r
+        <KEYWORD2>_startup-spin</KEYWORD2>\r
+        <KEYWORD2>_statbase</KEYWORD2>\r
+        <KEYWORD2>_statbase-id</KEYWORD2>\r
+        <KEYWORD2>_statementorrow</KEYWORD2>\r
+        <KEYWORD2>_stbl</KEYWORD2>\r
+        <KEYWORD2>_stblowner</KEYWORD2>\r
+        <KEYWORD2>_storageobject</KEYWORD2>\r
+        <KEYWORD2>_summary-aiwrites</KEYWORD2>\r
+        <KEYWORD2>_summary-bireads</KEYWORD2>\r
+        <KEYWORD2>_summary-biwrites</KEYWORD2>\r
+        <KEYWORD2>_summary-chkpts</KEYWORD2>\r
+        <KEYWORD2>_summary-commits</KEYWORD2>\r
+        <KEYWORD2>_summary-dbaccesses</KEYWORD2>\r
+        <KEYWORD2>_summary-dbreads</KEYWORD2>\r
+        <KEYWORD2>_summary-dbwrites</KEYWORD2>\r
+        <KEYWORD2>_summary-flushed</KEYWORD2>\r
+        <KEYWORD2>_summary-id</KEYWORD2>\r
+        <KEYWORD2>_summary-misc</KEYWORD2>\r
+        <KEYWORD2>_summary-reccreat</KEYWORD2>\r
+        <KEYWORD2>_summary-recdel</KEYWORD2>\r
+        <KEYWORD2>_summary-reclock</KEYWORD2>\r
+        <KEYWORD2>_summary-recreads</KEYWORD2>\r
+        <KEYWORD2>_summary-recupd</KEYWORD2>\r
+        <KEYWORD2>_summary-recwait</KEYWORD2>\r
+        <KEYWORD2>_summary-transcomm</KEYWORD2>\r
+        <KEYWORD2>_summary-undos</KEYWORD2>\r
+        <KEYWORD2>_summary-uptime</KEYWORD2>\r
+        <KEYWORD2>_surname</KEYWORD2>\r
+        <KEYWORD2>_sys-field</KEYWORD2>\r
+        <KEYWORD2>_sysattachtbls</KEYWORD2>\r
+        <KEYWORD2>_sysbigintstat</KEYWORD2>\r
+        <KEYWORD2>_syscalctable</KEYWORD2>\r
+        <KEYWORD2>_syscharstat</KEYWORD2>\r
+        <KEYWORD2>_syschkcolusage</KEYWORD2>\r
+        <KEYWORD2>_syschkconstrs</KEYWORD2>\r
+        <KEYWORD2>_syschkconstr_name_map</KEYWORD2>\r
+        <KEYWORD2>_syscolauth</KEYWORD2>\r
+        <KEYWORD2>_syscolstat</KEYWORD2>\r
+        <KEYWORD2>_sysdatatypes</KEYWORD2>\r
+        <KEYWORD2>_sysdatestat</KEYWORD2>\r
+        <KEYWORD2>_sysdbauth</KEYWORD2>\r
+        <KEYWORD2>_sysdblinks</KEYWORD2>\r
+        <KEYWORD2>_sysfloatstat</KEYWORD2>\r
+        <KEYWORD2>_sysidxstat</KEYWORD2>\r
+        <KEYWORD2>_sysintstat</KEYWORD2>\r
+        <KEYWORD2>_syskeycolusage</KEYWORD2>\r
+        <KEYWORD2>_sysncharstat</KEYWORD2>\r
+        <KEYWORD2>_sysnumstat</KEYWORD2>\r
+        <KEYWORD2>_sysnvarcharstat</KEYWORD2>\r
+        <KEYWORD2>_sysprocbin</KEYWORD2>\r
+        <KEYWORD2>_sysproccolumns</KEYWORD2>\r
+        <KEYWORD2>_sysprocedures</KEYWORD2>\r
+        <KEYWORD2>_sysproctext</KEYWORD2>\r
+        <KEYWORD2>_sysrealstat</KEYWORD2>\r
+        <KEYWORD2>_sysrefconstrs</KEYWORD2>\r
+        <KEYWORD2>_sysroles</KEYWORD2>\r
+        <KEYWORD2>_sysschemas</KEYWORD2>\r
+        <KEYWORD2>_sysseqauth</KEYWORD2>\r
+        <KEYWORD2>_syssmintstat</KEYWORD2>\r
+        <KEYWORD2>_syssynonyms</KEYWORD2>\r
+        <KEYWORD2>_systabauth</KEYWORD2>\r
+        <KEYWORD2>_systblconstrs</KEYWORD2>\r
+        <KEYWORD2>_systblstat</KEYWORD2>\r
+        <KEYWORD2>_systimestat</KEYWORD2>\r
+        <KEYWORD2>_systinyintstat</KEYWORD2>\r
+        <KEYWORD2>_systrigcols</KEYWORD2>\r
+        <KEYWORD2>_systrigger</KEYWORD2>\r
+        <KEYWORD2>_systsstat</KEYWORD2>\r
+        <KEYWORD2>_syststzstat</KEYWORD2>\r
+        <KEYWORD2>_sysvarcharstat</KEYWORD2>\r
+        <KEYWORD2>_sysviews</KEYWORD2>\r
+        <KEYWORD2>_sysviews_name_map</KEYWORD2>\r
+        <KEYWORD2>_tablebase</KEYWORD2>\r
+        <KEYWORD2>_tablestat</KEYWORD2>\r
+        <KEYWORD2>_tablestat-create</KEYWORD2>\r
+        <KEYWORD2>_tablestat-delete</KEYWORD2>\r
+        <KEYWORD2>_tablestat-id</KEYWORD2>\r
+        <KEYWORD2>_tablestat-read</KEYWORD2>\r
+        <KEYWORD2>_tablestat-update</KEYWORD2>\r
+        <KEYWORD2>_tbl</KEYWORD2>\r
+        <KEYWORD2>_tbl-status</KEYWORD2>\r
+        <KEYWORD2>_tbl-type</KEYWORD2>\r
+        <KEYWORD2>_tblid</KEYWORD2>\r
+        <KEYWORD2>_tblname</KEYWORD2>\r
+        <KEYWORD2>_tblowner</KEYWORD2>\r
+        <KEYWORD2>_telephone</KEYWORD2>\r
+        <KEYWORD2>_template</KEYWORD2>\r
+        <KEYWORD2>_toss-limit</KEYWORD2>\r
+        <KEYWORD2>_trans</KEYWORD2>\r
+        <KEYWORD2>_trans-coord</KEYWORD2>\r
+        <KEYWORD2>_trans-coordtx</KEYWORD2>\r
+        <KEYWORD2>_trans-counter</KEYWORD2>\r
+        <KEYWORD2>_trans-duration</KEYWORD2>\r
+        <KEYWORD2>_trans-flags</KEYWORD2>\r
+        <KEYWORD2>_trans-id</KEYWORD2>\r
+        <KEYWORD2>_trans-misc</KEYWORD2>\r
+        <KEYWORD2>_trans-num</KEYWORD2>\r
+        <KEYWORD2>_trans-state</KEYWORD2>\r
+        <KEYWORD2>_trans-txtime</KEYWORD2>\r
+        <KEYWORD2>_trans-usrnum</KEYWORD2>\r
+        <KEYWORD2>_trig-crc</KEYWORD2>\r
+        <KEYWORD2>_triggerevent</KEYWORD2>\r
+        <KEYWORD2>_triggerid</KEYWORD2>\r
+        <KEYWORD2>_triggername</KEYWORD2>\r
+        <KEYWORD2>_triggertime</KEYWORD2>\r
+        <KEYWORD2>_txe-id</KEYWORD2>\r
+        <KEYWORD2>_txe-locks</KEYWORD2>\r
+        <KEYWORD2>_txe-lockss</KEYWORD2>\r
+        <KEYWORD2>_txe-time</KEYWORD2>\r
+        <KEYWORD2>_txe-type</KEYWORD2>\r
+        <KEYWORD2>_txe-wait-time</KEYWORD2>\r
+        <KEYWORD2>_txe-waits</KEYWORD2>\r
+        <KEYWORD2>_txe-waitss</KEYWORD2>\r
+        <KEYWORD2>_txelock</KEYWORD2>\r
+        <KEYWORD2>_typeprecision</KEYWORD2>\r
+        <KEYWORD2>_u-misc1</KEYWORD2>\r
+        <KEYWORD2>_u-misc2</KEYWORD2>\r
+        <KEYWORD2>_unique</KEYWORD2>\r
+        <KEYWORD2>_unsignedattr</KEYWORD2>\r
+        <KEYWORD2>_unsorted</KEYWORD2>\r
+        <KEYWORD2>_upd</KEYWORD2>\r
+        <KEYWORD2>_updatable</KEYWORD2>\r
+        <KEYWORD2>_user</KEYWORD2>\r
+        <KEYWORD2>_user-misc</KEYWORD2>\r
+        <KEYWORD2>_user-name</KEYWORD2>\r
+        <KEYWORD2>_userid</KEYWORD2>\r
+        <KEYWORD2>_userio</KEYWORD2>\r
+        <KEYWORD2>_userio-airead</KEYWORD2>\r
+        <KEYWORD2>_userio-aiwrite</KEYWORD2>\r
+        <KEYWORD2>_userio-biread</KEYWORD2>\r
+        <KEYWORD2>_userio-biwrite</KEYWORD2>\r
+        <KEYWORD2>_userio-dbaccess</KEYWORD2>\r
+        <KEYWORD2>_userio-dbread</KEYWORD2>\r
+        <KEYWORD2>_userio-dbwrite</KEYWORD2>\r
+        <KEYWORD2>_userio-id</KEYWORD2>\r
+        <KEYWORD2>_userio-misc</KEYWORD2>\r
+        <KEYWORD2>_userio-name</KEYWORD2>\r
+        <KEYWORD2>_userio-usr</KEYWORD2>\r
+        <KEYWORD2>_userlock</KEYWORD2>\r
+        <KEYWORD2>_userlock-chain</KEYWORD2>\r
+        <KEYWORD2>_userlock-flags</KEYWORD2>\r
+        <KEYWORD2>_userlock-id</KEYWORD2>\r
+        <KEYWORD2>_userlock-misc</KEYWORD2>\r
+        <KEYWORD2>_userlock-name</KEYWORD2>\r
+        <KEYWORD2>_userlock-recid</KEYWORD2>\r
+        <KEYWORD2>_userlock-type</KEYWORD2>\r
+        <KEYWORD2>_userlock-usr</KEYWORD2>\r
+        <KEYWORD2>_username</KEYWORD2>\r
+        <KEYWORD2>_userstatus</KEYWORD2>\r
+        <KEYWORD2>_userstatus-counter</KEYWORD2>\r
+        <KEYWORD2>_userstatus-objectid</KEYWORD2>\r
+        <KEYWORD2>_userstatus-objecttype</KEYWORD2>\r
+        <KEYWORD2>_userstatus-operation</KEYWORD2>\r
+        <KEYWORD2>_userstatus-state</KEYWORD2>\r
+        <KEYWORD2>_userstatus-target</KEYWORD2>\r
+        <KEYWORD2>_userstatus-userid</KEYWORD2>\r
+        <KEYWORD2>_user_number</KEYWORD2>\r
+        <KEYWORD2>_valexp</KEYWORD2>\r
+        <KEYWORD2>_valmsg</KEYWORD2>\r
+        <KEYWORD2>_valmsg-sa</KEYWORD2>\r
+        <KEYWORD2>_value</KEYWORD2>\r
+        <KEYWORD2>_value_ch</KEYWORD2>\r
+        <KEYWORD2>_value_n</KEYWORD2>\r
+        <KEYWORD2>_val_ts</KEYWORD2>\r
+        <KEYWORD2>_vcol-order</KEYWORD2>\r
+        <KEYWORD2>_version</KEYWORD2>\r
+        <KEYWORD2>_view</KEYWORD2>\r
+        <KEYWORD2>_view-as</KEYWORD2>\r
+        <KEYWORD2>_view-col</KEYWORD2>\r
+        <KEYWORD2>_view-def</KEYWORD2>\r
+        <KEYWORD2>_view-name</KEYWORD2>\r
+        <KEYWORD2>_view-ref</KEYWORD2>\r
+        <KEYWORD2>_viewname</KEYWORD2>\r
+        <KEYWORD2>_viewtext</KEYWORD2>\r
+        <KEYWORD2>_where-cls</KEYWORD2>\r
+        <KEYWORD2>_width</KEYWORD2>\r
+        <KEYWORD2>_word-rule</KEYWORD2>\r
+        <KEYWORD2>_word-rules</KEYWORD2>\r
+        <KEYWORD2>_wordidx</KEYWORD2>\r
+        <KEYWORD2>_wr-attr</KEYWORD2>\r
+        <KEYWORD2>_wr-cp</KEYWORD2>\r
+        <KEYWORD2>_wr-name</KEYWORD2>\r
+        <KEYWORD2>_wr-number</KEYWORD2>\r
+        <KEYWORD2>_wr-segment</KEYWORD2>\r
+        <KEYWORD2>_wr-type</KEYWORD2>\r
+        <KEYWORD2>_wr-version</KEYWORD2>\r
+\r
+\r
+\r
+\r
+\r
+\r
+      <!-- INVALID    : Deprecated keywords -->\r
+        <INVALID>USE-INDEX</INVALID>\r
+        <INVALID>UNIX</INVALID>\r
+        <INVALID>DOS</INVALID>\r
+        <INVALID>VMS</INVALID>\r
+        <INVALID>BTOS</INVALID>\r
+        <INVALID>CTOS</INVALID>\r
+        <INVALID>OS2</INVALID>\r
+        <INVALID>OS400</INVALID>\r
+        <INVALID>EDITING</INVALID>\r
+        <INVALID>CHOOSE</INVALID>\r
+        <INVALID>PROMPT-FOR</INVALID>\r
+        <INVALID>SHARE-LOCK</INVALID>\r
+        <INVALID>READKEY</INVALID>\r
+        <INVALID>GO-PENDING</INVALID>\r
+        <INVALID>VALIDATE</INVALID>\r
+        <INVALID>IS-ATTR-SPACE</INVALID>\r
+        <INVALID>GATEWAYS</INVALID>\r
+        <INVALID>SCROLL</INVALID>\r
+\r
+        <!-- Removed or renamed keywords -->\r
+        <INVALID>ITERATION-CHANGED</INVALID>\r
+        <INVALID>BEFORE-RECORD-FILL</INVALID>\r
+        <INVALID>AFTER-RECORD-FILL</INVALID>\r
+        <INVALID>REPOSITION-MODE</INVALID>\r
+\r
+\r
+\r
+      <!-- COMMENT2   : Preprocessor statements -->\r
+        <COMMENT2>&amp;ADM-CONTAINER</COMMENT2>\r
+        <COMMENT2>&amp;ADM-SUPPORTED-LINKS</COMMENT2>\r
+        <COMMENT2>&amp;ANALYZE-RESUME</COMMENT2>\r
+        <COMMENT2>&amp;ANALYZE-SUSPEND</COMMENT2>\r
+        <COMMENT2>&amp;BATCH-MODE</COMMENT2>\r
+        <COMMENT2>&amp;BROWSE-NAME</COMMENT2>\r
+        <COMMENT2>&amp;DEFINED</COMMENT2>\r
+        <COMMENT2>&amp;DISPLAYED-FIELDS</COMMENT2>\r
+        <COMMENT2>&amp;DISPLAYED-OBJECTS</COMMENT2>\r
+        <COMMENT2>&amp;ELSE</COMMENT2>\r
+        <COMMENT2>&amp;ELSEIF</COMMENT2>\r
+        <COMMENT2>&amp;ENABLED-FIELDS-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;ENABLED-FIELDS</COMMENT2>\r
+        <COMMENT2>&amp;ENABLED-OBJECTS</COMMENT2>\r
+        <COMMENT2>&amp;ENABLED-TABLES-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;ENABLED-TABLES</COMMENT2>\r
+        <COMMENT2>&amp;ENDIF</COMMENT2>\r
+        <COMMENT2>&amp;EXTERNAL-TABLES</COMMENT2>\r
+        <COMMENT2>&amp;FIELD-PAIRS-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;FIELD-PAIRS</COMMENT2>\r
+        <COMMENT2>&amp;FIELDS-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;FILE-NAME</COMMENT2>\r
+        <COMMENT2>&amp;FIRST-EXTERNAL-TABLE</COMMENT2>\r
+        <COMMENT2>&amp;FIRST-TABLE-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;FRAME-NAME</COMMENT2>\r
+        <COMMENT2>&amp;GLOB</COMMENT2>\r
+        <COMMENT2>&amp;GLOBAL-DEFINE</COMMENT2>\r
+        <COMMENT2>&amp;IF</COMMENT2>\r
+        <COMMENT2>&amp;INCLUDE</COMMENT2>\r
+        <COMMENT2>&amp;INTERNAL-TABLES</COMMENT2>\r
+        <COMMENT2>&amp;LAYOUT-VARIABLE</COMMENT2>\r
+        <COMMENT2>&amp;LINE-NUMBER</COMMENT2>\r
+        <COMMENT2>&amp;LIST-1</COMMENT2>\r
+        <COMMENT2>&amp;LIST-2</COMMENT2>\r
+        <COMMENT2>&amp;LIST-3</COMMENT2>\r
+        <COMMENT2>&amp;LIST-4</COMMENT2>\r
+        <COMMENT2>&amp;LIST-5</COMMENT2>\r
+        <COMMENT2>&amp;LIST-6</COMMENT2>\r
+        <COMMENT2>&amp;MESSAGE</COMMENT2>\r
+        <COMMENT2>&amp;NEW</COMMENT2>\r
+        <COMMENT2>&amp;OPEN-BROWSERS-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;OPEN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;OPSYS</COMMENT2>\r
+        <COMMENT2>&amp;PROCEDURE-TYPE</COMMENT2>\r
+        <COMMENT2>&amp;QUERY-NAME</COMMENT2>\r
+        <COMMENT2>&amp;SCOP</COMMENT2>\r
+        <COMMENT2>&amp;SCOPED-DEFINE</COMMENT2>\r
+        <COMMENT2>&amp;SELF-NAME</COMMENT2>\r
+        <COMMENT2>&amp;SEQUENCE</COMMENT2>\r
+        <COMMENT2>&amp;TABLES-IN-QUERY</COMMENT2>\r
+        <COMMENT2>&amp;THEN</COMMENT2>\r
+        <COMMENT2>&amp;UIB_is_Running</COMMENT2>\r
+        <COMMENT2>&amp;UNDEFINE</COMMENT2>\r
+        <COMMENT2>&amp;WINDOW-NAME</COMMENT2>\r
+        <COMMENT2>&amp;WINDOW-SYSTEM</COMMENT2>\r
+        <COMMENT2>DEFINED</COMMENT2>\r
+        <COMMENT2>PROCEDURE-TYPE</COMMENT2>\r
+        <COMMENT2>_CREATE-WINDOW</COMMENT2>\r
+        <COMMENT2>_CUSTOM _DEFINITIONS</COMMENT2>\r
+        <COMMENT2>_CUSTOM _MAIN-BLOCK</COMMENT2>\r
+        <COMMENT2>_CUSTOM</COMMENT2>\r
+        <COMMENT2>_DEFINITIONS</COMMENT2>\r
+        <COMMENT2>_END-PROCEDURE-SETTINGS</COMMENT2>\r
+        <COMMENT2>_FUNCTION-FORWARD</COMMENT2>\r
+        <COMMENT2>_FUNCTION</COMMENT2>\r
+        <COMMENT2>_INCLUDED-LIB</COMMENT2>\r
+        <COMMENT2>_INLINE</COMMENT2>\r
+        <COMMENT2>_MAIN-BLOCK</COMMENT2>\r
+        <COMMENT2>_PROCEDURE-SETTINGS</COMMENT2>\r
+        <COMMENT2>_PROCEDURE</COMMENT2>\r
+        <COMMENT2>_UIB-CODE-BLOCK</COMMENT2>\r
+        <COMMENT2>_UIB-PREPROCESSOR-BLOCK</COMMENT2>\r
+        <COMMENT2>_VERSION-NUMBER</COMMENT2>\r
+        <COMMENT2>_XFTR</COMMENT2>\r
+\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/prolog.xml b/basis/xmode/modes/prolog.xml
new file mode 100644 (file)
index 0000000..bd5adbd
--- /dev/null
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--   jEdit Prolog syntax file\r
+       based on the INRIA ISO Prolog web page @ http://pauillac.inria.fr/~hodgson/prolog\r
+\r
+       written by      Giulio Piancastelli\r
+       version         1.0\r
+       created on      31st December 2001\r
+       last revised    19th November 2002\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="%" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+       \r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+               <!--- ISO compliant C-style comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               \r
+               <!-- String literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               \r
+               <!-- List literals -->\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               \r
+               <!-- Operators -->\r
+               <SEQ TYPE="OPERATOR">--&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">:-</SEQ>\r
+               <SEQ TYPE="OPERATOR">?-</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">\+</SEQ> <!-- ISO Prolog uses it instead of 'not' -->\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">\==</SEQ>\r
+               <SEQ TYPE="OPERATOR">\=</SEQ>\r
+               <SEQ TYPE="OPERATOR">@&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">@=&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">@&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">@&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=..</SEQ>\r
+               <SEQ TYPE="OPERATOR">=:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=\=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/\</SEQ>\r
+               <SEQ TYPE="OPERATOR">\/</SEQ>\r
+               <SEQ TYPE="OPERATOR">//</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">**</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               \r
+               <!-- The '.' at the end of each clause -->\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               \r
+               <!-- Parentheses -->\r
+               <SEQ TYPE="MARKUP">(</SEQ>\r
+               <SEQ TYPE="MARKUP">)</SEQ>\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               \r
+               <KEYWORDS>\r
+               \r
+                       <!-- Keywords that are 0 arity built-in predicates -->\r
+                       <KEYWORD1>true</KEYWORD1>\r
+                       <KEYWORD1>fail</KEYWORD1>\r
+                       <KEYWORD1>!</KEYWORD1> <!-- cut -->\r
+                       <KEYWORD1>at_end_of_stream</KEYWORD1>\r
+                       <KEYWORD1>nl</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>halt</KEYWORD1>\r
+                       \r
+                       <!-- Keywords that are built-in predicates with arity greater than or equal to 1 -->\r
+                       <FUNCTION>call</FUNCTION>\r
+                       <FUNCTION>catch</FUNCTION>\r
+                       <FUNCTION>throw</FUNCTION>\r
+                       <FUNCTION>unify_with_occurs_check</FUNCTION>\r
+                       <FUNCTION>var</FUNCTION>\r
+                       <FUNCTION>atom</FUNCTION>\r
+                       <FUNCTION>integer</FUNCTION>\r
+                       <FUNCTION>float</FUNCTION>\r
+                       <FUNCTION>atomic</FUNCTION>\r
+                       <FUNCTION>compound</FUNCTION>\r
+                       <FUNCTION>nonvar</FUNCTION>\r
+                       <FUNCTION>number</FUNCTION>\r
+                       <FUNCTION>functor</FUNCTION>\r
+                       <FUNCTION>arg</FUNCTION>\r
+                       <FUNCTION>copy_term</FUNCTION>\r
+                       <FUNCTION>clause</FUNCTION>\r
+                       <FUNCTION>current_predicate</FUNCTION>\r
+                       <FUNCTION>asserta</FUNCTION>\r
+                       <FUNCTION>assertz</FUNCTION>\r
+                       <FUNCTION>retract</FUNCTION>\r
+                       <FUNCTION>abolish</FUNCTION>\r
+                       <FUNCTION>findall</FUNCTION>\r
+                       <FUNCTION>bagof</FUNCTION>\r
+                       <FUNCTION>setof</FUNCTION>\r
+                       <FUNCTION>current_input</FUNCTION>\r
+                       <FUNCTION>current_output</FUNCTION>\r
+                       <FUNCTION>set_input</FUNCTION>\r
+                       <FUNCTION>set_output</FUNCTION>\r
+                       <FUNCTION>open</FUNCTION>\r
+                       <FUNCTION>close</FUNCTION>\r
+                       <FUNCTION>stream_property</FUNCTION>\r
+                       <FUNCTION>at_end_of_stream</FUNCTION> <!-- arity 1 -->\r
+                       <FUNCTION>set_stream_position</FUNCTION>\r
+                       <FUNCTION>get_char</FUNCTION>\r
+                       <FUNCTION>get_code</FUNCTION>\r
+                       <FUNCTION>peek_char</FUNCTION>\r
+                       <FUNCTION>peek_code</FUNCTION>\r
+                       <FUNCTION>put_char</FUNCTION>\r
+                       <FUNCTION>put_code</FUNCTION>\r
+                       <FUNCTION>nl</FUNCTION> <!-- arity 1 -->\r
+                       <FUNCTION>get_byte</FUNCTION>\r
+                       <FUNCTION>peek_byte</FUNCTION>\r
+                       <FUNCTION>put_byte</FUNCTION>\r
+                       <FUNCTION>read_term</FUNCTION>\r
+                       <FUNCTION>read</FUNCTION>\r
+                       <FUNCTION>write_term</FUNCTION>\r
+                       <FUNCTION>write</FUNCTION>\r
+                       <FUNCTION>writeq</FUNCTION>\r
+                       <FUNCTION>write_canonical</FUNCTION>\r
+                       <FUNCTION>op</FUNCTION>\r
+                       <FUNCTION>current_op</FUNCTION>\r
+                       <FUNCTION>char_conversion</FUNCTION>\r
+                       <FUNCTION>current_char_conversion</FUNCTION>\r
+                       <FUNCTION>once</FUNCTION>\r
+                       <FUNCTION>atom_length</FUNCTION>\r
+                       <FUNCTION>atom_concat</FUNCTION>\r
+                       <FUNCTION>sub_atom</FUNCTION>\r
+                       <FUNCTION>atom_chars</FUNCTION>\r
+                       <FUNCTION>atom_codes</FUNCTION>\r
+                       <FUNCTION>char_code</FUNCTION>\r
+                       <FUNCTION>number_chars</FUNCTION>\r
+                       <FUNCTION>number_codes</FUNCTION>\r
+                       <FUNCTION>set_prolog_flag</FUNCTION>\r
+                       <FUNCTION>current_prolog_flag</FUNCTION>\r
+                       <FUNCTION>halt</FUNCTION> <!-- arity 1 -->\r
+                       \r
+                       <!-- Mathematical functions -->\r
+                       <FUNCTION>sin</FUNCTION>\r
+                       <FUNCTION>cos</FUNCTION>\r
+                       <FUNCTION>atan</FUNCTION>\r
+                       <FUNCTION>exp</FUNCTION>\r
+                       <FUNCTION>log</FUNCTION>\r
+                       <FUNCTION>sqrt</FUNCTION>\r
+                       \r
+                       <!-- Keywords that should be operators -->\r
+                       <KEYWORD2>is</KEYWORD2>\r
+                       <KEYWORD2>rem</KEYWORD2>\r
+                       <KEYWORD2>mod</KEYWORD2>\r
+                       \r
+                       <!-- Singleton variable -->\r
+                       <KEYWORD3>_</KEYWORD3>\r
+                       \r
+               </KEYWORDS>\r
+               \r
+       </RULES>\r
+\r
+       <RULES SET="LIST" DEFAULT="LITERAL2">\r
+               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/props.xml b/basis/xmode/modes/props.xml
new file mode 100644 (file)
index 0000000..f3d0511
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+       <RULES DEFAULT="KEYWORD1">\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">=</EOL_SPAN>\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">:</EOL_SPAN>\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE"> </EOL_SPAN>\r
+               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">    </EOL_SPAN>\r
+       </RULES>\r
+       <RULES SET="PROP_VALUE" HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="([\p{Digit}]+|#[\p{XDigit}]+)"\r
+               NO_WORD_SEP="#">\r
+               <!-- MessageFormat { ... } stuff -->\r
+               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <!-- Sillyness -->\r
+               <MARK_FOLLOWING TYPE="DIGIT">#</MARK_FOLLOWING>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/psp.xml b/basis/xmode/modes/psp.xml
new file mode 100644 (file)
index 0000000..2adc5a1
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE">\r
+\r
+               <SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">\r
+                       <BEGIN>&lt;%@</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- PSP comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;%--</BEGIN>\r
+                       <END>--%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- inline Python code -->\r
+               <SPAN TYPE="LITERAL3" DELEGATE="python::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Client-side javascript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="jscript"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script language="javascript"&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
+                       <BEGIN>&lt;script&gt;</BEGIN>\r
+                       <END>&lt;/script&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Server-Side include -->\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="css::MAIN">\r
+                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+       </RULES>\r
+\r
+       <!-- ESCAPE is not exactly right but it is needed to correctly\r
+            handle JavaScript in on* parameters -->\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <!-- PSP comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>&lt;%--</BEGIN>\r
+                       <END>--%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL3" DELEGATE="python::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="DIRECTIVE" DEFAULT="LITERAL4">\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD4>include</KEYWORD4>\r
+\r
+                       <KEYWORD4>file</KEYWORD4>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ptl.xml b/basis/xmode/modes/ptl.xml
new file mode 100644 (file)
index 0000000..b47f9a9
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="ptl"                       FILE="ptl.xml"\r
+                               FILE_NAME_GLOB="*.ptl"/>\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <IMPORT DELEGATE="python::MAIN"/>\r
+\r
+               <SEQ TYPE="KEYWORD4">[html]</SEQ>\r
+               <SEQ TYPE="KEYWORD4">[plain]</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <LITERAL4>_q_access</LITERAL4>\r
+                       <LITERAL4>_q_exports</LITERAL4>\r
+                       <LITERAL4>_q_index</LITERAL4>\r
+                       <LITERAL4>_q_lookup</LITERAL4>\r
+                       <LITERAL4>_q_resolve</LITERAL4>\r
+                       <LITERAL4>_q_exception_handler</LITERAL4>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/pvwave.xml b/basis/xmode/modes/pvwave.xml
new file mode 100644 (file)
index 0000000..8a74b4a
--- /dev/null
@@ -0,0 +1,722 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- PV-WAVE mode, by Ed Stewart\r
+     based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">#</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="LABEL">$</SEQ>\r
+               <SEQ TYPE="LABEL">&amp;</SEQ>\r
+               <SEQ TYPE="LABEL">@</SEQ>\r
+               <SEQ TYPE="LABEL">!</SEQ>\r
+\r
+               <KEYWORDS>\r
+               <!--KEYWORD1s are standard functions and procedures -->\r
+                       <KEYWORD1>abs</KEYWORD1>\r
+                       <KEYWORD1>acos</KEYWORD1>\r
+                       <KEYWORD1>add_exec_on_select</KEYWORD1>\r
+                       <KEYWORD1>addsysvar</KEYWORD1>\r
+                       <KEYWORD1>addvar</KEYWORD1>\r
+                       <KEYWORD1>affine</KEYWORD1>\r
+                       <KEYWORD1>alog</KEYWORD1>\r
+                       <KEYWORD1>alog10</KEYWORD1>\r
+                       <KEYWORD1>asarr</KEYWORD1>\r
+                       <KEYWORD1>asin</KEYWORD1>\r
+                       <KEYWORD1>askeys</KEYWORD1>\r
+                       <KEYWORD1>assoc</KEYWORD1>\r
+                       <KEYWORD1>atan</KEYWORD1>\r
+                       <KEYWORD1>avg</KEYWORD1>\r
+                       <KEYWORD1>axis</KEYWORD1>\r
+                       <KEYWORD1>bar</KEYWORD1>\r
+                       <KEYWORD1>bar2d</KEYWORD1>\r
+                       <KEYWORD1>bar3d</KEYWORD1>\r
+                       <KEYWORD1>beseli</KEYWORD1>\r
+                       <KEYWORD1>beselj</KEYWORD1>\r
+                       <KEYWORD1>besely</KEYWORD1>\r
+                       <KEYWORD1>bilinear</KEYWORD1>\r
+                       <KEYWORD1>bindgen</KEYWORD1>\r
+                       <KEYWORD1>blob</KEYWORD1>\r
+                       <KEYWORD1>blobcount</KEYWORD1>\r
+                       <KEYWORD1>boundary</KEYWORD1>\r
+                       <KEYWORD1>build_table</KEYWORD1>\r
+                       <KEYWORD1>buildresourcefilename</KEYWORD1>\r
+                       <KEYWORD1>bytarr</KEYWORD1>\r
+                       <KEYWORD1>byte</KEYWORD1>\r
+                       <KEYWORD1>byteorder</KEYWORD1>\r
+                       <KEYWORD1>bytscl</KEYWORD1>\r
+                       <KEYWORD1>c_edit</KEYWORD1>\r
+                       <KEYWORD1>call_unix</KEYWORD1>\r
+                       <KEYWORD1>cd</KEYWORD1>\r
+                       <KEYWORD1>center_view</KEYWORD1>\r
+                       <KEYWORD1>chebyshev</KEYWORD1>\r
+                       <KEYWORD1>check_math</KEYWORD1>\r
+                       <KEYWORD1>checkfile</KEYWORD1>\r
+                       <KEYWORD1>cindgen</KEYWORD1>\r
+                       <KEYWORD1>close</KEYWORD1>\r
+                       <KEYWORD1>color_convert</KEYWORD1>\r
+                       <KEYWORD1>color_edit</KEYWORD1>\r
+                       <KEYWORD1>color_palette</KEYWORD1>\r
+                       <KEYWORD1>complex</KEYWORD1>\r
+                       <KEYWORD1>complexarr</KEYWORD1>\r
+                       <KEYWORD1>cone</KEYWORD1>\r
+                       <KEYWORD1>congrid</KEYWORD1>\r
+                       <KEYWORD1>conj</KEYWORD1>\r
+                       <KEYWORD1>contour</KEYWORD1>\r
+                       <KEYWORD1>contour2</KEYWORD1>\r
+                       <KEYWORD1>contourfill</KEYWORD1>\r
+                       <KEYWORD1>conv_from_rect</KEYWORD1>\r
+                       <KEYWORD1>conv_to_rect</KEYWORD1>\r
+                       <KEYWORD1>convert_coord</KEYWORD1>\r
+                       <KEYWORD1>convol</KEYWORD1>\r
+                       <KEYWORD1>correlate</KEYWORD1>\r
+                       <KEYWORD1>cos</KEYWORD1>\r
+                       <KEYWORD1>cosh</KEYWORD1>\r
+                       <KEYWORD1>cosines</KEYWORD1>\r
+                       <KEYWORD1>cprod</KEYWORD1>\r
+                       <KEYWORD1>create_holidays</KEYWORD1>\r
+                       <KEYWORD1>create_weekdends</KEYWORD1>\r
+                       <KEYWORD1>crossp</KEYWORD1>\r
+                       <KEYWORD1>cursor</KEYWORD1>\r
+                       <KEYWORD1>curvatures</KEYWORD1>\r
+                       <KEYWORD1>curvefit</KEYWORD1>\r
+                       <KEYWORD1>cylinder</KEYWORD1>\r
+                       <KEYWORD1>day_name</KEYWORD1>\r
+                       <KEYWORD1>day_of_week</KEYWORD1>\r
+                       <KEYWORD1>day_of_year</KEYWORD1>\r
+                       <KEYWORD1>dblarr</KEYWORD1>\r
+                       <KEYWORD1>dc_error_msg</KEYWORD1>\r
+                       <KEYWORD1>dc_options</KEYWORD1>\r
+                       <KEYWORD1>dc_read_24_bit</KEYWORD1>\r
+                       <KEYWORD1>dc_read_8_bit</KEYWORD1>\r
+                       <KEYWORD1>dc_read_container</KEYWORD1>\r
+                       <KEYWORD1>dc_read_dib</KEYWORD1>\r
+                       <KEYWORD1>dc_read_fixed</KEYWORD1>\r
+                       <KEYWORD1>dc_read_free</KEYWORD1>\r
+                       <KEYWORD1>dc_read_tiff</KEYWORD1>\r
+                       <KEYWORD1>dc_scan_container</KEYWORD1>\r
+                       <KEYWORD1>dc_write_24_bit</KEYWORD1>\r
+                       <KEYWORD1>dc_write_8_bit</KEYWORD1>\r
+                       <KEYWORD1>dc_write_dib</KEYWORD1>\r
+                       <KEYWORD1>dc_write_fixed</KEYWORD1>\r
+                       <KEYWORD1>dc_write_free</KEYWORD1>\r
+                       <KEYWORD1>dc_write_tiff</KEYWORD1>\r
+                       <KEYWORD1>dcindgen</KEYWORD1>\r
+                       <KEYWORD1>dcomplex</KEYWORD1>\r
+                       <KEYWORD1>dcomplexarr</KEYWORD1>\r
+                       <KEYWORD1>declare func</KEYWORD1>\r
+                       <KEYWORD1>declare function</KEYWORD1>\r
+                       <KEYWORD1>define_key</KEYWORD1>\r
+                       <KEYWORD1>defroi</KEYWORD1>\r
+                       <KEYWORD1>defsysv</KEYWORD1>\r
+                       <KEYWORD1>del_file</KEYWORD1>\r
+                       <KEYWORD1>delfunc</KEYWORD1>\r
+                       <KEYWORD1>dellog</KEYWORD1>\r
+                       <KEYWORD1>delproc</KEYWORD1>\r
+                       <KEYWORD1>delstruct</KEYWORD1>\r
+                       <KEYWORD1>delvar</KEYWORD1>\r
+                       <KEYWORD1>demo</KEYWORD1>\r
+                       <KEYWORD1>deriv</KEYWORD1>\r
+                       <KEYWORD1>derivn</KEYWORD1>\r
+                       <KEYWORD1>determ</KEYWORD1>\r
+                       <KEYWORD1>device</KEYWORD1>\r
+                       <KEYWORD1>diag</KEYWORD1>\r
+                       <KEYWORD1>dicm_tag_info</KEYWORD1>\r
+                       <KEYWORD1>digital_filter</KEYWORD1>\r
+                       <KEYWORD1>dilate</KEYWORD1>\r
+                       <KEYWORD1>dindgen</KEYWORD1>\r
+                       <KEYWORD1>dist</KEYWORD1>\r
+                       <KEYWORD1>dminit</KEYWORD1>\r
+                       <KEYWORD1>doc_lib_unix</KEYWORD1>\r
+                       <KEYWORD1>doc_library</KEYWORD1>\r
+                       <KEYWORD1>double</KEYWORD1>\r
+                       <KEYWORD1>drop_exec_on_select</KEYWORD1>\r
+                       <KEYWORD1>dt_add</KEYWORD1>\r
+                       <KEYWORD1>dt_addly</KEYWORD1>\r
+                       <KEYWORD1>dt_compress</KEYWORD1>\r
+                       <KEYWORD1>dt_duration</KEYWORD1>\r
+                       <KEYWORD1>dt_print</KEYWORD1>\r
+                       <KEYWORD1>dt_subly</KEYWORD1>\r
+                       <KEYWORD1>dt_subtract</KEYWORD1>\r
+                       <KEYWORD1>dt_to_sec</KEYWORD1>\r
+                       <KEYWORD1>dt_to_str</KEYWORD1>\r
+                       <KEYWORD1>dt_to_var</KEYWORD1>\r
+                       <KEYWORD1>dtegn</KEYWORD1>\r
+                       <KEYWORD1>empty</KEYWORD1>\r
+                       <KEYWORD1>environment</KEYWORD1>\r
+                       <KEYWORD1>eof</KEYWORD1>\r
+                       <KEYWORD1>erase</KEYWORD1>\r
+                       <KEYWORD1>erode</KEYWORD1>\r
+                       <KEYWORD1>errorf</KEYWORD1>\r
+                       <KEYWORD1>errplot</KEYWORD1>\r
+                       <KEYWORD1>euclidean</KEYWORD1>\r
+                       <KEYWORD1>exec_on_select</KEYWORD1>\r
+                       <KEYWORD1>execute</KEYWORD1>\r
+                       <KEYWORD1>exp</KEYWORD1>\r
+                       <KEYWORD1>expand</KEYWORD1>\r
+                       <KEYWORD1>expon</KEYWORD1>\r
+                       <KEYWORD1>extrema</KEYWORD1>\r
+                       <KEYWORD1>factor</KEYWORD1>\r
+                       <KEYWORD1>fast_grid2</KEYWORD1>\r
+                       <KEYWORD1>fast_grid3</KEYWORD1>\r
+                       <KEYWORD1>fast_grid4</KEYWORD1>\r
+                       <KEYWORD1>fft</KEYWORD1>\r
+                       <KEYWORD1>filepath</KEYWORD1>\r
+                       <KEYWORD1>findfile</KEYWORD1>\r
+                       <KEYWORD1>findgen</KEYWORD1>\r
+                       <KEYWORD1>finite</KEYWORD1>\r
+                       <KEYWORD1>fix</KEYWORD1>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>fltarr</KEYWORD1>\r
+                       <KEYWORD1>flush</KEYWORD1>\r
+                       <KEYWORD1>free_lun</KEYWORD1>\r
+                       <KEYWORD1>fstat</KEYWORD1>\r
+                       <KEYWORD1>funct</KEYWORD1>\r
+                       <KEYWORD1>gamma</KEYWORD1>\r
+                       <KEYWORD1>gaussfit</KEYWORD1>\r
+                       <KEYWORD1>gaussint</KEYWORD1>\r
+                       <KEYWORD1>gcd</KEYWORD1>\r
+                       <KEYWORD1>get_kbrd</KEYWORD1>\r
+                       <KEYWORD1>get_lun</KEYWORD1>\r
+                       <KEYWORD1>getenv</KEYWORD1>\r
+                       <KEYWORD1>get_named_color</KEYWORD1>\r
+                       <KEYWORD1>getncerr</KEYWORD1>\r
+                       <KEYWORD1>getncopts</KEYWORD1>\r
+                       <KEYWORD1>getparam</KEYWORD1>\r
+                       <KEYWORD1>great_int</KEYWORD1>\r
+                       <KEYWORD1>grid</KEYWORD1>\r
+                       <KEYWORD1>grid_2d</KEYWORD1>\r
+                       <KEYWORD1>grid_3d</KEYWORD1>\r
+                       <KEYWORD1>grid_4d</KEYWORD1>\r
+                       <KEYWORD1>grid_sphere</KEYWORD1>\r
+                       <KEYWORD1>gridn</KEYWORD1>\r
+                       <KEYWORD1>group_by</KEYWORD1>\r
+                       <KEYWORD1>hak</KEYWORD1>\r
+                       <KEYWORD1>hanning</KEYWORD1>\r
+                       <KEYWORD1>hdf_test</KEYWORD1>\r
+                       <KEYWORD1>hdfgetsds</KEYWORD1>\r
+                       <KEYWORD1>help</KEYWORD1>\r
+                       <KEYWORD1>hilbert</KEYWORD1>\r
+                       <KEYWORD1>hist_equal</KEYWORD1>\r
+                       <KEYWORD1>hist_equal_ct</KEYWORD1>\r
+                       <KEYWORD1>histn</KEYWORD1>\r
+                       <KEYWORD1>histogram</KEYWORD1>\r
+                       <KEYWORD1>hls</KEYWORD1>\r
+                       <KEYWORD1>hsv</KEYWORD1>\r
+                       <KEYWORD1>hsv_to_rgd</KEYWORD1>\r
+                       <KEYWORD1>image_check</KEYWORD1>\r
+                       <KEYWORD1>image_color_quant</KEYWORD1>\r
+                       <KEYWORD1>image_cont</KEYWORD1>\r
+                       <KEYWORD1>image_create</KEYWORD1>\r
+                       <KEYWORD1>image_display</KEYWORD1>\r
+                       <KEYWORD1>image_filetypes</KEYWORD1>\r
+                       <KEYWORD1>image_query_file</KEYWORD1>\r
+                       <KEYWORD1>image_read</KEYWORD1>\r
+                       <KEYWORD1>image_write</KEYWORD1>\r
+                       <KEYWORD1>imaginary</KEYWORD1>\r
+                       <KEYWORD1>img_true8</KEYWORD1>\r
+                       <KEYWORD1>index_and</KEYWORD1>\r
+                       <KEYWORD1>index_conv</KEYWORD1>\r
+                       <KEYWORD1>index_or</KEYWORD1>\r
+                       <KEYWORD1>indgen</KEYWORD1>\r
+                       <KEYWORD1>intarr</KEYWORD1>\r
+                       <KEYWORD1>interpol</KEYWORD1>\r
+                       <KEYWORD1>interpolate</KEYWORD1>\r
+                       <KEYWORD1>intrp</KEYWORD1>\r
+                       <KEYWORD1>invert</KEYWORD1>\r
+                       <KEYWORD1>isaskey</KEYWORD1>\r
+                       <KEYWORD1>ishft</KEYWORD1>\r
+                       <KEYWORD1>jacobian</KEYWORD1>\r
+                       <KEYWORD1>jul_to_dt</KEYWORD1>\r
+                       <KEYWORD1>keyword_set</KEYWORD1>\r
+                       <KEYWORD1>lcm</KEYWORD1>\r
+                       <KEYWORD1>leefilt</KEYWORD1>\r
+                       <KEYWORD1>legend</KEYWORD1>\r
+                       <KEYWORD1>lindgen</KEYWORD1>\r
+                       <KEYWORD1>linknload</KEYWORD1>\r
+                       <KEYWORD1>list</KEYWORD1>\r
+                       <KEYWORD1>listarr</KEYWORD1>\r
+                       <KEYWORD1>load_holidays</KEYWORD1>\r
+                       <KEYWORD1>load_option</KEYWORD1>\r
+                       <KEYWORD1>load_weekends</KEYWORD1>\r
+                       <KEYWORD1>loadct</KEYWORD1>\r
+                       <KEYWORD1>loadct_custom</KEYWORD1>\r
+                       <KEYWORD1>loadresources</KEYWORD1>\r
+                       <KEYWORD1>loadstrings</KEYWORD1>\r
+                       <KEYWORD1>lonarr</KEYWORD1>\r
+                       <KEYWORD1>long</KEYWORD1>\r
+                       <KEYWORD1>lubksb</KEYWORD1>\r
+                       <KEYWORD1>ludcmp</KEYWORD1>\r
+                       <KEYWORD1>make_array</KEYWORD1>\r
+                       <KEYWORD1>map</KEYWORD1>\r
+                       <KEYWORD1>map_axes</KEYWORD1>\r
+                       <KEYWORD1>map_contour</KEYWORD1>\r
+                       <KEYWORD1>map_grid</KEYWORD1>\r
+                       <KEYWORD1>map_plots</KEYWORD1>\r
+                       <KEYWORD1>map_polyfill</KEYWORD1>\r
+                       <KEYWORD1>map_proj</KEYWORD1>\r
+                       <KEYWORD1>map_reverse</KEYWORD1>\r
+                       <KEYWORD1>map_velovect</KEYWORD1>\r
+                       <KEYWORD1>map_version</KEYWORD1>\r
+                       <KEYWORD1>map_xyouts</KEYWORD1>\r
+                       <KEYWORD1>max</KEYWORD1>\r
+                       <KEYWORD1>median</KEYWORD1>\r
+                       <KEYWORD1>mesh</KEYWORD1>\r
+                       <KEYWORD1>message</KEYWORD1>\r
+                       <KEYWORD1>min</KEYWORD1>\r
+                       <KEYWORD1>modifyct</KEYWORD1>\r
+                       <KEYWORD1>molec</KEYWORD1>\r
+                       <KEYWORD1>moment</KEYWORD1>\r
+                       <KEYWORD1>month_name</KEYWORD1>\r
+                       <KEYWORD1>movie</KEYWORD1>\r
+                       <KEYWORD1>mprove</KEYWORD1>\r
+                       <KEYWORD1>msword_cgm_setup</KEYWORD1>\r
+                       <KEYWORD1>n_elements</KEYWORD1>\r
+                       <KEYWORD1>n_params</KEYWORD1>\r
+                       <KEYWORD1>n_tags</KEYWORD1>\r
+                       <KEYWORD1>nint</KEYWORD1>\r
+                       <KEYWORD1>normals</KEYWORD1>\r
+                       <KEYWORD1>null_processor</KEYWORD1>\r
+                       <KEYWORD1>openr</KEYWORD1>\r
+                       <KEYWORD1>openu</KEYWORD1>\r
+                       <KEYWORD1>openw</KEYWORD1>\r
+                       <KEYWORD1>oplot</KEYWORD1>\r
+                       <KEYWORD1>oploterr</KEYWORD1>\r
+                       <KEYWORD1>option_is_loaded</KEYWORD1>\r
+                       <KEYWORD1>order_by</KEYWORD1>\r
+                       <KEYWORD1>padit</KEYWORD1>\r
+                       <KEYWORD1>packimage</KEYWORD1>\r
+                       <KEYWORD1>packtable</KEYWORD1>\r
+                       <KEYWORD1>palette</KEYWORD1>\r
+                       <KEYWORD1>param_present</KEYWORD1>\r
+                       <KEYWORD1>parsefilename</KEYWORD1>\r
+                       <KEYWORD1>pie</KEYWORD1>\r
+                       <KEYWORD1>pie_chart</KEYWORD1>\r
+                       <KEYWORD1>plot</KEYWORD1>\r
+                       <KEYWORD1>plot_field</KEYWORD1>\r
+                       <KEYWORD1>plot_histogram</KEYWORD1>\r
+                       <KEYWORD1>plot_io</KEYWORD1>\r
+                       <KEYWORD1>plot_oi</KEYWORD1>\r
+                       <KEYWORD1>plot_oo</KEYWORD1>\r
+                       <KEYWORD1>plot_windrose</KEYWORD1>\r
+                       <KEYWORD1>ploterr</KEYWORD1>\r
+                       <KEYWORD1>plots</KEYWORD1>\r
+                       <KEYWORD1>pm</KEYWORD1>\r
+                       <KEYWORD1>pmf</KEYWORD1>\r
+                       <KEYWORD1>point_lun</KEYWORD1>\r
+                       <KEYWORD1>poly</KEYWORD1>\r
+                       <KEYWORD1>poly_2d</KEYWORD1>\r
+                       <KEYWORD1>poly_area</KEYWORD1>\r
+                       <KEYWORD1>poly_c_conv</KEYWORD1>\r
+                       <KEYWORD1>poly_count</KEYWORD1>\r
+                       <KEYWORD1>poly_dev</KEYWORD1>\r
+                       <KEYWORD1>poly_fit</KEYWORD1>\r
+                       <KEYWORD1>poly_merge</KEYWORD1>\r
+                       <KEYWORD1>poly_norm</KEYWORD1>\r
+                       <KEYWORD1>poly_plot</KEYWORD1>\r
+                       <KEYWORD1>poly_sphere</KEYWORD1>\r
+                       <KEYWORD1>poly_surf</KEYWORD1>\r
+                       <KEYWORD1>poly_trans</KEYWORD1>\r
+                       <KEYWORD1>polyfill</KEYWORD1>\r
+                       <KEYWORD1>polyfillv</KEYWORD1>\r
+                       <KEYWORD1>polyfitw</KEYWORD1>\r
+                       <KEYWORD1>polyshade</KEYWORD1>\r
+                       <KEYWORD1>polywarp</KEYWORD1>\r
+                       <KEYWORD1>popd</KEYWORD1>\r
+                       <KEYWORD1>prime</KEYWORD1>\r
+                       <KEYWORD1>print</KEYWORD1>\r
+                       <KEYWORD1>printd</KEYWORD1>\r
+                       <KEYWORD1>printf</KEYWORD1>\r
+                       <KEYWORD1>profile</KEYWORD1>\r
+                       <KEYWORD1>profiles</KEYWORD1>\r
+                       <KEYWORD1>prompt</KEYWORD1>\r
+                       <KEYWORD1>pseudo</KEYWORD1>\r
+                       <KEYWORD1>pushd</KEYWORD1>\r
+                       <KEYWORD1>query_table</KEYWORD1>\r
+                       <KEYWORD1>randomn</KEYWORD1>\r
+                       <KEYWORD1>randomu</KEYWORD1>\r
+                       <KEYWORD1>rdpix</KEYWORD1>\r
+                       <KEYWORD1>read</KEYWORD1>\r
+                       <KEYWORD1>read_airs</KEYWORD1>\r
+                       <KEYWORD1>read_xbm</KEYWORD1>\r
+                       <KEYWORD1>readf</KEYWORD1>\r
+                       <KEYWORD1>readu</KEYWORD1>\r
+                       <KEYWORD1>rebin</KEYWORD1>\r
+                       <KEYWORD1>reform</KEYWORD1>\r
+                       <KEYWORD1>regress</KEYWORD1>\r
+                       <KEYWORD1>rename</KEYWORD1>\r
+                       <KEYWORD1>render</KEYWORD1>\r
+                       <KEYWORD1>render24</KEYWORD1>\r
+                       <KEYWORD1>replicate</KEYWORD1>\r
+                       <KEYWORD1>replv</KEYWORD1>\r
+                       <KEYWORD1>resamp</KEYWORD1>\r
+                       <KEYWORD1>reverse</KEYWORD1>\r
+                       <KEYWORD1>rgb_to_hsv</KEYWORD1>\r
+                       <KEYWORD1>rm</KEYWORD1>\r
+                       <KEYWORD1>rmf</KEYWORD1>\r
+                       <KEYWORD1>roberts</KEYWORD1>\r
+                       <KEYWORD1>rot</KEYWORD1>\r
+                       <KEYWORD1>rot_int</KEYWORD1>\r
+                       <KEYWORD1>rotate</KEYWORD1>\r
+                       <KEYWORD1>same</KEYWORD1>\r
+                       <KEYWORD1>scale3d</KEYWORD1>\r
+                       <KEYWORD1>sec_to_dt</KEYWORD1>\r
+                       <KEYWORD1>select_read_lun</KEYWORD1>\r
+                       <KEYWORD1>set_plot</KEYWORD1>\r
+                       <KEYWORD1>set_screen</KEYWORD1>\r
+                       <KEYWORD1>set_shading</KEYWORD1>\r
+                       <KEYWORD1>set_symbol</KEYWORD1>\r
+                       <KEYWORD1>set_view3d</KEYWORD1>\r
+                       <KEYWORD1>set_viewport</KEYWORD1>\r
+                       <KEYWORD1>set_xy</KEYWORD1>\r
+                       <KEYWORD1>setdemo</KEYWORD1>\r
+                       <KEYWORD1>setenv</KEYWORD1>\r
+                       <KEYWORD1>setimagesize</KEYWORD1>\r
+                       <KEYWORD1>setlog</KEYWORD1>\r
+                       <KEYWORD1>setncopts</KEYWORD1>\r
+                       <KEYWORD1>setup_keys</KEYWORD1>\r
+                       <KEYWORD1>sgn</KEYWORD1>\r
+                       <KEYWORD1>shade_surf</KEYWORD1>\r
+                       <KEYWORD1>shade_surf_irr</KEYWORD1>\r
+                       <KEYWORD1>shade_volume</KEYWORD1>\r
+                       <KEYWORD1>shif</KEYWORD1>\r
+                       <KEYWORD1>shift</KEYWORD1>\r
+                       <KEYWORD1>show_options</KEYWORD1>\r
+                       <KEYWORD1>show3</KEYWORD1>\r
+                       <KEYWORD1>sigma</KEYWORD1>\r
+                       <KEYWORD1>sin</KEYWORD1>\r
+                       <KEYWORD1>sindgen</KEYWORD1>\r
+                       <KEYWORD1>sinh</KEYWORD1>\r
+                       <KEYWORD1>size</KEYWORD1>\r
+                       <KEYWORD1>skipf</KEYWORD1>\r
+                       <KEYWORD1>slice</KEYWORD1>\r
+                       <KEYWORD1>slice_vol</KEYWORD1>\r
+                       <KEYWORD1>small_int</KEYWORD1>\r
+                       <KEYWORD1>smooth</KEYWORD1>\r
+                       <KEYWORD1>sobel</KEYWORD1>\r
+                       <KEYWORD1>socket_accept</KEYWORD1>\r
+                       <KEYWORD1>socket_close</KEYWORD1>\r
+                       <KEYWORD1>socket_connect</KEYWORD1>\r
+                       <KEYWORD1>socket_getport</KEYWORD1>\r
+                       <KEYWORD1>socket_init</KEYWORD1>\r
+                       <KEYWORD1>socket_read</KEYWORD1>\r
+                       <KEYWORD1>socket_write</KEYWORD1>\r
+                       <KEYWORD1>sort</KEYWORD1>\r
+                       <KEYWORD1>sortn</KEYWORD1>\r
+                       <KEYWORD1>spawn</KEYWORD1>\r
+                       <KEYWORD1>sphere</KEYWORD1>\r
+                       <KEYWORD1>spline</KEYWORD1>\r
+                       <KEYWORD1>sqrt</KEYWORD1>\r
+                       <KEYWORD1>stdev</KEYWORD1>\r
+                       <KEYWORD1>str_to_dt</KEYWORD1>\r
+                       <KEYWORD1>strarr</KEYWORD1>\r
+                       <KEYWORD1>strcompress</KEYWORD1>\r
+                       <KEYWORD1>stretch</KEYWORD1>\r
+                       <KEYWORD1>string</KEYWORD1>\r
+                       <KEYWORD1>strjoin</KEYWORD1>\r
+                       <KEYWORD1>strlen</KEYWORD1>\r
+                       <KEYWORD1>strlookup</KEYWORD1>\r
+                       <KEYWORD1>strlowcase</KEYWORD1>\r
+                       <KEYWORD1>strmatch</KEYWORD1>\r
+                       <KEYWORD1>strmessage</KEYWORD1>\r
+                       <KEYWORD1>strmid</KEYWORD1>\r
+                       <KEYWORD1>strpos</KEYWORD1>\r
+                       <KEYWORD1>strput</KEYWORD1>\r
+                       <KEYWORD1>strsplit</KEYWORD1>\r
+                       <KEYWORD1>strsubst</KEYWORD1>\r
+                       <KEYWORD1>strtrim</KEYWORD1>\r
+                       <KEYWORD1>structref</KEYWORD1>\r
+                       <KEYWORD1>strupcase</KEYWORD1>\r
+                       <KEYWORD1>sum</KEYWORD1>\r
+                       <KEYWORD1>surface</KEYWORD1>\r
+                       <KEYWORD1>surface_fit</KEYWORD1>\r
+                       <KEYWORD1>surfr</KEYWORD1>\r
+                       <KEYWORD1>svbksb</KEYWORD1>\r
+                       <KEYWORD1>svd</KEYWORD1>\r
+                       <KEYWORD1>svdfit</KEYWORD1>\r
+                       <KEYWORD1>systime</KEYWORD1>\r
+                       <KEYWORD1>t3d</KEYWORD1>\r
+                       <KEYWORD1>tag_names</KEYWORD1>\r
+                       <KEYWORD1>tan</KEYWORD1>\r
+                       <KEYWORD1>tanh</KEYWORD1>\r
+                       <KEYWORD1>tek_color</KEYWORD1>\r
+                       <KEYWORD1>tensor_add</KEYWORD1>\r
+                       <KEYWORD1>tensor_div</KEYWORD1>\r
+                       <KEYWORD1>tensor_eq</KEYWORD1>\r
+                       <KEYWORD1>tensor_exp</KEYWORD1>\r
+                       <KEYWORD1>tensor_ge</KEYWORD1>\r
+                       <KEYWORD1>tensor_gt</KEYWORD1>\r
+                       <KEYWORD1>tensor_le</KEYWORD1>\r
+                       <KEYWORD1>tensor_lt</KEYWORD1>\r
+                       <KEYWORD1>tensor_max</KEYWORD1>\r
+                       <KEYWORD1>tensor_min</KEYWORD1>\r
+                       <KEYWORD1>tensor_mod</KEYWORD1>\r
+                       <KEYWORD1>tensor_mul</KEYWORD1>\r
+                       <KEYWORD1>tensor_ne</KEYWORD1>\r
+                       <KEYWORD1>tensor_sub</KEYWORD1>\r
+                       <KEYWORD1>threed</KEYWORD1>\r
+                       <KEYWORD1>today</KEYWORD1>\r
+                       <KEYWORD1>total</KEYWORD1>\r
+                       <KEYWORD1>tqli</KEYWORD1>\r
+                       <KEYWORD1>transpose</KEYWORD1>\r
+                       <KEYWORD1>tred2</KEYWORD1>\r
+                       <KEYWORD1>tridag</KEYWORD1>\r
+                       <KEYWORD1>tv</KEYWORD1>\r
+                       <KEYWORD1>tvcrs</KEYWORD1>\r
+                       <KEYWORD1>tvlct</KEYWORD1>\r
+                       <KEYWORD1>tvrd</KEYWORD1>\r
+                       <KEYWORD1>tvscl</KEYWORD1>\r
+                       <KEYWORD1>tvsize</KEYWORD1>\r
+                       <KEYWORD1>uniqn</KEYWORD1>\r
+                       <KEYWORD1>unique</KEYWORD1>\r
+                       <KEYWORD1>unix_listen</KEYWORD1>\r
+                       <KEYWORD1>unix_reply</KEYWORD1>\r
+                       <KEYWORD1>unload_option</KEYWORD1>\r
+                       <KEYWORD1>upvar</KEYWORD1>\r
+                       <KEYWORD1>usersym</KEYWORD1>\r
+                       <KEYWORD1>usgs_names</KEYWORD1>\r
+                       <KEYWORD1>value_length</KEYWORD1>\r
+                       <KEYWORD1>var_match</KEYWORD1>\r
+                       <KEYWORD1>var_to_dt</KEYWORD1>\r
+                       <KEYWORD1>vector_field3</KEYWORD1>\r
+                       <KEYWORD1>vel</KEYWORD1>\r
+                       <KEYWORD1>velovect</KEYWORD1>\r
+                       <KEYWORD1>viewer</KEYWORD1>\r
+                       <KEYWORD1>vol_marker</KEYWORD1>\r
+                       <KEYWORD1>vol_pad</KEYWORD1>\r
+                       <KEYWORD1>vol_red</KEYWORD1>\r
+                       <KEYWORD1>vol_trans</KEYWORD1>\r
+                       <KEYWORD1>volume</KEYWORD1>\r
+                       <KEYWORD1>vtkaddattribute</KEYWORD1>\r
+                       <KEYWORD1>vtkaxes</KEYWORD1>\r
+                       <KEYWORD1>vtkcamera</KEYWORD1>\r
+                       <KEYWORD1>vtkclose</KEYWORD1>\r
+                       <KEYWORD1>vtkcolorbar</KEYWORD1>\r
+                       <KEYWORD1>vtkcolornames</KEYWORD1>\r
+                       <KEYWORD1>vtkcommand</KEYWORD1>\r
+                       <KEYWORD1>vtkerase</KEYWORD1>\r
+                       <KEYWORD1>vtkformat</KEYWORD1>\r
+                       <KEYWORD1>vtkgrid</KEYWORD1>\r
+                       <KEYWORD1>vtkhedgehog</KEYWORD1>\r
+                       <KEYWORD1>vtkinit</KEYWORD1>\r
+                       <KEYWORD1>vtklight</KEYWORD1>\r
+                       <KEYWORD1>vtkplots</KEYWORD1>\r
+                       <KEYWORD1>vtkpolydata</KEYWORD1>\r
+                       <KEYWORD1>vtkpolyformat</KEYWORD1>\r
+                       <KEYWORD1>vtkpolyshade</KEYWORD1>\r
+                       <KEYWORD1>vtkppmread</KEYWORD1>\r
+                       <KEYWORD1>vtkppmwrite</KEYWORD1>\r
+                       <KEYWORD1>vtkreadvtk</KEYWORD1>\r
+                       <KEYWORD1>vtkrectilineargrid</KEYWORD1>\r
+                       <KEYWORD1>vtkrenderwindow</KEYWORD1>\r
+                       <KEYWORD1>vtkscatter</KEYWORD1>\r
+                       <KEYWORD1>vtkslicevol</KEYWORD1>\r
+                       <KEYWORD1>vtkstructuredpoints</KEYWORD1>\r
+                       <KEYWORD1>vtkstructuredgrid</KEYWORD1>\r
+                       <KEYWORD1>vtksurface</KEYWORD1>\r
+                       <KEYWORD1>vtksurfgen</KEYWORD1>\r
+                       <KEYWORD1>vtktext</KEYWORD1>\r
+                       <KEYWORD1>vtktvrd</KEYWORD1>\r
+                       <KEYWORD1>vtkunstructuredgrid</KEYWORD1>\r
+                       <KEYWORD1>vtkwdelete</KEYWORD1>\r
+                       <KEYWORD1>vtkwindow</KEYWORD1>\r
+                       <KEYWORD1>vtkwritevrml</KEYWORD1>\r
+                       <KEYWORD1>vtkwset</KEYWORD1>\r
+                       <KEYWORD1>wait</KEYWORD1>\r
+                       <KEYWORD1>wavedatamanager</KEYWORD1>\r
+                       <KEYWORD1>waveserver</KEYWORD1>\r
+                       <KEYWORD1>wcopy</KEYWORD1>\r
+                       <KEYWORD1>wdelete</KEYWORD1>\r
+                       <KEYWORD1>where</KEYWORD1>\r
+                       <KEYWORD1>wherein</KEYWORD1>\r
+                       <KEYWORD1>window</KEYWORD1>\r
+                       <KEYWORD1>wmenu</KEYWORD1>\r
+                       <KEYWORD1>wpaste</KEYWORD1>\r
+                       <KEYWORD1>wprint</KEYWORD1>\r
+                       <KEYWORD1>wread_dib</KEYWORD1>\r
+                       <KEYWORD1>wread_meta</KEYWORD1>\r
+                       <KEYWORD1>write_xbm</KEYWORD1>\r
+                       <KEYWORD1>writeu</KEYWORD1>\r
+                       <KEYWORD1>wset</KEYWORD1>\r
+                       <KEYWORD1>whow</KEYWORD1>\r
+                       <KEYWORD1>wwrite_dib</KEYWORD1>\r
+                       <KEYWORD1>wwrite_meta</KEYWORD1>\r
+                       <KEYWORD1>xyouts</KEYWORD1>\r
+                       <KEYWORD1>zoom</KEYWORD1>\r
+                       <KEYWORD1>zroots</KEYWORD1>\r
+               <!--KEYWORD2s are PV-WAVE keywords -->\r
+                       <KEYWORD2>begin</KEYWORD2>\r
+                       <KEYWORD2>breakpoint</KEYWORD2>\r
+                       <KEYWORD2>case</KEYWORD2>\r
+                       <KEYWORD2>common</KEYWORD2>\r
+                       <KEYWORD2>compile</KEYWORD2>\r
+                       <KEYWORD2>declare</KEYWORD2>\r
+                       <KEYWORD2>do</KEYWORD2>\r
+                       <KEYWORD2>else</KEYWORD2>\r
+                       <KEYWORD2>end</KEYWORD2>\r
+                       <KEYWORD2>endcase</KEYWORD2>\r
+                       <KEYWORD2>endelse</KEYWORD2>\r
+                       <KEYWORD2>endfor</KEYWORD2>\r
+                       <KEYWORD2>endif</KEYWORD2>\r
+                       <KEYWORD2>endrepeat</KEYWORD2>\r
+                       <KEYWORD2>endwhile</KEYWORD2>\r
+                       <KEYWORD2>exit</KEYWORD2>\r
+                       <KEYWORD2>for</KEYWORD2>\r
+                       <KEYWORD2>func</KEYWORD2>\r
+                       <KEYWORD2>function</KEYWORD2>\r
+                       <KEYWORD2>goto</KEYWORD2>\r
+                       <KEYWORD2>help</KEYWORD2>\r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>info</KEYWORD2>\r
+                       <KEYWORD2>journal</KEYWORD2>\r
+                       <KEYWORD2>locals</KEYWORD2>\r
+                       <KEYWORD2>of</KEYWORD2>\r
+                       <KEYWORD2>on_error</KEYWORD2>\r
+                       <KEYWORD2>on_error_goto</KEYWORD2>\r
+                       <KEYWORD2>on_ioerror</KEYWORD2>\r
+                       <KEYWORD2>pro</KEYWORD2>\r
+                       <KEYWORD2>quit</KEYWORD2>\r
+                       <KEYWORD2>repeat</KEYWORD2>\r
+                       <KEYWORD2>restore</KEYWORD2>\r
+                       <KEYWORD2>retall</KEYWORD2>\r
+                       <KEYWORD2>return</KEYWORD2>\r
+                       <KEYWORD2>save</KEYWORD2>\r
+                       <KEYWORD2>stop</KEYWORD2>\r
+                       <KEYWORD2>then</KEYWORD2>\r
+                       <KEYWORD2>while</KEYWORD2>\r
+               <!-- KEYWORD3s are binary ops and Widget stuff -->\r
+                       <KEYWORD3>and</KEYWORD3>\r
+                       <KEYWORD3>not</KEYWORD3>\r
+                       <KEYWORD3>or</KEYWORD3>\r
+                       <KEYWORD3>xor</KEYWORD3>\r
+                       <KEYWORD3>eq</KEYWORD3>\r
+                       <KEYWORD3>ne</KEYWORD3>\r
+                       <KEYWORD3>gt</KEYWORD3>\r
+                       <KEYWORD3>lt</KEYWORD3>\r
+                       <KEYWORD3>ge</KEYWORD3>\r
+                       <KEYWORD3>le</KEYWORD3>\r
+                       <KEYWORD3>mod</KEYWORD3>\r
+                       <KEYWORD3>WgAnimateTool</KEYWORD3>\r
+                       <KEYWORD3>WgCbarTool</KEYWORD3>\r
+                       <KEYWORD3>WgCtTool</KEYWORD3>\r
+                       <KEYWORD3>WgIsoSurfTool</KEYWORD3>\r
+                       <KEYWORD3>WgMovieTool</KEYWORD3>\r
+                       <KEYWORD3>WgSimageTool</KEYWORD3>\r
+                       <KEYWORD3>WgSliceTool</KEYWORD3>\r
+                       <KEYWORD3>WgSurfaceTool</KEYWORD3>\r
+                       <KEYWORD3>WgTextTool</KEYWORD3>\r
+                       <KEYWORD3>WoAddButtons</KEYWORD3>\r
+                       <KEYWORD3>WoAddMessage</KEYWORD3>\r
+                       <KEYWORD3>WoAddStatus</KEYWORD3>\r
+                       <KEYWORD3>WoButtonBar</KEYWORD3>\r
+                       <KEYWORD3>WoCheckFile</KEYWORD3>\r
+                       <KEYWORD3>WoColorButton</KEYWORD3>\r
+                       <KEYWORD3>WoColorConvert</KEYWORD3>\r
+                       <KEYWORD3>WoColorGrid</KEYWORD3>\r
+                       <KEYWORD3>WoColorWheel</KEYWORD3>\r
+                       <KEYWORD3>WoConfirmClose</KEYWORD3>\r
+                       <KEYWORD3>WoDialogStatus</KEYWORD3>\r
+                       <KEYWORD3>WoFontOptionMenu</KEYWORD3>\r
+                       <KEYWORD3>WoGenericDialog</KEYWORD3>\r
+                       <KEYWORD3>WoLabeledText</KEYWORD3>\r
+                       <KEYWORD3>WoMenuBar</KEYWORD3>\r
+                       <KEYWORD3>WoMessage</KEYWORD3>\r
+                       <KEYWORD3>WoSaveAsPixmap</KEYWORD3>\r
+                       <KEYWORD3>WoSetCursor</KEYWORD3>\r
+                       <KEYWORD3>WoSetWindowTitle</KEYWORD3>\r
+                       <KEYWORD3>WoStatus</KEYWORD3>\r
+                       <KEYWORD3>WoVariableOptionMenu</KEYWORD3>\r
+                       <KEYWORD3>WtAddCallback</KEYWORD3>\r
+                       <KEYWORD3>WtAddHandler</KEYWORD3>\r
+                       <KEYWORD3>WtCursor</KEYWORD3>\r
+                       <KEYWORD3>WtGet</KEYWORD3>\r
+                       <KEYWORD3>WtPointer</KEYWORD3>\r
+                       <KEYWORD3>WtSet</KEYWORD3>\r
+                       <KEYWORD3>WtTimer</KEYWORD3>\r
+                       <KEYWORD3>WwAlert</KEYWORD3>\r
+                       <KEYWORD3>WwAlertPopdown</KEYWORD3>\r
+                       <KEYWORD3>WwButtonBox</KEYWORD3>\r
+                       <KEYWORD3>WwCallback</KEYWORD3>\r
+                       <KEYWORD3>WwControlsBox</KEYWORD3>\r
+                       <KEYWORD3>WwDialog</KEYWORD3>\r
+                       <KEYWORD3>WwDrawing</KEYWORD3>\r
+                       <KEYWORD3>WwFileSelection</KEYWORD3>\r
+                       <KEYWORD3>WwGenericDialog</KEYWORD3>\r
+                       <KEYWORD3>WwGetButton</KEYWORD3>\r
+                       <KEYWORD3>WwGetKey</KEYWORD3>\r
+                       <KEYWORD3>WwGetPosition</KEYWORD3>\r
+                       <KEYWORD3>WwGetValue</KEYWORD3>\r
+                       <KEYWORD3>WwHandler</KEYWORD3>\r
+                       <KEYWORD3>WwInit</KEYWORD3>\r
+                       <KEYWORD3>WwLayout</KEYWORD3>\r
+                       <KEYWORD3>WwList</KEYWORD3>\r
+                       <KEYWORD3>WwListUtils</KEYWORD3>\r
+                       <KEYWORD3>WwLoop</KEYWORD3>\r
+                       <KEYWORD3>WwMainWindow</KEYWORD3>\r
+                       <KEYWORD3>WwMenuBar</KEYWORD3>\r
+                       <KEYWORD3>WwMenuItem</KEYWORD3>\r
+                       <KEYWORD3>WwMessage</KEYWORD3>\r
+                       <KEYWORD3>WwMultiClickHandler</KEYWORD3>\r
+                       <KEYWORD3>WwOptionMenu</KEYWORD3>\r
+                       <KEYWORD3>WwPickFile</KEYWORD3>\r
+                       <KEYWORD3>WwPopupMenu</KEYWORD3>\r
+                       <KEYWORD3>WwPreview</KEYWORD3>\r
+                       <KEYWORD3>WwPreviewUtils</KEYWORD3>\r
+                       <KEYWORD3>WwRadioBox</KEYWORD3>\r
+                       <KEYWORD3>WwResource</KEYWORD3>\r
+                       <KEYWORD3>WwSeparator</KEYWORD3>\r
+                       <KEYWORD3>WwSetCursor</KEYWORD3>\r
+                       <KEYWORD3>WwSetValue</KEYWORD3>\r
+                       <KEYWORD3>WwTable</KEYWORD3>\r
+                       <KEYWORD3>WwTableUtils</KEYWORD3>\r
+                       <KEYWORD3>WwText</KEYWORD3>\r
+                       <KEYWORD3>WwTimer</KEYWORD3>\r
+                       <KEYWORD3>WwToolBox</KEYWORD3>\r
+                       <KEYWORD3>WzAnimate</KEYWORD3>\r
+                       <KEYWORD3>WzColorEdit</KEYWORD3>\r
+                       <KEYWORD3>WzContour</KEYWORD3>\r
+                       <KEYWORD3>WzExport</KEYWORD3>\r
+                       <KEYWORD3>WzHistogram</KEYWORD3>\r
+                       <KEYWORD3>WzImage</KEYWORD3>\r
+                       <KEYWORD3>WzImport</KEYWORD3>\r
+                       <KEYWORD3>WzMultiView</KEYWORD3>\r
+                       <KEYWORD3>WzPlot</KEYWORD3>\r
+                       <KEYWORD3>WzPreview</KEYWORD3>\r
+                       <KEYWORD3>WzSurface</KEYWORD3>\r
+                       <KEYWORD3>WzTable</KEYWORD3>\r
+                       <KEYWORD3>WzVariable</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/pyrex.xml b/basis/xmode/modes/pyrex.xml
new file mode 100644 (file)
index 0000000..c46d574
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <IMPORT DELEGATE="python::MAIN"/>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD4>cdef</KEYWORD4>\r
+                       <KEYWORD4>char</KEYWORD4>\r
+                       <KEYWORD4>cinclude</KEYWORD4>\r
+                       <KEYWORD4>ctypedef</KEYWORD4>\r
+                       <KEYWORD4>double</KEYWORD4>\r
+                       <KEYWORD4>enum</KEYWORD4>\r
+                       <KEYWORD4>extern</KEYWORD4>\r
+                       <KEYWORD4>float</KEYWORD4>\r
+                       <KEYWORD4>include</KEYWORD4>\r
+                       <KEYWORD4>private</KEYWORD4>\r
+                       <KEYWORD4>public</KEYWORD4>\r
+                       <KEYWORD4>short</KEYWORD4>\r
+                       <KEYWORD4>signed</KEYWORD4>\r
+                       <KEYWORD4>sizeof</KEYWORD4>\r
+                       <KEYWORD4>struct</KEYWORD4>\r
+                       <KEYWORD4>union</KEYWORD4>\r
+                       <KEYWORD4>unsigned</KEYWORD4>\r
+                       <KEYWORD4>void</KEYWORD4>\r
+\r
+                       <LITERAL3>NULL</LITERAL3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/python.xml b/basis/xmode/modes/python.xml
new file mode 100644 (file)
index 0000000..654860e
--- /dev/null
@@ -0,0 +1,396 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Python mode, by Slava Pestov. Based on PythonTokenMarker by -->\r
+<!-- Jonathan Revusky -->\r
+\r
+<!-- Modified 19-Jul-00 by Ivan Frohne to: -->\r
+<!--  (a) implement 'indentOnEnter'; -->\r
+<!--  (b) indent next line automatically after control structures followed -->\r
+<!--     by ':'; -->\r
+<!--  (c) make """ or ''' multiline quotes TYPE LITERAL2; -->\r
+<!--  (d) add TYPE FUNCTION identified by a following '(' -->\r
+<!--  (e) eliminate the '?' SEQ TYPE ('?' has no meaning in Python); -->\r
+<!--  (f) change the TYPE of 'and', 'or', and 'not' to KEYWORD1; and -->\r
+<!--  (g) add all builtin functions, builtin exceptions, -->\r
+<!--     builtin type methods, File object methods, and special type -->\r
+<!--     attributes as TYPE KEYWORD3. -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="unindentNextLines" VALUE="^\s*(pass|else\s*:|elif\s.*:|except(\s.*)?:|finally\s*:)$" />\r
+               <PROPERTY NAME="unindentThisLine" VALUE="^\s*(else|elif\s.*|except(\s.*)?|finally)\s*:" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="electricKeys" VALUE=":" />\r
+               <PROPERTY NAME="ignoreWhitespace" VALUE="false" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- decorator -->\r
+               <EOL_SPAN_REGEXP HASH_CHAR="@" AT_WORD_START="TRUE" TYPE="KEYWORD4">@\w</EOL_SPAN_REGEXP>\r
+\r
+               <!-- Triple-quotes -->\r
+               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL_TWO">\r
+                       <BEGIN>"""</BEGIN>\r
+                       <END>"""</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL_TWO">\r
+                       <BEGIN>'''</BEGIN>\r
+                       <END>'''</END>\r
+               </SPAN>\r
+\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL_ONE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL_ONE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="KEYWORD1">:</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION"\r
+                       MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!--  Reserved Words  -->\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>assert</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>def</KEYWORD1>\r
+                       <KEYWORD1>del</KEYWORD1>\r
+                       <KEYWORD1>elif</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>except</KEYWORD1>\r
+                       <KEYWORD1>exec</KEYWORD1>\r
+                       <KEYWORD1>finally</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>from</KEYWORD1>\r
+                       <KEYWORD1>global</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>import</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>is</KEYWORD1>\r
+                       <KEYWORD1>lambda</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>pass</KEYWORD1>\r
+                       <KEYWORD1>print</KEYWORD1>\r
+                       <KEYWORD1>raise</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>reversed</KEYWORD1>\r
+                       <KEYWORD1>sorted</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>yield</KEYWORD1>\r
+                       <KEYWORD1>self</KEYWORD1>\r
+\r
+                       <!-- builtins -->\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>all</KEYWORD2>\r
+                       <KEYWORD2>any</KEYWORD2>\r
+                       <KEYWORD2>apply</KEYWORD2>\r
+                       <KEYWORD2>bool</KEYWORD2>\r
+                       <KEYWORD2>buffer</KEYWORD2>\r
+                       <KEYWORD2>callable</KEYWORD2>\r
+                       <KEYWORD2>chr</KEYWORD2>\r
+                       <KEYWORD2>classmethod</KEYWORD2>\r
+                       <KEYWORD2>cmp</KEYWORD2>\r
+                       <KEYWORD2>coerce</KEYWORD2>\r
+                       <KEYWORD2>compile</KEYWORD2>\r
+                       <KEYWORD2>complex</KEYWORD2>\r
+                       <KEYWORD2>delattr</KEYWORD2>\r
+                       <KEYWORD2>dict</KEYWORD2>\r
+                       <KEYWORD2>dir</KEYWORD2>\r
+                       <KEYWORD2>divmod</KEYWORD2>\r
+                       <KEYWORD2>enumerate</KEYWORD2>\r
+                       <KEYWORD2>eval</KEYWORD2>\r
+                       <KEYWORD2>execfile</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>filter</KEYWORD2>\r
+                       <KEYWORD2>float</KEYWORD2>\r
+                       <KEYWORD2>frozenset</KEYWORD2>\r
+                       <KEYWORD2>getattr</KEYWORD2>\r
+                       <KEYWORD2>globals</KEYWORD2>\r
+                       <KEYWORD2>hasattr</KEYWORD2>\r
+                       <KEYWORD2>hash</KEYWORD2>\r
+                       <KEYWORD2>hex</KEYWORD2>\r
+                       <KEYWORD2>id</KEYWORD2>\r
+                       <KEYWORD2>input</KEYWORD2>\r
+                       <KEYWORD2>int</KEYWORD2>\r
+                       <KEYWORD2>intern</KEYWORD2>\r
+                       <KEYWORD2>isinstance</KEYWORD2>\r
+                       <KEYWORD2>issubclass</KEYWORD2>\r
+                       <KEYWORD2>iter</KEYWORD2>\r
+                       <KEYWORD2>len</KEYWORD2>\r
+                       <KEYWORD2>list</KEYWORD2>\r
+                       <KEYWORD2>locals</KEYWORD2>\r
+                       <KEYWORD2>long</KEYWORD2>\r
+                       <KEYWORD2>map</KEYWORD2>\r
+                       <KEYWORD2>max</KEYWORD2>\r
+                       <KEYWORD2>min</KEYWORD2>\r
+                       <KEYWORD2>object</KEYWORD2>\r
+                       <KEYWORD2>oct</KEYWORD2>\r
+                       <KEYWORD2>open</KEYWORD2>\r
+                       <KEYWORD2>ord</KEYWORD2>\r
+                       <KEYWORD2>pow</KEYWORD2>\r
+                       <KEYWORD2>property</KEYWORD2>\r
+                       <KEYWORD2>range</KEYWORD2>\r
+                       <KEYWORD2>raw_input</KEYWORD2>\r
+                       <KEYWORD2>reduce</KEYWORD2>\r
+                       <KEYWORD2>reload</KEYWORD2>\r
+                       <KEYWORD2>repr</KEYWORD2>\r
+                       <KEYWORD2>round</KEYWORD2>\r
+                       <KEYWORD2>set</KEYWORD2>\r
+                       <KEYWORD2>setattr</KEYWORD2>\r
+                       <KEYWORD2>slice</KEYWORD2>\r
+                       <KEYWORD2>staticmethod</KEYWORD2>\r
+                       <KEYWORD2>str</KEYWORD2>\r
+                       <KEYWORD2>sum</KEYWORD2>\r
+                       <KEYWORD2>super</KEYWORD2>\r
+                       <KEYWORD2>tuple</KEYWORD2>\r
+                       <KEYWORD2>type</KEYWORD2>\r
+                       <KEYWORD2>unichr</KEYWORD2>\r
+                       <KEYWORD2>unicode</KEYWORD2>\r
+                       <KEYWORD2>vars</KEYWORD2>\r
+                       <KEYWORD2>xrange</KEYWORD2>\r
+                       <KEYWORD2>zip</KEYWORD2>\r
+\r
+                       <!-- exceptions -->\r
+                       <KEYWORD3>ArithmeticError</KEYWORD3>\r
+                       <KEYWORD3>AssertionError</KEYWORD3>\r
+                       <KEYWORD3>AttributeError</KEYWORD3>\r
+                       <KEYWORD3>DeprecationWarning</KEYWORD3>\r
+                       <KEYWORD3>EOFError</KEYWORD3>\r
+                       <KEYWORD3>EnvironmentError</KEYWORD3>\r
+                       <KEYWORD3>Exception</KEYWORD3>\r
+                       <KEYWORD3>FloatingPointError</KEYWORD3>\r
+                       <KEYWORD3>IOError</KEYWORD3>\r
+                       <KEYWORD3>ImportError</KEYWORD3>\r
+                       <KEYWORD3>IndentationError</KEYWORD3>\r
+                       <KEYWORD3>IndexError</KEYWORD3>\r
+                       <KEYWORD3>KeyError</KEYWORD3>\r
+                       <KEYWORD3>KeyboardInterrupt</KEYWORD3>\r
+                       <KEYWORD3>LookupError</KEYWORD3>\r
+                       <KEYWORD3>MemoryError</KEYWORD3>\r
+                       <KEYWORD3>NameError</KEYWORD3>\r
+                       <KEYWORD3>NotImplemented</KEYWORD3>\r
+                       <KEYWORD3>NotImplementedError</KEYWORD3>\r
+                       <KEYWORD3>OSError</KEYWORD3>\r
+                       <KEYWORD3>OverflowError</KEYWORD3>\r
+                       <KEYWORD3>OverflowWarning</KEYWORD3>\r
+                       <KEYWORD3>ReferenceError</KEYWORD3>\r
+                       <KEYWORD3>RuntimeError</KEYWORD3>\r
+                       <KEYWORD3>RuntimeWarning</KEYWORD3>\r
+                       <KEYWORD3>StandardError</KEYWORD3>\r
+                       <KEYWORD3>StopIteration</KEYWORD3>\r
+                       <KEYWORD3>SyntaxError</KEYWORD3>\r
+                       <KEYWORD3>SyntaxWarning</KEYWORD3>\r
+                       <KEYWORD3>SystemError</KEYWORD3>\r
+                       <KEYWORD3>SystemExit</KEYWORD3>\r
+                       <KEYWORD3>TabError</KEYWORD3>\r
+                       <KEYWORD3>TypeError</KEYWORD3>\r
+                       <KEYWORD3>UnboundLocalError</KEYWORD3>\r
+                       <KEYWORD3>UnicodeError</KEYWORD3>\r
+                       <KEYWORD3>UserWarning</KEYWORD3>\r
+                       <KEYWORD3>ValueError</KEYWORD3>\r
+                       <KEYWORD3>Warning</KEYWORD3>\r
+                       <KEYWORD3>WindowsError</KEYWORD3>\r
+                       <KEYWORD3>ZeroDivisionError</KEYWORD3>\r
+\r
+                       <!-- types (from types module) -->\r
+                       <KEYWORD3>BufferType</KEYWORD3>\r
+                       <KEYWORD3>BuiltinFunctionType</KEYWORD3>\r
+                       <KEYWORD3>BuiltinMethodType</KEYWORD3>\r
+                       <KEYWORD3>ClassType</KEYWORD3>\r
+                       <KEYWORD3>CodeType</KEYWORD3>\r
+                       <KEYWORD3>ComplexType</KEYWORD3>\r
+                       <KEYWORD3>DictProxyType</KEYWORD3>\r
+                       <KEYWORD3>DictType</KEYWORD3>\r
+                       <KEYWORD3>DictionaryType</KEYWORD3>\r
+                       <KEYWORD3>EllipsisType</KEYWORD3>\r
+                       <KEYWORD3>FileType</KEYWORD3>\r
+                       <KEYWORD3>FloatType</KEYWORD3>\r
+                       <KEYWORD3>FrameType</KEYWORD3>\r
+                       <KEYWORD3>FunctionType</KEYWORD3>\r
+                       <KEYWORD3>GeneratorType</KEYWORD3>\r
+                       <KEYWORD3>InstanceType</KEYWORD3>\r
+                       <KEYWORD3>IntType</KEYWORD3>\r
+                       <KEYWORD3>LambdaType</KEYWORD3>\r
+                       <KEYWORD3>ListType</KEYWORD3>\r
+                       <KEYWORD3>LongType</KEYWORD3>\r
+                       <KEYWORD3>MethodType</KEYWORD3>\r
+                       <KEYWORD3>ModuleType</KEYWORD3>\r
+                       <KEYWORD3>NoneType</KEYWORD3>\r
+                       <KEYWORD3>ObjectType</KEYWORD3>\r
+                       <KEYWORD3>SliceType</KEYWORD3>\r
+                       <KEYWORD3>StringType</KEYWORD3>\r
+                       <KEYWORD3>StringTypes</KEYWORD3>\r
+                       <KEYWORD3>TracebackType</KEYWORD3>\r
+                       <KEYWORD3>TupleType</KEYWORD3>\r
+                       <KEYWORD3>TypeType</KEYWORD3>\r
+                       <KEYWORD3>UnboundMethodType</KEYWORD3>\r
+                       <KEYWORD3>UnicodeType</KEYWORD3>\r
+                       <KEYWORD3>XRangeType</KEYWORD3>\r
+\r
+                       <KEYWORD3>False</KEYWORD3>\r
+                       <KEYWORD3>None</KEYWORD3>\r
+                       <KEYWORD3>True</KEYWORD3>\r
+\r
+                       <KEYWORD3>__abs__</KEYWORD3>\r
+                       <KEYWORD3>__add__</KEYWORD3>\r
+                       <KEYWORD3>__all__</KEYWORD3>\r
+                       <KEYWORD3>__author__</KEYWORD3>\r
+                       <KEYWORD3>__bases__</KEYWORD3>\r
+                       <KEYWORD3>__builtins__</KEYWORD3>\r
+                       <KEYWORD3>__call__</KEYWORD3>\r
+                       <KEYWORD3>__class__</KEYWORD3>\r
+                       <KEYWORD3>__cmp__</KEYWORD3>\r
+                       <KEYWORD3>__coerce__</KEYWORD3>\r
+                       <KEYWORD3>__contains__</KEYWORD3>\r
+                       <KEYWORD3>__debug__</KEYWORD3>\r
+                       <KEYWORD3>__del__</KEYWORD3>\r
+                       <KEYWORD3>__delattr__</KEYWORD3>\r
+                       <KEYWORD3>__delitem__</KEYWORD3>\r
+                       <KEYWORD3>__delslice__</KEYWORD3>\r
+                       <KEYWORD3>__dict__</KEYWORD3>\r
+                       <KEYWORD3>__div__</KEYWORD3>\r
+                       <KEYWORD3>__divmod__</KEYWORD3>\r
+                       <KEYWORD3>__doc__</KEYWORD3>\r
+                       <KEYWORD3>__docformat__</KEYWORD3>\r
+                       <KEYWORD3>__eq__</KEYWORD3>\r
+                       <KEYWORD3>__file__</KEYWORD3>\r
+                       <KEYWORD3>__float__</KEYWORD3>\r
+                       <KEYWORD3>__floordiv__</KEYWORD3>\r
+                       <KEYWORD3>__future__</KEYWORD3>\r
+                       <KEYWORD3>__ge__</KEYWORD3>\r
+                       <KEYWORD3>__getattr__</KEYWORD3>\r
+                       <KEYWORD3>__getattribute__</KEYWORD3>\r
+                       <KEYWORD3>__getitem__</KEYWORD3>\r
+                       <KEYWORD3>__getslice__</KEYWORD3>\r
+                       <KEYWORD3>__gt__</KEYWORD3>\r
+                       <KEYWORD3>__hash__</KEYWORD3>\r
+                       <KEYWORD3>__hex__</KEYWORD3>\r
+                       <KEYWORD3>__iadd__</KEYWORD3>\r
+                       <KEYWORD3>__import__</KEYWORD3>\r
+                       <KEYWORD3>__imul__</KEYWORD3>\r
+                       <KEYWORD3>__init__</KEYWORD3>\r
+                       <KEYWORD3>__int__</KEYWORD3>\r
+                       <KEYWORD3>__invert__</KEYWORD3>\r
+                       <KEYWORD3>__iter__</KEYWORD3>\r
+                       <KEYWORD3>__le__</KEYWORD3>\r
+                       <KEYWORD3>__len__</KEYWORD3>\r
+                       <KEYWORD3>__long__</KEYWORD3>\r
+                       <KEYWORD3>__lshift__</KEYWORD3>\r
+                       <KEYWORD3>__lt__</KEYWORD3>\r
+                       <KEYWORD3>__members__</KEYWORD3>\r
+                       <KEYWORD3>__metaclass__</KEYWORD3>\r
+                       <KEYWORD3>__mod__</KEYWORD3>\r
+                       <KEYWORD3>__mro__</KEYWORD3>\r
+                       <KEYWORD3>__mul__</KEYWORD3>\r
+                       <KEYWORD3>__name__</KEYWORD3>\r
+                       <KEYWORD3>__ne__</KEYWORD3>\r
+                       <KEYWORD3>__neg__</KEYWORD3>\r
+                       <KEYWORD3>__new__</KEYWORD3>\r
+                       <KEYWORD3>__nonzero__</KEYWORD3>\r
+                       <KEYWORD3>__oct__</KEYWORD3>\r
+                       <KEYWORD3>__or__</KEYWORD3>\r
+                       <KEYWORD3>__path__</KEYWORD3>\r
+                       <KEYWORD3>__pos__</KEYWORD3>\r
+                       <KEYWORD3>__pow__</KEYWORD3>\r
+                       <KEYWORD3>__radd__</KEYWORD3>\r
+                       <KEYWORD3>__rdiv__</KEYWORD3>\r
+                       <KEYWORD3>__rdivmod__</KEYWORD3>\r
+                       <KEYWORD3>__reduce__</KEYWORD3>\r
+                       <KEYWORD3>__repr__</KEYWORD3>\r
+                       <KEYWORD3>__rfloordiv__</KEYWORD3>\r
+                       <KEYWORD3>__rlshift__</KEYWORD3>\r
+                       <KEYWORD3>__rmod__</KEYWORD3>\r
+                       <KEYWORD3>__rmul__</KEYWORD3>\r
+                       <KEYWORD3>__ror__</KEYWORD3>\r
+                       <KEYWORD3>__rpow__</KEYWORD3>\r
+                       <KEYWORD3>__rrshift__</KEYWORD3>\r
+                       <KEYWORD3>__rsub__</KEYWORD3>\r
+                       <KEYWORD3>__rtruediv__</KEYWORD3>\r
+                       <KEYWORD3>__rxor__</KEYWORD3>\r
+                       <KEYWORD3>__setattr__</KEYWORD3>\r
+                       <KEYWORD3>__setitem__</KEYWORD3>\r
+                       <KEYWORD3>__setslice__</KEYWORD3>\r
+                       <KEYWORD3>__self__</KEYWORD3>\r
+                       <KEYWORD3>__slots__</KEYWORD3>\r
+                       <KEYWORD3>__str__</KEYWORD3>\r
+                       <KEYWORD3>__sub__</KEYWORD3>\r
+                       <KEYWORD3>__truediv__</KEYWORD3>\r
+                       <KEYWORD3>__version__</KEYWORD3>\r
+                       <KEYWORD3>__xor__</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <!-- rulesets to syntax highlight string interpolation sequences -->\r
+       <RULES SET="LITERAL_ONE" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%[.]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="%(" TYPE="LITERAL4">%\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
+       </RULES>\r
+       <!-- triple-quoted strings has its own, since it's LITERAL2 by default -->\r
+       <RULES SET="LITERAL_TWO" DEFAULT="LITERAL2" ESCAPE="\">\r
+               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="%(" TYPE="LITERAL4">%\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>B{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>C{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>E{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>I{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>L{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <!--\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="python::MAIN" TYPE="LITERAL3">&gt;&gt;&gt;</EOL_SPAN>\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="python::MAIN" TYPE="LITERAL3">...</EOL_SPAN>\r
+               -->\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="LITERAL3">&gt;&gt;&gt;</EOL_SPAN>\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="LITERAL3">...</EOL_SPAN>\r
+               <MARK_FOLLOWING TYPE="LITERAL3" AT_WHITESPACE_END="TRUE">@</MARK_FOLLOWING>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/quake.xml b/basis/xmode/modes/quake.xml
new file mode 100644 (file)
index 0000000..08af289
--- /dev/null
@@ -0,0 +1,485 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       Quake mode by Marcus Augustine <mail [at] ma [dash] online [dot] net>\r
+-->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="commentStart" VALUE="/*" />\r
+        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+        <PROPERTY NAME="lineComment" VALUE="//" />\r
+    </PROPS>\r
+\r
+    <RULES IGNORE_CASE="TRUE">\r
+            <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                <BEGIN>"</BEGIN>\r
+                <END>"</END>\r
+            </SPAN>\r
+            \r
+            <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                <BEGIN>'</BEGIN>\r
+                <END>'</END>\r
+            </SPAN>\r
+            \r
+            <SPAN TYPE="COMMENT1">\r
+                <BEGIN>/*</BEGIN>\r
+                <END>*/</END>\r
+            </SPAN>\r
+            \r
+             <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+            \r
+            <KEYWORDS>\r
+                <KEYWORD2>+attack</KEYWORD2>\r
+                <KEYWORD2>+back</KEYWORD2>\r
+                <KEYWORD2>+forward</KEYWORD2>\r
+                <KEYWORD2>+klook</KEYWORD2>\r
+                <KEYWORD2>+left</KEYWORD2>\r
+                <KEYWORD2>+lookdown</KEYWORD2>\r
+                <KEYWORD2>+lookup</KEYWORD2>\r
+                <KEYWORD2>+mlook</KEYWORD2>\r
+                <KEYWORD2>+movedown</KEYWORD2>\r
+                <KEYWORD2>+moveleft</KEYWORD2>\r
+                <KEYWORD2>+moveright</KEYWORD2>\r
+                <KEYWORD2>+moveup</KEYWORD2>\r
+                <KEYWORD2>+right</KEYWORD2>\r
+                <KEYWORD2>+speed</KEYWORD2>\r
+                <KEYWORD2>+strafe</KEYWORD2>\r
+                <KEYWORD2>+use</KEYWORD2>\r
+                <KEYWORD2>-attack</KEYWORD2>\r
+                <KEYWORD2>-back</KEYWORD2>\r
+                <KEYWORD2>-forward</KEYWORD2>\r
+                <KEYWORD2>-klook</KEYWORD2>\r
+                <KEYWORD2>-left</KEYWORD2>\r
+                <KEYWORD2>-lookdown</KEYWORD2>\r
+                <KEYWORD2>-lookup</KEYWORD2>\r
+                <KEYWORD2>-mlook</KEYWORD2>\r
+                <KEYWORD2>-movedown</KEYWORD2>\r
+                <KEYWORD2>-moveleft</KEYWORD2>\r
+                <KEYWORD2>-moveright</KEYWORD2>\r
+                <KEYWORD2>-moveup</KEYWORD2>\r
+                <KEYWORD2>-right</KEYWORD2>\r
+                <KEYWORD2>-speed</KEYWORD2>\r
+                <KEYWORD2>-strafe</KEYWORD2>\r
+                <KEYWORD2>-use</KEYWORD2>\r
+                <KEYWORD3>adr0</KEYWORD3>\r
+                <KEYWORD3>adr1</KEYWORD3>\r
+                <KEYWORD3>adr2</KEYWORD3>\r
+                <KEYWORD3>adr3</KEYWORD3>\r
+                <KEYWORD3>adr4</KEYWORD3>\r
+                <KEYWORD3>adr5</KEYWORD3>\r
+                <KEYWORD3>adr6</KEYWORD3>\r
+                <KEYWORD3>adr7</KEYWORD3>\r
+                <KEYWORD3>adr8</KEYWORD3>\r
+                <KEYWORD3>alias</KEYWORD3>\r
+                <KEYWORD3>allow_download</KEYWORD3>\r
+                <KEYWORD3>allow_download_maps</KEYWORD3>\r
+                <KEYWORD3>allow_download_models</KEYWORD3>\r
+                <KEYWORD3>allow_download_players</KEYWORD3>\r
+                <KEYWORD3>allow_download_sounds</KEYWORD3>\r
+                <KEYWORD3>basedir</KEYWORD3>\r
+                <KEYWORD1>bind</KEYWORD1>\r
+                <KEYWORD3>bindlist</KEYWORD3>\r
+                <KEYWORD3>bob_pitch</KEYWORD3>\r
+                <KEYWORD3>bob_roll</KEYWORD3>\r
+                <KEYWORD3>bob_up</KEYWORD3>\r
+                <KEYWORD3>cd</KEYWORD3>\r
+                <KEYWORD3>cd_loopcount</KEYWORD3>\r
+                <KEYWORD3>cd_looptrack</KEYWORD3>\r
+                <KEYWORD3>cd_nocd</KEYWORD3>\r
+                <KEYWORD3>cddir</KEYWORD3>\r
+                <KEYWORD3>centerview</KEYWORD3>\r
+                <KEYWORD3>changing</KEYWORD3>\r
+                <KEYWORD3>cheats</KEYWORD3>\r
+                <KEYWORD3>cl_anglespeedkey</KEYWORD3>\r
+                <KEYWORD3>cl_autoskins</KEYWORD3>\r
+                <KEYWORD3>cl_blend</KEYWORD3>\r
+                <KEYWORD3>cl_entities</KEYWORD3>\r
+                <KEYWORD3>cl_footsteps</KEYWORD3>\r
+                <KEYWORD3>cl_forwardspeed</KEYWORD3>\r
+                <KEYWORD3>cl_gun</KEYWORD3>\r
+                <KEYWORD3>cl_lights</KEYWORD3>\r
+                <KEYWORD3>cl_maxfps</KEYWORD3>\r
+                <KEYWORD3>cl_nodelta</KEYWORD3>\r
+                <KEYWORD3>cl_noskins</KEYWORD3>\r
+                <KEYWORD3>cl_particles</KEYWORD3>\r
+                <KEYWORD3>cl_pitchspeed</KEYWORD3>\r
+                <KEYWORD3>cl_predict</KEYWORD3>\r
+                <KEYWORD3>cl_run</KEYWORD3>\r
+                <KEYWORD3>cl_showmiss</KEYWORD3>\r
+                <KEYWORD3>cl_shownet</KEYWORD3>\r
+                <KEYWORD3>cl_sidespeed</KEYWORD3>\r
+                <KEYWORD3>cl_stats</KEYWORD3>\r
+                <KEYWORD3>cl_stereo</KEYWORD3>\r
+                <KEYWORD3>cl_stereo_separation</KEYWORD3>\r
+                <KEYWORD3>cl_testblend</KEYWORD3>\r
+                <KEYWORD3>cl_testentities</KEYWORD3>\r
+                <KEYWORD3>cl_testlights</KEYWORD3>\r
+                <KEYWORD3>cl_testparticles</KEYWORD3>\r
+                <KEYWORD3>cl_timeout</KEYWORD3>\r
+                <KEYWORD3>cl_upspeed</KEYWORD3>\r
+                <KEYWORD3>cl_vwep</KEYWORD3>\r
+                <KEYWORD3>cl_yawspeed</KEYWORD3>\r
+                <KEYWORD3>clear</KEYWORD3>\r
+                <KEYWORD3>clientport</KEYWORD3>\r
+                <KEYWORD3>cmd</KEYWORD3>\r
+                <KEYWORD3>cmdlist</KEYWORD3>\r
+                <KEYWORD3>con_notifytime</KEYWORD3>\r
+                <KEYWORD3>condump</KEYWORD3>\r
+                <KEYWORD3>connect</KEYWORD3>\r
+                <KEYWORD3>coop</KEYWORD3>\r
+                <KEYWORD3>crosshair</KEYWORD3>\r
+                <KEYWORD3>cvarlist</KEYWORD3>\r
+                <KEYWORD3>deathmatch</KEYWORD3>\r
+                <KEYWORD3>debuggraph</KEYWORD3>\r
+                <KEYWORD3>dedicated</KEYWORD3>\r
+                <KEYWORD3>demomap</KEYWORD3>\r
+                <KEYWORD3>developer</KEYWORD3>\r
+                <KEYWORD3>dir</KEYWORD3>\r
+                <KEYWORD3>disconnect</KEYWORD3>\r
+                <KEYWORD3>dmflags</KEYWORD3>\r
+                <KEYWORD3>download</KEYWORD3>\r
+                <KEYWORD3>drop</KEYWORD3>\r
+                <KEYWORD3>dumpuser</KEYWORD3>\r
+                <KEYWORD3>echo</KEYWORD3>\r
+                <KEYWORD3>error</KEYWORD3>\r
+                <KEYWORD3>exec</KEYWORD3>\r
+                <KEYWORD3>filterban</KEYWORD3>\r
+                <KEYWORD3>fixedtime</KEYWORD3>\r
+                <KEYWORD3>flood_msgs</KEYWORD3>\r
+                <KEYWORD3>flood_persecond</KEYWORD3>\r
+                <KEYWORD3>flood_waitdelay</KEYWORD3>\r
+                <KEYWORD3>flushmap</KEYWORD3>\r
+                <KEYWORD3>fov</KEYWORD3>\r
+                <KEYWORD3>fraglimit</KEYWORD3>\r
+                <KEYWORD3>freelook</KEYWORD3>\r
+                <KEYWORD3>g_select_empty</KEYWORD3>\r
+                <KEYWORD3>game</KEYWORD3>\r
+                <KEYWORD3>gamedate</KEYWORD3>\r
+                <KEYWORD3>gamedir</KEYWORD3>\r
+                <KEYWORD3>gamemap</KEYWORD3>\r
+                <KEYWORD3>gamename</KEYWORD3>\r
+                <KEYWORD3>gameversion</KEYWORD3>\r
+                <KEYWORD3>gender</KEYWORD3>\r
+                <KEYWORD3>gender_auto</KEYWORD3>\r
+                <KEYWORD3>give</KEYWORD3>\r
+                <KEYWORD3>gl_3dlabs_broken</KEYWORD3>\r
+                <KEYWORD3>gl_allow_software</KEYWORD3>\r
+                <KEYWORD3>gl_bitdepth</KEYWORD3>\r
+                <KEYWORD3>gl_clear</KEYWORD3>\r
+                <KEYWORD3>gl_cull</KEYWORD3>\r
+                <KEYWORD3>gl_drawbuffer</KEYWORD3>\r
+                <KEYWORD3>gl_driver</KEYWORD3>\r
+                <KEYWORD3>gl_dynamic</KEYWORD3>\r
+                <KEYWORD3>gl_ext_compiled_vertex_array</KEYWORD3>\r
+                <KEYWORD3>gl_ext_multitexture</KEYWORD3>\r
+                <KEYWORD3>gl_ext_palettedtexture</KEYWORD3>\r
+                <KEYWORD3>gl_ext_pointparameters</KEYWORD3>\r
+                <KEYWORD3>gl_ext_swapinterval</KEYWORD3>\r
+                <KEYWORD3>gl_finish</KEYWORD3>\r
+                <KEYWORD3>gl_flashblend</KEYWORD3>\r
+                <KEYWORD3>gl_lightmap</KEYWORD3>\r
+                <KEYWORD3>gl_lockpvs</KEYWORD3>\r
+                <KEYWORD3>gl_log</KEYWORD3>\r
+                <KEYWORD3>gl_mode</KEYWORD3>\r
+                <KEYWORD3>gl_modulate</KEYWORD3>\r
+                <KEYWORD3>gl_monolightmap</KEYWORD3>\r
+                <KEYWORD3>gl_nobind</KEYWORD3>\r
+                <KEYWORD3>gl_nosubimage</KEYWORD3>\r
+                <KEYWORD3>gl_particle_att_a</KEYWORD3>\r
+                <KEYWORD3>gl_particle_att_b</KEYWORD3>\r
+                <KEYWORD3>gl_particle_att_c</KEYWORD3>\r
+                <KEYWORD3>gl_particle_max_size</KEYWORD3>\r
+                <KEYWORD3>gl_particle_min_size</KEYWORD3>\r
+                <KEYWORD3>gl_particle_size</KEYWORD3>\r
+                <KEYWORD3>gl_picmip</KEYWORD3>\r
+                <KEYWORD3>gl_playermip</KEYWORD3>\r
+                <KEYWORD3>gl_polyblend</KEYWORD3>\r
+                <KEYWORD3>gl_round_down</KEYWORD3>\r
+                <KEYWORD3>gl_saturatelighting</KEYWORD3>\r
+                <KEYWORD3>gl_shadows</KEYWORD3>\r
+                <KEYWORD3>gl_showtris</KEYWORD3>\r
+                <KEYWORD3>gl_skymip</KEYWORD3>\r
+                <KEYWORD3>gl_swapinterval</KEYWORD3>\r
+                <KEYWORD3>gl_texturealphamode</KEYWORD3>\r
+                <KEYWORD3>gl_texturemode</KEYWORD3>\r
+                <KEYWORD3>gl_texturesolidmode</KEYWORD3>\r
+                <KEYWORD3>gl_triplebuffer</KEYWORD3>\r
+                <KEYWORD3>gl_vertex_arrays</KEYWORD3>\r
+                <KEYWORD3>gl_ztrick</KEYWORD3>\r
+                <KEYWORD3>god</KEYWORD3>\r
+                <KEYWORD3>graphheight</KEYWORD3>\r
+                <KEYWORD3>graphscale</KEYWORD3>\r
+                <KEYWORD3>graphshift</KEYWORD3>\r
+                <KEYWORD3>gun_model</KEYWORD3>\r
+                <KEYWORD3>gun_next</KEYWORD3>\r
+                <KEYWORD3>gun_prev</KEYWORD3>\r
+                <KEYWORD3>gun_x</KEYWORD3>\r
+                <KEYWORD3>gun_y</KEYWORD3>\r
+                <KEYWORD3>gun_z</KEYWORD3>\r
+                <KEYWORD3>hand</KEYWORD3>\r
+                <KEYWORD3>heartbeat</KEYWORD3>\r
+                <KEYWORD3>host_speeds</KEYWORD3>\r
+                <KEYWORD3>hostname</KEYWORD3>\r
+                <KEYWORD3>hostport</KEYWORD3>\r
+                <KEYWORD3>imagelist</KEYWORD3>\r
+                <KEYWORD3>impulse</KEYWORD3>\r
+                <KEYWORD3>in_initjoy</KEYWORD3>\r
+                <KEYWORD3>in_initmouse</KEYWORD3>\r
+                <KEYWORD3>in_joystick</KEYWORD3>\r
+                <KEYWORD3>in_mouse</KEYWORD3>\r
+                <KEYWORD3>info</KEYWORD3>\r
+                <KEYWORD3>intensity</KEYWORD3>\r
+                <KEYWORD3>invdrop</KEYWORD3>\r
+                <KEYWORD3>inven</KEYWORD3>\r
+                <KEYWORD3>invnext</KEYWORD3>\r
+                <KEYWORD3>invnextp</KEYWORD3>\r
+                <KEYWORD3>invnextw</KEYWORD3>\r
+                <KEYWORD3>invprev</KEYWORD3>\r
+                <KEYWORD3>invprevp</KEYWORD3>\r
+                <KEYWORD3>invprevw</KEYWORD3>\r
+                <KEYWORD3>invuse</KEYWORD3>\r
+                <KEYWORD3>ip</KEYWORD3>\r
+                <KEYWORD3>ip_clientport</KEYWORD3>\r
+                <KEYWORD3>ip_hostport</KEYWORD3>\r
+                <KEYWORD3>ipx_clientport</KEYWORD3>\r
+                <KEYWORD3>ipx_hostport</KEYWORD3>\r
+                <KEYWORD3>joy_advanced</KEYWORD3>\r
+                <KEYWORD3>joy_advancedupdate</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisr</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisu</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisv</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisx</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisy</KEYWORD3>\r
+                <KEYWORD3>joy_advaxisz</KEYWORD3>\r
+                <KEYWORD3>joy_forwardsensitivity</KEYWORD3>\r
+                <KEYWORD3>joy_forwardthreshold</KEYWORD3>\r
+                <KEYWORD3>joy_name</KEYWORD3>\r
+                <KEYWORD3>joy_pitchsensitivity</KEYWORD3>\r
+                <KEYWORD3>joy_pitchthreshold</KEYWORD3>\r
+                <KEYWORD3>joy_sidesensitivity</KEYWORD3>\r
+                <KEYWORD3>joy_sidethreshold</KEYWORD3>\r
+                <KEYWORD3>joy_upsensitivity</KEYWORD3>\r
+                <KEYWORD3>joy_upthreshold</KEYWORD3>\r
+                <KEYWORD3>joy_yawsensitivity</KEYWORD3>\r
+                <KEYWORD3>joy_yawthreshold</KEYWORD3>\r
+                <KEYWORD3>kick</KEYWORD3>\r
+                <KEYWORD3>kill</KEYWORD3>\r
+                <KEYWORD3>killserver</KEYWORD3>\r
+                <KEYWORD3>link</KEYWORD3>\r
+                <KEYWORD3>load</KEYWORD3>\r
+                <KEYWORD3>loading</KEYWORD3>\r
+                <KEYWORD3>log_stats</KEYWORD3>\r
+                <KEYWORD3>logfile</KEYWORD3>\r
+                <KEYWORD3>lookspring</KEYWORD3>\r
+                <KEYWORD3>lookstrafe</KEYWORD3>\r
+                <KEYWORD3>m_filter</KEYWORD3>\r
+                <KEYWORD3>m_forward</KEYWORD3>\r
+                <KEYWORD3>m_pitch</KEYWORD3>\r
+                <KEYWORD3>m_side</KEYWORD3>\r
+                <KEYWORD3>m_yaw</KEYWORD3>\r
+                <KEYWORD3>map</KEYWORD3>\r
+                <KEYWORD3>map_noareas</KEYWORD3>\r
+                <KEYWORD3>mapname</KEYWORD3>\r
+                <KEYWORD3>maxclients</KEYWORD3>\r
+                <KEYWORD3>maxentities</KEYWORD3>\r
+                <KEYWORD3>maxspectators</KEYWORD3>\r
+                <KEYWORD3>menu_addressbook</KEYWORD3>\r
+                <KEYWORD3>menu_credits</KEYWORD3>\r
+                <KEYWORD3>menu_dmoptions</KEYWORD3>\r
+                <KEYWORD3>menu_game</KEYWORD3>\r
+                <KEYWORD3>menu_joinserver</KEYWORD3>\r
+                <KEYWORD3>menu_keys</KEYWORD3>\r
+                <KEYWORD3>menu_loadgame</KEYWORD3>\r
+                <KEYWORD3>menu_main</KEYWORD3>\r
+                <KEYWORD3>menu_multiplayer</KEYWORD3>\r
+                <KEYWORD3>menu_options</KEYWORD3>\r
+                <KEYWORD3>menu_playerconfig</KEYWORD3>\r
+                <KEYWORD3>menu_quit</KEYWORD3>\r
+                <KEYWORD3>menu_savegame</KEYWORD3>\r
+                <KEYWORD3>menu_startserver</KEYWORD3>\r
+                <KEYWORD3>menu_video</KEYWORD3>\r
+                <KEYWORD3>messagemode</KEYWORD3>\r
+                <KEYWORD3>messagemode3</KEYWORD3>\r
+                <KEYWORD3>modellist</KEYWORD3>\r
+                <KEYWORD3>msg</KEYWORD3>\r
+                <KEYWORD3>name</KEYWORD3>\r
+                <KEYWORD3>needpass</KEYWORD3>\r
+                <KEYWORD3>net_shownet</KEYWORD3>\r
+                <KEYWORD3>netgraph</KEYWORD3>\r
+                <KEYWORD3>nextserver</KEYWORD3>\r
+                <KEYWORD3>noclip</KEYWORD3>\r
+                <KEYWORD3>noipx</KEYWORD3>\r
+                <KEYWORD3>notarget</KEYWORD3>\r
+                <KEYWORD3>noudp</KEYWORD3>\r
+                <KEYWORD3>password</KEYWORD3>\r
+                <KEYWORD3>path</KEYWORD3>\r
+                <KEYWORD3>pause</KEYWORD3>\r
+                <KEYWORD3>paused</KEYWORD3>\r
+                <KEYWORD3>pingservers</KEYWORD3>\r
+                <KEYWORD3>play</KEYWORD3>\r
+                <KEYWORD3>playerlist</KEYWORD3>\r
+                <KEYWORD3>players</KEYWORD3>\r
+                <KEYWORD3>port</KEYWORD3>\r
+                <KEYWORD3>precache</KEYWORD3>\r
+                <KEYWORD3>prog</KEYWORD3>\r
+                <KEYWORD3>protocol</KEYWORD3>\r
+                <KEYWORD3>public</KEYWORD3>\r
+                <KEYWORD3>qport</KEYWORD3>\r
+                <KEYWORD3>quit</KEYWORD3>\r
+                <KEYWORD3>r_drawentities</KEYWORD3>\r
+                <KEYWORD3>r_drawworld</KEYWORD3>\r
+                <KEYWORD3>r_dspeeds</KEYWORD3>\r
+                <KEYWORD3>r_fullbright</KEYWORD3>\r
+                <KEYWORD3>r_lerpmodels</KEYWORD3>\r
+                <KEYWORD3>r_lightlevel</KEYWORD3>\r
+                <KEYWORD3>r_nocull</KEYWORD3>\r
+                <KEYWORD3>r_norefresh</KEYWORD3>\r
+                <KEYWORD3>r_novis</KEYWORD3>\r
+                <KEYWORD3>r_speeds</KEYWORD3>\r
+                <KEYWORD3>rate</KEYWORD3>\r
+                <KEYWORD3>rcon</KEYWORD3>\r
+                <KEYWORD3>rcon_address</KEYWORD3>\r
+                <KEYWORD3>rcon_password</KEYWORD3>\r
+                <KEYWORD3>reconnect</KEYWORD3>\r
+                <KEYWORD3>record</KEYWORD3>\r
+                <KEYWORD3>run_pitch</KEYWORD3>\r
+                <KEYWORD3>run_roll</KEYWORD3>\r
+                <KEYWORD3>s_initsound</KEYWORD3>\r
+                <KEYWORD3>s_khz</KEYWORD3>\r
+                <KEYWORD3>s_loadas8bit</KEYWORD3>\r
+                <KEYWORD3>s_mixahead</KEYWORD3>\r
+                <KEYWORD3>s_primary</KEYWORD3>\r
+                <KEYWORD3>s_show</KEYWORD3>\r
+                <KEYWORD3>s_testsound</KEYWORD3>\r
+                <KEYWORD3>s_volume</KEYWORD3>\r
+                <KEYWORD3>s_wavonly</KEYWORD3>\r
+                <KEYWORD3>save</KEYWORD3>\r
+                <KEYWORD3>say</KEYWORD3>\r
+                <KEYWORD3>say_team</KEYWORD3>\r
+                <KEYWORD3>score</KEYWORD3>\r
+                <KEYWORD3>scr_centertime</KEYWORD3>\r
+                <KEYWORD3>scr_conspeed</KEYWORD3>\r
+                <KEYWORD3>scr_drawall</KEYWORD3>\r
+                <KEYWORD3>scr_printspeed</KEYWORD3>\r
+                <KEYWORD3>scr_showpause</KEYWORD3>\r
+                <KEYWORD3>scr_showturtle</KEYWORD3>\r
+                <KEYWORD3>screenshot</KEYWORD3>\r
+                <KEYWORD3>sensitivity</KEYWORD3>\r
+                <KEYWORD3>serverinfo</KEYWORD3>\r
+                <KEYWORD3>serverrecord</KEYWORD3>\r
+                <KEYWORD3>serverstop</KEYWORD3>\r
+                <KEYWORD1>set</KEYWORD1>\r
+                <KEYWORD3>setenv</KEYWORD3>\r
+                <KEYWORD3>setmaster</KEYWORD3>\r
+                <KEYWORD3>showclamp</KEYWORD3>\r
+                <KEYWORD3>showdrop</KEYWORD3>\r
+                <KEYWORD3>showpackets</KEYWORD3>\r
+                <KEYWORD3>showtrace</KEYWORD3>\r
+                <KEYWORD3>sizedown</KEYWORD3>\r
+                <KEYWORD3>sizeup</KEYWORD3>\r
+                <KEYWORD3>skill</KEYWORD3>\r
+                <KEYWORD3>skin</KEYWORD3>\r
+                <KEYWORD3>skins</KEYWORD3>\r
+                <KEYWORD3>sky</KEYWORD3>\r
+                <KEYWORD3>snd_restart</KEYWORD3>\r
+                <KEYWORD3>soundinfo</KEYWORD3>\r
+                <KEYWORD3>soundlist</KEYWORD3>\r
+                <KEYWORD3>spectator</KEYWORD3>\r
+                <KEYWORD3>spectator_password</KEYWORD3>\r
+                <KEYWORD3>status</KEYWORD3>\r
+                <KEYWORD3>stop</KEYWORD3>\r
+                <KEYWORD3>stopsound</KEYWORD3>\r
+                <KEYWORD3>sv</KEYWORD3>\r
+                <KEYWORD3>sv_airaccelerate</KEYWORD3>\r
+                <KEYWORD3>sv_enforcetime</KEYWORD3>\r
+                <KEYWORD3>sv_gravity</KEYWORD3>\r
+                <KEYWORD3>sv_maplist</KEYWORD3>\r
+                <KEYWORD3>sv_maxvelocity</KEYWORD3>\r
+                <KEYWORD3>sv_noreload</KEYWORD3>\r
+                <KEYWORD3>sv_reconnect_limit</KEYWORD3>\r
+                <KEYWORD3>sv_rollangle</KEYWORD3>\r
+                <KEYWORD3>sv_rollspeed</KEYWORD3>\r
+                <KEYWORD3>sw_allow_modex</KEYWORD3>\r
+                <KEYWORD3>sw_clearcolor</KEYWORD3>\r
+                <KEYWORD3>sw_drawflat</KEYWORD3>\r
+                <KEYWORD3>sw_draworder</KEYWORD3>\r
+                <KEYWORD3>sw_maxedges</KEYWORD3>\r
+                <KEYWORD3>sw_maxsurfs</KEYWORD3>\r
+                <KEYWORD3>sw_mipcap</KEYWORD3>\r
+                <KEYWORD3>sw_mipscale</KEYWORD3>\r
+                <KEYWORD3>sw_mode</KEYWORD3>\r
+                <KEYWORD3>sw_polymodelstats</KEYWORD3>\r
+                <KEYWORD3>sw_reportedgeout</KEYWORD3>\r
+                <KEYWORD3>sw_reportsurfout</KEYWORD3>\r
+                <KEYWORD3>sw_stipplealpha</KEYWORD3>\r
+                <KEYWORD3>sw_surfcacheoverride</KEYWORD3>\r
+                <KEYWORD3>sw_waterwarp</KEYWORD3>\r
+                <KEYWORD3>timedemo</KEYWORD3>\r
+                <KEYWORD3>timegraph</KEYWORD3>\r
+                <KEYWORD3>timelimit</KEYWORD3>\r
+                <KEYWORD3>timeout</KEYWORD3>\r
+                <KEYWORD3>timerefresh</KEYWORD3>\r
+                <KEYWORD3>timescale</KEYWORD3>\r
+                <KEYWORD3>togglechat</KEYWORD3>\r
+                <KEYWORD3>toggleconsole</KEYWORD3>\r
+                <KEYWORD3>unbind</KEYWORD3>\r
+                <KEYWORD3>unbindall</KEYWORD3>\r
+                <KEYWORD3>use</KEYWORD3>\r
+                <KEYWORD3>userinfo</KEYWORD3>\r
+                <KEYWORD3>v_centermove</KEYWORD3>\r
+                <KEYWORD3>v_centerspeed</KEYWORD3>\r
+                <KEYWORD3>version</KEYWORD3>\r
+                <KEYWORD3>vid_front</KEYWORD3>\r
+                <KEYWORD3>vid_fullscreen</KEYWORD3>\r
+                <KEYWORD3>vid_gamma</KEYWORD3>\r
+                <KEYWORD3>vid_ref</KEYWORD3>\r
+                <KEYWORD3>vid_restart</KEYWORD3>\r
+                <KEYWORD3>vid_xpos</KEYWORD3>\r
+                <KEYWORD3>vid_ypos</KEYWORD3>\r
+                <KEYWORD3>viewpos</KEYWORD3>\r
+                <KEYWORD3>viewsize</KEYWORD3>\r
+                <KEYWORD3>wait</KEYWORD3>\r
+                <KEYWORD3>wave</KEYWORD3>\r
+                <KEYWORD3>weaplast</KEYWORD3>\r
+                <KEYWORD3>weapnext</KEYWORD3>\r
+                <KEYWORD3>weapprev</KEYWORD3>\r
+                <KEYWORD3>win_noalttab</KEYWORD3>\r
+                <KEYWORD3>z_stats</KEYWORD3>\r
+                <KEYWORD1>zombietime</KEYWORD1>\r
+                <KEYWORD4>shift</KEYWORD4>\r
+                <KEYWORD4>ctrl</KEYWORD4>\r
+                <KEYWORD4>space</KEYWORD4>\r
+                <KEYWORD4>tab</KEYWORD4>\r
+                <KEYWORD4>enter</KEYWORD4>\r
+                <KEYWORD4>escape</KEYWORD4>\r
+                <KEYWORD4>F1</KEYWORD4>\r
+                <KEYWORD4>F2</KEYWORD4>\r
+                <KEYWORD4>F3</KEYWORD4>\r
+                <KEYWORD4>F4</KEYWORD4>\r
+                <KEYWORD4>F5</KEYWORD4>\r
+                <KEYWORD4>F6</KEYWORD4>\r
+                <KEYWORD4>F7</KEYWORD4>\r
+                <KEYWORD4>F8</KEYWORD4>\r
+                <KEYWORD4>F9</KEYWORD4>\r
+                <KEYWORD4>F10</KEYWORD4>\r
+                <KEYWORD4>F11</KEYWORD4>\r
+                <KEYWORD4>F12</KEYWORD4>\r
+                <KEYWORD4>INS</KEYWORD4>\r
+                <KEYWORD4>DEL</KEYWORD4>\r
+                <KEYWORD4>PGUP</KEYWORD4>\r
+                <KEYWORD4>PGDN</KEYWORD4>\r
+                <KEYWORD4>HOME</KEYWORD4>\r
+                <KEYWORD4>END</KEYWORD4>\r
+                <KEYWORD4>MOUSE1</KEYWORD4>\r
+                <KEYWORD4>MOUSE2</KEYWORD4>\r
+                <KEYWORD4>uparrow</KEYWORD4>\r
+                <KEYWORD4>downarrow</KEYWORD4>\r
+                <KEYWORD4>leftarrow</KEYWORD4>\r
+                <KEYWORD4>rightarrow</KEYWORD4>\r
+                <KEYWORD4>mwheelup</KEYWORD4>\r
+                <KEYWORD4>mwheeldown</KEYWORD4>\r
+                <KEYWORD4>backspace</KEYWORD4>\r
+            </KEYWORDS>\r
+        </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rcp.xml b/basis/xmode/modes/rcp.xml
new file mode 100644 (file)
index 0000000..1b2f4c5
--- /dev/null
@@ -0,0 +1,318 @@
+<?xml version="1.0"?>\r
+\r
+<!--\r
+ **\r
+ ** Pilrc *.prc highlight rules for jEdit\r
+ **\r
+ ** Marcin Orlowski - carlos@wfmh.org.pl\r
+ **\r
+ ** v1.0 (2006.04.25)\r
+ **\r
+-->\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+       <!--\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       -->\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE">\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+       </RULES>\r
+\r
+\r
+       <RULES>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+       </RULES>\r
+\r
+\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE">\r
+               <PROPS>\r
+                       <PROPERTY NAME="commentStart" VALUE="/*" />\r
+                       <PROPERTY NAME="lineComment" VALUE="//" />\r
+               </PROPS>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="RCP_LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <FUNCTION>ALERT</FUNCTION>\r
+                       <FUNCTION>APPLICATION</FUNCTION>\r
+                       <FUNCTION>APPLICATIONICONNAME</FUNCTION>\r
+                       <FUNCTION>AREA</FUNCTION>\r
+                       <FUNCTION>BITMAP</FUNCTION>\r
+                       <FUNCTION>BITMAPCOLOR</FUNCTION>\r
+                       <FUNCTION>BITMAPCOLOR16</FUNCTION>\r
+                       <FUNCTION>BITMAPCOLOR16K</FUNCTION>\r
+                       <FUNCTION>BITMAPFAMILY</FUNCTION>\r
+                       <FUNCTION>BITMAPFAMILYEX</FUNCTION>\r
+                       <FUNCTION>BITMAPFAMILYSPECIAL</FUNCTION>\r
+                       <FUNCTION>BITMAPGREY</FUNCTION>\r
+                       <FUNCTION>BITMAPGREY16</FUNCTION>\r
+                       <FUNCTION>BITMAPSCREENFAMILY</FUNCTION>\r
+                       <FUNCTION>BOOTSCREENFAMILY</FUNCTION>\r
+                       <FUNCTION>BUTTON</FUNCTION>\r
+                       <FUNCTION>BUTTONS</FUNCTION>\r
+                       <FUNCTION>BYTELIST</FUNCTION>\r
+                       <FUNCTION>CATEGORIES</FUNCTION>\r
+                       <FUNCTION>CHECKBOX</FUNCTION>\r
+                       <FUNCTION>COUNTRYLOCALISATION</FUNCTION>\r
+                       <FUNCTION>DATA</FUNCTION>\r
+                       <FUNCTION>FEATURE</FUNCTION>\r
+                       <FUNCTION>FIELD</FUNCTION>\r
+                       <FUNCTION>FONTINDEX</FUNCTION>\r
+                       <FUNCTION>FORM</FUNCTION>\r
+                       <FUNCTION>FORMBITMAP</FUNCTION>\r
+                       <FUNCTION>GADGET</FUNCTION>\r
+                       <FUNCTION>GENERATEHEADER</FUNCTION>\r
+                       <FUNCTION>GRAFFITIINPUTAREA</FUNCTION>\r
+                       <FUNCTION>GRAFFITISTATEINDICATOR</FUNCTION>\r
+                       <FUNCTION>HEX</FUNCTION>\r
+                       <FUNCTION>ICON</FUNCTION>\r
+                       <FUNCTION>ICONFAMILY</FUNCTION>\r
+                       <FUNCTION>ICONFAMILYEX</FUNCTION>\r
+                       <FUNCTION>INTEGER</FUNCTION>\r
+                       <FUNCTION>KEYBOARD</FUNCTION>\r
+                       <FUNCTION>LABEL</FUNCTION>\r
+                       <FUNCTION>LAUNCHERCATEGORY</FUNCTION>\r
+                       <FUNCTION>LIST</FUNCTION>\r
+                       <FUNCTION>LONGWORDLIST</FUNCTION>\r
+                       <FUNCTION>MENU</FUNCTION>\r
+                       <FUNCTION>MENUITEM</FUNCTION>\r
+                       <FUNCTION>MESSAGE</FUNCTION>\r
+                       <FUNCTION>MIDI</FUNCTION>\r
+                       <FUNCTION>NOGRAFFITISTATEINDICATOR</FUNCTION>\r
+                       <FUNCTION>PALETTETABLE</FUNCTION>\r
+                       <FUNCTION>POPUPLIST</FUNCTION>\r
+                       <FUNCTION>POPUPTRIGGER</FUNCTION>\r
+                       <FUNCTION>PULLDOWN</FUNCTION>\r
+                       <FUNCTION>PUSHBUTTON</FUNCTION>\r
+                       <FUNCTION>REPEATBUTTON</FUNCTION>\r
+                       <FUNCTION>RESETAUTOID</FUNCTION>\r
+                       <FUNCTION>SCROLLBAR</FUNCTION>\r
+                       <FUNCTION>SELECTORTRIGGER</FUNCTION>\r
+                       <FUNCTION>SLIDER</FUNCTION>\r
+                       <FUNCTION>SMALLICON</FUNCTION>\r
+                       <FUNCTION>SMALLICONFAMILY</FUNCTION>\r
+                       <FUNCTION>SMALLICONFAMILYEX</FUNCTION>\r
+                       <FUNCTION>STRING</FUNCTION>\r
+                       <FUNCTION>STRINGTABLE</FUNCTION>\r
+                       <FUNCTION>TABLE</FUNCTION>\r
+                       <FUNCTION>TITLE</FUNCTION>\r
+                       <FUNCTION>TRANSLATION</FUNCTION>\r
+                       <FUNCTION>TRAP</FUNCTION>\r
+                       <FUNCTION>VERSION</FUNCTION>\r
+                       <FUNCTION>WORDLIST</FUNCTION>\r
+\r
+                       <KEYWORD1>PREVTOP</KEYWORD1>\r
+                       <KEYWORD1>PREVBOTTOM</KEYWORD1>\r
+                       <KEYWORD1>PREVLEFT</KEYWORD1>\r
+                       <KEYWORD1>PREVRIGHT</KEYWORD1>\r
+                       <KEYWORD1>AUTO</KEYWORD1>\r
+                       <KEYWORD1>AUTOID</KEYWORD1>\r
+\r
+                       <KEYWORD2>AT</KEYWORD2>\r
+                       <KEYWORD2>AUTOSHIFT</KEYWORD2>\r
+                       <KEYWORD2>BACKGROUNDID</KEYWORD2>\r
+                       <KEYWORD2>BITMAPID</KEYWORD2>\r
+                       <KEYWORD2>BOLDFRAME</KEYWORD2>\r
+                       <KEYWORD2>BPP</KEYWORD2>\r
+                       <KEYWORD2>CHECKED</KEYWORD2>\r
+                       <KEYWORD2>COLORTABLE</KEYWORD2>\r
+                       <KEYWORD2>COLUMNS</KEYWORD2>\r
+                       <KEYWORD2>COLUMNWIDTHS</KEYWORD2>\r
+                       <KEYWORD2>COMPRESS</KEYWORD2>\r
+                       <KEYWORD2>COMPRESSBEST</KEYWORD2>\r
+                       <KEYWORD2>COMPRESSPACKBITS</KEYWORD2>\r
+                       <KEYWORD2>COMPRESSRLE</KEYWORD2>\r
+                       <KEYWORD2>COMPRESSSCANLINE</KEYWORD2>\r
+                       <KEYWORD2>CONFIRMATION</KEYWORD2>\r
+                       <KEYWORD2>COUNTRY</KEYWORD2>\r
+                       <KEYWORD2>CREATOR</KEYWORD2>\r
+                       <KEYWORD2>CURRENCYDECIMALPLACES</KEYWORD2>\r
+                       <KEYWORD2>CURRENCYNAME</KEYWORD2>\r
+                       <KEYWORD2>CURRENCYSYMBOL</KEYWORD2>\r
+                       <KEYWORD2>CURRENCYUNIQUESYMBOL</KEYWORD2>\r
+                       <KEYWORD2>DATEFORMAT</KEYWORD2>\r
+                       <KEYWORD2>DAYLIGHTSAVINGS</KEYWORD2>\r
+                       <KEYWORD2>DEFAULTBTNID</KEYWORD2>\r
+                       <KEYWORD2>DEFAULTBUTTON</KEYWORD2>\r
+                       <KEYWORD2>DENSITY</KEYWORD2>\r
+                       <KEYWORD2>DISABLED</KEYWORD2>\r
+                       <KEYWORD2>DYNAMICSIZE</KEYWORD2>\r
+                       <KEYWORD2>EDITABLE</KEYWORD2>\r
+                       <KEYWORD2>ENTRY</KEYWORD2>\r
+                       <KEYWORD2>ERROR</KEYWORD2>\r
+                       <KEYWORD2>EXTENDED</KEYWORD2>\r
+                       <KEYWORD2>FEEDBACK</KEYWORD2>\r
+                       <KEYWORD2>FILE</KEYWORD2>\r
+                       <KEYWORD2>FONTID</KEYWORD2>\r
+                       <KEYWORD2>FORCECOMPRESS</KEYWORD2>\r
+                       <KEYWORD2>FRAME</KEYWORD2>\r
+                       <KEYWORD2>GRAFFITI</KEYWORD2>\r
+                       <KEYWORD2>GRAPHICAL</KEYWORD2>\r
+                       <KEYWORD2>GROUP</KEYWORD2>\r
+                       <KEYWORD2>HASSCROLLBAR</KEYWORD2>\r
+                       <KEYWORD2>HELPID</KEYWORD2>\r
+                       <KEYWORD2>ID</KEYWORD2>\r
+                       <KEYWORD2>INDEX</KEYWORD2>\r
+                       <KEYWORD2>INFORMATION</KEYWORD2>\r
+                       <KEYWORD2>KEYDOWNCHR</KEYWORD2>\r
+                       <KEYWORD2>KEYDOWNKEYCODE</KEYWORD2>\r
+                       <KEYWORD2>KEYDOWNMODIFIERS</KEYWORD2>\r
+                       <KEYWORD2>LANGUAGE</KEYWORD2>\r
+                       <KEYWORD2>LEFTALIGN</KEYWORD2>\r
+                       <KEYWORD2>LEFTANCHOR</KEYWORD2>\r
+                       <KEYWORD2>LONGDATEFORMAT</KEYWORD2>\r
+                       <KEYWORD2>MAX</KEYWORD2>\r
+                       <KEYWORD2>MAXCHARS</KEYWORD2>\r
+                       <KEYWORD2>MEASUREMENTSYSTEM</KEYWORD2>\r
+                       <KEYWORD2>MENUID</KEYWORD2>\r
+                       <KEYWORD2>MIN</KEYWORD2>\r
+                       <KEYWORD2>LOCALE</KEYWORD2>\r
+                       <KEYWORD2>MINUTESWESTOFGMT</KEYWORD2>\r
+                       <KEYWORD2>MODAL</KEYWORD2>\r
+                       <KEYWORD2>MULTIPLELINES</KEYWORD2>\r
+                       <KEYWORD2>NAME</KEYWORD2>\r
+                       <KEYWORD2>NOCOLORTABLE</KEYWORD2>\r
+                       <KEYWORD2>NOCOMPRESS</KEYWORD2>\r
+                       <KEYWORD2>NOFRAME</KEYWORD2>\r
+                       <KEYWORD2>NONEDITABLE</KEYWORD2>\r
+                       <KEYWORD2>NONEXTENDED</KEYWORD2>\r
+                       <KEYWORD2>NONUSABLE</KEYWORD2>\r
+                       <KEYWORD2>NOSAVEBEHIND</KEYWORD2>\r
+                       <KEYWORD2>NUMBER</KEYWORD2>\r
+                       <KEYWORD2>NUMBERFORMAT</KEYWORD2>\r
+                       <KEYWORD2>NUMERIC</KEYWORD2>\r
+                       <KEYWORD2>PAGESIZE</KEYWORD2>\r
+                       <KEYWORD2>RECTFRAME</KEYWORD2>\r
+                       <KEYWORD2>RIGHTALIGN</KEYWORD2>\r
+                       <KEYWORD2>RIGHTANCHOR</KEYWORD2>\r
+                       <KEYWORD2>ROWS</KEYWORD2>\r
+                       <KEYWORD2>SAVEBEHIND</KEYWORD2>\r
+                       <KEYWORD2>SEARCH</KEYWORD2>\r
+                       <KEYWORD2>SCREEN</KEYWORD2>\r
+                       <KEYWORD2>SELECTEDBITMAPID</KEYWORD2>\r
+                       <KEYWORD2>SINGLELINE</KEYWORD2>\r
+                       <KEYWORD2>THUMBID</KEYWORD2>\r
+                       <KEYWORD2>TRANSPARENTINDEX</KEYWORD2>\r
+                       <KEYWORD2>TIMEFORMAT</KEYWORD2>\r
+                       <KEYWORD2>UNDERLINED</KEYWORD2>\r
+                       <KEYWORD2>USABLE</KEYWORD2>\r
+                       <KEYWORD2>VALUE</KEYWORD2>\r
+                       <KEYWORD2>VERTICAL</KEYWORD2>\r
+                       <KEYWORD2>VISIBLEITEMS</KEYWORD2>\r
+                       <KEYWORD2>WARNING</KEYWORD2>\r
+                       <KEYWORD2>WEEKSTARTDAY</KEYWORD2>\r
+\r
+                       <KEYWORD2>FONT</KEYWORD2>\r
+                       <!-- FONT ID -->\r
+                       <KEYWORD2>TRANSPARENT</KEYWORD2>\r
+\r
+                       <KEYWORD3>BEGIN</KEYWORD3>\r
+                       <KEYWORD3>END</KEYWORD3>\r
+\r
+                       <!-- Language constructs (24) -->\r
+                       <KEYWORD4>#include</KEYWORD4>\r
+                       <KEYWORD4>#define</KEYWORD4>\r
+                       <KEYWORD4>equ</KEYWORD4>\r
+                       <KEYWORD4>#undef</KEYWORD4>\r
+                       <KEYWORD4>#ifdef</KEYWORD4>\r
+                       <KEYWORD4>#ifndef</KEYWORD4>\r
+                       <KEYWORD4>#else</KEYWORD4>\r
+                       <KEYWORD4>#endif</KEYWORD4>\r
+\r
+                       <KEYWORD4>package</KEYWORD4>\r
+                       <!-- syn region pilrcInclude start="public class" end="}" -->\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="RCP_LITERAL" ESCAPE="\" DEFAULT="LITERAL1">\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
+               <SEQ TYPE="LITERAL1">\</SEQ>\r
+               <SEQ TYPE="LITERAL1">=</SEQ>\r
+               <SEQ TYPE="LITERAL1">!</SEQ>\r
+               <SEQ TYPE="LITERAL1">=</SEQ>\r
+               <SEQ TYPE="LITERAL1">+</SEQ>\r
+               <SEQ TYPE="LITERAL1">-</SEQ>\r
+               <SEQ TYPE="LITERAL1">/</SEQ>\r
+               <SEQ TYPE="LITERAL1">*</SEQ>\r
+               <SEQ TYPE="LITERAL1">%</SEQ>\r
+               <SEQ TYPE="LITERAL1">|</SEQ>\r
+               <SEQ TYPE="LITERAL1">^</SEQ>\r
+               <SEQ TYPE="LITERAL1">~</SEQ>\r
+               <SEQ TYPE="LITERAL1">.</SEQ>\r
+               <SEQ TYPE="LITERAL1">}</SEQ>\r
+               <SEQ TYPE="LITERAL1">{</SEQ>\r
+               <SEQ TYPE="LITERAL1">,</SEQ>\r
+               <SEQ TYPE="LITERAL1">;</SEQ>\r
+               <SEQ TYPE="LITERAL1">]</SEQ>\r
+               <SEQ TYPE="LITERAL1">[</SEQ>\r
+               <SEQ TYPE="LITERAL1">?</SEQ>\r
+               <SEQ TYPE="LITERAL1">@</SEQ>\r
+               <SEQ TYPE="LITERAL1">:</SEQ>\r
+               <SEQ TYPE="LITERAL1">)</SEQ>\r
+               <SEQ TYPE="LITERAL1">'</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rd.xml b/basis/xmode/modes/rd.xml
new file mode 100644 (file)
index 0000000..2c94a64
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" ?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd"> \r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <KEYWORDS>\r
+                       <KEYWORD1>\name</KEYWORD1>\r
+                       <KEYWORD1>\alias</KEYWORD1>\r
+                       <KEYWORD1>\title</KEYWORD1>\r
+                       <KEYWORD1>\description</KEYWORD1>\r
+                       <KEYWORD1>\synopsis</KEYWORD1>\r
+                       <KEYWORD1>\usage</KEYWORD1>\r
+                       <KEYWORD1>\arguments</KEYWORD1>\r
+                       <KEYWORD1>\details</KEYWORD1>\r
+                       <KEYWORD1>\value</KEYWORD1>\r
+                       <KEYWORD1>\references</KEYWORD1>\r
+                       <KEYWORD1>\note</KEYWORD1>\r
+                       <KEYWORD1>\author</KEYWORD1>\r
+                       <KEYWORD1>\seealso</KEYWORD1>\r
+                       <KEYWORD1>\examples</KEYWORD1>\r
+                       <KEYWORD1>\keyword</KEYWORD1>\r
+                       <KEYWORD2>\itemize</KEYWORD2>\r
+                       <KEYWORD2>\method</KEYWORD2>\r
+                       <KEYWORD2>\docType</KEYWORD2>\r
+                       <KEYWORD2>\format</KEYWORD2>\r
+                       <KEYWORD2>\source</KEYWORD2>\r
+                       <KEYWORD2>\itemize</KEYWORD2>\r
+                       <KEYWORD2>\section</KEYWORD2>\r
+                       <KEYWORD2>\enumerate</KEYWORD2>\r
+                       <KEYWORD2>\describe</KEYWORD2>\r
+                       <KEYWORD2>\tabular</KEYWORD2>\r
+                       <KEYWORD2>\link</KEYWORD2>\r
+                       <KEYWORD2>\item</KEYWORD2>\r
+                       <KEYWORD2>\eqn</KEYWORD2>\r
+                       <KEYWORD2>\deqn</KEYWORD2>\r
+                       <KEYWORD2>\concept</KEYWORD2>\r
+                       <KEYWORD3>\emph</KEYWORD3>\r
+                       <KEYWORD3>\strong</KEYWORD3>\r
+                       <KEYWORD3>\bold</KEYWORD3>\r
+                       <KEYWORD3>\sQuote</KEYWORD3>\r
+                       <KEYWORD3>\dQuote</KEYWORD3>\r
+                       <KEYWORD3>\code</KEYWORD3>\r
+                       <KEYWORD3>\preformatted</KEYWORD3>\r
+                       <KEYWORD3>\kbd</KEYWORD3>\r
+                       <KEYWORD3>\samp</KEYWORD3>\r
+                       <KEYWORD3>\pkg</KEYWORD3>\r
+                       <KEYWORD3>\file</KEYWORD3>\r
+                       <KEYWORD3>\email</KEYWORD3>\r
+                       <KEYWORD3>\url</KEYWORD3>\r
+                       <KEYWORD3>\var</KEYWORD3>\r
+                       <KEYWORD3>\env</KEYWORD3>\r
+                       <KEYWORD3>\option</KEYWORD3>\r
+                       <KEYWORD3>\command</KEYWORD3>\r
+                       <KEYWORD3>\dfn</KEYWORD3>\r
+                       <KEYWORD3>\cite</KEYWORD3>\r
+                       <KEYWORD3>\acronym</KEYWORD3>\r
+                       <KEYWORD3>\tab</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rebol.xml b/basis/xmode/modes/rebol.xml
new file mode 100644 (file)
index 0000000..6d672b9
--- /dev/null
@@ -0,0 +1,546 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{[(" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}])" />\r
+               <PROPERTY NAME="commentStart" VALUE="comment {" />\r
+               <PROPERTY NAME="commentEnd" VALUE="}" />\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+               <PROPERTY NAME="noWordSep" VALUE="_-" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+               <!-- Javadoc comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>comment {</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>comment{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL2" MATCH_TYPE="OPERATOR">'</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>abs</KEYWORD1>\r
+                       <KEYWORD1>absolute</KEYWORD1>\r
+                       <KEYWORD1>add</KEYWORD1>\r
+                       <KEYWORD1>and~</KEYWORD1>\r
+                       <KEYWORD1>at</KEYWORD1>\r
+                       <KEYWORD1>back</KEYWORD1>\r
+                       <KEYWORD1>change</KEYWORD1>\r
+                       <KEYWORD1>clear</KEYWORD1>\r
+                       <KEYWORD1>complement</KEYWORD1>\r
+                       <KEYWORD1>copy</KEYWORD1>\r
+                       <KEYWORD1>cp</KEYWORD1>\r
+                       <KEYWORD1>divide</KEYWORD1>\r
+                       <KEYWORD1>fifth</KEYWORD1>\r
+                       <KEYWORD1>find</KEYWORD1>\r
+                       <KEYWORD1>first</KEYWORD1>\r
+                       <KEYWORD1>fourth</KEYWORD1>\r
+                       <KEYWORD1>head</KEYWORD1>\r
+                       <KEYWORD1>insert</KEYWORD1>\r
+                       <KEYWORD1>last</KEYWORD1>\r
+                       <KEYWORD1>make</KEYWORD1>\r
+                       <KEYWORD1>max</KEYWORD1>\r
+                       <KEYWORD1>maximum</KEYWORD1>\r
+                       <KEYWORD1>min</KEYWORD1>\r
+                       <KEYWORD1>minimum</KEYWORD1>\r
+                       <KEYWORD1>multiply</KEYWORD1>\r
+                       <KEYWORD1>negate</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <KEYWORD1>or~</KEYWORD1>\r
+                       <KEYWORD1>pick</KEYWORD1>\r
+                       <KEYWORD1>poke</KEYWORD1>\r
+                       <KEYWORD1>power</KEYWORD1>\r
+                       <KEYWORD1>random</KEYWORD1>\r
+                       <KEYWORD1>remainder</KEYWORD1>\r
+                       <KEYWORD1>remove</KEYWORD1>\r
+                       <KEYWORD1>second</KEYWORD1>\r
+                       <KEYWORD1>select</KEYWORD1>\r
+                       <KEYWORD1>skip</KEYWORD1>\r
+                       <KEYWORD1>sort</KEYWORD1>\r
+                       <KEYWORD1>subtract</KEYWORD1>\r
+                       <KEYWORD1>tail</KEYWORD1>\r
+                       <KEYWORD1>third</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>trim</KEYWORD1>\r
+                       <KEYWORD1>xor~</KEYWORD1>\r
+                       <KEYWORD1>alias</KEYWORD1>\r
+                       <KEYWORD1>all</KEYWORD1>\r
+                       <KEYWORD1>any</KEYWORD1>\r
+                       <KEYWORD1>arccosine</KEYWORD1>\r
+                       <KEYWORD1>arcsine</KEYWORD1>\r
+                       <KEYWORD1>arctangent</KEYWORD1>\r
+                       <KEYWORD1>bind</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>browse</KEYWORD1>\r
+                       <KEYWORD1>call</KEYWORD1>\r
+                       <KEYWORD1>caret-to-offset</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>checksum</KEYWORD1>\r
+                       <KEYWORD1>close</KEYWORD1>\r
+                       <KEYWORD1>comment</KEYWORD1>\r
+                       <KEYWORD1>compose</KEYWORD1>\r
+                       <KEYWORD1>compress</KEYWORD1>\r
+                       <KEYWORD1>cosine</KEYWORD1>\r
+                       <KEYWORD1>debase</KEYWORD1>\r
+                       <KEYWORD1>decompress</KEYWORD1>\r
+                       <KEYWORD1>dehex</KEYWORD1>\r
+                       <KEYWORD1>detab</KEYWORD1>\r
+                       <KEYWORD1>dh-compute-key</KEYWORD1>\r
+                       <KEYWORD1>dh-generate-key</KEYWORD1>\r
+                       <KEYWORD1>dh-make-key</KEYWORD1>\r
+                       <KEYWORD1>difference</KEYWORD1>\r
+                       <KEYWORD1>disarm</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>dsa-generate-key</KEYWORD1>\r
+                       <KEYWORD1>dsa-make-key</KEYWORD1>\r
+                       <KEYWORD1>dsa-make-signature</KEYWORD1>\r
+                       <KEYWORD1>dsa-verify-signature</KEYWORD1>\r
+                       <KEYWORD1>either</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>enbase</KEYWORD1>\r
+                       <KEYWORD1>entab</KEYWORD1>\r
+                       <KEYWORD1>exclude</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>exp</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>form</KEYWORD1>\r
+                       <KEYWORD1>free</KEYWORD1>\r
+                       <KEYWORD1>get</KEYWORD1>\r
+                       <KEYWORD1>get-modes</KEYWORD1>\r
+                       <KEYWORD1>halt</KEYWORD1>\r
+                       <KEYWORD1>hide</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>intersect</KEYWORD1>\r
+                       <KEYWORD1>load</KEYWORD1>\r
+                       <KEYWORD1>log-10</KEYWORD1>\r
+                       <KEYWORD1>log-2</KEYWORD1>\r
+                       <KEYWORD1>log-e</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <KEYWORD1>lowercase</KEYWORD1>\r
+                       <KEYWORD1>maximum-of</KEYWORD1>\r
+                       <KEYWORD1>minimum-of</KEYWORD1>\r
+                       <KEYWORD1>mold</KEYWORD1>\r
+                       <KEYWORD1>not</KEYWORD1>\r
+                       <KEYWORD1>now</KEYWORD1>\r
+                       <KEYWORD1>offset-to-caret</KEYWORD1>\r
+                       <KEYWORD1>open</KEYWORD1>\r
+                       <KEYWORD1>parse</KEYWORD1>\r
+                       <KEYWORD1>prin</KEYWORD1>\r
+                       <KEYWORD1>print</KEYWORD1>\r
+                       <KEYWORD1>protect</KEYWORD1>\r
+                       <KEYWORD1>q</KEYWORD1>\r
+                       <KEYWORD1>query</KEYWORD1>\r
+                       <KEYWORD1>quit</KEYWORD1>\r
+                       <KEYWORD1>read</KEYWORD1>\r
+                       <KEYWORD1>read-io</KEYWORD1>\r
+                       <KEYWORD1>recycle</KEYWORD1>\r
+                       <KEYWORD1>reduce</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>reverse</KEYWORD1>\r
+                       <KEYWORD1>rsa-encrypt</KEYWORD1>\r
+                       <KEYWORD1>rsa-generate-key</KEYWORD1>\r
+                       <KEYWORD1>rsa-make-key</KEYWORD1>\r
+                       <KEYWORD1>save</KEYWORD1>\r
+                       <KEYWORD1>secure</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+                       <KEYWORD1>set-modes</KEYWORD1>\r
+                       <KEYWORD1>show</KEYWORD1>\r
+                       <KEYWORD1>sine</KEYWORD1>\r
+                       <KEYWORD1>size-text</KEYWORD1>\r
+                       <KEYWORD1>square-root</KEYWORD1>\r
+                       <KEYWORD1>tangent</KEYWORD1>\r
+                       <KEYWORD1>textinfo</KEYWORD1>\r
+                       <KEYWORD1>throw</KEYWORD1>\r
+                       <KEYWORD1>to-hex</KEYWORD1>\r
+                       <KEYWORD1>to-local-file</KEYWORD1>\r
+                       <KEYWORD1>to-rebol-file</KEYWORD1>\r
+                       <KEYWORD1>trace</KEYWORD1>\r
+                       <KEYWORD1>try</KEYWORD1>\r
+                       <KEYWORD1>union</KEYWORD1>\r
+                       <KEYWORD1>unique</KEYWORD1>\r
+                       <KEYWORD1>unprotect</KEYWORD1>\r
+                       <KEYWORD1>unset</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>update</KEYWORD1>\r
+                       <KEYWORD1>uppercase</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+                       <KEYWORD1>wait</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>write</KEYWORD1>\r
+                       <KEYWORD1>write-io</KEYWORD1>\r
+                       <KEYWORD1>basic-syntax-header</KEYWORD1>\r
+                       <KEYWORD1>crlf</KEYWORD1>\r
+                       <KEYWORD1>font-fixed</KEYWORD1>\r
+                       <KEYWORD1>font-sans-serif</KEYWORD1>\r
+                       <KEYWORD1>font-serif</KEYWORD1>\r
+                       <KEYWORD1>list-words</KEYWORD1>\r
+                       <KEYWORD1>outstr</KEYWORD1>\r
+                       <KEYWORD1>val</KEYWORD1>\r
+                       <KEYWORD1>value</KEYWORD1>\r
+                       <KEYWORD1>about</KEYWORD1>\r
+                       <KEYWORD1>alert</KEYWORD1>\r
+                       <KEYWORD1>alter</KEYWORD1>\r
+                       <KEYWORD1>append</KEYWORD1>\r
+                       <KEYWORD1>array</KEYWORD1>\r
+                       <KEYWORD1>ask</KEYWORD1>\r
+                       <KEYWORD1>boot-prefs</KEYWORD1>\r
+                       <KEYWORD1>build-tag</KEYWORD1>\r
+                       <KEYWORD1>center-face</KEYWORD1>\r
+                       <KEYWORD1>change-dir</KEYWORD1>\r
+                       <KEYWORD1>charset</KEYWORD1>\r
+                       <KEYWORD1>choose</KEYWORD1>\r
+                       <KEYWORD1>clean-path</KEYWORD1>\r
+                       <KEYWORD1>clear-fields</KEYWORD1>\r
+                       <KEYWORD1>confine</KEYWORD1>\r
+                       <KEYWORD1>confirm</KEYWORD1>\r
+                       <KEYWORD1>context</KEYWORD1>\r
+                       <KEYWORD1>cvs-date</KEYWORD1>\r
+                       <KEYWORD1>cvs-version</KEYWORD1>\r
+                       <KEYWORD1>decode-cgi</KEYWORD1>\r
+                       <KEYWORD1>decode-url</KEYWORD1>\r
+                       <KEYWORD1>deflag-face</KEYWORD1>\r
+                       <KEYWORD1>delete</KEYWORD1>\r
+                       <KEYWORD1>demo</KEYWORD1>\r
+                       <KEYWORD1>desktop</KEYWORD1>\r
+                       <KEYWORD1>dirize</KEYWORD1>\r
+                       <KEYWORD1>dispatch</KEYWORD1>\r
+                       <KEYWORD1>do-boot</KEYWORD1>\r
+                       <KEYWORD1>do-events</KEYWORD1>\r
+                       <KEYWORD1>do-face</KEYWORD1>\r
+                       <KEYWORD1>do-face-alt</KEYWORD1>\r
+                       <KEYWORD1>does</KEYWORD1>\r
+                       <KEYWORD1>dump-face</KEYWORD1>\r
+                       <KEYWORD1>dump-pane</KEYWORD1>\r
+                       <KEYWORD1>echo</KEYWORD1>\r
+                       <KEYWORD1>editor</KEYWORD1>\r
+                       <KEYWORD1>emailer</KEYWORD1>\r
+                       <KEYWORD1>emit</KEYWORD1>\r
+                       <KEYWORD1>extract</KEYWORD1>\r
+                       <KEYWORD1>find-by-type</KEYWORD1>\r
+                       <KEYWORD1>find-key-face</KEYWORD1>\r
+                       <KEYWORD1>find-window</KEYWORD1>\r
+                       <KEYWORD1>flag-face</KEYWORD1>\r
+                       <KEYWORD1>flash</KEYWORD1>\r
+                       <KEYWORD1>focus</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>forall</KEYWORD1>\r
+                       <KEYWORD1>forever</KEYWORD1>\r
+                       <KEYWORD1>forskip</KEYWORD1>\r
+                       <KEYWORD1>func</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>get-net-info</KEYWORD1>\r
+                       <KEYWORD1>get-style</KEYWORD1>\r
+                       <KEYWORD1>has</KEYWORD1>\r
+                       <KEYWORD1>help</KEYWORD1>\r
+                       <KEYWORD1>hide-popup</KEYWORD1>\r
+                       <KEYWORD1>import-email</KEYWORD1>\r
+                       <KEYWORD1>inform</KEYWORD1>\r
+                       <KEYWORD1>input</KEYWORD1>\r
+                       <KEYWORD1>insert-event-func</KEYWORD1>\r
+                       <KEYWORD1>join</KEYWORD1>\r
+                       <KEYWORD1>launch</KEYWORD1>\r
+                       <KEYWORD1>launch-thru</KEYWORD1>\r
+                       <KEYWORD1>layout</KEYWORD1>\r
+                       <KEYWORD1>license</KEYWORD1>\r
+                       <KEYWORD1>list-dir</KEYWORD1>\r
+                       <KEYWORD1>load-image</KEYWORD1>\r
+                       <KEYWORD1>load-prefs</KEYWORD1>\r
+                       <KEYWORD1>load-thru</KEYWORD1>\r
+                       <KEYWORD1>make-dir</KEYWORD1>\r
+                       <KEYWORD1>make-face</KEYWORD1>\r
+                       <KEYWORD1>net-error</KEYWORD1>\r
+                       <KEYWORD1>open-events</KEYWORD1>\r
+                       <KEYWORD1>parse-email-addrs</KEYWORD1>\r
+                       <KEYWORD1>parse-header</KEYWORD1>\r
+                       <KEYWORD1>parse-header-date</KEYWORD1>\r
+                       <KEYWORD1>parse-xml</KEYWORD1>\r
+                       <KEYWORD1>path-thru</KEYWORD1>\r
+                       <KEYWORD1>probe</KEYWORD1>\r
+                       <KEYWORD1>protect-system</KEYWORD1>\r
+                       <KEYWORD1>read-net</KEYWORD1>\r
+                       <KEYWORD1>read-thru</KEYWORD1>\r
+                       <KEYWORD1>reboot</KEYWORD1>\r
+                       <KEYWORD1>reform</KEYWORD1>\r
+                       <KEYWORD1>rejoin</KEYWORD1>\r
+                       <KEYWORD1>remold</KEYWORD1>\r
+                       <KEYWORD1>remove-event-func</KEYWORD1>\r
+                       <KEYWORD1>rename</KEYWORD1>\r
+                       <KEYWORD1>repend</KEYWORD1>\r
+                       <KEYWORD1>replace</KEYWORD1>\r
+                       <KEYWORD1>request</KEYWORD1>\r
+                       <KEYWORD1>request-color</KEYWORD1>\r
+                       <KEYWORD1>request-date</KEYWORD1>\r
+                       <KEYWORD1>request-download</KEYWORD1>\r
+                       <KEYWORD1>request-file</KEYWORD1>\r
+                       <KEYWORD1>request-list</KEYWORD1>\r
+                       <KEYWORD1>request-pass</KEYWORD1>\r
+                       <KEYWORD1>request-text</KEYWORD1>\r
+                       <KEYWORD1>resend</KEYWORD1>\r
+                       <KEYWORD1>save-prefs</KEYWORD1>\r
+                       <KEYWORD1>save-user</KEYWORD1>\r
+                       <KEYWORD1>scroll-para</KEYWORD1>\r
+                       <KEYWORD1>send</KEYWORD1>\r
+                       <KEYWORD1>set-font</KEYWORD1>\r
+                       <KEYWORD1>set-net</KEYWORD1>\r
+                       <KEYWORD1>set-para</KEYWORD1>\r
+                       <KEYWORD1>set-style</KEYWORD1>\r
+                       <KEYWORD1>set-user</KEYWORD1>\r
+                       <KEYWORD1>set-user-name</KEYWORD1>\r
+                       <KEYWORD1>show-popup</KEYWORD1>\r
+                       <KEYWORD1>source</KEYWORD1>\r
+                       <KEYWORD1>split-path</KEYWORD1>\r
+                       <KEYWORD1>stylize</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>throw-on-error</KEYWORD1>\r
+                       <KEYWORD1>to-binary</KEYWORD1>\r
+                       <KEYWORD1>to-bitset</KEYWORD1>\r
+                       <KEYWORD1>to-block</KEYWORD1>\r
+                       <KEYWORD1>to-char</KEYWORD1>\r
+                       <KEYWORD1>to-date</KEYWORD1>\r
+                       <KEYWORD1>to-decimal</KEYWORD1>\r
+                       <KEYWORD1>to-email</KEYWORD1>\r
+                       <KEYWORD1>to-event</KEYWORD1>\r
+                       <KEYWORD1>to-file</KEYWORD1>\r
+                       <KEYWORD1>to-get-word</KEYWORD1>\r
+                       <KEYWORD1>to-hash</KEYWORD1>\r
+                       <KEYWORD1>to-idate</KEYWORD1>\r
+                       <KEYWORD1>to-image</KEYWORD1>\r
+                       <KEYWORD1>to-integer</KEYWORD1>\r
+                       <KEYWORD1>to-issue</KEYWORD1>\r
+                       <KEYWORD1>to-list</KEYWORD1>\r
+                       <KEYWORD1>to-lit-path</KEYWORD1>\r
+                       <KEYWORD1>to-lit-word</KEYWORD1>\r
+                       <KEYWORD1>to-logic</KEYWORD1>\r
+                       <KEYWORD1>to-money</KEYWORD1>\r
+                       <KEYWORD1>to-none</KEYWORD1>\r
+                       <KEYWORD1>to-pair</KEYWORD1>\r
+                       <KEYWORD1>to-paren</KEYWORD1>\r
+                       <KEYWORD1>to-path</KEYWORD1>\r
+                       <KEYWORD1>to-refinement</KEYWORD1>\r
+                       <KEYWORD1>to-set-path</KEYWORD1>\r
+                       <KEYWORD1>to-set-word</KEYWORD1>\r
+                       <KEYWORD1>to-string</KEYWORD1>\r
+                       <KEYWORD1>to-tag</KEYWORD1>\r
+                       <KEYWORD1>to-time</KEYWORD1>\r
+                       <KEYWORD1>to-tuple</KEYWORD1>\r
+                       <KEYWORD1>to-url</KEYWORD1>\r
+                       <KEYWORD1>to-word</KEYWORD1>\r
+                       <KEYWORD1>unfocus</KEYWORD1>\r
+                       <KEYWORD1>uninstall</KEYWORD1>\r
+                       <KEYWORD1>unview</KEYWORD1>\r
+                       <KEYWORD1>upgrade</KEYWORD1>\r
+                       <KEYWORD1>Usage</KEYWORD1>\r
+                       <KEYWORD1>vbug</KEYWORD1>\r
+                       <KEYWORD1>view</KEYWORD1>\r
+                       <KEYWORD1>view-install</KEYWORD1>\r
+                       <KEYWORD1>view-prefs</KEYWORD1>\r
+                       <KEYWORD1>what</KEYWORD1>\r
+                       <KEYWORD1>what-dir</KEYWORD1>\r
+                       <KEYWORD1>write-user</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>at</KEYWORD1>\r
+                       <KEYWORD1>space</KEYWORD1>\r
+                       <KEYWORD1>pad</KEYWORD1>\r
+                       <KEYWORD1>across</KEYWORD1>\r
+                       <KEYWORD1>below</KEYWORD1>\r
+                       <KEYWORD1>origin</KEYWORD1>\r
+                       <KEYWORD1>guide</KEYWORD1>\r
+                       <KEYWORD1>tabs</KEYWORD1>\r
+                       <KEYWORD1>indent</KEYWORD1>\r
+                       <KEYWORD1>style</KEYWORD1>\r
+                       <KEYWORD1>styles</KEYWORD1>\r
+                       <KEYWORD1>size</KEYWORD1>\r
+                       <KEYWORD1>sense</KEYWORD1>\r
+                       <KEYWORD1>backcolor</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>none</KEYWORD1>\r
+                       <KEYWORD2>action?</KEYWORD2>\r
+                       <KEYWORD2>any-block?</KEYWORD2>\r
+                       <KEYWORD2>any-function?</KEYWORD2>\r
+                       <KEYWORD2>any-string?</KEYWORD2>\r
+                       <KEYWORD2>any-type?</KEYWORD2>\r
+                       <KEYWORD2>any-word?</KEYWORD2>\r
+                       <KEYWORD2>binary?</KEYWORD2>\r
+                       <KEYWORD2>bitset?</KEYWORD2>\r
+                       <KEYWORD2>block?</KEYWORD2>\r
+                       <KEYWORD2>char?</KEYWORD2>\r
+                       <KEYWORD2>datatype?</KEYWORD2>\r
+                       <KEYWORD2>date?</KEYWORD2>\r
+                       <KEYWORD2>decimal?</KEYWORD2>\r
+                       <KEYWORD2>email?</KEYWORD2>\r
+                       <KEYWORD2>empty?</KEYWORD2>\r
+                       <KEYWORD2>equal?</KEYWORD2>\r
+                       <KEYWORD2>error?</KEYWORD2>\r
+                       <KEYWORD2>even?</KEYWORD2>\r
+                       <KEYWORD2>event?</KEYWORD2>\r
+                       <KEYWORD2>file?</KEYWORD2>\r
+                       <KEYWORD2>function?</KEYWORD2>\r
+                       <KEYWORD2>get-word?</KEYWORD2>\r
+                       <KEYWORD2>greater-or-equal?</KEYWORD2>\r
+                       <KEYWORD2>greater?</KEYWORD2>\r
+                       <KEYWORD2>hash?</KEYWORD2>\r
+                       <KEYWORD2>head?</KEYWORD2>\r
+                       <KEYWORD2>image?</KEYWORD2>\r
+                       <KEYWORD2>index?</KEYWORD2>\r
+                       <KEYWORD2>integer?</KEYWORD2>\r
+                       <KEYWORD2>issue?</KEYWORD2>\r
+                       <KEYWORD2>length?</KEYWORD2>\r
+                       <KEYWORD2>lesser-or-equal?</KEYWORD2>\r
+                       <KEYWORD2>lesser?</KEYWORD2>\r
+                       <KEYWORD2>library?</KEYWORD2>\r
+                       <KEYWORD2>list?</KEYWORD2>\r
+                       <KEYWORD2>lit-path?</KEYWORD2>\r
+                       <KEYWORD2>lit-word?</KEYWORD2>\r
+                       <KEYWORD2>logic?</KEYWORD2>\r
+                       <KEYWORD2>money?</KEYWORD2>\r
+                       <KEYWORD2>native?</KEYWORD2>\r
+                       <KEYWORD2>negative?</KEYWORD2>\r
+                       <KEYWORD2>none?</KEYWORD2>\r
+                       <KEYWORD2>not-equal?</KEYWORD2>\r
+                       <KEYWORD2>number?</KEYWORD2>\r
+                       <KEYWORD2>object?</KEYWORD2>\r
+                       <KEYWORD2>odd?</KEYWORD2>\r
+                       <KEYWORD2>op?</KEYWORD2>\r
+                       <KEYWORD2>pair?</KEYWORD2>\r
+                       <KEYWORD2>paren?</KEYWORD2>\r
+                       <KEYWORD2>path?</KEYWORD2>\r
+                       <KEYWORD2>port?</KEYWORD2>\r
+                       <KEYWORD2>positive?</KEYWORD2>\r
+                       <KEYWORD2>refinement?</KEYWORD2>\r
+                       <KEYWORD2>routine?</KEYWORD2>\r
+                       <KEYWORD2>same?</KEYWORD2>\r
+                       <KEYWORD2>series?</KEYWORD2>\r
+                       <KEYWORD2>set-path?</KEYWORD2>\r
+                       <KEYWORD2>set-word?</KEYWORD2>\r
+                       <KEYWORD2>strict-equal?</KEYWORD2>\r
+                       <KEYWORD2>strict-not-equal?</KEYWORD2>\r
+                       <KEYWORD2>string?</KEYWORD2>\r
+                       <KEYWORD2>struct?</KEYWORD2>\r
+                       <KEYWORD2>tag?</KEYWORD2>\r
+                       <KEYWORD2>tail?</KEYWORD2>\r
+                       <KEYWORD2>time?</KEYWORD2>\r
+                       <KEYWORD2>tuple?</KEYWORD2>\r
+                       <KEYWORD2>unset?</KEYWORD2>\r
+                       <KEYWORD2>url?</KEYWORD2>\r
+                       <KEYWORD2>word?</KEYWORD2>\r
+                       <KEYWORD2>zero?</KEYWORD2>\r
+                       <KEYWORD2>connected?</KEYWORD2>\r
+                       <KEYWORD2>crypt-strength?</KEYWORD2>\r
+                       <KEYWORD2>exists-key?</KEYWORD2>\r
+                       <KEYWORD2>input?</KEYWORD2>\r
+                       <KEYWORD2>script?</KEYWORD2>\r
+                       <KEYWORD2>type?</KEYWORD2>\r
+                       <KEYWORD2>value?</KEYWORD2>\r
+                       <KEYWORD2>?</KEYWORD2>\r
+                       <KEYWORD2>??</KEYWORD2>\r
+                       <KEYWORD2>dir?</KEYWORD2>\r
+                       <KEYWORD2>exists-thru?</KEYWORD2>\r
+                       <KEYWORD2>exists?</KEYWORD2>\r
+                       <KEYWORD2>flag-face?</KEYWORD2>\r
+                       <KEYWORD2>found?</KEYWORD2>\r
+                       <KEYWORD2>in-window?</KEYWORD2>\r
+                       <KEYWORD2>info?</KEYWORD2>\r
+                       <KEYWORD2>inside?</KEYWORD2>\r
+                       <KEYWORD2>link-app?</KEYWORD2>\r
+                       <KEYWORD2>link?</KEYWORD2>\r
+                       <KEYWORD2>modified?</KEYWORD2>\r
+                       <KEYWORD2>offset?</KEYWORD2>\r
+                       <KEYWORD2>outside?</KEYWORD2>\r
+                       <KEYWORD2>screen-offset?</KEYWORD2>\r
+                       <KEYWORD2>size?</KEYWORD2>\r
+                       <KEYWORD2>span?</KEYWORD2>\r
+                       <KEYWORD2>view?</KEYWORD2>\r
+                       <KEYWORD2>viewed?</KEYWORD2>\r
+                       <KEYWORD2>win-offset?</KEYWORD2>\r
+                       <KEYWORD2>within?</KEYWORD2>\r
+                       <KEYWORD3>action!</KEYWORD3>\r
+                       <KEYWORD3>any-block!</KEYWORD3>\r
+                       <KEYWORD3>any-function!</KEYWORD3>\r
+                       <KEYWORD3>any-string!</KEYWORD3>\r
+                       <KEYWORD3>any-type!</KEYWORD3>\r
+                       <KEYWORD3>any-word!</KEYWORD3>\r
+                       <KEYWORD3>binary!</KEYWORD3>\r
+                       <KEYWORD3>bitset!</KEYWORD3>\r
+                       <KEYWORD3>block!</KEYWORD3>\r
+                       <KEYWORD3>char!</KEYWORD3>\r
+                       <KEYWORD3>datatype!</KEYWORD3>\r
+                       <KEYWORD3>date!</KEYWORD3>\r
+                       <KEYWORD3>decimal!</KEYWORD3>\r
+                       <KEYWORD3>email!</KEYWORD3>\r
+                       <KEYWORD3>error!</KEYWORD3>\r
+                       <KEYWORD3>event!</KEYWORD3>\r
+                       <KEYWORD3>file!</KEYWORD3>\r
+                       <KEYWORD3>function!</KEYWORD3>\r
+                       <KEYWORD3>get-word!</KEYWORD3>\r
+                       <KEYWORD3>hash!</KEYWORD3>\r
+                       <KEYWORD3>image!</KEYWORD3>\r
+                       <KEYWORD3>integer!</KEYWORD3>\r
+                       <KEYWORD3>issue!</KEYWORD3>\r
+                       <KEYWORD3>library!</KEYWORD3>\r
+                       <KEYWORD3>list!</KEYWORD3>\r
+                       <KEYWORD3>lit-path!</KEYWORD3>\r
+                       <KEYWORD3>lit-word!</KEYWORD3>\r
+                       <KEYWORD3>logic!</KEYWORD3>\r
+                       <KEYWORD3>money!</KEYWORD3>\r
+                       <KEYWORD3>native!</KEYWORD3>\r
+                       <KEYWORD3>none!</KEYWORD3>\r
+                       <KEYWORD3>number!</KEYWORD3>\r
+                       <KEYWORD3>object!</KEYWORD3>\r
+                       <KEYWORD3>op!</KEYWORD3>\r
+                       <KEYWORD3>pair!</KEYWORD3>\r
+                       <KEYWORD3>paren!</KEYWORD3>\r
+                       <KEYWORD3>path!</KEYWORD3>\r
+                       <KEYWORD3>port!</KEYWORD3>\r
+                       <KEYWORD3>refinement!</KEYWORD3>\r
+                       <KEYWORD3>routine!</KEYWORD3>\r
+                       <KEYWORD3>series!</KEYWORD3>\r
+                       <KEYWORD3>set-path!</KEYWORD3>\r
+                       <KEYWORD3>set-word!</KEYWORD3>\r
+                       <KEYWORD3>string!</KEYWORD3>\r
+                       <KEYWORD3>struct!</KEYWORD3>\r
+                       <KEYWORD3>symbol!</KEYWORD3>\r
+                       <KEYWORD3>tag!</KEYWORD3>\r
+                       <KEYWORD3>time!</KEYWORD3>\r
+                       <KEYWORD3>tuple!</KEYWORD3>\r
+                       <KEYWORD3>unset!</KEYWORD3>\r
+                       <KEYWORD3>url!</KEYWORD3>\r
+                       <KEYWORD3>word!</KEYWORD3>\r
+\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>self</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/redcode.xml b/basis/xmode/modes/redcode.xml
new file mode 100644 (file)
index 0000000..1c64d60
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+\r
+       redcode syntax highlighting file for jedit\r
+\r
+       Will Varfar, 2002\r
+\r
+-->\r
+\r
+<MODE>\r
+\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=";" />\r
+       </PROPS>\r
+\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
+\r
+           <EOL_SPAN TYPE="COMMENT2">;redcode</EOL_SPAN>\r
+           <EOL_SPAN TYPE="COMMENT2">;author</EOL_SPAN>\r
+           <EOL_SPAN TYPE="COMMENT2">;name</EOL_SPAN>\r
+           <EOL_SPAN TYPE="COMMENT2">;strategy</EOL_SPAN>\r
+           <EOL_SPAN TYPE="COMMENT2">;password</EOL_SPAN>\r
+           <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+\r
+               <SEQ TYPE="KEYWORD3">.AB</SEQ> <!-- Instructions read the A-field of the A-instruction  and the B-field of the B-instruction and write to B-fields. -->\r
+               <SEQ TYPE="KEYWORD3">.BA</SEQ> <!-- Instructions read the B-field of the A-instruction  and the A-field of the B-instruction and write to A-fields. -->\r
+               <SEQ TYPE="KEYWORD3">.A</SEQ> <!--Instructions read and write A-fields. -->\r
+               <SEQ TYPE="KEYWORD3">.B</SEQ> <!-- Instructions read and write B-fields. -->\r
+               <SEQ TYPE="KEYWORD3">.F</SEQ> <!-- Instructions read both A- and B-fields of  the  the  A- and  B-instruction and write to both A- and B-fields (A to A and B to B). -->\r
+               <SEQ TYPE="KEYWORD3">.X</SEQ> <!-- Instructions read both A- and B-fields of  the  the  A- and  B-instruction  and  write  to both A- and B-fields exchanging fields (A to B and B to A). -->\r
+               <SEQ TYPE="KEYWORD3">.I</SEQ> <!-- Instructions read and write entire instructions. -->\r
+\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <!-- Arithmetic: -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>   <!-- addition or unary plus -->\r
+               <SEQ TYPE="OPERATOR">-</SEQ>   <!-- subtraction or unary minus -->\r
+               <SEQ TYPE="OPERATOR">/</SEQ>   <!-- division -->\r
+               <SEQ TYPE="OPERATOR">%</SEQ>   <!-- modulo (remainder of division) -->\r
+\r
+               <!-- Comparison (*): -->\r
+               <SEQ TYPE="OPERATOR">==</SEQ>  <!-- equality -->\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>  <!-- inequality -->\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>  <!-- less than or equal -->\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>  <!-- greater than or equal -->\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>   <!-- less than -->\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>   <!-- greater than -->\r
+\r
+               <!-- Logical (*): -->\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>  <!-- and -->\r
+               <SEQ TYPE="OPERATOR">||</SEQ>  <!-- or -->\r
+               <SEQ TYPE="OPERATOR">!</SEQ>   <!-- unary negation -->\r
+\r
+               <!-- Assignment (*): -->\r
+               <SEQ TYPE="OPERATOR">=</SEQ>   <!-- (to register variables a..z) -->\r
+\r
+\r
+               <SEQ TYPE="LITERAL1">$</SEQ>\r
+               <SEQ TYPE="LITERAL1">@</SEQ>\r
+               <SEQ TYPE="LITERAL1">#</SEQ>\r
+               <SEQ TYPE="LITERAL1">*</SEQ>\r
+               <SEQ TYPE="LITERAL1">{</SEQ>\r
+               <SEQ TYPE="LITERAL1">}</SEQ>\r
+\r
+               <KEYWORDS>\r
+\r
+                       <LITERAL2>CORESIZE</LITERAL2> <!-- value of -s parameter (default: 8000) -->\r
+                       <LITERAL2>MAXPROCESSES</LITERAL2> <!-- value of -p parameter (default: 8000) -->\r
+                       <LITERAL2>MAXCYCLES</LITERAL2> <!-- value of -c parameter (default: 80000) -->\r
+                       <LITERAL2>MAXLENGTH</LITERAL2> <!-- value of -l parameter (default: 100) -->\r
+                       <LITERAL2>MINDISTANCE</LITERAL2> <!-- value of -d parameter (default: 100) -->\r
+                       <LITERAL2>ROUNDS</LITERAL2> <!-- (+) value of -r parameter (default: 1) -->\r
+                       <LITERAL2>PSPACESIZE</LITERAL2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->\r
+                       <LITERAL2>CURLINE</LITERAL2> <!-- current line in generated assembly (starts with 0) -->\r
+                       <LITERAL2>VERSION</LITERAL2> <!-- pMARS version ("60" is v0.6.0) -->\r
+                       <LITERAL2>WARRIORS</LITERAL2> <!-- number of warriors specified on command line -->\r
+\r
+                       <KEYWORD1>DAT</KEYWORD1> <!-- terminate process -->\r
+                       <KEYWORD1>MOV</KEYWORD1> <!-- move from A to B -->\r
+                       <KEYWORD1>ADD</KEYWORD1> <!-- add A to B, store result in B -->\r
+                       <KEYWORD1>SUB</KEYWORD1> <!-- subtract A from B, store result in B -->\r
+                       <KEYWORD1>MUL</KEYWORD1> <!-- multiply A by B, store result in B -->\r
+                       <KEYWORD1>DIV</KEYWORD1> <!-- divide B by A, store result in B if A <> 0, else terminate -->\r
+                       <KEYWORD1>MOD</KEYWORD1> <!-- divide B by A, store remainder in B if A <> 0, else terminate -->\r
+                       <KEYWORD1>JMP</KEYWORD1> <!-- transfer execution to A -->\r
+                       <KEYWORD1>JMZ</KEYWORD1> <!-- transfer execution to A if B is zero -->\r
+                       <KEYWORD1>JMN</KEYWORD1> <!-- transfer execution to A if B is non-zero -->\r
+                       <KEYWORD1>DJN</KEYWORD1> <!-- decrement B, if B is non-zero, transfer execution to A -->\r
+                       <KEYWORD1>SPL</KEYWORD1> <!-- split off process to A -->\r
+                       <KEYWORD1>SLT</KEYWORD1> <!-- skip next instruction if A is less than B -->\r
+                       <KEYWORD1>CMP</KEYWORD1> <!-- same as SEQ -->\r
+                       <KEYWORD1>SEQ</KEYWORD1> <!-- (*) Skip next instruction if A is equal to B -->\r
+                       <KEYWORD1>SNE</KEYWORD1> <!-- (*) Skip next instruction if A is not equal to B -->\r
+                       <KEYWORD1>NOP</KEYWORD1> <!-- (*) No operation -->\r
+                       <KEYWORD1>LDP</KEYWORD1> <!-- (+) Load P-space cell A into core address B -->\r
+                       <KEYWORD1>STP</KEYWORD1> <!-- (+) Store A-number into P-space cell B -->\r
+\r
+                       <KEYWORD2>EQU</KEYWORD2>\r
+                       <KEYWORD2>ORG</KEYWORD2>\r
+                       <KEYWORD2>FOR</KEYWORD2>\r
+                       <KEYWORD2>ROF</KEYWORD2>\r
+                       <KEYWORD2>END</KEYWORD2>\r
+                       <KEYWORD2>PIN</KEYWORD2>\r
+                       <KEYWORD2>CORESIZE</KEYWORD2> <!-- value of -s parameter (default: 8000) -->\r
+                       <KEYWORD2>MAXPROCESSES</KEYWORD2> <!-- value of -p parameter (default: 8000) -->\r
+                       <KEYWORD2>MAXCYCLES</KEYWORD2> <!-- value of -c parameter (default: 80000) -->\r
+                       <KEYWORD2>MAXLENGTH</KEYWORD2> <!-- value of -l parameter (default: 100) -->\r
+                       <KEYWORD2>MINDISTANCE</KEYWORD2> <!-- value of -d parameter (default: 100) -->\r
+                       <KEYWORD2>ROUNDS</KEYWORD2> <!-- (+) value of -r parameter (default: 1) -->\r
+                       <KEYWORD2>PSPACESIZE</KEYWORD2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->\r
+                       <KEYWORD2>CURLINE</KEYWORD2> <!-- current line in generated assembly (starts with 0) -->\r
+                       <KEYWORD2>VERSION</KEYWORD2> <!-- pMARS version ("60" is v0.6.0) -->\r
+                       <KEYWORD2>WARRIORS</KEYWORD2> <!-- number of warriors specified on command line -->\r
+\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+</MODE>\r
+\r
+\r
diff --git a/basis/xmode/modes/relax-ng-compact.xml b/basis/xmode/modes/relax-ng-compact.xml
new file mode 100644 (file)
index 0000000..cdf6706
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version='1.0'?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- RELAX NG Compact Syntax mode, by Randy Hudson. -->\r
+<!-- mode catalog entry:\r
+     \r
+  <MODE NAME="relax-ng-compact" FILE="relax-ng-compact.xml"\r
+      FILE_NAME_GLOB="*.rnc" /> \r
+  -->\r
+\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+        <PROPERTY NAME="lineComment" VALUE="#" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+    </PROPS>  \r
+    \r
+    <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+    \r
+        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+        <SPAN TYPE='LITERAL2'>\r
+            <BEGIN>"""</BEGIN>\r
+            <END>"""</END>\r
+        </SPAN>\r
+        <SPAN TYPE='LITERAL2'>\r
+            <BEGIN>'''</BEGIN>\r
+            <END>'''</END>\r
+        </SPAN>\r
\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">?</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|=</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        \r
+        <MARK_FOLLOWING TYPE="NULL">\</MARK_FOLLOWING>\r
+        \r
+        <KEYWORDS>\r
+            <KEYWORD1>attribute</KEYWORD1>\r
+            <KEYWORD1>default</KEYWORD1>\r
+            <KEYWORD1>datatypes</KEYWORD1>\r
+            <KEYWORD1>div</KEYWORD1>\r
+            <KEYWORD1>element</KEYWORD1>\r
+            <KEYWORD1>empty</KEYWORD1>\r
+            <KEYWORD1>external</KEYWORD1>\r
+            <KEYWORD1>grammar</KEYWORD1>\r
+            <KEYWORD1>include</KEYWORD1>\r
+            <KEYWORD1>inherit</KEYWORD1>\r
+            <KEYWORD1>list</KEYWORD1>\r
+            <KEYWORD1>mixed</KEYWORD1>\r
+            <KEYWORD1>namespace</KEYWORD1>\r
+            <KEYWORD1>notAllowed</KEYWORD1>\r
+            <KEYWORD1>parent</KEYWORD1>\r
+            <KEYWORD1>start</KEYWORD1>\r
+            <KEYWORD2>string</KEYWORD2>\r
+            <KEYWORD1>text</KEYWORD1>\r
+            <KEYWORD2>token</KEYWORD2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rest.xml b/basis/xmode/modes/rest.xml
new file mode 100644 (file)
index 0000000..0f51ecf
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE=".. "/>\r
+               <!-- indent after literal blocks and directives -->\r
+               <PROPERTY NAME="indentNextLines" VALUE=".*::$"/>\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" ESCAPE="\">\r
+\r
+               <!-- targets -->\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD3">__</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD3">.. _</EOL_SPAN>\r
+\r
+               <!-- section titles -->\r
+               <SEQ_REGEXP HASH_CHAR="===" TYPE="LABEL">={3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="---" TYPE="LABEL">-{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="~~~" TYPE="LABEL">~{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="###" TYPE="LABEL">#{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR='"""' TYPE="LABEL">"{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="^^^" TYPE="LABEL">\^{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="+++" TYPE="LABEL">\+{3,}</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="***" TYPE="LABEL">\*{3,}</SEQ_REGEXP>\r
+\r
+               <!-- replacement -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR=".."\r
+                       AT_LINE_START="TRUE"\r
+                       TYPE="LITERAL3"\r
+               >\.\.\s\|[^|]+\|</SEQ_REGEXP>\r
+\r
+               <!-- substitution -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="|"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="LITERAL4"\r
+               >\|[^|]+\|</SEQ_REGEXP>\r
+\r
+               <!-- directives: .. name:: -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR=".."\r
+                       AT_LINE_START="TRUE"\r
+                       TYPE="LITERAL2"\r
+               >\.\.\s[A-z][A-z0-9-_]+::</SEQ_REGEXP>\r
+\r
+               <!-- strong emphasis: **...** -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="**"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD2"\r
+               >\*\*[^*]+\*\*</SEQ_REGEXP>\r
+\r
+               <!-- emphasis: *...* -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="*"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >\*[^\s*][^*]*\*</SEQ_REGEXP>\r
+\r
+               <!-- comments -->\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">.. </EOL_SPAN>\r
+\r
+               <!-- links: `...`_ or `...`__ -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="`"\r
+                       TYPE="LABEL"\r
+               >`[A-z0-9]+[^`]+`_{1,2}</SEQ_REGEXP>\r
+\r
+               <!-- footnote reference: [0]_ -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="["\r
+                       TYPE="LABEL"\r
+               >\[[0-9]+\]_</SEQ_REGEXP>\r
+\r
+               <!-- footnote reference: [#]_ or [#foo]_ -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="[#"\r
+                       TYPE="LABEL"\r
+               >\[#[A-z0-9_]*\]_</SEQ_REGEXP>\r
+\r
+               <!-- footnote reference: [*]_ -->\r
+               <SEQ TYPE="LABEL">[*]_</SEQ>\r
+\r
+               <!-- citation reference: [foo]_ -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="["\r
+                       TYPE="LABEL"\r
+               >\[[A-z][A-z0-9_-]*\]_</SEQ_REGEXP>\r
+\r
+               <!-- inline literal: ``...``-->\r
+               <!--<SEQ_REGEXP\r
+                       HASH_CHAR="``"\r
+                       TYPE="LITERAL1"\r
+               >``[^`]+``</SEQ_REGEXP>-->\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>``</BEGIN>\r
+                       <END>``</END>\r
+               </SPAN>\r
+\r
+               <!-- interpreted text: `...` -->\r
+               <!--\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="`"\r
+                       TYPE="KEYWORD1"\r
+               >`[^`]+`</SEQ_REGEXP>\r
+               -->\r
+               <SPAN TYPE="KEYWORD1">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <SEQ_REGEXP HASH_CHAR="```" TYPE="LABEL">`{3,}</SEQ_REGEXP>\r
+\r
+               <!-- :field list: -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR=":"\r
+                       TYPE="KEYWORD1"\r
+               >:[A-z][A-z0-9  =\s\t_]*:</SEQ_REGEXP>\r
+\r
+               <!-- table -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="+-"\r
+                       TYPE="LABEL"\r
+               >\+-[+-]+</SEQ_REGEXP>\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="+?"\r
+                       TYPE="LABEL"\r
+               >\+=[+=]+</SEQ_REGEXP>\r
+\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/rfc.xml b/basis/xmode/modes/rfc.xml
new file mode 100644 (file)
index 0000000..9d84db8
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>\r
+\r
+<!-- RFC mode by Matthieu Casanova -->\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<MODE>\r
+       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
+               <SEQ_REGEXP HASH_CHAR="[" TYPE="KEYWORD3">\[Page \d+\]</SEQ_REGEXP>\r
+               <SEQ_REGEXP HASH_CHAR="[" TYPE="KEYWORD2">\[RFC\d+\]</SEQ_REGEXP>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <KEYWORDS>\r
+                       <!--{{{ Keyword list from RFC2119 -->\r
+                       <KEYWORD1>MUST</KEYWORD1>\r
+                       <KEYWORD1>MUST NOT</KEYWORD1>\r
+                       <KEYWORD1>REQUIRED</KEYWORD1>\r
+                       <KEYWORD1>SHALL</KEYWORD1>\r
+                       <KEYWORD1>SHALL NOT</KEYWORD1>\r
+                       <KEYWORD1>SHOULD</KEYWORD1>\r
+                       <KEYWORD1>SHOULD NOT</KEYWORD1>\r
+                       <KEYWORD1>RECOMMENDED</KEYWORD1>\r
+                       <KEYWORD1>MAY</KEYWORD1>\r
+                       <KEYWORD1>OPTIONAL</KEYWORD1> \r
+                       <!--}}}-->\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rhtml.xml b/basis/xmode/modes/rhtml.xml
new file mode 100644 (file)
index 0000000..76e4f91
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- rhtml (ruby+html) mode -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;%#" />\r
+               <PROPERTY NAME="commentEnd" VALUE="%&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               \r
+               <!-- eRuby comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;%#</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- eRuby assignment -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ruby::MAIN">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- eRuby statement -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ruby::MAIN">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP">\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;%#</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS_LITERAL" DEFAULT="LITERAL1">\r
+\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;%</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="MARKUP">\r
+                       <BEGIN>&lt;%=</BEGIN>\r
+                       <END>%&gt;</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rib.xml b/basis/xmode/modes/rib.xml
new file mode 100644 (file)
index 0000000..81b579f
--- /dev/null
@@ -0,0 +1,219 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!--\r
+jEdit edit mode for Renderman Interface Bytestream (*.rib) files\r
+version 1.0 - 9 nov 2003\r
+by Alessandro Falappa (alessandro@falappa.net)\r
+Initial keyword list taken from a syntax highlighting definition\r
+for TextPad text editor by Kharitonov Konstantin (aqua@sm.bmstu.ru)\r
+-->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="lineComment" VALUE="#" />\r
+        <PROPERTY NAME="indentNextLines" VALUE="Begin|WorldBegin|FrameBegin|TransformBegin|AttributeBegin|SolidBegin|ObjectBegin|MotionBegin" />\r
+        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+    </PROPS>\r
+    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="([\p{Digit}]+(e[\p{Digit}]*)?)">\r
+               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="COMMENT1">#</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="LITERALS">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <KEYWORDS>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>string</KEYWORD1>\r
+                       <KEYWORD1>color</KEYWORD1>\r
+                       <KEYWORD1>point</KEYWORD1>\r
+                       <KEYWORD1>vector</KEYWORD1>\r
+                       <KEYWORD1>normal</KEYWORD1>\r
+                       <KEYWORD1>matrix</KEYWORD1>\r
+                       <KEYWORD1>void</KEYWORD1>\r
+                       <KEYWORD1>varying</KEYWORD1>\r
+                       <KEYWORD1>uniform</KEYWORD1>\r
+                       <KEYWORD1>output</KEYWORD1>\r
+                       <KEYWORD1>extern</KEYWORD1>\r
+\r
+                       <KEYWORD2>Begin</KEYWORD2>\r
+                       <KEYWORD2>End</KEYWORD2>\r
+                       <KEYWORD2>Declare</KEYWORD2>\r
+                       <KEYWORD2>RtContextHandle </KEYWORD2>\r
+                       <KEYWORD2>ContextHandle </KEYWORD2>\r
+                       <KEYWORD2>Context</KEYWORD2>\r
+                       <KEYWORD2>FrameBegin</KEYWORD2>\r
+                       <KEYWORD2>FrameEnd</KEYWORD2>\r
+                       <KEYWORD2>WorldBegin</KEYWORD2>\r
+                       <KEYWORD2>WorldEnd</KEYWORD2>\r
+                       <KEYWORD2>SolidBegin</KEYWORD2>\r
+                       <KEYWORD2>SolidEnd</KEYWORD2>\r
+                       <KEYWORD2>MotionBegin</KEYWORD2>\r
+                       <KEYWORD2>MotionEnd</KEYWORD2>\r
+                       <KEYWORD2>ObjectBegin</KEYWORD2>\r
+                       <KEYWORD2>ObjectEnd</KEYWORD2>\r
+                       <KEYWORD2>Format</KEYWORD2>\r
+                       <KEYWORD2>FrameAspectRatio</KEYWORD2>\r
+                       <KEYWORD2>ScreenWindow</KEYWORD2>\r
+                       <KEYWORD2>CropWindow</KEYWORD2>\r
+                       <KEYWORD2>Projection</KEYWORD2>\r
+                       <KEYWORD2>Clipping</KEYWORD2>\r
+                       <KEYWORD2>ClippingPlane</KEYWORD2>\r
+                       <KEYWORD2>DepthOfField</KEYWORD2>\r
+                       <KEYWORD2>Shutter</KEYWORD2>\r
+                       <KEYWORD2>PixelVariance</KEYWORD2>\r
+                       <KEYWORD2>PixelSamples</KEYWORD2>\r
+                       <KEYWORD2>PixelFilter</KEYWORD2>\r
+                       <KEYWORD2>Exposure</KEYWORD2>\r
+                       <KEYWORD2>Imager</KEYWORD2>\r
+                       <KEYWORD2>Quantize</KEYWORD2>\r
+                       <KEYWORD2>Display</KEYWORD2>\r
+                       <KEYWORD2>Hider</KEYWORD2>\r
+                       <KEYWORD2>ColorSamples</KEYWORD2>\r
+                       <KEYWORD2>RelativeDetail</KEYWORD2>\r
+                       <KEYWORD2>Option</KEYWORD2>\r
+                       <KEYWORD2>AttributeBegin</KEYWORD2>\r
+                       <KEYWORD2>AttributeEnd</KEYWORD2>\r
+                       <KEYWORD2>Color</KEYWORD2>\r
+                       <KEYWORD2>Opacity</KEYWORD2>\r
+                       <KEYWORD2>TextureCoordinates</KEYWORD2>\r
+                       <KEYWORD2>RtLightHandle</KEYWORD2>\r
+                       <KEYWORD2>LightSource</KEYWORD2>\r
+                       <KEYWORD2>AreaLightSource</KEYWORD2>\r
+                       <KEYWORD2>Illuminate</KEYWORD2>\r
+                       <KEYWORD2>Surface</KEYWORD2>\r
+                       <KEYWORD2>Displacement</KEYWORD2>\r
+                       <KEYWORD2>Atmosphere</KEYWORD2>\r
+                       <KEYWORD2>Interior</KEYWORD2>\r
+                       <KEYWORD2>Exterior</KEYWORD2>\r
+                       <KEYWORD2>ShadingRate</KEYWORD2>\r
+                       <KEYWORD2>ShadingInterpolation</KEYWORD2>\r
+                       <KEYWORD2>Matte</KEYWORD2>\r
+                       <KEYWORD2>Bound</KEYWORD2>\r
+                       <KEYWORD2>Detail</KEYWORD2>\r
+                       <KEYWORD2>DetailRange</KEYWORD2>\r
+                       <KEYWORD2>GeometricApproximation</KEYWORD2>\r
+                       <KEYWORD2>Orientation</KEYWORD2>\r
+                       <KEYWORD2>ReverseOrientation</KEYWORD2>\r
+                       <KEYWORD2>Sides</KEYWORD2>\r
+                       <KEYWORD2>Identity</KEYWORD2>\r
+                       <KEYWORD2>Transform</KEYWORD2>\r
+                       <KEYWORD2>ConcatTransform</KEYWORD2>\r
+                       <KEYWORD2>Perspective</KEYWORD2>\r
+                       <KEYWORD2>Translate</KEYWORD2>\r
+                       <KEYWORD2>Rotate</KEYWORD2>\r
+                       <KEYWORD2>Scale</KEYWORD2>\r
+                       <KEYWORD2>Skew</KEYWORD2>\r
+                       <KEYWORD2>CoordinateSystem</KEYWORD2>\r
+                       <KEYWORD2>CoordSysTransform</KEYWORD2>\r
+                       <KEYWORD2>TransformPoints</KEYWORD2>\r
+                       <KEYWORD2>TransformBegin</KEYWORD2>\r
+                       <KEYWORD2>TransformEnd</KEYWORD2>\r
+                       <KEYWORD2>Attribute</KEYWORD2>\r
+\r
+                       <KEYWORD3>Polygon</KEYWORD3>\r
+                       <KEYWORD3>GeneralPolygon</KEYWORD3>\r
+                       <KEYWORD3>PointsPolygons</KEYWORD3>\r
+                       <KEYWORD3>PointsGeneralPolygons</KEYWORD3>\r
+                       <KEYWORD3>Basis</KEYWORD3>\r
+                       <KEYWORD3>Patch</KEYWORD3>\r
+                       <KEYWORD3>PatchMesh</KEYWORD3>\r
+                       <KEYWORD3>NuPatch</KEYWORD3>\r
+                       <KEYWORD3>TrimCurve</KEYWORD3>\r
+                       <KEYWORD3>SubdivisionMesh</KEYWORD3>\r
+                       <KEYWORD3>Sphere</KEYWORD3>\r
+                       <KEYWORD3>Cone</KEYWORD3>\r
+                       <KEYWORD3>Cylinder</KEYWORD3>\r
+                       <KEYWORD3>Hyperboloid</KEYWORD3>\r
+                       <KEYWORD3>Paraboloid</KEYWORD3>\r
+                       <KEYWORD3>Disk</KEYWORD3>\r
+                       <KEYWORD3>Torus</KEYWORD3>\r
+                       <KEYWORD3>Points</KEYWORD3>\r
+                       <KEYWORD3>Curves</KEYWORD3>\r
+                       <KEYWORD3>Blobby</KEYWORD3>\r
+                       <KEYWORD3>Procedural</KEYWORD3>\r
+                       <KEYWORD3>DelayedReadArchive</KEYWORD3>\r
+                       <KEYWORD3>RunProgram</KEYWORD3>\r
+                       <KEYWORD3>DynamicLoad</KEYWORD3>\r
+                       <KEYWORD3>Geometry</KEYWORD3>\r
+                       <KEYWORD3>SolidBegin</KEYWORD3>\r
+                       <KEYWORD3>SolidEnd</KEYWORD3>\r
+                       <KEYWORD3>RtObjectHandle</KEYWORD3>\r
+                       <KEYWORD3>ObjectBegin</KEYWORD3>\r
+                       <KEYWORD3>ObjectEnd</KEYWORD3>\r
+                       <KEYWORD3>ObjectInstance</KEYWORD3>\r
+\r
+                       <KEYWORD4>MakeTexture</KEYWORD4>\r
+                       <KEYWORD4>MakeLatLongEnvironment</KEYWORD4>\r
+                       <KEYWORD4>MakeCubeFaceEnvironment</KEYWORD4>\r
+                       <KEYWORD4>MakeShadow</KEYWORD4>\r
+                       <KEYWORD4>ErrorHandler</KEYWORD4>\r
+                       <KEYWORD4>ArchiveRecord</KEYWORD4>\r
+                       <KEYWORD4>ReadArchive</KEYWORD4>\r
+                       <KEYWORD4>Deformation</KEYWORD4>\r
+                       <KEYWORD4>MakeBump</KEYWORD4>\r
+               </KEYWORDS>\r
+    </RULES>\r
+    <RULES SET="LITERALS" ESCAPE="\" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">\r
+               <KEYWORDS>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>string</KEYWORD1>\r
+                       <KEYWORD1>color</KEYWORD1>\r
+                       <KEYWORD1>point</KEYWORD1>\r
+                       <KEYWORD1>vector</KEYWORD1>\r
+                       <KEYWORD1>normal</KEYWORD1>\r
+                       <KEYWORD1>matrix</KEYWORD1>\r
+                       <KEYWORD1>void</KEYWORD1>\r
+                       <KEYWORD1>varying</KEYWORD1>\r
+                       <KEYWORD1>uniform</KEYWORD1>\r
+                       <KEYWORD1>output</KEYWORD1>\r
+                       <KEYWORD1>extern</KEYWORD1>\r
+\r
+                       <LITERAL2>P</LITERAL2>\r
+                       <LITERAL2>Pw</LITERAL2>\r
+                       <LITERAL2>Pz</LITERAL2>\r
+                       <LITERAL2>N</LITERAL2>\r
+                       <LITERAL2>Cs</LITERAL2>\r
+                       <LITERAL2>Os</LITERAL2>\r
+                       <LITERAL2>RI_NULL</LITERAL2>\r
+                       <LITERAL2>RI_INFINITY</LITERAL2>\r
+                       <LITERAL2>orthographic</LITERAL2>\r
+                       <LITERAL2>perspective</LITERAL2>\r
+                       <LITERAL2>bezier</LITERAL2>\r
+                       <LITERAL2>catmull-rom</LITERAL2>\r
+                       <LITERAL2>b-spline</LITERAL2>\r
+                       <LITERAL2>hermite</LITERAL2>\r
+                       <LITERAL2>power</LITERAL2>\r
+                       <LITERAL2>catmull-clark</LITERAL2>\r
+                       <LITERAL2>hole</LITERAL2>\r
+                       <LITERAL2>crease</LITERAL2>\r
+                       <LITERAL2>corner</LITERAL2>\r
+                       <LITERAL2>interpolateboundary</LITERAL2>\r
+                       <LITERAL2>object</LITERAL2>\r
+                       <LITERAL2>world</LITERAL2>\r
+                       <LITERAL2>camera</LITERAL2>\r
+                       <LITERAL2>screen</LITERAL2>\r
+                       <LITERAL2>raster</LITERAL2>\r
+                       <LITERAL2>NDC</LITERAL2>\r
+                       <LITERAL2>box</LITERAL2>\r
+                       <LITERAL2>triangle</LITERAL2>\r
+                       <LITERAL2>sinc</LITERAL2>\r
+                       <LITERAL2>gaussian</LITERAL2>\r
+                       <LITERAL2>constant</LITERAL2>\r
+                       <LITERAL2>smooth</LITERAL2>\r
+                       <LITERAL2>outside</LITERAL2>\r
+                       <LITERAL2>inside</LITERAL2>\r
+                       <LITERAL2>lh</LITERAL2>\r
+                       <LITERAL2>rh</LITERAL2>\r
+                       <LITERAL2>bicubic</LITERAL2>\r
+                       <LITERAL2>bilinear</LITERAL2>\r
+                       <LITERAL2>periodic</LITERAL2>\r
+                       <LITERAL2>nonperiodic</LITERAL2>\r
+                       <LITERAL2>hidden</LITERAL2>\r
+                       <LITERAL2>null</LITERAL2>\r
+               </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/rpmspec.xml b/basis/xmode/modes/rpmspec.xml
new file mode 100644 (file)
index 0000000..9bc3e12
--- /dev/null
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+       </PROPS>\r
+       <RULES>\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
+\r
+               <!-- Dependency operators -->\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <!-- %attr -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="ATTR" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%attr(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <!-- %verify -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="VERIFY" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%verify(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <!-- Source -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD1"\r
+                       AT_LINE_START="TRUE">Source</MARK_FOLLOWING>\r
+\r
+               <!-- Patch -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD1"\r
+                       AT_LINE_START="TRUE">Patch</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="FUNCTION"\r
+                       AT_LINE_START="TRUE">%patch</MARK_FOLLOWING>\r
+\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>%{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$&lt;</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>Summary:</KEYWORD1>\r
+                       <KEYWORD1>Name:</KEYWORD1>\r
+                       <KEYWORD1>Version:</KEYWORD1>\r
+                       <KEYWORD1>Release:</KEYWORD1>\r
+                       <KEYWORD1>Copyright:</KEYWORD1>\r
+                       <KEYWORD1>Group:</KEYWORD1>\r
+                       <KEYWORD1>URL:</KEYWORD1>\r
+                       <KEYWORD1>Packager:</KEYWORD1>\r
+                       <KEYWORD1>Prefix:</KEYWORD1>\r
+                       <KEYWORD1>Distribution:</KEYWORD1>\r
+                       <KEYWORD1>Vendor:</KEYWORD1>\r
+                       <KEYWORD1>Icon:</KEYWORD1>\r
+                       <KEYWORD1>Provides:</KEYWORD1>\r
+                       <KEYWORD1>Requires:</KEYWORD1>\r
+                       <KEYWORD1>Serial:</KEYWORD1>\r
+                       <KEYWORD1>Conflicts:</KEYWORD1>\r
+                       <KEYWORD1>AutoReqProv:</KEYWORD1>\r
+                       <KEYWORD1>BuildArch:</KEYWORD1>\r
+                       <KEYWORD1>ExcludeArch:</KEYWORD1>\r
+                       <KEYWORD1>ExclusiveArch:</KEYWORD1>\r
+                       <KEYWORD1>ExclusiveOS:</KEYWORD1>\r
+                       <KEYWORD1>BuildRoot:</KEYWORD1>\r
+                       <KEYWORD1>NoSource:</KEYWORD1>\r
+                       <KEYWORD1>NoPatch:</KEYWORD1>\r
+\r
+                       <LABEL>%prep</LABEL>\r
+                       <LABEL>%install</LABEL>\r
+                       <LABEL>%description</LABEL>\r
+                       <LABEL>%build</LABEL>\r
+                       <LABEL>%files</LABEL>\r
+                       <LABEL>%clean</LABEL>\r
+                       <LABEL>%pre</LABEL>\r
+                       <LABEL>%post</LABEL>\r
+                       <LABEL>%preun</LABEL>\r
+                       <LABEL>%postun</LABEL>\r
+                       <LABEL>%verifyscript</LABEL>\r
+\r
+                       <FUNCTION>%setup</FUNCTION>\r
+                       <FUNCTION>%ifarch</FUNCTION>\r
+                       <FUNCTION>%ifnarch</FUNCTION>\r
+                       <FUNCTION>%ifos</FUNCTION>\r
+                       <FUNCTION>%ifnos</FUNCTION>\r
+                       <FUNCTION>%else</FUNCTION>\r
+                       <FUNCTION>%endif</FUNCTION>\r
+\r
+                       <MARKUP>%doc</MARKUP>\r
+                       <MARKUP>%config</MARKUP>\r
+                       <MARKUP>%docdir</MARKUP>\r
+                       <MARKUP>%dir</MARKUP>\r
+                       <MARKUP>%package</MARKUP>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="ATTR" HIGHLIGHT_DIGITS="TRUE">\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="VERIFY">\r
+               <KEYWORDS>\r
+                       <KEYWORD2>owner</KEYWORD2>\r
+                       <KEYWORD2>group</KEYWORD2>\r
+                       <KEYWORD2>mode</KEYWORD2>\r
+                       <KEYWORD2>md5</KEYWORD2>\r
+                       <KEYWORD2>size</KEYWORD2>\r
+                       <KEYWORD2>maj</KEYWORD2>\r
+                       <KEYWORD2>min</KEYWORD2>\r
+                       <KEYWORD2>symlink</KEYWORD2>\r
+                       <KEYWORD2>mtime</KEYWORD2>\r
+                       <OPERATOR>not</OPERATOR>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rtf.xml b/basis/xmode/modes/rtf.xml
new file mode 100644 (file)
index 0000000..889e79e
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- contributed by Lionel Fiol <lio-sand@ifrance.com>  -->\r
+<!-- 30/MAR/2004: initial contribution                  -->\r
+\r
+<MODE>\r
+  <RULES ESCAPE="\\">\r
+    <!-- groups -->\r
+    <SEQ TYPE="OPERATOR">{</SEQ>\r
+    <SEQ TYPE="OPERATOR">}</SEQ>\r
+    <!-- characters as hexadecimal values - eg "\'e9" -->\r
+    <SEQ_REGEXP HASH_CHAR="\'" TYPE="LITERAL2">\\'\w\d</SEQ_REGEXP>\r
+    <!-- control words added after the RTF Specification published in March 1987 - eg "\*\panose" -->\r
+    <MARK_FOLLOWING TYPE="KEYWORD2">\*\</MARK_FOLLOWING>\r
+    <!-- control words - eg "\par" -->\r
+    <MARK_FOLLOWING TYPE="KEYWORD1">\</MARK_FOLLOWING>\r
+  </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ruby.xml b/basis/xmode/modes/ruby.xml
new file mode 100644 (file)
index 0000000..2d29c2d
--- /dev/null
@@ -0,0 +1,462 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<!-- Ruby mode by Ian Maclean (Ruby edit mode v0.6.2) -->\r
+<!-- tweakage by Chris Morris - clabs.org -->\r
+<!-- further tweakage by Christophe Grandsire -->\r
+<!-- further tweakage by Robert McKinnon 2004 -->\r
+<!-- Major overhaul by Karl von Laudermann -->\r
+<!-- recommended mode catalog entry:\r
+    <MODE NAME="ruby" FILE="ruby.xml" FILE_NAME_GLOB="*.{rb,rbw}" FIRST_LINE_GLOB="#!*/*ruby*" /> -->\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE=""/>\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
+        <PROPERTY NAME="lineUpClosingBracket" VALUE="true"/>\r
+        <PROPERTY NAME="commentStart" VALUE="=begin"/>\r
+        <PROPERTY NAME="commentEnd" VALUE="=end"/>\r
+        <PROPERTY NAME="lineComment" VALUE="#"/>\r
+        <PROPERTY NAME="indentNextLines" VALUE="\s*((if\s+.*|elsif\s+.*|else\s*|do(\s*|\s+.*)|case\s+.*|when\s+.*|while\s+.*|for\s+.*|until\s+.*|loop\s+.*|def\s+.*|class\s+.*|module\s+.*|begin.*|unless\s+.*)*)"/>\r
+    </PROPS>\r
+    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0b[01]([01_]*[01])?)|(0x[\p{XDigit}]([\p{XDigit}_]*[\p{XDigit}])?)|(0([0-7_]*[0-7])?)|(0d[0-9]([0-9_]*[0-9])?)|([1-9]([0-9_]*[0-9])?)|([0-9]([0-9_]*[0-9])?[Ee]([0-9]([0-9_]*[0-9])?)?)">\r
+        <!--       ^ Binary literal    | ^ Hex literal                               | ^ Octal literal  | ^ "0d" Style Dec lit   | ^ Normal Dec literal | ^ Float literal w/out dec point, with exp. -->\r
+\r
+        <!-- Ruby comment (Inline Documentation ) -->\r
+        <SPAN TYPE="COMMENT2">\r
+            <BEGIN>=begin</BEGIN>\r
+            <END>=end</END>\r
+        </SPAN>\r
+\r
+        <!-- Class and instance vars -->\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
+\r
+               <!-- Perl-style regexps - from perl.xml -->\r
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/" AT_WORD_START="TRUE"\r
+               >/[^\p{Blank}]*?/</SEQ_REGEXP>\r
+\r
+        <!-- String literals -->\r
+\r
+        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <!-- %Q(Hello world) %(Hello world)-->\r
+        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%Q?\(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %q(Hello world) -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%q(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN>\r
+\r
+        <!-- %Q{Hello world} %{Hello world} -->\r
+        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%Q?\{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %q{Hello world} -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%q{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- %Q[Hello world] %[Hello world] -->\r
+        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%Q?\[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %q[Hello world] -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%q[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN>\r
+\r
+        <!-- %Q<Hello world> %<Hello world> -->\r
+        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%Q?&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %q<Hello world> -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%q&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- I made the next three forms as three instead of two, because the\r
+         first two actually support whitespace as a delimiter, and the third\r
+         one doesn't. -->\r
+        <!-- %Q$Hello world$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%Q" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%Q([^\p{Alnum}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %q$Hello world$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%q" TYPE="LITERAL1">\r
+            <BEGIN>%q([^\p{Alnum}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %$Hello world$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%([^\p{Alnum}\p{Space}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %W(Array of strings) -->\r
+        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%W(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN>\r
+\r
+        <!-- %w(Array of strings) -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%w(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN>\r
+\r
+        <!-- %W{Array of strings} -->\r
+        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%W{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- %w{Array of strings} -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%w{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- %W[Array of strings] -->\r
+        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%W[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN>\r
+\r
+        <!-- %w[Array of strings] -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%w[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN>\r
+\r
+        <!-- %W<Array of strings>  -->\r
+        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%W&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- %w<Array of strings> -->\r
+        <SPAN TYPE="LITERAL1">\r
+            <BEGIN>%w&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- %W$Array of strings$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%W" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>%W([^\p{Alnum}\p{Space}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- %w@Array of strings@ -->\r
+        <SPAN_REGEXP HASH_CHAR="%w" TYPE="LITERAL1">\r
+            <BEGIN>%w([^\p{Alnum}\p{Space}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- Here documents <<"FOO" <<-"FOO" -->\r
+        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
+         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
+         document will terminate highlighting; I couldn't make it smarter. -->\r
+        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>&lt;&lt;-?"([\p{Graph}]+)"</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- Here documents <<'FOO' <<-'FOO' -->\r
+        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
+         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
+         document will terminate highlighting; I couldn't make it smarter. -->\r
+        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1">\r
+            <BEGIN>&lt;&lt;-?'([\p{Graph}]+)'</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- Here documents <<FOO <<-FOO -->\r
+        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
+         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
+         document will terminate highlighting; I couldn't make it smarter. -->\r
+        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
+            <BEGIN>&lt;&lt;-?([A-Za-z_]+)</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- Shell command strings -->\r
+\r
+        <!-- `echo foo` -->\r
+        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>`</BEGIN>\r
+            <END>`</END>\r
+        </SPAN>\r
+\r
+        <!-- %x(echo foo) -->\r
+        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>%x(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN>\r
+\r
+        <!-- %x{echo foo} -->\r
+        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>%x{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- %x[echo foo] -->\r
+        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>%x[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN>\r
+\r
+        <!-- %x<echo foo> -->\r
+        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>%x&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- %x$echo foo$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%x" TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
+            <BEGIN>%x([^\p{Alnum}\p{Space}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- Regular expressions   -->\r
+\r
+        <!-- /regexp?/i -->\r
+        <!-- This doesn't really work well, because it can't distinguish a regexp\r
+         from multiple instances of the "/" division operator on the same line. -->\r
+        <!-- <SEQ_REGEXP HASH_CHAR="/" AT_WORD_START="TRUE"\r
+            TYPE="LITERAL3">/[^/]+/[iomx]*</SEQ_REGEXP> -->\r
+\r
+        <!-- %r(regexp?) -->\r
+        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
+            <BEGIN>%r(</BEGIN>\r
+            <END>)</END>\r
+        </SPAN>\r
+\r
+        <!-- %r{regexp?} -->\r
+        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
+            <BEGIN>%r{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- %r[regexp?] -->\r
+        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
+            <BEGIN>%r[</BEGIN>\r
+            <END>]</END>\r
+        </SPAN>\r
+\r
+        <!-- %r<regexp?> -->\r
+        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
+            <BEGIN>%r&lt;</BEGIN>\r
+            <END>&gt;</END>\r
+        </SPAN>\r
+\r
+        <!-- %r$regexp?$ -->\r
+        <SPAN_REGEXP HASH_CHAR="%r" TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
+            <BEGIN>%r([^\p{Alnum}\p{Space}])</BEGIN>\r
+            <END>$1</END>\r
+        </SPAN_REGEXP>\r
+\r
+        <!-- (/regexp/) -->\r
+        <SPAN DELEGATE="RegexpLiteral" MATCH_TYPE="OPERATOR" TYPE="LITERAL3">\r
+            <BEGIN>(/</BEGIN>\r
+            <END>/</END>\r
+        </SPAN>\r
+\r
+        <!-- Nested code block -->\r
+        <!-- I included this just because it can appear in a "/" delimited\r
+        regular expression, handling of which is commented out above. So this\r
+        would otherwise be colored as a comment. -->\r
+        <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
+            <BEGIN>#{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+\r
+        <!-- Std Comment -->\r
+        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+        <!-- Predefined global variables -->\r
+        <SEQ_REGEXP HASH_CHAR="$-" TYPE="KEYWORD3" AT_WORD_START="TRUE">\$-[0adFiIKlpvw](?![\p{Alnum}_])</SEQ_REGEXP>\r
+\r
+        <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD3" AT_WORD_START="TRUE">\$[0-9!@&amp;\+`'=~/\\,\.;&lt;&gt;_\*"\$\?\:F](?![\p{Alnum}_])</SEQ_REGEXP>\r
+\r
+        <!-- Because of the ? char, this can't be done as a KEYWORD element -->\r
+        <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">defined?</SEQ>\r
+\r
+        <!-- Highlight "include" but not "include?" -->\r
+        <SEQ_REGEXP HASH_CHAR="include" TYPE="KEYWORD2" AT_WORD_START="TRUE">include(?![\p{Alnum}_\?])</SEQ_REGEXP>\r
+\r
+        <!-- Not Operators but like the syntax highlight to match operators -->\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+        <SEQ TYPE="OPERATOR">(</SEQ>\r
+        <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+        <!-- Arithmetic operators -->\r
+        <SEQ TYPE="OPERATOR">::</SEQ>\r
+        <SEQ TYPE="OPERATOR">===</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">**</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+        <!-- Logical Operators -->\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+\r
+        <!-- Range operators -->\r
+        <SEQ TYPE="OPERATOR">...</SEQ>\r
+        <SEQ TYPE="OPERATOR">..</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">]</SEQ>\r
+        <SEQ TYPE="OPERATOR">[</SEQ>\r
+        <SEQ TYPE="OPERATOR">?</SEQ>\r
+\r
+        <!-- Symbols -->\r
+        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR=":" TYPE="LABEL">:[\p{Alpha}_][\p{Alnum}_]*</SEQ_REGEXP>\r
+\r
+        <SEQ TYPE="OPERATOR">:</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <KEYWORD1>BEGIN</KEYWORD1>\r
+            <KEYWORD1>END</KEYWORD1>\r
+            <KEYWORD1>alias</KEYWORD1>\r
+            <KEYWORD1>begin</KEYWORD1>\r
+            <KEYWORD1>break</KEYWORD1>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>class</KEYWORD1>\r
+            <KEYWORD1>def</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>elsif</KEYWORD1>\r
+            <KEYWORD1>end</KEYWORD1>\r
+            <KEYWORD1>ensure</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD1>in</KEYWORD1>\r
+            <KEYWORD1>module</KEYWORD1>\r
+            <KEYWORD1>next</KEYWORD1>\r
+            <KEYWORD1>redo</KEYWORD1>\r
+            <KEYWORD1>rescue</KEYWORD1>\r
+            <KEYWORD1>retry</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD1>then</KEYWORD1>\r
+            <KEYWORD1>undef</KEYWORD1>\r
+            <KEYWORD1>unless</KEYWORD1>\r
+            <KEYWORD1>until</KEYWORD1>\r
+            <KEYWORD1>when</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+            <KEYWORD1>yield</KEYWORD1>\r
+\r
+            <KEYWORD2>load</KEYWORD2>\r
+            <KEYWORD2>require</KEYWORD2>\r
+\r
+            <OPERATOR>and</OPERATOR>\r
+            <OPERATOR>not</OPERATOR>\r
+            <OPERATOR>or</OPERATOR>\r
+\r
+            <KEYWORD3>false</KEYWORD3>\r
+            <KEYWORD3>nil</KEYWORD3>\r
+            <KEYWORD3>self</KEYWORD3>\r
+            <KEYWORD3>super</KEYWORD3>\r
+            <KEYWORD3>true</KEYWORD3>\r
+\r
+            <KEYWORD3>$defout</KEYWORD3>\r
+            <KEYWORD3>$deferr</KEYWORD3>\r
+            <KEYWORD3>$stderr</KEYWORD3>\r
+            <KEYWORD3>$stdin</KEYWORD3>\r
+            <KEYWORD3>$stdout</KEYWORD3>\r
+            <KEYWORD3>$DEBUG</KEYWORD3>\r
+            <KEYWORD3>$FILENAME</KEYWORD3>\r
+            <KEYWORD3>$LOAD_PATH</KEYWORD3>\r
+            <KEYWORD3>$SAFE</KEYWORD3>\r
+            <KEYWORD3>$VERBOSE</KEYWORD3>\r
+            <KEYWORD3>__FILE__</KEYWORD3>\r
+            <KEYWORD3>__LINE__</KEYWORD3>\r
+            <KEYWORD3>ARGF</KEYWORD3>\r
+            <KEYWORD3>ARGV</KEYWORD3>\r
+            <KEYWORD3>ENV</KEYWORD3>\r
+            <KEYWORD3>DATA</KEYWORD3>\r
+            <KEYWORD3>FALSE</KEYWORD3>\r
+            <KEYWORD3>NIL</KEYWORD3>\r
+            <KEYWORD3>RUBY_PLATFORM</KEYWORD3>\r
+            <KEYWORD3>RUBY_RELEASE_DATE</KEYWORD3>\r
+            <KEYWORD3>RUBY_VERSION</KEYWORD3>\r
+            <KEYWORD3>STDERR</KEYWORD3>\r
+            <KEYWORD3>STDIN</KEYWORD3>\r
+            <KEYWORD3>STDOUT</KEYWORD3>\r
+            <KEYWORD3>SCRIPT_LINES__</KEYWORD3>\r
+            <KEYWORD3>TOPLEVEL_BINDING</KEYWORD3>\r
+            <KEYWORD3>TRUE</KEYWORD3>\r
+        </KEYWORDS>\r
+    </RULES>\r
+\r
+    <!-- Delegate contents of #{} expression in double quotes to MAIN so that\r
+     it will be syntax highlighted as well -->\r
+    <RULES DEFAULT="LITERAL1" SET="doubleQuoteLiteral">\r
+        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
+            <BEGIN>#{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
+    </RULES>\r
+\r
+    <!-- Delegate contents of #{} expression in backquotes to MAIN so that\r
+     it will be syntax highlighted as well -->\r
+    <RULES DEFAULT="LITERAL2" SET="BackquoteLiteral">\r
+        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
+            <BEGIN>#{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
+    </RULES>\r
+\r
+    <!-- Delegate contents of #{} expression in a regexp to MAIN so that\r
+     it will be syntax highlighted as well -->\r
+    <RULES DEFAULT="LITERAL3" SET="RegexpLiteral">\r
+        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
+            <BEGIN>#{</BEGIN>\r
+            <END>}</END>\r
+        </SPAN>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
+        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/rview.xml b/basis/xmode/modes/rview.xml
new file mode 100644 (file)
index 0000000..2ca2fdf
--- /dev/null
@@ -0,0 +1,217 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+  Relational View (rview) mode by Will Sargent <wsargent@atg.com>\r
+-->\r
+<MODE>\r
+       <PROPS>\r
+                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+                <PROPERTY NAME="lineComment" VALUE="//" />\r
+       </PROPS>\r
+\r
+        <!--\r
+          Unicode escapes are allowed in identifiers.\r
+          Ignoring case is bad.\r
+          Digits may be returned from functions.\r
+        -->\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+                <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- Javadoc comment -->\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>/**</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+                <!-- Java comment (C style) -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="RVIEWSTMT">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+                <SEQ TYPE="OPERATOR">}</SEQ>\r
+                <SEQ TYPE="OPERATOR">{</SEQ>\r
+                <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+                <!-- Function calls -->\r
+                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+                               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+                <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+                <KEYWORDS>\r
+\r
+                        <!--\r
+                          Keywords (WAY more than I thought there were, please\r
+                          e-mail me if I've left one out).\r
+                        -->\r
+                        <KEYWORD1>unique</KEYWORD1>\r
+                        <KEYWORD1>relationalview</KEYWORD1>\r
+                        <KEYWORD1>class</KEYWORD1>\r
+\r
+                        <KEYWORD1>rowmap</KEYWORD1>\r
+                        <KEYWORD1>table</KEYWORD1>\r
+                        <KEYWORD1>function</KEYWORD1>\r
+                        <KEYWORD1>subview</KEYWORD1>\r
+                        <KEYWORD1>query</KEYWORD1>\r
+\r
+                        <KEYWORD1>join</KEYWORD1>\r
+                        <KEYWORD1>jointype</KEYWORD1>\r
+                        <KEYWORD1>leftouter</KEYWORD1>\r
+                        <KEYWORD1>rightouter</KEYWORD1>\r
+\r
+                        <KEYWORD1>switch</KEYWORD1>\r
+                        <KEYWORD1>case</KEYWORD1>\r
+\r
+                        <KEYWORD1>sql</KEYWORD1>\r
+                        <KEYWORD1>constraints</KEYWORD1>\r
+                        <KEYWORD1>where</KEYWORD1>\r
+                        <KEYWORD1>orderby</KEYWORD1>\r
+                        <KEYWORD1>return</KEYWORD1>\r
+                        <KEYWORD1>distinct</KEYWORD1>\r
+\r
+                        <!--\r
+                          Allow parameters...\r
+                        -->\r
+                        <KEYWORD1>allow</KEYWORD1>\r
+                        <KEYWORD1>delete</KEYWORD1>\r
+                        <!-- also used in update function -->\r
+                        <KEYWORD1>update</KEYWORD1>\r
+                        <KEYWORD1>select</KEYWORD1>\r
+                        <KEYWORD1>insert</KEYWORD1>\r
+\r
+                        <!-- We're allowed to return primitive types -->\r
+                        <KEYWORD3>boolean</KEYWORD3>\r
+                        <KEYWORD3>byte</KEYWORD3>\r
+                        <KEYWORD3>char</KEYWORD3>\r
+                        <KEYWORD3>double</KEYWORD3>\r
+                        <KEYWORD3>float</KEYWORD3>\r
+                        <KEYWORD3>int</KEYWORD3>\r
+                        <KEYWORD3>long</KEYWORD3>\r
+                        <KEYWORD3>short</KEYWORD3>\r
+\r
+                        <KEYWORD1>useCallableStatement</KEYWORD1>\r
+\r
+                        <!--\r
+                          JDBC mapping statements (must be UPPERCASE)\r
+                        -->\r
+                        <KEYWORD3>CHAR</KEYWORD3>\r
+                        <KEYWORD3>VARCHAR</KEYWORD3>\r
+                        <KEYWORD3>LONGVARCHAR</KEYWORD3>\r
+                        <KEYWORD3>NUMERIC</KEYWORD3>\r
+                        <KEYWORD3>DECIMAL</KEYWORD3>\r
+                        <KEYWORD3>BIT</KEYWORD3>\r
+                        <KEYWORD3>TINYINT</KEYWORD3>\r
+                        <KEYWORD3>SMALLINT</KEYWORD3>\r
+                        <KEYWORD3>INTEGER</KEYWORD3>\r
+                        <KEYWORD3>BIGINT</KEYWORD3>\r
+                        <KEYWORD3>REAL</KEYWORD3>\r
+                        <KEYWORD3>FLOAT</KEYWORD3>\r
+                        <KEYWORD3>DOUBLE</KEYWORD3>\r
+                        <KEYWORD3>BINARY</KEYWORD3>\r
+                        <KEYWORD3>VARBINARY</KEYWORD3>\r
+                        <KEYWORD3>LONGVARBINARY</KEYWORD3>\r
+                        <KEYWORD3>DATE</KEYWORD3>\r
+                        <KEYWORD3>TIME</KEYWORD3>\r
+                        <KEYWORD3>TIMESTAMP</KEYWORD3>\r
+                </KEYWORDS>\r
+        </RULES>\r
+\r
+        <!--\r
+          Everything that happens in between quotes happens here.\r
+        -->\r
+        <RULES SET="RVIEWSTMT" ESCAPE="\" DEFAULT="LITERAL1"\r
+               HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
+                <!-- Allow quoting for characters. -->\r
+                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                        <BEGIN>'</BEGIN>\r
+                        <END>'</END>\r
+                </SPAN>\r
+\r
+                <!--\r
+                  Standard arithmetic\r
+                -->\r
+                <SEQ TYPE="OPERATOR">+</SEQ>\r
+                <SEQ TYPE="OPERATOR">-</SEQ>\r
+                <SEQ TYPE="OPERATOR">/</SEQ>\r
+                <SEQ TYPE="OPERATOR">*</SEQ>\r
+                <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+                <!--\r
+                  Standard logic\r
+                -->\r
+                <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+                <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+                <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+                <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+                <!--\r
+                  For callable statements, { } must be used.\r
+                -->\r
+                <SEQ TYPE="OPERATOR">}</SEQ>\r
+                <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+                <!--\r
+                  Escape colons for full tables\r
+                -->\r
+                <SEQ TYPE="NULL">::</SEQ>\r
+\r
+                <!-- Mark most colons as a label indicator -->\r
+                <MARK_FOLLOWING TYPE="LABEL">:</MARK_FOLLOWING>\r
+\r
+                <!-- Function calls (these can happen even inside quotes) -->\r
+                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+                               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+                <KEYWORDS>\r
+                        <KEYWORD1>SELECT</KEYWORD1>\r
+                        <KEYWORD1>FROM</KEYWORD1>\r
+                        <KEYWORD1>WHERE</KEYWORD1>\r
+                        <KEYWORD1>AND</KEYWORD1>\r
+                        <KEYWORD1>NOT</KEYWORD1>\r
+                        <KEYWORD1>IN</KEYWORD1>\r
+                        <KEYWORD1>BETWEEN</KEYWORD1>\r
+                        <KEYWORD1>UPDATE</KEYWORD1>\r
+                        <KEYWORD1>SET</KEYWORD1>\r
+\r
+                        <KEYWORD1>call</KEYWORD1>\r
+                        <KEYWORD1>desc</KEYWORD1>\r
+\r
+                        <!--\r
+                          It's possible to do casting to a particular SQL\r
+                          type, so include the JDBC types here\r
+                        -->\r
+                        <KEYWORD3>CHAR</KEYWORD3>\r
+                        <KEYWORD3>VARCHAR</KEYWORD3>\r
+                        <KEYWORD3>LONGVARCHAR</KEYWORD3>\r
+                        <KEYWORD3>NUMERIC</KEYWORD3>\r
+                        <KEYWORD3>DECIMAL</KEYWORD3>\r
+                        <KEYWORD3>BIT</KEYWORD3>\r
+                        <KEYWORD3>TINYINT</KEYWORD3>\r
+                        <KEYWORD3>SMALLINT</KEYWORD3>\r
+                        <KEYWORD3>INTEGER</KEYWORD3>\r
+                        <KEYWORD3>BIGINT</KEYWORD3>\r
+                        <KEYWORD3>REAL</KEYWORD3>\r
+                        <KEYWORD3>FLOAT</KEYWORD3>\r
+                        <KEYWORD3>DOUBLE</KEYWORD3>\r
+                        <KEYWORD3>BINARY</KEYWORD3>\r
+                        <KEYWORD3>VARBINARY</KEYWORD3>\r
+                        <KEYWORD3>LONGVARBINARY</KEYWORD3>\r
+                        <KEYWORD3>DATE</KEYWORD3>\r
+                        <KEYWORD3>TIME</KEYWORD3>\r
+                        <KEYWORD3>TIMESTAMP</KEYWORD3>\r
+                </KEYWORDS>\r
+        </RULES>\r
+\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/sas.xml b/basis/xmode/modes/sas.xml
new file mode 100644 (file)
index 0000000..4f51536
--- /dev/null
@@ -0,0 +1,318 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--  \r
+      SAS edit mode by Bill McMilleon (bill@mcmilleon.com)\r
+      March 19, 2003\r
+      \r
+      Suggested catalog file entry:\r
+\r
+      <MODE NAME="SAS"         FILE="sas.xml" FILE_NAME_GLOB="*.{sas}" />\r
+\r
+-->\r
\r
+\r
+<MODE>\r
+\r
+    \r
+    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+\r
+<!-- In fixed form, column 72 is the last column parsed, unless the\r
+\extend_source option is invoked -->\r
+    <!-- TERMINATE AT_CHAR="72" / -->\r
+\r
+               <!-- C style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+    <!-- Highlighted Operators -->\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">_</SEQ>\r
+    <SEQ TYPE="OPERATOR">|</SEQ>\r
+    <SEQ TYPE="OPERATOR">~</SEQ>\r
+    <SEQ TYPE="OPERATOR">^</SEQ>\r
+    <SEQ TYPE="OPERATOR">@</SEQ>\r
+    <SEQ TYPE="OPERATOR">?</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">!</SEQ>\r
+    \r
+    <KEYWORDS>\r
+      <KEYWORD2>$ASCII</KEYWORD2>\r
+      <KEYWORD2>$BINARY</KEYWORD2>\r
+      <KEYWORD2>$CB</KEYWORD2>\r
+      <KEYWORD2>$CHAR</KEYWORD2>\r
+      <KEYWORD2>$CHARZB</KEYWORD2>\r
+      <KEYWORD2>$EBCDIC</KEYWORD2>\r
+      <KEYWORD2>$HEX</KEYWORD2>\r
+      <KEYWORD2>$OCTAL</KEYWORD2>\r
+      <KEYWORD2>$VARYING</KEYWORD2>\r
+      <KEYWORD2>%BQUOTE</KEYWORD2>\r
+      <KEYWORD2>%DO</KEYWORD2>\r
+      <KEYWORD2>%ELSE</KEYWORD2>\r
+      <KEYWORD2>%END</KEYWORD2>\r
+      <KEYWORD2>%EVAL</KEYWORD2>\r
+      <KEYWORD2>%Global</KEYWORD2>\r
+      <KEYWORD2>%GOTO</KEYWORD2>\r
+      <KEYWORD2>%IF</KEYWORD2>\r
+      <KEYWORD2>%INC</KEYWORD2>\r
+      <KEYWORD2>%INCLUDE</KEYWORD2>\r
+      <KEYWORD2>%INDEX</KEYWORD2>\r
+      <KEYWORD2>%INPUT</KEYWORD2>\r
+      <KEYWORD2>%LENGTH</KEYWORD2>\r
+      <KEYWORD2>%LET</KEYWORD2>\r
+      <KEYWORD2>%LOCAL</KEYWORD2>\r
+      <KEYWORD2>%MACRO</KEYWORD2>\r
+      <KEYWORD2>%MEND</KEYWORD2>\r
+      <KEYWORD2>%NRBQUOTE</KEYWORD2>\r
+      <KEYWORD2>%NRQUOTE</KEYWORD2>\r
+      <KEYWORD2>%NRSTR</KEYWORD2>\r
+      <KEYWORD2>%PUT</KEYWORD2>\r
+      <KEYWORD2>%QSCAN</KEYWORD2>\r
+      <KEYWORD2>%Quote</KEYWORD2>\r
+      <KEYWORD2>%RUN</KEYWORD2>\r
+      <KEYWORD2>%SUBSTR</KEYWORD2>\r
+      <KEYWORD2>%SYSEXEC</KEYWORD2>\r
+      <KEYWORD2>%THEN</KEYWORD2>\r
+      <KEYWORD2>%UNTIL</KEYWORD2>\r
+      <KEYWORD2>%WHILE</KEYWORD2>\r
+      <KEYWORD2>%WINDOW</KEYWORD2>\r
+      <KEYWORD2>_ALL_</KEYWORD2>\r
+      <KEYWORD2>_CHARACTER_</KEYWORD2>\r
+      <KEYWORD2>_CMD_</KEYWORD2>\r
+      <KEYWORD2>_ERROR_</KEYWORD2>\r
+      <KEYWORD2>_I_</KEYWORD2>\r
+      <KEYWORD2>_INFILE_</KEYWORD2>\r
+      <KEYWORD2>_LAST_</KEYWORD2>\r
+      <KEYWORD2>_MSG_</KEYWORD2>\r
+      <KEYWORD2>_N_</KEYWORD2>\r
+      <KEYWORD2>_NULL_</KEYWORD2>\r
+      <KEYWORD2>_NUMERIC_</KEYWORD2>\r
+      <KEYWORD2>_TEMPORARY_</KEYWORD2>\r
+      <KEYWORD2>_TYPE_</KEYWORD2>\r
+      <KEYWORD2>=DATA</KEYWORD2>\r
+      <KEYWORD2>ABORT</KEYWORD2>\r
+      <KEYWORD2>ADD</KEYWORD2>\r
+      <KEYWORD2>ADJRSQ</KEYWORD2>\r
+      <KEYWORD2>AND</KEYWORD2>\r
+      <KEYWORD2>ARRAY</KEYWORD2>\r
+      <KEYWORD2>ATTRIB</KEYWORD2>\r
+      <KEYWORD2>BACKWARD</KEYWORD2>\r
+      <KEYWORD2>BINARY</KEYWORD2>\r
+      <KEYWORD2>BLOCKSIZE</KEYWORD2>\r
+      <KEYWORD2>BY</KEYWORD2>\r
+      <KEYWORD2>BZ</KEYWORD2>\r
+      <KEYWORD2>CALL</KEYWORD2>\r
+      <KEYWORD2>CARDS</KEYWORD2>\r
+      <KEYWORD2>CARDS4</KEYWORD2>\r
+      <KEYWORD2>CHAR</KEYWORD2>\r
+      <KEYWORD2>CLASS</KEYWORD2>\r
+      <KEYWORD2>COL</KEYWORD2>\r
+      <KEYWORD2>COLLIN</KEYWORD2>\r
+      <KEYWORD2>COLUMN</KEYWORD2>\r
+      <KEYWORD2>COMMA</KEYWORD2>\r
+      <KEYWORD2>COMMAX</KEYWORD2>\r
+      <KEYWORD2>CREATE</KEYWORD2>\r
+      <KEYWORD2>DATA</KEYWORD2>\r
+      <KEYWORD2>DATA=</KEYWORD2>\r
+      <KEYWORD2>DATE</KEYWORD2>\r
+      <KEYWORD2>DATETIME</KEYWORD2>\r
+      <KEYWORD2>DDMMYY</KEYWORD2>\r
+      <KEYWORD2>DECENDING</KEYWORD2>\r
+      <KEYWORD2>DEFINE</KEYWORD2>\r
+      <KEYWORD2>DELETE</KEYWORD2>\r
+      <KEYWORD2>DELIMITER</KEYWORD2>\r
+      <KEYWORD2>DISPLAY</KEYWORD2>\r
+      <KEYWORD2>DLM</KEYWORD2>\r
+      <KEYWORD2>DO</KEYWORD2>\r
+      <KEYWORD2>DROP</KEYWORD2>\r
+      <KEYWORD2>ELSE</KEYWORD2>\r
+      <KEYWORD2>END</KEYWORD2>\r
+      <KEYWORD2>ENDSAS</KEYWORD2>\r
+      <KEYWORD2>EOF</KEYWORD2>\r
+      <KEYWORD2>EOV</KEYWORD2>\r
+      <KEYWORD2>EQ</KEYWORD2>\r
+      <KEYWORD2>ERRORS</KEYWORD2>\r
+      <KEYWORD2>FILE</KEYWORD2>\r
+      <KEYWORD2>FILENAME</KEYWORD2>\r
+      <KEYWORD2>FILEVAR</KEYWORD2>\r
+      <KEYWORD2>FIRST.</KEYWORD2>\r
+      <KEYWORD2>FIRSTOBS</KEYWORD2>\r
+      <KEYWORD2>FOOTNOTE</KEYWORD2>\r
+      <KEYWORD2>FOOTNOTE1</KEYWORD2>\r
+      <KEYWORD2>FOOTNOTE2</KEYWORD2>\r
+      <KEYWORD2>FOOTNOTE3</KEYWORD2>\r
+      <KEYWORD2>FORM</KEYWORD2>\r
+      <KEYWORD2>FORMAT</KEYWORD2>\r
+      <KEYWORD2>FORMCHAR</KEYWORD2>\r
+      <KEYWORD2>FORMDELIM</KEYWORD2>\r
+      <KEYWORD2>FORMDLIM</KEYWORD2>\r
+      <KEYWORD2>FORWARD</KEYWORD2>\r
+      <KEYWORD2>FROM</KEYWORD2>\r
+      <KEYWORD2>GO</KEYWORD2>\r
+      <KEYWORD2>GROUP</KEYWORD2>\r
+      <KEYWORD2>GT</KEYWORD2>\r
+      <KEYWORD2>HBAR</KEYWORD2>\r
+      <KEYWORD2>HEX</KEYWORD2>\r
+      <KEYWORD2>HPCT</KEYWORD2>\r
+      <KEYWORD2>HVAR</KEYWORD2>\r
+      <KEYWORD2>IB</KEYWORD2>\r
+      <KEYWORD2>ID</KEYWORD2>\r
+      <KEYWORD2>IEEE</KEYWORD2>\r
+      <KEYWORD2>IF</KEYWORD2>\r
+      <KEYWORD2>IN</KEYWORD2>\r
+      <KEYWORD2>INFILE</KEYWORD2>\r
+      <KEYWORD2>INFORMAT</KEYWORD2>\r
+      <KEYWORD2>INPUT</KEYWORD2>\r
+      <KEYWORD2>INR</KEYWORD2>\r
+      <KEYWORD2>JOIN</KEYWORD2>\r
+      <KEYWORD2>JULIAN</KEYWORD2>\r
+      <KEYWORD2>KEEP</KEYWORD2>\r
+      <KEYWORD2>LABEL</KEYWORD2>\r
+      <KEYWORD2>LAG</KEYWORD2>\r
+      <KEYWORD2>LAST.</KEYWORD2>\r
+      <KEYWORD2>LE</KEYWORD2>\r
+      <KEYWORD2>LIB</KEYWORD2>\r
+      <KEYWORD2>LIBNAME</KEYWORD2>\r
+      <KEYWORD2>LINE</KEYWORD2>\r
+      <KEYWORD2>LINESIZE</KEYWORD2>\r
+      <KEYWORD2>LINK</KEYWORD2>\r
+      <KEYWORD2>LIST</KEYWORD2>\r
+      <KEYWORD2>LOSTCARD</KEYWORD2>\r
+      <KEYWORD2>LRECL</KEYWORD2>\r
+      <KEYWORD2>LS</KEYWORD2>\r
+      <KEYWORD2>MACRO</KEYWORD2>\r
+      <KEYWORD2>MACROGEN</KEYWORD2>\r
+      <KEYWORD2>MAXDEC</KEYWORD2>\r
+      <KEYWORD2>MAXR</KEYWORD2>\r
+      <KEYWORD2>MEDIAN</KEYWORD2>\r
+      <KEYWORD2>MEMTYPE</KEYWORD2>\r
+      <KEYWORD2>MERGE</KEYWORD2>\r
+      <KEYWORD2>MERROR</KEYWORD2>\r
+      <KEYWORD2>MISSOVE</KEYWORD2>\r
+      <KEYWORD2>MLOGIC</KEYWORD2>\r
+      <KEYWORD2>MMDDYY</KEYWORD2>\r
+      <KEYWORD2>MODE</KEYWORD2>\r
+      <KEYWORD2>MODEL</KEYWORD2>\r
+      <KEYWORD2>MONYY</KEYWORD2>\r
+      <KEYWORD2>MPRINT</KEYWORD2>\r
+      <KEYWORD2>MRECALL</KEYWORD2>\r
+      <KEYWORD2>NE</KEYWORD2>\r
+      <KEYWORD2>NEW</KEYWORD2>\r
+      <KEYWORD2>NO</KEYWORD2>\r
+      <KEYWORD2>NOBS</KEYWORD2>\r
+      <KEYWORD2>NOCENTER</KEYWORD2>\r
+      <KEYWORD2>NOCUM</KEYWORD2>\r
+      <KEYWORD2>NODATE</KEYWORD2>\r
+      <KEYWORD2>NODUP</KEYWORD2>\r
+      <KEYWORD2>NODUPKEY</KEYWORD2>\r
+      <KEYWORD2>NOINT</KEYWORD2>\r
+      <KEYWORD2>NONUMBER</KEYWORD2>\r
+      <KEYWORD2>NOPAD</KEYWORD2>\r
+      <KEYWORD2>NOPRINT</KEYWORD2>\r
+      <KEYWORD2>NOROW</KEYWORD2>\r
+      <KEYWORD2>NOT</KEYWORD2>\r
+      <KEYWORD2>NOTITLE</KEYWORD2>\r
+      <KEYWORD2>NOTITLES</KEYWORD2>\r
+      <KEYWORD2>NOXSYNC</KEYWORD2>\r
+      <KEYWORD2>NOXWAIT</KEYWORD2>\r
+      <KEYWORD2>NUMBER</KEYWORD2>\r
+      <KEYWORD2>NWAY</KEYWORD2>\r
+      <KEYWORD2>OBS</KEYWORD2>\r
+      <KEYWORD2>OPTION</KEYWORD2>\r
+      <KEYWORD2>OPTIONS</KEYWORD2>\r
+      <KEYWORD2>OR</KEYWORD2>\r
+      <KEYWORD2>ORDER</KEYWORD2>\r
+      <KEYWORD2>OTHERWISE</KEYWORD2>\r
+      <KEYWORD2>OUT</KEYWORD2>\r
+      <KEYWORD2>OUTPUT</KEYWORD2>\r
+      <KEYWORD2>OVER</KEYWORD2>\r
+      <KEYWORD2>PAD</KEYWORD2>\r
+      <KEYWORD2>PAD2</KEYWORD2>\r
+      <KEYWORD2>PAGESIZE</KEYWORD2>\r
+      <KEYWORD2>PD</KEYWORD2>\r
+      <KEYWORD2>PERCENT</KEYWORD2>\r
+      <KEYWORD2>PIB</KEYWORD2>\r
+      <KEYWORD2>PK</KEYWORD2>\r
+      <KEYWORD2>POINT</KEYWORD2>\r
+      <KEYWORD2>POSITION</KEYWORD2>\r
+      <KEYWORD2>PRINTER</KEYWORD2>\r
+      <KEYWORD2>PROC</KEYWORD2>\r
+      <KEYWORD2>PS</KEYWORD2>\r
+      <KEYWORD2>PUT</KEYWORD2>\r
+      <KEYWORD2>QUIT</KEYWORD2>\r
+      <KEYWORD2>R</KEYWORD2>\r
+      <KEYWORD2>RB</KEYWORD2>\r
+      <KEYWORD2>RECFM</KEYWORD2>\r
+      <KEYWORD2>REG</KEYWORD2>\r
+      <KEYWORD2>REGR</KEYWORD2>\r
+      <KEYWORD2>RENAME</KEYWORD2>\r
+      <KEYWORD2>REPLACE</KEYWORD2>\r
+      <KEYWORD2>RETAIN</KEYWORD2>\r
+      <KEYWORD2>RETURN</KEYWORD2>\r
+      <KEYWORD2>REUSE</KEYWORD2>\r
+      <KEYWORD2>RSQUARE</KEYWORD2>\r
+      <KEYWORD2>RUN</KEYWORD2>\r
+      <KEYWORD2>SASAUTOS</KEYWORD2>\r
+      <KEYWORD2>SCAN</KEYWORD2>\r
+      <KEYWORD2>SELECT</KEYWORD2>\r
+      <KEYWORD2>SELECTION</KEYWORD2>\r
+      <KEYWORD2>SERROR</KEYWORD2>\r
+      <KEYWORD2>SET</KEYWORD2>\r
+      <KEYWORD2>SIMPLE</KEYWORD2>\r
+      <KEYWORD2>SLE</KEYWORD2>\r
+      <KEYWORD2>SLS</KEYWORD2>\r
+      <KEYWORD2>START</KEYWORD2>\r
+      <KEYWORD2>STDIN</KEYWORD2>\r
+      <KEYWORD2>STOP</KEYWORD2>\r
+      <KEYWORD2>STOPOVER</KEYWORD2>\r
+      <KEYWORD2>SUBSTR</KEYWORD2>\r
+      <KEYWORD2>SYMBOL</KEYWORD2>\r
+      <KEYWORD2>SYMBOLGEN</KEYWORD2>\r
+      <KEYWORD2>T</KEYWORD2>\r
+      <KEYWORD2>TABLE</KEYWORD2>\r
+      <KEYWORD2>TABLES</KEYWORD2>\r
+      <KEYWORD2>THEN</KEYWORD2>\r
+      <KEYWORD2>TITLE</KEYWORD2>\r
+      <KEYWORD2>TITLE1</KEYWORD2>\r
+      <KEYWORD2>TITLE2</KEYWORD2>\r
+      <KEYWORD2>TITLE3</KEYWORD2>\r
+      <KEYWORD2>TITLE4</KEYWORD2>\r
+      <KEYWORD2>TITLE5</KEYWORD2>\r
+      <KEYWORD2>TO</KEYWORD2>\r
+      <KEYWORD2>TOL</KEYWORD2>\r
+      <KEYWORD2>UNFORMATTED</KEYWORD2>\r
+      <KEYWORD2>UNTIL</KEYWORD2>\r
+      <KEYWORD2>UPDATE</KEYWORD2>\r
+      <KEYWORD2>VALUE</KEYWORD2>\r
+      <KEYWORD2>VAR</KEYWORD2>\r
+      <KEYWORD2>WHEN</KEYWORD2>\r
+      <KEYWORD2>WHERE</KEYWORD2>\r
+      <KEYWORD2>WHILE</KEYWORD2>\r
+      <KEYWORD2>WINDOW</KEYWORD2>\r
+      <KEYWORD2>WORK</KEYWORD2>\r
+      <KEYWORD2>X</KEYWORD2>\r
+      <KEYWORD2>XSYNC</KEYWORD2>\r
+      <KEYWORD2>XWAIT</KEYWORD2>\r
+      <KEYWORD2>YES</KEYWORD2>\r
+      <KEYWORD2>YYMMDD</KEYWORD2>\r
+    </KEYWORDS>\r
+\r
+    </RULES>\r
+</MODE>\r
+\r
+\r
+\r
diff --git a/basis/xmode/modes/scheme.xml b/basis/xmode/modes/scheme.xml
new file mode 100644 (file)
index 0000000..1117eaa
--- /dev/null
@@ -0,0 +1,236 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd"><MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="#|"/>\r
+               <PROPERTY NAME="commentEnd" VALUE="|#"/>\r
+               <PROPERTY NAME="lineComment" VALUE=";"/>\r
+               <PROPERTY NAME="noWordSep" VALUE="_-+?:*/!"/>\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="("/>\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")"/>\r
+               <PROPERTY NAME="multipleBracketIndent" VALUE="true" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" NO_WORD_SEP="_-+?:*/!">\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>#|</BEGIN>\r
+                       <END>|#</END>\r
+               </SPAN>\r
+               <SEQ TYPE="NULL">'(</SEQ>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">#\</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">#b</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">#d</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">#o</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1">#x</MARK_FOLLOWING>\r
+               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <KEYWORDS>\r
+                       <KEYWORD1>and</KEYWORD1>\r
+                       <KEYWORD1>begin</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>cond</KEYWORD1>\r
+                       <KEYWORD1>cond-expand</KEYWORD1>\r
+                       <KEYWORD1>define</KEYWORD1>\r
+                       <KEYWORD1>define-macro</KEYWORD1>\r
+                       <KEYWORD1>delay</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>fluid-let</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>lambda</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>let*</KEYWORD1>\r
+                       <KEYWORD1>letrec</KEYWORD1>\r
+                       <KEYWORD1>or</KEYWORD1>\r
+                       <KEYWORD1>quasiquote</KEYWORD1>\r
+                       <KEYWORD1>quote</KEYWORD1>\r
+                       <KEYWORD1>set!</KEYWORD1>\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>acos</KEYWORD2>\r
+                       <KEYWORD2>angle</KEYWORD2>\r
+                       <KEYWORD2>append</KEYWORD2>\r
+                       <KEYWORD2>apply</KEYWORD2>\r
+                       <KEYWORD2>asin</KEYWORD2>\r
+                       <KEYWORD2>assoc</KEYWORD2>\r
+                       <KEYWORD2>assq</KEYWORD2>\r
+                       <KEYWORD2>assv</KEYWORD2>\r
+                       <KEYWORD2>atan</KEYWORD2>\r
+                       <KEYWORD2>car</KEYWORD2>\r
+                       <KEYWORD2>cdr</KEYWORD2>\r
+                       <KEYWORD2>caar</KEYWORD2>\r
+                       <KEYWORD2>cadr</KEYWORD2>\r
+                       <KEYWORD2>cdar</KEYWORD2>\r
+                       <KEYWORD2>cddr</KEYWORD2>\r
+                       <KEYWORD2>caaar</KEYWORD2>\r
+                       <KEYWORD2>caadr</KEYWORD2>\r
+                       <KEYWORD2>cadar</KEYWORD2>\r
+                       <KEYWORD2>caddr</KEYWORD2>\r
+                       <KEYWORD2>cdaar</KEYWORD2>\r
+                       <KEYWORD2>cdadr</KEYWORD2>\r
+                       <KEYWORD2>cddar</KEYWORD2>\r
+                       <KEYWORD2>cdddr</KEYWORD2>\r
+                       <KEYWORD2>call-with-current-continuation</KEYWORD2>\r
+                       <KEYWORD2>call-with-input-file</KEYWORD2>\r
+                       <KEYWORD2>call-with-output-file</KEYWORD2>\r
+                       <KEYWORD2>call-with-values</KEYWORD2>\r
+                       <KEYWORD2>call/cc</KEYWORD2>\r
+                       <KEYWORD2>catch</KEYWORD2>\r
+                       <KEYWORD2>ceiling</KEYWORD2>\r
+                       <KEYWORD2>char-&gt;integer</KEYWORD2>\r
+                       <KEYWORD2>char-downcase</KEYWORD2>\r
+                       <KEYWORD2>char-upcase</KEYWORD2>\r
+                       <KEYWORD2>close-input-port</KEYWORD2>\r
+                       <KEYWORD2>close-output-port</KEYWORD2>\r
+                       <KEYWORD2>cons</KEYWORD2>\r
+                       <KEYWORD2>cos</KEYWORD2>\r
+                       <KEYWORD2>current-input-port</KEYWORD2>\r
+                       <KEYWORD2>current-output-port</KEYWORD2>\r
+                       <KEYWORD2>delete-file</KEYWORD2>\r
+                       <KEYWORD2>display</KEYWORD2>\r
+                       <KEYWORD2>dynamic-wind</KEYWORD2>\r
+                       <KEYWORD2>eval</KEYWORD2>\r
+                       <KEYWORD2>exit</KEYWORD2>\r
+                       <KEYWORD2>exact-&gt;inexact</KEYWORD2>\r
+                       <KEYWORD2>exp</KEYWORD2>\r
+                       <KEYWORD2>expt</KEYWORD2>\r
+                       <KEYWORD2>file-or-directory-modify-seconds</KEYWORD2>\r
+                       <KEYWORD2>floor</KEYWORD2>\r
+                       <KEYWORD2>force</KEYWORD2>\r
+                       <KEYWORD2>for-each</KEYWORD2>\r
+                       <KEYWORD2>gcd</KEYWORD2>\r
+                       <KEYWORD2>gensym</KEYWORD2>\r
+                       <KEYWORD2>get-output-string</KEYWORD2>\r
+                       <KEYWORD2>getenv</KEYWORD2>\r
+                       <KEYWORD2>imag-part</KEYWORD2>\r
+                       <KEYWORD2>integer-&gt;char</KEYWORD2>\r
+                       <KEYWORD2>lcm</KEYWORD2>\r
+                       <KEYWORD2>length</KEYWORD2>\r
+                       <KEYWORD2>list</KEYWORD2>\r
+                       <KEYWORD2>list-&gt;string</KEYWORD2>\r
+                       <KEYWORD2>list-&gt;vector</KEYWORD2>\r
+                       <KEYWORD2>list-ref</KEYWORD2>\r
+                       <KEYWORD2>list-tail</KEYWORD2>\r
+                       <KEYWORD2>load</KEYWORD2>\r
+                       <KEYWORD2>log</KEYWORD2>\r
+                       <KEYWORD2>magnitude</KEYWORD2>\r
+                       <KEYWORD2>make-polar</KEYWORD2>\r
+                       <KEYWORD2>make-rectangular</KEYWORD2>\r
+                       <KEYWORD2>make-string</KEYWORD2>\r
+                       <KEYWORD2>make-vector</KEYWORD2>\r
+                       <KEYWORD2>map</KEYWORD2>\r
+                       <KEYWORD2>max</KEYWORD2>\r
+                       <KEYWORD2>member</KEYWORD2>\r
+                       <KEYWORD2>memq</KEYWORD2>\r
+                       <KEYWORD2>memv</KEYWORD2>\r
+                       <KEYWORD2>min</KEYWORD2>\r
+                       <KEYWORD2>modulo</KEYWORD2>\r
+                       <KEYWORD2>newline</KEYWORD2>\r
+                       <KEYWORD2>nil</KEYWORD2>\r
+                       <KEYWORD2>not</KEYWORD2>\r
+                       <KEYWORD2>number-&gt;string</KEYWORD2>\r
+                       <KEYWORD2>open-input-file</KEYWORD2>\r
+                       <KEYWORD2>open-input-string</KEYWORD2>\r
+                       <KEYWORD2>open-output-file</KEYWORD2>\r
+                       <KEYWORD2>open-output-string</KEYWORD2>\r
+                       <KEYWORD2>peek-char</KEYWORD2>\r
+                       <KEYWORD2>quotient</KEYWORD2>\r
+                       <KEYWORD2>read</KEYWORD2>\r
+                       <KEYWORD2>read-char</KEYWORD2>\r
+                       <KEYWORD2>read-line</KEYWORD2>\r
+                       <KEYWORD2>real-part</KEYWORD2>\r
+                       <KEYWORD2>remainder</KEYWORD2>\r
+                       <KEYWORD2>reverse</KEYWORD2>\r
+                       <KEYWORD2>reverse!</KEYWORD2>\r
+                       <KEYWORD2>round</KEYWORD2>\r
+                       <KEYWORD2>set-car!</KEYWORD2>\r
+                       <KEYWORD2>set-cdr!</KEYWORD2>\r
+                       <KEYWORD2>sin</KEYWORD2>\r
+                       <KEYWORD2>sqrt</KEYWORD2>\r
+                       <KEYWORD2>string</KEYWORD2>\r
+                       <KEYWORD2>string-&gt;list</KEYWORD2>\r
+                       <KEYWORD2>string-&gt;number</KEYWORD2>\r
+                       <KEYWORD2>string-&gt;symbol</KEYWORD2>\r
+                       <KEYWORD2>string-append</KEYWORD2>\r
+                       <KEYWORD2>string-copy</KEYWORD2>\r
+                       <KEYWORD2>string-fill!</KEYWORD2>\r
+                       <KEYWORD2>string-length</KEYWORD2>\r
+                       <KEYWORD2>string-ref</KEYWORD2>\r
+                       <KEYWORD2>string-set!</KEYWORD2>\r
+                       <KEYWORD2>substring</KEYWORD2>\r
+                       <KEYWORD2>symbol-&gt;string</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>tan</KEYWORD2>\r
+                       <KEYWORD2>truncate</KEYWORD2>\r
+                       <KEYWORD2>values</KEYWORD2>\r
+                       <KEYWORD2>vector</KEYWORD2>\r
+                       <KEYWORD2>vector-&gt;list</KEYWORD2>\r
+                       <KEYWORD2>vector-fill!</KEYWORD2>\r
+                       <KEYWORD2>vector-length</KEYWORD2>\r
+                       <KEYWORD2>vector-ref</KEYWORD2>\r
+                       <KEYWORD2>vector-set!</KEYWORD2>\r
+                       <KEYWORD2>with-input-from-file</KEYWORD2>\r
+                       <KEYWORD2>with-output-to-file</KEYWORD2>\r
+                       <KEYWORD2>write</KEYWORD2>\r
+                       <KEYWORD2>write-char</KEYWORD2>\r
+                       <KEYWORD3>boolean?</KEYWORD3>\r
+                       <KEYWORD3>char-alphabetic?</KEYWORD3>\r
+                       <KEYWORD3>char-ci&lt;=?</KEYWORD3>\r
+                       <KEYWORD3>char-ci&lt;?</KEYWORD3>\r
+                       <KEYWORD3>char-ci=?</KEYWORD3>\r
+                       <KEYWORD3>char-ci&gt;=?</KEYWORD3>\r
+                       <KEYWORD3>char-ci&gt;?</KEYWORD3>\r
+                       <KEYWORD3>char-lower-case?</KEYWORD3>\r
+                       <KEYWORD3>char-numeric?</KEYWORD3>\r
+                       <KEYWORD3>char-ready?</KEYWORD3>\r
+                       <KEYWORD3>char-upper-case?</KEYWORD3>\r
+                       <KEYWORD3>char-whitespace?</KEYWORD3>\r
+                       <KEYWORD3>char&lt;=?</KEYWORD3>\r
+                       <KEYWORD3>char&lt;?</KEYWORD3>\r
+                       <KEYWORD3>char=?</KEYWORD3>\r
+                       <KEYWORD3>char&gt;=?</KEYWORD3>\r
+                       <KEYWORD3>char&gt;?</KEYWORD3>\r
+                       <KEYWORD3>char?</KEYWORD3>\r
+                       <KEYWORD3>complex?</KEYWORD3>\r
+                       <KEYWORD3>eof-object?</KEYWORD3>\r
+                       <KEYWORD3>eq?</KEYWORD3>\r
+                       <KEYWORD3>equal?</KEYWORD3>\r
+                       <KEYWORD3>eqv?</KEYWORD3>\r
+                       <KEYWORD3>even?</KEYWORD3>\r
+                       <KEYWORD3>exact?</KEYWORD3>\r
+                       <KEYWORD3>file-exists?</KEYWORD3>\r
+                       <KEYWORD3>inexact?</KEYWORD3>\r
+                       <KEYWORD3>input-port?</KEYWORD3>\r
+                       <KEYWORD3>integer?</KEYWORD3>\r
+                       <KEYWORD3>list?</KEYWORD3>\r
+                       <KEYWORD3>negative?</KEYWORD3>\r
+                       <KEYWORD3>null?</KEYWORD3>\r
+                       <KEYWORD3>number?</KEYWORD3>\r
+                       <KEYWORD3>odd?</KEYWORD3>\r
+                       <KEYWORD3>output-port?</KEYWORD3>\r
+                       <KEYWORD3>pair?</KEYWORD3>\r
+                       <KEYWORD3>port?</KEYWORD3>\r
+                       <KEYWORD3>positive?</KEYWORD3>\r
+                       <KEYWORD3>procedure?</KEYWORD3>\r
+                       <KEYWORD3>rational?</KEYWORD3>\r
+                       <KEYWORD3>real?</KEYWORD3>\r
+                       <KEYWORD3>string-ci&lt;=?</KEYWORD3>\r
+                       <KEYWORD3>string-ci&lt;?</KEYWORD3>\r
+                       <KEYWORD3>string-ci=?</KEYWORD3>\r
+                       <KEYWORD3>string-ci&gt;=?</KEYWORD3>\r
+                       <KEYWORD3>string-ci&gt;?</KEYWORD3>\r
+                       <KEYWORD3>string&lt;=?</KEYWORD3>\r
+                       <KEYWORD3>string&lt;?</KEYWORD3>\r
+                       <KEYWORD3>string=?</KEYWORD3>\r
+                       <KEYWORD3>string&gt;=?</KEYWORD3>\r
+                       <KEYWORD3>string&gt;?</KEYWORD3>\r
+                       <KEYWORD3>string?</KEYWORD3>\r
+                       <KEYWORD3>symbol?</KEYWORD3>\r
+                       <KEYWORD3>vector?</KEYWORD3>\r
+                       <KEYWORD3>zero?</KEYWORD3>\r
+                       <LITERAL2>#t</LITERAL2>\r
+                       <LITERAL2>#f</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/sdl_pr.xml b/basis/xmode/modes/sdl_pr.xml
new file mode 100644 (file)
index 0000000..0f67aa8
--- /dev/null
@@ -0,0 +1,228 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+  sdl_pr.xml   K. J. Turner <kjt@cs.stir.ac.uk>        26th February 2004\r
+\r
+  SDL (Specification and Description Language) is an ITU standard (Z.100)\r
+  for a formal specification language used in communications and system specification generally.\r
+\r
+  This mode handles SDL/PR (Phrase Representation), but does not (yet) deal with SDL 2000.\r
+\r
+  Auto-indentation occurs if the following are at the start of a line (ignoring\r
+  leading white space): "block", "channel", "connection", "decision", "generator", "input", "macro", "newtype", "operator", "package", "procedure", "process", "refinement", "service", "start", "state", "substructure", "syntype", "system".\r
+\r
+  This also happens if the following appear on their own (i.e. also ignoring\r
+  trailing white space): "signal".\r
+-->\r
+\r
+<MODE>\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart" VALUE="/*"/>\r
+    <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
+    <PROPERTY NAME="indentNextLines"\r
+      VALUE="\s*(block|channel|connection|decision|generator|input|macro|newtype|operator|package|procedure|process|refinement|service|start|state|substructure|syntype|system).*|\s*(signal)\s*"/>\r
+  </PROPS>\r
+\r
+  <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+    <!-- SDT/TAU Comments -->\r
+    <SPAN TYPE="COMMENT2">\r
+      <BEGIN>/*#SDTREF</BEGIN>\r
+      <END>*/</END>\r
+    </SPAN>\r
+\r
+    <!-- Standard Comments -->\r
+    <SPAN TYPE="COMMENT1">\r
+      <BEGIN>/*</BEGIN>\r
+      <END>*/</END>\r
+    </SPAN>\r
+\r
+    <!-- String Literals -->\r
+    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+\r
+    <!-- Standard Operators -->\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <SEQ TYPE="OPERATOR">-</SEQ>\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <SEQ TYPE="OPERATOR">==</SEQ>\r
+    <SEQ TYPE="OPERATOR">/=</SEQ>\r
+    <SEQ TYPE="OPERATOR">:=</SEQ>\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+    <SEQ TYPE="OPERATOR">.</SEQ>\r
+    <SEQ TYPE="OPERATOR">!</SEQ>\r
+    <SEQ TYPE="OPERATOR">//</SEQ>\r
+\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">and</SEQ>\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">mod</SEQ>\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">not</SEQ>\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">or</SEQ>\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">rem</SEQ>\r
+    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">xor</SEQ>\r
+\r
+    <KEYWORDS>\r
+      <!-- Reserved Words -->\r
+      <KEYWORD1>active</KEYWORD1>\r
+      <KEYWORD1>adding</KEYWORD1>\r
+      <KEYWORD1>all</KEYWORD1>\r
+      <KEYWORD1>alternative</KEYWORD1>\r
+      <KEYWORD1>any</KEYWORD1>\r
+      <KEYWORD1>as</KEYWORD1>\r
+      <KEYWORD1>atleast</KEYWORD1>\r
+      <KEYWORD1>axioms</KEYWORD1>\r
+      <KEYWORD1>block</KEYWORD1>\r
+      <KEYWORD1>call</KEYWORD1>\r
+      <KEYWORD1>channel</KEYWORD1>\r
+      <KEYWORD1>comment</KEYWORD1>\r
+      <KEYWORD1>connect</KEYWORD1>\r
+      <KEYWORD1>connection</KEYWORD1>\r
+      <KEYWORD1>constant</KEYWORD1>\r
+      <KEYWORD1>constants</KEYWORD1>\r
+      <KEYWORD1>create</KEYWORD1>\r
+      <KEYWORD1>dcl</KEYWORD1>\r
+      <KEYWORD1>decision</KEYWORD1>\r
+      <KEYWORD1>default</KEYWORD1>\r
+      <KEYWORD1>else</KEYWORD1>\r
+      <KEYWORD1>end</KEYWORD1>\r
+      <KEYWORD1>endalternative</KEYWORD1>\r
+      <KEYWORD1>endblock</KEYWORD1>\r
+      <KEYWORD1>endchannel</KEYWORD1>\r
+      <KEYWORD1>endconnection</KEYWORD1>\r
+      <KEYWORD1>enddecision</KEYWORD1>\r
+      <KEYWORD1>endgenerator</KEYWORD1>\r
+      <KEYWORD1>endmacro</KEYWORD1>\r
+      <KEYWORD1>endnewtype</KEYWORD1>\r
+      <KEYWORD1>endoperator</KEYWORD1>\r
+      <KEYWORD1>endpackage</KEYWORD1>\r
+      <KEYWORD1>endprocedure</KEYWORD1>\r
+      <KEYWORD1>endprocess</KEYWORD1>\r
+      <KEYWORD1>endrefinement</KEYWORD1>\r
+      <KEYWORD1>endselect</KEYWORD1>\r
+      <KEYWORD1>endservice</KEYWORD1>\r
+      <KEYWORD1>endstate</KEYWORD1>\r
+      <KEYWORD1>endsubstructure</KEYWORD1>\r
+      <KEYWORD1>endsyntype</KEYWORD1>\r
+      <KEYWORD1>endsystem</KEYWORD1>\r
+      <KEYWORD1>env</KEYWORD1>\r
+      <KEYWORD1>error</KEYWORD1>\r
+      <KEYWORD1>export</KEYWORD1>\r
+      <KEYWORD1>exported</KEYWORD1>\r
+      <KEYWORD1>external</KEYWORD1>\r
+      <KEYWORD1>fi</KEYWORD1>\r
+      <KEYWORD1>finalized</KEYWORD1>\r
+      <KEYWORD1>for</KEYWORD1>\r
+      <KEYWORD1>fpar</KEYWORD1>\r
+      <KEYWORD1>from</KEYWORD1>\r
+      <KEYWORD1>gate</KEYWORD1>\r
+      <KEYWORD1>generator</KEYWORD1>\r
+      <KEYWORD1>if</KEYWORD1>\r
+      <KEYWORD1>import</KEYWORD1>\r
+      <KEYWORD1>imported</KEYWORD1>\r
+      <KEYWORD1>in</KEYWORD1>\r
+      <KEYWORD1>inherits</KEYWORD1>\r
+      <KEYWORD1>input</KEYWORD1>\r
+      <KEYWORD1>interface</KEYWORD1>\r
+      <KEYWORD1>join</KEYWORD1>\r
+      <KEYWORD1>literal</KEYWORD1>\r
+      <KEYWORD1>literals</KEYWORD1>\r
+      <KEYWORD1>macro</KEYWORD1>\r
+      <KEYWORD1>macrodefinition</KEYWORD1>\r
+      <KEYWORD1>macroid</KEYWORD1>\r
+      <KEYWORD1>map</KEYWORD1>\r
+      <KEYWORD1>nameclass</KEYWORD1>\r
+      <KEYWORD1>newtype</KEYWORD1>\r
+      <KEYWORD1>nextstate</KEYWORD1>\r
+      <KEYWORD1>nodelay</KEYWORD1>\r
+      <KEYWORD1>noequality</KEYWORD1>\r
+      <KEYWORD1>none</KEYWORD1>\r
+      <KEYWORD1>now</KEYWORD1>\r
+      <KEYWORD1>offspring</KEYWORD1>\r
+      <KEYWORD1>operator</KEYWORD1>\r
+      <KEYWORD1>operators</KEYWORD1>\r
+      <KEYWORD1>ordering</KEYWORD1>\r
+      <KEYWORD1>out</KEYWORD1>\r
+      <KEYWORD1>output</KEYWORD1>\r
+      <KEYWORD1>package</KEYWORD1>\r
+      <KEYWORD1>parent</KEYWORD1>\r
+      <KEYWORD1>priority</KEYWORD1>\r
+      <KEYWORD1>procedure</KEYWORD1>\r
+      <KEYWORD1>process</KEYWORD1>\r
+      <KEYWORD1>provided</KEYWORD1>\r
+      <KEYWORD1>redefined</KEYWORD1>\r
+      <KEYWORD1>referenced</KEYWORD1>\r
+      <KEYWORD1>refinement</KEYWORD1>\r
+      <KEYWORD1>remote</KEYWORD1>\r
+      <KEYWORD1>reset</KEYWORD1>\r
+      <KEYWORD1>return</KEYWORD1>\r
+      <KEYWORD1>returns</KEYWORD1>\r
+      <KEYWORD1>revealed</KEYWORD1>\r
+      <KEYWORD1>reverse</KEYWORD1>\r
+      <KEYWORD1>route</KEYWORD1>\r
+      <KEYWORD1>save</KEYWORD1>\r
+      <KEYWORD1>select</KEYWORD1>\r
+      <KEYWORD1>self</KEYWORD1>\r
+      <KEYWORD1>sender</KEYWORD1>\r
+      <KEYWORD1>service</KEYWORD1>\r
+      <KEYWORD1>set</KEYWORD1>\r
+      <KEYWORD1>signal</KEYWORD1>\r
+      <KEYWORD1>signallist</KEYWORD1>\r
+      <KEYWORD1>signalroute</KEYWORD1>\r
+      <KEYWORD1>signalset</KEYWORD1>\r
+      <KEYWORD1>spelling</KEYWORD1>\r
+      <KEYWORD1>start</KEYWORD1>\r
+      <KEYWORD1>state</KEYWORD1>\r
+      <KEYWORD1>stop</KEYWORD1>\r
+      <KEYWORD1>struct</KEYWORD1>\r
+      <KEYWORD1>substructure</KEYWORD1>\r
+      <KEYWORD1>synonym</KEYWORD1>\r
+      <KEYWORD1>syntype</KEYWORD1>\r
+      <KEYWORD1>system</KEYWORD1>\r
+      <KEYWORD1>task</KEYWORD1>\r
+      <KEYWORD1>then</KEYWORD1>\r
+      <KEYWORD1>this</KEYWORD1>\r
+      <KEYWORD1>timer</KEYWORD1>\r
+      <KEYWORD1>to</KEYWORD1>\r
+      <KEYWORD1>type</KEYWORD1>\r
+      <KEYWORD1>use</KEYWORD1>\r
+      <KEYWORD1>via</KEYWORD1>\r
+      <KEYWORD1>view</KEYWORD1>\r
+      <KEYWORD1>viewed</KEYWORD1>\r
+      <KEYWORD1>virtual</KEYWORD1>\r
+      <KEYWORD1>with</KEYWORD1>\r
+\r
+      <!-- Standard Library Sorts -->\r
+      <KEYWORD2>Boolean</KEYWORD2>\r
+      <KEYWORD2>Character</KEYWORD2>\r
+      <KEYWORD2>Charstring</KEYWORD2>\r
+      <KEYWORD2>Duration</KEYWORD2>\r
+      <KEYWORD2>Integer</KEYWORD2>\r
+      <KEYWORD2>Natural</KEYWORD2>\r
+      <KEYWORD2>Real</KEYWORD2>\r
+      <KEYWORD2>PId</KEYWORD2>\r
+      <KEYWORD2>Time</KEYWORD2>\r
+\r
+      <!-- Standard Library Generators -->\r
+      <KEYWORD3>Array</KEYWORD3>\r
+      <KEYWORD3>String</KEYWORD3>\r
+      <KEYWORD3>Powerset</KEYWORD3>\r
+\r
+      <!-- Standard Library Literals -->\r
+      <LITERAL1>false</LITERAL1>\r
+      <LITERAL1>null</LITERAL1>\r
+      <LITERAL1>true</LITERAL1>\r
+    </KEYWORDS>\r
+  </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/sgml.xml b/basis/xmode/modes/sgml.xml
new file mode 100644 (file)
index 0000000..6f7737d
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES>\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD Entity declarations -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::ENTITY-TAGS">\r
+                       <BEGIN>&lt;!ENTITY</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CDATA sections -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
+                       <BEGIN>&lt;![CDATA[</BEGIN>\r
+                       <END>]]&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/shellscript.xml b/basis/xmode/modes/shellscript.xml
new file mode 100644 (file)
index 0000000..5d265b7
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comments -->\r
+               <EOL_SPAN TYPE="COMMENT2">#!</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$@</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$$</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$&lt;</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+               <MARK_PREVIOUS TYPE="KEYWORD2" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
+\r
+               <!-- weird stuff -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
+                       <BEGIN>$((</BEGIN>\r
+                       <END>))</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
+                       <BEGIN>$(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
+                       <BEGIN>$[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
+                       <BEGIN>`</BEGIN>\r
+                       <END>`</END>\r
+               </SPAN>\r
+\r
+               <!-- Literals -->\r
+               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- Readins -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">\r
+                       <BEGIN><![CDATA[<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>\r
+                       <END>$1</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- Operators -->\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+\r
+               <!-- %jobnumber -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
+\r
+               <!-- functions -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>elif</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>fi</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <OPERATOR>;;</OPERATOR>\r
+                       <KEYWORD1>esac</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>done</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+\r
+                       <KEYWORD1>local</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+               </KEYWORDS>\r
+\r
+               <!-- some of these should be marked OPERATOR -->\r
+               <!-- <SEQ TYPE="NULL">)</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">=</SEQ>\r
+               <SEQ TYPE="NULL">!</SEQ>\r
+               <SEQ TYPE="NULL">&gt;=</SEQ>\r
+               <SEQ TYPE="NULL">&lt;=</SEQ>\r
+               <SEQ TYPE="NULL">+</SEQ>\r
+               <SEQ TYPE="NULL">-</SEQ>\r
+               <SEQ TYPE="NULL">/</SEQ>\r
+               <SEQ TYPE="NULL">*</SEQ>\r
+               <SEQ TYPE="NULL">^</SEQ>\r
+               <SEQ TYPE="NULL">~</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               SEQ TYPE="NULL">.</SEQ\r
+               <SEQ TYPE="NULL">,</SEQ>\r
+               <SEQ TYPE="NULL">;</SEQ>\r
+               <SEQ TYPE="NULL">]</SEQ>\r
+               <SEQ TYPE="NULL">[</SEQ>\r
+               <SEQ TYPE="NULL">?</SEQ>\r
+               <SEQ TYPE="NULL">:</SEQ> -->\r
+       </RULES>\r
+\r
+       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+       </RULES>\r
+\r
+       <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">\r
+               <!-- Variables -->\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>$((</BEGIN>\r
+                       <END>))</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>$(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>$[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/shtml.xml b/basis/xmode/modes/shtml.xml
new file mode 100644 (file)
index 0000000..b5ee02e
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- SSI -->\r
+               <!-- SSI directives should ALWAYS end like this, with a space\r
+                       before the tag end, so let's make it colorize poorly otherwise -->\r
+               <!-- ... or really? see bug report 964860 -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="SSI">\r
+                       <BEGIN>&lt;!--#</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="SSI" DEFAULT="KEYWORD3">\r
+               <SPAN TYPE="LITERAL1" MATCH_TYPE="OPERATOR" DELEGATE="SSI-EXPRESSION">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- MD: i don't think this is valid\r
+               <SPAN TYPE="LITERAL1" MATCH_TYPE="OPERATOR" DELEGATE="SSI-EXPRESSION">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               -->\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>config</KEYWORD1>\r
+                       <KEYWORD1>echo</KEYWORD1>\r
+                       <KEYWORD1>exec</KEYWORD1>\r
+                       <KEYWORD1>flastmod</KEYWORD1>\r
+                       <KEYWORD1>fsize</KEYWORD1>\r
+                       <KEYWORD1>include</KEYWORD1>\r
+\r
+                       <KEYWORD2>cgi</KEYWORD2>\r
+                       <KEYWORD2>errmsg</KEYWORD2>\r
+                       <KEYWORD2>file</KEYWORD2>\r
+                       <KEYWORD2>sizefmt</KEYWORD2>\r
+                       <KEYWORD2>timefmt</KEYWORD2>\r
+                       <KEYWORD2>var</KEYWORD2>\r
+                       <KEYWORD2>cmd</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="SSI-EXPRESSION" DEFAULT="LITERAL1" ESCAPE="\">\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">||</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/slate.xml b/basis/xmode/modes/slate.xml
new file mode 100644 (file)
index 0000000..4f9b2c5
--- /dev/null
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="["/>\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE="]"/>\r
+               <PROPERTY NAME="commentStart" VALUE="&quot;"/>\r
+               <PROPERTY NAME="commentEnd" VALUE="&quot;"/>\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE" ESCAPE="\"\r
+               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
+               \r
+               <SEQ TYPE="MARKUP">@</SEQ>\r
+               \r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               \r
+               <SPAN TYPE="KEYWORD1">\r
+                       <BEGIN>|</BEGIN>\r
+                       <END>|</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL4">&amp;</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">`</MARK_FOLLOWING>\r
+               \r
+               <MARK_FOLLOWING TYPE="LITERAL3">$\</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL3">$</MARK_FOLLOWING>\r
+               \r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/smalltalk.xml b/basis/xmode/modes/smalltalk.xml
new file mode 100644 (file)
index 0000000..27eefe7
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Smalltalk mode, by Marcio Marchini mqm@magma.ca -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&quot;" />\r
+               <PROPERTY NAME="commentEnd" VALUE="&quot;" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
+\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">_</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="KEYWORD3" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR">#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1" MATCH_TYPE="OPERATOR">$</MARK_FOLLOWING>\r
+\r
+\r
+               <KEYWORDS>\r
+                       <!-- Constants -->\r
+                       <KEYWORD1>true</KEYWORD1>\r
+                       <KEYWORD1>false</KEYWORD1>\r
+                       <KEYWORD1>nil</KEYWORD1>\r
+\r
+                       <!-- Reserved identifiers -->\r
+                       <KEYWORD2>self</KEYWORD2>\r
+                       <KEYWORD2>super</KEYWORD2>\r
+\r
+                       <!-- not really keywords, but a different color works well-->\r
+                       <KEYWORD3>isNil</KEYWORD3>\r
+                       <KEYWORD3>not</KEYWORD3>\r
+\r
+                       <!-- not really -->\r
+                       <LITERAL2>Smalltalk</LITERAL2>\r
+                       <LITERAL2>Transcript</LITERAL2>\r
+\r
+                       <!-- base classes -->\r
+                       <LITERAL2>Date</LITERAL2>\r
+                       <LITERAL2>Time</LITERAL2>\r
+                       <LITERAL2>Boolean</LITERAL2>\r
+                       <LITERAL2>True</LITERAL2>\r
+                       <LITERAL2>False</LITERAL2>\r
+                       <LITERAL2>Character</LITERAL2>\r
+                       <LITERAL2>String</LITERAL2>\r
+                       <LITERAL2>Array</LITERAL2>\r
+                       <LITERAL2>Symbol</LITERAL2>\r
+                       <LITERAL2>Integer</LITERAL2>\r
+                       <LITERAL2>Object</LITERAL2>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/smi-mib.xml b/basis/xmode/modes/smi-mib.xml
new file mode 100644 (file)
index 0000000..ed8982e
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       SMI MIB mode by Scott Allen (scotta@idirect.com)\r
+       For "Structure of Management Information" version 2 (SMIv2)\r
+           "Management Information Base" (MIB) modules as used by the\r
+           "Simple Network Management Protocol" (SNMP).\r
+\r
+       As per RFC's 2578, 2579 and 2580\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+\r
+               <PROPERTY NAME="noWordSep" VALUE="-_" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="unindentNextLines" VALUE=".*::=\s*\{.*\}\s*$" />\r
+               <PROPERTY NAME="indentNextLines"\r
+                       VALUE=".*(::=|AGENT-CAPABILITIES|DESCRIPTION|IMPORTS|MODULE-COMPLIANCE|MODULE-IDENTITY|NOTIFICATION-GROUP|NOTIFICATION-TYPE|OBJECT-GROUP|OBJECT-IDENTITY|OBJECT-TYPE|TEXTUAL-CONVENTION)\s*$" />\r
+       </PROPS>\r
+\r
+       <RULES\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE">\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">::=</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+               <SEQ TYPE="KEYWORD2">OBJECT IDENTIFIER</SEQ>\r
+               <SEQ TYPE="KEYWORD2">SEQUENCE OF</SEQ>\r
+               <SEQ TYPE="KEYWORD2">OCTET STRING</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <FUNCTION>AGENT-CAPABILITIES</FUNCTION>\r
+                       <FUNCTION>BEGIN</FUNCTION>\r
+                       <FUNCTION>END</FUNCTION>\r
+                       <FUNCTION>FROM</FUNCTION>\r
+                       <FUNCTION>IMPORTS</FUNCTION>\r
+                       <FUNCTION>MODULE-COMPLIANCE</FUNCTION>\r
+                       <FUNCTION>MODULE-IDENTITY</FUNCTION>\r
+                       <FUNCTION>NOTIFICATION-GROUP</FUNCTION>\r
+                       <FUNCTION>NOTIFICATION-TYPE</FUNCTION>\r
+                       <FUNCTION>OBJECT-GROUP</FUNCTION>\r
+                       <FUNCTION>OBJECT-IDENTITY</FUNCTION>\r
+                       <FUNCTION>OBJECT-TYPE</FUNCTION>\r
+                       <FUNCTION>TEXTUAL-CONVENTION</FUNCTION>\r
+\r
+                       <KEYWORD1>ACCESS</KEYWORD1>\r
+                       <KEYWORD1>AUGMENTS</KEYWORD1>\r
+                       <KEYWORD1>CONTACT-INFO</KEYWORD1>\r
+                       <KEYWORD1>CREATION-REQUIRES</KEYWORD1>\r
+                       <KEYWORD1>DEFINITIONS</KEYWORD1>\r
+                       <KEYWORD1>DEFVAL</KEYWORD1>\r
+                       <KEYWORD1>DESCRIPTION</KEYWORD1>\r
+                       <KEYWORD1>DISPLAY-HINT</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+                       <KEYWORD1>INCLUDES</KEYWORD1>\r
+                       <KEYWORD1>INDEX</KEYWORD1>\r
+                       <KEYWORD1>LAST-UPDATED</KEYWORD1>\r
+                       <KEYWORD1>MANDATORY-GROUPS</KEYWORD1>\r
+                       <KEYWORD1>MAX-ACCESS</KEYWORD1>\r
+                       <KEYWORD1>MIN-ACCESS</KEYWORD1>\r
+                       <KEYWORD1>MODULE</KEYWORD1>\r
+                       <KEYWORD1>NOTIFICATIONS</KEYWORD1>\r
+                       <KEYWORD1>OBJECT</KEYWORD1>\r
+                       <KEYWORD1>OBJECTS</KEYWORD1>\r
+                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
+                       <KEYWORD1>PRODUCT-RELEASE</KEYWORD1>\r
+                       <KEYWORD1>REFERENCE</KEYWORD1>\r
+                       <KEYWORD1>REVISION</KEYWORD1>\r
+                       <KEYWORD1>STATUS</KEYWORD1>\r
+                       <KEYWORD1>SYNTAX</KEYWORD1>\r
+                       <KEYWORD1>SUPPORTS</KEYWORD1>\r
+                       <KEYWORD1>UNITS</KEYWORD1>\r
+                       <KEYWORD1>VARIATION</KEYWORD1>\r
+                       <KEYWORD1>WRITE-SYNTAX</KEYWORD1>\r
+\r
+                       <KEYWORD2>AutonomousType</KEYWORD2>\r
+                       <KEYWORD2>BITS</KEYWORD2>\r
+                       <KEYWORD2>Counter32</KEYWORD2>\r
+                       <KEYWORD2>Counter64</KEYWORD2>\r
+                       <KEYWORD2>DateAndTime</KEYWORD2>\r
+                       <KEYWORD2>DisplayString</KEYWORD2>\r
+                       <KEYWORD2>Gauge32</KEYWORD2>\r
+                       <KEYWORD2>InstancePointer</KEYWORD2>\r
+                       <KEYWORD2>INTEGER</KEYWORD2>\r
+                       <KEYWORD2>Integer32</KEYWORD2>\r
+                       <KEYWORD2>IpAddress</KEYWORD2>\r
+                       <KEYWORD2>MacAddress</KEYWORD2>\r
+                       <KEYWORD2>Opaque</KEYWORD2>\r
+                       <KEYWORD2>PhysAddress</KEYWORD2>\r
+                       <KEYWORD2>RowPointer</KEYWORD2>\r
+                       <KEYWORD2>RowStatus</KEYWORD2>\r
+                       <KEYWORD2>SEQUENCE</KEYWORD2>\r
+                       <KEYWORD2>TAddress</KEYWORD2>\r
+                       <KEYWORD2>TDomain</KEYWORD2>\r
+                       <KEYWORD2>TestAndIncr</KEYWORD2>\r
+                       <KEYWORD2>TimeInterval</KEYWORD2>\r
+                       <KEYWORD2>TimeStamp</KEYWORD2>\r
+                       <KEYWORD2>TimeTicks</KEYWORD2>\r
+                       <KEYWORD2>TruthValue</KEYWORD2>\r
+                       <KEYWORD2>StorageType</KEYWORD2>\r
+                       <KEYWORD2>Unsigned32</KEYWORD2>\r
+                       <KEYWORD2>VariablePointer</KEYWORD2>\r
+\r
+                       <KEYWORD3>accessible-for-notify</KEYWORD3>\r
+                       <KEYWORD3>current</KEYWORD3>\r
+                       <KEYWORD3>deprecated</KEYWORD3>\r
+                       <KEYWORD3>not-accessible</KEYWORD3>\r
+                       <KEYWORD3>obsolete</KEYWORD3>\r
+                       <KEYWORD3>read-create</KEYWORD3>\r
+                       <KEYWORD3>read-only</KEYWORD3>\r
+                       <KEYWORD3>read-write</KEYWORD3>\r
+                       <KEYWORD3>SIZE</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/splus.xml b/basis/xmode/modes/splus.xml
new file mode 100644 (file)
index 0000000..12e10d7
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+    <PROPS>\r
+        <PROPERTY NAME="lineComment" VALUE="#" />\r
+        <PROPERTY NAME="wordBreakChars" VALUE="_,+-=&lt;&gt;/?^&amp;*" />\r
+\r
+        <!-- Auto indent -->\r
+        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+        <PROPERTY NAME="indentNextLine"\r
+            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+        <!-- set this to 'true' if you want to use GNU coding style -->\r
+        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+    </PROPS>\r
+    <RULES ESCAPE="\"\r
+        IGNORE_CASE="FALSE"\r
+        HIGHLIGHT_DIGITS="TRUE"\r
+        DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>"</BEGIN>\r
+            <END>"</END>\r
+        </SPAN>\r
+        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+            <BEGIN>'</BEGIN>\r
+            <END>'</END>\r
+        </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <SEQ TYPE="OPERATOR">_</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">%</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+        <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
+            MATCH_TYPE="OPERATOR"\r
+            TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+        <!-- Function calls -->\r
+        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+        <KEYWORDS>\r
+            <KEYWORD1>break</KEYWORD1>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>continue</KEYWORD1>\r
+            <KEYWORD1>default</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>goto</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD1>sizeof</KEYWORD1>\r
+            <KEYWORD1>switch</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+\r
+            <KEYWORD1>function</KEYWORD1>\r
+\r
+            <LITERAL2>T</LITERAL2>\r
+            <LITERAL2>F</LITERAL2>\r
+        </KEYWORDS>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/sql-loader.xml b/basis/xmode/modes/sql-loader.xml
new file mode 100644 (file)
index 0000000..ae62fc3
--- /dev/null
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN DELEGATE="pl-sql::MAIN">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+        \r
+               <KEYWORDS>\r
+                       <!-- reserved words -->\r
+                       <KEYWORD1>LOAD</KEYWORD1>\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>INFILE</KEYWORD1>\r
+                       <KEYWORD1>BADFILE</KEYWORD1>\r
+                       <KEYWORD1>DISCARDFILE</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>FIELDS</KEYWORD1>\r
+                       <KEYWORD1>TERMINATED</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>OPTIONALLY</KEYWORD1>\r
+                       <KEYWORD1>ENCLOSED</KEYWORD1>\r
+                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
+                       <KEYWORD1>TRAILING</KEYWORD1>\r
+                       <KEYWORD1>NULLCOLS</KEYWORD1>\r
+                       <KEYWORD1>NULLIF</KEYWORD1>\r
+                       <KEYWORD1>DATA</KEYWORD1>\r
+                       <KEYWORD1>BLANKS</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>POSITION</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>APPEND</KEYWORD1>\r
+                       <KEYWORD1>REPLACE</KEYWORD1>\r
+                       <KEYWORD1>EOF</KEYWORD1>\r
+                       <KEYWORD1>LOBFILE</KEYWORD1>\r
+                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
+                       <KEYWORD1>COLUMN</KEYWORD1>\r
+            \r
+            <!--function-->\r
+                       <KEYWORD1>COUNT</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>SDF</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>SYSDATE</KEYWORD1>\r
+\r
+                       <!-- data types -->\r
+                       <KEYWORD1>binary</KEYWORD1>\r
+                       <KEYWORD1>bit</KEYWORD1>\r
+                       <KEYWORD1>blob</KEYWORD1>\r
+                       <KEYWORD1>boolean</KEYWORD1>\r
+                       <KEYWORD1>char</KEYWORD1>\r
+                       <KEYWORD1>character</KEYWORD1>\r
+                       <KEYWORD1>constant</KEYWORD1>\r
+                       <KEYWORD1>date</KEYWORD1>\r
+                       <KEYWORD1>datetime</KEYWORD1>\r
+                       <KEYWORD1>decimal</KEYWORD1>\r
+                       <KEYWORD1>double</KEYWORD1>\r
+                       <KEYWORD1>filler</KEYWORD1>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>image</KEYWORD1>\r
+                       <KEYWORD1>int</KEYWORD1>\r
+                       <KEYWORD1>integer</KEYWORD1>\r
+                       <KEYWORD1>money</KEYWORD1>\r
+                       <!-- KEYWORD1>name</KEYWORD1 -->\r
+                       <KEYWORD1>numeric</KEYWORD1>\r
+                       <KEYWORD1>nchar</KEYWORD1>\r
+                       <KEYWORD1>nvarchar</KEYWORD1>\r
+                       <KEYWORD1>ntext</KEYWORD1>\r
+                       <KEYWORD1>object</KEYWORD1>\r
+                       <KEYWORD1>pls_integer</KEYWORD1>\r
+                       <KEYWORD1>raw</KEYWORD1>\r
+                       <KEYWORD1>real</KEYWORD1>\r
+                       <KEYWORD1>smalldatetime</KEYWORD1>\r
+                       <KEYWORD1>smallint</KEYWORD1>\r
+                       <KEYWORD1>smallmoney</KEYWORD1>\r
+                       <KEYWORD1>sequence</KEYWORD1>\r
+                       <KEYWORD1>text</KEYWORD1>\r
+                       <KEYWORD1>timestamp</KEYWORD1>\r
+                       <KEYWORD1>tinyint</KEYWORD1>\r
+                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
+                       <KEYWORD1>varbinary</KEYWORD1>\r
+                       <KEYWORD1>varchar</KEYWORD1>\r
+                       <KEYWORD1>varchar2</KEYWORD1>\r
+                       <KEYWORD1>varray</KEYWORD1>\r
+                       <KEYWORD1>zoned</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
+                \r
diff --git a/basis/xmode/modes/sqr.xml b/basis/xmode/modes/sqr.xml
new file mode 100644 (file)
index 0000000..6e28544
--- /dev/null
@@ -0,0 +1,152 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- SQR Mode by Richard F. Ashwell III  -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="!" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Normal comments. -->\r
+               <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
+\r
+               <!-- Literal String --> \r
+               <SPAN TYPE="LABEL" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN> \r
+\r
+               <!-- SQR Replacement String -->                 \r
+               <SPAN TYPE="LABEL" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN> \r
+               \r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">@</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               \r
+               <MARK_FOLLOWING TYPE="LITERAL1">$</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="MARKUP">&amp;</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Section KeyWords -->\r
+                       <FUNCTION>begin-procedure</FUNCTION>                     \r
+                       <FUNCTION>end-procedure</FUNCTION>                      \r
+                       <FUNCTION>begin-report</FUNCTION>\r
+                       <FUNCTION>end-report</FUNCTION>\r
+                       <FUNCTION>begin-heading</FUNCTION>\r
+                       <FUNCTION>end-heading</FUNCTION>\r
+                       <FUNCTION>begin-setup</FUNCTION>\r
+                       <FUNCTION>end-setup</FUNCTION>\r
+                       <FUNCTION>begin-footing</FUNCTION>\r
+                       <FUNCTION>end-footing</FUNCTION>\r
+                       <FUNCTION>begin-program</FUNCTION>\r
+                       <FUNCTION>end-program</FUNCTION>\r
+\r
+                       <!-- Block Keywords -->\r
+                       <KEYWORD1>begin-select</KEYWORD1>\r
+                       <KEYWORD1>end-select</KEYWORD1>\r
+                       <KEYWORD1>begin-sql</KEYWORD1>\r
+                       <KEYWORD1>end-sql</KEYWORD1>\r
+                       \r
+                       <!-- SQR Functional Keywords -->\r
+                       <KEYWORD2>add</KEYWORD2> \r
+                       <KEYWORD2>array-add</KEYWORD2> \r
+                       <KEYWORD2>array-divide</KEYWORD2> \r
+                       <KEYWORD2>array-multiply</KEYWORD2> \r
+                       <KEYWORD2>array-subtract</KEYWORD2> \r
+                       <KEYWORD2>ask</KEYWORD2>\r
+                       <KEYWORD2>break</KEYWORD2>\r
+                       <KEYWORD2>call</KEYWORD2> \r
+                       <KEYWORD2>clear-array</KEYWORD2> \r
+                       <KEYWORD2>close</KEYWORD2> \r
+                       <KEYWORD2>columns</KEYWORD2> \r
+                       <KEYWORD2>commit</KEYWORD2> \r
+                       <KEYWORD2>concat</KEYWORD2> \r
+                       <KEYWORD2>connect</KEYWORD2> \r
+                       <KEYWORD2>create-array</KEYWORD2>\r
+                       <KEYWORD2>date-time</KEYWORD2> \r
+                       <KEYWORD2>display</KEYWORD2> \r
+                       <KEYWORD2>divide</KEYWORD2> \r
+                       <KEYWORD2>do</KEYWORD2> \r
+                       <KEYWORD2>dollar-symbol</KEYWORD2>\r
+                       <KEYWORD2>else</KEYWORD2> \r
+                       <KEYWORD2>encode</KEYWORD2> \r
+                       <KEYWORD2>end-evaluate</KEYWORD2> \r
+                       <KEYWORD2>end-if</KEYWORD2> \r
+                       <KEYWORD2>end-while</KEYWORD2> \r
+                       <KEYWORD2>evaluate</KEYWORD2> \r
+                       <KEYWORD2>execute</KEYWORD2> \r
+                       <KEYWORD2>extract</KEYWORD2>\r
+                       <KEYWORD2>find</KEYWORD2> \r
+                       <KEYWORD2>font</KEYWORD2>\r
+                       <KEYWORD2>get</KEYWORD2> \r
+                       <KEYWORD2>goto</KEYWORD2> \r
+                       <KEYWORD2>graphic</KEYWORD2>\r
+                       <KEYWORD2>if</KEYWORD2>\r
+                       <KEYWORD2>last-page</KEYWORD2> \r
+                       <KEYWORD2>let</KEYWORD2> \r
+                       <KEYWORD2>lookup</KEYWORD2> \r
+                       <KEYWORD2>lowercase</KEYWORD2>\r
+                       <KEYWORD2>money-symbol</KEYWORD2> \r
+                       <KEYWORD2>move</KEYWORD2> \r
+                       <KEYWORD2>multiply</KEYWORD2>\r
+                       <KEYWORD2>new-page</KEYWORD2> \r
+                       <KEYWORD2>new-report</KEYWORD2> \r
+                       <KEYWORD2>next-column</KEYWORD2> \r
+                       <KEYWORD2>next-listing</KEYWORD2> \r
+                       <KEYWORD2>no-formfeed</KEYWORD2>\r
+                       <KEYWORD2>open</KEYWORD2>\r
+                       <KEYWORD2>page-number</KEYWORD2> \r
+                       <KEYWORD2>page-size</KEYWORD2> \r
+                       <KEYWORD2>position</KEYWORD2> \r
+                       <KEYWORD2>print</KEYWORD2> \r
+                       <KEYWORD2>print-bar-code</KEYWORD2> \r
+                       <KEYWORD2>print-chart</KEYWORD2> \r
+                       <KEYWORD2>print-direct</KEYWORD2> \r
+                       <KEYWORD2>print-image</KEYWORD2> \r
+                       <KEYWORD2>printer-deinit</KEYWORD2> \r
+                       <KEYWORD2>printer-init</KEYWORD2> \r
+                       <KEYWORD2>put</KEYWORD2>\r
+                       <KEYWORD2>read</KEYWORD2> \r
+                       <KEYWORD2>rollback</KEYWORD2>\r
+                       <KEYWORD2>show</KEYWORD2> \r
+                       <KEYWORD2>stop</KEYWORD2> \r
+                       <KEYWORD2>string</KEYWORD2> \r
+                       <KEYWORD2>subtract</KEYWORD2>\r
+                       <KEYWORD2>unstring</KEYWORD2> \r
+                       <KEYWORD2>uppercase</KEYWORD2> \r
+                       <KEYWORD2>use</KEYWORD2> \r
+                       <KEYWORD2>use-column</KEYWORD2> \r
+                       <KEYWORD2>use-printer-type</KEYWORD2> \r
+                       <KEYWORD2>use-procedure</KEYWORD2> \r
+                       <KEYWORD2>use-report</KEYWORD2> \r
+                       <KEYWORD2>use-report</KEYWORD2>\r
+                       <KEYWORD2>while</KEYWORD2> \r
+                       <KEYWORD2>write</KEYWORD2>\r
+                       <KEYWORD2>to</KEYWORD2>\r
+\r
+                       <!-- SQL Keywords -->\r
+                       <KEYWORD3>from</KEYWORD3>\r
+                       <KEYWORD3>where</KEYWORD3>\r
+                       <KEYWORD3>and</KEYWORD3>\r
+                       <KEYWORD3>between</KEYWORD3>\r
+                       <KEYWORD3>or</KEYWORD3>\r
+                       <KEYWORD3>in</KEYWORD3>\r
+                       \r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/squidconf.xml b/basis/xmode/modes/squidconf.xml
new file mode 100644 (file)
index 0000000..d8d84a6
--- /dev/null
@@ -0,0 +1,227 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Highlighting for squid.conf by Kris Kopicki (29/11/2003). For squid 2.5-stable -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#"/>\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Comment -->\r
+               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
+               \r
+               <KEYWORDS>\r
+                       <KEYWORD1>http_port</KEYWORD1>\r
+                       <KEYWORD1>https_port</KEYWORD1>\r
+                       <KEYWORD1>ssl_unclean_shutdown</KEYWORD1>\r
+                       <KEYWORD1>icp_port</KEYWORD1>\r
+                       <KEYWORD1>htcp_port</KEYWORD1>\r
+                       <KEYWORD1>mcast_groups</KEYWORD1>\r
+                       <KEYWORD1>udp_incoming_address</KEYWORD1>\r
+                       <KEYWORD1>udp_outgoing_address</KEYWORD1>\r
+                       <KEYWORD1>cache_peer</KEYWORD1>\r
+                       <KEYWORD1>cache_peer_domain</KEYWORD1>\r
+                       <KEYWORD1>neighbor_type_domain</KEYWORD1>\r
+                       <KEYWORD1>icp_query_timeout</KEYWORD1>\r
+                       <KEYWORD1>maximum_icp_query_timeout</KEYWORD1>\r
+                       <KEYWORD1>mcast_icp_query_timeout</KEYWORD1>\r
+                       <KEYWORD1>dead_peer_timeout</KEYWORD1>\r
+                       <KEYWORD1>hierarchy_stoplist</KEYWORD1>\r
+                       <KEYWORD1>no_cache</KEYWORD1>\r
+                       <KEYWORD1>cache_mem</KEYWORD1>\r
+                       <KEYWORD1>cache_swap_low</KEYWORD1>\r
+                       <KEYWORD1>cache_swap_high</KEYWORD1>\r
+                       <KEYWORD1>maximum_object_size</KEYWORD1>\r
+                       <KEYWORD1>minimum_object_size</KEYWORD1>\r
+                       <KEYWORD1>maximum_object_size_in_memory</KEYWORD1>\r
+                       <KEYWORD1>ipcache_size</KEYWORD1>\r
+                       <KEYWORD1>ipcache_low</KEYWORD1>\r
+                       <KEYWORD1>ipcache_high</KEYWORD1>\r
+                       <KEYWORD1>fqdncache_size</KEYWORD1>\r
+                       <KEYWORD1>cache_replacement_policy</KEYWORD1>\r
+                       <KEYWORD1>memory_replacement_policy</KEYWORD1>\r
+                       <KEYWORD1>cache_dir</KEYWORD1>\r
+                       <KEYWORD1>cache_access_log</KEYWORD1>\r
+                       <KEYWORD1>cache_log</KEYWORD1>\r
+                       <KEYWORD1>cache_store_log</KEYWORD1>\r
+                       <KEYWORD1>cache_swap_log</KEYWORD1>\r
+                       <KEYWORD1>emulate_httpd_log</KEYWORD1>\r
+                       <KEYWORD1>log_ip_on_direct</KEYWORD1>\r
+                       <KEYWORD1>mime_table</KEYWORD1>\r
+                       <KEYWORD1>log_mime_hdrs</KEYWORD1>\r
+                       <KEYWORD1>useragent_log</KEYWORD1>\r
+                       <KEYWORD1>referer_log</KEYWORD1>\r
+                       <KEYWORD1>pid_filename</KEYWORD1>\r
+                       <KEYWORD1>debug_options</KEYWORD1>\r
+                       <KEYWORD1>log_fqdn</KEYWORD1>\r
+                       <KEYWORD1>client_netmask</KEYWORD1>\r
+                       <KEYWORD1>ftp_user</KEYWORD1>\r
+                       <KEYWORD1>ftp_list_width</KEYWORD1>\r
+                       <KEYWORD1>ftp_passive</KEYWORD1>\r
+                       <KEYWORD1>ftp_sanitycheck</KEYWORD1>\r
+                       <KEYWORD1>cache_dns_program</KEYWORD1>\r
+                       <KEYWORD1>dns_children</KEYWORD1>\r
+                       <KEYWORD1>dns_retransmit_interval</KEYWORD1>\r
+                       <KEYWORD1>dns_timeout</KEYWORD1>\r
+                       <KEYWORD1>dns_defnames</KEYWORD1>\r
+                       <KEYWORD1>dns_nameservers</KEYWORD1>\r
+                       <KEYWORD1>hosts_file</KEYWORD1>\r
+                       <KEYWORD1>diskd_program</KEYWORD1>\r
+                       <KEYWORD1>unlinkd_program</KEYWORD1>\r
+                       <KEYWORD1>pinger_program</KEYWORD1>\r
+                       <KEYWORD1>redirect_program</KEYWORD1>\r
+                       <KEYWORD1>redirect_children</KEYWORD1>\r
+                       <KEYWORD1>redirect_rewrites_host_header</KEYWORD1>\r
+                       <KEYWORD1>redirector_access</KEYWORD1>\r
+                       <KEYWORD1>auth_param</KEYWORD1>\r
+                       <KEYWORD1>authenticate_cache_garbage_interval</KEYWORD1>\r
+                       <KEYWORD1>authenticate_ttl</KEYWORD1>\r
+                       <KEYWORD1>authenticate_ip_ttl</KEYWORD1>\r
+                       <KEYWORD1>external_acl_type</KEYWORD1>\r
+                       <KEYWORD1>wais_relay_host</KEYWORD1>\r
+                       <KEYWORD1>wais_relay_port</KEYWORD1>\r
+                       <KEYWORD1>request_header_max_size</KEYWORD1>\r
+                       <KEYWORD1>request_body_max_size</KEYWORD1>\r
+                       <KEYWORD1>refresh_pattern</KEYWORD1>\r
+                       <KEYWORD1>quick_abort_min</KEYWORD1>\r
+                       <KEYWORD1>quick_abort_max</KEYWORD1>\r
+                       <KEYWORD1>quick_abort_pct</KEYWORD1>\r
+                       <KEYWORD1>negative_ttl</KEYWORD1>\r
+                       <KEYWORD1>positive_dns_ttl</KEYWORD1>\r
+                       <KEYWORD1>negative_dns_ttl</KEYWORD1>\r
+                       <KEYWORD1>range_offset_limit</KEYWORD1>\r
+                       <KEYWORD1>connect_timeout</KEYWORD1>\r
+                       <KEYWORD1>peer_connect_timeout</KEYWORD1>\r
+                       <KEYWORD1>read_timeout</KEYWORD1>\r
+                       <KEYWORD1>request_timeout</KEYWORD1>\r
+                       <KEYWORD1>persistent_request_timeout</KEYWORD1>\r
+                       <KEYWORD1>client_lifetime</KEYWORD1>\r
+                       <KEYWORD1>half_closed_clients</KEYWORD1>\r
+                       <KEYWORD1>pconn_timeout</KEYWORD1>\r
+                       <KEYWORD1>ident_timeout</KEYWORD1>\r
+                       <KEYWORD1>shutdown_lifetime</KEYWORD1>\r
+                       <KEYWORD1>acl</KEYWORD1>\r
+                       <KEYWORD1>http_access</KEYWORD1>\r
+                       <KEYWORD1>http_reply_access</KEYWORD1>\r
+                       <KEYWORD1>icp_access</KEYWORD1>\r
+                       <KEYWORD1>miss_access</KEYWORD1>\r
+                       <KEYWORD1>cache_peer_access</KEYWORD1>\r
+                       <KEYWORD1>ident_lookup_access</KEYWORD1>\r
+                       <KEYWORD1>tcp_outgoing_tos</KEYWORD1>\r
+                       <KEYWORD1>tcp_outgoing_address</KEYWORD1>\r
+                       <KEYWORD1>reply_body_max_size</KEYWORD1>\r
+                       <KEYWORD1>cache_mgr</KEYWORD1>\r
+                       <KEYWORD1>cache_effective_user</KEYWORD1>\r
+                       <KEYWORD1>cache_effective_group</KEYWORD1>\r
+                       <KEYWORD1>visible_hostname</KEYWORD1>\r
+                       <KEYWORD1>unique_hostname</KEYWORD1>\r
+                       <KEYWORD1>hostname_aliases</KEYWORD1>\r
+                       <KEYWORD1>announce_period</KEYWORD1>\r
+                       <KEYWORD1>announce_host</KEYWORD1>\r
+                       <KEYWORD1>announce_file</KEYWORD1>\r
+                       <KEYWORD1>announce_port</KEYWORD1>\r
+                       <KEYWORD1>httpd_accel_host</KEYWORD1>\r
+                       <KEYWORD1>httpd_accel_port</KEYWORD1>\r
+                       <KEYWORD1>httpd_accel_single_host</KEYWORD1>\r
+                       <KEYWORD1>httpd_accel_with_proxy</KEYWORD1>\r
+                       <KEYWORD1>httpd_accel_uses_host_header</KEYWORD1>\r
+                       <KEYWORD1>dns_testnames</KEYWORD1>\r
+                       <KEYWORD1>logfile_rotate</KEYWORD1>\r
+                       <KEYWORD1>append_domain</KEYWORD1>\r
+                       <KEYWORD1>tcp_recv_bufsize</KEYWORD1>\r
+                       <KEYWORD1>err_html_text</KEYWORD1>\r
+                       <KEYWORD1>deny_info</KEYWORD1>\r
+                       <KEYWORD1>memory_pools</KEYWORD1>\r
+                       <KEYWORD1>memory_pools_limit</KEYWORD1>\r
+                       <KEYWORD1>forwarded_for</KEYWORD1>\r
+                       <KEYWORD1>log_icp_queries</KEYWORD1>\r
+                       <KEYWORD1>icp_hit_stale</KEYWORD1>\r
+                       <KEYWORD1>minimum_direct_hops</KEYWORD1>\r
+                       <KEYWORD1>minimum_direct_rtt</KEYWORD1>\r
+                       <KEYWORD1>cachemgr_passwd</KEYWORD1>\r
+                       <KEYWORD1>store_avg_object_size</KEYWORD1>\r
+                       <KEYWORD1>store_objects_per_bucket</KEYWORD1>\r
+                       <KEYWORD1>client_db</KEYWORD1>\r
+                       <KEYWORD1>netdb_low</KEYWORD1>\r
+                       <KEYWORD1>netdb_high</KEYWORD1>\r
+                       <KEYWORD1>netdb_ping_period</KEYWORD1>\r
+                       <KEYWORD1>query_icmp</KEYWORD1>\r
+                       <KEYWORD1>test_reachability</KEYWORD1>\r
+                       <KEYWORD1>buffered_logs</KEYWORD1>\r
+                       <KEYWORD1>reload_into_ims</KEYWORD1>\r
+                       <KEYWORD1>always_direct</KEYWORD1>\r
+                       <KEYWORD1>never_direct</KEYWORD1>\r
+                       <KEYWORD1>header_access</KEYWORD1>\r
+                       <KEYWORD1>header_replace</KEYWORD1>\r
+                       <KEYWORD1>icon_directory</KEYWORD1>\r
+                       <KEYWORD1>error_directory</KEYWORD1>\r
+                       <KEYWORD1>maximum_single_addr_tries</KEYWORD1>\r
+                       <KEYWORD1>snmp_port</KEYWORD1>\r
+                       <KEYWORD1>snmp_access</KEYWORD1>\r
+                       <KEYWORD1>snmp_incoming_address</KEYWORD1>\r
+                       <KEYWORD1>snmp_outgoing_address</KEYWORD1>\r
+                       <KEYWORD1>as_whois_server</KEYWORD1>\r
+                       <KEYWORD1>wccp_router</KEYWORD1>\r
+                       <KEYWORD1>wccp_version</KEYWORD1>\r
+                       <KEYWORD1>wccp_incoming_address</KEYWORD1>\r
+                       <KEYWORD1>wccp_outgoing_address</KEYWORD1>\r
+                       <KEYWORD1>delay_pools</KEYWORD1>\r
+                       <KEYWORD1>delay_class</KEYWORD1>\r
+                       <KEYWORD1>delay_access</KEYWORD1>\r
+                       <KEYWORD1>delay_parameters</KEYWORD1>\r
+                       <KEYWORD1>delay_initial_bucket_level</KEYWORD1>\r
+                       <KEYWORD1>incoming_icp_average</KEYWORD1>\r
+                       <KEYWORD1>incoming_http_average</KEYWORD1>\r
+                       <KEYWORD1>incoming_dns_average</KEYWORD1>\r
+                       <KEYWORD1>min_icp_poll_cnt</KEYWORD1>\r
+                       <KEYWORD1>min_dns_poll_cnt</KEYWORD1>\r
+                       <KEYWORD1>min_http_poll_cnt</KEYWORD1>\r
+                       <KEYWORD1>max_open_disk_fds</KEYWORD1>\r
+                       <KEYWORD1>offline_mode</KEYWORD1>\r
+                       <KEYWORD1>uri_whitespace</KEYWORD1>\r
+                       <KEYWORD1>broken_posts</KEYWORD1>\r
+                       <KEYWORD1>mcast_miss_addr</KEYWORD1>\r
+                       <KEYWORD1>mcast_miss_ttl</KEYWORD1>\r
+                       <KEYWORD1>mcast_miss_port</KEYWORD1>\r
+                       <KEYWORD1>mcast_miss_encode_key</KEYWORD1>\r
+                       <KEYWORD1>nonhierarchical_direct</KEYWORD1>\r
+                       <KEYWORD1>prefer_direct</KEYWORD1>\r
+                       <KEYWORD1>strip_query_terms</KEYWORD1>\r
+                       <KEYWORD1>coredump_dir</KEYWORD1>\r
+                       <KEYWORD1>redirector_bypass</KEYWORD1>\r
+                       <KEYWORD1>ignore_unknown_nameservers</KEYWORD1>\r
+                       <KEYWORD1>digest_generation</KEYWORD1>\r
+                       <KEYWORD1>digest_bits_per_entry</KEYWORD1>\r
+                       <KEYWORD1>digest_rebuild_period</KEYWORD1>\r
+                       <KEYWORD1>digest_rewrite_period</KEYWORD1>\r
+                       <KEYWORD1>digest_swapout_chunk_size</KEYWORD1>\r
+                       <KEYWORD1>digest_rebuild_chunk_percentage</KEYWORD1>\r
+                       <KEYWORD1>chroot</KEYWORD1>\r
+                       <KEYWORD1>client_persistent_connections</KEYWORD1>\r
+                       <KEYWORD1>server_persistent_connections</KEYWORD1>\r
+                       <KEYWORD1>pipeline_prefetch</KEYWORD1>\r
+                       <KEYWORD1>extension_methods</KEYWORD1>\r
+                       <KEYWORD1>request_entities</KEYWORD1>\r
+                       <KEYWORD1>high_response_time_warning</KEYWORD1>\r
+                       <KEYWORD1>high_page_fault_warning</KEYWORD1>\r
+                       <KEYWORD1>high_memory_warning</KEYWORD1>\r
+                       <KEYWORD1>store_dir_select_algorithm</KEYWORD1>\r
+                       <KEYWORD1>forward_log</KEYWORD1>\r
+                       <KEYWORD1>ie_refresh</KEYWORD1>\r
+                       <KEYWORD1>vary_ignore_expire</KEYWORD1>\r
+                       <KEYWORD1>sleep_after_fork</KEYWORD1>\r
+                       \r
+                       <KEYWORD2>dst</KEYWORD2>\r
+                       <KEYWORD2>src</KEYWORD2>\r
+                       <KEYWORD2>method</KEYWORD2>\r
+                       <KEYWORD2>port</KEYWORD2>\r
+                       <KEYWORD2>proxy_auth</KEYWORD2>\r
+                       \r
+                       <LITERAL2>on</LITERAL2>\r
+                       <LITERAL2>off</LITERAL2>\r
+                       <LITERAL2>allow</LITERAL2>\r
+                       <LITERAL2>deny</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/ssharp.xml b/basis/xmode/modes/ssharp.xml
new file mode 100644 (file)
index 0000000..019a6fd
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- S# mode, by Barry Carr (Ixian Software Components Ltd)\r
+     based on Marcio Marchini mqm@magma.ca Smalltalk mode -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+        <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="commentStart" VALUE="&quot;" />\r
+               <PROPERTY NAME="commentEnd" VALUE="&quot;" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
+\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
+               <!-- Standard literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+        <EOL_SPAN TYPE="COMMENT3">#</EOL_SPAN>\r
+        <EOL_SPAN TYPE="COMMENT2">""</EOL_SPAN>\r
+\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+        <SPAN TYPE="LITERAL2" >\r
+            <BEGIN>«</BEGIN>\r
+            <END>»</END>\r
+        </SPAN>\r
+\r
+        <SEQ TYPE="OPERATOR">(</SEQ>\r
+        <SEQ TYPE="OPERATOR">)</SEQ>\r
+        <SEQ TYPE="OPERATOR">{</SEQ>\r
+        <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">:=</SEQ>\r
+               <SEQ TYPE="OPERATOR">_</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">==</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">//</SEQ>\r
+        <SEQ TYPE="OPERATOR">\\</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">**</SEQ>\r
+        <SEQ TYPE="OPERATOR">#</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">^^</SEQ>\r
+        <SEQ TYPE="OPERATOR">;</SEQ>\r
+        <SEQ TYPE="OPERATOR">.</SEQ>\r
+        <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">||</SEQ>\r
+        <SEQ TYPE="OPERATOR">^|</SEQ>\r
+        <SEQ TYPE="OPERATOR">!=</SEQ>\r
+        <SEQ TYPE="OPERATOR">~=</SEQ>\r
+        <SEQ TYPE="OPERATOR">!==</SEQ>\r
+        <SEQ TYPE="OPERATOR">~~</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="KEYWORD3" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR">#</MARK_FOLLOWING>\r
+               <MARK_FOLLOWING TYPE="LITERAL1" MATCH_TYPE="OPERATOR">$</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Constants -->\r
+            <KEYWORD1>disable</KEYWORD1>\r
+            <KEYWORD1>enable</KEYWORD1>\r
+            <KEYWORD1>no</KEYWORD1>\r
+            <KEYWORD1>off</KEYWORD1>\r
+            <KEYWORD1>on</KEYWORD1>\r
+                       <KEYWORD1>yes</KEYWORD1>\r
+\r
+                       <!-- Reserved identifiers -->\r
+                       <KEYWORD2>self</KEYWORD2>\r
+                       <KEYWORD2>true</KEYWORD2>\r
+            <KEYWORD2>false</KEYWORD2>\r
+            <KEYWORD2>nil</KEYWORD2>\r
+            <KEYWORD2>super</KEYWORD2>\r
+            <KEYWORD2>thread</KEYWORD2>\r
+            <KEYWORD2>sender</KEYWORD2>\r
+            <KEYWORD2>senderMethod</KEYWORD2>\r
+            <KEYWORD2>blockSelf</KEYWORD2>\r
+            <KEYWORD2>scheduler</KEYWORD2>\r
+            <KEYWORD2>¼</KEYWORD2>\r
+\r
+                       <!-- not really keywords, but a different color works well-->\r
+                       <KEYWORD4>isNil</KEYWORD4>\r
+                       <KEYWORD4>not</KEYWORD4>\r
+\r
+                       <!-- not really -->\r
+                       <LITERAL2>Smalltalk</LITERAL2>\r
+                       <LITERAL2>Transcript</LITERAL2>\r
+\r
+                       <!-- base classes -->\r
+                       <LITERAL2>Date</LITERAL2>\r
+                       <LITERAL2>Time</LITERAL2>\r
+                       <LITERAL2>Boolean</LITERAL2>\r
+                       <LITERAL2>True</LITERAL2>\r
+                       <LITERAL2>False</LITERAL2>\r
+                       <LITERAL2>Character</LITERAL2>\r
+                       <LITERAL2>String</LITERAL2>\r
+                       <LITERAL2>Array</LITERAL2>\r
+                       <LITERAL2>Symbol</LITERAL2>\r
+                       <LITERAL2>Integer</LITERAL2>\r
+                       <LITERAL2>Object</LITERAL2>\r
+\r
+            <LITERAL3>Application</LITERAL3>\r
+            <LITERAL3>Category</LITERAL3>\r
+            <LITERAL3>Class</LITERAL3>\r
+            <LITERAL3>Compiler</LITERAL3>\r
+            <LITERAL3>EntryPoint</LITERAL3>\r
+            <LITERAL3>Enum</LITERAL3>\r
+            <LITERAL3>Eval</LITERAL3>\r
+            <LITERAL3>Exception</LITERAL3>\r
+            <LITERAL3>Function</LITERAL3>\r
+            <LITERAL3>IconResource</LITERAL3>\r
+            <LITERAL3>Interface</LITERAL3>\r
+            <LITERAL3>Literal</LITERAL3>\r
+            <LITERAL3>Namespace</LITERAL3>\r
+            <LITERAL3>Method</LITERAL3>\r
+            <LITERAL3>Mixin</LITERAL3>\r
+            <LITERAL3>Module</LITERAL3>\r
+            <LITERAL3>Project</LITERAL3>\r
+            <LITERAL3>Reference</LITERAL3>\r
+            <LITERAL3>Require</LITERAL3>\r
+            <LITERAL3>Resource</LITERAL3>\r
+            <LITERAL3>Signal</LITERAL3>\r
+            <LITERAL3>Struct</LITERAL3>\r
+            <LITERAL3>Subsystem</LITERAL3>\r
+            <LITERAL3>Specifications</LITERAL3>\r
+            <LITERAL3>Warning</LITERAL3>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/svn-commit.xml b/basis/xmode/modes/svn-commit.xml
new file mode 100644 (file)
index 0000000..5cd415c
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="svn-commit"                FILE="svn-commit.xml"/>\r
+-->\r
+\r
+<MODE>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
+               <SEQ TYPE="COMMENT1" \r
+                       DELEGATE="CHANGED" \r
+                       AT_LINE_START="TRUE"\r
+               >--This line, and those below, will be ignored--</SEQ>\r
+       </RULES>\r
+       <RULES SET="CHANGED">\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">A</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">D</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">M</EOL_SPAN>\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">_</EOL_SPAN>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/swig.xml b/basis/xmode/modes/swig.xml
new file mode 100644 (file)
index 0000000..ac5a23a
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <SPAN TYPE="LITERAL3">\r
+                       <BEGIN>%{</BEGIN>\r
+                       <END>%}</END>\r
+               </SPAN>\r
+\r
+               <!-- swig directive -->\r
+               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="KEYWORD4">%</MARK_FOLLOWING>\r
+\r
+               <IMPORT DELEGATE="c::MAIN"/>\r
+    </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/tcl.xml b/basis/xmode/modes/tcl.xml
new file mode 100644 (file)
index 0000000..4927f13
--- /dev/null
@@ -0,0 +1,682 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Tcl mode by Michael Jacobson.\r
+     cplusplus and pascal modes used as reference.\r
+    2006/10/20 Jean-Francois Larvoire: \r
+     - Fixed comments detection: Only # at the beginning of Tcl commands are comments!\r
+     - Quoted strings can span multiple lines.\r
+     - Added recursive in-string substituted command and variable analysis.\r
+     - Added numerous missing tcl keywords and variables up to version 8.4.14.\r
+     - Removed $ on global variable keywords, as they're often used with $::.\r
+     - Added Expect keywords, as KEYWORD2. (send was already in tk as KEYWORD2)\r
+     - Avoid colouring substituted variables that are homonyms of a keyword.\r
+     - Highlight hexadecimal numbers too.\r
+    2006/10/23 Jean-Francois Larvoire:\r
+     - Strings and blocks only begin at word start.\r
+     - Updated {# comment detection to manage the whole {} block. This catches\r
+       all { and }, and makes it unnecessary to define them as KEYWORDs.\r
+     - Bug fix: Do not delegate content evaluation for ${} scalar variables.\r
+    Limitations:\r
+     - Unbalanced quotes or brackets within braces, such as in regular expressions,\r
+       will confuse the analysis. Workaround: If possible, use a \ to escape the\r
+       unbalanced character. Else add a ;# comment with a closing " or ].\r
+    Known bugs:\r
+     - Continuation line detection does not work. Same bug as espace chars below.\r
+     - ; highlighting as an OPERATOR does not work.\r
+    Known bugs (Were there before, and I failed to fix them):\r
+     - \c escape colouring does not work for escapes embedded in words.\r
+           I attemted numerous workarounds using spans and regexps, but they\r
+          all seem to fail to detect anything beginning with a \. And using\r
+          NO_ESCAPE="TRUE" does not help.\r
+     - {} within quoted strings should not affect indentation. -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
+       </PROPS>\r
+\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" \r
+               DIGIT_RE="0x\p{XDigit}+|\d+">\r
+\r
+               <!-- Continuation line. Processed before anything else by Tcl. (Does not work)-->\r
+               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>\r
+\r
+               <!-- Comments after a ; command separator -->\r
+               <!-- Note: The ; isn't bolded as other operators. Why?-->\r
+               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR=";" DELEGATE="TCL_COMMENT">;\s*(?=#)</EOL_SPAN_REGEXP>\r
+               <!-- Comments at the { opening of a block -->\r
+               <SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="{" DELEGATE="TCL_COMMENT">\r
+                       <BEGIN>\{\s*(?=#)</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+               <!-- Comments on a line of their own. -->\r
+               <EOL_SPAN TYPE="COMMENT1" AT_WHITESPACE_END="TRUE">#</EOL_SPAN>\r
+\r
+               <!-- Quoted strings -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="TCL_STRING">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- Avoid colouring substituted variables that are homonyms of a keyword -->\r
+               <!-- Indexed array variable. Delegate to MAIN, as the index string is evaluated by Tcl.-->\r
+               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
+                       <BEGIN>\$(\w|::)+\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+               <!-- General scalar variable. Do not delegate, as the ${} block content is not evalutated by Tcl. -->\r
+               <SPAN TYPE="NULL">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <!-- Plain scalar variable. -->\r
+               <SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>\r
+\r
+               <!-- Sub-block -->\r
+               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="MAIN">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <!-- Sub-commands to be substituted -->\r
+               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <!-- Escaped characters -->\r
+               <SEQ TYPE="KEYWORD3">\a</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\b</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\f</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\n</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\r</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\t</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\v</SEQ>\r
+\r
+               <!-- Tcl syntax operators. -->\r
+               <!-- Note that "{}[]" are already caught above.-->\r
+               <!-- Delegate to main, as a new command begins after the ; -->\r
+               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">;</SEQ>\r
+               <SEQ TYPE="NULL">::</SEQ>\r
+\r
+               <!-- Math expression operators -->\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Tcl keywords-->\r
+                       <KEYWORD1>append</KEYWORD1>\r
+                       <KEYWORD1>array</KEYWORD1>\r
+                       <KEYWORD1>concat</KEYWORD1>\r
+                       <KEYWORD1>console</KEYWORD1>\r
+                       <KEYWORD1>eval</KEYWORD1>\r
+                       <KEYWORD1>expr</KEYWORD1>\r
+                       <KEYWORD1>format</KEYWORD1>\r
+                       <KEYWORD1>global</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+                       <KEYWORD1>trace</KEYWORD1>\r
+                       <KEYWORD1>unset</KEYWORD1>\r
+                       <KEYWORD1>upvar</KEYWORD1>\r
+                       <KEYWORD1>join</KEYWORD1>\r
+                       <KEYWORD1>lappend</KEYWORD1>\r
+                       <KEYWORD1>lindex</KEYWORD1>\r
+                       <KEYWORD1>linsert</KEYWORD1>\r
+                       <KEYWORD1>list</KEYWORD1>\r
+                       <KEYWORD1>llength</KEYWORD1>\r
+                       <KEYWORD1>lrange</KEYWORD1>\r
+                       <KEYWORD1>lreplace</KEYWORD1>\r
+                       <KEYWORD1>lsearch</KEYWORD1>\r
+                       <KEYWORD1>lsort</KEYWORD1>\r
+                       <KEYWORD1>split</KEYWORD1>\r
+                       <KEYWORD1>scan</KEYWORD1>\r
+                       <KEYWORD1>string</KEYWORD1>\r
+                       <KEYWORD1>regexp</KEYWORD1>\r
+                       <KEYWORD1>regsub</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>elseif</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>foreach</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>proc</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>source</KEYWORD1>\r
+                       <KEYWORD1>unknown</KEYWORD1>\r
+                       <KEYWORD1>uplevel</KEYWORD1>\r
+                       <KEYWORD1>cd</KEYWORD1>\r
+                       <KEYWORD1>close</KEYWORD1>\r
+                       <KEYWORD1>eof</KEYWORD1>\r
+                       <KEYWORD1>file</KEYWORD1>\r
+                       <KEYWORD1>flush</KEYWORD1>\r
+                       <KEYWORD1>gets</KEYWORD1>\r
+                       <KEYWORD1>glob</KEYWORD1>\r
+                       <KEYWORD1>open</KEYWORD1>\r
+                       <KEYWORD1>read</KEYWORD1>\r
+                       <KEYWORD1>puts</KEYWORD1>\r
+                       <KEYWORD1>pwd</KEYWORD1>\r
+                       <KEYWORD1>seek</KEYWORD1>\r
+                       <KEYWORD1>tell</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>error</KEYWORD1>\r
+                       <KEYWORD1>exec</KEYWORD1>\r
+                       <KEYWORD1>pid</KEYWORD1>\r
+                       <KEYWORD1>after</KEYWORD1>\r
+                       <KEYWORD1>time</KEYWORD1>\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>history</KEYWORD1>\r
+                       <KEYWORD1>rename</KEYWORD1>\r
+                       <KEYWORD1>info</KEYWORD1>\r
+                       <!-- expr keywords-->\r
+                       <KEYWORD1>ceil</KEYWORD1>\r
+                       <KEYWORD1>floor</KEYWORD1>\r
+                       <KEYWORD1>round</KEYWORD1>\r
+                       <KEYWORD1>incr</KEYWORD1>\r
+                       <KEYWORD1>abs</KEYWORD1>\r
+                       <KEYWORD1>acos</KEYWORD1>\r
+                       <KEYWORD1>cos</KEYWORD1>\r
+                       <KEYWORD1>cosh</KEYWORD1>\r
+                       <KEYWORD1>asin</KEYWORD1>\r
+                       <KEYWORD1>sin</KEYWORD1>\r
+                       <KEYWORD1>sinh</KEYWORD1>\r
+                       <KEYWORD1>atan</KEYWORD1>\r
+                       <KEYWORD1>atan2</KEYWORD1>\r
+                       <KEYWORD1>tan</KEYWORD1>\r
+                       <KEYWORD1>tanh</KEYWORD1>\r
+                       <KEYWORD1>log</KEYWORD1>\r
+                       <KEYWORD1>log10</KEYWORD1>\r
+                       <KEYWORD1>fmod</KEYWORD1>\r
+                       <KEYWORD1>pow</KEYWORD1>\r
+                       <KEYWORD1>hypot</KEYWORD1>\r
+                       <KEYWORD1>sqrt</KEYWORD1>\r
+                       <KEYWORD1>double</KEYWORD1>\r
+                       <KEYWORD1>int</KEYWORD1>\r
+                       <!-- New Tcl keywords up to tcl 8.4.14 -->\r
+                       <KEYWORD1>bgerror</KEYWORD1>\r
+                       <KEYWORD1>binary</KEYWORD1>\r
+                       <KEYWORD1>clock</KEYWORD1>\r
+                       <KEYWORD1>dde</KEYWORD1>\r
+                       <KEYWORD1>encoding</KEYWORD1>\r
+                       <KEYWORD1>fblocked</KEYWORD1>\r
+                       <KEYWORD1>fconfigure</KEYWORD1>\r
+                       <KEYWORD1>fcopy</KEYWORD1>\r
+                       <KEYWORD1>fileevent</KEYWORD1>\r
+                       <KEYWORD1>filename</KEYWORD1>\r
+                       <KEYWORD1>http</KEYWORD1>\r
+                       <KEYWORD1>interp</KEYWORD1>\r
+                       <KEYWORD1>load</KEYWORD1>\r
+                       <KEYWORD1>lset</KEYWORD1>\r
+                       <KEYWORD1>memory</KEYWORD1>\r
+                       <KEYWORD1>msgcat</KEYWORD1>\r
+                       <KEYWORD1>namespace</KEYWORD1>\r
+                       <KEYWORD1>package</KEYWORD1>\r
+                       <KEYWORD1>pkg::create</KEYWORD1>\r
+                       <KEYWORD1>pkg_mkIndex</KEYWORD1>\r
+                       <KEYWORD1>registry</KEYWORD1>\r
+                       <KEYWORD1>resource</KEYWORD1>\r
+                       <KEYWORD1>socket</KEYWORD1>\r
+                       <KEYWORD1>subst</KEYWORD1>\r
+                       <KEYWORD1>update</KEYWORD1>\r
+                       <KEYWORD1>variable</KEYWORD1>\r
+                       <KEYWORD1>vwait</KEYWORD1>\r
+                       <!-- Standard library of Tcl interpretor procedures -->\r
+                       <KEYWORD1>auto_execok</KEYWORD1>\r
+                       <KEYWORD1>auto_import</KEYWORD1>\r
+                       <KEYWORD1>auto_load</KEYWORD1>\r
+                       <KEYWORD1>auto_mkindex</KEYWORD1>\r
+                       <KEYWORD1>auto_mkindex_old</KEYWORD1>\r
+                       <KEYWORD1>auto_qualify</KEYWORD1>\r
+                       <KEYWORD1>auto_reset</KEYWORD1>\r
+                       <KEYWORD1>parray</KEYWORD1>\r
+                       <KEYWORD1>tcl_endOfWord</KEYWORD1>\r
+                       <KEYWORD1>tcl_findLibrary</KEYWORD1>\r
+                       <KEYWORD1>tcl_startOfNextWord</KEYWORD1>\r
+                       <KEYWORD1>tcl_startOfPreviousWord</KEYWORD1>\r
+                       <KEYWORD1>tcl_wordBreakAfter</KEYWORD1>\r
+                       <KEYWORD1>tcl_wordBreakBefore</KEYWORD1>\r
+\r
+                       <!-- Tk keywords -->\r
+                       <KEYWORD2>bind</KEYWORD2>\r
+                       <KEYWORD2>button</KEYWORD2>\r
+                       <KEYWORD2>canvas</KEYWORD2>\r
+                       <KEYWORD2>checkbutton</KEYWORD2>\r
+                       <KEYWORD2>destroy</KEYWORD2>\r
+                       <KEYWORD2>entry</KEYWORD2>\r
+                       <KEYWORD2>focus</KEYWORD2>\r
+                       <KEYWORD2>frame</KEYWORD2>\r
+                       <KEYWORD2>grab</KEYWORD2>\r
+                       <KEYWORD2>image</KEYWORD2>\r
+                       <KEYWORD2>label</KEYWORD2>\r
+                       <KEYWORD2>listbox</KEYWORD2>\r
+                       <KEYWORD2>lower</KEYWORD2>\r
+                       <KEYWORD2>menu</KEYWORD2>\r
+                       <KEYWORD2>menubutton</KEYWORD2>\r
+                       <KEYWORD2>message</KEYWORD2>\r
+                       <KEYWORD2>option</KEYWORD2>\r
+                       <KEYWORD2>pack</KEYWORD2>\r
+                       <KEYWORD2>placer</KEYWORD2>\r
+                       <KEYWORD2>radiobutton</KEYWORD2>\r
+                       <KEYWORD2>raise</KEYWORD2>\r
+                       <KEYWORD2>scale</KEYWORD2>\r
+                       <KEYWORD2>scrollbar</KEYWORD2>\r
+                       <KEYWORD2>selection</KEYWORD2>\r
+                       <KEYWORD2>send</KEYWORD2>\r
+                       <KEYWORD2>text</KEYWORD2>\r
+                       <KEYWORD2>tk</KEYWORD2>\r
+                       <KEYWORD2>tkerror</KEYWORD2>\r
+                       <KEYWORD2>tkwait</KEYWORD2>\r
+                       <KEYWORD2>toplevel</KEYWORD2>\r
+                       <KEYWORD2>update</KEYWORD2>\r
+                       <KEYWORD2>winfo</KEYWORD2>\r
+                       <KEYWORD2>wm</KEYWORD2>\r
+\r
+                       <!-- Expect keywords. Using KEYWORD2 as send is already one -->\r
+                       <!-- KEYWORD2 close -->\r
+                       <KEYWORD2>debug</KEYWORD2>\r
+                       <KEYWORD2>disconnect</KEYWORD2>\r
+                       <!-- KEYWORD2 exit -->\r
+                       <KEYWORD2>exp_continue</KEYWORD2>\r
+                       <KEYWORD2>exp_internal</KEYWORD2>\r
+                       <KEYWORD2>exp_open</KEYWORD2>\r
+                       <KEYWORD2>exp_pid</KEYWORD2>\r
+                       <KEYWORD2>exp_version</KEYWORD2>\r
+                       <KEYWORD2>expect</KEYWORD2>\r
+                       <KEYWORD2>expect_after</KEYWORD2>\r
+                       <KEYWORD2>expect_background</KEYWORD2>\r
+                       <KEYWORD2>expect_before</KEYWORD2>\r
+                       <KEYWORD2>expect_tty</KEYWORD2>\r
+                       <KEYWORD2>expect_user</KEYWORD2>\r
+                       <KEYWORD2>fork</KEYWORD2>\r
+                       <KEYWORD2>inter_return</KEYWORD2>\r
+                       <KEYWORD2>interact</KEYWORD2>\r
+                       <KEYWORD2>interpreter</KEYWORD2>\r
+                       <KEYWORD2>log_file</KEYWORD2>\r
+                       <KEYWORD2>log_user</KEYWORD2>\r
+                       <KEYWORD2>match_max</KEYWORD2>\r
+                       <KEYWORD2>overlay</KEYWORD2>\r
+                       <KEYWORD2>parity</KEYWORD2>\r
+                       <KEYWORD2>promptl</KEYWORD2>\r
+                       <KEYWORD2>prompt2</KEYWORD2>\r
+                       <KEYWORD2>remove_nulls</KEYWORD2>\r
+                       <!-- KEYWORD2 send -->\r
+                       <KEYWORD2>send_error </KEYWORD2>\r
+                       <KEYWORD2>send_log</KEYWORD2>\r
+                       <KEYWORD2>send_tty</KEYWORD2>\r
+                       <KEYWORD2>send_user</KEYWORD2>\r
+                       <KEYWORD2>sleep</KEYWORD2>\r
+                       <KEYWORD2>spawn</KEYWORD2>\r
+                       <KEYWORD2>strace</KEYWORD2>\r
+                       <KEYWORD2>stty</KEYWORD2>\r
+                       <KEYWORD2>system</KEYWORD2>\r
+                       <KEYWORD2>timestamp</KEYWORD2>\r
+                       <KEYWORD2>trap</KEYWORD2>\r
+                       <KEYWORD2>wait</KEYWORD2>\r
+                       <!-- Arguments to expect commands-->\r
+                       <KEYWORD3>full_buffer</KEYWORD3>\r
+                       <KEYWORD3>timeout</KEYWORD3>\r
+                       <!-- KEYWORD3 eof-->\r
+\r
+                       <!-- Global variables-->\r
+                       <KEYWORD3>argv0</KEYWORD3>\r
+                       <KEYWORD3>argv</KEYWORD3>\r
+                       <KEYWORD3>argc</KEYWORD3>\r
+                       <KEYWORD3>tk_version</KEYWORD3>\r
+                       <KEYWORD3>tk_library</KEYWORD3>\r
+                       <KEYWORD3>tk_strictMotif</KEYWORD3>\r
+                       <!-- New global variables up to tcl 8.4.14 -->\r
+                       <KEYWORD3>env</KEYWORD3>\r
+                       <KEYWORD3>errorCode</KEYWORD3>\r
+                       <KEYWORD3>errorInfo</KEYWORD3>\r
+                       <KEYWORD3>geometry</KEYWORD3>\r
+                       <KEYWORD3>tcl_library</KEYWORD3>\r
+                       <KEYWORD3>tcl_patchLevel</KEYWORD3>\r
+                       <KEYWORD3>tcl_pkgPath</KEYWORD3>\r
+                       <KEYWORD3>tcl_platform</KEYWORD3>\r
+                       <KEYWORD3>tcl_precision</KEYWORD3>\r
+                       <KEYWORD3>tcl_rcFileName</KEYWORD3>\r
+                       <KEYWORD3>tcl_rcRsrcName</KEYWORD3>\r
+                       <KEYWORD3>tcl_traceCompile</KEYWORD3>\r
+                       <KEYWORD3>tcl_traceExec</KEYWORD3>\r
+                       <KEYWORD3>tcl_wordchars</KEYWORD3>\r
+                       <KEYWORD3>tcl_nonwordchars</KEYWORD3>\r
+                       <KEYWORD3>tcl_version</KEYWORD3>\r
+                       <KEYWORD3>tcl_interactive</KEYWORD3>\r
+\r
+                       <!-- Common arguments to tcl and Tk keywords -->\r
+                       <KEYWORD3>exact</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+                       <KEYWORD3>indices</KEYWORD3>\r
+                       <KEYWORD3>nocase</KEYWORD3>\r
+                       <KEYWORD3>nocomplain</KEYWORD3>\r
+                       <KEYWORD3>nonewline</KEYWORD3>\r
+                       <KEYWORD3>code</KEYWORD3>\r
+                       <KEYWORD3>errorinfo</KEYWORD3>\r
+                       <KEYWORD3>errorcode</KEYWORD3>\r
+                       <KEYWORD3>atime</KEYWORD3>\r
+                       <KEYWORD3>anymore</KEYWORD3>\r
+                       <KEYWORD3>args</KEYWORD3>\r
+                       <KEYWORD3>body</KEYWORD3>\r
+                       <KEYWORD3>compare</KEYWORD3>\r
+                       <KEYWORD3>cmdcount</KEYWORD3>\r
+                       <KEYWORD3>commands</KEYWORD3>\r
+                       <KEYWORD3>ctime</KEYWORD3>\r
+                       <KEYWORD3>current</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>dev</KEYWORD3>\r
+                       <KEYWORD3>dirname</KEYWORD3>\r
+                       <KEYWORD3>donesearch</KEYWORD3>\r
+                       <KEYWORD3>errorinfo</KEYWORD3>\r
+                       <KEYWORD3>executable</KEYWORD3>\r
+                       <KEYWORD3>extension</KEYWORD3>\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>globals</KEYWORD3>\r
+                       <KEYWORD3>gid</KEYWORD3>\r
+                       <KEYWORD3>index</KEYWORD3>\r
+                       <KEYWORD3>ino</KEYWORD3>\r
+                       <KEYWORD3>isdirectory</KEYWORD3>\r
+                       <KEYWORD3>isfile</KEYWORD3>\r
+                       <KEYWORD3>keep</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>level</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>library</KEYWORD3>\r
+                       <KEYWORD3>locals</KEYWORD3>\r
+                       <KEYWORD3>lstat</KEYWORD3>\r
+                       <KEYWORD3>match</KEYWORD3>\r
+                       <KEYWORD3>mode</KEYWORD3>\r
+                       <KEYWORD3>mtime</KEYWORD3>\r
+                       <KEYWORD3>names</KEYWORD3>\r
+                       <KEYWORD3>nextelement</KEYWORD3>\r
+                       <KEYWORD3>nextid</KEYWORD3>\r
+                       <KEYWORD3>nlink</KEYWORD3>\r
+                       <KEYWORD3>none</KEYWORD3>\r
+                       <KEYWORD3>procs</KEYWORD3>\r
+                       <KEYWORD3>owned</KEYWORD3>\r
+                       <KEYWORD3>range</KEYWORD3>\r
+                       <KEYWORD3>readable</KEYWORD3>\r
+                       <KEYWORD3>readlink</KEYWORD3>\r
+                       <KEYWORD3>redo</KEYWORD3>\r
+                       <KEYWORD3>release</KEYWORD3>\r
+                       <KEYWORD3>rootname</KEYWORD3>\r
+                       <KEYWORD3>script</KEYWORD3>\r
+                       <KEYWORD3>show</KEYWORD3>\r
+                       <KEYWORD3>size</KEYWORD3>\r
+                       <KEYWORD3>startsearch</KEYWORD3>\r
+                       <KEYWORD3>stat</KEYWORD3>\r
+                       <KEYWORD3>status</KEYWORD3>\r
+                       <KEYWORD3>substitute</KEYWORD3>\r
+                       <KEYWORD3>tail</KEYWORD3>\r
+                       <KEYWORD3>tclversion</KEYWORD3>\r
+                       <KEYWORD3>tolower</KEYWORD3>\r
+                       <KEYWORD3>toupper</KEYWORD3>\r
+                       <KEYWORD3>trim</KEYWORD3>\r
+                       <KEYWORD3>trimleft</KEYWORD3>\r
+                       <KEYWORD3>trimright</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>uid</KEYWORD3>\r
+                       <KEYWORD3>variable</KEYWORD3>\r
+                       <KEYWORD3>vars</KEYWORD3>\r
+                       <KEYWORD3>vdelete</KEYWORD3>\r
+                       <KEYWORD3>vinfo</KEYWORD3>\r
+                       <KEYWORD3>visibility</KEYWORD3>\r
+                       <KEYWORD3>window</KEYWORD3>\r
+                       <KEYWORD3>writable</KEYWORD3>\r
+                       <KEYWORD3>accelerator</KEYWORD3>\r
+                       <KEYWORD3>activeforeground</KEYWORD3>\r
+                       <KEYWORD3>activebackground</KEYWORD3>\r
+                       <KEYWORD3>anchor</KEYWORD3>\r
+                       <KEYWORD3>aspect</KEYWORD3>\r
+                       <KEYWORD3>background</KEYWORD3>\r
+                       <KEYWORD3>before</KEYWORD3>\r
+                       <KEYWORD3>bg</KEYWORD3>\r
+                       <KEYWORD3>borderwidth</KEYWORD3>\r
+                       <KEYWORD3>bd</KEYWORD3>\r
+                       <KEYWORD3>bitmap</KEYWORD3>\r
+                       <KEYWORD3>command</KEYWORD3>\r
+                       <KEYWORD3>cursor</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+                       <KEYWORD3>expand</KEYWORD3>\r
+                       <KEYWORD3>family</KEYWORD3>\r
+                       <KEYWORD3>fg</KEYWORD3>\r
+                       <KEYWORD3>fill</KEYWORD3>\r
+                       <KEYWORD3>font</KEYWORD3>\r
+                       <KEYWORD3>force</KEYWORD3>\r
+                       <KEYWORD3>foreground</KEYWORD3>\r
+                       <KEYWORD3>from</KEYWORD3>\r
+                       <KEYWORD3>height</KEYWORD3>\r
+                       <KEYWORD3>icon</KEYWORD3>\r
+                       <KEYWORD3>question</KEYWORD3>\r
+                       <KEYWORD3>warning</KEYWORD3>\r
+                       <KEYWORD3>in</KEYWORD3>\r
+                       <KEYWORD3>ipadx</KEYWORD3>\r
+                       <KEYWORD3>ipady</KEYWORD3>\r
+                       <KEYWORD3>justify</KEYWORD3>\r
+                       <KEYWORD3>left</KEYWORD3>\r
+                       <KEYWORD3>center</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>padx</KEYWORD3>\r
+                       <KEYWORD3>pady</KEYWORD3>\r
+                       <KEYWORD3>offvalue</KEYWORD3>\r
+                       <KEYWORD3>onvalue</KEYWORD3>\r
+                       <KEYWORD3>orient</KEYWORD3>\r
+                       <KEYWORD3>horizontal</KEYWORD3>\r
+                       <KEYWORD3>vertical</KEYWORD3>\r
+                       <KEYWORD3>outline</KEYWORD3>\r
+                       <KEYWORD3>oversrike</KEYWORD3>\r
+                       <KEYWORD3>relief</KEYWORD3>\r
+                       <KEYWORD3>raised</KEYWORD3>\r
+                       <KEYWORD3>sunken</KEYWORD3>\r
+                       <KEYWORD3>flat</KEYWORD3>\r
+                       <KEYWORD3>groove</KEYWORD3>\r
+                       <KEYWORD3>ridge</KEYWORD3>\r
+                       <KEYWORD3>solid</KEYWORD3>\r
+                       <KEYWORD3>screen</KEYWORD3>\r
+                       <KEYWORD3>selectbackground</KEYWORD3>\r
+                       <KEYWORD3>selectforeground</KEYWORD3>\r
+                       <KEYWORD3>setgrid</KEYWORD3>\r
+                       <KEYWORD3>side</KEYWORD3>\r
+                       <KEYWORD3>size</KEYWORD3>\r
+                       <KEYWORD3>slant</KEYWORD3>\r
+                       <KEYWORD3>left</KEYWORD3>\r
+                       <KEYWORD3>right</KEYWORD3>\r
+                       <KEYWORD3>top</KEYWORD3>\r
+                       <KEYWORD3>bottom</KEYWORD3>\r
+                       <KEYWORD3>spacing1</KEYWORD3>\r
+                       <KEYWORD3>spacing2</KEYWORD3>\r
+                       <KEYWORD3>spacing3</KEYWORD3>\r
+                       <KEYWORD3>state</KEYWORD3>\r
+                       <KEYWORD3>stipple</KEYWORD3>\r
+                       <KEYWORD3>takefocus</KEYWORD3>\r
+                       <KEYWORD3>tearoff</KEYWORD3>\r
+                       <KEYWORD3>textvariable</KEYWORD3>\r
+                       <KEYWORD3>title</KEYWORD3>\r
+                       <KEYWORD3>to</KEYWORD3>\r
+                       <KEYWORD3>type</KEYWORD3>\r
+                       <KEYWORD3>abortretryignore</KEYWORD3>\r
+                       <KEYWORD3>ok</KEYWORD3>\r
+                       <KEYWORD3>okcancel</KEYWORD3>\r
+                       <KEYWORD3>retrycancel</KEYWORD3>\r
+                       <KEYWORD3>yesno</KEYWORD3>\r
+                       <KEYWORD3>yesnocancel</KEYWORD3>\r
+                       <KEYWORD3>underline</KEYWORD3>\r
+                       <KEYWORD3>value</KEYWORD3>\r
+                       <KEYWORD3>variable</KEYWORD3>\r
+                       <KEYWORD3>weight</KEYWORD3>\r
+                       <KEYWORD3>width</KEYWORD3>\r
+                       <KEYWORD3>xscrollcommand</KEYWORD3>\r
+                       <KEYWORD3>yscrollcommand</KEYWORD3>\r
+                       <KEYWORD3>active</KEYWORD3>\r
+                       <KEYWORD3>add</KEYWORD3>\r
+                       <KEYWORD3>arc</KEYWORD3>\r
+                       <KEYWORD3>aspect</KEYWORD3>\r
+                       <KEYWORD3>bitmap</KEYWORD3>\r
+                       <KEYWORD3>cascade</KEYWORD3>\r
+                       <KEYWORD3>cget</KEYWORD3>\r
+                       <KEYWORD3>children</KEYWORD3>\r
+                       <KEYWORD3>class</KEYWORD3>\r
+                       <KEYWORD3>clear</KEYWORD3>\r
+                       <KEYWORD3>client</KEYWORD3>\r
+                       <KEYWORD3>create</KEYWORD3>\r
+                       <KEYWORD3>colormodel</KEYWORD3>\r
+                       <KEYWORD3>command</KEYWORD3>\r
+                       <KEYWORD3>configure</KEYWORD3>\r
+                       <KEYWORD3>deiconify</KEYWORD3>\r
+                       <KEYWORD3>delete</KEYWORD3>\r
+                       <KEYWORD3>disabled</KEYWORD3>\r
+                       <KEYWORD3>exists</KEYWORD3>\r
+                       <KEYWORD3>focusmodel</KEYWORD3>\r
+                       <KEYWORD3>flash</KEYWORD3>\r
+                       <KEYWORD3>forget</KEYWORD3>\r
+                       <KEYWORD3>geometry</KEYWORD3>\r
+                       <KEYWORD3>get</KEYWORD3>\r
+                       <KEYWORD3>group</KEYWORD3>\r
+                       <KEYWORD3>handle</KEYWORD3>\r
+                       <KEYWORD3>iconbitmap</KEYWORD3>\r
+                       <KEYWORD3>iconify</KEYWORD3>\r
+                       <KEYWORD3>iconmask</KEYWORD3>\r
+                       <KEYWORD3>iconname</KEYWORD3>\r
+                       <KEYWORD3>iconposition</KEYWORD3>\r
+                       <KEYWORD3>iconwindow</KEYWORD3>\r
+                       <KEYWORD3>idletasks</KEYWORD3>\r
+                       <KEYWORD3>insert</KEYWORD3>\r
+                       <KEYWORD3>interps</KEYWORD3>\r
+                       <KEYWORD3>itemconfigure</KEYWORD3>\r
+                       <KEYWORD3>invoke</KEYWORD3>\r
+                       <KEYWORD3>line</KEYWORD3>\r
+                       <KEYWORD3>mark</KEYWORD3>\r
+                       <KEYWORD3>maxsize</KEYWORD3>\r
+                       <KEYWORD3>minsize</KEYWORD3>\r
+                       <KEYWORD3>move</KEYWORD3>\r
+                       <KEYWORD3>name</KEYWORD3>\r
+                       <KEYWORD3>normal</KEYWORD3>\r
+                       <KEYWORD3>overrideredirect</KEYWORD3>\r
+                       <KEYWORD3>oval</KEYWORD3>\r
+                       <KEYWORD3>own</KEYWORD3>\r
+                       <KEYWORD3>photo</KEYWORD3>\r
+                       <KEYWORD3>polygon</KEYWORD3>\r
+                       <KEYWORD3>positionfrom</KEYWORD3>\r
+                       <KEYWORD3>propagate</KEYWORD3>\r
+                       <KEYWORD3>protocol</KEYWORD3>\r
+                       <KEYWORD3>ranges</KEYWORD3>\r
+                       <KEYWORD3>rectangle</KEYWORD3>\r
+                       <KEYWORD3>remove</KEYWORD3>\r
+                       <KEYWORD3>resizable</KEYWORD3>\r
+                       <KEYWORD3>separator</KEYWORD3>\r
+                       <KEYWORD3>slaves</KEYWORD3>\r
+                       <KEYWORD3>sizefrom</KEYWORD3>\r
+                       <KEYWORD3>state</KEYWORD3>\r
+                       <KEYWORD3>tag</KEYWORD3>\r
+                       <KEYWORD3>title</KEYWORD3>\r
+                       <KEYWORD3>transient</KEYWORD3>\r
+                       <KEYWORD3>window</KEYWORD3>\r
+                       <KEYWORD3>withdraw</KEYWORD3>\r
+                       <KEYWORD3>xview</KEYWORD3>\r
+                       <KEYWORD3>yview</KEYWORD3>\r
+                       <KEYWORD3>Activate</KEYWORD3>\r
+                       <KEYWORD3>Alt</KEYWORD3>\r
+                       <KEYWORD3>Any</KEYWORD3>\r
+                       <KEYWORD3>B1</KEYWORD3>\r
+                       <KEYWORD3>B2</KEYWORD3>\r
+                       <KEYWORD3>B3</KEYWORD3>\r
+                       <KEYWORD3>Button1</KEYWORD3>\r
+                       <KEYWORD3>Button2</KEYWORD3>\r
+                       <KEYWORD3>Button3</KEYWORD3>\r
+                       <KEYWORD3>ButtonPress</KEYWORD3>\r
+                       <KEYWORD3>ButtonRelease</KEYWORD3>\r
+                       <KEYWORD3>Double</KEYWORD3>\r
+                       <KEYWORD3>Circulate</KEYWORD3>\r
+                       <KEYWORD3>Colormap</KEYWORD3>\r
+                       <KEYWORD3>Configure</KEYWORD3>\r
+                       <KEYWORD3>Control</KEYWORD3>\r
+                       <KEYWORD3>Deactivate</KEYWORD3>\r
+                       <KEYWORD3>Escape</KEYWORD3>\r
+                       <KEYWORD3>Expose</KEYWORD3>\r
+                       <KEYWORD3>FocusIn</KEYWORD3>\r
+                       <KEYWORD3>FocusOut</KEYWORD3>\r
+                       <KEYWORD3>Gravity</KEYWORD3>\r
+                       <KEYWORD3>Key</KEYWORD3>\r
+                       <KEYWORD3>KeyPress</KEYWORD3>\r
+                       <KEYWORD3>KeyRelease</KEYWORD3>\r
+                       <KEYWORD3>Lock</KEYWORD3>\r
+                       <KEYWORD3>Meta</KEYWORD3>\r
+                       <KEYWORD3>Property</KEYWORD3>\r
+                       <KEYWORD3>Reparent</KEYWORD3>\r
+                       <KEYWORD3>Shift</KEYWORD3>\r
+                       <KEYWORD3>Unmap</KEYWORD3>\r
+                       <KEYWORD3>Visibility</KEYWORD3>\r
+                       <KEYWORD3>Button</KEYWORD3>\r
+                       <KEYWORD3>ButtonPress</KEYWORD3>\r
+                       <KEYWORD3>ButtonRelease</KEYWORD3>\r
+                       <KEYWORD3>Destroy</KEYWORD3>\r
+                       <KEYWORD3>Escape</KEYWORD3>\r
+                       <KEYWORD3>Enter</KEYWORD3>\r
+                       <KEYWORD3>Leave</KEYWORD3>\r
+                       <KEYWORD3>Motion</KEYWORD3>\r
+                       <KEYWORD3>MenuSelect</KEYWORD3>\r
+                       <KEYWORD3>Triple</KEYWORD3>\r
+                       <KEYWORD3>all</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="TCL_COMMENT" DEFAULT="OPERATOR">\r
+               <!-- Allows catching blocks starting with a comment.\r
+                   or comments following a ; -->\r
+               <SEQ_REGEXP TYPE="COMMENT1" HASH_CHAR="#" DELEGATE="MAIN">#.*</SEQ_REGEXP>\r
+       </RULES>\r
+\r
+       <RULES SET="TCL_STRING" DEFAULT="LITERAL1">\r
+               <PROPS>\r
+                       <PROPERTY NAME="indentOpenBrackets" VALUE="" />\r
+                       <PROPERTY NAME="indentCloseBrackets" VALUE="" />\r
+               </PROPS>\r
+\r
+               <!-- Continuation line. Processed before anything else by Tcl.-->\r
+               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>\r
+\r
+               <!-- Avoid colouring variables substituted inside strings -->\r
+               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
+                       <BEGIN>\$(\w|::)+\(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN_REGEXP>\r
+               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
+                       <BEGIN>\$\{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN_REGEXP>\r
+               <SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>\r
+\r
+               <!-- Sub-commands to be substituted -->\r
+               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <!-- Escaped characters -->\r
+               <SEQ TYPE="KEYWORD3">\a</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\b</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\f</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\n</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\r</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\t</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\v</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/tex.xml b/basis/xmode/modes/tex.xml
new file mode 100644 (file)
index 0000000..c59bfa8
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="%" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE="{}" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE">\r
+               <!-- $$...$$ -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
+                       <BEGIN>$$</BEGIN>\r
+                       <END>$$</END>\r
+               </SPAN>\r
+\r
+               <!-- $...$ -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
+                       <BEGIN>$</BEGIN>\r
+                       <END>$</END>\r
+               </SPAN>\r
+\r
+               <!-- \[...\] (LaTeX math mode) -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
+                       <BEGIN>\[</BEGIN>\r
+                       <END>\]</END>\r
+               </SPAN>\r
+\r
+               <!-- some commands must be handled specially -->\r
+               <SEQ TYPE="KEYWORD1">\$</SEQ>\r
+               <SEQ TYPE="KEYWORD1">\\</SEQ>\r
+               <SEQ TYPE="KEYWORD1">\%</SEQ>\r
+\r
+               <!-- \iffalse ... \fi - a block comment -->\r
+                <SPAN TYPE="COMMENT1">\r
+                        <BEGIN>\iffalse</BEGIN>\r
+                        <END>\fi</END>\r
+                </SPAN>\r
+\r
+               <!-- \begin{verbatim} ... \end{verbatim} -->\r
+                <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM">\r
+                        <BEGIN>\begin{verbatim}</BEGIN>\r
+                        <END>\end{verbatim}</END>\r
+                </SPAN>\r
+\r
+               <!-- \verb|sometext| -->\r
+               <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM"\r
+                       NO_LINE_BREAK="TRUE">\r
+                        <BEGIN>\verb|</BEGIN>\r
+                        <END>|</END>\r
+                </SPAN>\r
+               <!-- \... commands -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD1">\</MARK_FOLLOWING>\r
+\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+\r
+               <!-- word separators -->\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="MATH" DEFAULT="MARKUP">\r
+               <!-- some commands must be handled specially -->\r
+               <SEQ TYPE="KEYWORD3">\$</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\\</SEQ>\r
+               <SEQ TYPE="KEYWORD3">\%</SEQ>\r
+\r
+               <!-- \... commands -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD3">\</MARK_FOLLOWING>\r
+\r
+               <!-- word separators -->\r
+               <SEQ TYPE="KEYWORD2">)</SEQ>\r
+               <SEQ TYPE="KEYWORD2">(</SEQ>\r
+               <SEQ TYPE="KEYWORD2">{</SEQ>\r
+               <SEQ TYPE="KEYWORD2">}</SEQ>\r
+               <SEQ TYPE="KEYWORD2">[</SEQ>\r
+               <SEQ TYPE="KEYWORD2">]</SEQ>\r
+               <SEQ TYPE="KEYWORD2">=</SEQ>\r
+               <SEQ TYPE="KEYWORD2">!</SEQ>\r
+               <SEQ TYPE="KEYWORD2">+</SEQ>\r
+               <SEQ TYPE="KEYWORD2">-</SEQ>\r
+               <SEQ TYPE="KEYWORD2">/</SEQ>\r
+               <SEQ TYPE="KEYWORD2">*</SEQ>\r
+               <SEQ TYPE="KEYWORD2">&gt;</SEQ>\r
+               <SEQ TYPE="KEYWORD2">&lt;</SEQ>\r
+               <SEQ TYPE="KEYWORD2">&amp;</SEQ>\r
+               <SEQ TYPE="KEYWORD2">|</SEQ>\r
+               <SEQ TYPE="KEYWORD2">^</SEQ>\r
+               <SEQ TYPE="KEYWORD2">~</SEQ>\r
+               <SEQ TYPE="KEYWORD2">.</SEQ>\r
+               <SEQ TYPE="KEYWORD2">,</SEQ>\r
+               <SEQ TYPE="KEYWORD2">;</SEQ>\r
+               <SEQ TYPE="KEYWORD2">?</SEQ>\r
+               <SEQ TYPE="KEYWORD2">:</SEQ>\r
+               <SEQ TYPE="KEYWORD2">'</SEQ>\r
+               <SEQ TYPE="KEYWORD2">"</SEQ>\r
+               <SEQ TYPE="KEYWORD2">`</SEQ>\r
+\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="VERBATIM" DEFAULT="NULL" />\r
+</MODE>\r
diff --git a/basis/xmode/modes/texinfo.xml b/basis/xmode/modes/texinfo.xml
new file mode 100644 (file)
index 0000000..32ce589
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="@c" />\r
+       </PROPS>\r
+       <RULES>\r
+               <!-- comments -->\r
+               <EOL_SPAN TYPE="COMMENT1">@c </EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">@comment </EOL_SPAN>\r
+\r
+               <!-- @... commands -->\r
+               <MARK_FOLLOWING TYPE="KEYWORD1">@</MARK_FOLLOWING>\r
+\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/text.xml b/basis/xmode/modes/text.xml
new file mode 100644 (file)
index 0000000..fe66537
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>\r
+\r
+<!-- The most complicated edit mode ever, for plain text mode -->\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <RULES>\r
+               <TERMINATE AT_CHAR="0" />\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/tpl.xml b/basis/xmode/modes/tpl.xml
new file mode 100644 (file)
index 0000000..9b215f6
--- /dev/null
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+       Tpl mode by Brant Gurganus <brantgurganus2001@cherokeescouting.org>\r
+    Adapted from ColdFusion\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               \r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT3">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+               \r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+        \r
+        <!-- TPL markup start tags -->\r
+               <SPAN TYPE="KEYWORD3" DELEGATE="TPL">\r
+                       <BEGIN>{</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+       </RULES>\r
+    \r
+    <RULES SET="TPL" DEFAULT="KEYWORD1" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+       \r
+               <SPAN TYPE="LABEL">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LABEL">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               \r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               \r
+               <KEYWORDS>\r
+                       <KEYWORD1>include</KEYWORD1>\r
+            <OPERATOR>=</OPERATOR>\r
+            <KEYWORD2>START</KEYWORD2>\r
+            <KEYWORD2>END</KEYWORD2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+    \r
+    <RULES SET="TAGS" DEFAULT="MARKUP" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/tsql.xml b/basis/xmode/modes/tsql.xml
new file mode 100644 (file)
index 0000000..ad4d151
--- /dev/null
@@ -0,0 +1,1013 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <MARK_PREVIOUS TYPE="FUNCTION"\r
+                       MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">::</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <MARK_FOLLOWING TYPE="LITERAL2">@</MARK_FOLLOWING>\r
+\r
+               <KEYWORDS>\r
+                       <!-- reserved words -->\r
+                       <KEYWORD1>ABSOLUTE</KEYWORD1>\r
+                       <KEYWORD1>ADD</KEYWORD1>\r
+                       <KEYWORD1>ALTER</KEYWORD1>\r
+                       <KEYWORD1>ANSI_NULLS</KEYWORD1>\r
+                       <KEYWORD1>AS</KEYWORD1>\r
+                       <KEYWORD1>ASC</KEYWORD1>\r
+                       <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
+                       <KEYWORD1>BACKUP</KEYWORD1>\r
+                       <KEYWORD1>BEGIN</KEYWORD1>\r
+                       <KEYWORD1>BREAK</KEYWORD1>\r
+                       <KEYWORD1>BROWSE</KEYWORD1>\r
+                       <KEYWORD1>BULK</KEYWORD1>\r
+                       <KEYWORD1>BY</KEYWORD1>\r
+                       <KEYWORD1>CASCADE</KEYWORD1>\r
+                       <KEYWORD1>CHECK</KEYWORD1>\r
+                       <KEYWORD1>CHECKPOINT</KEYWORD1>\r
+                       <KEYWORD1>CLOSE</KEYWORD1>\r
+                       <KEYWORD1>CLUSTERED</KEYWORD1>\r
+                       <KEYWORD1>COLUMN</KEYWORD1>\r
+                       <KEYWORD1>COMMIT</KEYWORD1>\r
+                       <KEYWORD1>COMMITTED</KEYWORD1>\r
+                       <KEYWORD1>COMPUTE</KEYWORD1>\r
+                       <KEYWORD1>CONFIRM</KEYWORD1>\r
+                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
+                       <KEYWORD1>CONTAINS</KEYWORD1>\r
+                       <KEYWORD1>CONTAINSTABLE</KEYWORD1>\r
+                       <KEYWORD1>CONTINUE</KEYWORD1>\r
+                       <KEYWORD1>CONTROLROW</KEYWORD1>\r
+                       <KEYWORD1>CREATE</KEYWORD1>\r
+                       <KEYWORD1>CURRENT</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_DATE</KEYWORD1>\r
+                       <KEYWORD1>CURRENT_TIME</KEYWORD1>\r
+                       <KEYWORD1>CURSOR</KEYWORD1>\r
+                       <KEYWORD1>DATABASE</KEYWORD1>\r
+                       <KEYWORD1>DBCC</KEYWORD1>\r
+                       <KEYWORD1>DEALLOCATE</KEYWORD1>\r
+                       <KEYWORD1>DECLARE</KEYWORD1>\r
+                       <KEYWORD1>DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>DELETE</KEYWORD1>\r
+                       <KEYWORD1>DENY</KEYWORD1>\r
+                       <KEYWORD1>DESC</KEYWORD1>\r
+                       <KEYWORD1>DISK</KEYWORD1>\r
+                       <KEYWORD1>DISTINCT</KEYWORD1>\r
+                       <KEYWORD1>DISTRIBUTED</KEYWORD1>\r
+                       <KEYWORD1>DOUBLE</KEYWORD1>\r
+                       <KEYWORD1>DROP</KEYWORD1>\r
+                       <KEYWORD1>DUMMY</KEYWORD1>\r
+                       <KEYWORD1>DUMP</KEYWORD1>\r
+                       <KEYWORD1>DYNAMIC</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>ERRLVL</KEYWORD1>\r
+                       <KEYWORD1>ERROREXIT</KEYWORD1>\r
+                       <KEYWORD1>ESCAPE</KEYWORD1>\r
+                       <KEYWORD1>EXCEPT</KEYWORD1>\r
+                       <KEYWORD1>EXEC</KEYWORD1>\r
+                       <KEYWORD1>EXECUTE</KEYWORD1>\r
+                       <KEYWORD1>EXIT</KEYWORD1>\r
+                       <KEYWORD1>FAST_FORWARD</KEYWORD1>\r
+                       <KEYWORD1>FETCH</KEYWORD1>\r
+                       <KEYWORD1>FILE</KEYWORD1>\r
+                       <KEYWORD1>FILLFACTOR</KEYWORD1>\r
+                       <KEYWORD1>FIRST</KEYWORD1>\r
+                       <KEYWORD1>FLOPPY</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>FOREIGN</KEYWORD1>\r
+                       <KEYWORD1>FORWARD_ONLY</KEYWORD1>\r
+                       <KEYWORD1>FREETEXT</KEYWORD1>\r
+                       <KEYWORD1>FREETEXTTABLE</KEYWORD1>\r
+                       <KEYWORD1>FROM</KEYWORD1>\r
+                       <KEYWORD1>FULL</KEYWORD1>\r
+                       <KEYWORD1>FUNCTION</KEYWORD1>\r
+                       <KEYWORD1>GLOBAL</KEYWORD1>\r
+                       <KEYWORD1>GOTO</KEYWORD1>\r
+                       <KEYWORD1>GRANT</KEYWORD1>\r
+                       <KEYWORD1>GROUP</KEYWORD1>\r
+                       <KEYWORD1>HAVING</KEYWORD1>\r
+                       <KEYWORD1>HOLDLOCK</KEYWORD1>\r
+                       <KEYWORD1>ID</KEYWORD1>\r
+                       <KEYWORD1>IDENTITYCOL</KEYWORD1>\r
+                       <KEYWORD1>IDENTITY_INSERT</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>INDEX</KEYWORD1>\r
+                       <KEYWORD1>INNER</KEYWORD1>\r
+                       <KEYWORD1>INSENSITIVE</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>INTO</KEYWORD1>\r
+                       <KEYWORD1>IS</KEYWORD1>\r
+                       <KEYWORD1>ISOLATION</KEYWORD1>\r
+                       <KEYWORD1>KEY</KEYWORD1>\r
+                       <KEYWORD1>KEYSET</KEYWORD1>\r
+                       <KEYWORD1>KILL</KEYWORD1>\r
+                       <KEYWORD1>LAST</KEYWORD1>\r
+                       <KEYWORD1>LEVEL</KEYWORD1>\r
+                       <KEYWORD1>LINENO</KEYWORD1>\r
+                       <KEYWORD1>LOAD</KEYWORD1>\r
+                       <KEYWORD1>LOCAL</KEYWORD1>\r
+                       <KEYWORD1>MAX</KEYWORD1>\r
+                       <KEYWORD1>MIN</KEYWORD1>\r
+                       <KEYWORD1>MIRROREXIT</KEYWORD1>\r
+                       <KEYWORD1>NATIONAL</KEYWORD1>\r
+                       <KEYWORD1>NEXT</KEYWORD1>\r
+                       <KEYWORD1>NOCHECK</KEYWORD1>\r
+                       <KEYWORD1>NONCLUSTERED</KEYWORD1>\r
+                       <KEYWORD1>OF</KEYWORD1>\r
+                       <KEYWORD1>OFF</KEYWORD1>\r
+                       <KEYWORD1>OFFSETS</KEYWORD1>\r
+                       <KEYWORD1>ON</KEYWORD1>\r
+                       <KEYWORD1>ONCE</KEYWORD1>\r
+                       <KEYWORD1>ONLY</KEYWORD1>\r
+                       <KEYWORD1>OPEN</KEYWORD1>\r
+                       <KEYWORD1>OPENDATASOURCE</KEYWORD1>\r
+                       <KEYWORD1>OPENQUERY</KEYWORD1>\r
+                       <KEYWORD1>OPENROWSET</KEYWORD1>\r
+                       <KEYWORD1>OPTIMISTIC</KEYWORD1>\r
+                       <KEYWORD1>OPTION</KEYWORD1>\r
+                       <KEYWORD1>ORDER</KEYWORD1>\r
+                       <KEYWORD1>OUTPUT</KEYWORD1>\r
+                       <KEYWORD1>OVER</KEYWORD1>\r
+                       <KEYWORD1>PERCENT</KEYWORD1>\r
+                       <KEYWORD1>PERM</KEYWORD1>\r
+                       <KEYWORD1>PERMANENT</KEYWORD1>\r
+                       <KEYWORD1>PIPE</KEYWORD1>\r
+                       <KEYWORD1>PLAN</KEYWORD1>\r
+                       <KEYWORD1>PRECISION</KEYWORD1>\r
+                       <KEYWORD1>PREPARE</KEYWORD1>\r
+                       <KEYWORD1>PRIMARY</KEYWORD1>\r
+                       <KEYWORD1>PRINT</KEYWORD1>\r
+                       <KEYWORD1>PRIOR</KEYWORD1>\r
+                       <KEYWORD1>PRIVILEGES</KEYWORD1>\r
+                       <KEYWORD1>PROC</KEYWORD1>\r
+                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
+                       <KEYWORD1>PROCESSEXIT</KEYWORD1>\r
+                       <KEYWORD1>PUBLIC</KEYWORD1>\r
+                       <KEYWORD1>QUOTED_IDENTIFIER</KEYWORD1>\r
+                       <KEYWORD1>RAISERROR</KEYWORD1>\r
+                       <KEYWORD1>READ</KEYWORD1>\r
+                       <KEYWORD1>READTEXT</KEYWORD1>\r
+                       <KEYWORD1>READ_ONLY</KEYWORD1>\r
+                       <KEYWORD1>RECONFIGURE</KEYWORD1>\r
+                       <KEYWORD1>REFERENCES</KEYWORD1>\r
+                       <KEYWORD1>RELATIVE</KEYWORD1>\r
+                       <KEYWORD1>REPEATABLE</KEYWORD1>\r
+                       <KEYWORD1>REPLICATION</KEYWORD1>\r
+                       <KEYWORD1>RESTORE</KEYWORD1>\r
+                       <KEYWORD1>RESTRICT</KEYWORD1>\r
+                       <KEYWORD1>RETURN</KEYWORD1>\r
+                       <KEYWORD1>RETURNS</KEYWORD1>\r
+                       <KEYWORD1>REVOKE</KEYWORD1>\r
+                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
+                       <KEYWORD1>ROWGUIDCOL</KEYWORD1>\r
+                       <KEYWORD1>RULE</KEYWORD1>\r
+                       <KEYWORD1>SAVE</KEYWORD1>\r
+                       <KEYWORD1>SCHEMA</KEYWORD1>\r
+                       <KEYWORD1>SCROLL</KEYWORD1>\r
+                       <KEYWORD1>SCROLL_LOCKS</KEYWORD1>\r
+                       <KEYWORD1>SELECT</KEYWORD1>\r
+                       <KEYWORD1>SERIALIZABLE</KEYWORD1>\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>SETUSER</KEYWORD1>\r
+                       <KEYWORD1>SHUTDOWN</KEYWORD1>\r
+                       <KEYWORD1>STATIC</KEYWORD1>\r
+                       <KEYWORD1>STATISTICS</KEYWORD1>\r
+                       <KEYWORD1>TABLE</KEYWORD1>\r
+                       <KEYWORD1>TAPE</KEYWORD1>\r
+                       <KEYWORD1>TEMP</KEYWORD1>\r
+                       <KEYWORD1>TEMPORARY</KEYWORD1>\r
+                       <KEYWORD1>TEXTIMAGE_ON</KEYWORD1>\r
+                       <KEYWORD1>THEN</KEYWORD1>\r
+                       <KEYWORD1>TO</KEYWORD1>\r
+                       <KEYWORD1>TOP</KEYWORD1>\r
+                       <KEYWORD1>TRAN</KEYWORD1>\r
+                       <KEYWORD1>TRANSACTION</KEYWORD1>\r
+                       <KEYWORD1>TRIGGER</KEYWORD1>\r
+                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
+                       <KEYWORD1>TSEQUAL</KEYWORD1>\r
+                       <KEYWORD1>UNCOMMITTED</KEYWORD1>\r
+                       <KEYWORD1>UNION</KEYWORD1>\r
+                       <KEYWORD1>UNIQUE</KEYWORD1>\r
+                       <KEYWORD1>UPDATE</KEYWORD1>\r
+                       <KEYWORD1>UPDATETEXT</KEYWORD1>\r
+                       <KEYWORD1>USE</KEYWORD1>\r
+                       <KEYWORD1>VALUES</KEYWORD1>\r
+                       <KEYWORD1>VARYING</KEYWORD1>\r
+                       <KEYWORD1>VIEW</KEYWORD1>\r
+                       <KEYWORD1>WAITFOR</KEYWORD1>\r
+                       <KEYWORD1>WHEN</KEYWORD1>\r
+                       <KEYWORD1>WHERE</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>WITH</KEYWORD1>\r
+                       <KEYWORD1>WORK</KEYWORD1>\r
+                       <KEYWORD1>WRITETEXT</KEYWORD1>\r
+\r
+                       <!-- data types -->\r
+                       <KEYWORD1>binary</KEYWORD1>\r
+                       <KEYWORD1>bit</KEYWORD1>\r
+                       <KEYWORD1>char</KEYWORD1>\r
+                       <KEYWORD1>character</KEYWORD1>\r
+                       <KEYWORD1>datetime</KEYWORD1>\r
+                       <KEYWORD1>decimal</KEYWORD1>\r
+                       <KEYWORD1>float</KEYWORD1>\r
+                       <KEYWORD1>image</KEYWORD1>\r
+                       <KEYWORD1>int</KEYWORD1>\r
+                       <KEYWORD1>integer</KEYWORD1>\r
+                       <KEYWORD1>money</KEYWORD1>\r
+                       <KEYWORD1>name</KEYWORD1>\r
+                       <KEYWORD1>numeric</KEYWORD1>\r
+                       <KEYWORD1>nchar</KEYWORD1>\r
+                       <KEYWORD1>nvarchar</KEYWORD1>\r
+                       <KEYWORD1>ntext</KEYWORD1>\r
+                       <KEYWORD1>real</KEYWORD1>\r
+                       <KEYWORD1>smalldatetime</KEYWORD1>\r
+                       <KEYWORD1>smallint</KEYWORD1>\r
+                       <KEYWORD1>smallmoney</KEYWORD1>\r
+                       <KEYWORD1>text</KEYWORD1>\r
+                       <KEYWORD1>timestamp</KEYWORD1>\r
+                       <KEYWORD1>tinyint</KEYWORD1>\r
+                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
+                       <KEYWORD1>varbinary</KEYWORD1>\r
+                       <KEYWORD1>varchar</KEYWORD1>\r
+\r
+                       <!-- system functions -->\r
+                       <KEYWORD2>@@CONNECTIONS</KEYWORD2>\r
+                       <KEYWORD2>@@CPU_BUSY</KEYWORD2>\r
+                       <KEYWORD2>@@CURSOR_ROWS</KEYWORD2>\r
+                       <KEYWORD2>@@DATEFIRST</KEYWORD2>\r
+                       <KEYWORD2>@@DBTS</KEYWORD2>\r
+                       <KEYWORD2>@@ERROR</KEYWORD2>\r
+                       <KEYWORD2>@@FETCH_STATUS</KEYWORD2>\r
+                       <KEYWORD2>@@IDENTITY</KEYWORD2>\r
+                       <KEYWORD2>@@IDLE</KEYWORD2>\r
+                       <KEYWORD2>@@IO_BUSY</KEYWORD2>\r
+                       <KEYWORD2>@@LANGID</KEYWORD2>\r
+                       <KEYWORD2>@@LANGUAGE</KEYWORD2>\r
+                       <KEYWORD2>@@LOCK_TIMEOUT</KEYWORD2>\r
+                       <KEYWORD2>@@MAX_CONNECTIONS</KEYWORD2>\r
+                       <KEYWORD2>@@MAX_PRECISION</KEYWORD2>\r
+                       <KEYWORD2>@@NESTLEVEL</KEYWORD2>\r
+                       <KEYWORD2>@@OPTIONS</KEYWORD2>\r
+                       <KEYWORD2>@@PACKET_ERRORS</KEYWORD2>\r
+                       <KEYWORD2>@@PACK_RECEIVED</KEYWORD2>\r
+                       <KEYWORD2>@@PACK_SENT</KEYWORD2>\r
+                       <KEYWORD2>@@PROCID</KEYWORD2>\r
+                       <KEYWORD2>@@REMSERVER</KEYWORD2>\r
+                       <KEYWORD2>@@ROWCOUNT</KEYWORD2>\r
+                       <KEYWORD2>@@SERVERNAME</KEYWORD2>\r
+                       <KEYWORD2>@@SERVICENAME</KEYWORD2>\r
+                       <KEYWORD2>@@SPID</KEYWORD2>\r
+                       <KEYWORD2>@@TEXTSIZE</KEYWORD2>\r
+                       <KEYWORD2>@@TIMETICKS</KEYWORD2>\r
+                       <KEYWORD2>@@TOTAL_ERRORS</KEYWORD2>\r
+                       <KEYWORD2>@@TOTAL_READ</KEYWORD2>\r
+                       <KEYWORD2>@@TOTAL_WRITE</KEYWORD2>\r
+                       <KEYWORD2>@@TRANCOUNT</KEYWORD2>\r
+                       <KEYWORD2>@@VERSION</KEYWORD2>\r
+                       <KEYWORD2>ABS</KEYWORD2>\r
+                       <KEYWORD2>ACOS</KEYWORD2>\r
+                       <KEYWORD2>APP_NAME</KEYWORD2>\r
+                       <KEYWORD2>ASCII</KEYWORD2>\r
+                       <KEYWORD2>ASIN</KEYWORD2>\r
+                       <KEYWORD2>ATAN</KEYWORD2>\r
+                       <KEYWORD2>ATN2</KEYWORD2>\r
+                       <KEYWORD2>AVG</KEYWORD2>\r
+                       <KEYWORD2>BINARY_CHECKSUM</KEYWORD2>\r
+                       <KEYWORD2>CASE</KEYWORD2>\r
+                       <KEYWORD2>CAST</KEYWORD2>\r
+                       <KEYWORD2>CEILING</KEYWORD2>\r
+                       <KEYWORD2>CHARINDEX</KEYWORD2>\r
+                       <KEYWORD2>CHECKSUM</KEYWORD2>\r
+                       <KEYWORD2>CHECKSUM_AGG</KEYWORD2>\r
+                       <KEYWORD2>COALESCE</KEYWORD2>\r
+                       <KEYWORD2>COLLATIONPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>COLUMNPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>COL_LENGTH</KEYWORD2>\r
+                       <KEYWORD2>COL_NAME</KEYWORD2>\r
+                       <KEYWORD2>CONVERT</KEYWORD2>\r
+                       <KEYWORD2>COS</KEYWORD2>\r
+                       <KEYWORD2>COT</KEYWORD2>\r
+                       <KEYWORD2>COUNT</KEYWORD2>\r
+                       <KEYWORD2>COUNT_BIG</KEYWORD2>\r
+                       <KEYWORD2>CURRENT_DATE</KEYWORD2>\r
+                       <KEYWORD2>CURRENT_TIME</KEYWORD2>\r
+                       <KEYWORD2>CURRENT_TIMESTAMP</KEYWORD2>\r
+                       <KEYWORD2>CURRENT_USER</KEYWORD2>\r
+                       <KEYWORD2>CURSOR_STATUS</KEYWORD2>\r
+                       <KEYWORD2>DATABASEPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>DATALENGTH</KEYWORD2>\r
+                       <KEYWORD2>DATEADD</KEYWORD2>\r
+                       <KEYWORD2>DATEDIFF</KEYWORD2>\r
+                       <KEYWORD2>DATENAME</KEYWORD2>\r
+                       <KEYWORD2>DATEPART</KEYWORD2>\r
+                       <KEYWORD2>DAY</KEYWORD2>\r
+                       <KEYWORD2>DB_ID</KEYWORD2>\r
+                       <KEYWORD2>DB_NAME</KEYWORD2>\r
+                       <KEYWORD2>DEGREES</KEYWORD2>\r
+                       <KEYWORD2>DIFFERENCE</KEYWORD2>\r
+                       <KEYWORD2>EXP</KEYWORD2>\r
+                       <KEYWORD2>FILEGROUPPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>FILEGROUP_ID</KEYWORD2>\r
+                       <KEYWORD2>FILEGROUP_NAME</KEYWORD2>\r
+                       <KEYWORD2>FILEPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>FILE_ID</KEYWORD2>\r
+                       <KEYWORD2>FILE_NAME</KEYWORD2>\r
+                       <KEYWORD2>FLOOR</KEYWORD2>\r
+                       <KEYWORD2>FORMATMESSAGE</KEYWORD2>\r
+                       <KEYWORD2>FULLTEXTCATALOGPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>FULLTEXTSERVICEPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>GETANSINULL</KEYWORD2>\r
+                       <KEYWORD2>GETDATE</KEYWORD2>\r
+                       <KEYWORD2>GETUTCDATE</KEYWORD2>\r
+                       <KEYWORD2>GROUPING</KEYWORD2>\r
+                       <KEYWORD2>HOST_ID</KEYWORD2>\r
+                       <KEYWORD2>HOST_NAME</KEYWORD2>\r
+                       <KEYWORD2>IDENTITY</KEYWORD2>\r
+                       <KEYWORD2>IDENTITY_INSERT</KEYWORD2>\r
+                       <KEYWORD2>IDENT_CURRENT</KEYWORD2>\r
+                       <KEYWORD2>IDENT_INCR</KEYWORD2>\r
+                       <KEYWORD2>IDENT_SEED</KEYWORD2>\r
+                       <KEYWORD2>INDEXPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>INDEX_COL</KEYWORD2>\r
+                       <KEYWORD2>ISDATE</KEYWORD2>\r
+                       <KEYWORD2>ISNULL</KEYWORD2>\r
+                       <KEYWORD2>ISNUMERIC</KEYWORD2>\r
+                       <KEYWORD2>IS_MEMBER</KEYWORD2>\r
+                       <KEYWORD2>IS_SRVROLEMEMBER</KEYWORD2>\r
+                       <KEYWORD2>LEFT</KEYWORD2>\r
+                       <KEYWORD2>LEN</KEYWORD2>\r
+                       <KEYWORD2>LOG10</KEYWORD2>\r
+                       <KEYWORD2>LOG</KEYWORD2>\r
+                       <KEYWORD2>LOWER</KEYWORD2>\r
+                       <KEYWORD2>LTRIM</KEYWORD2>\r
+                       <KEYWORD2>MONTH</KEYWORD2>\r
+                       <KEYWORD2>NEWID</KEYWORD2>\r
+                       <KEYWORD2>NULLIF</KEYWORD2>\r
+                       <KEYWORD2>OBJECTPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>OBJECT_ID</KEYWORD2>\r
+                       <KEYWORD2>OBJECT_NAME</KEYWORD2>\r
+                       <KEYWORD2>PARSENAME</KEYWORD2>\r
+                       <KEYWORD2>PATINDEX</KEYWORD2>\r
+                       <KEYWORD2>PERMISSIONS</KEYWORD2>\r
+                       <KEYWORD2>PI</KEYWORD2>\r
+                       <KEYWORD2>POWER</KEYWORD2>\r
+                       <KEYWORD2>QUOTENAME</KEYWORD2>\r
+                       <KEYWORD2>RADIANS</KEYWORD2>\r
+                       <KEYWORD2>RAND</KEYWORD2>\r
+                       <KEYWORD2>REPLACE</KEYWORD2>\r
+                       <KEYWORD2>REPLICATE</KEYWORD2>\r
+                       <KEYWORD2>REVERSE</KEYWORD2>\r
+                       <KEYWORD2>RIGHT</KEYWORD2>\r
+                       <KEYWORD2>ROUND</KEYWORD2>\r
+                       <KEYWORD2>ROWCOUNT_BIG</KEYWORD2>\r
+                       <KEYWORD2>RTRIM</KEYWORD2>\r
+                       <KEYWORD2>SCOPE_IDENTITY</KEYWORD2>\r
+                       <KEYWORD2>SERVERPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>SESSIONPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>SESSION_USER</KEYWORD2>\r
+                       <KEYWORD2>SIGN</KEYWORD2>\r
+                       <KEYWORD2>SIN</KEYWORD2>\r
+                       <KEYWORD2>SOUNDEX</KEYWORD2>\r
+                       <KEYWORD2>SPACE</KEYWORD2>\r
+                       <KEYWORD2>SQRT</KEYWORD2>\r
+                       <KEYWORD2>SQUARE</KEYWORD2>\r
+                       <KEYWORD2>STATS_DATE</KEYWORD2>\r
+                       <KEYWORD2>STDEV</KEYWORD2>\r
+                       <KEYWORD2>STDEVP</KEYWORD2>\r
+                       <KEYWORD2>STR</KEYWORD2>\r
+                       <KEYWORD2>STUFF</KEYWORD2>\r
+                       <KEYWORD2>SUBSTRING</KEYWORD2>\r
+                       <KEYWORD2>SUM</KEYWORD2>\r
+                       <KEYWORD2>SUSER_ID</KEYWORD2>\r
+                       <KEYWORD2>SUSER_NAME</KEYWORD2>\r
+                       <KEYWORD2>SUSER_SID</KEYWORD2>\r
+                       <KEYWORD2>SUSER_SNAME</KEYWORD2>\r
+                       <KEYWORD2>SYSTEM_USER</KEYWORD2>\r
+                       <KEYWORD2>TAN</KEYWORD2>\r
+                       <KEYWORD2>TEXTPTR</KEYWORD2>\r
+                       <KEYWORD2>TEXTVALID</KEYWORD2>\r
+                       <KEYWORD2>TYPEPROPERTY</KEYWORD2>\r
+                       <KEYWORD2>UNICODE</KEYWORD2>\r
+                       <KEYWORD2>UPPER</KEYWORD2>\r
+                       <KEYWORD2>USER</KEYWORD2>\r
+                       <KEYWORD2>USER_ID</KEYWORD2>\r
+                       <KEYWORD2>USER_NAME</KEYWORD2>\r
+                       <KEYWORD2>VAR</KEYWORD2>\r
+                       <KEYWORD2>VARP</KEYWORD2>\r
+                       <KEYWORD2>YEAR</KEYWORD2>\r
+\r
+                       <!-- operators -->\r
+                       <KEYWORD1>ALL</KEYWORD1>\r
+                       <KEYWORD1>AND</KEYWORD1>\r
+                       <KEYWORD1>ANY</KEYWORD1>\r
+                       <KEYWORD1>BETWEEN</KEYWORD1>\r
+                       <KEYWORD1>CROSS</KEYWORD1>\r
+                       <KEYWORD1>EXISTS</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>INTERSECT</KEYWORD1>\r
+                       <KEYWORD1>JOIN</KEYWORD1>\r
+                       <KEYWORD1>LIKE</KEYWORD1>\r
+                       <KEYWORD1>NOT</KEYWORD1>\r
+                       <KEYWORD1>NULL</KEYWORD1>\r
+                       <KEYWORD1>OR</KEYWORD1>\r
+                       <KEYWORD1>OUTER</KEYWORD1>\r
+                       <KEYWORD1>SOME</KEYWORD1>\r
+\r
+                       <!-- SQL Server 7.0 system stored procedures -->\r
+                       <KEYWORD3>sp_add_agent_parameter</KEYWORD3>\r
+                       <KEYWORD3>sp_add_agent_profile</KEYWORD3>\r
+                       <KEYWORD3>sp_add_alert</KEYWORD3>\r
+                       <KEYWORD3>sp_add_category</KEYWORD3>\r
+                       <KEYWORD3>sp_add_data_file_recover_suspect_db</KEYWORD3>\r
+                       <KEYWORD3>sp_add_job</KEYWORD3>\r
+                       <KEYWORD3>sp_add_jobschedule</KEYWORD3>\r
+                       <KEYWORD3>sp_add_jobserver</KEYWORD3>\r
+                       <KEYWORD3>sp_add_jobstep</KEYWORD3>\r
+                       <KEYWORD3>sp_add_log_file_recover_suspect_db</KEYWORD3>\r
+                       <KEYWORD3>sp_add_notification</KEYWORD3>\r
+                       <KEYWORD3>sp_add_operator</KEYWORD3>\r
+                       <KEYWORD3>sp_add_targetservergroup</KEYWORD3>\r
+                       <KEYWORD3>sp_add_targetsvrgrp_member</KEYWORD3>\r
+                       <KEYWORD3>sp_addalias</KEYWORD3>\r
+                       <KEYWORD3>sp_addapprole</KEYWORD3>\r
+                       <KEYWORD3>sp_addarticle</KEYWORD3>\r
+                       <KEYWORD3>sp_adddistpublisher</KEYWORD3>\r
+                       <KEYWORD3>sp_adddistributiondb</KEYWORD3>\r
+                       <KEYWORD3>sp_adddistributor</KEYWORD3>\r
+                       <KEYWORD3>sp_addextendedproc</KEYWORD3>\r
+                       <KEYWORD3>sp_addgroup</KEYWORD3>\r
+                       <KEYWORD3>sp_addlinkedserver</KEYWORD3>\r
+                       <KEYWORD3>sp_addlinkedsrvlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_addlinkedsrvlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_addlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergearticle</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergefilter</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergepublication</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergepullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergepullsubscription_agent</KEYWORD3>\r
+                       <KEYWORD3>sp_addmergesubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_addmessage</KEYWORD3>\r
+                       <KEYWORD3>sp_addpublication</KEYWORD3>\r
+                       <KEYWORD3>sp_addpublication_snapshot</KEYWORD3>\r
+                       <KEYWORD3>sp_addpublisher70</KEYWORD3>\r
+                       <KEYWORD3>sp_addpullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_addpullsubscription_agent</KEYWORD3>\r
+                       <KEYWORD3>sp_addremotelogin</KEYWORD3>\r
+                       <KEYWORD3>sp_addrole</KEYWORD3>\r
+                       <KEYWORD3>sp_addrolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_addserver</KEYWORD3>\r
+                       <KEYWORD3>sp_addsrvrolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_addsubscriber</KEYWORD3>\r
+                       <KEYWORD3>sp_addsubscriber_schedule</KEYWORD3>\r
+                       <KEYWORD3>sp_addsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_addsynctriggers</KEYWORD3>\r
+                       <KEYWORD3>sp_addtabletocontents</KEYWORD3>\r
+                       <KEYWORD3>sp_addtask</KEYWORD3>\r
+                       <KEYWORD3>sp_addtype</KEYWORD3>\r
+                       <KEYWORD3>sp_addumpdevice</KEYWORD3>\r
+                       <KEYWORD3>sp_adduser</KEYWORD3>\r
+                       <KEYWORD3>sp_altermessage</KEYWORD3>\r
+                       <KEYWORD3>sp_apply_job_to_targets</KEYWORD3>\r
+                       <KEYWORD3>sp_approlepassword</KEYWORD3>\r
+                       <KEYWORD3>sp_article_validation</KEYWORD3>\r
+                       <KEYWORD3>sp_articlecolumn</KEYWORD3>\r
+                       <KEYWORD3>sp_articlefilter</KEYWORD3>\r
+                       <KEYWORD3>sp_articlesynctranprocs</KEYWORD3>\r
+                       <KEYWORD3>sp_articleview</KEYWORD3>\r
+                       <KEYWORD3>sp_attach_db</KEYWORD3>\r
+                       <KEYWORD3>sp_attach_single_file_db</KEYWORD3>\r
+                       <KEYWORD3>sp_autostats</KEYWORD3>\r
+                       <KEYWORD3>sp_bindefault</KEYWORD3>\r
+                       <KEYWORD3>sp_bindrule</KEYWORD3>\r
+                       <KEYWORD3>sp_bindsession</KEYWORD3>\r
+                       <KEYWORD3>sp_browsereplcmds</KEYWORD3>\r
+                       <KEYWORD3>sp_catalogs</KEYWORD3>\r
+                       <KEYWORD3>sp_certify_removable</KEYWORD3>\r
+                       <KEYWORD3>sp_change_agent_parameter</KEYWORD3>\r
+                       <KEYWORD3>sp_change_agent_profile</KEYWORD3>\r
+                       <KEYWORD3>sp_change_subscription_properties</KEYWORD3>\r
+                       <KEYWORD3>sp_change_users_login</KEYWORD3>\r
+                       <KEYWORD3>sp_changearticle</KEYWORD3>\r
+                       <KEYWORD3>sp_changedbowner</KEYWORD3>\r
+                       <KEYWORD3>sp_changedistpublisher</KEYWORD3>\r
+                       <KEYWORD3>sp_changedistributiondb</KEYWORD3>\r
+                       <KEYWORD3>sp_changedistributor_password</KEYWORD3>\r
+                       <KEYWORD3>sp_changedistributor_property</KEYWORD3>\r
+                       <KEYWORD3>sp_changegroup</KEYWORD3>\r
+                       <KEYWORD3>sp_changemergearticle</KEYWORD3>\r
+                       <KEYWORD3>sp_changemergefilter</KEYWORD3>\r
+                       <KEYWORD3>sp_changemergepublication</KEYWORD3>\r
+                       <KEYWORD3>sp_changemergepullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_changemergesubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_changeobjectowner</KEYWORD3>\r
+                       <KEYWORD3>sp_changepublication</KEYWORD3>\r
+                       <KEYWORD3>sp_changesubscriber</KEYWORD3>\r
+                       <KEYWORD3>sp_changesubscriber_schedule</KEYWORD3>\r
+                       <KEYWORD3>sp_changesubstatus</KEYWORD3>\r
+                       <KEYWORD3>sp_check_for_sync_trigger</KEYWORD3>\r
+                       <KEYWORD3>sp_column_privileges</KEYWORD3>\r
+                       <KEYWORD3>sp_column_privileges_ex</KEYWORD3>\r
+                       <KEYWORD3>sp_columns</KEYWORD3>\r
+                       <KEYWORD3>sp_columns_ex</KEYWORD3>\r
+                       <KEYWORD3>sp_configure</KEYWORD3>\r
+                       <KEYWORD3>sp_create_removable</KEYWORD3>\r
+                       <KEYWORD3>sp_createorphan</KEYWORD3>\r
+                       <KEYWORD3>sp_createstats</KEYWORD3>\r
+                       <KEYWORD3>sp_cursor</KEYWORD3>\r
+                       <KEYWORD3>sp_cursor_list</KEYWORD3>\r
+                       <KEYWORD3>sp_cursorclose</KEYWORD3>\r
+                       <KEYWORD3>sp_cursorexecute</KEYWORD3>\r
+                       <KEYWORD3>sp_cursorfetch</KEYWORD3>\r
+                       <KEYWORD3>sp_cursoropen</KEYWORD3>\r
+                       <KEYWORD3>sp_cursoroption</KEYWORD3>\r
+                       <KEYWORD3>sp_cursorprepare</KEYWORD3>\r
+                       <KEYWORD3>sp_cursorunprepare</KEYWORD3>\r
+                       <KEYWORD3>sp_cycle_errorlog</KEYWORD3>\r
+                       <KEYWORD3>sp_databases</KEYWORD3>\r
+                       <KEYWORD3>sp_datatype_info</KEYWORD3>\r
+                       <KEYWORD3>sp_dbcmptlevel</KEYWORD3>\r
+                       <KEYWORD3>sp_dbfixedrolepermission</KEYWORD3>\r
+                       <KEYWORD3>sp_dboption</KEYWORD3>\r
+                       <KEYWORD3>sp_defaultdb</KEYWORD3>\r
+                       <KEYWORD3>sp_defaultlanguage</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_alert</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_backuphistory</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_category</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_job</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_jobschedule</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_jobserver</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_jobstep</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_notification</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_operator</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_targetserver</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_targetservergroup</KEYWORD3>\r
+                       <KEYWORD3>sp_delete_targetsvrgrp_member</KEYWORD3>\r
+                       <KEYWORD3>sp_deletemergeconflictrow</KEYWORD3>\r
+                       <KEYWORD3>sp_denylogin</KEYWORD3>\r
+                       <KEYWORD3>sp_depends</KEYWORD3>\r
+                       <KEYWORD3>sp_describe_cursor</KEYWORD3>\r
+                       <KEYWORD3>sp_describe_cursor_columns</KEYWORD3>\r
+                       <KEYWORD3>sp_describe_cursor_tables</KEYWORD3>\r
+                       <KEYWORD3>sp_detach_db</KEYWORD3>\r
+                       <KEYWORD3>sp_drop_agent_parameter</KEYWORD3>\r
+                       <KEYWORD3>sp_drop_agent_profile</KEYWORD3>\r
+                       <KEYWORD3>sp_dropalias</KEYWORD3>\r
+                       <KEYWORD3>sp_dropapprole</KEYWORD3>\r
+                       <KEYWORD3>sp_droparticle</KEYWORD3>\r
+                       <KEYWORD3>sp_dropdevice</KEYWORD3>\r
+                       <KEYWORD3>sp_dropdistpublisher</KEYWORD3>\r
+                       <KEYWORD3>sp_dropdistributiondb</KEYWORD3>\r
+                       <KEYWORD3>sp_dropdistributor</KEYWORD3>\r
+                       <KEYWORD3>sp_dropextendedproc</KEYWORD3>\r
+                       <KEYWORD3>sp_dropgroup</KEYWORD3>\r
+                       <KEYWORD3>sp_droplinkedsrvlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_droplinkedsrvlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_droplogin</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmergearticle</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmergefilter</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmergepublication</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmergepullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmergesubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_dropmessage</KEYWORD3>\r
+                       <KEYWORD3>sp_droporphans</KEYWORD3>\r
+                       <KEYWORD3>sp_droppublication</KEYWORD3>\r
+                       <KEYWORD3>sp_droppullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_dropremotelogin</KEYWORD3>\r
+                       <KEYWORD3>sp_droprole</KEYWORD3>\r
+                       <KEYWORD3>sp_droprolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_dropserver</KEYWORD3>\r
+                       <KEYWORD3>sp_dropsrvrolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_dropsubscriber</KEYWORD3>\r
+                       <KEYWORD3>sp_dropsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_droptask</KEYWORD3>\r
+                       <KEYWORD3>sp_droptype</KEYWORD3>\r
+                       <KEYWORD3>sp_dropuser</KEYWORD3>\r
+                       <KEYWORD3>sp_dropwebtask</KEYWORD3>\r
+                       <KEYWORD3>sp_dsninfo</KEYWORD3>\r
+                       <KEYWORD3>sp_dumpparamcmd</KEYWORD3>\r
+                       <KEYWORD3>sp_enumcodepages</KEYWORD3>\r
+                       <KEYWORD3>sp_enumcustomresolvers</KEYWORD3>\r
+                       <KEYWORD3>sp_enumdsn</KEYWORD3>\r
+                       <KEYWORD3>sp_enumfullsubscribers</KEYWORD3>\r
+                       <KEYWORD3>sp_execute</KEYWORD3>\r
+                       <KEYWORD3>sp_executesql</KEYWORD3>\r
+                       <KEYWORD3>sp_expired_subscription_cleanup</KEYWORD3>\r
+                       <KEYWORD3>sp_fkeys</KEYWORD3>\r
+                       <KEYWORD3>sp_foreignkeys</KEYWORD3>\r
+                       <KEYWORD3>sp_fulltext_catalog</KEYWORD3>\r
+                       <KEYWORD3>sp_fulltext_column</KEYWORD3>\r
+                       <KEYWORD3>sp_fulltext_database</KEYWORD3>\r
+                       <KEYWORD3>sp_fulltext_service</KEYWORD3>\r
+                       <KEYWORD3>sp_fulltext_table</KEYWORD3>\r
+                       <KEYWORD3>sp_generatefilters</KEYWORD3>\r
+                       <KEYWORD3>sp_get_distributor</KEYWORD3>\r
+                       <KEYWORD3>sp_getbindtoken</KEYWORD3>\r
+                       <KEYWORD3>sp_getmergedeletetype</KEYWORD3>\r
+                       <KEYWORD3>sp_grant_publication_access</KEYWORD3>\r
+                       <KEYWORD3>sp_grantdbaccess</KEYWORD3>\r
+                       <KEYWORD3>sp_grantlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_help</KEYWORD3>\r
+                       <KEYWORD3>sp_help_agent_default</KEYWORD3>\r
+                       <KEYWORD3>sp_help_agent_parameter</KEYWORD3>\r
+                       <KEYWORD3>sp_help_agent_profile</KEYWORD3>\r
+                       <KEYWORD3>sp_help_alert</KEYWORD3>\r
+                       <KEYWORD3>sp_help_category</KEYWORD3>\r
+                       <KEYWORD3>sp_help_downloadlist</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_catalogs</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_catalogs_cursor</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_columns</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_columns_cursor</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_tables</KEYWORD3>\r
+                       <KEYWORD3>sp_help_fulltext_tables_cursor</KEYWORD3>\r
+                       <KEYWORD3>sp_help_job</KEYWORD3>\r
+                       <KEYWORD3>sp_help_jobhistory</KEYWORD3>\r
+                       <KEYWORD3>sp_help_jobschedule</KEYWORD3>\r
+                       <KEYWORD3>sp_help_jobserver</KEYWORD3>\r
+                       <KEYWORD3>sp_help_jobstep</KEYWORD3>\r
+                       <KEYWORD3>sp_help_notification</KEYWORD3>\r
+                       <KEYWORD3>sp_help_operator</KEYWORD3>\r
+                       <KEYWORD3>sp_help_publication_access</KEYWORD3>\r
+                       <KEYWORD3>sp_help_targetserver</KEYWORD3>\r
+                       <KEYWORD3>sp_help_targetservergroup</KEYWORD3>\r
+                       <KEYWORD3>sp_helparticle</KEYWORD3>\r
+                       <KEYWORD3>sp_helparticlecolumns</KEYWORD3>\r
+                       <KEYWORD3>sp_helpconstraint</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdb</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdbfixedrole</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdevice</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdistpublisher</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdistributiondb</KEYWORD3>\r
+                       <KEYWORD3>sp_helpdistributor</KEYWORD3>\r
+                       <KEYWORD3>sp_helpextendedproc</KEYWORD3>\r
+                       <KEYWORD3>sp_helpfile</KEYWORD3>\r
+                       <KEYWORD3>sp_helpfilegroup</KEYWORD3>\r
+                       <KEYWORD3>sp_helpgroup</KEYWORD3>\r
+                       <KEYWORD3>sp_helphistory</KEYWORD3>\r
+                       <KEYWORD3>sp_helpindex</KEYWORD3>\r
+                       <KEYWORD3>sp_helplanguage</KEYWORD3>\r
+                       <KEYWORD3>sp_helplinkedsrvlogin</KEYWORD3>\r
+                       <KEYWORD3>sp_helplogins</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergearticle</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergearticleconflicts</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergeconflictrows</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergedeleteconflictrows</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergefilter</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergepublication</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergepullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_helpmergesubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_helpntgroup</KEYWORD3>\r
+                       <KEYWORD3>sp_helppublication</KEYWORD3>\r
+                       <KEYWORD3>sp_helppullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_helpremotelogin</KEYWORD3>\r
+                       <KEYWORD3>sp_helpreplicationdboption</KEYWORD3>\r
+                       <KEYWORD3>sp_helprole</KEYWORD3>\r
+                       <KEYWORD3>sp_helprolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_helprotect</KEYWORD3>\r
+                       <KEYWORD3>sp_helpserver</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsort</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsrvrole</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsrvrolemember</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsubscriberinfo</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_helpsubscription_properties</KEYWORD3>\r
+                       <KEYWORD3>sp_helptask</KEYWORD3>\r
+                       <KEYWORD3>sp_helptext</KEYWORD3>\r
+                       <KEYWORD3>sp_helptrigger</KEYWORD3>\r
+                       <KEYWORD3>sp_helpuser</KEYWORD3>\r
+                       <KEYWORD3>sp_indexes</KEYWORD3>\r
+                       <KEYWORD3>sp_indexoption</KEYWORD3>\r
+                       <KEYWORD3>sp_link_publication</KEYWORD3>\r
+                       <KEYWORD3>sp_linkedservers</KEYWORD3>\r
+                       <KEYWORD3>sp_lock</KEYWORD3>\r
+                       <KEYWORD3>sp_makewebtask</KEYWORD3>\r
+                       <KEYWORD3>sp_manage_jobs_by_login</KEYWORD3>\r
+                       <KEYWORD3>sp_mergedummyupdate</KEYWORD3>\r
+                       <KEYWORD3>sp_mergesubscription_cleanup</KEYWORD3>\r
+                       <KEYWORD3>sp_monitor</KEYWORD3>\r
+                       <KEYWORD3>sp_msx_defect</KEYWORD3>\r
+                       <KEYWORD3>sp_msx_enlist</KEYWORD3>\r
+                       <KEYWORD3>sp_OACreate</KEYWORD3>\r
+                       <KEYWORD3>sp_OADestroy</KEYWORD3>\r
+                       <KEYWORD3>sp_OAGetErrorInfo</KEYWORD3>\r
+                       <KEYWORD3>sp_OAGetProperty</KEYWORD3>\r
+                       <KEYWORD3>sp_OAMethod</KEYWORD3>\r
+                       <KEYWORD3>sp_OASetProperty</KEYWORD3>\r
+                       <KEYWORD3>sp_OAStop</KEYWORD3>\r
+                       <KEYWORD3>sp_password</KEYWORD3>\r
+                       <KEYWORD3>sp_pkeys</KEYWORD3>\r
+                       <KEYWORD3>sp_post_msx_operation</KEYWORD3>\r
+                       <KEYWORD3>sp_prepare</KEYWORD3>\r
+                       <KEYWORD3>sp_primarykeys</KEYWORD3>\r
+                       <KEYWORD3>sp_processmail</KEYWORD3>\r
+                       <KEYWORD3>sp_procoption</KEYWORD3>\r
+                       <KEYWORD3>sp_publication_validation</KEYWORD3>\r
+                       <KEYWORD3>sp_purge_jobhistory</KEYWORD3>\r
+                       <KEYWORD3>sp_purgehistory</KEYWORD3>\r
+                       <KEYWORD3>sp_reassigntask</KEYWORD3>\r
+                       <KEYWORD3>sp_recompile</KEYWORD3>\r
+                       <KEYWORD3>sp_refreshsubscriptions</KEYWORD3>\r
+                       <KEYWORD3>sp_refreshview</KEYWORD3>\r
+                       <KEYWORD3>sp_reinitmergepullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_reinitmergesubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_reinitpullsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_reinitsubscription</KEYWORD3>\r
+                       <KEYWORD3>sp_remoteoption</KEYWORD3>\r
+                       <KEYWORD3>sp_remove_job_from_targets</KEYWORD3>\r
+                       <KEYWORD3>sp_removedbreplication</KEYWORD3>\r
+                       <KEYWORD3>sp_rename</KEYWORD3>\r
+                       <KEYWORD3>sp_renamedb</KEYWORD3>\r
+                       <KEYWORD3>sp_replcmds</KEYWORD3>\r
+                       <KEYWORD3>sp_replcounters</KEYWORD3>\r
+                       <KEYWORD3>sp_repldone</KEYWORD3>\r
+                       <KEYWORD3>sp_replflush</KEYWORD3>\r
+                       <KEYWORD3>sp_replication_agent_checkup</KEYWORD3>\r
+                       <KEYWORD3>sp_replicationdboption</KEYWORD3>\r
+                       <KEYWORD3>sp_replsetoriginator</KEYWORD3>\r
+                       <KEYWORD3>sp_replshowcmds</KEYWORD3>\r
+                       <KEYWORD3>sp_repltrans</KEYWORD3>\r
+                       <KEYWORD3>sp_reset_connection</KEYWORD3>\r
+                       <KEYWORD3>sp_resync_targetserver</KEYWORD3>\r
+                       <KEYWORD3>sp_revoke_publication_access</KEYWORD3>\r
+                       <KEYWORD3>sp_revokedbaccess</KEYWORD3>\r
+                       <KEYWORD3>sp_revokelogin</KEYWORD3>\r
+                       <KEYWORD3>sp_runwebtask</KEYWORD3>\r
+                       <KEYWORD3>sp_script_synctran_commands</KEYWORD3>\r
+                       <KEYWORD3>sp_scriptdelproc</KEYWORD3>\r
+                       <KEYWORD3>sp_scriptinsproc</KEYWORD3>\r
+                       <KEYWORD3>sp_scriptmappedupdproc</KEYWORD3>\r
+                       <KEYWORD3>sp_scriptupdproc</KEYWORD3>\r
+                       <KEYWORD3>sp_sdidebug</KEYWORD3>\r
+                       <KEYWORD3>sp_server_info</KEYWORD3>\r
+                       <KEYWORD3>sp_serveroption</KEYWORD3>\r
+                       <KEYWORD3>sp_serveroption</KEYWORD3>\r
+                       <KEYWORD3>sp_setapprole</KEYWORD3>\r
+                       <KEYWORD3>sp_setnetname</KEYWORD3>\r
+                       <KEYWORD3>sp_spaceused</KEYWORD3>\r
+                       <KEYWORD3>sp_special_columns</KEYWORD3>\r
+                       <KEYWORD3>sp_sproc_columns</KEYWORD3>\r
+                       <KEYWORD3>sp_srvrolepermission</KEYWORD3>\r
+                       <KEYWORD3>sp_start_job</KEYWORD3>\r
+                       <KEYWORD3>sp_statistics</KEYWORD3>\r
+                       <KEYWORD3>sp_stop_job</KEYWORD3>\r
+                       <KEYWORD3>sp_stored_procedures</KEYWORD3>\r
+                       <KEYWORD3>sp_subscription_cleanup</KEYWORD3>\r
+                       <KEYWORD3>sp_table_privileges</KEYWORD3>\r
+                       <KEYWORD3>sp_table_privileges_ex</KEYWORD3>\r
+                       <KEYWORD3>sp_table_validation</KEYWORD3>\r
+                       <KEYWORD3>sp_tableoption</KEYWORD3>\r
+                       <KEYWORD3>sp_tables</KEYWORD3>\r
+                       <KEYWORD3>sp_tables_ex</KEYWORD3>\r
+                       <KEYWORD3>sp_unbindefault</KEYWORD3>\r
+                       <KEYWORD3>sp_unbindrule</KEYWORD3>\r
+                       <KEYWORD3>sp_unprepare</KEYWORD3>\r
+                       <KEYWORD3>sp_update_agent_profile</KEYWORD3>\r
+                       <KEYWORD3>sp_update_alert</KEYWORD3>\r
+                       <KEYWORD3>sp_update_category</KEYWORD3>\r
+                       <KEYWORD3>sp_update_job</KEYWORD3>\r
+                       <KEYWORD3>sp_update_jobschedule</KEYWORD3>\r
+                       <KEYWORD3>sp_update_jobstep</KEYWORD3>\r
+                       <KEYWORD3>sp_update_notification</KEYWORD3>\r
+                       <KEYWORD3>sp_update_operator</KEYWORD3>\r
+                       <KEYWORD3>sp_update_targetservergroup</KEYWORD3>\r
+                       <KEYWORD3>sp_updatestats</KEYWORD3>\r
+                       <KEYWORD3>sp_updatetask</KEYWORD3>\r
+                       <KEYWORD3>sp_validatelogins</KEYWORD3>\r
+                       <KEYWORD3>sp_validname</KEYWORD3>\r
+                       <KEYWORD3>sp_who</KEYWORD3>\r
+                       <KEYWORD3>xp_cmdshell</KEYWORD3>\r
+                       <KEYWORD3>xp_deletemail</KEYWORD3>\r
+                       <KEYWORD3>xp_enumgroups</KEYWORD3>\r
+                       <KEYWORD3>xp_findnextmsg</KEYWORD3>\r
+                       <KEYWORD3>xp_findnextmsg</KEYWORD3>\r
+                       <KEYWORD3>xp_grantlogin</KEYWORD3>\r
+                       <KEYWORD3>xp_logevent</KEYWORD3>\r
+                       <KEYWORD3>xp_loginconfig</KEYWORD3>\r
+                       <KEYWORD3>xp_logininfo</KEYWORD3>\r
+                       <KEYWORD3>xp_msver</KEYWORD3>\r
+                       <KEYWORD3>xp_readmail</KEYWORD3>\r
+                       <KEYWORD3>xp_revokelogin</KEYWORD3>\r
+                       <KEYWORD3>xp_sendmail</KEYWORD3>\r
+                       <KEYWORD3>xp_sprintf</KEYWORD3>\r
+                       <KEYWORD3>xp_sqlinventory</KEYWORD3>\r
+                       <KEYWORD3>xp_sqlmaint</KEYWORD3>\r
+                       <KEYWORD3>xp_sqltrace</KEYWORD3>\r
+                       <KEYWORD3>xp_sscanf</KEYWORD3>\r
+                       <KEYWORD3>xp_startmail</KEYWORD3>\r
+                       <KEYWORD3>xp_stopmail</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_addnewqueue</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_deletequeuedefinition</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_destroyqueue</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_enumqueuedefname</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_enumqueuehandles</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_eventclassrequired</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_flushqueryhistory</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_generate_event</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getappfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getconnectionidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getcpufilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getdbidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getdurationfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_geteventfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_geteventnames</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getevents</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_gethostfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_gethpidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getindidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getntdmfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getntnmfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getobjidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getqueueautostart</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getqueuedestination</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getqueueproperties</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getreadfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getserverfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getseverityfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getspidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getsysobjectsfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_gettextfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getuserfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_getwritefilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_loadqueuedefinition</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_pausequeue</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_restartqueue</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_savequeuedefinition</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setappfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setconnectionidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setcpufilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setdbidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setdurationfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_seteventclassrequired</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_seteventfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_sethostfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_sethpidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setindidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setntdmfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setntnmfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setobjidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setqueryhistory</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setqueueautostart</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setqueuecreateinfo</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setqueuedestination</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setreadfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setserverfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setseverityfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setspidfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setsysobjectsfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_settextfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setuserfilter</KEYWORD3>\r
+                       <KEYWORD3>xp_trace_setwritefilter</KEYWORD3>\r
+                       <KEYWORD3>fn_helpcollations</KEYWORD3>\r
+                       <KEYWORD3>fn_servershareddrives</KEYWORD3>\r
+                       <KEYWORD3>fn_virtualfilestats</KEYWORD3>\r
+\r
+                       <!-- SQL Server 7.0 system tables -->\r
+                       <KEYWORD3>backupfile</KEYWORD3>\r
+                       <KEYWORD3>backupmediafamily</KEYWORD3>\r
+                       <KEYWORD3>backupmediaset</KEYWORD3>\r
+                       <KEYWORD3>backupset</KEYWORD3>\r
+                       <KEYWORD3>MSagent_parameters</KEYWORD3>\r
+                       <KEYWORD3>MSagent_profiles</KEYWORD3>\r
+                       <KEYWORD3>MSarticles</KEYWORD3>\r
+                       <KEYWORD3>MSdistpublishers</KEYWORD3>\r
+                       <KEYWORD3>MSdistribution_agents</KEYWORD3>\r
+                       <KEYWORD3>MSdistribution_history</KEYWORD3>\r
+                       <KEYWORD3>MSdistributiondbs</KEYWORD3>\r
+                       <KEYWORD3>MSdistributor</KEYWORD3>\r
+                       <KEYWORD3>MSlogreader_agents</KEYWORD3>\r
+                       <KEYWORD3>MSlogreader_history</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_agents</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_contents</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_delete_conflicts</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_genhistory</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_history</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_replinfo</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_subscriptions</KEYWORD3>\r
+                       <KEYWORD3>MSmerge_tombstone</KEYWORD3>\r
+                       <KEYWORD3>MSpublication_access</KEYWORD3>\r
+                       <KEYWORD3>Mspublications</KEYWORD3>\r
+                       <KEYWORD3>Mspublisher_databases</KEYWORD3>\r
+                       <KEYWORD3>MSrepl_commands</KEYWORD3>\r
+                       <KEYWORD3>MSrepl_errors</KEYWORD3>\r
+                       <KEYWORD3>Msrepl_originators</KEYWORD3>\r
+                       <KEYWORD3>MSrepl_transactions</KEYWORD3>\r
+                       <KEYWORD3>MSrepl_version</KEYWORD3>\r
+                       <KEYWORD3>MSreplication_objects</KEYWORD3>\r
+                       <KEYWORD3>MSreplication_subscriptions</KEYWORD3>\r
+                       <KEYWORD3>MSsnapshot_agents</KEYWORD3>\r
+                       <KEYWORD3>MSsnapshot_history</KEYWORD3>\r
+                       <KEYWORD3>MSsubscriber_info</KEYWORD3>\r
+                       <KEYWORD3>MSsubscriber_schedule</KEYWORD3>\r
+                       <KEYWORD3>MSsubscription_properties</KEYWORD3>\r
+                       <KEYWORD3>MSsubscriptions</KEYWORD3>\r
+                       <KEYWORD3>restorefile</KEYWORD3>\r
+                       <KEYWORD3>restorefilegroup</KEYWORD3>\r
+                       <KEYWORD3>restorehistory</KEYWORD3>\r
+                       <KEYWORD3>sysalerts</KEYWORD3>\r
+                       <KEYWORD3>sysallocations</KEYWORD3>\r
+                       <KEYWORD3>sysaltfiles</KEYWORD3>\r
+                       <KEYWORD3>sysarticles</KEYWORD3>\r
+                       <KEYWORD3>sysarticleupdates</KEYWORD3>\r
+                       <KEYWORD3>syscacheobjects</KEYWORD3>\r
+                       <KEYWORD3>syscategories</KEYWORD3>\r
+                       <KEYWORD3>syscharsets</KEYWORD3>\r
+                       <KEYWORD3>syscolumns</KEYWORD3>\r
+                       <KEYWORD3>syscomments</KEYWORD3>\r
+                       <KEYWORD3>sysconfigures</KEYWORD3>\r
+                       <KEYWORD3>sysconstraints</KEYWORD3>\r
+                       <KEYWORD3>syscurconfigs</KEYWORD3>\r
+                       <KEYWORD3>sysdatabases</KEYWORD3>\r
+                       <KEYWORD3>sysdatabases</KEYWORD3>\r
+                       <KEYWORD3>sysdepends</KEYWORD3>\r
+                       <KEYWORD3>sysdevices</KEYWORD3>\r
+                       <KEYWORD3>sysdownloadlist</KEYWORD3>\r
+                       <KEYWORD3>sysfilegroups</KEYWORD3>\r
+                       <KEYWORD3>sysfiles</KEYWORD3>\r
+                       <KEYWORD3>sysforeignkeys</KEYWORD3>\r
+                       <KEYWORD3>sysfulltextcatalogs</KEYWORD3>\r
+                       <KEYWORD3>sysindexes</KEYWORD3>\r
+                       <KEYWORD3>sysindexkeys</KEYWORD3>\r
+                       <KEYWORD3>sysjobhistory</KEYWORD3>\r
+                       <KEYWORD3>sysjobs</KEYWORD3>\r
+                       <KEYWORD3>sysjobschedules</KEYWORD3>\r
+                       <KEYWORD3>sysjobservers</KEYWORD3>\r
+                       <KEYWORD3>sysjobsteps</KEYWORD3>\r
+                       <KEYWORD3>syslanguages</KEYWORD3>\r
+                       <KEYWORD3>syslockinfo</KEYWORD3>\r
+                       <KEYWORD3>syslogins</KEYWORD3>\r
+                       <KEYWORD3>sysmembers</KEYWORD3>\r
+                       <KEYWORD3>sysmergearticles</KEYWORD3>\r
+                       <KEYWORD3>sysmergepublications</KEYWORD3>\r
+                       <KEYWORD3>sysmergeschemachange</KEYWORD3>\r
+                       <KEYWORD3>sysmergesubscriptions</KEYWORD3>\r
+                       <KEYWORD3>sysmergesubsetfilters</KEYWORD3>\r
+                       <KEYWORD3>sysmessages</KEYWORD3>\r
+                       <KEYWORD3>sysnotifications</KEYWORD3>\r
+                       <KEYWORD3>sysobjects</KEYWORD3>\r
+                       <KEYWORD3>sysobjects</KEYWORD3>\r
+                       <KEYWORD3>sysoledbusers</KEYWORD3>\r
+                       <KEYWORD3>sysoperators</KEYWORD3>\r
+                       <KEYWORD3>sysperfinfo</KEYWORD3>\r
+                       <KEYWORD3>syspermissions</KEYWORD3>\r
+                       <KEYWORD3>sysprocesses</KEYWORD3>\r
+                       <KEYWORD3>sysprotects</KEYWORD3>\r
+                       <KEYWORD3>syspublications</KEYWORD3>\r
+                       <KEYWORD3>sysreferences</KEYWORD3>\r
+                       <KEYWORD3>sysremotelogins</KEYWORD3>\r
+                       <KEYWORD3>sysreplicationalerts</KEYWORD3>\r
+                       <KEYWORD3>sysservers</KEYWORD3>\r
+                       <KEYWORD3>sysservers</KEYWORD3>\r
+                       <KEYWORD3>syssubscriptions</KEYWORD3>\r
+                       <KEYWORD3>systargetservergroupmembers</KEYWORD3>\r
+                       <KEYWORD3>systargetservergroups</KEYWORD3>\r
+                       <KEYWORD3>systargetservers</KEYWORD3>\r
+                       <KEYWORD3>systaskids</KEYWORD3>\r
+                       <KEYWORD3>systypes</KEYWORD3>\r
+                       <KEYWORD3>sysusers</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/tthtml.xml b/basis/xmode/modes/tthtml.xml
new file mode 100644 (file)
index 0000000..37bfa2f
--- /dev/null
@@ -0,0 +1,266 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+<MODE>\r
+       <!--\r
+               Made by Krassimir Berov: k.berov@gmail.com \r
+       -->\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="lineComment" VALUE="#" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
+               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
+               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
+               <PROPERTY NAME="indentNextLine" VALUE="(FOREACH|FOR|WHILE|IF|ELSIF|ELSE|UNLESS|SWITCH|CASE|TRY|CATCH)(\s.*?)?;" />\r
+       </PROPS>\r
+\r
+       <!-- ESCAPE is not exactly right but it is needed to correctly\r
+            handle JavaScript in on* parameters -->\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ><!-- give priority to TT -->\r
+\r
+       </RULES>\r
+\r
+       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
+               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
+               <!-- handle <SCRIPT SRC="..."> properly -->\r
+               <SEQ TYPE="MARKUP" DELEGATE="html::MAIN">SRC=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
+       </RULES>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>[%#</BEGIN>\r
+                       <END>%]</END>\r
+               </SPAN>\r
+               <SPAN_REGEXP DELEGATE="perl::MAIN" HASH_CHAR="[%">\r
+                       <BEGIN>\[%\s*?PERL\s*?%\]</BEGIN>\r
+                       <END>\[%\s*?END\s*?%\]</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <SPAN TYPE="LITERAL3" DELEGATE="TT">\r
+                       <BEGIN>[%</BEGIN>\r
+                       <END>%]</END>\r
+               </SPAN>\r
+       </RULES>\r
+       <RULES SET="TT"\r
+                       IGNORE_CASE="FALSE"\r
+                       HIGHLIGHT_DIGITS="TRUE"\r
+                       DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <!-- Scalar variables -->\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$#?[\w:]+</SEQ_REGEXP>\r
+               <!-- Scalar variables\r
+               <SEQ_REGEXP ->ADD HASH_CHARS here if uncommenting<- TYPE="KEYWORD2">\s[a-z_0-9]+\s</SEQ_REGEXP> -->\r
+               <!-- Compound Variables -->\r
+               <MARK_PREVIOUS TYPE="KEYWORD4" MATCH_TYPE="CONTEXT">.</MARK_PREVIOUS>\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="CONTEXT">(</MARK_PREVIOUS>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">]</SEQ>\r
+               <SEQ TYPE="OPERATOR">[</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <KEYWORDS>\r
+                       <!-- Template directives -->\r
+                       <KEYWORD1>SET</KEYWORD1>\r
+                       <KEYWORD1>GET</KEYWORD1>\r
+                       <KEYWORD1>CALL</KEYWORD1>\r
+                       <KEYWORD1>DEFAULT</KEYWORD1>\r
+                       <KEYWORD1>IF</KEYWORD1>\r
+                       <KEYWORD1>ELSIF</KEYWORD1>\r
+                       <KEYWORD1>ELSE</KEYWORD1>\r
+                       <KEYWORD1>UNLESS</KEYWORD1>\r
+                       <KEYWORD1>LAST</KEYWORD1>\r
+                       <KEYWORD1>NEXT</KEYWORD1>\r
+                       <KEYWORD1>FOR</KEYWORD1>\r
+                       <KEYWORD1>FOREACH</KEYWORD1>\r
+                       <KEYWORD1>WHILE</KEYWORD1>\r
+                       <KEYWORD1>SWITCH</KEYWORD1>\r
+                       <KEYWORD1>CASE</KEYWORD1>\r
+                       <KEYWORD1>PROCESS</KEYWORD1>\r
+                       <KEYWORD1>INCLUDE</KEYWORD1>\r
+                       <KEYWORD1>INSERT</KEYWORD1>\r
+                       <KEYWORD1>WRAPPER</KEYWORD1>\r
+                       <KEYWORD1>BLOCK</KEYWORD1>\r
+                       <KEYWORD1>MACRO</KEYWORD1>\r
+                       <KEYWORD1>END</KEYWORD1>\r
+                       <KEYWORD1>USE</KEYWORD1>\r
+                       <KEYWORD1>IN</KEYWORD1>\r
+                       <KEYWORD1>FILTER</KEYWORD1>\r
+                       <KEYWORD1>TRY</KEYWORD1>\r
+                       <KEYWORD1>THROW</KEYWORD1>\r
+                       <KEYWORD1>CATCH</KEYWORD1>\r
+                       <KEYWORD1>FINAL</KEYWORD1>\r
+                       <KEYWORD1>META</KEYWORD1>\r
+                       <KEYWORD1>TAGS</KEYWORD1>\r
+                       <KEYWORD1>DEBUG</KEYWORD1>\r
+                       <KEYWORD1>PERL</KEYWORD1>\r
+                       <!-- Compile Time Constant Folding -->\r
+                       <KEYWORD1>constants</KEYWORD1>\r
+                       <!-- Special Variables -->\r
+                       <KEYWORD2>template</KEYWORD2>\r
+                       <KEYWORD2>component</KEYWORD2>\r
+                       <KEYWORD2>loop</KEYWORD2>\r
+                       <KEYWORD2>error</KEYWORD2>\r
+                       <KEYWORD2>content</KEYWORD2>\r
+\r
+                       <!-- VMethods -->\r
+                       <!-- Scalar Virtual Methods -->\r
+                       <KEYWORD3>defined</KEYWORD3>\r
+                       <KEYWORD3>length</KEYWORD3>\r
+                       <KEYWORD3>repeat</KEYWORD3>\r
+                       <KEYWORD3>replace</KEYWORD3>\r
+                       <KEYWORD3>match</KEYWORD3>\r
+                       <KEYWORD3>search</KEYWORD3>\r
+                       <KEYWORD3>split</KEYWORD3>\r
+                       <KEYWORD3>chunk</KEYWORD3>\r
+                       <KEYWORD3>list</KEYWORD3>\r
+                       <KEYWORD3>hash</KEYWORD3>\r
+                       <KEYWORD3>size</KEYWORD3>\r
+\r
+                       <!-- Hash Virtual Methods -->\r
+                       <KEYWORD3>keys</KEYWORD3>\r
+                       <KEYWORD3>values</KEYWORD3>\r
+                       <KEYWORD3>each</KEYWORD3>\r
+                       <KEYWORD3>sort</KEYWORD3>\r
+                       <KEYWORD3>nsort</KEYWORD3>\r
+                       <KEYWORD3>import</KEYWORD3>\r
+                       <KEYWORD3>defined</KEYWORD3>\r
+                       <KEYWORD3>exists</KEYWORD3>\r
+                       <KEYWORD3>item</KEYWORD3>\r
+\r
+                       <!-- List Virtual Methods -->\r
+                       <KEYWORD3>first</KEYWORD3>\r
+                       <KEYWORD3>last</KEYWORD3>\r
+                       <KEYWORD3>max</KEYWORD3>\r
+                       <KEYWORD3>reverse</KEYWORD3>\r
+                       <KEYWORD3>join</KEYWORD3>\r
+                       <KEYWORD3>grep</KEYWORD3>\r
+                       <KEYWORD3>unshift</KEYWORD3>\r
+                       <KEYWORD3>push</KEYWORD3>\r
+                       <KEYWORD3>shift</KEYWORD3>\r
+                       <KEYWORD3>pop</KEYWORD3>\r
+                       <KEYWORD3>unique</KEYWORD3>\r
+                       <KEYWORD3>merge</KEYWORD3>\r
+                       <KEYWORD3>slice</KEYWORD3>\r
+                       <KEYWORD3>splice</KEYWORD3>\r
+                       <KEYWORD3>count</KEYWORD3>\r
+\r
+                       <!-- Standard filters -->\r
+                       <FUNCTION>format</FUNCTION>\r
+                       <FUNCTION>upper</FUNCTION>\r
+                       <FUNCTION>lower</FUNCTION>\r
+                       <FUNCTION>ucfirst</FUNCTION>\r
+                       <FUNCTION>lcfirst</FUNCTION>\r
+                       <FUNCTION>trim</FUNCTION>\r
+                       <FUNCTION>collapse</FUNCTION>\r
+                       <FUNCTION>html</FUNCTION>\r
+                       <FUNCTION>html_entity</FUNCTION>\r
+                       <FUNCTION>html_para</FUNCTION>\r
+                       <FUNCTION>html_break</FUNCTION>\r
+                       <FUNCTION>html_para_break</FUNCTION>\r
+                       <FUNCTION>html_line_break</FUNCTION>\r
+                       <FUNCTION>uri</FUNCTION>\r
+                       <FUNCTION>url</FUNCTION>\r
+                       <FUNCTION>indent</FUNCTION>\r
+                       <FUNCTION>truncate</FUNCTION>\r
+                       <FUNCTION>repeat</FUNCTION>\r
+                       <FUNCTION>remove</FUNCTION>\r
+                       <FUNCTION>replace</FUNCTION>\r
+                       <FUNCTION>redirect</FUNCTION>\r
+                       <FUNCTION>eval</FUNCTION>\r
+                       <FUNCTION>evaltt</FUNCTION>\r
+                       <FUNCTION>perl</FUNCTION>\r
+                       <FUNCTION>evalperl</FUNCTION>\r
+                       <FUNCTION>stdout</FUNCTION>\r
+                       <FUNCTION>stderr</FUNCTION>\r
+                       <FUNCTION>null</FUNCTION>\r
+                       <FUNCTION>latex</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/twiki.xml b/basis/xmode/modes/twiki.xml
new file mode 100644 (file)
index 0000000..364fec0
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- catalog entry:\r
+\r
+<MODE NAME="twiki"             FILE="twiki.xml"\r
+                               FILE_NAME_GLOB="*.twiki"/>\r
+\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="noTabs" VALUE="true" />\r
+               <PROPERTY NAME="wrap" VALUE="soft" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
+\r
+               <!-- though not encouraged, HTML is supported -->\r
+               <IMPORT DELEGATE="html::MAIN"/>\r
+\r
+               <!-- signature - a convention, not actual markup -->\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">-- </EOL_SPAN>\r
+\r
+               <!-- header -->\r
+               <EOL_SPAN_REGEXP HASH_CHAR="---+" \r
+                       TYPE="KEYWORD1" \r
+                       AT_LINE_START="TRUE"\r
+                       >-{3}[+]{1,6}(?:!!)?\s</EOL_SPAN_REGEXP>\r
+\r
+               <!-- bold -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="*"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >\*[^\s*][^*]*\*</SEQ_REGEXP>\r
+\r
+               <!-- bold and italic -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="__"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >__\w.*?\w__</SEQ_REGEXP>\r
+\r
+               <!-- italic -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="_"\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >_\w.*?\w_</SEQ_REGEXP>\r
+\r
+               <!-- bold and fixed font -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="=="\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >==\w.*?\w==</SEQ_REGEXP>\r
+\r
+               <!-- fixed font -->\r
+               <SEQ_REGEXP\r
+                       HASH_CHAR="="\r
+                       AT_LINE_START="FALSE"\r
+                       TYPE="KEYWORD4"\r
+               >=\w.*?\w=</SEQ_REGEXP>\r
+\r
+               <!-- separator -->\r
+               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD4">---</EOL_SPAN>\r
+\r
+               <!-- wiki words -->\r
+               <SEQ_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ" AT_WORD_START="TRUE" TYPE="KEYWORD2">[A-Z][A-Z.]*[a-z.]+(?:[A-Z][A-Z.]*[a-z.]*[a-z])+</SEQ_REGEXP>\r
+\r
+               <!-- links -->\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>[[</BEGIN>\r
+                       <END>]]</END>\r
+               </SPAN>\r
+\r
+               <!-- verbatim -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>&lt;verbatim&gt;</BEGIN>\r
+                       <END>&lt;/verbatim&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- prevent a link -->\r
+               <SEQ TYPE="LITERAL2">&lt;nop&gt;</SEQ>\r
+\r
+               <!-- disable links -->\r
+               <SPAN TYPE="LITERAL2">\r
+                       <BEGIN>&lt;noautolink&gt;</BEGIN>\r
+                       <END>&lt;/noautolink&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- terms -->\r
+               <SEQ_REGEXP HASH_CHAR=" " TYPE="KEYWORD2" AT_LINE_START="FALSE"\r
+                       >\s{3}\w(?:&amp;nbsp;|-|\w)*?\w+:\s</SEQ_REGEXP>\r
+\r
+               <!-- twiki variables -->\r
+               <SEQ_REGEXP HASH_CHAR="%" \r
+                       TYPE="FUNCTION"\r
+                       >%[A-Z]+(?:\{[^\}]+\})?%</SEQ_REGEXP>\r
+\r
+               <KEYWORDS>\r
+                       <!-- variables, just here for complete-word -->\r
+                       <NULL>ATTACHURL</NULL>\r
+                       <NULL>ATTACHURLPATH</NULL>\r
+                       <NULL>BASETOPIC</NULL>\r
+                       <NULL>BASEWEB</NULL>\r
+                       <NULL>GMTIME</NULL>\r
+                       <NULL>HOMETOPIC</NULL>\r
+                       <NULL>HTTP_HOST</NULL>\r
+                       <NULL>INCLUDE</NULL>\r
+                       <NULL>INCLUDINGTOPIC</NULL>\r
+                       <NULL>INCLUDINGWEB</NULL>\r
+                       <NULL>MAINWEB</NULL>\r
+                       <NULL>NOTIFYTOPIC</NULL>\r
+                       <NULL>PUBURL</NULL>\r
+                       <NULL>PUBURLPATH</NULL>\r
+                       <NULL>REMOTE_ADDR</NULL>\r
+                       <NULL>REMOTE_PORT</NULL>\r
+                       <NULL>REMOTE_USER</NULL>\r
+                       <NULL>SCRIPTSUFFIX</NULL>\r
+                       <NULL>SCRIPTURL</NULL>\r
+                       <NULL>SCRIPTURLPATH</NULL>\r
+                       <NULL>SEARCH</NULL>\r
+                       <NULL>SERVERTIME</NULL>\r
+                       <NULL>SPACEDTOPIC</NULL>\r
+                       <NULL>STARTINCLUDE</NULL>\r
+                       <NULL>STATISTICSTOPIC</NULL>\r
+                       <NULL>STOPINCLUDE</NULL>\r
+                       <NULL>TOC</NULL>\r
+                       <NULL>TOPIC</NULL>\r
+                       <NULL>TOPICLIST</NULL>\r
+                       <NULL>TWIKIWEB</NULL>\r
+                       <NULL>URLENCODE</NULL>\r
+                       <NULL>URLPARAM</NULL>\r
+                       <NULL>USERNAME</NULL>\r
+                       <NULL>WEB</NULL>\r
+                       <NULL>WEBLIST</NULL>\r
+                       <NULL>WEBPREFSTOPIC</NULL>\r
+                       <NULL>WIKIHOMEURL</NULL>\r
+                       <NULL>WIKINAME</NULL>\r
+                       <NULL>WIKIPREFSTOPIC</NULL>\r
+                       <NULL>WIKITOOLNAME</NULL>\r
+                       <NULL>WIKIUSERNAME</NULL>\r
+                       <NULL>WIKIUSERSTOPIC</NULL>\r
+                       <NULL>WIKIVERSION</NULL>\r
+               </KEYWORDS>\r
+\r
+       </RULES>\r
+\r
+</MODE>\r
+\r
+\r
diff --git a/basis/xmode/modes/typoscript.xml b/basis/xmode/modes/typoscript.xml
new file mode 100644 (file)
index 0000000..b9a705b
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- TypoScript syntax highlighting, by Neil Bertram <neil@tasmanstudios.co.nz>\r
+       Based on Kasper's highlighter in ExtDevEval and his "TypoScript Syntax and In-depth Study"\r
+       available at http://typo3.org/documentation/document-library/doc_core_ts/\r
+\r
+  -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="#"/>\r
+               <PROPERTY NAME="lineComment" VALUE="/"/>\r
+               <PROPERTY NAME="commentStart" VALUE="/*"/>\r
+               <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="({"/>\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE=")}"/>\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true"/>\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=":" DEFAULT="MARKUP">\r
+               <!-- Include statement (<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/html/mainmenu_typoscript.txt">) -->\r
+               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" AT_LINE_START="TRUE">\r
+                       <BEGIN>&lt;INCLUDE</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- Assignments (using the = operator) are delegated to the assignment rule for more flexibility -->\r
+               <EOL_SPAN TYPE="OPERATOR" DELEGATE="typoscript::assignment" AT_LINE_START="FALSE" AT_WHITESPACE_END="FALSE">=</EOL_SPAN>\r
+\r
+               <!-- Multi-line assignments (using the (blah blah) syntax) -->\r
+               <SPAN TYPE="OPERATOR" AT_LINE_START="FALSE" NO_LINE_BREAK="FALSE" DELEGATE="typoscript::assignment">\r
+                       <BEGIN>(</BEGIN>\r
+                       <END>)</END>\r
+               </SPAN>\r
+\r
+               <!-- Object copies (using the < operator)\r
+                       Note that object references (=<) are not highlighted due to the fact\r
+                       that they're only supported by the core template engine, and not\r
+                       actually a feature of typoscript itself\r
+                 -->\r
+               <EOL_SPAN TYPE="OPERATOR" AT_LINE_START="FALSE" DELEGATE="typoscript::copy">&lt;</EOL_SPAN>\r
+\r
+               <!-- Comments\r
+                       - note that block comments must start/end at the beginning of the trimmed line\r
+                         but this is difficult to accomplish here, so we just force it to be line-start\r
+                 -->\r
+               <EOL_SPAN AT_WORD_START="TRUE" TYPE="COMMENT4">#</EOL_SPAN>\r
+               <SPAN TYPE="COMMENT1" NO_LINE_BREAK="FALSE" AT_LINE_START="TRUE">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <EOL_SPAN AT_WORD_START="TRUE" TYPE="COMMENT2">/</EOL_SPAN>\r
+\r
+               <!-- Conditionals (anything inside square brackets at a word start -->\r
+               <SPAN TYPE="KEYWORD1" NO_LINE_BREAK="TRUE" AT_WORD_START="TRUE">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <!-- Special characters that haven't been caught yet -->\r
+               <SEQ TYPE="NULL">{</SEQ>\r
+               <SEQ TYPE="NULL">}</SEQ>\r
+               <SEQ TYPE="NULL">(</SEQ>\r
+               <SEQ TYPE="NULL">)</SEQ>\r
+       </RULES>\r
+\r
+       <!-- Rule for both single and multi-line assignments -->\r
+       <RULES SET="assignment" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" DEFAULT="LITERAL1">\r
+               <!-- TypoScript constants inserted with {$blah} are highlighted -->\r
+               <SPAN TYPE="LABEL" AT_WORD_START="FALSE" AT_LINE_START="FALSE">\r
+                       <BEGIN>{$</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- Rule for object copies -->\r
+       <RULES SET="copy" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" DEFAULT="KEYWORD2">\r
+               <!-- nothing right now -->\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/uscript.xml b/basis/xmode/modes/uscript.xml
new file mode 100644 (file)
index 0000000..c9c947f
--- /dev/null
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
+               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="TRUE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <!-- Silly comment -->\r
+               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
+\r
+               <!-- Java comment (C style) -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
+\r
+        <SEQ TYPE="OPERATOR">~</SEQ>\r
+        <SEQ TYPE="OPERATOR">!</SEQ>\r
+        <SEQ TYPE="OPERATOR">@</SEQ>\r
+        <SEQ TYPE="OPERATOR">#</SEQ>\r
+        <SEQ TYPE="OPERATOR">$</SEQ>\r
+        <SEQ TYPE="OPERATOR">^</SEQ>\r
+        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+        <SEQ TYPE="OPERATOR">*</SEQ>\r
+        <SEQ TYPE="OPERATOR">-</SEQ>\r
+        <SEQ TYPE="OPERATOR">=</SEQ>\r
+        <SEQ TYPE="OPERATOR">+</SEQ>\r
+        <SEQ TYPE="OPERATOR">|</SEQ>\r
+        <SEQ TYPE="OPERATOR">\\</SEQ>\r
+        <SEQ TYPE="OPERATOR">:</SEQ>\r
+        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+        <SEQ TYPE="OPERATOR">/</SEQ>\r
+        <SEQ TYPE="OPERATOR">?</SEQ>\r
+        <SEQ TYPE="OPERATOR">`</SEQ>\r
+\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <KEYWORDS>\r
+            <KEYWORD1>abstract</KEYWORD1>\r
+            <KEYWORD1>auto</KEYWORD1>\r
+            <KEYWORD1>array</KEYWORD1>\r
+            <KEYWORD1>case</KEYWORD1>\r
+            <KEYWORD1>class</KEYWORD1>\r
+            <KEYWORD1>coerce</KEYWORD1>\r
+            <KEYWORD1>collapscategories</KEYWORD1>\r
+            <KEYWORD1>config</KEYWORD1>\r
+            <KEYWORD1>const</KEYWORD1>\r
+            <KEYWORD1>default</KEYWORD1>\r
+            <KEYWORD1>defaultproperties</KEYWORD1>\r
+            <KEYWORD1>deprecated</KEYWORD1>\r
+            <KEYWORD1>do</KEYWORD1>\r
+            <KEYWORD1>dontcollapsecategories</KEYWORD1>\r
+            <KEYWORD1>edfindable</KEYWORD1>\r
+            <KEYWORD1>editconst</KEYWORD1>\r
+            <KEYWORD1>editinline</KEYWORD1>\r
+            <KEYWORD1>editinlinenew</KEYWORD1>\r
+            <KEYWORD1>else</KEYWORD1>\r
+            <KEYWORD1>enum</KEYWORD1>\r
+            <KEYWORD1>event</KEYWORD1>\r
+            <KEYWORD1>exec</KEYWORD1>\r
+            <KEYWORD1>export</KEYWORD1>\r
+            <KEYWORD1>exportstructs</KEYWORD1>\r
+            <KEYWORD1>extends</KEYWORD1>\r
+            <KEYWORD1>false</KEYWORD1>\r
+            <KEYWORD1>final</KEYWORD1>\r
+            <KEYWORD1>for</KEYWORD1>\r
+            <KEYWORD1>foreach</KEYWORD1>\r
+            <KEYWORD1>function</KEYWORD1>\r
+            <KEYWORD1>globalconfig</KEYWORD1>\r
+            <KEYWORD1>hidecategories</KEYWORD1>\r
+            <KEYWORD1>if</KEYWORD1>\r
+            <KEYWORD1>ignores</KEYWORD1>\r
+            <KEYWORD1>input</KEYWORD1>\r
+            <KEYWORD1>iterator</KEYWORD1>\r
+            <KEYWORD1>latent</KEYWORD1>\r
+            <KEYWORD1>local</KEYWORD1>\r
+            <KEYWORD1>localized</KEYWORD1>\r
+            <KEYWORD1>native</KEYWORD1>\r
+            <KEYWORD1>nativereplication</KEYWORD1>\r
+            <KEYWORD1>noexport</KEYWORD1>\r
+            <KEYWORD1>noteditinlinenew</KEYWORD1>\r
+                       <KEYWORD1>notplaceable</KEYWORD1>\r
+            <KEYWORD1>operator</KEYWORD1>\r
+            <KEYWORD1>optional</KEYWORD1>\r
+            <KEYWORD1>out</KEYWORD1>\r
+            <KEYWORD1>perobjectconfig</KEYWORD1>\r
+            <KEYWORD1>placeable</KEYWORD1>\r
+            <KEYWORD1>postoperator</KEYWORD1>\r
+            <KEYWORD1>preoperator</KEYWORD1>\r
+            <KEYWORD1>private</KEYWORD1>\r
+            <KEYWORD1>protected</KEYWORD1>\r
+            <KEYWORD1>reliable</KEYWORD1>\r
+            <KEYWORD1>replication</KEYWORD1>\r
+            <KEYWORD1>return</KEYWORD1>\r
+            <KEYWORD1>safereplace</KEYWORD1>\r
+            <KEYWORD1>showcategories</KEYWORD1>\r
+            <KEYWORD1>simulated</KEYWORD1>\r
+            <KEYWORD1>singular</KEYWORD1>\r
+            <KEYWORD1>state</KEYWORD1>\r
+            <KEYWORD1>static</KEYWORD1>\r
+            <KEYWORD1>struct</KEYWORD1>\r
+            <KEYWORD1>switch</KEYWORD1>\r
+            <KEYWORD1>transient</KEYWORD1>\r
+            <KEYWORD1>travel</KEYWORD1>\r
+            <KEYWORD1>true</KEYWORD1>\r
+            <KEYWORD1>unreliable</KEYWORD1>\r
+            <KEYWORD1>until</KEYWORD1>\r
+            <KEYWORD1>var</KEYWORD1>\r
+            <KEYWORD1>while</KEYWORD1>\r
+            <KEYWORD1>within</KEYWORD1>\r
+\r
+            <KEYWORD2>default</KEYWORD2>\r
+            <KEYWORD2>global</KEYWORD2>\r
+            <KEYWORD2>none</KEYWORD2>\r
+            <KEYWORD2>self</KEYWORD2>\r
+            <KEYWORD2>static</KEYWORD2>\r
+            <KEYWORD2>super</KEYWORD2>\r
+\r
+            <KEYWORD3>bool</KEYWORD3>\r
+            <KEYWORD3>byte</KEYWORD3>\r
+            <KEYWORD3>float</KEYWORD3>\r
+            <KEYWORD3>int</KEYWORD3>\r
+            <KEYWORD3>name</KEYWORD3>\r
+            <KEYWORD3>string</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/vbscript.xml b/basis/xmode/modes/vbscript.xml
new file mode 100644 (file)
index 0000000..9f0e9bf
--- /dev/null
@@ -0,0 +1,739 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- VBScript mode by Andre Kaplan -->\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="lineComment" VALUE="'" />\r
+       </PROPS>\r
+\r
+       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <!-- conditional compilation -->\r
+               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
+               <EOL_SPAN TYPE="KEYWORD2">#end</EOL_SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">'</EOL_SPAN>\r
+               <EOL_SPAN TYPE="COMMENT1">rem </EOL_SPAN>\r
+\r
+               <!-- Comparison operators -->\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">.</SEQ>\r
+               <!-- See in keywords: is -->\r
+\r
+               <!-- Arithmetic operators -->\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">\</SEQ>\r
+               <!-- See in keywords: mod -->\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+\r
+               <!-- Concatenation operators -->\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <!-- <SEQ TYPE="OPERATOR">+</SEQ> -->\r
+\r
+               <!-- Logical operators -->\r
+               <!-- See in keywords: and, or, not, xor, eqv -->\r
+\r
+               <!-- EOL Continuation -->\r
+<!--           <SEQ TYPE="NULL">_</SEQ>-->\r
+               <!-- Instruction separator -->\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Conditional Statements -->\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>elseif</KEYWORD1>\r
+                       <KEYWORD1>select</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+\r
+                       <!-- Loop Statements -->\r
+                       <!-- For..Next -->\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>step</KEYWORD1>\r
+                       <KEYWORD1>next</KEYWORD1>\r
+                       <!-- For Each..Next -->\r
+                       <KEYWORD1>each</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <!-- Do..Loop -->\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>until</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <!-- While..Wend -->\r
+                       <KEYWORD1>wend</KEYWORD1>\r
+\r
+                       <!-- Closing, Exit Statements -->\r
+                       <KEYWORD1>exit</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+\r
+                       <!-- Methods, Functions, Class, Properties, Variables -->\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>sub</KEYWORD1>\r
+                       <KEYWORD1>class</KEYWORD1>\r
+                       <KEYWORD1>property</KEYWORD1>\r
+                       <KEYWORD1>get</KEYWORD1>\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>set</KEYWORD1>\r
+\r
+                       <!-- Parameters passing -->\r
+                       <KEYWORD1>byval</KEYWORD1>\r
+                       <KEYWORD1>byref</KEYWORD1>\r
+\r
+                       <!-- Declaration -->\r
+                       <KEYWORD1>const</KEYWORD1>\r
+                       <KEYWORD1>dim</KEYWORD1>\r
+                       <KEYWORD1>redim</KEYWORD1>\r
+                       <KEYWORD1>preserve</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+\r
+                       <!-- Object Assignement/Instantiation -->\r
+                       <KEYWORD1>set</KEYWORD1>\r
+                       <KEYWORD1>with</KEYWORD1>\r
+                       <KEYWORD1>new</KEYWORD1>\r
+\r
+                       <!-- Visibility -->\r
+                       <KEYWORD1>public</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>private</KEYWORD1>\r
+\r
+                       <!-- Comments -->\r
+                       <KEYWORD1>rem</KEYWORD1>\r
+\r
+                       <!-- Function Call - Dynamic Evaluation -->\r
+                       <KEYWORD1>call</KEYWORD1>\r
+                       <KEYWORD1>execute</KEYWORD1>\r
+                       <KEYWORD1>eval</KEYWORD1>\r
+\r
+                       <!-- Miscellaneous -->\r
+                       <KEYWORD1>on</KEYWORD1>\r
+                       <KEYWORD1>error</KEYWORD1>\r
+                       <KEYWORD1>goto</KEYWORD1>\r
+                       <KEYWORD1>resume</KEYWORD1>\r
+                       <KEYWORD1>option</KEYWORD1>\r
+                       <KEYWORD1>explicit</KEYWORD1>\r
+                       <KEYWORD1>erase</KEYWORD1>\r
+                       <KEYWORD1>randomize</KEYWORD1>\r
+\r
+                       <!-- Operators -->\r
+                       <!-- Comparison operators -->\r
+                       <OPERATOR>is</OPERATOR>\r
+                       <!-- Arithmetic operators -->\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <!-- Logical operators -->\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>not</OPERATOR>\r
+                       <OPERATOR>xor</OPERATOR>\r
+                       <OPERATOR>imp</OPERATOR>\r
+\r
+                       <!-- Datatypes Constants/Literals -->\r
+                       <KEYWORD3>false</KEYWORD3>\r
+                       <KEYWORD3>true</KEYWORD3>\r
+                       <KEYWORD3>empty</KEYWORD3>\r
+                       <KEYWORD3>nothing</KEYWORD3>\r
+                       <KEYWORD3>null</KEYWORD3>\r
+\r
+                       <!-- VBScript Constants -->\r
+                       <!-- Color constants -->\r
+                       <LITERAL2>vbblack</LITERAL2>\r
+                       <LITERAL2>vbred</LITERAL2>\r
+                       <LITERAL2>vbgreen</LITERAL2>\r
+                       <LITERAL2>vbyellow</LITERAL2>\r
+                       <LITERAL2>vbblue</LITERAL2>\r
+                       <LITERAL2>vbmagenta</LITERAL2>\r
+                       <LITERAL2>vbcyan</LITERAL2>\r
+                       <LITERAL2>vbwhite</LITERAL2>\r
+\r
+                       <!-- Date & Time Constants -->\r
+<!--                   <LITERAL2>vbSunday</LITERAL2>\r
+                       <LITERAL2>vbMonday</LITERAL2>\r
+                       <LITERAL2>vbTuesday</LITERAL2>\r
+                       <LITERAL2>vbWednesday</LITERAL2>\r
+                       <LITERAL2>vbThursday</LITERAL2>\r
+                       <LITERAL2>vbFriday</LITERAL2>\r
+                       <LITERAL2>vbSaturday</LITERAL2>\r
+                       <LITERAL2>vbUseSystem</LITERAL2>\r
+                       <LITERAL2>vbUseSystemDayOfWeek</LITERAL2>\r
+                       <LITERAL2>vbFirstJan1</LITERAL2>\r
+                       <LITERAL2>vbFirstFourDays</LITERAL2>\r
+                       <LITERAL2>vbFirstFullWeek</LITERAL2>\r
+-->\r
+                       <!-- Date Format Constants -->\r
+                       <LITERAL2>vbGeneralDate</LITERAL2>\r
+                       <LITERAL2>vbLongDate</LITERAL2>\r
+                       <LITERAL2>vbShortDate</LITERAL2>\r
+                       <LITERAL2>vbLongTime</LITERAL2>\r
+                       <LITERAL2>vbShortTime</LITERAL2>\r
+\r
+                       <!-- Miscellaneous  -->\r
+                       <LITERAL2>vbObjectError</LITERAL2>\r
+                       <KEYWORD2>Err</KEYWORD2>\r
+\r
+                       <!-- MsgBox Constants -->\r
+                       <LITERAL2>vbOKOnly</LITERAL2>\r
+                       <LITERAL2>vbOKCancel</LITERAL2>\r
+                       <LITERAL2>vbAbortRetryIgnore</LITERAL2>\r
+                       <LITERAL2>vbYesNoCancel</LITERAL2>\r
+                       <LITERAL2>vbYesNo</LITERAL2>\r
+                       <LITERAL2>vbRetryCancel</LITERAL2>\r
+                       <LITERAL2>vbCritical</LITERAL2>\r
+                       <LITERAL2>vbQuestion</LITERAL2>\r
+                       <LITERAL2>vbExclamation</LITERAL2>\r
+                       <LITERAL2>vbInformation</LITERAL2>\r
+                       <LITERAL2>vbDefaultButton1</LITERAL2>\r
+                       <LITERAL2>vbDefaultButton2</LITERAL2>\r
+                       <LITERAL2>vbDefaultButton3</LITERAL2>\r
+                       <LITERAL2>vbDefaultButton4</LITERAL2>\r
+                       <LITERAL2>vbApplicationModal</LITERAL2>\r
+                       <LITERAL2>vbSystemModal</LITERAL2>\r
+                       <LITERAL2>vbOK</LITERAL2>\r
+                       <LITERAL2>vbCancel</LITERAL2>\r
+                       <LITERAL2>vbAbort</LITERAL2>\r
+                       <LITERAL2>vbRetry</LITERAL2>\r
+                       <LITERAL2>vbIgnore</LITERAL2>\r
+                       <LITERAL2>vbYes</LITERAL2>\r
+                       <LITERAL2>vbNo</LITERAL2>\r
+\r
+                       <!-- Tristate Constants -->\r
+                       <LITERAL2>vbUseDefault</LITERAL2>\r
+                       <LITERAL2>vbTrue</LITERAL2>\r
+                       <LITERAL2>vbFalse</LITERAL2>\r
+\r
+                       <!-- String Constants -->\r
+                       <LITERAL2>vbcr</LITERAL2>\r
+                       <LITERAL2>vbcrlf</LITERAL2>\r
+                       <LITERAL2>vbformfeed</LITERAL2>\r
+                       <LITERAL2>vblf</LITERAL2>\r
+                       <LITERAL2>vbnewline</LITERAL2>\r
+                       <LITERAL2>vbnullchar</LITERAL2>\r
+                       <LITERAL2>vbnullstring</LITERAL2>\r
+                       <LITERAL2>vbtab</LITERAL2>\r
+                       <LITERAL2>vbverticaltab</LITERAL2>\r
+                       <!-- VarType Constants -->\r
+                       <LITERAL2>vbempty</LITERAL2>\r
+                       <LITERAL2>vbnull</LITERAL2>\r
+                       <LITERAL2>vbinteger</LITERAL2>\r
+                       <LITERAL2>vblong</LITERAL2>\r
+                       <LITERAL2>vbsingle</LITERAL2>\r
+                       <LITERAL2>vbdouble</LITERAL2>\r
+                       <LITERAL2>vbcurrency</LITERAL2>\r
+                       <LITERAL2>vbdate</LITERAL2>\r
+                       <LITERAL2>vbstring</LITERAL2>\r
+                       <LITERAL2>vbobject</LITERAL2>\r
+                       <LITERAL2>vberror</LITERAL2>\r
+                       <LITERAL2>vbboolean</LITERAL2>\r
+                       <LITERAL2>vbvariant</LITERAL2>\r
+                       <LITERAL2>vbdataobject</LITERAL2>\r
+                       <LITERAL2>vbdecimal</LITERAL2>\r
+                       <LITERAL2>vbbyte</LITERAL2>\r
+                       <LITERAL2>vbarray</LITERAL2>\r
+\r
+                       <!-- Built-in Functions -->\r
+                       <!-- Array Handling -->\r
+                       <KEYWORD2>array</KEYWORD2>\r
+                       <KEYWORD2>lbound</KEYWORD2>\r
+                       <KEYWORD2>ubound</KEYWORD2>\r
+                       <!-- Conversion Functions (Variant) -->\r
+                       <KEYWORD2>cbool</KEYWORD2>\r
+                       <KEYWORD2>cbyte</KEYWORD2>\r
+                       <KEYWORD2>ccur</KEYWORD2>\r
+                       <KEYWORD2>cdate</KEYWORD2>\r
+                       <KEYWORD2>cdbl</KEYWORD2>\r
+                       <KEYWORD2>cint</KEYWORD2>\r
+                       <KEYWORD2>clng</KEYWORD2>\r
+                       <KEYWORD2>csng</KEYWORD2>\r
+                       <KEYWORD2>cstr</KEYWORD2>\r
+                       <!-- Conversion Functions (Radix) -->\r
+                       <KEYWORD2>hex</KEYWORD2>\r
+                       <KEYWORD2>oct</KEYWORD2>\r
+                       <!-- Date/Time Functions -->\r
+                       <KEYWORD2>date</KEYWORD2>\r
+                       <KEYWORD2>time</KEYWORD2>\r
+                       <KEYWORD2>dateadd</KEYWORD2>\r
+                       <KEYWORD2>datediff</KEYWORD2>\r
+                       <KEYWORD2>datepart</KEYWORD2>\r
+                       <KEYWORD2>dateserial</KEYWORD2>\r
+                       <KEYWORD2>datevalue</KEYWORD2>\r
+                       <KEYWORD2>day</KEYWORD2>\r
+                       <KEYWORD2>month</KEYWORD2>\r
+                       <KEYWORD2>monthname</KEYWORD2>\r
+                       <KEYWORD2>weekday</KEYWORD2>\r
+                       <KEYWORD2>weekdayname</KEYWORD2>\r
+                       <KEYWORD2>year</KEYWORD2>\r
+                       <KEYWORD2>hour</KEYWORD2>\r
+                       <KEYWORD2>minute</KEYWORD2>\r
+                       <KEYWORD2>second</KEYWORD2>\r
+                       <KEYWORD2>now</KEYWORD2>\r
+                       <KEYWORD2>timeserial</KEYWORD2>\r
+                       <KEYWORD2>timevalue</KEYWORD2>\r
+                       <!-- Formatting Strings -->\r
+                       <KEYWORD2>formatcurrency</KEYWORD2>\r
+                       <KEYWORD2>formatdatetime</KEYWORD2>\r
+                       <KEYWORD2>formatnumber</KEYWORD2>\r
+                       <KEYWORD2>formatpercent</KEYWORD2>\r
+                       <!-- Input/Output -->\r
+                       <KEYWORD2>inputbox</KEYWORD2>\r
+                       <KEYWORD2>loadpicture</KEYWORD2>\r
+                       <KEYWORD2>msgbox</KEYWORD2>\r
+                       <!-- Math Functions -->\r
+                       <KEYWORD2>atn</KEYWORD2>\r
+                       <KEYWORD2>cos</KEYWORD2>\r
+                       <KEYWORD2>sin</KEYWORD2>\r
+                       <KEYWORD2>tan</KEYWORD2>\r
+                       <KEYWORD2>exp</KEYWORD2>\r
+                       <KEYWORD2>log</KEYWORD2>\r
+                       <KEYWORD2>sqr</KEYWORD2>\r
+                       <KEYWORD2>rnd</KEYWORD2>\r
+                       <!-- Miscellaneous -->\r
+                       <KEYWORD2>rgb</KEYWORD2>\r
+                       <!-- Objects -->\r
+                       <KEYWORD2>createobject</KEYWORD2>\r
+                       <KEYWORD2>getobject</KEYWORD2>\r
+                       <KEYWORD2>getref</KEYWORD2>\r
+                       <!-- Rounding -->\r
+                       <KEYWORD2>abs</KEYWORD2>\r
+                       <KEYWORD2>int</KEYWORD2>\r
+                       <KEYWORD2>fix</KEYWORD2>\r
+                       <KEYWORD2>round</KEYWORD2>\r
+                       <KEYWORD2>sgn</KEYWORD2>\r
+                       <!-- Script Engine ID -->\r
+                       <KEYWORD2>scriptengine</KEYWORD2>\r
+                       <KEYWORD2>scriptenginebuildversion</KEYWORD2>\r
+                       <KEYWORD2>scriptenginemajorversion</KEYWORD2>\r
+                       <KEYWORD2>scriptengineminorversion</KEYWORD2>\r
+                       <!-- Strings -->\r
+                       <KEYWORD2>asc</KEYWORD2>\r
+                       <KEYWORD2>ascb</KEYWORD2>\r
+                       <KEYWORD2>ascw</KEYWORD2>\r
+                       <KEYWORD2>chr</KEYWORD2>\r
+                       <KEYWORD2>chrb</KEYWORD2>\r
+                       <KEYWORD2>chrw</KEYWORD2>\r
+                       <KEYWORD2>filter</KEYWORD2>\r
+                       <KEYWORD2>instr</KEYWORD2>\r
+                       <KEYWORD2>instrb</KEYWORD2>\r
+                       <KEYWORD2>instrrev</KEYWORD2>\r
+                       <KEYWORD2>join</KEYWORD2>\r
+                       <KEYWORD2>len</KEYWORD2>\r
+                       <KEYWORD2>lenb</KEYWORD2>\r
+                       <KEYWORD2>lcase</KEYWORD2>\r
+                       <KEYWORD2>ucase</KEYWORD2>\r
+                       <KEYWORD2>left</KEYWORD2>\r
+                       <KEYWORD2>leftb</KEYWORD2>\r
+                       <KEYWORD2>mid</KEYWORD2>\r
+                       <KEYWORD2>midb</KEYWORD2>\r
+                       <KEYWORD2>right</KEYWORD2>\r
+                       <KEYWORD2>rightb</KEYWORD2>\r
+                       <KEYWORD2>replace</KEYWORD2>\r
+                       <KEYWORD2>space</KEYWORD2>\r
+                       <KEYWORD2>split</KEYWORD2>\r
+                       <KEYWORD2>strcomp</KEYWORD2>\r
+                       <KEYWORD2>string</KEYWORD2>\r
+                       <KEYWORD2>strreverse</KEYWORD2>\r
+                       <KEYWORD2>ltrim</KEYWORD2>\r
+                       <KEYWORD2>rtrim</KEYWORD2>\r
+                       <KEYWORD2>trim</KEYWORD2>\r
+                       <!-- Variants -->\r
+                       <KEYWORD2>isarray</KEYWORD2>\r
+                       <KEYWORD2>isdate</KEYWORD2>\r
+                       <KEYWORD2>isempty</KEYWORD2>\r
+                       <KEYWORD2>isnull</KEYWORD2>\r
+                       <KEYWORD2>isnumeric</KEYWORD2>\r
+                       <KEYWORD2>isobject</KEYWORD2>\r
+                       <KEYWORD2>typename</KEYWORD2>\r
+                       <KEYWORD2>vartype</KEYWORD2>\r
+\r
+                       <!-- Comment/Uncomment your favorite ADO Constants-->\r
+\r
+                       <!-- ADO Constants-->\r
+\r
+                       <!-- CursorTypeEnum Values -->\r
+                       <LITERAL2>adOpenForwardOnly</LITERAL2>\r
+                       <LITERAL2>adOpenKeyset</LITERAL2>\r
+                       <LITERAL2>adOpenDynamic</LITERAL2>\r
+                       <LITERAL2>adOpenStatic</LITERAL2>\r
+\r
+                       <!-- CursorOptionEnum Values -->\r
+<!--           <LITERAL2>adHoldRecords</LITERAL2>\r
+                       <LITERAL2>adMovePrevious</LITERAL2>\r
+                       <LITERAL2>adAddNew</LITERAL2>\r
+                       <LITERAL2>adDelete</LITERAL2>\r
+                       <LITERAL2>adUpdate</LITERAL2>\r
+                       <LITERAL2>adBookmark</LITERAL2>\r
+                       <LITERAL2>adApproxPosition</LITERAL2>\r
+                       <LITERAL2>adUpdateBatch</LITERAL2>\r
+                       <LITERAL2>adResync</LITERAL2>\r
+                       <LITERAL2>adNotify</LITERAL2>\r
+                       <LITERAL2>adFind</LITERAL2>\r
+                       <LITERAL2>adSeek</LITERAL2>\r
+                       <LITERAL2>adIndex</LITERAL2>\r
+-->\r
+                       <!-- LockTypeEnum Values -->\r
+                       <LITERAL2>adLockReadOnly</LITERAL2>\r
+                       <LITERAL2>adLockPessimistic</LITERAL2>\r
+                       <LITERAL2>adLockOptimistic</LITERAL2>\r
+                       <LITERAL2>adLockBatchOptimistic</LITERAL2>\r
+\r
+                       <!-- ExecuteOptionEnum Values -->\r
+                       <LITERAL2>adRunAsync</LITERAL2>\r
+                       <LITERAL2>adAsyncExecute</LITERAL2>\r
+                       <LITERAL2>adAsyncFetch</LITERAL2>\r
+                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>\r
+                       <LITERAL2>adExecuteNoRecords</LITERAL2>\r
+\r
+                       <!-- ConnectOptionEnum Values -->\r
+<!--                   <LITERAL2>adAsyncConnect</LITERAL2>\r
+-->\r
+                       <!-- ObjectStateEnum Values -->\r
+                       <LITERAL2>adStateClosed</LITERAL2>\r
+                       <LITERAL2>adStateOpen</LITERAL2>\r
+                       <LITERAL2>adStateConnecting</LITERAL2>\r
+                       <LITERAL2>adStateExecuting</LITERAL2>\r
+                       <LITERAL2>adStateFetching</LITERAL2>\r
+\r
+                       <!-- CursorLocationEnum Values -->\r
+                       <LITERAL2>adUseServer</LITERAL2>\r
+                       <LITERAL2>adUseClient</LITERAL2>\r
+\r
+                       <!-- DataTypeEnum Values -->\r
+                       <LITERAL2>adEmpty</LITERAL2>\r
+                       <LITERAL2>adTinyInt</LITERAL2>\r
+                       <LITERAL2>adSmallInt</LITERAL2>\r
+                       <LITERAL2>adInteger</LITERAL2>\r
+                       <LITERAL2>adBigInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedTinyInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedSmallInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedInt</LITERAL2>\r
+                       <LITERAL2>adUnsignedBigInt</LITERAL2>\r
+                       <LITERAL2>adSingle</LITERAL2>\r
+                       <LITERAL2>adDouble</LITERAL2>\r
+                       <LITERAL2>adCurrency</LITERAL2>\r
+                       <LITERAL2>adDecimal</LITERAL2>\r
+                       <LITERAL2>adNumeric</LITERAL2>\r
+                       <LITERAL2>adBoolean</LITERAL2>\r
+                       <LITERAL2>adError</LITERAL2>\r
+                       <LITERAL2>adUserDefined</LITERAL2>\r
+                       <LITERAL2>adVariant</LITERAL2>\r
+                       <LITERAL2>adIDispatch</LITERAL2>\r
+                       <LITERAL2>adIUnknown</LITERAL2>\r
+                       <LITERAL2>adGUID</LITERAL2>\r
+                       <LITERAL2>adDate</LITERAL2>\r
+                       <LITERAL2>adDBDate</LITERAL2>\r
+                       <LITERAL2>adDBTime</LITERAL2>\r
+                       <LITERAL2>adDBTimeStamp</LITERAL2>\r
+                       <LITERAL2>adBSTR</LITERAL2>\r
+                       <LITERAL2>adChar</LITERAL2>\r
+                       <LITERAL2>adVarChar</LITERAL2>\r
+                       <LITERAL2>adLongVarChar</LITERAL2>\r
+                       <LITERAL2>adWChar</LITERAL2>\r
+                       <LITERAL2>adVarWChar</LITERAL2>\r
+                       <LITERAL2>adLongVarWChar</LITERAL2>\r
+                       <LITERAL2>adBinary</LITERAL2>\r
+                       <LITERAL2>adVarBinary</LITERAL2>\r
+                       <LITERAL2>adLongVarBinary</LITERAL2>\r
+                       <LITERAL2>adChapter</LITERAL2>\r
+                       <LITERAL2>adFileTime</LITERAL2>\r
+                       <LITERAL2>adDBFileTime</LITERAL2>\r
+                       <LITERAL2>adPropVariant</LITERAL2>\r
+                       <LITERAL2>adVarNumeric</LITERAL2>\r
+\r
+                       <!-- FieldAttributeEnum Values -->\r
+<!--                   <LITERAL2>adFldMayDefer</LITERAL2>\r
+                       <LITERAL2>adFldUpdatable</LITERAL2>\r
+                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>\r
+                       <LITERAL2>adFldFixed</LITERAL2>\r
+                       <LITERAL2>adFldIsNullable</LITERAL2>\r
+                       <LITERAL2>adFldMayBeNull</LITERAL2>\r
+                       <LITERAL2>adFldLong</LITERAL2>\r
+                       <LITERAL2>adFldRowID</LITERAL2>\r
+                       <LITERAL2>adFldRowVersion</LITERAL2>\r
+                       <LITERAL2>adFldCacheDeferred</LITERAL2>\r
+                       <LITERAL2>adFldKeyColumn</LITERAL2>\r
+-->\r
+\r
+                       <!-- EditModeEnum Values -->\r
+<!--                   <LITERAL2>adEditNone</LITERAL2>\r
+                       <LITERAL2>adEditInProgress</LITERAL2>\r
+                       <LITERAL2>adEditAdd</LITERAL2>\r
+                       <LITERAL2>adEditDelete</LITERAL2>\r
+-->\r
+                       <!-- RecordStatusEnum Values -->\r
+<!--                   <LITERAL2>adRecOK</LITERAL2>\r
+                       <LITERAL2>adRecNew</LITERAL2>\r
+                       <LITERAL2>adRecModified</LITERAL2>\r
+                       <LITERAL2>adRecDeleted</LITERAL2>\r
+                       <LITERAL2>adRecUnmodified</LITERAL2>\r
+                       <LITERAL2>adRecInvalid</LITERAL2>\r
+                       <LITERAL2>adRecMultipleChanges</LITERAL2>\r
+                       <LITERAL2>adRecPendingChanges</LITERAL2>\r
+                       <LITERAL2>adRecCanceled</LITERAL2>\r
+                       <LITERAL2>adRecCantRelease</LITERAL2>\r
+                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>\r
+                       <LITERAL2>adRecIntegrityViolation</LITERAL2>\r
+                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>\r
+                       <LITERAL2>adRecObjectOpen</LITERAL2>\r
+                       <LITERAL2>adRecOutOfMemory</LITERAL2>\r
+                       <LITERAL2>adRecPermissionDenied</LITERAL2>\r
+                       <LITERAL2>adRecSchemaViolation</LITERAL2>\r
+                       <LITERAL2>adRecDBDeleted</LITERAL2>\r
+-->\r
+                       <!-- GetRowsOptionEnum Values -->\r
+<!--                   <LITERAL2>adGetRowsRest</LITERAL2>\r
+-->\r
+\r
+                       <!-- PositionEnum Values -->\r
+<!--                   <LITERAL2>adPosUnknown</LITERAL2>\r
+                       <LITERAL2>adPosBOF</LITERAL2>\r
+                       <LITERAL2>adPosEOF</LITERAL2>\r
+-->\r
+\r
+                       <!-- enum Values -->\r
+<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>\r
+                       <LITERAL2>adBookmarkFirst</LITERAL2>\r
+                       <LITERAL2>adBookmarkLast</LITERAL2>\r
+-->\r
+                       <!-- MarshalOptionsEnum Values -->\r
+<!--                   <LITERAL2>adMarshalAll</LITERAL2>\r
+                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>\r
+-->\r
+                       <!-- AffectEnum Values -->\r
+<!--                   <LITERAL2>adAffectCurrent</LITERAL2>\r
+                       <LITERAL2>adAffectGroup</LITERAL2>\r
+                       <LITERAL2>adAffectAll</LITERAL2>\r
+                       <LITERAL2>adAffectAllChapters</LITERAL2>\r
+-->\r
+\r
+                       <!-- ResyncEnum Values -->\r
+<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>\r
+                       <LITERAL2>adResyncAllValues</LITERAL2>\r
+-->\r
+                       <!-- CompareEnum Values -->\r
+<!--                   <LITERAL2>adCompareLessThan</LITERAL2>\r
+                       <LITERAL2>adCompareEqual</LITERAL2>\r
+                       <LITERAL2>adCompareGreaterThan</LITERAL2>\r
+                       <LITERAL2>adCompareNotEqual</LITERAL2>\r
+                       <LITERAL2>adCompareNotComparable</LITERAL2>\r
+-->\r
+                       <!-- FilterGroupEnum Values -->\r
+<!--                   <LITERAL2>adFilterNone</LITERAL2>\r
+                       <LITERAL2>adFilterPendingRecords</LITERAL2>\r
+                       <LITERAL2>adFilterAffectedRecords</LITERAL2>\r
+                       <LITERAL2>adFilterFetchedRecords</LITERAL2>\r
+                       <LITERAL2>adFilterPredicate</LITERAL2>\r
+                       <LITERAL2>adFilterConflictingRecords</LITERAL2>\r
+-->\r
+                       <!-- SearchDirectionEnum Values -->\r
+<!--                   <LITERAL2>adSearchForward</LITERAL2>\r
+                       <LITERAL2>adSearchBackward</LITERAL2>\r
+-->\r
+\r
+                       <!-- PersistFormatEnum Values -->\r
+                       <LITERAL2>adPersistADTG</LITERAL2>\r
+                       <LITERAL2>adPersistXML</LITERAL2>\r
+\r
+                       <!-- StringFormatEnum Values -->\r
+<!--                   <LITERAL2>adStringXML</LITERAL2>\r
+                       <LITERAL2>adStringHTML</LITERAL2>\r
+                       <LITERAL2>adClipString</LITERAL2>\r
+-->\r
+                       <!-- ConnectPromptEnum Values -->\r
+<!--                   <LITERAL2>adPromptAlways</LITERAL2>\r
+                       <LITERAL2>adPromptComplete</LITERAL2>\r
+                       <LITERAL2>adPromptCompleteRequired</LITERAL2>\r
+                       <LITERAL2>adPromptNever</LITERAL2>\r
+-->\r
+                       <!-- ConnectModeEnum Values -->\r
+<!--                   <LITERAL2>adModeUnknown</LITERAL2>\r
+                       <LITERAL2>adModeRead</LITERAL2>\r
+                       <LITERAL2>adModeWrite</LITERAL2>\r
+                       <LITERAL2>adModeReadWrite</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyRead</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyWrite</LITERAL2>\r
+                       <LITERAL2>adModeShareExclusive</LITERAL2>\r
+                       <LITERAL2>adModeShareDenyNone</LITERAL2>\r
+-->\r
+                       <!-- IsolationLevelEnum Values -->\r
+<!--                   <LITERAL2>adXactUnspecified</LITERAL2>\r
+                       <LITERAL2>adXactChaos</LITERAL2>\r
+                       <LITERAL2>adXactReadUncommitted</LITERAL2>\r
+                       <LITERAL2>adXactBrowse</LITERAL2>\r
+                       <LITERAL2>adXactCursorStability</LITERAL2>\r
+                       <LITERAL2>adXactReadCommitted</LITERAL2>\r
+                       <LITERAL2>adXactRepeatableRead</LITERAL2>\r
+                       <LITERAL2>adXactSerializable</LITERAL2>\r
+                       <LITERAL2>adXactIsolated</LITERAL2>\r
+-->\r
+                       <!-- XactAttributeEnum Values -->\r
+<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>\r
+                       <LITERAL2>adXactAbortRetaining</LITERAL2>\r
+-->\r
+                       <!-- PropertyAttributesEnum Values -->\r
+<!--                   <LITERAL2>adPropNotSupported</LITERAL2>\r
+                       <LITERAL2>adPropRequired</LITERAL2>\r
+                       <LITERAL2>adPropOptional</LITERAL2>\r
+                       <LITERAL2>adPropRead</LITERAL2>\r
+                       <LITERAL2>adPropWrite</LITERAL2>\r
+-->\r
+                       <!-- ErrorValueEnum Values -->\r
+<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>\r
+                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>\r
+                       <LITERAL2>adErrIllegalOperation</LITERAL2>\r
+                       <LITERAL2>adErrInTransaction</LITERAL2>\r
+                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>\r
+                       <LITERAL2>adErrItemNotFound</LITERAL2>\r
+                       <LITERAL2>adErrObjectInCollection</LITERAL2>\r
+                       <LITERAL2>adErrObjectNotSet</LITERAL2>\r
+                       <LITERAL2>adErrDataConversion</LITERAL2>\r
+                       <LITERAL2>adErrObjectClosed</LITERAL2>\r
+                       <LITERAL2>adErrObjectOpen</LITERAL2>\r
+                       <LITERAL2>adErrProviderNotFound</LITERAL2>\r
+                       <LITERAL2>adErrBoundToCommand</LITERAL2>\r
+                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>\r
+                       <LITERAL2>adErrInvalidConnection</LITERAL2>\r
+                       <LITERAL2>adErrNotReentrant</LITERAL2>\r
+                       <LITERAL2>adErrStillExecuting</LITERAL2>\r
+                       <LITERAL2>adErrOperationCancelled</LITERAL2>\r
+                       <LITERAL2>adErrStillConnecting</LITERAL2>\r
+                       <LITERAL2>adErrNotExecuting</LITERAL2>\r
+                       <LITERAL2>adErrUnsafeOperation</LITERAL2>\r
+-->\r
+                       <!-- ParameterAttributesEnum Values -->\r
+                       <LITERAL2>adParamSigned</LITERAL2>\r
+                       <LITERAL2>adParamNullable</LITERAL2>\r
+                       <LITERAL2>adParamLong</LITERAL2>\r
+\r
+                       <!-- ParameterDirectionEnum Values -->\r
+                       <LITERAL2>adParamUnknown</LITERAL2>\r
+                       <LITERAL2>adParamInput</LITERAL2>\r
+                       <LITERAL2>adParamOutput</LITERAL2>\r
+                       <LITERAL2>adParamInputOutput</LITERAL2>\r
+                       <LITERAL2>adParamReturnValue</LITERAL2>\r
+\r
+                       <!-- CommandTypeEnum Values -->\r
+                       <LITERAL2>adCmdUnknown</LITERAL2>\r
+                       <LITERAL2>adCmdText</LITERAL2>\r
+                       <LITERAL2>adCmdTable</LITERAL2>\r
+                       <LITERAL2>adCmdStoredProc</LITERAL2>\r
+                       <LITERAL2>adCmdFile</LITERAL2>\r
+                       <LITERAL2>adCmdTableDirect</LITERAL2>\r
+\r
+                       <!-- EventStatusEnum Values -->\r
+<!--                   <LITERAL2>adStatusOK</LITERAL2>\r
+                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>\r
+                       <LITERAL2>adStatusCantDeny</LITERAL2>\r
+                       <LITERAL2>adStatusCancel</LITERAL2>\r
+                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>\r
+-->\r
+                       <!-- EventReasonEnum Values -->\r
+<!--                   <LITERAL2>adRsnAddNew</LITERAL2>\r
+                       <LITERAL2>adRsnDelete</LITERAL2>\r
+                       <LITERAL2>adRsnUpdate</LITERAL2>\r
+                       <LITERAL2>adRsnUndoUpdate</LITERAL2>\r
+                       <LITERAL2>adRsnUndoAddNew</LITERAL2>\r
+                       <LITERAL2>adRsnUndoDelete</LITERAL2>\r
+                       <LITERAL2>adRsnRequery</LITERAL2>\r
+                       <LITERAL2>adRsnResynch</LITERAL2>\r
+                       <LITERAL2>adRsnClose</LITERAL2>\r
+                       <LITERAL2>adRsnMove</LITERAL2>\r
+                       <LITERAL2>adRsnFirstChange</LITERAL2>\r
+                       <LITERAL2>adRsnMoveFirst</LITERAL2>\r
+                       <LITERAL2>adRsnMoveNext</LITERAL2>\r
+                       <LITERAL2>adRsnMovePrevious</LITERAL2>\r
+                       <LITERAL2>adRsnMoveLast</LITERAL2>\r
+-->\r
+                       <!-- SchemaEnum Values -->\r
+<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>\r
+                       <LITERAL2>adSchemaAsserts</LITERAL2>\r
+                       <LITERAL2>adSchemaCatalogs</LITERAL2>\r
+                       <LITERAL2>adSchemaCharacterSets</LITERAL2>\r
+                       <LITERAL2>adSchemaCollations</LITERAL2>\r
+                       <LITERAL2>adSchemaColumns</LITERAL2>\r
+                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaTableConstraints</LITERAL2>\r
+                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaIndexes</LITERAL2>\r
+                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedures</LITERAL2>\r
+                       <LITERAL2>adSchemaSchemata</LITERAL2>\r
+                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>\r
+                       <LITERAL2>adSchemaStatistics</LITERAL2>\r
+                       <LITERAL2>adSchemaTables</LITERAL2>\r
+                       <LITERAL2>adSchemaTranslations</LITERAL2>\r
+                       <LITERAL2>adSchemaProviderTypes</LITERAL2>\r
+                       <LITERAL2>adSchemaViews</LITERAL2>\r
+                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>\r
+                       <LITERAL2>adSchemaForeignKeys</LITERAL2>\r
+                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>\r
+                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>\r
+                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>\r
+                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>\r
+                       <LITERAL2>adSchemaCubes</LITERAL2>\r
+                       <LITERAL2>adSchemaDimensions</LITERAL2>\r
+                       <LITERAL2>adSchemaHierarchies</LITERAL2>\r
+                       <LITERAL2>adSchemaLevels</LITERAL2>\r
+                       <LITERAL2>adSchemaMeasures</LITERAL2>\r
+                       <LITERAL2>adSchemaProperties</LITERAL2>\r
+                       <LITERAL2>adSchemaMembers</LITERAL2>\r
+-->\r
+                       <!-- SeekEnum Values -->\r
+<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>\r
+                       <LITERAL2>adSeekLastEQ</LITERAL2>\r
+                       <LITERAL2>adSeekAfterEQ</LITERAL2>\r
+                       <LITERAL2>adSeekAfter</LITERAL2>\r
+                       <LITERAL2>adSeekBeforeEQ</LITERAL2>\r
+                       <LITERAL2>adSeekBefore</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->\r
+<!--                   <LITERAL2>adCriteriaKey</LITERAL2>\r
+                       <LITERAL2>adCriteriaAllCols</LITERAL2>\r
+                       <LITERAL2>adCriteriaUpdCols</LITERAL2>\r
+                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->\r
+<!--                   <LITERAL2>adPriorityLowest</LITERAL2>\r
+                       <LITERAL2>adPriorityBelowNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityAboveNormal</LITERAL2>\r
+                       <LITERAL2>adPriorityHighest</LITERAL2>\r
+-->\r
+                       <!-- CEResyncEnum Values -->\r
+<!--                   <LITERAL2>adResyncNone</LITERAL2>\r
+                       <LITERAL2>adResyncAutoIncrement</LITERAL2>\r
+                       <LITERAL2>adResyncConflicts</LITERAL2>\r
+                       <LITERAL2>adResyncUpdates</LITERAL2>\r
+                       <LITERAL2>adResyncInserts</LITERAL2>\r
+                       <LITERAL2>adResyncAll</LITERAL2>\r
+-->\r
+                       <!-- ADCPROP_AUTORECALC_ENUM Values -->\r
+<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>\r
+                       <LITERAL2>adRecalcAlways</LITERAL2>\r
+-->\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/velocity.xml b/basis/xmode/modes/velocity.xml
new file mode 100644 (file)
index 0000000..7fa160a
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="#*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*#" />\r
+               <PROPERTY NAME="lineComment" VALUE="##" />\r
+               <!-- Auto indent -->\r
+               <PROPERTY NAME="indentNextLines" VALUE="^\s*(#(foreach|if|elseif|else))\s*\(.*\)\s*"/>\r
+               <PROPERTY NAME="unindentThisLine" VALUE="^\s*#(end|elseif|else)\b.*"/>\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="html::TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+               <IMPORT DELEGATE="VELOCITY" />\r
+       </RULES>\r
+\r
+       <RULES SET="VELOCITY">\r
+               <SPAN TYPE="COMMENT2">\r
+                       <BEGIN>#*</BEGIN>\r
+                       <END>*#</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT3">##</EOL_SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+\r
+               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD3"\r
+                       >\$!?[A-z][A-z0-9._-]*</SEQ_REGEXP>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>#set</KEYWORD1>\r
+                       <KEYWORD1>#foreach</KEYWORD1>\r
+                       <KEYWORD1>#end</KEYWORD1>\r
+                       <KEYWORD1>#if</KEYWORD1>\r
+                       <KEYWORD1>#else</KEYWORD1>\r
+                       <KEYWORD1>#elseif</KEYWORD1>\r
+                       <KEYWORD1>#parse</KEYWORD1>\r
+                       <KEYWORD1>#macro</KEYWORD1>\r
+                       <KEYWORD1>#stop</KEYWORD1>\r
+                       <KEYWORD1>#include</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
+               <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT2">&gt;</SEQ>\r
+               <!-- handle <SCRIPT SRC="..."> properly -->\r
+               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="JAVASCRIPT2"\r
+               ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
+\r
+               <IMPORT DELEGATE="VELOCITY" />\r
+               <IMPORT DELEGATE="javascript::MAIN" />\r
+       </RULES>\r
+\r
+       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="CSS2">&gt;</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS2"\r
+               IGNORE_CASE="TRUE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
+               NO_WORD_SEP="-_">\r
+\r
+               <IMPORT DELEGATE="VELOCITY" />\r
+               <IMPORT DELEGATE="css::MAIN" />\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/verilog.xml b/basis/xmode/modes/verilog.xml
new file mode 100644 (file)
index 0000000..ee1602e
--- /dev/null
@@ -0,0 +1,219 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!-- Written By: Wojciech Stryjewski - thvortex@sourceforge.net -->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <!-- Rules for indenting:\r
+                  - Case expressions (a line ending with colon) are indented\r
+                  - Keywords begin, module, task, etc. always indented\r
+                  - Keywords if, while, etc. indent only if ; not on the same line\r
+               -->\r
+               <PROPERTY NAME="indentNextLines" VALUE="(.*:\s*)|(\s*(begin|fork|task|table|specify|primitive|module|generate|function|case[xz]?)\b.*)|(\s*(always|if|else|for|forever|initial|repeat|while)\b[^;]*)" />\r
+\r
+               <PROPERTY NAME="commentStart" VALUE="/*" />\r
+               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
+               <PROPERTY NAME="lineComment" VALUE="//" />\r
+               <PROPERTY NAME="noWordSep" VALUE="_'" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="([\p{Digit}]|_)+" NO_WORD_SEP="'">\r
+               <!-- Comments -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>/*</BEGIN>\r
+                       <END>*/</END>\r
+               </SPAN>\r
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
+\r
+               <!--String Literals -->\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="DIGIT">'d</SEQ>\r
+               <SEQ TYPE="DIGIT">'h</SEQ>\r
+               <SEQ TYPE="DIGIT">'b</SEQ>\r
+               <SEQ TYPE="DIGIT">'o</SEQ>\r
+\r
+               <!-- Function calls, module instantiation, system tasks with args -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <!-- Operators -->\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- Regular Keywords -->\r
+                       <KEYWORD1>always</KEYWORD1>\r
+                       <KEYWORD1>assign</KEYWORD1>\r
+                       <KEYWORD1>begin</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>casex</KEYWORD1>\r
+                       <KEYWORD1>casez</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>deassign</KEYWORD1>\r
+                       <KEYWORD1>disable</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>endcase</KEYWORD1>\r
+                       <KEYWORD1>endfunction</KEYWORD1>\r
+                       <KEYWORD1>endgenerate</KEYWORD1>\r
+                       <KEYWORD1>endmodule</KEYWORD1>\r
+                       <KEYWORD1>endprimitive</KEYWORD1>\r
+                       <KEYWORD1>endspecify</KEYWORD1>\r
+                       <KEYWORD1>endtable</KEYWORD1>\r
+                       <KEYWORD1>endtask</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>force</KEYWORD1>\r
+                       <KEYWORD1>forever</KEYWORD1>\r
+                       <KEYWORD1>fork</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>generate</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>initial</KEYWORD1>\r
+                       <KEYWORD1>join</KEYWORD1>\r
+                       <KEYWORD1>macromodule</KEYWORD1>\r
+                       <KEYWORD1>module</KEYWORD1>\r
+                       <KEYWORD1>negedge</KEYWORD1>\r
+                       <KEYWORD1>posedge</KEYWORD1>\r
+                       <KEYWORD1>primitive</KEYWORD1>\r
+                       <KEYWORD1>repeat</KEYWORD1>\r
+                       <KEYWORD1>release</KEYWORD1>\r
+                       <KEYWORD1>specify</KEYWORD1>\r
+                       <KEYWORD1>table</KEYWORD1>\r
+                       <KEYWORD1>task</KEYWORD1>\r
+                       <KEYWORD1>wait</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+\r
+                       <!-- Compiler Directives -->\r
+                       <KEYWORD2>`include</KEYWORD2>\r
+                       <KEYWORD2>`define</KEYWORD2>\r
+                       <KEYWORD2>`undef</KEYWORD2>\r
+                       <KEYWORD2>`ifdef</KEYWORD2>\r
+                       <KEYWORD2>`ifndef</KEYWORD2>\r
+                       <KEYWORD2>`else</KEYWORD2>\r
+                       <KEYWORD2>`endif</KEYWORD2>\r
+                       <KEYWORD2>`timescale</KEYWORD2>\r
+                       <KEYWORD2>`resetall</KEYWORD2>\r
+                       <KEYWORD2>`signed</KEYWORD2>\r
+                       <KEYWORD2>`unsigned</KEYWORD2>\r
+                       <KEYWORD2>`celldefine</KEYWORD2>\r
+                       <KEYWORD2>`endcelldefine</KEYWORD2>\r
+                       <KEYWORD2>`default_nettype</KEYWORD2>\r
+                       <KEYWORD2>`unconnected_drive</KEYWORD2>\r
+                       <KEYWORD2>`nounconnected_drive</KEYWORD2>\r
+                       <KEYWORD2>`protect</KEYWORD2>\r
+                       <KEYWORD2>`endprotect</KEYWORD2>\r
+                       <KEYWORD2>`protected</KEYWORD2>\r
+                       <KEYWORD2>`endprotected</KEYWORD2>\r
+                       <KEYWORD2>`remove_gatename</KEYWORD2>\r
+                       <KEYWORD2>`noremove_gatename</KEYWORD2>\r
+                       <KEYWORD2>`remove_netname</KEYWORD2>\r
+                       <KEYWORD2>`noremove_netname</KEYWORD2>\r
+                       <KEYWORD2>`expand_vectornets</KEYWORD2>\r
+                       <KEYWORD2>`noexpand_vectornets</KEYWORD2>\r
+                       <KEYWORD2>`autoexpand_vectornets</KEYWORD2>\r
+\r
+                       <!-- Type Declaration Keywords -->\r
+                       <KEYWORD3>integer</KEYWORD3>\r
+                       <KEYWORD3>reg</KEYWORD3>\r
+                       <KEYWORD3>time</KEYWORD3>\r
+                       <KEYWORD3>realtime</KEYWORD3>\r
+                       <KEYWORD3>defparam</KEYWORD3>\r
+                       <KEYWORD3>parameter</KEYWORD3>\r
+                       <KEYWORD3>event</KEYWORD3>\r
+                       <KEYWORD3>wire</KEYWORD3>\r
+                       <KEYWORD3>wand</KEYWORD3>\r
+                       <KEYWORD3>wor</KEYWORD3>\r
+                       <KEYWORD3>tri</KEYWORD3>\r
+                       <KEYWORD3>triand</KEYWORD3>\r
+                       <KEYWORD3>trior</KEYWORD3>\r
+                       <KEYWORD3>tri0</KEYWORD3>\r
+                       <KEYWORD3>tri1</KEYWORD3>\r
+                       <KEYWORD3>trireg</KEYWORD3>\r
+                       <KEYWORD3>vectored</KEYWORD3>\r
+                       <KEYWORD3>scalared</KEYWORD3>\r
+                       <KEYWORD3>input</KEYWORD3>\r
+                       <KEYWORD3>output</KEYWORD3>\r
+                       <KEYWORD3>inout</KEYWORD3>\r
+\r
+                       <!-- Signal Strengths -->\r
+                       <KEYWORD3>supply0</KEYWORD3>\r
+                       <KEYWORD3>supply1</KEYWORD3>\r
+                       <KEYWORD3>strong0</KEYWORD3>\r
+                       <KEYWORD3>strong1</KEYWORD3>\r
+                       <KEYWORD3>pull0</KEYWORD3>\r
+                       <KEYWORD3>pull1</KEYWORD3>\r
+                       <KEYWORD3>weak0</KEYWORD3>\r
+                       <KEYWORD3>weak1</KEYWORD3>\r
+                       <KEYWORD3>highz0</KEYWORD3>\r
+                       <KEYWORD3>highz1</KEYWORD3>\r
+                       <KEYWORD3>small</KEYWORD3>\r
+                       <KEYWORD3>medium</KEYWORD3>\r
+                       <KEYWORD3>large</KEYWORD3>\r
+\r
+                       <!-- System Tasks With No/Optional Arguments -->\r
+                       <FUNCTION>$stop</FUNCTION>\r
+                       <FUNCTION>$finish</FUNCTION>\r
+                       <FUNCTION>$time</FUNCTION>\r
+                       <FUNCTION>$stime</FUNCTION>\r
+                       <FUNCTION>$realtime</FUNCTION>\r
+                       <FUNCTION>$settrace</FUNCTION>\r
+                       <FUNCTION>$cleartrace</FUNCTION>\r
+                       <FUNCTION>$showscopes</FUNCTION>\r
+                       <FUNCTION>$showvars</FUNCTION>\r
+                       <FUNCTION>$monitoron</FUNCTION>\r
+                       <FUNCTION>$monitoroff</FUNCTION>\r
+                       <FUNCTION>$random</FUNCTION>\r
+                       <FUNCTION>$printtimescale</FUNCTION>\r
+                       <FUNCTION>$timeformat</FUNCTION>\r
+\r
+                       <!-- Built-in primitives -->\r
+                       <FUNCTION>and</FUNCTION>\r
+                       <FUNCTION>nand</FUNCTION>\r
+                       <FUNCTION>or</FUNCTION>\r
+                       <FUNCTION>nor</FUNCTION>\r
+                       <FUNCTION>xor</FUNCTION>\r
+                       <FUNCTION>xnor</FUNCTION>\r
+                       <FUNCTION>buf</FUNCTION>\r
+                       <FUNCTION>bufif0</FUNCTION>\r
+                       <FUNCTION>bufif1</FUNCTION>\r
+                       <FUNCTION>not</FUNCTION>\r
+                       <FUNCTION>notif0</FUNCTION>\r
+                       <FUNCTION>notif1</FUNCTION>\r
+                       <FUNCTION>nmos</FUNCTION>\r
+                       <FUNCTION>pmos</FUNCTION>\r
+                       <FUNCTION>cmos</FUNCTION>\r
+                       <FUNCTION>rnmos</FUNCTION>\r
+                       <FUNCTION>rpmos</FUNCTION>\r
+                       <FUNCTION>rcmos</FUNCTION>\r
+                       <FUNCTION>tran</FUNCTION>\r
+                       <FUNCTION>tranif0</FUNCTION>\r
+                       <FUNCTION>tranif1</FUNCTION>\r
+                       <FUNCTION>rtran</FUNCTION>\r
+                       <FUNCTION>rtranif0</FUNCTION>\r
+                       <FUNCTION>rtranif1</FUNCTION>\r
+                       <FUNCTION>pullup</FUNCTION>\r
+                       <FUNCTION>pulldown</FUNCTION>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/modes/vhdl.xml b/basis/xmode/modes/vhdl.xml
new file mode 100644 (file)
index 0000000..a5d6dce
--- /dev/null
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>\r
+\r
+<!-- VHDL mode, contributed by Dante Fabrizio and Nitsan Vardi -->\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="label" VALUE="VHDL" />\r
+               <PROPERTY NAME="lineComment" VALUE="--" />\r
+       </PROPS>\r
+       <RULES ESCAPE="\" IGNORE_CASE="TRUE">\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="NULL">'event</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">/=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!</SEQ>\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">**</SEQ>\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">^</SEQ>\r
+               <SEQ TYPE="OPERATOR">~</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
+                       AT_LINE_START="FALSE">: </MARK_PREVIOUS>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>architecture</KEYWORD1>\r
+                       <KEYWORD1>alias</KEYWORD1>\r
+                       <KEYWORD1>assert</KEYWORD1>\r
+                       <KEYWORD1>entity</KEYWORD1>\r
+                       <KEYWORD1>process</KEYWORD1>\r
+                       <KEYWORD1>variable</KEYWORD1>\r
+                       <KEYWORD1>signal</KEYWORD1>\r
+                       <KEYWORD1>function</KEYWORD1>\r
+                       <KEYWORD1>generic</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>out</KEYWORD1>\r
+                       <KEYWORD1>inout</KEYWORD1>\r
+                       <KEYWORD1>begin</KEYWORD1>\r
+                       <KEYWORD1>end</KEYWORD1>\r
+                       <KEYWORD1>component</KEYWORD1>\r
+                       <KEYWORD1>use</KEYWORD1>\r
+                       <KEYWORD1>library</KEYWORD1>\r
+                       <KEYWORD1>loop</KEYWORD1>\r
+                       <KEYWORD1>constant</KEYWORD1>\r
+                       <KEYWORD1>break</KEYWORD1>\r
+                       <KEYWORD1>case</KEYWORD1>\r
+                       <KEYWORD1>port</KEYWORD1>\r
+                       <KEYWORD1>is</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>of</KEYWORD1>\r
+                       <KEYWORD1>array</KEYWORD1>\r
+                       <KEYWORD1>catch</KEYWORD1>\r
+                       <KEYWORD1>continue</KEYWORD1>\r
+                       <KEYWORD1>default</KEYWORD1>\r
+                       <KEYWORD1>do</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+                       <KEYWORD1>elsif</KEYWORD1>\r
+                       <KEYWORD1>when</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>downto</KEYWORD1>\r
+                       <KEYWORD1>upto</KEYWORD1>\r
+                       <KEYWORD1>extends</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>implements</KEYWORD1>\r
+                       <KEYWORD1>instanceof</KEYWORD1>\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>static</KEYWORD1>\r
+                       <KEYWORD1>switch</KEYWORD1>\r
+                       <KEYWORD1>type</KEYWORD1>\r
+                       <KEYWORD1>while</KEYWORD1>\r
+                       <KEYWORD1>others</KEYWORD1>\r
+                       <KEYWORD1>all</KEYWORD1>\r
+                       <KEYWORD1>record</KEYWORD1>\r
+                       <KEYWORD1>range</KEYWORD1>\r
+                       <KEYWORD1>wait</KEYWORD1>\r
+\r
+                       <KEYWORD2>package</KEYWORD2>\r
+                       <KEYWORD2>import</KEYWORD2>\r
+                       <KEYWORD2>std_logic</KEYWORD2>\r
+                       <KEYWORD2>std_ulogic</KEYWORD2>\r
+                       <KEYWORD2>std_logic_vector</KEYWORD2>\r
+                       <KEYWORD2>std_ulogic_vector</KEYWORD2>\r
+                       <KEYWORD2>integer</KEYWORD2>\r
+                       <KEYWORD2>natural</KEYWORD2>\r
+                       <KEYWORD2>bit</KEYWORD2>\r
+                       <KEYWORD2>bit_vector</KEYWORD2>\r
+\r
+\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>nor</OPERATOR>\r
+                       <OPERATOR>not</OPERATOR>\r
+                       <OPERATOR>nand</OPERATOR>\r
+                       <OPERATOR>and</OPERATOR>\r
+                       <OPERATOR>xnor</OPERATOR>\r
+                       <OPERATOR>sll</OPERATOR>\r
+                       <OPERATOR>srl</OPERATOR>\r
+                       <OPERATOR>sla</OPERATOR>\r
+                       <OPERATOR>sra</OPERATOR>\r
+                       <OPERATOR>rol</OPERATOR>\r
+                       <OPERATOR>ror</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+                       <OPERATOR>rem</OPERATOR>\r
+                       <OPERATOR>abs</OPERATOR>\r
+\r
+                       <KEYWORD3>EVENT</KEYWORD3>\r
+                       <KEYWORD3>BASE</KEYWORD3>\r
+                       <KEYWORD3>LEFT</KEYWORD3>\r
+                       <KEYWORD3>RIGHT</KEYWORD3>\r
+                       <KEYWORD3>LOW</KEYWORD3>\r
+                       <KEYWORD3>HIGH</KEYWORD3>\r
+                       <KEYWORD3>ASCENDING</KEYWORD3>\r
+                       <KEYWORD3>IMAGE</KEYWORD3>\r
+                       <KEYWORD3>VALUE</KEYWORD3>\r
+                       <KEYWORD3>POS</KEYWORD3>\r
+                       <KEYWORD3>VAL</KEYWORD3>\r
+                       <KEYWORD3>SUCC</KEYWORD3>\r
+                       <KEYWORD3>VAL</KEYWORD3>\r
+                       <KEYWORD3>POS</KEYWORD3>\r
+                       <KEYWORD3>PRED</KEYWORD3>\r
+                       <KEYWORD3>VAL</KEYWORD3>\r
+                       <KEYWORD3>POS</KEYWORD3>\r
+                       <KEYWORD3>LEFTOF</KEYWORD3>\r
+                       <KEYWORD3>RIGHTOF</KEYWORD3>\r
+                       <KEYWORD3>LEFT</KEYWORD3>\r
+                       <KEYWORD3>RIGHT</KEYWORD3>\r
+                       <KEYWORD3>LOW</KEYWORD3>\r
+                       <KEYWORD3>HIGH</KEYWORD3>\r
+                       <KEYWORD3>RANGE</KEYWORD3>\r
+                       <KEYWORD3>REVERSE</KEYWORD3>\r
+                       <KEYWORD3>LENGTH</KEYWORD3>\r
+                       <KEYWORD3>ASCENDING</KEYWORD3>\r
+                       <KEYWORD3>DELAYED</KEYWORD3>\r
+                       <KEYWORD3>STABLE</KEYWORD3>\r
+                       <KEYWORD3>QUIET</KEYWORD3>\r
+                       <KEYWORD3>TRANSACTION</KEYWORD3>\r
+                       <KEYWORD3>EVENT</KEYWORD3>\r
+                       <KEYWORD3>ACTIVE</KEYWORD3>\r
+                       <KEYWORD3>LAST</KEYWORD3>\r
+                       <KEYWORD3>LAST</KEYWORD3>\r
+                       <KEYWORD3>LAST</KEYWORD3>\r
+                       <KEYWORD3>DRIVING</KEYWORD3>\r
+                       <KEYWORD3>DRIVING</KEYWORD3>\r
+                       <KEYWORD3>SIMPLE</KEYWORD3>\r
+                       <KEYWORD3>INSTANCE</KEYWORD3>\r
+                       <KEYWORD3>PATH</KEYWORD3>\r
+\r
+                       <FUNCTION>rising_edge</FUNCTION>\r
+                       <FUNCTION>shift_left</FUNCTION>\r
+                       <FUNCTION>shift_right</FUNCTION>\r
+                       <FUNCTION>rotate_left</FUNCTION>\r
+                       <FUNCTION>rotate_right</FUNCTION>\r
+                       <FUNCTION>resize</FUNCTION>\r
+                       <FUNCTION>std_match</FUNCTION>\r
+                       <FUNCTION>to_integer</FUNCTION>\r
+                       <FUNCTION>to_unsigned</FUNCTION>\r
+                       <FUNCTION>to_signed</FUNCTION>\r
+                       <FUNCTION>unsigned</FUNCTION>\r
+                       <FUNCTION>signed</FUNCTION>\r
+                       <FUNCTION>to_bit</FUNCTION>\r
+                       <FUNCTION>to_bitvector</FUNCTION>\r
+                       <FUNCTION>to_stdulogic</FUNCTION>\r
+                       <FUNCTION>to_stdlogicvector</FUNCTION>\r
+                       <FUNCTION>to_stdulogicvector</FUNCTION>\r
+\r
+                       <LITERAL2>false</LITERAL2>\r
+                       <LITERAL2>true</LITERAL2>\r
+               </KEYWORDS>\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/xml.xml b/basis/xmode/modes/xml.xml
new file mode 100644 (file)
index 0000000..116be46
--- /dev/null
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES>\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD Entity declarations -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">\r
+                       <BEGIN>&lt;!ENTITY</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CDATA sections -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">\r
+                       <BEGIN>&lt;![CDATA[</BEGIN>\r
+                       <END>]]&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- PI directives -->\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>&lt;?</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="MARKUP">/</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+       </RULES>\r
+       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE" NO_WORD_SEP="-_">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>--</BEGIN>\r
+                       <END>--</END>\r
+               </SPAN>\r
+\r
+               <!-- Parameter entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- This appears in some SGML documents -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>CDATA</KEYWORD1>\r
+                       <KEYWORD1>EMPTY</KEYWORD1>\r
+                       <KEYWORD1>INCLUDE</KEYWORD1>\r
+                       <KEYWORD1>IGNORE</KEYWORD1>\r
+                       <KEYWORD1>NDATA</KEYWORD1>\r
+                       <KEYWORD1>#IMPLIED</KEYWORD1>\r
+                       <KEYWORD1>#PCDATA</KEYWORD1>\r
+                       <KEYWORD1>#REQUIRED</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>--</BEGIN>\r
+                       <END>--</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>SYSTEM</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+       <RULES SET="CDATA" DEFAULT="COMMENT2">\r
+               <!-- no rules -->\r
+       </RULES>\r
+</MODE>\r
diff --git a/basis/xmode/modes/xq.xml b/basis/xmode/modes/xq.xml
new file mode 100644 (file)
index 0000000..b49dc68
--- /dev/null
@@ -0,0 +1,462 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+               <PROPERTY NAME="commentStart" VALUE="(:" />\r
+               <PROPERTY NAME="commentEnd" VALUE=":)" />\r
+               <PROPERTY NAME="wordBreakChars" VALUE=":,+=&lt;&gt;/?^&amp;*" />\r
+\r
+               <!-- Auto indent -->\r
+               <!-- <PROPERTY NAME="indentOpenBrackets" VALUE="{" /> -->\r
+               <!-- <PROPERTY NAME="indentCloseBrackets" VALUE="}" /> -->\r
+               <PROPERTY NAME="indentNextLine"\r
+                       VALUE="\s*(((if)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
+               <!-- set this to 'true' if you want to use GNU coding style -->\r
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
+       </PROPS>\r
+       <RULES>\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+\r
+               <!-- DTD Entity declarations -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">\r
+                       <BEGIN>&lt;!ENTITY</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- CDATA sections -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">\r
+                       <BEGIN>&lt;![CDATA[</BEGIN>\r
+                       <END>]]&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- PI directives -->\r
+               <SPAN TYPE="KEYWORD3">\r
+                       <BEGIN>&lt;?</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN><![CDATA[<[a-zA-Z/]\w*]]></BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN_REGEXP>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+\r
+               <SEQ TYPE="MARKUP">/</SEQ>\r
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
+       </RULES>\r
+\r
+       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>--</BEGIN>\r
+                       <END>--</END>\r
+               </SPAN>\r
+\r
+               <!-- Parameter entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>%</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <!-- This appears in some SGML documents -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">\r
+                       <BEGIN>[</BEGIN>\r
+                       <END>]</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">(</SEQ>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>CDATA</KEYWORD1>\r
+                       <KEYWORD1>EMPTY</KEYWORD1>\r
+                       <KEYWORD1>INCLUDE</KEYWORD1>\r
+                       <KEYWORD1>IGNORE</KEYWORD1>\r
+                       <KEYWORD1>NDATA</KEYWORD1>\r
+                       <KEYWORD1>#IMPLIED</KEYWORD1>\r
+                       <KEYWORD1>#PCDATA</KEYWORD1>\r
+                       <KEYWORD1>#REQUIRED</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>--</BEGIN>\r
+                       <END>--</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">%</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <KEYWORD1>SYSTEM</KEYWORD1>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="CDATA" DEFAULT="COMMENT2">\r
+               <!-- no rules -->\r
+       </RULES>\r
+\r
+       <RULES ESCAPE="\"\r
+               IGNORE_CASE="FALSE"\r
+               HIGHLIGHT_DIGITS="TRUE"\r
+               DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">\r
+\r
+               <!-- XQuery style comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>(:</BEGIN>\r
+                       <END>:)</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+\r
+\r
+\r
+               <!-- Function calls -->\r
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+               <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+               <SEQ TYPE="OPERATOR">!=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">+</SEQ>\r
+<!--\r
+               <SEQ TYPE="OPERATOR">-</SEQ>\r
+ -->\r
+               <SEQ TYPE="OPERATOR">*</SEQ>\r
+\r
+               <!-- unary -/+ ? -->\r
+\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">/</SEQ>\r
+               <SEQ TYPE="OPERATOR">//</SEQ>\r
+\r
+               <SEQ TYPE="OPERATOR">}</SEQ>\r
+               <SEQ TYPE="OPERATOR">{</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <OPERATOR>some</OPERATOR>\r
+                       <OPERATOR>every</OPERATOR>\r
+\r
+                       <OPERATOR>or</OPERATOR>\r
+                       <OPERATOR>and</OPERATOR>\r
+\r
+                       <OPERATOR>instance of</OPERATOR>\r
+\r
+                       <OPERATOR>treat as</OPERATOR>\r
+\r
+                       <OPERATOR>castable as</OPERATOR>\r
+\r
+                       <OPERATOR>cast as</OPERATOR>\r
+\r
+                       <OPERATOR>eq</OPERATOR>\r
+                       <OPERATOR>ne</OPERATOR>\r
+                       <OPERATOR>lt</OPERATOR>\r
+                       <OPERATOR>gt</OPERATOR>\r
+                       <OPERATOR>ge</OPERATOR>\r
+                       <OPERATOR>is</OPERATOR>\r
+\r
+                       <OPERATOR>to</OPERATOR>\r
+\r
+                       <OPERATOR>div</OPERATOR>\r
+                       <OPERATOR>idiv</OPERATOR>\r
+                       <OPERATOR>mod</OPERATOR>\r
+\r
+                       <OPERATOR>union</OPERATOR>\r
+\r
+                       <OPERATOR>intersect</OPERATOR>\r
+                       <OPERATOR>except</OPERATOR>\r
+\r
+                       <KEYWORD1>return</KEYWORD1>\r
+                       <KEYWORD1>for</KEYWORD1>\r
+                       <KEYWORD1>in</KEYWORD1>\r
+                       <KEYWORD1>to</KEYWORD1>\r
+                       <KEYWORD1>at</KEYWORD1>\r
+\r
+                       <KEYWORD1>let</KEYWORD1>\r
+                       <KEYWORD1>:=</KEYWORD1>\r
+\r
+                       <KEYWORD1>where</KEYWORD1>\r
+\r
+                       <KEYWORD1>stable</KEYWORD1>\r
+                       <KEYWORD1>order</KEYWORD1>\r
+                       <KEYWORD1>by</KEYWORD1>\r
+\r
+                       <LITERAL2>ascending</LITERAL2>\r
+                       <LITERAL2>descending</LITERAL2>\r
+\r
+                       <LITERAL2>greatest</LITERAL2>\r
+                       <LITERAL2>least</LITERAL2>\r
+                       <LITERAL2>collation</LITERAL2>\r
+\r
+                       <KEYWORD3>typeswitch</KEYWORD3>\r
+                       <KEYWORD3>default</KEYWORD3>\r
+\r
+                       <KEYWORD1>cast</KEYWORD1>\r
+                       <KEYWORD1>as</KEYWORD1>\r
+                       <KEYWORD1>if</KEYWORD1>\r
+                       <KEYWORD1>then</KEYWORD1>\r
+                       <KEYWORD1>else</KEYWORD1>\r
+\r
+                       <LITERAL2>true</LITERAL2>\r
+                       <LITERAL2>false</LITERAL2>\r
+\r
+                       <KEYWORD3>xquery</KEYWORD3>\r
+                       <KEYWORD3>version</KEYWORD3>\r
+\r
+                       <KEYWORD3>declare</KEYWORD3>\r
+                       <KEYWORD3>function</KEYWORD3>\r
+                       <KEYWORD3>library</KEYWORD3>\r
+                       <KEYWORD3>variable</KEYWORD3>\r
+                       <KEYWORD3>module</KEYWORD3>\r
+                       <KEYWORD3>namespace</KEYWORD3>\r
+                       <KEYWORD3>local</KEYWORD3>\r
+\r
+                       <KEYWORD3>validate</KEYWORD3>\r
+                       <KEYWORD3>import</KEYWORD3>\r
+                       <KEYWORD3>schema</KEYWORD3>\r
+                       <KEYWORD3>validation</KEYWORD3>\r
+                       <KEYWORD3>collection</KEYWORD3>\r
+\r
+                       <KEYWORD3>ancestor</KEYWORD3>\r
+                       <KEYWORD3>descendant</KEYWORD3>\r
+                       <KEYWORD3>self</KEYWORD3>\r
+                       <KEYWORD3>parent</KEYWORD3>\r
+                       <KEYWORD3>child</KEYWORD3>\r
+                       <KEYWORD3>self</KEYWORD3>\r
+                       <KEYWORD3>descendant-or-self</KEYWORD3>\r
+                       <KEYWORD3>ancestor-or-self</KEYWORD3>\r
+                       <KEYWORD3>preceding-sibling</KEYWORD3>\r
+                       <KEYWORD3>following-sibling</KEYWORD3>\r
+                       <KEYWORD3>following</KEYWORD3>\r
+                       <KEYWORD3>preceding</KEYWORD3>\r
+\r
+                       <KEYWORD4>xs:integer</KEYWORD4>\r
+                       <KEYWORD4>xs:decimal</KEYWORD4>\r
+                       <KEYWORD4>xs:double</KEYWORD4>\r
+                       <KEYWORD4>xs:string</KEYWORD4>\r
+                       <KEYWORD4>xs:date</KEYWORD4>\r
+                       <KEYWORD4>xs:time</KEYWORD4>\r
+                       <KEYWORD4>xs:dateTime</KEYWORD4>\r
+                       <KEYWORD4>xs:boolean</KEYWORD4>\r
+\r
+                       <KEYWORD4>item</KEYWORD4>\r
+                       <KEYWORD4>element</KEYWORD4>\r
+                       <KEYWORD4>attribute</KEYWORD4>\r
+                       <KEYWORD4>comment</KEYWORD4>\r
+                       <KEYWORD4>document</KEYWORD4>\r
+                       <KEYWORD4>document-node</KEYWORD4>\r
+                       <KEYWORD4>node</KEYWORD4>\r
+                       <KEYWORD4>empty</KEYWORD4>\r
+\r
+                       <FUNCTION>zero-or-one</FUNCTION>\r
+                       <FUNCTION>avg</FUNCTION>\r
+                       <FUNCTION>base-uri</FUNCTION>\r
+                       <FUNCTION>boolean</FUNCTION>\r
+                       <FUNCTION>ceiling</FUNCTION>\r
+                       <FUNCTION>codepoints-to-string</FUNCTION>\r
+                       <FUNCTION>collection</FUNCTION>\r
+                       <FUNCTION>compare</FUNCTION>\r
+                       <FUNCTION>concat</FUNCTION>\r
+                       <FUNCTION>contains</FUNCTION>\r
+                       <FUNCTION>count</FUNCTION>\r
+                       <FUNCTION>current-date</FUNCTION>\r
+                       <FUNCTION>current-dateTime</FUNCTION>\r
+                       <FUNCTION>current-time</FUNCTION>\r
+                       <FUNCTION>data</FUNCTION>\r
+                       <FUNCTION>day-from-date</FUNCTION>\r
+                       <FUNCTION>day-from-dateTime</FUNCTION>\r
+                       <FUNCTION>days-from-duration</FUNCTION>\r
+                       <FUNCTION>deep-equal</FUNCTION>\r
+                       <FUNCTION>distinct-values</FUNCTION>\r
+                       <FUNCTION>doc</FUNCTION>\r
+                       <FUNCTION>adjust-time-to-timezone</FUNCTION>\r
+                       <FUNCTION>adjust-dateTime-to-timezone</FUNCTION>\r
+                       <FUNCTION>string-length</FUNCTION>\r
+                       <FUNCTION>string-join</FUNCTION>\r
+                       <FUNCTION>string</FUNCTION>\r
+                       <FUNCTION>starts-with</FUNCTION>\r
+                       <FUNCTION>seconds-from-time</FUNCTION>\r
+                       <FUNCTION>seconds-from-duration</FUNCTION>\r
+                       <FUNCTION>seconds-from-dateTime</FUNCTION>\r
+                       <FUNCTION>round-half-to-even</FUNCTION>\r
+                       <FUNCTION>round</FUNCTION>\r
+                       <FUNCTION>root</FUNCTION>\r
+                       <FUNCTION>reverse</FUNCTION>\r
+                       <FUNCTION>replace</FUNCTION>\r
+                       <FUNCTION>remove</FUNCTION>\r
+                       <FUNCTION>prefix-from-QName</FUNCTION>\r
+                       <FUNCTION>position</FUNCTION>\r
+                       <FUNCTION>one-or-more</FUNCTION>\r
+                       <FUNCTION>number</FUNCTION>\r
+                       <FUNCTION>QName</FUNCTION>\r
+                       <FUNCTION>abs</FUNCTION>\r
+                       <FUNCTION>adjust-date-to-timezone</FUNCTION>\r
+                       <FUNCTION>doc-available</FUNCTION>\r
+                       <FUNCTION>doctype</FUNCTION>\r
+                       <FUNCTION>document</FUNCTION>\r
+                       <FUNCTION>last</FUNCTION>\r
+                       <FUNCTION>local-name</FUNCTION>\r
+                       <FUNCTION>local-name-from-QName</FUNCTION>\r
+                       <FUNCTION>lower-case</FUNCTION>\r
+                       <FUNCTION>match-all</FUNCTION>\r
+                       <FUNCTION>match-any</FUNCTION>\r
+                       <FUNCTION>matches</FUNCTION>\r
+                       <FUNCTION>max</FUNCTION>\r
+                       <FUNCTION>min</FUNCTION>\r
+                       <FUNCTION>minutes-from-dateTime</FUNCTION>\r
+                       <FUNCTION>minutes-from-duration</FUNCTION>\r
+                       <FUNCTION>minutes-from-time</FUNCTION>\r
+                       <FUNCTION>month-from-date</FUNCTION>\r
+                       <FUNCTION>month-from-dateTime</FUNCTION>\r
+                       <FUNCTION>name</FUNCTION>\r
+                       <FUNCTION>namespace-uri</FUNCTION>\r
+                       <FUNCTION>namespace-uri-for-prefix</FUNCTION>\r
+                       <FUNCTION>namespace-uri-from-QName</FUNCTION>\r
+                       <FUNCTION>node-name</FUNCTION>\r
+                       <FUNCTION>normalize-space</FUNCTION>\r
+                       <FUNCTION>lang</FUNCTION>\r
+                       <FUNCTION>item-at</FUNCTION>\r
+                       <FUNCTION>document-uri</FUNCTION>\r
+                       <FUNCTION>empty</FUNCTION>\r
+                       <FUNCTION>encode-for-uri</FUNCTION>\r
+                       <FUNCTION>ends-with</FUNCTION>\r
+                       <FUNCTION>error</FUNCTION>\r
+                       <FUNCTION>escape-html-uri</FUNCTION>\r
+                       <FUNCTION>escape-uri</FUNCTION>\r
+                       <FUNCTION>exactly-one</FUNCTION>\r
+                       <FUNCTION>exists</FUNCTION>\r
+                       <FUNCTION>false</FUNCTION>\r
+                       <FUNCTION>floor</FUNCTION>\r
+                       <FUNCTION>hours-from-dateTime</FUNCTION>\r
+                       <FUNCTION>hours-from-duration</FUNCTION>\r
+                       <FUNCTION>hours-from-time</FUNCTION>\r
+                       <FUNCTION>id</FUNCTION>\r
+                       <FUNCTION>implicit-timezone</FUNCTION>\r
+                       <FUNCTION>in-scope-prefixes</FUNCTION>\r
+                       <FUNCTION>index-of</FUNCTION>\r
+                       <FUNCTION>insert-before</FUNCTION>\r
+                       <FUNCTION>iri-to-uri</FUNCTION>\r
+                       <FUNCTION>string-pad</FUNCTION>\r
+                       <FUNCTION>string-to-codepoints</FUNCTION>\r
+                       <FUNCTION>sum</FUNCTION>\r
+                       <FUNCTION>timezone-from-date</FUNCTION>\r
+                       <FUNCTION>timezone-from-dateTime</FUNCTION>\r
+                       <FUNCTION>timezone-from-time</FUNCTION>\r
+                       <FUNCTION>not</FUNCTION>\r
+                       <FUNCTION>tokenize</FUNCTION>\r
+                       <FUNCTION>translate</FUNCTION>\r
+                       <FUNCTION>true</FUNCTION>\r
+                       <FUNCTION>unordered</FUNCTION>\r
+                       <FUNCTION>upper-case</FUNCTION>\r
+                       <FUNCTION>xcollection</FUNCTION>\r
+                       <FUNCTION>year-from-date</FUNCTION>\r
+                       <FUNCTION>year-from-dateTime</FUNCTION>\r
+                       <FUNCTION>substring-before</FUNCTION>\r
+                       <FUNCTION>subsequence</FUNCTION>\r
+                       <FUNCTION>substring</FUNCTION>\r
+                       <FUNCTION>substring-after</FUNCTION>\r
+\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/xsl.xml b/basis/xmode/modes/xsl.xml
new file mode 100644 (file)
index 0000000..94a5610
--- /dev/null
@@ -0,0 +1,436 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd"><!--\r
+  ======================================================================\r
+  Edit mode for XSLT 1.0 and XSLT 2.0\r
+  ======================================================================\r
+  Token types:\r
+\r
+  COMMENT1    XML comments\r
+  COMMENT2    XPath 2.0 comments - top or nested within COMMENT3\r
+  COMMENT3    XPath 2.0 comments - nested within COMMENT2\r
+  COMMENT4    Default task names used in Task List\r
+  DIGIT       Digits\r
+  FUNCTION    Functions\r
+  INVALID     -\r
+  KEYWORD1    XSLT element names\r
+  KEYWORD2    XSLT attribute names\r
+  KEYWORD3    Attribute values\r
+  KEYWORD4    Axes specifiers\r
+  LABEL       Namespace prefixes\r
+  LITERAL1    String literals\r
+  LITERAL2    Parameter and variable references\r
+  LITERAL3    Entity references and processing instructions\r
+  LITERAL4    DTD constructs and CDATA sections\r
+  MARKUP      Result elements and extension elements\r
+  OPERATOR    XPath 2.0 keywords + some other stuff\r
+  ======================================================================\r
+-->\r
+\r
+<MODE>\r
+\r
+  <PROPS>\r
+    <PROPERTY NAME="commentStart" VALUE="&lt;!--"/>\r
+    <PROPERTY NAME="commentEnd" VALUE="--&gt;"/>\r
+  </PROPS>\r
+\r
+  <RULES HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
+\r
+    <!-- XML comments -->\r
+    <SPAN DELEGATE="TASKS" TYPE="COMMENT1">\r
+      <BEGIN>&lt;!--</BEGIN>\r
+      <END>--&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- Assume 'xsl' prefix for XSLT elements -->\r
+    <SPAN_REGEXP HASH_CHAR="&lt;" DELEGATE="XSLTAGS" TYPE="KEYWORD2">\r
+      <BEGIN>&lt;(?=xsl:)</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <SPAN_REGEXP HASH_CHAR="&lt;" DELEGATE="XSLTAGS" TYPE="KEYWORD2">\r
+      <BEGIN>&lt;(?=/xsl:)</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <!-- CDATA marked sections. Reuse common xml mode -->\r
+    <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
+      <BEGIN>&lt;![CDATA[</BEGIN>\r
+      <END>]]&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- DTD constructs. Reuse common xml mode  -->\r
+    <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+      <BEGIN>&lt;!</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- Entity references -->\r
+    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
+      <BEGIN>&amp;</BEGIN>\r
+      <END>;</END>\r
+    </SPAN>\r
+\r
+    <!-- Processing instructions -->\r
+    <SPAN TYPE="LITERAL3">\r
+      <BEGIN>&lt;?</BEGIN>\r
+      <END>?&gt;</END>\r
+    </SPAN>\r
+\r
+    <!-- Result elements and extension elements -->\r
+    <SPAN DELEGATE="TAGS" TYPE="MARKUP">\r
+      <BEGIN>&lt;</BEGIN>\r
+      <END>&gt;</END>\r
+    </SPAN>\r
+  </RULES>\r
+\r
+  <!-- XML comments -->\r
+  <RULES DEFAULT="COMMENT1" IGNORE_CASE="FALSE" SET="TASKS">\r
+    <!-- Default task names used in Task List -->\r
+    <KEYWORDS>\r
+      <COMMENT4>DEBUG:</COMMENT4>\r
+      <COMMENT4>DONE:</COMMENT4>\r
+      <COMMENT4>FIXME:</COMMENT4>\r
+      <COMMENT4>IDEA:</COMMENT4>\r
+      <COMMENT4>NOTE:</COMMENT4>\r
+      <COMMENT4>QUESTION:</COMMENT4>\r
+      <COMMENT4>TODO:</COMMENT4>\r
+      <COMMENT4>XXX</COMMENT4>\r
+      <COMMENT4>???</COMMENT4>\r
+    </KEYWORDS>\r
+  </RULES>\r
+\r
+  <!-- Result elements and extension elements -->\r
+  <RULES DEFAULT="MARKUP" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="TAGS">\r
+\r
+    <!-- Highlight all AVTs in result attribute values. -->\r
+    <SPAN TYPE="MARKUP" DELEGATE="AVT">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="MARKUP" DELEGATE="AVT">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <!-- Namespace declarations -->\r
+    <SEQ TYPE="OPERATOR">xmlns:</SEQ>\r
+    <!-- Default namespace declaration. Not really used in XSLT -->\r
+    <SEQ TYPE="OPERATOR">xmlns</SEQ>\r
+\r
+    <!-- Namespace prefixes -->\r
+    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+  </RULES>\r
+\r
+  <!-- AVTs -->\r
+  <RULES DEFAULT="KEYWORD3" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="AVT">\r
+\r
+    <!-- Literal curly braces ({}) must be written as {{ or }} -->\r
+    <SEQ>{{</SEQ>\r
+    <SEQ>}}</SEQ><!-- Does nothing. Is overridden by the SPAN below. -->\r
+\r
+    <!-- The AVT itself -->\r
+    <SPAN DELEGATE="XPATH" TYPE="OPERATOR">\r
+      <BEGIN>{</BEGIN>\r
+      <END>}</END>\r
+    </SPAN>\r
+\r
+    <!-- Entity references -->\r
+    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
+      <BEGIN>&amp;</BEGIN>\r
+      <END>;</END>\r
+    </SPAN>\r
+\r
+  </RULES>\r
+\r
+  <!-- XSLT tags -->\r
+  <RULES DEFAULT="KEYWORD2" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="XSLTAGS">\r
+\r
+    <!-- If we spot something that looks like an AVT, assume it is. Lazy, I know... -->\r
+    <SPAN TYPE="KEYWORD2" DELEGATE="AVT">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="KEYWORD2" DELEGATE="AVT">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <!-- XSLT attributes that contains XPath expressions or match patterns -->\r
+    <!-- count -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="count" DELEGATE="XPATH">\r
+      <BEGIN>count[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="count" DELEGATE="XPATH">\r
+      <BEGIN>count[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- from -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="from" DELEGATE="XPATH">\r
+      <BEGIN>from[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="from" DELEGATE="XPATH">\r
+      <BEGIN>from[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- group-adjacent -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-adjacent" DELEGATE="XPATH">\r
+      <BEGIN>group-adjacent[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-adjacent" DELEGATE="XPATH">\r
+      <BEGIN>group-adjacent[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- group-by -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-by" DELEGATE="XPATH">\r
+      <BEGIN>group-by[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-by" DELEGATE="XPATH">\r
+      <BEGIN>group-by[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- group-ending-with -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-ending-with" DELEGATE="XPATH">\r
+      <BEGIN>group-ending-with[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-ending-with" DELEGATE="XPATH">\r
+      <BEGIN>group-ending-with[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- group-starting-with -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-starting-with" DELEGATE="XPATH">\r
+      <BEGIN>group-starting-with[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-starting-with" DELEGATE="XPATH">\r
+      <BEGIN>group-starting-with[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- match -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="match" DELEGATE="XPATH">\r
+      <BEGIN>match[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="match" DELEGATE="XPATH">\r
+      <BEGIN>match[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- select -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="select" DELEGATE="XPATH">\r
+      <BEGIN>select[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="select" DELEGATE="XPATH">\r
+      <BEGIN>select[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- test -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="test" DELEGATE="XPATH">\r
+      <BEGIN>test[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="test" DELEGATE="XPATH">\r
+      <BEGIN>test[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+    <!-- use -->\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="use" DELEGATE="XPATH">\r
+      <BEGIN>use[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN_REGEXP>\r
+    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="use" DELEGATE="XPATH">\r
+      <BEGIN>use[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN_REGEXP>\r
+\r
+    <!-- Namespace declarations -->\r
+    <SEQ TYPE="OPERATOR">xmlns:</SEQ>\r
+    <!-- Default namespace declaration. Not really used in XSLT -->\r
+    <SEQ TYPE="OPERATOR">xmlns</SEQ>\r
+\r
+    <!-- Namespace prefixes -->\r
+    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+    <!-- XSLT 2.0 element names -->\r
+    <KEYWORDS>\r
+      <KEYWORD1>analyze-string</KEYWORD1>\r
+      <KEYWORD1>apply-imports</KEYWORD1>\r
+      <KEYWORD1>apply-templates</KEYWORD1>\r
+      <KEYWORD1>attribute</KEYWORD1>\r
+      <KEYWORD1>attribute-set</KEYWORD1>\r
+      <KEYWORD1>call-template</KEYWORD1>\r
+      <KEYWORD1>character-map</KEYWORD1>\r
+      <KEYWORD1>choose</KEYWORD1>\r
+      <KEYWORD1>comment</KEYWORD1>\r
+      <KEYWORD1>copy</KEYWORD1>\r
+      <KEYWORD1>copy-of</KEYWORD1>\r
+      <KEYWORD1>date-format</KEYWORD1>\r
+      <KEYWORD1>decimal-format</KEYWORD1>\r
+      <KEYWORD1>element</KEYWORD1>\r
+      <KEYWORD1>fallback</KEYWORD1>\r
+      <KEYWORD1>for-each</KEYWORD1>\r
+      <KEYWORD1>for-each-group</KEYWORD1>\r
+      <KEYWORD1>function</KEYWORD1>\r
+      <KEYWORD1>if</KEYWORD1>\r
+      <KEYWORD1>import</KEYWORD1>\r
+      <KEYWORD1>import-schema</KEYWORD1>\r
+      <KEYWORD1>include</KEYWORD1>\r
+      <KEYWORD1>key</KEYWORD1>\r
+      <KEYWORD1>matching-substring</KEYWORD1>\r
+      <KEYWORD1>message</KEYWORD1>\r
+      <KEYWORD1>namespace</KEYWORD1>\r
+      <KEYWORD1>namespace-alias</KEYWORD1>\r
+      <KEYWORD1>next-match</KEYWORD1>\r
+      <KEYWORD1>non-matching-substring</KEYWORD1>\r
+      <KEYWORD1>number</KEYWORD1>\r
+      <KEYWORD1>otherwise</KEYWORD1>\r
+      <KEYWORD1>output</KEYWORD1>\r
+      <KEYWORD1>output-character</KEYWORD1>\r
+      <KEYWORD1>param</KEYWORD1>\r
+      <KEYWORD1>preserve-space</KEYWORD1>\r
+      <KEYWORD1>processing-instruction</KEYWORD1>\r
+      <KEYWORD1>result-document</KEYWORD1>\r
+      <KEYWORD1>sequence</KEYWORD1>\r
+      <KEYWORD1>sort</KEYWORD1>\r
+      <KEYWORD1>sort-key</KEYWORD1>\r
+      <KEYWORD1>strip-space</KEYWORD1>\r
+      <KEYWORD1>stylesheet</KEYWORD1>\r
+      <KEYWORD1>template</KEYWORD1>\r
+      <KEYWORD1>text</KEYWORD1>\r
+      <KEYWORD1>transform</KEYWORD1>\r
+      <KEYWORD1>value-of</KEYWORD1>\r
+      <KEYWORD1>variable</KEYWORD1>\r
+      <KEYWORD1>when</KEYWORD1>\r
+      <KEYWORD1>with-param</KEYWORD1>\r
+    </KEYWORDS>\r
+\r
+  </RULES>\r
+\r
+  <RULES DEFAULT="KEYWORD3" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[\p{Digit}]+([\p{Punct}][\p{Digit}]+)?" NO_WORD_SEP=".-_" SET="XPATH">\r
+    <!-- String literals -->\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>"</BEGIN>\r
+      <END>"</END>\r
+    </SPAN>\r
+    <SPAN TYPE="LITERAL1">\r
+      <BEGIN>'</BEGIN>\r
+      <END>'</END>\r
+    </SPAN>\r
+\r
+    <!-- XPath comments -->\r
+    <SPAN TYPE="COMMENT2" DELEGATE="XPATHCOMMENT2">\r
+      <BEGIN>(:</BEGIN>\r
+      <END>:)</END>\r
+    </SPAN>\r
+\r
+    <!-- Axes specifiers -->\r
+    <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
+    <!-- Abbreviated 'attribute::' -->\r
+    <SEQ TYPE="KEYWORD4">@</SEQ>\r
+\r
+    <!-- XPath 2.0 operators + some other stuff -->\r
+    <!-- Comparison expressions -->\r
+    <SEQ TYPE="OPERATOR">=</SEQ>\r
+    <SEQ TYPE="OPERATOR">!=</SEQ>\r
+    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
+    <SEQ TYPE="OPERATOR">&amp;gt;</SEQ><!-- Treat as operator -->\r
+    <SEQ TYPE="OPERATOR">&amp;lt;</SEQ><!-- Treat as operator -->\r
+    <!-- Optional occurrence indicator -->\r
+    <SEQ TYPE="OPERATOR">?</SEQ>\r
+    <!-- Addition operator, one-or-more occurrence indicator-->\r
+    <SEQ TYPE="OPERATOR">+</SEQ>\r
+    <!-- Multiplication operator, zero-or-more occurrence indicator, node test -->\r
+    <SEQ TYPE="OPERATOR">*</SEQ>\r
+    <!-- Path expression step separator -->\r
+    <SEQ TYPE="OPERATOR">/</SEQ>\r
+    <!-- Union operator -->\r
+    <SEQ TYPE="OPERATOR">|</SEQ>\r
+    <!-- Sequence expression item separator -->\r
+    <SEQ TYPE="OPERATOR">,</SEQ>\r
+\r
+    <!-- Predicates -->\r
+    <SPAN TYPE="OPERATOR" DELEGATE="XPATH">\r
+      <BEGIN>[</BEGIN>\r
+      <END>]</END>\r
+    </SPAN>\r
+\r
+    <!-- Entity references -->\r
+    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
+      <BEGIN>&amp;</BEGIN>\r
+      <END>;</END>\r
+    </SPAN>\r
+\r
+    <!-- Namespace prefixes -->\r
+    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
+\r
+    <!-- Functions -->\r
+    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
+       <SEQ TYPE="OPERATOR">)</SEQ>\r
+\r
+    <!-- Variables -->\r
+    <MARK_FOLLOWING TYPE="LITERAL2">$</MARK_FOLLOWING>\r
+    <!-- XPath 2.0 keywords + some other stuff -->\r
+    <KEYWORDS>\r
+      <!-- Keywords -->\r
+      <OPERATOR>and</OPERATOR>\r
+      <OPERATOR>as</OPERATOR>\r
+      <OPERATOR>castable</OPERATOR>\r
+      <OPERATOR>div</OPERATOR>\r
+      <OPERATOR>else</OPERATOR>\r
+      <OPERATOR>eq</OPERATOR>\r
+      <OPERATOR>every</OPERATOR>\r
+      <OPERATOR>except</OPERATOR>\r
+      <OPERATOR>for</OPERATOR>\r
+      <OPERATOR>ge</OPERATOR>\r
+      <OPERATOR>gt</OPERATOR>\r
+      <OPERATOR>idiv</OPERATOR>\r
+      <OPERATOR>if</OPERATOR>\r
+      <OPERATOR>in</OPERATOR>\r
+      <OPERATOR>instance</OPERATOR>\r
+      <OPERATOR>intersect</OPERATOR>\r
+      <OPERATOR>is</OPERATOR>\r
+      <OPERATOR>isnot</OPERATOR>\r
+      <OPERATOR>le</OPERATOR>\r
+      <OPERATOR>lt</OPERATOR>\r
+      <OPERATOR>mod</OPERATOR>\r
+      <OPERATOR>nillable</OPERATOR>\r
+      <OPERATOR>ne</OPERATOR>\r
+      <OPERATOR>of</OPERATOR>\r
+      <OPERATOR>or</OPERATOR>\r
+      <OPERATOR>return</OPERATOR>\r
+      <OPERATOR>satisfies</OPERATOR>\r
+      <OPERATOR>some</OPERATOR>\r
+      <OPERATOR>then</OPERATOR>\r
+      <OPERATOR>to</OPERATOR>\r
+      <OPERATOR>treat</OPERATOR>\r
+      <OPERATOR>union</OPERATOR>\r
+\r
+      <!-- Subtraction operator -->\r
+      <OPERATOR>-</OPERATOR>\r
+\r
+    </KEYWORDS>\r
+\r
+  </RULES>\r
+\r
+  <!-- XPath comments - top or nested within COMMENT3 -->\r
+  <RULES DEFAULT="COMMENT2" SET="XPATHCOMMENT2">\r
+    <SPAN TYPE="COMMENT3" DELEGATE="XPATHCOMMENT3">\r
+      <BEGIN>(:</BEGIN>\r
+      <END>:)</END>\r
+    </SPAN>\r
+  </RULES>\r
+\r
+  <!-- XPath comments - nested within COMMENT2 -->\r
+  <RULES DEFAULT="COMMENT3" SET="XPATHCOMMENT3">\r
+    <SPAN TYPE="COMMENT2" DELEGATE="XPATHCOMMENT2">\r
+      <BEGIN>(:</BEGIN>\r
+      <END>:)</END>\r
+    </SPAN>\r
+  </RULES>\r
+\r
+</MODE>\r
diff --git a/basis/xmode/modes/zpt.xml b/basis/xmode/modes/zpt.xml
new file mode 100644 (file)
index 0000000..f962acf
--- /dev/null
@@ -0,0 +1,173 @@
+<?xml version="1.0"?>\r
+\r
+<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
+\r
+<!--\r
+<MODE NAME="zpt"                       FILE="zpt.xml"\r
+                               FILE_NAME_GLOB="*.{pt,zpt}"/>\r
+-->\r
+\r
+<MODE>\r
+       <PROPS>\r
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
+       </PROPS>\r
+       <RULES IGNORE_CASE="TRUE">\r
+               <!-- SGML comment -->\r
+               <SPAN TYPE="COMMENT1">\r
+                       <BEGIN>&lt;!--</BEGIN>\r
+                       <END>--&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- JavaScript -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
+                       <BEGIN>&lt;SCRIPT</BEGIN>\r
+                       <END>&lt;/SCRIPT&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- stylesheet -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
+                       <BEGIN>&lt;STYLE</BEGIN>\r
+                       <END>&lt;/STYLE&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- DTD instructions -->\r
+               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
+                       <BEGIN>&lt;!</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- markup tags -->\r
+               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
+                       <BEGIN>&lt;</BEGIN>\r
+                       <END>&gt;</END>\r
+               </SPAN>\r
+\r
+               <!-- SGML entities -->\r
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
+                       <BEGIN>&amp;</BEGIN>\r
+                       <END>;</END>\r
+               </SPAN>\r
+       </RULES>\r
+\r
+       <!-- ESCAPE is not exactly right but it is needed to correctly\r
+            handle JavaScript in on* parameters -->\r
+       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SEQ TYPE="OPERATOR">=</SEQ>\r
+\r
+               <KEYWORDS>\r
+                       <!-- TAL -->\r
+                       <KEYWORD1>tal</KEYWORD1>\r
+                       <KEYWORD3>attributes</KEYWORD3>\r
+                       <KEYWORD3>define</KEYWORD3>\r
+                       <KEYWORD3>condition</KEYWORD3>\r
+                       <KEYWORD3>content</KEYWORD3>\r
+                       <KEYWORD3>omit-tag</KEYWORD3>\r
+                       <KEYWORD3>on-error</KEYWORD3>\r
+                       <KEYWORD3>repeat</KEYWORD3>\r
+                       <KEYWORD3>replace</KEYWORD3>\r
+\r
+                       <!-- METAL -->\r
+                       <KEYWORD1>metal</KEYWORD1>\r
+                       <KEYWORD3>define-macro</KEYWORD3>\r
+                       <KEYWORD3>define-slot</KEYWORD3>\r
+                       <KEYWORD3>fill-slot</KEYWORD3>\r
+                       <KEYWORD3>use-macro</KEYWORD3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="ATTRIBUTE" DEFAULT="LITERAL1">\r
+               <SEQ TYPE="OPERATOR">:</SEQ>\r
+               <SEQ TYPE="OPERATOR">;</SEQ>\r
+               <SEQ TYPE="OPERATOR">?</SEQ>\r
+               <SEQ TYPE="OPERATOR">|</SEQ>\r
+               <SEQ TYPE="LITERAL2">$$</SEQ>\r
+\r
+               <SPAN TYPE="LITERAL4">\r
+                       <BEGIN>"</BEGIN>\r
+                       <END>"</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="LITERAL4">\r
+                       <BEGIN>'</BEGIN>\r
+                       <END>'</END>\r
+               </SPAN>\r
+\r
+               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
+                       <BEGIN>${</BEGIN>\r
+                       <END>}</END>\r
+               </SPAN>\r
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
+               <!-- highligh python expressions -->\r
+               <!--\r
+               <SEQ TYPE="LITERAL2" DELEGATE="python::MAIN"\r
+                       AT_LINE_START="FALSE">python:</SEQ>\r
+               -->\r
+               <KEYWORDS>\r
+                       <!-- TALES expression types -->\r
+                       <KEYWORD4>exists</KEYWORD4>\r
+                       <KEYWORD4>nocall</KEYWORD4>\r
+                       <KEYWORD4>not</KEYWORD4>\r
+                       <KEYWORD4>path</KEYWORD4>\r
+                       <KEYWORD4>python</KEYWORD4>\r
+                       <KEYWORD4>string</KEYWORD4>\r
+                       <KEYWORD4>structure</KEYWORD4>\r
+\r
+                       <!-- built-in TALES variables -->\r
+                       <!-- NOTE: root, here, container, template, \r
+                            request, user, and modules are optional -->\r
+                       <LITERAL3>CONTEXTS</LITERAL3>\r
+                       <LITERAL3>attrs</LITERAL3>\r
+                       <LITERAL3>container</LITERAL3>\r
+                       <LITERAL3>default</LITERAL3>\r
+                       <LITERAL3>here</LITERAL3>\r
+                       <LITERAL3>modules</LITERAL3>\r
+                       <LITERAL3>nothing</LITERAL3>\r
+                       <LITERAL3>options</LITERAL3>\r
+                       <LITERAL3>repeat</LITERAL3>\r
+                       <LITERAL3>request</LITERAL3>\r
+                       <LITERAL3>root</LITERAL3>\r
+                       <LITERAL3>template</LITERAL3>\r
+                       <LITERAL3>user</LITERAL3>\r
+\r
+                       <!-- repeat variable attributes -->\r
+                       <LITERAL3>index</LITERAL3>\r
+                       <LITERAL3>number</LITERAL3>\r
+                       <LITERAL3>even</LITERAL3>\r
+                       <LITERAL3>odd</LITERAL3>\r
+                       <LITERAL3>start</LITERAL3>\r
+                       <LITERAL3>end</LITERAL3>\r
+                       <LITERAL3>first</LITERAL3>\r
+                       <LITERAL3>last</LITERAL3>\r
+                       <LITERAL3>length</LITERAL3>\r
+                       <LITERAL3>letter</LITERAL3>\r
+                       <LITERAL3>Letter</LITERAL3>\r
+                       <LITERAL3>roman</LITERAL3>\r
+                       <LITERAL3>Roman</LITERAL3>\r
+               </KEYWORDS>\r
+       </RULES>\r
+\r
+       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
+               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
+               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="zpt::MAIN">&gt;</SEQ>\r
+       </RULES>\r
+\r
+       <RULES SET="CSS" DEFAULT="MARKUP">\r
+               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
+       </RULES>\r
+</MODE>\r
+\r
diff --git a/basis/xmode/rules/authors.txt b/basis/xmode/rules/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/rules/rules-tests.factor b/basis/xmode/rules/rules-tests.factor
new file mode 100644 (file)
index 0000000..5fc62f3
--- /dev/null
@@ -0,0 +1,6 @@
+IN: xmode.rules.tests
+USING: xmode.rules tools.test ;
+
+[ { 1 2 3 } ] [ f { 1 2 3 } ?push-all ] unit-test
+[ { 1 2 3 } ] [ { 1 2 3 } f ?push-all ] unit-test
+[ V{ 1 2 3 4 5 } ] [ { 1 2 3 } { 4 5 } ?push-all ] unit-test
diff --git a/basis/xmode/rules/rules.factor b/basis/xmode/rules/rules.factor
new file mode 100755 (executable)
index 0000000..e3c0c65
--- /dev/null
@@ -0,0 +1,119 @@
+USING: accessors xmode.tokens xmode.keyword-map kernel
+sequences vectors assocs strings memoize regexp unicode.case ;
+IN: xmode.rules
+
+TUPLE: string-matcher string ignore-case? ;
+
+C: <string-matcher> string-matcher
+
+! Based on org.gjt.sp.jedit.syntax.ParserRuleSet
+TUPLE: rule-set
+name
+props
+keywords
+rules
+imports
+terminate-char
+ignore-case?
+default
+escape-rule
+highlight-digits?
+digit-re
+no-word-sep
+finalized?
+;
+
+: <rule-set> ( -- ruleset )
+    rule-set new
+        H{ } clone >>rules
+        H{ } clone >>props
+        V{ } clone >>imports ;
+
+MEMO: standard-rule-set ( id -- ruleset )
+    <rule-set> swap >>default ;
+
+: import-rule-set ( import ruleset -- )
+    imports>> push ;
+
+: inverted-index ( hashes key index -- )
+    [ swapd push-at ] 2curry each ;
+
+: ?push-all ( seq1 seq2 -- seq1+seq2 )
+    [
+        over [ >r V{ } like r> over push-all ] [ nip ] if
+    ] when* ;
+
+: rule-set-no-word-sep* ( ruleset -- str )
+    [ no-word-sep>> ]
+    [ keywords>> ] bi
+    dup [ keyword-map-no-word-sep* ] when
+    "_" 3append ;
+
+! Match restrictions
+TUPLE: matcher text at-line-start? at-whitespace-end? at-word-start? ;
+
+C: <matcher> matcher
+
+! Based on org.gjt.sp.jedit.syntax.ParserRule
+TUPLE: rule
+no-line-break?
+no-word-break?
+no-escape?
+start
+end
+match-token
+body-token
+delegate
+chars
+;
+
+TUPLE: seq-rule < rule ;
+
+TUPLE: span-rule < rule ;
+
+TUPLE: eol-span-rule < rule ;
+
+: init-span ( rule -- )
+    dup delegate>> [ drop ] [
+        dup body-token>> standard-rule-set
+        swap (>>delegate)
+    ] if ;
+
+: init-eol-span ( rule -- )
+    dup init-span
+    t >>no-line-break? drop ;
+
+TUPLE: mark-following-rule < rule ;
+
+TUPLE: mark-previous-rule < rule ;
+
+TUPLE: escape-rule < rule ;
+
+: <escape-rule> ( string -- rule )
+    f <string-matcher> f f f <matcher>
+    escape-rule new swap >>start ;
+
+GENERIC: text-hash-char ( text -- ch )
+
+M: f text-hash-char ;
+
+M: string-matcher text-hash-char string>> first ;
+
+M: regexp text-hash-char drop f ;
+
+: rule-chars* ( rule -- string )
+    [ chars>> ] [ start>> ] bi text>>
+    text-hash-char [ suffix ] when* ;
+
+: add-rule ( rule ruleset -- )
+    >r dup rule-chars* >upper swap
+    r> rules>> inverted-index ;
+
+: add-escape-rule ( string ruleset -- )
+    over [
+        [ <escape-rule> ] dip
+        2dup (>>escape-rule)
+        add-rule
+    ] [
+        2drop
+    ] if ;
diff --git a/basis/xmode/summary.txt b/basis/xmode/summary.txt
new file mode 100644 (file)
index 0000000..4482fb8
--- /dev/null
@@ -0,0 +1 @@
+Syntax highlighting engine using jEdit mode files
diff --git a/basis/xmode/tokens/authors.txt b/basis/xmode/tokens/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/tokens/tokens.factor b/basis/xmode/tokens/tokens.factor
new file mode 100755 (executable)
index 0000000..b891752
--- /dev/null
@@ -0,0 +1,19 @@
+USING: accessors parser words sequences namespaces kernel assocs
+compiler.units ;
+IN: xmode.tokens
+
+! Based on org.gjt.sp.jedit.syntax.Token
+<<
+SYMBOL: tokens
+
+{ "COMMENT1" "COMMENT2" "COMMENT3" "COMMENT4" "DIGIT" "FUNCTION" "INVALID" "KEYWORD1" "KEYWORD2" "KEYWORD3" "KEYWORD4" "LABEL" "LITERAL1" "LITERAL2" "LITERAL3" "LITERAL4" "MARKUP" "OPERATOR" "END" "NULL" } [
+    create-in dup define-symbol
+    dup name>> swap
+] H{ } map>assoc tokens set-global
+>>
+
+: string>token ( string -- id ) tokens get at ;
+
+TUPLE: token str id ;
+
+C: <token> token
diff --git a/basis/xmode/utilities/authors.txt b/basis/xmode/utilities/authors.txt
new file mode 100755 (executable)
index 0000000..1901f27
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
diff --git a/basis/xmode/utilities/test.xml b/basis/xmode/utilities/test.xml
new file mode 100644 (file)
index 0000000..09a83fa
--- /dev/null
@@ -0,0 +1 @@
+<company type="public"><employee name="Joe">VP Sales</employee><employee name="Jane">CFO</employee></company>
diff --git a/basis/xmode/utilities/utilities-tests.factor b/basis/xmode/utilities/utilities-tests.factor
new file mode 100755 (executable)
index 0000000..45238ca
--- /dev/null
@@ -0,0 +1,52 @@
+IN: xmode.utilities.tests
+USING: accessors xmode.utilities tools.test xml xml.data kernel
+strings vectors sequences io.files prettyprint assocs
+unicode.case ;
+[ "hi" 3 ] [
+    { 1 2 3 4 5 6 7 8 } [ H{ { 3 "hi" } } at ] map-find
+] unit-test
+
+[ f f ] [
+    { 1 2 3 4 5 6 7 8 } [ H{ { 11 "hi" } } at ] map-find
+] unit-test
+
+TUPLE: company employees type ;
+
+: <company> V{ } clone f company boa ;
+
+: add-employee employees>> push ;
+
+<TAGS: parse-employee-tag
+
+TUPLE: employee name description ;
+
+TAG: employee
+    employee new
+    { { "name" f (>>name) } { f (>>description) } }
+    init-from-tag swap add-employee ;
+
+TAGS>
+
+\ parse-employee-tag see
+
+: parse-company-tag
+    [
+        <company>
+        { { "type" >upper (>>type) } }
+        init-from-tag dup
+    ] keep
+    children>> [ tag? ] filter
+    [ parse-employee-tag ] with each ;
+
+[
+    T{ company f
+        V{
+            T{ employee f "Joe" "VP Sales" }
+            T{ employee f "Jane" "CFO" }
+        }
+        "PUBLIC"
+    }
+] [
+    "resource:basis/xmode/utilities/test.xml"
+    file>xml parse-company-tag
+] unit-test
diff --git a/basis/xmode/utilities/utilities.factor b/basis/xmode/utilities/utilities.factor
new file mode 100644 (file)
index 0000000..8f1a618
--- /dev/null
@@ -0,0 +1,57 @@
+USING: accessors sequences assocs kernel quotations namespaces
+xml.data xml.utilities combinators macros parser lexer words ;
+IN: xmode.utilities
+
+: implies >r not r> or ; inline
+
+: child-tags ( tag -- seq ) children>> [ tag? ] filter ;
+
+: map-find ( seq quot -- result elt )
+    f -rot
+    [ nip ] swap [ dup ] 3compose find
+    >r [ drop f ] unless r> ; inline
+
+: tag-init-form ( spec -- quot )
+    {
+        { [ dup quotation? ] [ [ object get tag get ] prepose ] }
+        { [ dup length 2 = ] [
+            first2 [
+                >r >r tag get children>string
+                r> [ execute ] when* object get r> execute
+            ] 2curry
+        ] }
+        { [ dup length 3 = ] [
+            first3 [
+                >r >r tag get at
+                r> [ execute ] when* object get r> execute
+            ] 3curry
+        ] }
+    } cond ;
+
+: with-tag-initializer ( tag obj quot -- )
+    [ object set tag set ] prepose with-scope ; inline
+
+MACRO: (init-from-tag) ( specs -- )
+    [ tag-init-form ] map concat [ ] like
+    [ with-tag-initializer ] curry ;
+
+: init-from-tag ( tag tuple specs -- tuple )
+    over >r (init-from-tag) r> ; inline
+
+SYMBOL: tag-handlers
+SYMBOL: tag-handler-word
+
+: <TAGS:
+    CREATE tag-handler-word set
+    H{ } clone tag-handlers set ; parsing
+
+: (TAG:) ( name quot -- ) swap tag-handlers get set-at ;
+
+: TAG:
+    scan parse-definition
+    (TAG:) ; parsing
+
+: TAGS>
+    tag-handler-word get
+    tag-handlers get >alist [ >r dup main>> r> case ] curry
+    define ; parsing
diff --git a/basis/xmode/xmode.dtd b/basis/xmode/xmode.dtd
new file mode 100644 (file)
index 0000000..d96df44
--- /dev/null
@@ -0,0 +1,166 @@
+<!-- Syntax tokens -->\r
+<!ENTITY % token_values "NULL | COMMENT1 | COMMENT2 | COMMENT3 | COMMENT4 |\r
+       DIGIT | FUNCTION | INVALID | KEYWORD1 | KEYWORD2 | KEYWORD3 | KEYWORD4 |\r
+       LABEL | LITERAL1 | LITERAL2 | LITERAL3 | LITERAL4 | MARKUP | OPERATOR" >\r
+<!ENTITY % tokens "( %token_values; )" >\r
+\r
+<!-- Entities for attributes shared by multiple rules -->\r
+<!ENTITY % att-bool '( TRUE | FALSE ) #IMPLIED' >\r
+<!ENTITY % att-type 'TYPE %tokens; #IMPLIED' >\r
+<!ENTITY % att-position-mix 'AT_LINE_START %att-bool;\r
+       AT_WHITESPACE_END %att-bool;\r
+       AT_WORD_START %att-bool; ' >\r
+<!ENTITY % att-match-type 'MATCH_TYPE ( %token_values; | CONTEXT | RULE ) #IMPLIED' >\r
+<!ENTITY % att-delegate 'DELEGATE CDATA #IMPLIED' >\r
+<!ENTITY % att-span-mix 'NO_LINE_BREAK %att-bool;\r
+       NO_WORD_BREAK %att-bool;\r
+       NO_ESCAPE %att-bool; '>\r
+<!ENTITY % att-hash-char 'HASH_CHAR CDATA #IMPLIED\r
+       HASH_CHARS CDATA #IMPLIED' >\r
+\r
+<!-- MODE element -->\r
+<!ELEMENT MODE ( PROPS?, RULES* ) >\r
+\r
+<!-- MODE children -->\r
+<!-- PROPS element -->\r
+<!ELEMENT PROPS ( PROPERTY+ ) >\r
+\r
+<!-- PROPS children -->\r
+<!ELEMENT PROPERTY EMPTY >\r
+<!ATTLIST PROPERTY\r
+       NAME CDATA #REQUIRED\r
+       VALUE CDATA #REQUIRED >\r
+\r
+<!-- RULES element -->\r
+<!ELEMENT RULES ( PROPS?, ( IMPORT | TERMINATE | SEQ | SEQ_REGEXP | SPAN\r
+       | SPAN_REGEXP | EOL_SPAN | EOL_SPAN_REGEXP | MARK_PREVIOUS\r
+       | MARK_FOLLOWING )*, KEYWORDS? ) >\r
+\r
+<!-- RULES attributes -->\r
+<!ATTLIST RULES\r
+       SET CDATA #IMPLIED\r
+       IGNORE_CASE %att-bool;\r
+       HIGHLIGHT_DIGITS %att-bool;\r
+       DIGIT_RE CDATA #IMPLIED\r
+       ESCAPE CDATA #IMPLIED\r
+       DEFAULT %tokens; #IMPLIED\r
+       NO_WORD_SEP CDATA #IMPLIED >\r
+\r
+<!-- IMPORT element -->\r
+<!ELEMENT IMPORT EMPTY >\r
+<!ATTLIST IMPORT DELEGATE CDATA #REQUIRED >\r
+\r
+<!-- TERMINATE element -->\r
+<!ELEMENT TERMINATE EMPTY >\r
+<!ATTLIST TERMINATE AT_CHAR CDATA #REQUIRED >\r
+\r
+<!-- SEQ element -->\r
+<!ELEMENT SEQ ( #PCDATA ) >\r
+\r
+<!-- SEQ attributes -->\r
+<!ATTLIST SEQ\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-delegate; >\r
+\r
+<!-- SEQ_REGEXP element -->\r
+<!ELEMENT SEQ_REGEXP ( #PCDATA ) >\r
+\r
+<!-- SEQ_REGEXP attributes -->\r
+<!ATTLIST SEQ_REGEXP\r
+       %att-hash-char;\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-delegate; >\r
+\r
+<!-- SPAN element -->\r
+<!ELEMENT SPAN ( BEGIN, END ) >\r
+\r
+<!-- SPAN attributes -->\r
+<!ATTLIST SPAN\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-span-mix;\r
+       %att-match-type;\r
+       %att-delegate; >\r
+\r
+<!-- SPAN_REGEXP element -->\r
+<!ELEMENT SPAN_REGEXP ( BEGIN, END ) >\r
+\r
+<!-- SPAN_REGEXP attributes -->\r
+<!ATTLIST SPAN_REGEXP\r
+       %att-hash-char;\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-span-mix;\r
+       %att-match-type;\r
+       %att-delegate; >\r
+\r
+<!-- SPAN and SPAN_REGEXP children -->\r
+<!ELEMENT BEGIN ( #PCDATA ) >\r
+<!ATTLIST BEGIN %att-position-mix; >\r
+<!ELEMENT END ( #PCDATA ) >\r
+<!ATTLIST END %att-position-mix; >\r
+\r
+<!-- EOL_SPAN element -->\r
+<!ELEMENT EOL_SPAN ( #PCDATA ) >\r
+\r
+<!-- EOL_SPAN attributes -->\r
+<!ATTLIST EOL_SPAN\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-match-type;\r
+       %att-delegate; >\r
+\r
+<!-- EOL_SPAN_REGEXP element -->\r
+<!ELEMENT EOL_SPAN_REGEXP ( #PCDATA ) >\r
+\r
+<!-- EOL_SPAN_REGEXP attributes -->\r
+<!ATTLIST EOL_SPAN_REGEXP\r
+       %att-hash-char;\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-match-type;\r
+       %att-delegate; >\r
+\r
+<!-- MARK_FOLLOWING element -->\r
+<!ELEMENT MARK_FOLLOWING ( #PCDATA ) >\r
+\r
+<!-- MARK_FOLLOWING attributes -->\r
+<!ATTLIST MARK_FOLLOWING\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-match-type; >\r
+\r
+<!-- MARK_PREVIOUS element -->\r
+<!ELEMENT MARK_PREVIOUS ( #PCDATA ) >\r
+\r
+<!-- MARK_PREVIOUS attributes -->\r
+<!ATTLIST MARK_PREVIOUS\r
+       %att-type;\r
+       %att-position-mix;\r
+       %att-match-type; >\r
+\r
+<!-- KEYWORDS element -->\r
+<!ELEMENT KEYWORDS (%tokens;)+ >\r
+\r
+<!-- KEYWORDS children -->\r
+<!ELEMENT COMMENT1 ( #PCDATA ) >\r
+<!ELEMENT COMMENT2 ( #PCDATA ) >\r
+<!ELEMENT COMMENT3 ( #PCDATA ) >\r
+<!ELEMENT COMMENT4 ( #PCDATA ) >\r
+<!ELEMENT DIGIT ( #PCDATA ) >\r
+<!ELEMENT FUNCTION ( #PCDATA ) >\r
+<!ELEMENT KEYWORD1 ( #PCDATA ) >\r
+<!ELEMENT KEYWORD2 ( #PCDATA ) >\r
+<!ELEMENT KEYWORD3 ( #PCDATA ) >\r
+<!ELEMENT KEYWORD4 ( #PCDATA ) >\r
+<!ELEMENT LABEL ( #PCDATA ) >\r
+<!ELEMENT LITERAL1 ( #PCDATA ) >\r
+<!ELEMENT LITERAL2 ( #PCDATA ) >\r
+<!ELEMENT LITERAL3 ( #PCDATA ) >\r
+<!ELEMENT LITERAL4 ( #PCDATA ) >\r
+<!ELEMENT MARKUP ( #PCDATA ) >\r
+<!ELEMENT NULL ( #PCDATA ) >\r
+<!ELEMENT OPERATOR ( #PCDATA ) >\r
+<!ELEMENT INVALID ( #PCDATA ) >\r
index 522e7d74c3b039c8fed27b0a04201f6dc457f217..4677a7b5d73bbb0ae633a0f72b0fa5e2cc4da95e 100755 (executable)
@@ -57,7 +57,6 @@ SYMBOL: load-help?
     t over set-vocab-source-loaded?
     [ [ % ] [ call ] if-bootstrapping ] dip ;
 
-
 : load-docs ( vocab -- vocab )
     load-help? get [
         f over set-vocab-docs-loaded?
diff --git a/extra/farkup/authors.txt b/extra/farkup/authors.txt
deleted file mode 100644 (file)
index 5674120..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Doug Coleman
-Slava Pestov
diff --git a/extra/farkup/farkup-docs.factor b/extra/farkup/farkup-docs.factor
deleted file mode 100644 (file)
index b2b662d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-USING: help.markup help.syntax ;
-IN: farkup
-
-HELP: convert-farkup
-{ $values { "string" "a string" } { "string'" "a string" } }
-{ $description "Parse a string as farkup (Factor mARKUP) and output the result aas an string of HTML." } ;
diff --git a/extra/farkup/farkup-tests.factor b/extra/farkup/farkup-tests.factor
deleted file mode 100644 (file)
index 005e875..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-! Copyright (C) 2008 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: farkup kernel peg peg.ebnf tools.test ;
-IN: farkup.tests
-
-[ ] [
-    "abcd-*strong*\nasdifj\nweouh23ouh23"
-    "paragraph" \ farkup rule parse drop
-] unit-test
-
-[ ] [
-    "abcd-*strong*\nasdifj\nweouh23ouh23\n"
-    "paragraph" \ farkup rule parse drop
-] unit-test
-
-[ "<p>a-b</p>" ] [ "a-b" convert-farkup ] unit-test
-[ "<p>*foo\nbar\n</p>" ] [ "*foo\nbar\n" convert-farkup ] unit-test
-[ "<p><strong>Wow!</strong></p>" ] [ "*Wow!*" convert-farkup ] unit-test
-[ "<p><em>Wow.</em></p>" ] [ "_Wow._" convert-farkup ] unit-test
-
-[ "<p>*</p>" ] [ "*" convert-farkup ] unit-test
-[ "<p>*</p>" ] [ "\\*" convert-farkup ] unit-test
-[ "<p>**</p>" ] [ "\\**" convert-farkup ] unit-test
-
-[ "<ul><li>a-b</li></ul>" ] [ "-a-b" convert-farkup ] unit-test
-[ "<ul><li>foo</li></ul>" ] [ "-foo" convert-farkup ] unit-test
-[ "<ul><li>foo</li>\n</ul>" ] [ "-foo\n" convert-farkup ] unit-test
-[ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [ "-foo\n-bar" convert-farkup ] unit-test
-[ "<ul><li>foo</li>\n<li>bar</li>\n</ul>" ] [ "-foo\n-bar\n" convert-farkup ] unit-test
-
-[ "<ul><li>foo</li>\n</ul><p>bar\n</p>" ] [ "-foo\nbar\n" convert-farkup ] unit-test
-
-
-[ "\n\n" ] [ "\n\n" convert-farkup ] unit-test
-[ "\n\n" ] [ "\r\n\r\n" convert-farkup ] unit-test
-[ "\n\n\n\n" ] [ "\r\r\r\r" convert-farkup ] unit-test
-[ "\n\n\n" ] [ "\r\r\r" convert-farkup ] unit-test
-[ "\n\n\n" ] [ "\n\n\n" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
-
-[ "\n<p>bar\n</p>" ] [ "\nbar\n" convert-farkup ] unit-test
-[ "\n<p>bar\n</p>" ] [ "\rbar\r" convert-farkup ] unit-test
-[ "\n<p>bar\n</p>" ] [ "\r\nbar\r\n" convert-farkup ] unit-test
-
-[ "<p>foo</p><p>bar</p>" ] [ "foo\n\n\nbar" convert-farkup ] unit-test
-
-[ "" ] [ "" convert-farkup ] unit-test
-
-[ "<p>|a</p>" ]
-[ "|a" convert-farkup ] unit-test
-
-[ "<table><tr><td>a</td></tr></table>" ]
-[ "|a|" convert-farkup ] unit-test
-
-[ "<table><tr><td>a</td><td>b</td></tr></table>" ]
-[ "|a|b|" convert-farkup ] unit-test
-
-[ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
-[ "|a|b|\n|c|d|" convert-farkup ] unit-test
-
-[ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
-[ "|a|b|\n|c|d|\n" convert-farkup ] unit-test
-
-[ "<p><strong>foo</strong>\n</p><h1>aheading</h1>\n<p>adfasd</p>" ]
-[ "*foo*\n=aheading=\nadfasd" convert-farkup ] unit-test
-
-[ "<h1>foo</h1>\n" ] [ "=foo=\n" convert-farkup ] unit-test
-[ "<p>lol</p><h1>foo</h1>\n" ] [ "lol=foo=\n" convert-farkup ] unit-test
-[ "<p>=foo\n</p>" ] [ "=foo\n" convert-farkup ] unit-test
-[ "<p>=foo</p>" ] [ "=foo" convert-farkup ] unit-test
-[ "<p>==foo</p>" ] [ "==foo" convert-farkup ] unit-test
-[ "<p>=</p><h1>foo</h1>" ] [ "==foo=" convert-farkup ] unit-test
-[ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
-[ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
-[ "<p>=</p><h2>foo</h2>" ] [ "===foo==" convert-farkup ] unit-test
-[ "<h1>foo</h1><p>=</p>" ] [ "=foo==" convert-farkup ] unit-test
-
-[ "<pre><span class='KEYWORD3'>int</span> <span class='FUNCTION'>main</span><span class='OPERATOR'>(</span><span class='OPERATOR'>)</span>\n</pre>" ]
-[ "[c{int main()}]" convert-farkup ] unit-test
-
-[ "<p><img src=\"lol.jpg\"/></p>" ] [ "[[image:lol.jpg]]" convert-farkup ] unit-test
-[ "<p><img src=\"lol.jpg\" alt=\"teh lol\"/></p>" ] [ "[[image:lol.jpg|teh lol]]" convert-farkup ] unit-test
-[ "<p><a href=\"lol.com\">lol.com</a></p>" ] [ "[[lol.com]]" convert-farkup ] unit-test
-[ "<p><a href=\"lol.com\">haha</a></p>" ] [ "[[lol.com|haha]]" convert-farkup ] unit-test
-
-[ ] [ "[{}]" convert-farkup drop ] unit-test
-
-[
-    "<p>Feature comparison:\n<table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table></p>"
-] [ "Feature comparison:\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
-
-[
-    "<p>Feature comparison:</p><table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table>"
-] [ "Feature comparison:\n\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
diff --git a/extra/farkup/farkup.factor b/extra/farkup/farkup.factor
deleted file mode 100644 (file)
index baf2cca..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-! Copyright (C) 2008 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays combinators html.elements io io.streams.string
-kernel math memoize namespaces peg peg.ebnf prettyprint
-sequences sequences.deep strings xml.entities vectors splitting
-xmode.code2html ;
-IN: farkup
-
-SYMBOL: relative-link-prefix
-SYMBOL: disable-images?
-SYMBOL: link-no-follow?
-
-TUPLE: heading1 obj ;
-TUPLE: heading2 obj ;
-TUPLE: heading3 obj ;
-TUPLE: heading4 obj ;
-TUPLE: strong obj ;
-TUPLE: emphasis obj ;
-TUPLE: superscript obj ;
-TUPLE: subscript obj ;
-TUPLE: inline-code obj ;
-TUPLE: paragraph obj ;
-TUPLE: list-item obj ;
-TUPLE: list obj ;
-TUPLE: table obj ;
-TUPLE: table-row obj ;
-TUPLE: link href text ;
-TUPLE: image href text ;
-TUPLE: code mode string ;
-
-EBNF: farkup
-nl               = ("\r\n" | "\r" | "\n") => [[ drop "\n" ]]
-2nl              = nl nl
-
-heading1      = "=" (!("=" | nl).)+ "="
-    => [[ second >string heading1 boa ]]
-
-heading2      = "==" (!("=" | nl).)+ "=="
-    => [[ second >string heading2 boa ]]
-
-heading3      = "===" (!("=" | nl).)+ "==="
-    => [[ second >string heading3 boa ]]
-
-heading4      = "====" (!("=" | nl).)+ "===="
-    => [[ second >string heading4 boa ]]
-
-strong        = "*" (!("*" | nl).)+ "*"
-    => [[ second >string strong boa ]]
-
-emphasis      = "_" (!("_" | nl).)+ "_"
-    => [[ second >string emphasis boa ]]
-
-superscript   = "^" (!("^" | nl).)+ "^"
-    => [[ second >string superscript boa ]]
-
-subscript     = "~" (!("~" | nl).)+ "~"
-    => [[ second >string subscript boa ]]
-
-inline-code   = "%" (!("%" | nl).)+ "%"
-    => [[ second >string inline-code boa ]]
-
-escaped-char  = "\" .                => [[ second ]]
-
-image-link       = "[[image:" (!("|") .)+  "|" (!("]]").)+ "]]"
-                    => [[ [ second >string ] [ fourth >string ] bi image boa ]]
-                  | "[[image:" (!("]").)+ "]]"
-                    => [[ second >string f image boa ]]
-
-simple-link      = "[[" (!("|]" | "]]") .)+ "]]"
-    => [[ second >string dup link boa ]]
-
-labelled-link    = "[[" (!("|") .)+ "|" (!("]]").)+ "]]"
-    => [[ [ second >string ] [ fourth >string ] bi link boa ]]
-
-link             = image-link | labelled-link | simple-link
-
-heading          = heading4 | heading3 | heading2 | heading1
-
-inline-tag       = strong | emphasis | superscript | subscript | inline-code
-                   | link | escaped-char
-
-inline-delimiter = '*' | '_' | '^' | '~' | '%' | '\' | '['
-
-table-column     = (list | (!(nl | inline-delimiter | '|').)+ | inline-tag | inline-delimiter  ) '|'
-    => [[ first ]]
-table-row        = "|" (table-column)+
-    => [[ second table-row boa ]]
-table            =  ((table-row nl => [[ first ]] )+ table-row? | table-row)
-    => [[ table boa ]]
-
-paragraph-item = ( table | (!(nl | code | heading | inline-delimiter | table ).) | inline-tag | inline-delimiter)+
-paragraph = ((paragraph-item nl => [[ first ]])+ nl+ => [[ first ]]
-             | (paragraph-item nl)+ paragraph-item?
-             | paragraph-item)
-    => [[ paragraph boa ]]
-                
-list-item      = '-' ((!(inline-delimiter | nl).)+ | inline-tag)*
-    => [[ second list-item boa ]]
-list = ((list-item nl)+ list-item? | list-item)
-    => [[ list boa ]]
-
-code       =  '[' (!('{' | nl | '[').)+ '{' (!("}]").)+ "}]"
-    => [[ [ second >string ] [ fourth >string ] bi code boa ]]
-
-stand-alone      = (code | heading | list | table | paragraph | nl)*
-;EBNF
-
-
-
-: invalid-url "javascript:alert('Invalid URL in farkup');" ;
-
-: check-url ( href -- href' )
-    {
-        { [ dup empty? ] [ drop invalid-url ] }
-        { [ dup [ 127 > ] contains? ] [ drop invalid-url ] }
-        { [ dup first "/\\" member? ] [ drop invalid-url ] }
-        { [ CHAR: : over member? ] [
-            dup { "http://" "https://" "ftp://" } [ head? ] with contains?
-            [ drop invalid-url ] unless
-        ] }
-        [ relative-link-prefix get prepend ]
-    } cond ;
-
-: escape-link ( href text -- href-esc text-esc )
-    >r check-url escape-quoted-string r> escape-string ;
-
-: write-link ( text href -- )
-    escape-link
-    "<a" write
-    " href=\"" write write "\"" write
-    link-no-follow? get [ " nofollow=\"true\"" write ] when
-    ">" write write "</a>" write ;
-
-: write-image-link ( href text -- )
-    disable-images? get [
-        2drop "<strong>Images are not allowed</strong>" write
-    ] [
-        escape-link
-        >r "<img src=\"" write write "\"" write r>
-        dup empty? [ drop ] [ " alt=\"" write write "\"" write ] if
-        "/>" write
-    ] if ;
-
-: render-code ( string mode -- string' )
-    >r string-lines r>
-    [
-        <pre>
-            htmlize-lines
-        </pre>
-    ] with-string-writer write ;
-
-GENERIC: write-farkup ( obj -- )
-: <foo.> ( string -- ) <foo> write ;
-: </foo.> ( string -- ) </foo> write ;
-: in-tag. ( obj quot string -- ) [ <foo.> call ] keep </foo.> ; inline
-M: heading1 write-farkup ( obj -- ) [ obj>> write-farkup ] "h1" in-tag. ;
-M: heading2 write-farkup ( obj -- ) [ obj>> write-farkup ] "h2" in-tag. ;
-M: heading3 write-farkup ( obj -- ) [ obj>> write-farkup ] "h3" in-tag. ;
-M: heading4 write-farkup ( obj -- ) [ obj>> write-farkup ] "h4" in-tag. ;
-M: strong write-farkup ( obj -- ) [ obj>> write-farkup ] "strong" in-tag. ;
-M: emphasis write-farkup ( obj -- ) [ obj>> write-farkup ] "em" in-tag. ;
-M: superscript write-farkup ( obj -- ) [ obj>> write-farkup ] "sup" in-tag. ;
-M: subscript write-farkup ( obj -- ) [ obj>> write-farkup ] "sub" in-tag. ;
-M: inline-code write-farkup ( obj -- ) [ obj>> write-farkup ] "code" in-tag. ;
-M: list-item write-farkup ( obj -- ) [ obj>> write-farkup ] "li" in-tag. ;
-M: list write-farkup ( obj -- ) [ obj>> write-farkup ] "ul" in-tag. ;
-M: paragraph write-farkup ( obj -- ) [ obj>> write-farkup ] "p" in-tag. ;
-M: link write-farkup ( obj -- ) [ text>> ] [ href>> ] bi write-link ;
-M: image write-farkup ( obj -- ) [ href>> ] [ text>> ] bi write-image-link ;
-M: code write-farkup ( obj -- ) [ string>> ] [ mode>> ] bi render-code ;
-M: table-row write-farkup ( obj -- )
-    obj>> [ [ [ write-farkup ] "td" in-tag. ] each ] "tr" in-tag. ;
-M: table write-farkup ( obj -- ) [ obj>> write-farkup ] "table" in-tag. ;
-M: fixnum write-farkup ( obj -- ) write1 ;
-M: string write-farkup ( obj -- ) write ;
-M: vector write-farkup ( obj -- ) [ write-farkup ] each ;
-M: f write-farkup ( obj -- ) drop ;
-
-: convert-farkup ( string -- string' )
-    farkup [ write-farkup ] with-string-writer ;
diff --git a/extra/farkup/summary.txt b/extra/farkup/summary.txt
deleted file mode 100644 (file)
index c6e75d2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Simple markup language for generating HTML
diff --git a/extra/farkup/tags.txt b/extra/farkup/tags.txt
deleted file mode 100644 (file)
index 8e27be7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-text
diff --git a/extra/furnace/actions/actions-tests.factor b/extra/furnace/actions/actions-tests.factor
deleted file mode 100755 (executable)
index 60a526f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-USING: kernel furnace.actions validators
-tools.test math math.parser multiline namespaces http
-io.streams.string http.server sequences splitting accessors ;
-IN: furnace.actions.tests
-
-<action>
-    [ "a" param "b" param [ string>number ] bi@ + ] >>display
-"action-1" set
-
-: lf>crlf "\n" split "\r\n" join ;
-
-STRING: action-request-test-1
-GET http://foo/bar?a=12&b=13 HTTP/1.1
-
-blah
-;
-
-[ 25 ] [
-    action-request-test-1 lf>crlf
-    [ read-request ] with-string-reader
-    init-request
-    { } "action-1" get call-responder
-] unit-test
-
-<action>
-    "a" >>rest
-    [ "a" param string>number sq ] >>display
-"action-2" set
-
-STRING: action-request-test-2
-GET http://foo/bar/123 HTTP/1.1
-
-blah
-;
-
-[ 25 ] [
-    action-request-test-2 lf>crlf
-    [ read-request ] with-string-reader
-    init-request
-    { "5" } "action-2" get call-responder
-] unit-test
diff --git a/extra/furnace/actions/actions.factor b/extra/furnace/actions/actions.factor
deleted file mode 100755 (executable)
index d42972c..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: accessors sequences kernel assocs combinators\r
-validators http hashtables namespaces fry continuations locals\r
-io arrays math boxes splitting urls\r
-xml.entities\r
-http.server\r
-http.server.responses\r
-furnace\r
-furnace.redirection\r
-furnace.conversations\r
-html.forms\r
-html.elements\r
-html.components\r
-html.components\r
-html.templates.chloe\r
-html.templates.chloe.syntax ;\r
-IN: furnace.actions\r
-\r
-SYMBOL: params\r
-\r
-SYMBOL: rest\r
-\r
-: render-validation-messages ( -- )\r
-    form get errors>>\r
-    dup empty? [ drop ] [\r
-        <ul "errors" =class ul>\r
-            [ <li> escape-string write </li> ] each\r
-        </ul>\r
-    ] if ;\r
-\r
-CHLOE: validation-messages drop render-validation-messages ;\r
-\r
-TUPLE: action rest authorize init display validate submit ;\r
-\r
-: new-action ( class -- action )\r
-    new [ ] >>init [ ] >>validate [ ] >>authorize ; inline\r
-\r
-: <action> ( -- action )\r
-    action new-action ;\r
-\r
-: merge-forms ( form -- )\r
-    form get\r
-    [ [ errors>> ] bi@ push-all ]\r
-    [ [ values>> ] bi@ swap update ]\r
-    [ swap validation-failed>> >>validation-failed drop ]\r
-    2tri ;\r
-\r
-: set-nested-form ( form name -- )\r
-    dup empty? [\r
-        drop merge-forms\r
-    ] [\r
-        unclip [ set-nested-form ] nest-form\r
-    ] if ;\r
-\r
-: restore-validation-errors ( -- )\r
-    form cget [\r
-        nested-forms cget set-nested-form\r
-    ] when* ;\r
-\r
-: handle-get ( action -- response )\r
-    '[\r
-        , dup display>> [\r
-            {\r
-                [ init>> call ]\r
-                [ authorize>> call ]\r
-                [ drop restore-validation-errors ]\r
-                [ display>> call ]\r
-            } cleave\r
-        ] [ drop <400> ] if\r
-    ] with-exit-continuation ;\r
-\r
-: param ( name -- value )\r
-    params get at ;\r
-\r
-: revalidate-url-key "__u" ;\r
-\r
-: revalidate-url ( -- url/f )\r
-    revalidate-url-key param\r
-    dup [ >url [ same-host? ] keep and ] when ;\r
-\r
-: validation-failed ( -- * )\r
-    post-request? revalidate-url and [\r
-        begin-conversation\r
-        nested-forms-key param " " split harvest nested-forms cset\r
-        form get form cset\r
-        <redirect>\r
-    ] [ <400> ] if*\r
-    exit-with ;\r
-\r
-: handle-post ( action -- response )\r
-    '[\r
-        , dup submit>> [\r
-            [ validate>> call ]\r
-            [ authorize>> call ]\r
-            [ submit>> call ]\r
-            tri\r
-        ] [ drop <400> ] if\r
-    ] with-exit-continuation ;\r
-\r
-: handle-rest ( path action -- assoc )\r
-    rest>> dup [ [ "/" join ] dip associate ] [ 2drop f ] if ;\r
-\r
-: init-action ( path action -- )\r
-    begin-form\r
-    handle-rest\r
-    request get request-params assoc-union params set ;\r
-\r
-M: action call-responder* ( path action -- response )\r
-    [ init-action ] keep\r
-    request get method>> {\r
-        { "GET" [ handle-get ] }\r
-        { "HEAD" [ handle-get ] }\r
-        { "POST" [ handle-post ] }\r
-    } case ;\r
-\r
-M: action modify-form\r
-    drop url get revalidate-url-key hidden-form-field ;\r
-\r
-: check-validation ( -- )\r
-    validation-failed? [ validation-failed ] when ;\r
-\r
-: validate-params ( validators -- )\r
-    params get swap validate-values check-validation ;\r
-\r
-: validate-integer-id ( -- )\r
-    { { "id" [ v-number ] } } validate-params ;\r
-\r
-TUPLE: page-action < action template ;\r
-\r
-: <chloe-content> ( path -- response )\r
-    resolve-template-path <chloe> "text/html" <content> ;\r
-\r
-: <page-action> ( -- page )\r
-    page-action new-action\r
-        dup '[ , template>> <chloe-content> ] >>display ;\r
diff --git a/extra/furnace/alloy/alloy.factor b/extra/furnace/alloy/alloy.factor
deleted file mode 100644 (file)
index 29cb37b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences db.tuples alarms calendar db fry
-furnace.db
-furnace.cache
-furnace.referrer
-furnace.sessions
-furnace.conversations
-furnace.auth.providers
-furnace.auth.login.permits ;
-IN: furnace.alloy
-
-: <alloy> ( responder db params -- responder' )
-    '[
-        <conversations>
-        <sessions>
-        , , <db-persistence>
-        <check-form-submissions>
-    ] call ;
-
-: state-classes { session conversation permit } ; inline
-
-: init-furnace-tables ( -- )
-    state-classes ensure-tables
-    user ensure-table ;
-
-: start-expiring ( db params -- )
-    '[
-        , , [ state-classes [ expire-state ] each ] with-db
-    ] 5 minutes every drop ;
diff --git a/extra/furnace/auth/auth-tests.factor b/extra/furnace/auth/auth-tests.factor
deleted file mode 100644 (file)
index 220a8cd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-USING: furnace.auth tools.test ;
-IN: furnace.auth.tests
-
-\ logged-in-username must-infer
-\ <protected> must-infer
-\ new-realm must-infer
diff --git a/extra/furnace/auth/auth.factor b/extra/furnace/auth/auth.factor
deleted file mode 100755 (executable)
index 4487759..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-! Copyright (c) 2008 Slava Pestov\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: accessors assocs namespaces kernel sequences sets\r
-destructors combinators fry logging\r
-io.encodings.utf8 io.encodings.string io.binary random\r
-checksums checksums.sha2\r
-html.forms\r
-http.server\r
-http.server.filters\r
-http.server.dispatchers\r
-furnace\r
-furnace.actions\r
-furnace.redirection\r
-furnace.boilerplate\r
-furnace.auth.providers\r
-furnace.auth.providers.db ;\r
-IN: furnace.auth\r
-\r
-SYMBOL: logged-in-user\r
-\r
-: logged-in? ( -- ? )\r
-    logged-in-user get >boolean ;\r
-\r
-: username ( -- string/f )\r
-    logged-in-user get dup [ username>> ] when ;\r
-\r
-GENERIC: init-user-profile ( responder -- )\r
-\r
-M: object init-user-profile drop ;\r
-\r
-M: dispatcher init-user-profile\r
-    default>> init-user-profile ;\r
-\r
-M: filter-responder init-user-profile\r
-    responder>> init-user-profile ;\r
-\r
-: profile ( -- assoc ) logged-in-user get profile>> ;\r
-\r
-: user-changed ( -- )\r
-    logged-in-user get t >>changed? drop ;\r
-\r
-: uget ( key -- value )\r
-    profile at ;\r
-\r
-: uset ( value key -- )\r
-    profile set-at\r
-    user-changed ;\r
-\r
-: uchange ( quot key -- )\r
-    profile swap change-at\r
-    user-changed ; inline\r
-\r
-SYMBOL: capabilities\r
-\r
-V{ } clone capabilities set-global\r
-\r
-: define-capability ( word -- ) capabilities get adjoin ;\r
-\r
-TUPLE: realm < dispatcher name users checksum secure ;\r
-\r
-GENERIC: login-required* ( description capabilities realm -- response )\r
-\r
-GENERIC: init-realm ( realm -- )\r
-\r
-GENERIC: logged-in-username ( realm -- username )\r
-\r
-: login-required ( description capabilities -- * )\r
-    realm get login-required* exit-with ;\r
-\r
-: new-realm ( responder name class -- realm )\r
-    new-dispatcher\r
-        swap >>name\r
-        swap >>default\r
-        users-in-db >>users\r
-        sha-256 >>checksum\r
-        t >>secure ; inline\r
-\r
-: users ( -- provider )\r
-    realm get users>> ;\r
-\r
-TUPLE: user-saver user ;\r
-\r
-C: <user-saver> user-saver\r
-\r
-M: user-saver dispose\r
-    user>> dup changed?>> [ users update-user ] [ drop ] if ;\r
-\r
-: save-user-after ( user -- )\r
-    <user-saver> &dispose drop ;\r
-\r
-: init-user ( user -- )\r
-    [ [ logged-in-user set ] [ save-user-after ] bi ] when* ;\r
-\r
-\ init-user DEBUG add-input-logging\r
-\r
-M: realm call-responder* ( path responder -- response )\r
-    dup realm set\r
-    logged-in? [\r
-        dup init-realm\r
-        dup logged-in-username\r
-        dup [ users get-user ] when\r
-        init-user\r
-    ] unless\r
-    call-next-method ;\r
-\r
-: encode-password ( string salt -- bytes )\r
-    [ utf8 encode ] [ 4 >be ] bi* append\r
-    realm get checksum>> checksum-bytes ;\r
-\r
-: >>encoded-password ( user string -- user )\r
-    32 random-bits [ encode-password ] keep\r
-    [ >>password ] [ >>salt ] bi* ; inline\r
-\r
-: valid-login? ( password user -- ? )\r
-    [ salt>> encode-password ] [ password>> ] bi = ;\r
-\r
-: check-login ( password username -- user/f )\r
-    users get-user dup [ [ valid-login? ] keep and ] [ 2drop f ] if ;\r
-\r
-: if-secure-realm ( quot -- )\r
-    realm get secure>> [ if-secure ] [ call ] if ; inline\r
-\r
-TUPLE: secure-realm-only < filter-responder ;\r
-\r
-C: <secure-realm-only> secure-realm-only\r
-\r
-M: secure-realm-only call-responder*\r
-    '[ , , call-next-method ] if-secure-realm ;\r
-\r
-TUPLE: protected < filter-responder description capabilities ;\r
-\r
-: <protected> ( responder -- protected )\r
-    protected new\r
-        swap >>responder ;\r
-\r
-: have-capabilities? ( capabilities -- ? )\r
-    logged-in-user get {\r
-        { [ dup not ] [ 2drop f ] }\r
-        { [ dup deleted>> 1 = ] [ 2drop f ] }\r
-        [ capabilities>> subset? ]\r
-    } cond ;\r
-\r
-M: protected call-responder* ( path responder -- response )\r
-    '[\r
-        , ,\r
-        dup protected set\r
-        dup capabilities>> have-capabilities?\r
-        [ call-next-method ] [\r
-            [ drop ] [ [ description>> ] [ capabilities>> ] bi ] bi*\r
-            realm get login-required*\r
-        ] if\r
-    ] if-secure-realm ;\r
-\r
-: <auth-boilerplate> ( responder -- responder' )\r
-    <boilerplate> { realm "boilerplate" } >>template ;\r
-\r
-: password-mismatch ( -- * )\r
-    "passwords do not match" validation-error\r
-    validation-failed ;\r
-\r
-: same-password-twice ( -- )\r
-    "new-password" value "verify-password" value =\r
-    [ password-mismatch ] unless ;\r
-\r
-: user-exists ( -- * )\r
-    "username taken" validation-error\r
-    validation-failed ;\r
diff --git a/extra/furnace/auth/basic/basic.factor b/extra/furnace/auth/basic/basic.factor
deleted file mode 100755 (executable)
index ff3c302..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-! Copyright (c) 2007 Chris Double.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: accessors kernel splitting base64 namespaces strings\r
-http http.server.responses furnace.auth ;\r
-IN: furnace.auth.basic\r
-\r
-TUPLE: basic-auth-realm < realm ;\r
-\r
-: <basic-auth-realm> ( responder name -- realm )\r
-    basic-auth-realm new-realm ;\r
-\r
-: parse-basic-auth ( header -- username/f password/f )\r
-    dup [\r
-        " " split1 swap "Basic" = [\r
-            base64> >string ":" split1\r
-        ] [ drop f f ] if\r
-    ] [ drop f f ] if ;\r
-\r
-: <401> ( realm -- response )\r
-    401 "Invalid username or password" <trivial-response>\r
-    [ "Basic realm=\"" % swap % "\"" % ] "" make "WWW-Authenticate" set-header ;\r
-\r
-M: basic-auth-realm login-required* ( description capabilities realm -- response )\r
-    2nip name>> <401> ;\r
-\r
-M: basic-auth-realm logged-in-username ( realm -- uid )\r
-    drop\r
-    request get "authorization" header parse-basic-auth\r
-    dup [ over check-login swap and ] [ 2drop f ] if ;\r
diff --git a/extra/furnace/auth/boilerplate.xml b/extra/furnace/auth/boilerplate.xml
deleted file mode 100644 (file)
index edc8c32..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <h1><t:write-title /></h1>
-
-       <t:call-next-template />
-
-</t:chloe>
diff --git a/extra/furnace/auth/features/deactivate-user/deactivate-user.factor b/extra/furnace/auth/features/deactivate-user/deactivate-user.factor
deleted file mode 100644 (file)
index 43560d0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel assocs namespaces accessors db db.tuples urls
-http.server.dispatchers
-furnace.conversations
-furnace.actions
-furnace.auth
-furnace.auth.providers ;
-IN: furnace.auth.features.deactivate-user
-
-: <deactivate-user-action> ( -- action )
-    <action>
-        [
-            logged-in-user get
-                1 >>deleted
-                t >>changed?
-            drop
-            URL" $realm" end-aside
-        ] >>submit ;
-    
-: allow-deactivation ( realm -- realm )
-    <deactivate-user-action> <protected>
-        "delete your profile" >>description
-    "deactivate-user" add-responder ;
-
-: allow-deactivation? ( -- ? )
-    realm get responders>> "deactivate-user" swap key? ;
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile-tests.factor b/extra/furnace/auth/features/edit-profile/edit-profile-tests.factor
deleted file mode 100644 (file)
index d0fdf22..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-IN: furnace.auth.features.edit-profile.tests
-USING: tools.test furnace.auth.features.edit-profile ;
-
-\ allow-edit-profile must-infer
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile.factor b/extra/furnace/auth/features/edit-profile/edit-profile.factor
deleted file mode 100644 (file)
index fb4fbb8..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-! Copyright (c) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors namespaces sequences assocs
-validators urls html.forms http.server.dispatchers
-furnace.auth
-furnace.actions
-furnace.conversations ;
-IN: furnace.auth.features.edit-profile
-
-: <edit-profile-action> ( -- action )
-    <page-action>
-        [
-            logged-in-user get
-            [ username>> "username" set-value ]
-            [ realname>> "realname" set-value ]
-            [ email>> "email" set-value ]
-            tri
-        ] >>init
-
-        { realm "features/edit-profile/edit-profile" } >>template
-
-        [
-            username "username" set-value
-
-            {
-                { "realname" [ [ v-one-line ] v-optional ] }
-                { "password" [ ] }
-                { "new-password" [ [ v-password ] v-optional ] }
-                { "verify-password" [ [ v-password ] v-optional ] } 
-                { "email" [ [ v-email ] v-optional ] }
-            } validate-params
-
-            { "password" "new-password" "verify-password" }
-            [ value empty? not ] contains? [
-                "password" value username check-login
-                [ "incorrect password" validation-error ] unless
-
-                same-password-twice
-            ] when
-        ] >>validate
-
-        [
-            logged-in-user get
-
-            "new-password" value dup empty?
-            [ drop ] [ >>encoded-password ] if
-
-            "realname" value >>realname
-            "email" value >>email
-
-            t >>changed?
-
-            drop
-
-            URL" $realm" end-aside
-        ] >>submit
-
-    <protected>
-        "edit your profile" >>description ;
-
-: allow-edit-profile ( login -- login )
-    <edit-profile-action> <auth-boilerplate> "edit-profile" add-responder ;
-
-: allow-edit-profile? ( -- ? )
-    realm get responders>> "edit-profile" swap key? ;
diff --git a/extra/furnace/auth/features/edit-profile/edit-profile.xml b/extra/furnace/auth/features/edit-profile/edit-profile.xml
deleted file mode 100644 (file)
index a9d7994..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>Edit Profile</t:title>
-
-       <t:form t:action="$realm/edit-profile">
-
-       <table>
-       
-       <tr>
-               <th class="field-label">User name:</th>
-               <td><t:label t:name="username" /></td>
-       </tr>
-       
-       <tr>
-               <th class="field-label">Real name:</th>
-               <td><t:field t:name="realname" /></td>
-       </tr>
-       
-       <tr>
-               <td></td>
-               <td>Specifying a real name is optional.</td>
-       </tr>
-       
-       <tr>
-               <th class="field-label">Current password:</th>
-               <td><t:password t:name="password" /></td>
-       </tr>
-       
-       <tr>
-               <td></td>
-               <td>If you don't want to change your current password, leave this field blank.</td>
-       </tr>
-       
-       <tr>
-               <th class="field-label">New password:</th>
-               <td><t:password t:name="new-password" /></td>
-       </tr>
-       
-       <tr>
-               <th class="field-label">Verify:</th>
-               <td><t:password t:name="verify-password" /></td>
-       </tr>
-       
-       <tr>
-               <td></td>
-               <td>If you are changing your password, enter it twice to ensure it is correct.</td>
-       </tr>
-       
-       <tr>
-               <th class="field-label">E-mail:</th>
-               <td><t:field t:name="email" /></td>
-       </tr>
-       
-       <tr>
-               <td></td>
-               <td>Specifying an e-mail address is optional. It enables the "recover password" feature.</td>
-       </tr>
-       
-       </table>
-
-       <p>
-               <input type="submit" value="Update" />
-               <t:validation-messages />
-       </p>
-
-       </t:form>
-       
-       <t:if t:code="furnace.auth.features.deactivate-user:allow-deactivation?">
-               <t:button t:action="$realm/deactivate-user">Delete User</t:button>
-       </t:if>
-</t:chloe>
diff --git a/extra/furnace/auth/features/recover-password/recover-1.xml b/extra/furnace/auth/features/recover-password/recover-1.xml
deleted file mode 100644 (file)
index 46e52d5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>Recover lost password: step 1 of 4</t:title>
-
-       <p>Enter the username and e-mail address you used to register for this site, and you will receive a link for activating a new password.</p>
-
-       <t:form t:action="$realm/recover-password">
-
-               <table>
-
-                       <tr>
-                               <th class="field-label">User name:</th>
-                               <td><t:field t:name="username" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">E-mail:</th>
-                               <td><t:field t:name="email" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Captcha:</th>
-                               <td><t:field t:name="captcha" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Leave the captcha blank. Spam-bots will fill it indiscriminantly, so their attempts to e-mail you will be blocked.</td>
-                       </tr>
-
-               </table>
-
-               <input type="submit" value="Recover password" />
-
-       </t:form>
-
-</t:chloe>
diff --git a/extra/furnace/auth/features/recover-password/recover-2.xml b/extra/furnace/auth/features/recover-password/recover-2.xml
deleted file mode 100644 (file)
index c7819bd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>Recover lost password: step 2 of 4</t:title>
-
-       <p>If you entered the correct username and e-mail address, you should receive an e-mail shortly. Click the link in the e-mail for further instructions.</p>
-
-</t:chloe>
diff --git a/extra/furnace/auth/features/recover-password/recover-3.xml b/extra/furnace/auth/features/recover-password/recover-3.xml
deleted file mode 100644 (file)
index a71118e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>Recover lost password: step 3 of 4</t:title>
-
-       <p>Choose a new password for your account.</p>
-
-       <t:form t:action="$realm/recover-3">
-
-               <table>
-
-                       <t:hidden t:name="username" />
-                       <t:hidden t:name="ticket" />
-
-                       <tr>
-                               <th class="field-label">Password:</th>
-                               <td><t:password t:name="new-password" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Verify password:</th>
-                               <td><t:password t:name="verify-password" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Enter your password twice to ensure it is correct.</td>
-                       </tr>
-
-               </table>
-
-               <p>
-                       <input type="submit" value="Set password" />
-                       <t:validation-messages />
-               </p>
-
-       </t:form>
-
-</t:chloe>
diff --git a/extra/furnace/auth/features/recover-password/recover-4.xml b/extra/furnace/auth/features/recover-password/recover-4.xml
deleted file mode 100755 (executable)
index d71a01b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' ?>\r
-\r
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">\r
-\r
-       <t:title>Recover lost password: step 4 of 4</t:title>\r
-\r
-       <p>Your password has been reset. You may now <t:a t:href="$realm">proceed</t:a>.</p>\r
-\r
-</t:chloe>\r
diff --git a/extra/furnace/auth/features/recover-password/recover-password-tests.factor b/extra/furnace/auth/features/recover-password/recover-password-tests.factor
deleted file mode 100644 (file)
index b589c52..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-IN: furnace.auth.features.recover-password
-USING: tools.test furnace.auth.features.recover-password ;
-
-\ allow-password-recovery must-infer
diff --git a/extra/furnace/auth/features/recover-password/recover-password.factor b/extra/furnace/auth/features/recover-password/recover-password.factor
deleted file mode 100644 (file)
index 77915f1..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-! Copyright (c) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: namespaces accessors kernel assocs arrays io.sockets threads
-fry urls smtp validators html.forms present
-http http.server.responses http.server.redirection
-http.server.dispatchers
-furnace furnace.actions furnace.auth furnace.auth.providers
-furnace.redirection ;
-IN: furnace.auth.features.recover-password
-
-SYMBOL: lost-password-from
-
-: current-host ( -- string )
-    url get host>> host-name or ;
-
-: new-password-url ( user -- url )
-    URL" recover-3" clone
-        swap
-        [ username>> "username" set-query-param ]
-        [ ticket>> "ticket" set-query-param ]
-        bi
-    adjust-url relative-to-request ;
-
-: password-email ( user -- email )
-    <email>
-        [ "[ " % current-host % " ] password recovery" % ] "" make >>subject
-        lost-password-from get >>from
-        over email>> 1array >>to
-        [
-            "This e-mail was sent by the application server on " % current-host % "\n" %
-            "because somebody, maybe you, clicked on a ``recover password'' link in the\n" %
-            "login form, and requested a new password for the user named ``" %
-            over username>> % "''.\n" %
-            "\n" %
-            "If you believe that this request was legitimate, you may click the below link in\n" %
-            "your browser to set a new password for your account:\n" %
-            "\n" %
-            swap new-password-url present %
-            "\n\n" %
-            "Love,\n" %
-            "\n" %
-            "  FactorBot\n" %
-        ] "" make >>body ;
-
-: send-password-email ( user -- )
-    '[ , password-email send-email ]
-    "E-mail send thread" spawn drop ;
-
-: <recover-action-1> ( -- action )
-    <page-action>
-        { realm "features/recover-password/recover-1" } >>template
-
-        [
-            {
-                { "username" [ v-username ] }
-                { "email" [ v-email ] }
-                { "captcha" [ v-captcha ] }
-            } validate-params
-        ] >>validate
-
-        [
-            "email" value "username" value
-            users issue-ticket [
-                send-password-email
-            ] when*
-
-            URL" $realm/recover-2" <redirect>
-        ] >>submit ;
-
-: <recover-action-2> ( -- action )
-    <page-action>
-        { realm "features/recover-password/recover-2" } >>template ;
-
-: <recover-action-3> ( -- action )
-    <page-action>
-        [
-            {
-                { "username" [ v-username ] }
-                { "ticket" [ v-required ] }
-            } validate-params
-        ] >>init
-
-        { realm "features/recover-password/recover-3" } >>template
-
-        [
-            {
-                { "username" [ v-username ] }
-                { "ticket" [ v-required ] }
-                { "new-password" [ v-password ] }
-                { "verify-password" [ v-password ] }
-            } validate-params
-
-            same-password-twice
-        ] >>validate
-
-        [
-            "ticket" value
-            "username" value
-            users claim-ticket [
-                "new-password" value >>encoded-password
-                users update-user
-
-                URL" $realm/recover-4" <redirect>
-            ] [
-                <403>
-            ] if*
-        ] >>submit ;
-
-: <recover-action-4> ( -- action )
-    <page-action>
-        { realm "features/recover-password/recover-4" } >>template ;
-
-: allow-password-recovery ( login -- login )
-    <recover-action-1> <auth-boilerplate>
-        "recover-password" add-responder
-    <recover-action-2> <auth-boilerplate>
-        "recover-2" add-responder
-    <recover-action-3> <auth-boilerplate>
-        "recover-3" add-responder
-    <recover-action-4> <auth-boilerplate>
-        "recover-4" add-responder ;
-
-: allow-password-recovery? ( -- ? )
-    realm get responders>> "recover-password" swap key? ;
diff --git a/extra/furnace/auth/features/registration/register.xml b/extra/furnace/auth/features/registration/register.xml
deleted file mode 100644 (file)
index 9815f21..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>New User Registration</t:title>
-
-       <t:form t:action="register">
-
-               <table>
-
-                       <tr>
-                               <th class="field-label">User name:</th>
-                               <td><t:field t:name="username" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Real name:</th>
-                               <td><t:field t:name="realname" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Specifying a real name is optional.</td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Password:</th>
-                               <td><t:password t:name="new-password" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Verify:</th>
-                               <td><t:password t:name="verify-password" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Enter your password twice to ensure it is correct.</td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">E-mail:</th>
-                               <td><t:field t:name="email" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Specifying an e-mail address is optional. It enables the "recover password" feature.</td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Captcha:</th>
-                               <td><t:field t:name="captcha" /></td>
-                       </tr>
-
-                       <tr>
-                               <td></td>
-                               <td>Leave the captcha blank. Spam-bots will fill it indiscriminantly, so their attempts to register will be blocked.</td>
-                       </tr>
-
-               </table>
-
-               <p>
-
-                       <input type="submit" value="Register" />
-                       <t:validation-messages />
-
-               </p>
-
-       </t:form>
-
-</t:chloe>
diff --git a/extra/furnace/auth/features/registration/registration-tests.factor b/extra/furnace/auth/features/registration/registration-tests.factor
deleted file mode 100644 (file)
index e770f35..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-IN: furnace.auth.features.registration.tests
-USING: tools.test furnace.auth.features.registration ;
-
-\ allow-registration must-infer
diff --git a/extra/furnace/auth/features/registration/registration.factor b/extra/furnace/auth/features/registration/registration.factor
deleted file mode 100644 (file)
index 20a48d0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-! Copyright (c) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs kernel namespaces validators html.forms urls
-http.server.dispatchers
-furnace furnace.auth furnace.auth.providers furnace.actions
-furnace.redirection ;
-IN: furnace.auth.features.registration
-
-: <register-action> ( -- action )
-    <page-action>
-        { realm "features/registration/register" } >>template
-
-        [
-            {
-                { "username" [ v-username ] }
-                { "realname" [ [ v-one-line ] v-optional ] }
-                { "new-password" [ v-password ] }
-                { "verify-password" [ v-password ] }
-                { "email" [ [ v-email ] v-optional ] }
-                { "captcha" [ v-captcha ] }
-            } validate-params
-
-            same-password-twice
-        ] >>validate
-
-        [
-            "username" value <user>
-                "realname" value >>realname
-                "new-password" value >>encoded-password
-                "email" value >>email
-                H{ } clone >>profile
-
-            users new-user [ user-exists ] unless*
-
-            realm get init-user-profile
-
-            URL" $realm" <redirect>
-        ] >>submit
-    <auth-boilerplate> ;
-
-: allow-registration ( login -- login )
-    <register-action> "register" add-responder ;
-
-: allow-registration? ( -- ? )
-    realm get responders>> "register" swap key? ;
diff --git a/extra/furnace/auth/login/login-tests.factor b/extra/furnace/auth/login/login-tests.factor
deleted file mode 100755 (executable)
index 64f7bd3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-IN: furnace.auth.login.tests\r
-USING: tools.test furnace.auth.login ;\r
-\r
-\ <login-realm> must-infer\r
diff --git a/extra/furnace/auth/login/login.factor b/extra/furnace/auth/login/login.factor
deleted file mode 100755 (executable)
index 1a44770..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-! Copyright (c) 2008 Slava Pestov\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: kernel accessors namespaces sequences math.parser\r
-calendar validators urls logging html.forms\r
-http http.server http.server.dispatchers\r
-furnace\r
-furnace.auth\r
-furnace.actions\r
-furnace.sessions\r
-furnace.utilities\r
-furnace.redirection\r
-furnace.conversations\r
-furnace.auth.login.permits ;\r
-IN: furnace.auth.login\r
-\r
-SYMBOL: permit-id\r
-\r
-: permit-id-key ( realm -- string )\r
-    [ >hex 2 CHAR: 0 pad-left ] { } map-as concat\r
-    "__p_" prepend ;\r
-\r
-: client-permit-id ( realm -- id/f )\r
-    permit-id-key client-state dup [ string>number ] when ;\r
-\r
-TUPLE: login-realm < realm timeout domain ;\r
-\r
-M: login-realm init-realm\r
-    name>> client-permit-id permit-id set ;\r
-\r
-M: login-realm logged-in-username\r
-    drop permit-id get dup [ get-permit-uid ] when ;\r
-\r
-M: login-realm modify-form ( responder -- )\r
-    drop permit-id get realm get name>> permit-id-key hidden-form-field ;\r
-\r
-: <permit-cookie> ( -- cookie )\r
-    permit-id get realm get name>> permit-id-key <cookie>\r
-        "$login-realm" resolve-base-path >>path\r
-        realm get\r
-        [ domain>> >>domain ]\r
-        [ secure>> >>secure ]\r
-        bi ;\r
-\r
-: put-permit-cookie ( response -- response' )\r
-    <permit-cookie> put-cookie ;\r
-\r
-\ put-permit-cookie DEBUG add-input-logging\r
-\r
-: successful-login ( user -- response )\r
-    [ username>> make-permit permit-id set ] [ init-user ] bi\r
-    URL" $realm" end-aside\r
-    put-permit-cookie ;\r
-\r
-\ successful-login DEBUG add-input-logging\r
-\r
-: logout ( -- )\r
-    permit-id get [ delete-permit ] when*\r
-    URL" $realm" end-aside ;\r
-\r
-SYMBOL: description\r
-SYMBOL: capabilities\r
-\r
-: flashed-variables { description capabilities } ;\r
-\r
-: login-failed ( -- * )\r
-    "invalid username or password" validation-error\r
-    validation-failed ;\r
-\r
-: <login-action> ( -- action )\r
-    <page-action>\r
-        [\r
-            description cget "description" set-value\r
-            capabilities cget words>strings "capabilities" set-value\r
-        ] >>init\r
-\r
-        { login-realm "login" } >>template\r
-\r
-        [\r
-            {\r
-                { "username" [ v-required ] }\r
-                { "password" [ v-required ] }\r
-            } validate-params\r
-\r
-            "password" value\r
-            "username" value check-login\r
-            [ successful-login ] [ login-failed ] if*\r
-        ] >>submit\r
-    <auth-boilerplate>\r
-    <secure-realm-only> ;\r
-\r
-: <logout-action> ( -- action )\r
-    <action>\r
-        [ logout ] >>submit ;\r
-\r
-M: login-realm login-required* ( description capabilities login -- response )\r
-    begin-aside\r
-    [ description cset ] [ capabilities cset ] [ drop ] tri*\r
-    URL" $realm/login" >secure-url <redirect> ;\r
-\r
-: <login-realm> ( responder name -- auth )\r
-    login-realm new-realm\r
-        <login-action> "login" add-responder\r
-        <logout-action> "logout" add-responder\r
-        20 minutes >>timeout ;\r
diff --git a/extra/furnace/auth/login/login.xml b/extra/furnace/auth/login/login.xml
deleted file mode 100644 (file)
index 81f9520..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:title>Login</t:title>
-
-       <t:if t:value="description">
-               <p>You must log in to <t:label t:name="description" />.</p>
-       </t:if>
-
-       <t:if t:value="capabilities">
-               <p>Your user must have the following capabilities:</p>
-               <ul>
-                       <t:each t:name="capabilities">
-                               <li><t:label t:name="value" /></li>
-                       </t:each>
-               </ul>
-       </t:if>
-
-       <t:form t:action="login">
-
-               <table>
-
-                       <tr>
-                               <th class="field-label">User name:</th>
-                               <td><t:field t:name="username" /></td>
-                       </tr>
-
-                       <tr>
-                               <th class="field-label">Password:</th>
-                               <td><t:password t:name="password" /></td>
-                       </tr>
-
-               </table>
-
-               <p>
-
-                       <input type="submit" value="Log in" />
-                       <t:validation-messages />
-
-               </p>
-
-       </t:form>
-
-       <p>
-               <t:if t:code="furnace.auth.features.registration:allow-registration?">
-                       <t:a t:href="register">Register</t:a>
-               </t:if>
-               |
-               <t:if t:code="furnace.auth.features.recover-password:allow-password-recovery?">
-                       <t:a t:href="recover-password">Recover Password</t:a>
-               </t:if>
-       </p>
-
-</t:chloe>
diff --git a/extra/furnace/auth/login/permits/permits.factor b/extra/furnace/auth/login/permits/permits.factor
deleted file mode 100644 (file)
index 1a9784f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-USING: accessors namespaces kernel combinators.short-circuit
-db.tuples db.types furnace.auth furnace.sessions furnace.cache ;
-
-IN: furnace.auth.login.permits
-
-TUPLE: permit < server-state session uid ;
-
-permit "PERMITS" {
-    { "session" "SESSION" BIG-INTEGER +not-null+ }
-    { "uid" "UID" { VARCHAR 255 } +not-null+ }
-} define-persistent
-
-: touch-permit ( permit -- )
-    realm get touch-state ;
-
-: get-permit-uid ( id -- uid )
-    permit get-state {
-        [ ]
-        [ session>> session get id>> = ]
-        [ [ touch-permit ] [ uid>> ] bi ]
-    } 1&& ;
-
-: make-permit ( uid -- id )
-    permit new
-        swap >>uid
-        session get id>> >>session
-    [ touch-permit ] [ insert-tuple ] [ id>> ] tri ;
-                                                                    
-: delete-permit ( id -- )
-    permit new-server-state delete-tuples ;
diff --git a/extra/furnace/auth/providers/assoc/assoc-tests.factor b/extra/furnace/auth/providers/assoc/assoc-tests.factor
deleted file mode 100755 (executable)
index 8fe1dd4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-IN: furnace.auth.providers.assoc.tests\r
-USING: furnace.actions furnace.auth furnace.auth.providers \r
-furnace.auth.providers.assoc furnace.auth.login\r
-tools.test namespaces accessors kernel ;\r
-\r
-<action> "Test" <login-realm>\r
-    <users-in-memory> >>users\r
-realm set\r
-\r
-[ t ] [\r
-    "slava" <user>\r
-        "foobar" >>encoded-password\r
-        "slava@factorcode.org" >>email\r
-        H{ } clone >>profile\r
-    users new-user\r
-    username>> "slava" =\r
-] unit-test\r
-\r
-[ f ] [\r
-    "slava" <user>\r
-        H{ } clone >>profile\r
-    users new-user\r
-] unit-test\r
-\r
-[ f ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
-\r
-[ ] [ "foobar" "slava" check-login "user" set ] unit-test\r
-\r
-[ t ] [ "user" get >boolean ] unit-test\r
-\r
-[ ] [ "user" get "fdasf" >>encoded-password drop ] unit-test\r
-\r
-[ t ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
-\r
-[ f ] [ "foobar" "slava" check-login >boolean ] unit-test\r
diff --git a/extra/furnace/auth/providers/assoc/assoc.factor b/extra/furnace/auth/providers/assoc/assoc.factor
deleted file mode 100755 (executable)
index f5a79d7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-IN: furnace.auth.providers.assoc\r
-USING: accessors assocs kernel furnace.auth.providers ;\r
-\r
-TUPLE: users-in-memory assoc ;\r
-\r
-: <users-in-memory> ( -- provider )\r
-    H{ } clone users-in-memory boa ;\r
-\r
-M: users-in-memory get-user ( username provider -- user/f )\r
-    assoc>> at ;\r
-\r
-M: users-in-memory update-user ( user provider -- ) 2drop ;\r
-\r
-M: users-in-memory new-user ( user provider -- user/f )\r
-    [ dup username>> ] dip assoc>>\r
-    2dup key? [ 3drop f ] [ pick [ set-at ] dip ] if ;\r
diff --git a/extra/furnace/auth/providers/db/db-tests.factor b/extra/furnace/auth/providers/db/db-tests.factor
deleted file mode 100755 (executable)
index fac5c23..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-IN: furnace.auth.providers.db.tests\r
-USING: furnace.actions\r
-furnace.auth\r
-furnace.auth.login\r
-furnace.auth.providers\r
-furnace.auth.providers.db tools.test\r
-namespaces db db.sqlite db.tuples continuations\r
-io.files accessors kernel ;\r
-\r
-<action> "test" <login-realm> realm set\r
-\r
-[ "auth-test.db" temp-file delete-file ] ignore-errors\r
-\r
-"auth-test.db" temp-file sqlite-db [\r
-\r
-    user ensure-table\r
-\r
-    [ t ] [\r
-        "slava" <user>\r
-            "foobar" >>encoded-password\r
-            "slava@factorcode.org" >>email\r
-            H{ } clone >>profile\r
-            users new-user\r
-            username>> "slava" =\r
-    ] unit-test\r
-\r
-    [ f ] [\r
-        "slava" <user>\r
-            H{ } clone >>profile\r
-        users new-user\r
-    ] unit-test\r
-\r
-    [ f ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
-\r
-    [ ] [ "foobar" "slava" check-login "user" set ] unit-test\r
-\r
-    [ t ] [ "user" get >boolean ] unit-test\r
-\r
-    [ ] [ "user" get "fdasf" >>encoded-password drop ] unit-test\r
-\r
-    [ ] [ "user" get users update-user ] unit-test\r
-\r
-    [ t ] [ "fdasf" "slava" check-login >boolean ] unit-test\r
-\r
-    [ f ] [ "foobar" "slava" check-login >boolean ] unit-test\r
-] with-db\r
diff --git a/extra/furnace/auth/providers/db/db.factor b/extra/furnace/auth/providers/db/db.factor
deleted file mode 100755 (executable)
index 72eb0d4..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: db db.tuples db.types accessors
-furnace.auth.providers kernel continuations
-classes.singleton ;
-IN: furnace.auth.providers.db
-
-user "USERS"
-{
-    { "username" "USERNAME" { VARCHAR 256 } +user-assigned-id+ }
-    { "realname" "REALNAME" { VARCHAR 256 } }
-    { "password" "PASSWORD" BLOB +not-null+ }
-    { "salt" "SALT" INTEGER +not-null+ }
-    { "email" "EMAIL" { VARCHAR 256 } }
-    { "ticket" "TICKET" { VARCHAR 256 } }
-    { "capabilities" "CAPABILITIES" FACTOR-BLOB }
-    { "profile" "PROFILE" FACTOR-BLOB }
-    { "deleted" "DELETED" INTEGER +not-null+ }
-} define-persistent
-
-SINGLETON: users-in-db
-
-M: users-in-db get-user
-    drop <user> select-tuple ;
-
-M: users-in-db new-user
-    drop
-    [
-        user new
-            over username>> >>username
-        select-tuple [
-            drop f
-        ] [
-            dup insert-tuple
-        ] if
-    ] with-transaction ;
-
-M: users-in-db update-user
-    drop update-tuple ;
diff --git a/extra/furnace/auth/providers/null/null.factor b/extra/furnace/auth/providers/null/null.factor
deleted file mode 100755 (executable)
index 39ea812..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: furnace.auth.providers kernel ;\r
-IN: furnace.auth.providers.null\r
-\r
-TUPLE: no-users ;\r
-\r
-: no-users T{ no-users } ;\r
-\r
-M: no-users get-user 2drop f ;\r
-\r
-M: no-users new-user 2drop f ;\r
-\r
-M: no-users update-user 2drop ;\r
diff --git a/extra/furnace/auth/providers/providers.factor b/extra/furnace/auth/providers/providers.factor
deleted file mode 100755 (executable)
index 1933fc8..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: kernel accessors random math.parser locals\r
-sequences math ;\r
-IN: furnace.auth.providers\r
-\r
-TUPLE: user\r
-username realname\r
-password salt\r
-email ticket capabilities profile deleted changed? ;\r
-\r
-: <user> ( username -- user )\r
-    user new\r
-        swap >>username\r
-        0 >>deleted ;\r
-\r
-GENERIC: get-user ( username provider -- user/f )\r
-\r
-GENERIC: update-user ( user provider -- )\r
-\r
-GENERIC: new-user ( user provider -- user/f )\r
-\r
-! Password recovery support\r
-\r
-:: issue-ticket ( email username provider -- user/f )\r
-    [let | user [ username provider get-user ] |\r
-        user [\r
-            user email>> length 0 > [\r
-                user email>> email = [\r
-                    user\r
-                    256 random-bits >hex >>ticket\r
-                    dup provider update-user\r
-                ] [ f ] if\r
-            ] [ f ] if\r
-        ] [ f ] if\r
-    ] ;\r
-\r
-:: claim-ticket ( ticket username provider -- user/f )\r
-    [let | user [ username provider get-user ] |\r
-        user [\r
-            user ticket>> ticket = [\r
-                user f >>ticket dup provider update-user\r
-            ] [ f ] if\r
-        ] [ f ] if\r
-    ] ;\r
-\r
-! For configuration\r
-\r
-: add-user ( provider user -- provider )\r
-    over new-user [ "User exists" throw ] when ;\r
diff --git a/extra/furnace/boilerplate/boilerplate.factor b/extra/furnace/boilerplate/boilerplate.factor
deleted file mode 100644 (file)
index 59f71b1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-! Copyright (c) 2008 Slava Pestov
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel math.order namespaces furnace combinators.short-circuit
-html.forms
-html.templates
-html.templates.chloe
-locals
-http.server
-http.server.filters ;
-IN: furnace.boilerplate
-
-TUPLE: boilerplate < filter-responder template init ;
-
-: <boilerplate> ( responder -- boilerplate )
-    boilerplate new
-        swap >>responder
-        [ ] >>init ;
-
-: wrap-boilerplate? ( response -- ? )
-    {
-        [ code>> { [ 200 = ] [ 400 499 between? ] } 1|| ]
-        [ content-type>> "text/html" = ]
-    } 1&& ;
-
-M:: boilerplate call-responder* ( path responder -- )
-    begin-form
-    path responder call-next-method
-    responder init>> call
-    dup content-type>> "text/html" = [
-        clone [| body |
-            [
-                body
-                responder template>> resolve-template-path <chloe>
-                with-boilerplate
-            ]
-        ] change-body
-    ] when ;
diff --git a/extra/furnace/cache/cache.factor b/extra/furnace/cache/cache.factor
deleted file mode 100644 (file)
index 68786a5..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors math.intervals
-calendar alarms fry
-random db db.tuples db.types
-http.server.filters ;
-IN: furnace.cache
-
-TUPLE: server-state id expires ;
-
-: new-server-state ( id class -- server-state )
-    new swap >>id ; inline
-
-server-state f
-{
-    { "id" "ID" +random-id+ system-random-generator }
-    { "expires" "EXPIRES" TIMESTAMP +not-null+ }
-} define-persistent
-
-: get-state ( id class -- state )
-    new-server-state select-tuple ;
-
-: expire-state ( class -- )
-    new
-        -1.0/0.0 now [a,b] >>expires
-    delete-tuples ;
-
-TUPLE: server-state-manager < filter-responder timeout ;
-
-: new-server-state-manager ( responder class -- responder' )
-    new
-        swap >>responder
-        20 minutes >>timeout ; inline
-
-: touch-state ( state manager -- )
-    timeout>> hence >>expires drop ;
diff --git a/extra/furnace/conversations/conversations.factor b/extra/furnace/conversations/conversations.factor
deleted file mode 100644 (file)
index 7216978..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: namespaces assocs kernel sequences accessors hashtables
-urls db.types db.tuples math.parser fry logging combinators
-html.templates.chloe.syntax
-http http.server http.server.filters http.server.redirection
-furnace
-furnace.cache
-furnace.scopes
-furnace.sessions
-furnace.redirection ;
-IN: furnace.conversations
-
-TUPLE: conversation < scope
-session
-method url post-data ;
-
-: <conversation> ( id -- aside )
-    conversation new-server-state ;
-
-conversation "CONVERSATIONS" {
-    { "session" "SESSION" BIG-INTEGER +not-null+ }
-    { "method" "METHOD" { VARCHAR 10 } }
-    { "url" "URL" URL }
-    { "post-data" "POST_DATA" FACTOR-BLOB }
-} define-persistent
-
-: conversation-id-key "__c" ;
-
-TUPLE: conversations < server-state-manager ;
-
-: <conversations> ( responder -- responder' )
-    conversations new-server-state-manager ;
-
-SYMBOL: conversation
-
-SYMBOL: conversation-id
-
-: cget ( key -- value )
-    conversation get scope-get ;
-
-: cset ( value key -- )
-    conversation get scope-set ;
-
-: cchange ( key quot -- )
-    conversation get scope-change ; inline
-
-: get-conversation ( id -- conversation )
-    dup [ conversation get-state ] when
-    dup [ dup session>> session get id>> = [ drop f ] unless ] when ;
-
-: request-conversation-id ( request -- id )
-    conversation-id-key swap request-params at string>number ;
-
-: request-conversation ( request -- conversation )
-    request-conversation-id get-conversation ;
-
-: save-conversation-after ( conversation -- )
-    conversations get save-scope-after ;
-
-: set-conversation ( conversation -- )
-    [
-        [ conversation set ]
-        [ id>> conversation-id set ]
-        [ save-conversation-after ]
-        tri
-    ] when* ;
-
-: init-conversations ( conversations -- )
-    conversations set
-    request get request-conversation-id
-    get-conversation
-    set-conversation ;
-
-M: conversations call-responder*
-    [ init-conversations ]
-    [ conversations set ]
-    [ call-next-method ]
-    tri ;
-
-: empty-conversastion ( -- conversation )
-    conversation empty-scope
-        session get id>> >>session ;
-
-: touch-conversation ( conversation -- )
-    conversations get touch-state ;
-
-: add-conversation ( conversation -- )
-    [ touch-conversation ] [ insert-tuple ] bi ;
-
-: begin-conversation* ( -- conversation )
-    empty-conversastion dup add-conversation ;
-
-: begin-conversation ( -- )
-    conversation get [
-        begin-conversation*
-        set-conversation
-    ] unless ;
-
-: end-conversation ( -- )
-    conversation off
-    conversation-id off ;
-
-: <conversation-redirect> ( url seq -- response )
-    begin-conversation
-    [ [ get ] keep cset ] each
-    <redirect> ;
-
-: restore-conversation ( seq -- )
-    conversation get dup [
-        namespace>>
-        [ '[ , key? ] filter ]
-        [ '[ [ , at ] keep set ] each ]
-        bi
-    ] [ 2drop ] if ;
-
-: begin-aside ( -- )
-    begin-conversation
-    conversation get
-        request get
-        [ method>> >>method ]
-        [ url>> >>url ]
-        [ post-data>> >>post-data ]
-        tri
-    touch-conversation ;
-
-: end-aside-post ( aside -- response )
-    request [
-        clone
-            over post-data>> >>post-data
-            over url>> >>url
-    ] change
-    url>> path>> split-path
-    conversations get responder>> call-responder ;
-
-\ end-aside-post DEBUG add-input-logging
-
-ERROR: end-aside-in-get-error ;
-
-: move-on ( id -- response )
-    post-request? [ end-aside-in-get-error ] unless
-    dup method>> {
-        { "GET" [ url>> <redirect> ] }
-        { "HEAD" [ url>> <redirect> ] }
-        { "POST" [ end-aside-post ] }
-    } case ;
-
-: get-aside ( id -- conversation )
-    get-conversation dup [ dup method>> [ drop f ] unless ] when ;
-
-: end-aside* ( url id -- response )
-    get-aside [ move-on ] [ <redirect> ] ?if ;
-
-: end-aside ( default -- response )
-    conversation-id get
-    end-conversation
-    end-aside* ;
-
-M: conversations link-attr ( tag -- )
-    drop
-    "aside" optional-attr {
-        { "none" [ conversation-id off ] }
-        { "begin" [ begin-aside ] }
-        { "current" [ ] }
-        { f [ ] }
-    } case ;
-
-M: conversations modify-query ( query conversations -- query' )
-    drop
-    conversation-id get [
-        conversation-id-key associate assoc-union
-    ] when* ;
-
-M: conversations modify-form ( conversations -- )
-    drop
-    conversation-id get
-    conversation-id-key
-    hidden-form-field ;
diff --git a/extra/furnace/db/db-tests.factor b/extra/furnace/db/db-tests.factor
deleted file mode 100644 (file)
index 34357ae..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-IN: furnace.db.tests
-USING: tools.test furnace.db ;
-
-\ <db-persistence> must-infer
diff --git a/extra/furnace/db/db.factor b/extra/furnace/db/db.factor
deleted file mode 100755 (executable)
index b4a4386..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: kernel accessors continuations namespaces destructors\r
-db db.pools io.pools http.server http.server.filters ;\r
-IN: furnace.db\r
-\r
-TUPLE: db-persistence < filter-responder pool ;\r
-\r
-: <db-persistence> ( responder params db -- responder' )\r
-    <db-pool> db-persistence boa ;\r
-\r
-M: db-persistence call-responder*\r
-    [\r
-        pool>> [ acquire-connection ] keep\r
-        [ return-connection-later ] [ drop db set ] 2bi\r
-    ]\r
-    [ call-next-method ] bi ;\r
diff --git a/extra/furnace/furnace-tests.factor b/extra/furnace/furnace-tests.factor
deleted file mode 100644 (file)
index 223b204..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-IN: furnace.tests
-USING: http.server.dispatchers http.server.responses
-http.server furnace tools.test kernel namespaces accessors
-io.streams.string ;
-TUPLE: funny-dispatcher < dispatcher ;
-
-: <funny-dispatcher> funny-dispatcher new-dispatcher ;
-
-TUPLE: base-path-check-responder ;
-
-C: <base-path-check-responder> base-path-check-responder
-
-M: base-path-check-responder call-responder*
-    2drop
-    "$funny-dispatcher" resolve-base-path
-    "text/plain" <content> ;
-
-[ ] [
-    <dispatcher>
-        <dispatcher>
-            <funny-dispatcher>
-                <base-path-check-responder> "c" add-responder
-            "b" add-responder
-        "a" add-responder
-    main-responder set
-] unit-test
-
-[ "/a/b/" ] [
-    V{ } responder-nesting set
-    "a/b/c" split-path main-responder get call-responder body>>
-] unit-test
-
-[ "<input type='hidden' name='foo' value='&amp;&amp;&amp;'/>" ]
-[ [ "&&&" "foo" hidden-form-field ] with-string-writer ]
-unit-test
diff --git a/extra/furnace/furnace.factor b/extra/furnace/furnace.factor
deleted file mode 100644 (file)
index fadd398..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-! Copyright (C) 2003, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays kernel combinators assocs
-continuations namespaces sequences splitting words
-vocabs.loader classes strings
-fry urls multiline present
-xml
-xml.data
-xml.entities
-xml.writer
-html.components
-html.elements
-html.forms
-html.templates
-html.templates.chloe
-html.templates.chloe.syntax
-http
-http.server
-http.server.redirection
-http.server.responses
-qualified ;
-QUALIFIED-WITH: assocs a
-EXCLUDE: xml.utilities => children>string ;
-IN: furnace
-
-: nested-responders ( -- seq )
-    responder-nesting get a:values ;
-
-: each-responder ( quot -- )
-   nested-responders swap each ; inline
-
-: base-path ( string -- pair )
-    dup responder-nesting get
-    [ second class superclasses [ name>> = ] with contains? ] with find nip
-    [ first ] [ "No such responder: " swap append throw ] ?if ;
-
-: resolve-base-path ( string -- string' )
-    "$" ?head [
-        [
-            "/" split1 [ base-path [  "/" % % ] each "/" % ] dip %
-        ] "" make
-    ] when ;
-
-: vocab-path ( vocab -- path )
-    dup vocab-dir vocab-append-path ;
-
-: resolve-template-path ( pair -- path )
-    [
-        first2 [ vocabulary>> vocab-path % ] [ "/" % % ] bi*
-    ] "" make ;
-
-GENERIC: modify-query ( query responder -- query' )
-
-M: object modify-query drop ;
-
-GENERIC: adjust-url ( url -- url' )
-
-M: url adjust-url
-    clone
-        [ [ modify-query ] each-responder ] change-query
-        [ resolve-base-path ] change-path
-    relative-to-request ;
-
-M: string adjust-url ;
-
-GENERIC: modify-form ( responder -- )
-
-M: object modify-form drop ;
-
-: request-params ( request -- assoc )
-    dup method>> {
-        { "GET" [ url>> query>> ] }
-        { "HEAD" [ url>> query>> ] }
-        { "POST" [
-            post-data>>
-            dup content-type>> "application/x-www-form-urlencoded" =
-            [ content>> ] [ drop f ] if
-        ] }
-    } case ;
-
-: referrer ( -- referrer )
-    #! Typo is intentional, its in the HTTP spec!
-    "referer" request get header>> at >url ;
-
-: user-agent ( -- user-agent )
-    "user-agent" request get header>> at "" or ;
-
-: same-host? ( url -- ? )
-    url get
-    [ [ protocol>> ] [ host>> ] [ port>> ] tri 3array ] bi@ = ;
-
-: cookie-client-state ( key request -- value/f )
-    swap get-cookie dup [ value>> ] when ;
-
-: post-client-state ( key request -- value/f )
-    request-params at ;
-
-: client-state ( key -- value/f )
-    request get dup method>> {
-        { "GET" [ cookie-client-state ] }
-        { "HEAD" [ cookie-client-state ] }
-        { "POST" [ post-client-state ] }
-    } case ;
-
-SYMBOL: exit-continuation
-
-: exit-with ( value -- )
-    exit-continuation get continue-with ;
-
-: with-exit-continuation ( quot -- )
-    '[ exit-continuation set @ ] callcc1 exit-continuation off ;
-
-! Chloe tags
-: parse-query-attr ( string -- assoc )
-    dup empty?
-    [ drop f ] [ "," split [ dup value ] H{ } map>assoc ] if ;
-
-: a-url-path ( tag -- string )
-    [ "href" required-attr ]
-    [ "rest" optional-attr dup [ value ] when ] bi
-    [ [ "/" ?tail drop "/" ] dip present 3append ] when* ;
-
-: a-url ( tag -- url )
-    dup "value" optional-attr
-    [ value ] [
-        <url>
-            swap
-            [ a-url-path >>path ]
-            [ "query" optional-attr parse-query-attr >>query ]
-            bi
-        adjust-url relative-to-request
-    ] ?if ;
-
-CHLOE: atom [ children>string ] [ a-url ] bi add-atom-feed ;
-
-CHLOE: write-atom drop write-atom-feeds ;
-
-GENERIC: link-attr ( tag responder -- )
-
-M: object link-attr 2drop ;
-
-: link-attrs ( tag -- )
-    #! Side-effects current namespace.
-    '[ , _ link-attr ] each-responder ;
-
-: a-start-tag ( tag -- )
-    [ <a [ link-attrs ] [ a-url =href ] bi a> ] with-scope ;
-
-CHLOE: a
-    [ a-start-tag ]
-    [ process-tag-children ]
-    [ drop </a> ]
-    tri ;
-
-: hidden-form-field ( value name -- )
-    over [
-        <input
-            "hidden" =type
-            =name
-            present =value
-        input/>
-    ] [ 2drop ] if ;
-
-: nested-forms-key "__n" ;
-
-: form-magic ( tag -- )
-    [ modify-form ] each-responder
-    nested-forms get " " join f like nested-forms-key hidden-form-field
-    "for" optional-attr [ "," split [ hidden render ] each ] when* ;
-
-: form-start-tag ( tag -- )
-    [
-        [
-            <form
-                {
-                    [ link-attrs ]
-                    [ "method" optional-attr "post" or =method ]
-                    [ "action" required-attr resolve-base-path =action ]
-                    [ attrs>> non-chloe-attrs-only print-attrs ]
-                } cleave
-            form>
-        ]
-        [ form-magic ] bi
-    ] with-scope ;
-
-CHLOE: form
-    [ form-start-tag ]
-    [ process-tag-children ]
-    [ drop </form> ]
-    tri ;
-
-STRING: button-tag-markup
-<t:form class="inline" xmlns:t="http://factorcode.org/chloe/1.0">
-    <button type="submit"></button>
-</t:form>
-;
-
-: add-tag-attrs ( attrs tag -- )
-    attrs>> swap update ;
-
-CHLOE: button
-    button-tag-markup string>xml body>>
-    {
-        [ [ attrs>> chloe-attrs-only ] dip add-tag-attrs ]
-        [ [ attrs>> non-chloe-attrs-only ] dip "button" tag-named add-tag-attrs ]
-        [ [ children>string 1array ] dip "button" tag-named (>>children) ]
-        [ nip ]
-    } 2cleave process-chloe-tag ;
diff --git a/extra/furnace/json/json.factor b/extra/furnace/json/json.factor
deleted file mode 100644 (file)
index a5188cd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: json.writer http.server.responses ;
-IN: furnace.json
-
-: <json-content> ( body -- response )
-    >json "application/json" <content> ;
diff --git a/extra/furnace/redirection/redirection.factor b/extra/furnace/redirection/redirection.factor
deleted file mode 100644 (file)
index 83941cd..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors combinators namespaces fry
-io.servers.connection urls
-http http.server http.server.redirection http.server.filters
-furnace ;
-IN: furnace.redirection
-
-: <redirect> ( url -- response )
-    adjust-url request get method>> {
-        { "GET" [ <temporary-redirect> ] }
-        { "HEAD" [ <temporary-redirect> ] }
-        { "POST" [ <permanent-redirect> ] }
-    } case ;
-
-: >secure-url ( url -- url' )
-    clone
-        "https" >>protocol
-        secure-port >>port ;
-
-: <secure-redirect> ( url -- response )
-    >secure-url <redirect> ;
-
-TUPLE: redirect-responder to ;
-
-: <redirect-responder> ( url -- responder )
-    redirect-responder boa ;
-
-M: redirect-responder call-responder* nip to>> <redirect> ;
-
-TUPLE: secure-only < filter-responder ;
-
-C: <secure-only> secure-only
-
-: if-secure ( quot -- )
-    >r url get protocol>> "http" =
-    [ url get <secure-redirect> ]
-    r> if ; inline
-
-M: secure-only call-responder*
-    '[ , , call-next-method ] if-secure ;
diff --git a/extra/furnace/referrer/referrer.factor b/extra/furnace/referrer/referrer.factor
deleted file mode 100644 (file)
index 5677767..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-USING: accessors kernel
-http.server http.server.filters http.server.responses
-furnace ;
-IN: furnace.referrer
-
-TUPLE: referrer-check < filter-responder quot ;
-
-C: <referrer-check> referrer-check
-
-M: referrer-check call-responder*
-    referrer over quot>> call
-    [ call-next-method ]
-    [ 2drop 403 "Bad referrer" <trivial-response> ] if ;
-
-: <check-form-submissions> ( responder -- responder' )
-    [ same-host? post-request? not or ] <referrer-check> ;
diff --git a/extra/furnace/scopes/scopes.factor b/extra/furnace/scopes/scopes.factor
deleted file mode 100644 (file)
index daad0dc..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors assocs destructors
-db.tuples db.types furnace.cache ;
-IN: furnace.scopes
-
-TUPLE: scope < server-state namespace changed? ;
-
-: empty-scope ( class -- scope )
-    f swap new-server-state
-        H{ } clone >>namespace ; inline
-
-scope f
-{
-    { "namespace" "NAMESPACE" FACTOR-BLOB +not-null+ }
-} define-persistent
-
-: scope-changed ( scope -- )
-    t >>changed? drop ;
-
-: scope-get ( key scope -- value )
-    dup [ namespace>> at ] [ 2drop f ] if ;
-
-: scope-set ( value key scope -- )
-    [ namespace>> set-at ] [ scope-changed ] bi ;
-
-: scope-change ( key quot scope -- )
-    [ namespace>> swap change-at ] [ scope-changed ] bi ; inline
-
-! Destructor
-TUPLE: scope-saver scope manager ;
-
-C: <scope-saver> scope-saver
-
-M: scope-saver dispose
-    [ manager>> ] [ scope>> ] bi
-    dup changed?>> [
-        [ swap touch-state ] [ update-tuple ] bi
-    ] [ 2drop ] if ;
-
-: save-scope-after ( scope manager -- )
-    <scope-saver> &dispose drop ;
diff --git a/extra/furnace/sessions/authors.txt b/extra/furnace/sessions/authors.txt
deleted file mode 100755 (executable)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/furnace/sessions/sessions-tests.factor b/extra/furnace/sessions/sessions-tests.factor
deleted file mode 100755 (executable)
index 98d1bbd..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-IN: furnace.sessions.tests\r
-USING: tools.test http furnace.sessions\r
-furnace.actions http.server http.server.responses\r
-math namespaces kernel accessors io.sockets io.servers.connection\r
-prettyprint io.streams.string io.files splitting destructors\r
-sequences db db.tuples db.sqlite continuations urls math.parser\r
-furnace ;\r
-\r
-: with-session\r
-    [\r
-        [ [ save-session-after ] [ session set ] bi ] dip call\r
-    ] with-destructors ; inline\r
-\r
-TUPLE: foo ;\r
-\r
-C: <foo> foo\r
-\r
-M: foo init-session* drop 0 "x" sset ;\r
-\r
-M: foo call-responder*\r
-    2drop\r
-    "x" [ 1+ ] schange\r
-    "x" sget number>string "text/html" <content> ;\r
-\r
-: url-responder-mock-test\r
-    [\r
-        <request>\r
-            "GET" >>method\r
-            dup url>>\r
-                "id" get session-id-key set-query-param\r
-                "/" >>path drop\r
-        init-request\r
-        { } sessions get call-responder\r
-        [ write-response-body drop ] with-string-writer\r
-    ] with-destructors ;\r
-\r
-: sessions-mock-test\r
-    [\r
-        <request>\r
-            "GET" >>method\r
-            "cookies" get >>cookies\r
-            dup url>> "/" >>path drop\r
-        init-request\r
-        { } sessions get call-responder\r
-        [ write-response-body drop ] with-string-writer\r
-    ] with-destructors ;\r
-\r
-: <exiting-action>\r
-    <action>\r
-        [ [ ] "text/plain" <content> exit-with ] >>display ;\r
-\r
-[ "auth-test.db" temp-file sqlite-db delete-file ] ignore-errors\r
-\r
-"auth-test.db" temp-file sqlite-db [\r
-\r
-    <request> init-request\r
-    session ensure-table\r
-\r
-    "127.0.0.1" 1234 <inet4> remote-address set\r
-\r
-    [ ] [\r
-        <foo> <sessions>\r
-        sessions set\r
-    ] unit-test\r
-\r
-    [\r
-        [ ] [\r
-            empty-session\r
-                123 >>id session set\r
-        ] unit-test\r
-\r
-        [ ] [ 3 "x" sset ] unit-test\r
-\r
-        [ 9 ] [ "x" sget sq ] unit-test\r
-\r
-        [ ] [ "x" [ 1- ] schange ] unit-test\r
-\r
-        [ 4 ] [ "x" sget sq ] unit-test\r
-\r
-        [ t ] [ session get changed?>> ] unit-test\r
-    ] with-scope\r
-\r
-    [ t ] [\r
-        begin-session id>>\r
-        get-session session?\r
-    ] unit-test\r
-\r
-    [ { 5 0 } ] [\r
-        [\r
-            begin-session\r
-            dup [ 5 "a" sset ] with-session\r
-            dup [ "a" sget , ] with-session\r
-            dup [ "x" sget , ] with-session\r
-            drop\r
-        ] { } make\r
-    ] unit-test\r
-\r
-    [ 0 ] [\r
-        begin-session id>>\r
-        get-session [ "x" sget ] with-session\r
-    ] unit-test\r
-\r
-    [ { 5 0 } ] [\r
-        [\r
-            begin-session id>>\r
-            dup get-session [ 5 "a" sset ] with-session\r
-            dup get-session [ "a" sget , ] with-session\r
-            dup get-session [ "x" sget , ] with-session\r
-            drop\r
-        ] { } make\r
-    ] unit-test\r
-\r
-    [ ] [\r
-        <foo> <sessions>\r
-        sessions set\r
-    ] unit-test\r
-\r
-    [\r
-        <request>\r
-            "GET" >>method\r
-            dup url>> "/" >>path drop\r
-        request set\r
-        { "etc" } sessions get call-responder response set\r
-        [ "1" ] [ [ response get write-response-body drop ] with-string-writer ] unit-test\r
-        response get\r
-    ] with-destructors\r
-    response set\r
-\r
-    [ ] [ response get cookies>> "cookies" set ] unit-test\r
-\r
-    [ "2" ] [ sessions-mock-test ] unit-test\r
-    [ "3" ] [ sessions-mock-test ] unit-test\r
-    [ "4" ] [ sessions-mock-test ] unit-test\r
-\r
-    [\r
-        [ ] [\r
-            <request>\r
-                "GET" >>method\r
-                dup url>>\r
-                    "id" get session-id-key set-query-param\r
-                    "/" >>path drop\r
-            request set\r
-\r
-            [\r
-                { } <exiting-action> <sessions>\r
-                call-responder\r
-            ] with-destructors response set\r
-        ] unit-test\r
-\r
-        [ "text/plain" ] [ response get content-type>> ] unit-test\r
-\r
-        [ f ] [ response get cookies>> empty? ] unit-test\r
-    ] with-scope\r
-] with-db\r
diff --git a/extra/furnace/sessions/sessions.factor b/extra/furnace/sessions/sessions.factor
deleted file mode 100755 (executable)
index 718953c..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-! Copyright (C) 2008 Doug Coleman, Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: assocs kernel math.intervals math.parser namespaces
-strings random accessors quotations hashtables sequences continuations
-fry calendar combinators combinators.short-circuit destructors alarms
-io.servers.connection
-db db.tuples db.types
-http http.server http.server.dispatchers http.server.filters
-html.elements
-furnace furnace.cache furnace.scopes ;
-IN: furnace.sessions
-
-TUPLE: session < scope user-agent client ;
-
-: <session> ( id -- session )
-    session new-server-state ;
-
-session "SESSIONS"
-{
-    { "user-agent" "USER_AGENT" TEXT +not-null+ }
-    { "client" "CLIENT" TEXT +not-null+ }
-} define-persistent
-
-: get-session ( id -- session )
-    dup [ session get-state ] when ;
-
-GENERIC: init-session* ( responder -- )
-
-M: object init-session* drop ;
-
-M: dispatcher init-session* default>> init-session* ;
-
-M: filter-responder init-session* responder>> init-session* ;
-
-TUPLE: sessions < server-state-manager domain verify? ;
-
-: <sessions> ( responder -- responder' )
-    sessions new-server-state-manager
-        t >>verify? ;
-
-: session-changed ( -- )
-    session get scope-changed ;
-
-: sget ( key -- value ) session get scope-get ;
-
-: sset ( value key -- ) session get scope-set ;
-
-: schange ( key quot -- ) session get scope-change ; inline
-
-: init-session ( session -- )
-    session [ sessions get init-session* ] with-variable ;
-
-: touch-session ( session -- )
-    sessions get touch-state ;
-
-: remote-host ( -- string )
-    {
-        [ request get "x-forwarded-for" header ]
-        [ remote-address get host>> ]
-    } 0|| ;
-
-: empty-session ( -- session )
-    session empty-scope
-        remote-host >>client
-        user-agent >>user-agent
-        dup touch-session ;
-
-: begin-session ( -- session )
-    empty-session [ init-session ] [ insert-tuple ] [ ] tri ;
-
-: save-session-after ( session -- )
-    sessions get save-scope-after ;
-
-: existing-session ( path session -- response )
-    [ session set ] [ save-session-after ] bi
-    sessions get responder>> call-responder ;
-
-: session-id-key "__s" ;
-
-: verify-session ( session -- session )
-    sessions get verify?>> [
-        dup [
-            dup
-            [ client>> remote-host = ]
-            [ user-agent>> user-agent = ]
-            bi and [ drop f ] unless
-        ] when
-    ] when ;
-
-: request-session ( -- session/f )
-    session-id-key
-    client-state dup string? [ string>number ] when
-    get-session verify-session ;
-
-: <session-cookie> ( -- cookie )
-    session get id>> session-id-key <cookie>
-        "$sessions" resolve-base-path >>path
-        sessions get domain>> >>domain ;
-
-: put-session-cookie ( response -- response' )
-    <session-cookie> put-cookie ;
-
-M: sessions modify-form ( responder -- )
-    drop session get id>> session-id-key hidden-form-field ;
-
-M: sessions call-responder* ( path responder -- response )
-    sessions set
-    request-session [ begin-session ] unless*
-    existing-session put-session-cookie ;
diff --git a/extra/furnace/syndication/syndication.factor b/extra/furnace/syndication/syndication.factor
deleted file mode 100644 (file)
index 31a978a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel sequences fry
-combinators syndication
-http.server.responses http.server.redirection
-furnace furnace.actions ;
-IN: furnace.syndication
-
-GENERIC: feed-entry-title ( object -- string )
-
-GENERIC: feed-entry-date ( object -- timestamp )
-
-GENERIC: feed-entry-url ( object -- url )
-
-GENERIC: feed-entry-description ( object -- description )
-
-M: object feed-entry-description drop f ;
-
-GENERIC: >entry ( object -- entry )
-
-M: entry >entry ;
-
-M: object >entry
-    <entry>
-        swap {
-            [ feed-entry-title >>title ]
-            [ feed-entry-date >>date ]
-            [ feed-entry-url >>url ]
-            [ feed-entry-description >>description ]
-        } cleave ;
-
-: process-entries ( seq -- seq' )
-    20 short head-slice [
-        >entry clone
-        [ adjust-url relative-to-request ] change-url
-    ] map ;
-
-: <feed-content> ( body -- response )
-    feed>xml "application/atom+xml" <content> ;
-
-TUPLE: feed-action < action title url entries ;
-
-: <feed-action> ( -- action )
-    feed-action new-action
-        dup '[
-            feed new
-                ,
-                [ title>> call >>title ]
-                [ url>> call adjust-url relative-to-request >>url ]
-                [ entries>> call process-entries >>entries ]
-                tri
-            <feed-content>
-        ] >>display ;
diff --git a/extra/furnace/utilities/utilities.factor b/extra/furnace/utilities/utilities.factor
deleted file mode 100644 (file)
index 4bfbdcd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-! Copyright (c) 2008 Slava Pestov
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors words kernel sequences splitting ;
-IN: furnace.utilities
-
-: word>string ( word -- string )
-    [ vocabulary>> ] [ name>> ] bi ":" swap 3append ;
-
-: words>strings ( seq -- seq' )
-    [ word>string ] map ;
-
-ERROR: no-such-word name vocab ;
-
-: string>word ( string -- word )
-    ":" split1 swap 2dup lookup dup
-    [ 2nip ] [ drop no-such-word ] if ;
-
-: strings>words ( seq -- seq' )
-    [ string>word ] map ;
diff --git a/extra/globs/authors.txt b/extra/globs/authors.txt
deleted file mode 100644 (file)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/globs/globs-tests.factor b/extra/globs/globs-tests.factor
deleted file mode 100644 (file)
index 446f1ee..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-IN: globs.tests
-USING: tools.test globs ;
-
-[ f ] [ "abd" "fdf" glob-matches? ] unit-test
-[ f ] [ "fdsafas" "?" glob-matches? ] unit-test
-[ t ] [ "fdsafas" "*as" glob-matches? ] unit-test
-[ t ] [ "fdsafas" "*a*" glob-matches? ] unit-test
-[ t ] [ "fdsafas" "*a?" glob-matches? ] unit-test
-[ t ] [ "fdsafas" "*?" glob-matches? ] unit-test
-[ f ] [ "fdsafas" "*s?" glob-matches? ] unit-test
-[ t ] [ "a" "[abc]" glob-matches? ] unit-test
-[ f ] [ "a" "[^abc]" glob-matches? ] unit-test
-[ t ] [ "d" "[^abc]" glob-matches? ] unit-test
-[ f ] [ "foo.java" "*.{xml,txt}" glob-matches? ] unit-test
-[ t ] [ "foo.txt" "*.{xml,txt}" glob-matches? ] unit-test
-[ t ] [ "foo.xml" "*.{xml,txt}" glob-matches? ] unit-test
-[ f ] [ "foo." "*.{,xml,txt}" glob-matches? ] unit-test
-[ t ] [ "foo.{" "*.{" glob-matches? ] unit-test
diff --git a/extra/globs/globs.factor b/extra/globs/globs.factor
deleted file mode 100755 (executable)
index c7d5413..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-! Copyright (C) 2007 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: parser-combinators regexp lists sequences kernel
-promises strings unicode.case ;
-IN: globs
-
-<PRIVATE
-
-: 'char' ( -- parser )
-    [ ",*?" member? not ] satisfy ;
-
-: 'string' ( -- parser )
-    'char' <+> [ >lower token ] <@ ;
-
-: 'escaped-char' ( -- parser )
-    "\\" token any-char-parser &> [ 1token ] <@ ;
-
-: 'escaped-string' ( -- parser )
-    'string' 'escaped-char' <|> ;
-
-DEFER: 'term'
-
-: 'glob' ( -- parser )
-    'term' <*> [ <and-parser> ] <@ ;
-
-: 'union' ( -- parser )
-    'glob' "," token nonempty-list-of "{" "}" surrounded-by
-    [ <or-parser> ] <@ ;
-
-LAZY: 'term' ( -- parser )
-    'union'
-    'character-class' <|>
-    "?" token [ drop any-char-parser ] <@ <|>
-    "*" token [ drop any-char-parser <*> ] <@ <|>
-    'escaped-string' <|> ;
-
-PRIVATE>
-
-: <glob> ( string -- glob ) 'glob' just parse-1 just ;
-
-: glob-matches? ( input glob -- ? )
-    [ >lower ] [ <glob> ] bi* parse nil? not ;
diff --git a/extra/globs/summary.txt b/extra/globs/summary.txt
deleted file mode 100644 (file)
index e97b9b2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Unix shell-style glob pattern matching
diff --git a/extra/html/components/components-tests.factor b/extra/html/components/components-tests.factor
deleted file mode 100644 (file)
index 56c7118..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-IN: html.components.tests
-USING: tools.test kernel io.streams.string
-io.streams.null accessors inspector html.streams
-html.elements html.components html.forms namespaces ;
-
-[ ] [ begin-form ] unit-test
-
-[ ] [ 3 "hi" set-value ] unit-test
-
-[ 3 ] [ "hi" value ] unit-test
-
-TUPLE: color red green blue ;
-
-[ ] [ 1 2 3 color boa from-object ] unit-test
-
-[ 1 ] [ "red" value ] unit-test
-
-[ ] [ "jimmy" "red" set-value ] unit-test
-
-[ "jimmy" ] [
-    [
-        "red" label render
-    ] with-string-writer
-] unit-test
-
-[ ] [ "<jimmy>" "red" set-value ] unit-test
-
-[ "&lt;jimmy&gt;" ] [
-    [
-        "red" label render
-    ] with-string-writer
-] unit-test
-
-[ "<input type='hidden' name='red' value='<jimmy>'/>" ] [
-    [
-        "red" hidden render
-    ] with-string-writer
-] unit-test
-
-[ ] [ "'jimmy'" "red" set-value ] unit-test
-
-[ "<input type='text' size='5' name='red' value='&apos;jimmy&apos;'/>" ] [
-    [
-        "red" <field> 5 >>size render
-    ] with-string-writer
-] unit-test
-
-[ "<input type='password' size='5' name='red' value=''/>" ] [
-    [
-        "red" <password> 5 >>size render
-    ] with-string-writer
-] unit-test
-
-[ ] [
-    [
-        "green" <textarea> render
-    ] with-null-writer
-] unit-test
-
-[ ] [
-    [
-        "green" <textarea> 25 >>rows 30 >>cols render
-    ] with-null-writer
-] unit-test
-
-[ ] [ begin-form ] unit-test
-
-[ ] [ "new york" "city1" set-value ] unit-test
-
-[ ] [ { "new york" "los angeles" "chicago" } "cities" set-value ] unit-test
-
-[ ] [
-    [
-        "city1"
-        <choice>
-            "cities" >>choices
-        render
-    ] with-null-writer
-] unit-test
-
-[ ] [ { "los angeles" "new york" } "city2" set-value ] unit-test
-
-[ ] [
-    [
-        "city2"
-        <choice>
-            "cities" >>choices
-            t >>multiple
-        render
-    ] with-null-writer
-] unit-test
-
-[ ] [
-    [
-        "city2"
-        <choice>
-            "cities" >>choices
-            t >>multiple
-            5 >>size
-        render
-    ] with-null-writer
-] unit-test
-
-[ ] [ begin-form ] unit-test
-
-[ ] [ t "delivery" set-value ] unit-test
-
-[ "<input type='checkbox' name='delivery' checked='true'>Delivery</input>" ] [
-    [
-        "delivery"
-        <checkbox>
-            "Delivery" >>label
-        render
-    ] with-string-writer
-] unit-test
-
-[ ] [ f "delivery" set-value ] unit-test
-
-[ "<input type='checkbox' name='delivery'>Delivery</input>" ] [
-    [
-        "delivery"
-        <checkbox>
-            "Delivery" >>label
-        render
-    ] with-string-writer
-] unit-test
-
-SINGLETON: link-test
-
-M: link-test link-title drop "<Link Title>" ;
-
-M: link-test link-href drop "http://www.apple.com/foo&bar" ;
-
-[ ] [ link-test "link" set-value ] unit-test
-
-[ "<a href='http://www.apple.com/foo&amp;bar'>&lt;Link Title&gt;</a>" ] [
-    [ "link" link render ] with-string-writer
-] unit-test
-
-[ ] [
-    "<html>arbitrary <b>markup</b> for the win!</html>" "html" set-value
-] unit-test
-
-[ "<html>arbitrary <b>markup</b> for the win!</html>" ] [
-    [ "html" html render ] with-string-writer
-] unit-test
-
-[ ] [ "int x = 4;" "code" set-value ] unit-test
-
-[ ] [ "java" "mode" set-value ] unit-test
-
-[ "<span class='KEYWORD3'>int</span> x <span class='OPERATOR'>=</span> <span class='DIGIT'>4</span>;\n" ] [
-    [ "code" <code> "mode" >>mode render ] with-string-writer
-] unit-test
-
-[ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
-
-[ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [
-    [ "farkup" T{ farkup } render ] with-string-writer
-] unit-test
-
-[ ] [ { 1 2 3 } "object" set-value ] unit-test
-
-[ t ] [
-    [ "object" inspector render ] with-string-writer
-    [ "object" value [ describe ] with-html-stream ] with-string-writer
-    =
-] unit-test
-
-[ ] [ begin-form ] unit-test
-
-[ ] [
-    "factor" [
-        "concatenative" "model" set-value
-    ] nest-form
-] unit-test
-
-[
-    H{
-        {
-            "factor"
-            T{ form f V{ } H{ { "model" "concatenative" } } }
-        }
-    }
-] [ values ] unit-test
diff --git a/extra/html/components/components.factor b/extra/html/components/components.factor
deleted file mode 100644 (file)
index b6b7f22..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-! Copyright (C) 2008 Slava Pestov
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel namespaces io math.parser assocs classes
-classes.tuple words arrays sequences splitting mirrors
-hashtables combinators continuations math strings inspector
-fry locals calendar calendar.format xml.entities
-validators urls present
-xmode.code2html lcs.diff2html farkup
-html.elements html.streams html.forms ;
-IN: html.components
-
-GENERIC: render* ( value name render -- )
-
-: render ( name renderer -- )
-    prepare-value
-    [
-        dup validation-error?
-        [ [ message>> ] [ value>> ] bi ]
-        [ f swap ]
-        if
-    ] 2dip
-    render*
-    [ render-error ] when* ;
-
-<PRIVATE
-
-: render-input ( value name type -- )
-    <input =type =name present =value input/> ;
-
-PRIVATE>
-
-SINGLETON: label
-
-M: label render* 2drop present escape-string write ;
-
-SINGLETON: hidden
-
-M: hidden render* drop "hidden" render-input ;
-
-: render-field ( value name size type -- )
-    <input
-        =type
-        [ present =size ] when*
-        =name
-        present =value
-    input/> ;
-
-TUPLE: field size ;
-
-: <field> ( -- field )
-    field new ;
-
-M: field render* size>> "text" render-field ;
-
-TUPLE: password size ;
-
-: <password> ( -- password )
-    password new ;
-
-M: password render*
-    #! Don't send passwords back to the user
-    [ drop "" ] 2dip size>> "password" render-field ;
-
-! Text areas
-TUPLE: textarea rows cols ;
-
-: <textarea> ( -- renderer )
-    textarea new ;
-
-M: textarea render*
-    <textarea
-        [ rows>> [ present =rows ] when* ]
-        [ cols>> [ present =cols ] when* ] bi
-        =name
-    textarea>
-        present escape-string write
-    </textarea> ;
-
-! Choice
-TUPLE: choice size multiple choices ;
-
-: <choice> ( -- choice )
-    choice new ;
-
-: render-option ( text selected? -- )
-    <option [ "true" =selected ] when option>
-        present escape-string write
-    </option> ;
-
-: render-options ( options selected -- )
-    '[ dup , member? render-option ] each ;
-
-M: choice render*
-    <select
-        swap =name
-        dup size>> [ present =size ] when*
-        dup multiple>> [ "true" =multiple ] when
-    select>
-        [ choices>> value ] [ multiple>> ] bi
-        [ swap ] [ swap 1array ] if
-        render-options
-    </select> ;
-
-! Checkboxes
-TUPLE: checkbox label ;
-
-: <checkbox> ( -- checkbox )
-    checkbox new ;
-
-M: checkbox render*
-    <input
-        "checkbox" =type
-        swap =name
-        swap [ "true" =checked ] when
-    input>
-        label>> escape-string write
-    </input> ;
-
-! Link components
-GENERIC: link-title ( obj -- string )
-GENERIC: link-href ( obj -- url )
-
-M: string link-title ;
-M: string link-href ;
-
-M: url link-title ;
-M: url link-href ;
-
-SINGLETON: link
-
-M: link render*
-    2drop
-    <a dup link-href =href a>
-        link-title present escape-string write
-    </a> ;
-
-! XMode code component
-TUPLE: code mode ;
-
-: <code> ( -- code )
-    code new ;
-
-M: code render*
-    [ string-lines ] [ drop ] [ mode>> value ] tri* htmlize-lines ;
-
-! Farkup component
-TUPLE: farkup no-follow disable-images ;
-
-: string>boolean ( string -- boolean )
-    {
-        { "true" [ t ] }
-        { "false" [ f ] }
-    } case ;
-
-M: farkup render*
-    [
-        [ no-follow>> [ string>boolean link-no-follow? set ] when* ]
-        [ disable-images>> [ string>boolean disable-images? set ] when* ] bi
-        drop string-lines "\n" join convert-farkup write
-    ] with-scope ;
-
-! Inspector component
-SINGLETON: inspector
-
-M: inspector render*
-    2drop [ describe ] with-html-stream ;
-
-! Diff component
-SINGLETON: comparison
-
-M: comparison render*
-    2drop htmlize-diff ;
-
-! HTML component
-SINGLETON: html
-
-M: html render* 2drop write ;
diff --git a/extra/html/elements/authors.txt b/extra/html/elements/authors.txt
deleted file mode 100755 (executable)
index a8fb961..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Chris Double
-Slava Pestov
diff --git a/extra/html/elements/elements-tests.factor b/extra/html/elements/elements-tests.factor
deleted file mode 100644 (file)
index 1178dea..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-IN: html.elements.tests
-USING: tools.test html.elements io.streams.string ;
-
-[ "<a href='h&amp;o'>" ]
-[ [ <a "h&o" =href a> ] with-string-writer ] unit-test
diff --git a/extra/html/elements/elements.factor b/extra/html/elements/elements.factor
deleted file mode 100644 (file)
index 35e0122..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-! cont-html v0.6
-!
-! Copyright (C) 2004 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: io kernel namespaces prettyprint quotations
-sequences strings words xml.entities compiler.units effects
-urls math math.parser combinators present fry ;
-
-IN: html.elements
-
-! These words are used to provide a means of writing
-! formatted HTML to standard output with a familiar 'html' look
-! and feel in the code.
-!
-! HTML tags can be used in a number of different ways. The highest
-! level involves a similar syntax to HTML:
-!
-! <p> "someoutput" write </p>
-!
-! <p> will output the opening tag and </p> will output the closing
-! tag with no attributes.
-!
-! <p "red" =class p> "someoutput" write </p>
-!
-! This time the opening tag does not have the '>'. It pushes
-! a namespace on the stack to hold the attributes and values.
-! Any attribute words used will store the attribute and values
-! in that namespace. Before the attribute word should come the
-! value of that attribute.
-! The finishing word will print out the operning tag including
-! attributes.
-! Any writes after this will appear after the opening tag.
-!
-! Values for attributes can be used directly without any stack
-! operations:
-!
-! (url -- )
-! <a =href a> "Click me" write </a>
-!
-! (url -- )
-! <a "http://" prepend =href a> "click" write </a>
-!
-! (url -- )
-! <a [ "http://" % % ] "" make =href a> "click" write </a>
-!
-! Tags that have no 'closing' equivalent have a trailing tag/> form:
-!
-! <input "text" =type "name" =name "20" =size input/>
-
-: elements-vocab ( -- vocab-name ) "html.elements" ;
-
-SYMBOL: html
-
-: write-html ( str -- )
-    H{ { html t } } format ;
-
-: print-html ( str -- )
-    write-html "\n" write-html ;
-
-<<
-
-: html-word ( name def effect -- )
-    #! Define 'word creating' word to allow
-    #! dynamically creating words.
-    >r >r elements-vocab create r> r> define-declared ;
-
-: <foo> ( str -- <str> ) "<" swap ">" 3append ;
-
-: def-for-html-word-<foo> ( name -- )
-    #! Return the name and code for the <foo> patterned
-    #! word.
-    dup <foo> swap '[ , <foo> write-html ]
-    (( -- )) html-word ;
-
-: <foo ( str -- <str ) "<" prepend ;
-
-: def-for-html-word-<foo ( name -- )
-    #! Return the name and code for the <foo patterned
-    #! word.
-    <foo dup '[ , write-html ]
-    (( -- )) html-word ;
-
-: foo> ( str -- foo> ) ">" append ;
-
-: def-for-html-word-foo> ( name -- )
-    #! Return the name and code for the foo> patterned
-    #! word.
-    foo> [ ">" write-html ] (( -- )) html-word ;
-
-: </foo> ( str -- </str> ) "</" swap ">" 3append ;
-
-: def-for-html-word-</foo> ( name -- )
-    #! Return the name and code for the </foo> patterned
-    #! word.
-    </foo> dup '[ , write-html ] (( -- )) html-word ;
-
-: <foo/> ( str -- <str/> ) "<" swap "/>" 3append ;
-
-: def-for-html-word-<foo/> ( name -- )
-    #! Return the name and code for the <foo/> patterned
-    #! word.
-    dup <foo/> swap '[ , <foo/> write-html ]
-    (( -- )) html-word ;
-
-: foo/> ( str -- str/> ) "/>" append ;
-
-: def-for-html-word-foo/> ( name -- )
-    #! Return the name and code for the foo/> patterned
-    #! word.
-    foo/> [ "/>" write-html ] (( -- )) html-word ;
-
-: define-closed-html-word ( name -- )
-    #! Given an HTML tag name, define the words for
-    #! that closable HTML tag.
-    dup def-for-html-word-<foo>
-    dup def-for-html-word-<foo
-    dup def-for-html-word-foo>
-    def-for-html-word-</foo> ;
-
-: define-open-html-word ( name -- )
-    #! Given an HTML tag name, define the words for
-    #! that open HTML tag.
-    dup def-for-html-word-<foo/>
-    dup def-for-html-word-<foo
-    def-for-html-word-foo/> ;
-
-: write-attr ( value name -- )
-    " " write-html
-    write-html
-    "='" write-html
-    present escape-quoted-string write-html
-    "'" write-html ;
-
-: define-attribute-word ( name -- )
-    dup "=" prepend swap
-    '[ , write-attr ] (( string -- )) html-word ;
-
-! Define some closed HTML tags
-[
-    "h1" "h2" "h3" "h4" "h5" "h6" "h7" "h8" "h9"
-    "ol" "li" "form" "a" "p" "html" "head" "body" "title"
-    "b" "i" "ul" "table" "tbody" "tr" "td" "th" "pre" "textarea"
-    "script" "div" "span" "select" "option" "style" "input"
-] [ define-closed-html-word ] each
-
-! Define some open HTML tags
-[
-    "input"
-    "br"
-    "link"
-    "img"
-] [ define-open-html-word ] each
-
-! Define some attributes
-[
-    "method" "action" "type" "value" "name"
-    "size" "href" "class" "border" "rows" "cols"
-    "id" "onclick" "style" "valign" "accesskey"
-    "src" "language" "colspan" "onchange" "rel"
-    "width" "selected" "onsubmit" "xmlns" "lang" "xml:lang"
-    "media" "title" "multiple" "checked"
-] [ define-attribute-word ] each
-
->>
-
-: xhtml-preamble ( -- )
-    "<?xml version=\"1.0\"?>" write-html
-    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" write-html ;
-
-: simple-page ( title quot -- )
-    #! Call the quotation, with all output going to the
-    #! body of an html page with the given title.
-    xhtml-preamble
-    <html "http://www.w3.org/1999/xhtml" =xmlns "en" =xml:lang "en" =lang html>
-        <head> <title> swap write </title> </head>
-        <body> call </body>
-    </html> ; inline
-
-: render-error ( message -- )
-    <span "error" =class span> escape-string write </span> ;
diff --git a/extra/html/forms/forms-tests.factor b/extra/html/forms/forms-tests.factor
deleted file mode 100644 (file)
index d2dc3ed..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-IN: html.forms.tests
-USING: kernel sequences tools.test assocs html.forms validators accessors
-namespaces ;
-
-: with-validation ( quot -- messages )
-    [
-        begin-form
-        call
-    ] with-scope ; inline
-
-[ 14 ] [
-    [
-        "14" [ v-number 13 v-min-value 100 v-max-value ] validate
-    ] with-validation
-] unit-test
-
-[ t ] [
-    [
-        "140" [ v-number 13 v-min-value 100 v-max-value ] validate
-        [ validation-error? ]
-        [ value>> "140" = ]
-        bi and
-    ] with-validation
-] unit-test
-
-TUPLE: person name age ;
-
-person {
-    { "name" [ ] }
-    { "age" [ v-number 13 v-min-value 100 v-max-value ] }
-} define-validators
-
-[ t t ] [
-    [
-        { { "age" "" } }
-        { { "age" [ v-required ] } }
-        validate-values
-        validation-failed?
-        "age" value
-        [ validation-error? ]
-        [ message>> "required" = ]
-        bi and
-    ] with-validation
-] unit-test
-
-[ H{ { "a" 123 } } f ] [
-    [
-        H{
-            { "a" "123" }
-            { "b" "c" }
-            { "c" "d" }
-        }
-        H{
-            { "a" [ v-integer ] }
-        } validate-values
-        values
-        validation-failed?
-    ] with-validation
-] unit-test
-
-[ t "foo" ] [
-    [
-        "foo" validation-error
-        validation-failed?
-        form get errors>> first
-    ] with-validation
-] unit-test
diff --git a/extra/html/forms/forms.factor b/extra/html/forms/forms.factor
deleted file mode 100644 (file)
index 0da3fcb..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-! Copyright (C) 2008 Slava Pestov
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors strings namespaces assocs hashtables
-mirrors math fry sequences sequences.lib words continuations ;
-IN: html.forms
-
-TUPLE: form errors values validation-failed ;
-
-: <form> ( -- form )
-    form new
-        V{ } clone >>errors
-        H{ } clone >>values ;
-
-M: form clone
-    call-next-method
-        [ clone ] change-errors
-        [ clone ] change-values ;
-
-: check-value-name ( name -- name )
-    dup string? [ "Value name not a string" throw ] unless ;
-
-: values ( -- assoc )
-    form get values>> ;
-
-: value ( name -- value )
-    check-value-name values at ;
-
-: set-value ( value name -- )
-    check-value-name values set-at ;
-
-: begin-form ( -- ) <form> form set ;
-
-: prepare-value ( name object -- value name object )
-    [ [ value ] keep ] dip ; inline
-
-: from-object ( object -- )
-    [ values ] [ make-mirror ] bi* update ;
-
-: to-object ( destination names -- )
-    [ make-mirror ] [ values extract-keys ] bi* update ;
-
-: with-each-value ( name quot -- )
-    [ value ] dip '[
-        [
-            form [ clone ] change
-            1+ "index" set-value
-            "value" set-value
-            @
-        ] with-scope
-    ] each-index ; inline
-
-: with-each-object ( name quot -- )
-    [ value ] dip '[
-        [
-            begin-form
-            1+ "index" set-value
-            from-object
-            @
-        ] with-scope
-    ] each-index ; inline
-
-SYMBOL: nested-forms
-
-: with-form ( name quot -- )
-    '[
-        ,
-        [ nested-forms [ swap prefix ] change ]
-        [ value form set ]
-        bi
-        @
-    ] with-scope ; inline
-
-: nest-form ( name quot -- )
-    swap [
-        [
-            <form> form set
-            call
-            form get
-        ] with-scope
-    ] dip set-value ; inline
-
-TUPLE: validation-error value message ;
-
-C: <validation-error> validation-error
-
-: validation-error ( message -- )
-    form get
-    t >>validation-failed
-    errors>> push ;
-
-: validation-failed? ( -- ? )
-    form get validation-failed>> ;
-
-: define-validators ( class validators -- )
-    >hashtable "validators" set-word-prop ;
-
-: validate ( value quot -- result )
-    [ <validation-error> ] recover ; inline
-
-: validate-value ( name value quot -- )
-    validate
-    dup validation-error? [ form get t >>validation-failed drop ] when
-    swap set-value ;
-
-: validate-values ( assoc validators -- assoc' )
-    swap '[ dup , at _ validate-value ] assoc-each ;
diff --git a/extra/html/parser/analyzer/analyzer.factor b/extra/html/parser/analyzer/analyzer.factor
deleted file mode 100755 (executable)
index 29ccc34..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-USING: assocs html.parser kernel math sequences strings ascii
-arrays generalizations shuffle unicode.case namespaces splitting
-http sequences.lib accessors io combinators http.client urls ;
-IN: html.parser.analyzer
-
-TUPLE: link attributes clickable ;
-
-: scrape-html ( url -- vector )
-    http-get nip parse-html ;
-
-: (find-relative)
-    [ >r + dup r> ?nth* [ 2drop f f ] unless ] [ 2drop f ] if ; inline
-
-: find-relative ( seq quot n -- i elt )
-    >r over [ find drop ] dip r> swap pick
-    (find-relative) ; inline
-
-: (find-all) ( n seq quot -- )
-    2dup >r >r find-from [
-        dupd 2array , 1+ r> r> (find-all)
-    ] [
-        r> r> 3drop
-    ] if* ; inline
-
-: find-all ( seq quot -- alist )
-    [ 0 -rot (find-all) ] { } make ; inline
-
-: (find-nth) ( offset seq quot n count -- obj )
-    >r >r [ find-from ] 2keep 4 npick [
-        r> r> 1+ 2dup <= [
-            4drop
-        ] [
-            >r >r >r >r drop 1+ r> r> r> r>
-            (find-nth)
-        ] if
-    ] [
-        2drop r> r> 2drop
-    ] if ; inline
-
-: find-nth ( seq quot n -- i elt )
-    0 -roll 0 (find-nth) ; inline
-
-: find-nth-relative ( seq quot n offest -- i elt )
-    >r [ find-nth ] 3keep 2drop nip r> swap pick
-    (find-relative) ; inline
-
-: remove-blank-text ( vector -- vector' )
-    [
-        dup name>> text = [
-            text>> [ blank? ] all? not
-        ] [
-            drop t
-        ] if
-    ] filter ;
-
-: trim-text ( vector -- vector' )
-    [
-        dup name>> text = [
-            [ [ blank? ] trim ] change-text
-        ] when
-    ] map ;
-
-: find-by-id ( id vector -- vector )
-    [ attributes>> "id" swap at = ] with filter ;
-
-: find-by-class ( id vector -- vector )
-    [ attributes>> "class" swap at = ] with filter ;
-
-: find-by-name ( str vector -- vector )
-    >r >lower r>
-    [ name>> = ] with filter ;
-
-: find-first-name ( str vector -- i/f tag/f )
-    >r >lower r>
-    [ name>> = ] with find ;
-
-: find-matching-close ( str vector -- i/f tag/f )
-    >r >lower r>
-    [ [ name>> = ] keep closing?>> and ] with find ;
-
-: find-by-attribute-key ( key vector -- vector )
-    >r >lower r>
-    [ attributes>> at ] with filter
-    sift ;
-
-: find-by-attribute-key-value ( value key vector -- vector )
-    >r >lower r>
-    [ attributes>> at over = ] with filter nip
-    sift ;
-
-: find-first-attribute-key-value ( value key vector -- i/f tag/f )
-    >r >lower r>
-    [ attributes>> at over = ] with find rot drop ;
-
-: find-between* ( i/f tag/f vector -- vector )
-    pick integer? [
-        rot tail-slice
-        >r name>> r>
-        [ find-matching-close drop dup [ 1+ ] when ] keep
-        swap [ head ] [ first ] if*
-    ] [
-        3drop V{ } clone
-    ] if ;
-    
-: find-between ( i/f tag/f vector -- vector )
-    find-between* dup length 3 >= [
-        [ rest-slice but-last-slice ] keep like
-    ] when ;
-
-: find-between-first ( string vector -- vector' )
-    [ find-first-name ] keep find-between ;
-
-: find-between-all ( vector quot -- seq )
-    [ [ [ closing?>> not ] bi and ] curry find-all ] curry
-    [ [ >r first2 r> find-between* ] curry map ] bi ;
-
-: tag-link ( tag -- link/f )
-    attributes>> [ "href" swap at ] [ f ] if* ;
-
-: find-links ( vector -- vector' )
-    [ [ name>> "a" = ] [ attributes>> "href" swap at ] bi and ]
-    find-between-all ;
-
-: <link> ( vector -- link )
-    [ first attributes>> ]
-    [ [ name>> { text "img" } member? ] filter ] bi
-    link boa ;
-
-: link. ( vector -- )
-    [ attributes>> "href" swap at write nl ]
-    [ clickable>> [ bl bl text>> print ] each nl ] bi ;
-
-: find-by-text ( seq quot -- tag )
-    [ dup name>> text = ] prepose find drop ;
-
-: find-opening-tags-by-name ( name seq -- seq )
-    [ [ name>> = ] keep closing?>> not and ] with find-all ;
-
-: href-contains? ( str tag -- ? )
-    attributes>> "href" swap at* [ subseq? ] [ 2drop f ] if ;
-
-: find-hrefs ( vector -- vector' )
-    find-links
-    [ [
-        [ name>> "a" = ]
-        [ attributes>> "href" swap key? ] bi and ] filter
-    ] map sift [ [ attributes>> "href" swap at ] map ] map concat ;
-
-: find-forms ( vector -- vector' )
-    "form" over find-opening-tags-by-name
-    swap [ >r first2 r> find-between* ] curry map
-    [ [ name>> { "form" "input" } member? ] filter ] map ;
-
-: find-html-objects ( string vector -- vector' )
-    [ find-opening-tags-by-name ] keep
-    [ >r first2 r> find-between* ] curry map ;
-
-: form-action ( vector -- string )
-    [ name>> "form" = ] find nip 
-    attributes>> "action" swap at ;
-
-: hidden-form-values ( vector -- strings )
-    [ attributes>> "type" swap at "hidden" = ] filter ;
-
-: input. ( tag -- )
-    dup name>> print
-    attributes>>
-    [ bl bl bl bl [ write "=" write ] [ write bl ] bi* nl ] assoc-each ;
-
-: form. ( vector -- )
-    [ closing?>> not ] filter
-    [
-        {
-            { [ dup name>> "form" = ]
-                [ "form action: " write attributes>> "action" swap at print ] }
-            { [ dup name>> "input" = ] [ input. ] }
-            [ drop ]
-        } cond
-    ] each ;
-
-: query>assoc* ( str -- hash )
-    "?" split1 nip query>assoc ;
diff --git a/extra/html/parser/analyzer/authors.txt b/extra/html/parser/analyzer/authors.txt
deleted file mode 100755 (executable)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/html/parser/authors.txt b/extra/html/parser/authors.txt
deleted file mode 100755 (executable)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/html/parser/parser-tests.factor b/extra/html/parser/parser-tests.factor
deleted file mode 100644 (file)
index 9757f70..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-USING: html.parser kernel tools.test ;
-IN: html.parser.tests
-
-[
-    V{ T{ tag f "html" H{ } f f } }
-] [ "<html>" parse-html ] unit-test
-
-[
-    V{ T{ tag f "html" H{ } f t } }
-] [ "</html>" parse-html ] unit-test
-
-[
-    V{ T{ tag f "a" H{ { "href" "http://factorcode.org/" } } f f } }
-] [ "<a href=\"http://factorcode.org/\">" parse-html ] unit-test
-
-[
-    V{ T{ tag f "a" H{ { "href" "http://factorcode.org/" } } f f } }
-] [ "<a   href  =  \"http://factorcode.org/\"   >" parse-html ] unit-test
-
-[
-V{
-    T{
-        tag
-        f
-        "a"
-        H{ { "baz" "\"quux\"" } { "foo" "bar's" } }
-        f
-        f
-    }
-}
-] [ "<a   foo=\"bar's\" baz='\"quux\"'  >" parse-html ] unit-test
-
-[
-V{
-    T{ tag f "a"
-        H{
-            { "a" "pirsqd" }
-            { "foo" "bar" }
-            { "href" "http://factorcode.org/" }
-            { "baz" "quux" }
-        } f f }
-}
-] [ "<a   href  =    \"http://factorcode.org/\"    foo   =  bar baz='quux'a=pirsqd  >" parse-html ] unit-test
-
-[
-V{
-    T{ tag f "html" H{ } f f }
-    T{ tag f "head" H{ } f f }
-    T{ tag f "head" H{ } f t }
-    T{ tag f "html" H{ } f t }
-}
-] [ "<html<head</head</html" parse-html ] unit-test
-
-[
-V{
-    T{ tag f "head" H{ } f f }
-    T{ tag f "title" H{ } f f }
-    T{ tag f text f "Spagna" f }
-    T{ tag f "title" H{ } f t }
-    T{ tag f "head" H{ } f t }
-}
-] [ "<head<title>Spagna</title></head" parse-html ] unit-test
diff --git a/extra/html/parser/parser.factor b/extra/html/parser/parser.factor
deleted file mode 100644 (file)
index 94a5019..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-USING: accessors arrays html.parser.utils hashtables io kernel
-namespaces prettyprint quotations
-sequences splitting state-parser strings unicode.categories unicode.case
-sequences.lib ;
-IN: html.parser
-
-TUPLE: tag name attributes text closing? ;
-
-SINGLETON: text
-SINGLETON: dtd
-SINGLETON: comment
-SYMBOL: tagstack
-
-: push-tag ( tag -- )
-    tagstack get push ;
-
-: closing-tag? ( string -- ? )
-    [ f ]
-    [ [ first ] [ peek ] bi [ CHAR: / = ] bi@ or ] if-empty ;
-
-: <tag> ( name attributes closing? -- tag )
-    tag new
-        swap >>closing?
-        swap >>attributes
-        swap >>name ;
-
-: make-tag ( string attribs -- tag )
-    >r [ closing-tag? ] keep "/" trim1 r> rot <tag> ;
-
-: make-text-tag ( string -- tag )
-    tag new
-        text >>name
-        swap >>text ;
-
-: make-comment-tag ( string -- tag )
-    tag new
-        comment >>name
-        swap >>text ;
-
-: make-dtd-tag ( string -- tag )
-    tag new
-        dtd >>name
-        swap >>text ;
-
-: read-whitespace ( -- string )
-    [ get-char blank? not ] take-until ;
-
-: read-whitespace* ( -- ) read-whitespace drop ;
-
-: read-token ( -- string )
-    read-whitespace*
-    [ get-char blank? ] take-until ;
-
-: read-single-quote ( -- string )
-    [ get-char CHAR: ' = ] take-until ;
-
-: read-double-quote ( -- string )
-    [ get-char CHAR: " = ] take-until ;
-
-: read-quote ( -- string )
-    get-char next* CHAR: ' =
-    [ read-single-quote ] [ read-double-quote ] if next* ;
-
-: read-key ( -- string )
-    read-whitespace*
-    [ get-char [ CHAR: = = ] [ blank? ] bi or ] take-until ;
-
-: read-= ( -- )
-    read-whitespace*
-    [ get-char CHAR: = = ] take-until drop next* ;
-
-: read-value ( -- string )
-    read-whitespace*
-    get-char quote? [ read-quote ] [ read-token ] if
-    [ blank? ] trim ;
-
-: read-comment ( -- )
-    "-->" take-string* make-comment-tag push-tag ;
-
-: read-dtd ( -- )
-    ">" take-string* make-dtd-tag push-tag ;
-
-: read-bang ( -- )
-    next* get-char CHAR: - = get-next CHAR: - = and [
-        next* next*
-        read-comment
-    ] [
-        read-dtd
-    ] if ;
-
-: read-tag ( -- string )
-    [ get-char CHAR: > = get-char CHAR: < = or ] take-until
-    get-char CHAR: < = [ next* ] unless ;
-
-: read-< ( -- string )
-    next* get-char CHAR: ! = [
-        read-bang f
-    ] [
-        read-tag
-    ] if ;
-
-: read-until-< ( -- string )
-    [ get-char CHAR: < = ] take-until ;
-
-: parse-text ( -- )
-    read-until-< dup empty? [
-        drop
-    ] [
-        make-text-tag push-tag
-    ] if ;
-
-: (parse-attributes) ( -- )
-    read-whitespace*
-    string-parse-end? [
-        read-key >lower read-= read-value
-        2array , (parse-attributes)
-    ] unless ;
-
-: parse-attributes ( -- hashtable )
-    [ (parse-attributes) ] { } make >hashtable ;
-
-: (parse-tag) ( string -- string' hashtable )
-    [
-        read-token >lower
-        parse-attributes
-    ] string-parse ;
-
-: parse-tag ( -- )
-    read-< [
-        (parse-tag) make-tag push-tag
-    ] unless-empty ;
-
-: (parse-html) ( -- )
-    get-next [
-        parse-text
-        parse-tag
-        (parse-html)
-    ] when ;
-
-: tag-parse ( quot -- vector )
-    V{ } clone tagstack [ string-parse ] with-variable ;
-
-: parse-html ( string -- vector )
-    [ (parse-html) tagstack get ] tag-parse ;
diff --git a/extra/html/parser/printer/authors.txt b/extra/html/parser/printer/authors.txt
deleted file mode 100755 (executable)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/html/parser/printer/printer.factor b/extra/html/parser/printer/printer.factor
deleted file mode 100644 (file)
index 4419eec..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-USING: accessors assocs html.parser html.parser.utils combinators
-continuations hashtables
-hashtables.private io kernel math
-namespaces prettyprint quotations sequences splitting
-strings ;
-IN: html.parser.printer
-
-SYMBOL: printer
-
-TUPLE: html-printer ;
-TUPLE: text-printer < html-printer ;
-TUPLE: src-printer < html-printer ;
-TUPLE: html-prettyprinter < html-printer ;
-
-HOOK: print-text-tag html-printer ( tag -- )
-HOOK: print-comment-tag html-printer ( tag -- )
-HOOK: print-dtd-tag html-printer ( tag -- )
-HOOK: print-opening-tag html-printer ( tag -- )
-HOOK: print-closing-tag html-printer ( tag -- )
-
-ERROR: unknown-tag-error tag ;
-
-: print-tag ( tag -- )
-    {
-        { [ dup name>> text = ] [ print-text-tag ] }
-        { [ dup name>> comment = ] [ print-comment-tag ] }
-        { [ dup name>> dtd = ] [ print-dtd-tag ] }
-        { [ dup [ name>> string? ] [ closing?>> ] bi and ]
-            [ print-closing-tag ] }
-        { [ dup name>> string? ]
-            [ print-opening-tag ] }
-        [ unknown-tag-error ]
-    } cond ;
-
-: print-tags ( vector -- ) [ print-tag ] each ;
-
-: html-text. ( vector -- )
-    T{ text-printer } html-printer [ print-tags ] with-variable ;
-
-: html-src. ( vector -- )
-    T{ src-printer } html-printer [ print-tags ] with-variable ;
-
-M: html-printer print-text-tag ( tag -- ) text>> write ;
-
-M: html-printer print-comment-tag ( tag -- )
-    "<!--" write text>> write "-->" write ;
-
-M: html-printer print-dtd-tag ( tag -- )
-    "<!" write text>> write ">" write ;
-
-: print-attributes ( hashtable -- )
-    [ [ bl write "=" write ] [ ?quote write ] bi* ] assoc-each ;
-
-M: src-printer print-opening-tag ( tag -- )
-    "<" write
-    [ name>> write ]
-    [ attributes>> dup assoc-empty? [ drop ] [ print-attributes ] if ] bi
-    ">" write ;
-
-M: src-printer print-closing-tag ( tag -- )
-    "</" write
-    name>> write
-    ">" write ;
-
-SYMBOL: tab-width
-SYMBOL: #indentations
-SYMBOL: tagstack
-
-: prettyprint-html ( vector -- )
-    [
-        T{ html-prettyprinter } printer set
-        V{ } clone tagstack set
-        2 tab-width set
-        0 #indentations set
-        print-tags
-    ] with-scope ;
-
-: print-tabs ( -- )
-    tab-width get #indentations get * CHAR: \s <repetition> write ; 
-
-M: html-prettyprinter print-opening-tag ( tag -- )
-    print-tabs "<" write
-    name>> write
-    ">\n" write ;
-
-M: html-prettyprinter print-closing-tag ( tag -- )
-    "</" write
-    name>> write
-    ">" write ;
diff --git a/extra/html/parser/utils/authors.txt b/extra/html/parser/utils/authors.txt
deleted file mode 100755 (executable)
index 7c1b2f2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
diff --git a/extra/html/parser/utils/utils-tests.factor b/extra/html/parser/utils/utils-tests.factor
deleted file mode 100644 (file)
index 4b25db1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-USING: assocs combinators continuations hashtables
-hashtables.private io kernel math
-namespaces prettyprint quotations sequences splitting
-state-parser strings tools.test ;
-USING: html.parser.utils ;
-IN: html.parser.utils.tests
-
-[ "'Rome'" ] [ "Rome" single-quote ] unit-test
-[ "\"Roma\"" ] [ "Roma" double-quote ] unit-test
-[ "'Firenze'" ] [ "Firenze" quote ] unit-test
-[ "\"Caesar's\"" ] [ "Caesar's" quote ] unit-test
-[ f ] [ "" quoted? ] unit-test
-[ t ] [ "''" quoted? ] unit-test
-[ t ] [ "\"\"" quoted? ] unit-test
-[ t ] [ "\"Circus Maximus\"" quoted? ] unit-test
-[ t ] [ "'Circus Maximus'" quoted? ] unit-test
-[ f ] [ "Circus Maximus" quoted? ] unit-test
-[ "'Italy'" ] [ "Italy" ?quote ] unit-test
-[ "'Italy'" ] [ "'Italy'" ?quote ] unit-test
-[ "\"Italy\"" ] [ "\"Italy\"" ?quote ] unit-test
-[ "Italy" ] [ "Italy" unquote ] unit-test
-[ "Italy" ] [ "'Italy'" unquote ] unit-test
-[ "Italy" ] [ "\"Italy\"" unquote ] unit-test
-
diff --git a/extra/html/parser/utils/utils.factor b/extra/html/parser/utils/utils.factor
deleted file mode 100644 (file)
index 04b3687..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-USING: assocs circular combinators continuations hashtables
-hashtables.private io kernel math
-namespaces prettyprint quotations sequences splitting
-state-parser strings sequences.lib ;
-IN: html.parser.utils
-
-: string-parse-end? ( -- ? ) get-next not ;
-
-: take-string* ( match -- string )
-    dup length <circular-string>
-    [ 2dup string-matches? ] take-until nip
-    dup length rot length 1- - head next* ;
-
-: trim1 ( seq ch -- newseq )
-    [ ?head drop ] [ ?tail drop ] bi ;
-
-: single-quote ( str -- newstr )
-    "'" swap "'" 3append ;
-
-: double-quote ( str -- newstr )
-    "\"" swap "\"" 3append ;
-
-: quote ( str -- newstr )
-    CHAR: ' over member?
-    [ double-quote ] [ single-quote ] if ;
-
-: quoted? ( str -- ? )
-    [ f ]
-    [ [ first ] [ peek ] bi [ = ] keep "'\"" member? and ] if-empty ;
-
-: ?quote ( str -- newstr )
-    dup quoted? [ quote ] unless ;
-
-: unquote ( str -- newstr )
-    dup quoted? [ but-last-slice rest-slice >string ] when ;
-
-: quote? ( ch -- ? ) "'\"" member? ;
diff --git a/extra/html/streams/authors.txt b/extra/html/streams/authors.txt
deleted file mode 100644 (file)
index 65da810..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Slava Pestov
-Matthew Willis
-Chris Double
diff --git a/extra/html/streams/streams-tests.factor b/extra/html/streams/streams-tests.factor
deleted file mode 100644 (file)
index b5707c1..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-USING: html.streams html.streams.private accessors io
-io.streams.string io.styles kernel namespaces tools.test
-xml.writer sbufs sequences inspector colors ;
-IN: html.streams.tests
-
-: make-html-string
-    [ with-html-stream ] with-string-writer ; inline
-
-[ [ ] make-html-string ] must-infer
-
-[ ] [
-    512 <sbuf> <html-stream> drop
-] unit-test
-
-[ "" ] [
-    [ "" write ] make-html-string
-] unit-test
-
-[ "a" ] [
-    [ CHAR: a write1 ] make-html-string
-] unit-test
-
-[ "&lt;" ] [
-    [ "<" write ] make-html-string
-] unit-test
-
-[ "<" ] [
-    [ "<" H{ } output-stream get format-html-span ] make-html-string
-] unit-test
-
-TUPLE: funky town ;
-
-M: funky browser-link-href
-    "http://www.funky-town.com/" swap town>> append ;
-
-[ "<a href='http://www.funky-town.com/austin'>&lt;</a>" ] [
-    [
-        "<" "austin" funky boa write-object
-    ] make-html-string
-] unit-test
-
-[ "<span style='font-family: monospace; '>car</span>" ]
-[
-    [
-        "car"
-        H{ { font "monospace" } }
-        format
-    ] make-html-string
-] unit-test
-
-[ "<span style='color: #ff00ff; '>car</span>" ]
-[
-    [
-        "car"
-        H{ { foreground T{ rgba f 1 0 1 1 } } }
-        format
-    ] make-html-string
-] unit-test
-
-[ "<div style='background-color: #ff00ff; white-space: pre; font-family: monospace; '>cdr</div>" ]
-[
-    [
-        H{ { page-color T{ rgba f 1 0 1 1 } } }
-        [ "cdr" write ] with-nesting
-    ] make-html-string
-] unit-test
-
-[
-    "<div style='white-space: pre; font-family: monospace; '></div>"
-] [
-    [ H{ } [ ] with-nesting nl ] make-html-string
-] unit-test
-
-[ ] [ [ { 1 2 3 } describe ] with-html-stream ] unit-test
diff --git a/extra/html/streams/streams.factor b/extra/html/streams/streams.factor
deleted file mode 100755 (executable)
index d21c743..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-! Copyright (C) 2004, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: combinators generic assocs help http io io.styles io.files
-       continuations io.streams.string kernel math math.order math.parser
-       namespaces quotations assocs sequences strings words html.elements
-       xml.entities sbufs continuations destructors accessors arrays ;
-
-IN: html.streams
-
-GENERIC: browser-link-href ( presented -- href )
-
-M: object browser-link-href drop f ;
-
-TUPLE: html-stream stream last-div ;
-
-! stream-nl after with-nesting or tabular-output is
-! ignored, so that HTML stream output looks like
-! UI pane output
-: last-div? ( stream -- ? )
-    [ f ] change-last-div drop ;
-
-: not-a-div ( stream -- stream )
-    f >>last-div ; inline
-
-: a-div ( stream -- straem )
-    t >>last-div ; inline
-
-: <html-stream> ( stream -- stream )
-    f html-stream boa ;
-
-<PRIVATE
-
-TUPLE: html-sub-stream < html-stream style parent ;
-
-: new-html-sub-stream ( style stream class -- stream )
-    new
-        512 <sbuf> >>stream
-        swap >>parent
-        swap >>style ; inline
-
-: end-sub-stream ( substream -- string style stream )
-    [ stream>> >string ] [ style>> ] [ parent>> ] tri ;
-
-: object-link-tag ( style quot -- )
-    presented pick at [
-        browser-link-href [
-            <a =href a> call </a>
-        ] [ call ] if*
-    ] [ call ] if* ; inline
-
-: hex-color, ( color -- )
-    [ red>> ] [ green>> ] [ blue>> ] tri
-    [ 255 * >fixnum >hex 2 CHAR: 0 pad-left % ] tri@ ;
-
-: fg-css, ( color -- )
-    "color: #" % hex-color, "; " % ;
-
-: bg-css, ( color -- )
-    "background-color: #" % hex-color, "; " % ;
-
-: style-css, ( flag -- )
-    dup
-    { italic bold-italic } member?
-    "font-style: " % "italic" "normal" ? % "; " %
-    { bold bold-italic } member?
-    "font-weight: " % "bold" "normal" ? % "; " % ;
-
-: size-css, ( size -- )
-    "font-size: " % # "pt; " % ;
-
-: font-css, ( font -- )
-    "font-family: " % % "; " % ;
-
-: apply-style ( style key quot -- style gadget )
-    >r over at r> when* ; inline
-
-: make-css ( style quot -- str )
-    "" make nip ; inline
-
-: span-css-style ( style -- str )
-    [
-        foreground [ fg-css,    ] apply-style
-        background [ bg-css,    ] apply-style
-        font       [ font-css,  ] apply-style
-        font-style [ style-css, ] apply-style
-        font-size  [ size-css,  ] apply-style
-    ] make-css ;
-
-: span-tag ( style quot -- )
-    over span-css-style dup empty? [
-        drop call
-    ] [
-        <span =style span> call </span>
-    ] if ; inline
-
-: format-html-span ( string style stream -- )
-    stream>> [
-        [ [ drop write ] span-tag ] object-link-tag
-    ] with-output-stream* ;
-
-TUPLE: html-span-stream < html-sub-stream ;
-
-M: html-span-stream dispose
-    end-sub-stream not-a-div format-html-span ;
-
-: border-css, ( border -- )
-    "border: 1px solid #" % hex-color, "; " % ;
-
-: padding-css, ( padding -- ) "padding: " % # "px; " % ;
-
-: pre-css, ( margin -- )
-    [ "white-space: pre; font-family: monospace; " % ] unless ;
-
-: div-css-style ( style -- str )
-    [
-        page-color   [ bg-css,      ] apply-style
-        border-color [ border-css,  ] apply-style
-        border-width [ padding-css, ] apply-style
-        wrap-margin over at pre-css,
-    ] make-css ;
-
-: div-tag ( style quot -- )
-    swap div-css-style dup empty? [
-        drop call
-    ] [
-        <div =style div> call </div>
-    ] if ; inline
-
-: format-html-div ( string style stream -- )
-    stream>> [
-        [ [ write ] div-tag ] object-link-tag
-    ] with-output-stream* ;
-
-TUPLE: html-block-stream < html-sub-stream ;
-
-M: html-block-stream dispose ( quot style stream -- )
-    end-sub-stream a-div format-html-div ;
-
-: border-spacing-css, ( pair -- )
-    "padding: " % first2 max 2 /i # "px; " % ;
-
-: table-style ( style -- str )
-    [
-        table-border [ border-css,         ] apply-style
-        table-gap    [ border-spacing-css, ] apply-style
-    ] make-css ;
-
-: table-attrs ( style -- )
-    table-style " border-collapse: collapse;" append =style ;
-
-: do-escaping ( string style -- string )
-    html swap at [ escape-string ] unless ;
-
-PRIVATE>
-
-! Stream protocol
-M: html-stream stream-flush
-    stream>> stream-flush ;
-
-M: html-stream stream-write1
-    >r 1string r> stream-write ;
-
-M: html-stream stream-write
-    not-a-div >r escape-string r> stream>> stream-write ;
-
-M: html-stream stream-format
-    >r html over at [ >r escape-string r> ] unless r>
-    format-html-span ;
-
-M: html-stream stream-nl
-    dup last-div? [ drop ] [ [ <br/> ] with-output-stream* ] if ;
-
-M: html-stream make-span-stream
-    html-span-stream new-html-sub-stream ;
-
-M: html-stream make-block-stream
-    html-block-stream new-html-sub-stream ;
-
-M: html-stream make-cell-stream
-    html-sub-stream new-html-sub-stream ;
-
-M: html-stream stream-write-table
-    a-div stream>> [
-        <table dup table-attrs table> swap [
-            <tr> [
-                <td "top" =valign swap table-style =style td>
-                    stream>> >string write
-                </td>
-            ] with each </tr>
-        ] with each </table>
-    ] with-output-stream* ;
-
-M: html-stream dispose stream>> dispose ;
-
-: with-html-stream ( quot -- )
-    output-stream get <html-stream> swap with-output-stream* ; inline
diff --git a/extra/html/streams/summary.txt b/extra/html/streams/summary.txt
deleted file mode 100644 (file)
index 29ec8d3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-HTML reader, writer and utilities
diff --git a/extra/html/streams/tags.txt b/extra/html/streams/tags.txt
deleted file mode 100644 (file)
index c077218..0000000
+++ /dev/null
@@ -1 +0,0 @@
-web
diff --git a/extra/html/templates/chloe/chloe-tests.factor b/extra/html/templates/chloe/chloe-tests.factor
deleted file mode 100644 (file)
index 4048836..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-USING: html.templates html.templates.chloe
-tools.test io.streams.string kernel sequences ascii boxes
-namespaces xml html.components html.forms
-splitting unicode.categories furnace accessors ;
-IN: html.templates.chloe.tests
-
-[ f ] [ f parse-query-attr ] unit-test
-
-[ f ] [ "" parse-query-attr ] unit-test
-
-[ H{ { "a" "b" } } ] [
-    begin-form
-    "b" "a" set-value
-    "a" parse-query-attr
-] unit-test
-
-[ H{ { "a" "b" } { "c" "d" } } ] [
-    begin-form
-    "b" "a" set-value
-    "d" "c" set-value
-    "a,c" parse-query-attr
-] unit-test
-
-: run-template
-    with-string-writer [ "\r\n\t" member? not ] filter
-    "?>" split1 nip ; inline
-
-: test-template ( name -- template )
-    "resource:extra/html/templates/chloe/test/"
-    prepend <chloe> ;
-
-[ "Hello world" ] [
-    [
-        "test1" test-template call-template
-    ] run-template
-] unit-test
-
-[ "Blah blah" "Hello world" ] [
-    [
-        <box> title set
-        [
-            "test2" test-template call-template
-        ] run-template
-        title get box>
-    ] with-scope
-] unit-test
-
-[ "<html><head><title>Hello world</title></head><body>Blah blah</body></html>" ] [
-    [
-        [
-            "test2" test-template call-template
-        ] "test3" test-template with-boilerplate
-    ] run-template
-] unit-test
-
-: test4-aux? t ;
-
-[ "True" ] [
-    [
-        "test4" test-template call-template
-    ] run-template
-] unit-test
-
-: test5-aux? f ;
-
-[ "" ] [
-    [
-        "test5" test-template call-template
-    ] run-template
-] unit-test
-
-[ ] [ begin-form ] unit-test
-
-[ ] [ "A label" "label" set-value ] unit-test
-
-SINGLETON: link-test
-
-M: link-test link-title drop "<Link Title>" ;
-
-M: link-test link-href drop "http://www.apple.com/foo&bar" ;
-
-[ ] [ link-test "link" set-value ] unit-test
-
-[ ] [ "int x = 5;" "code" set-value ] unit-test
-
-[ ] [ "c" "mode" set-value ] unit-test
-
-[ ] [ { 1 2 3 } "inspector" set-value ] unit-test
-
-[ ] [ "<p>a paragraph</p>" "html" set-value ] unit-test
-
-[ ] [ "sheeple" "field" set-value ] unit-test
-
-[ ] [ "a password" "password" set-value ] unit-test
-
-[ ] [ "a\nb\nc" "textarea" set-value ] unit-test
-
-[ ] [ "new york" "choice" set-value ] unit-test
-
-[ ] [ { "new york" "detroit" "minneapolis" } "choices" set-value ] unit-test
-
-[ ] [
-    [
-        "test8" test-template call-template
-    ] run-template drop
-] unit-test
-
-[ ] [ { 1 2 3 } "numbers" set-value ] unit-test
-
-[ "<ul><li>1</li><li>2</li><li>3</li></ul>" ] [
-    [
-        "test7" test-template call-template
-    ] run-template [ blank? not ] filter
-] unit-test
-
-TUPLE: person first-name last-name ;
-
-[ ] [
-    {
-        T{ person f "RBaxter" "Unknown" }
-        T{ person f "Doug" "Coleman" }
-    } "people" set-value
-] unit-test
-
-[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr><tr><td>Doug</td><td>Coleman</td></tr></table>" ] [
-    [
-        "test8" test-template call-template
-    ] run-template [ blank? not ] filter
-] unit-test
-
-[ ] [
-    {
-        H{ { "first-name" "RBaxter" } { "last-name" "Unknown" } }
-        H{ { "first-name" "Doug"    } { "last-name" "Coleman" } }
-    } "people" set-value
-] unit-test
-
-[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr><tr><td>Doug</td><td>Coleman</td></tr></table>" ] [
-    [
-        "test8" test-template call-template
-    ] run-template [ blank? not ] filter
-] unit-test
-
-[ ] [ 1 "id" set-value ] unit-test
-
-[ "<a name=\"1\">Hello</a>" ] [
-    [
-        "test9" test-template call-template
-    ] run-template
-] unit-test
-
-[ ] [ H{ { "a" H{ { "b" "c" } } } } values set ] unit-test
-
-[ "<form method='post' action='foo'><input type='hidden' name='__n' value='a'/></form>" ] [
-    [
-        "test10" test-template call-template
-    ] run-template
-] unit-test
-
-[ ] [ begin-form ] unit-test
-
-[ ] [
-    <form> H{ { "first-name" "RBaxter" } { "last-name" "Unknown" } } >>values "person" set-value
-] unit-test
-
-[ "<table><tr><td>RBaxter</td><td>Unknown</td></tr></table>" ] [
-    [
-        "test11" test-template call-template
-    ] run-template [ blank? not ] filter
-] unit-test
-
-[ ] [
-    begin-form
-    { "a" "b" } "choices" set-value
-    "true" "b" set-value
-] unit-test
-
-[ "<input type='checkbox' name='a'>a</input><input type='checkbox' name='b' checked='true'>b</input>" ] [
-    [
-        "test12" test-template call-template
-    ] run-template
-] unit-test
diff --git a/extra/html/templates/chloe/chloe.factor b/extra/html/templates/chloe/chloe.factor
deleted file mode 100644 (file)
index afbd82f..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel sequences combinators kernel namespaces
-classes.tuple assocs splitting words arrays memoize
-io io.files io.encodings.utf8 io.streams.string
-unicode.case tuple-syntax mirrors fry math urls present
-multiline xml xml.data xml.writer xml.utilities
-html.forms
-html.elements
-html.components
-html.templates
-html.templates.chloe.syntax ;
-IN: html.templates.chloe
-
-! Chloe is Ed's favorite web designer
-SYMBOL: tag-stack
-
-TUPLE: chloe path ;
-
-C: <chloe> chloe
-
-DEFER: process-template
-
-: chloe-attrs-only ( assoc -- assoc' )
-    [ drop url>> chloe-ns = ] assoc-filter ;
-
-: non-chloe-attrs-only ( assoc -- assoc' )
-    [ drop url>> chloe-ns = not ] assoc-filter ;
-
-: chloe-tag? ( tag -- ? )
-    dup xml? [ body>> ] when
-    {
-        { [ dup tag? not ] [ f ] }
-        { [ dup url>> chloe-ns = not ] [ f ] }
-        [ t ]
-    } cond nip ;
-
-: process-tag-children ( tag -- )
-    [ process-template ] each ;
-
-CHLOE: chloe process-tag-children ;
-
-: children>string ( tag -- string )
-    [ process-tag-children ] with-string-writer ;
-
-CHLOE: title children>string set-title ;
-
-CHLOE: write-title
-    drop
-    "head" tag-stack get member?
-    "title" tag-stack get member? not and
-    [ <title> write-title </title> ] [ write-title ] if ;
-
-CHLOE: style
-    dup "include" optional-attr dup [
-        swap children>string empty? [
-            "style tag cannot have both an include attribute and a body" throw
-        ] unless
-        utf8 file-contents
-    ] [
-        drop children>string
-    ] if add-style ;
-
-CHLOE: write-style
-    drop <style> write-style </style> ;
-
-CHLOE: even "index" value even? [ process-tag-children ] [ drop ] if ;
-
-CHLOE: odd "index" value odd? [ process-tag-children ] [ drop ] if ;
-
-: (bind-tag) ( tag quot -- )
-    [
-        [ "name" required-attr ] keep
-        '[ , process-tag-children ]
-    ] dip call ; inline
-
-CHLOE: each [ with-each-value ] (bind-tag) ;
-
-CHLOE: bind-each [ with-each-object ] (bind-tag) ;
-
-CHLOE: bind [ with-form ] (bind-tag) ;
-
-: error-message-tag ( tag -- )
-    children>string render-error ;
-
-CHLOE: comment drop ;
-
-CHLOE: call-next-template drop call-next-template ;
-
-: attr>word ( value -- word/f )
-    ":" split1 swap lookup ;
-
-: if-satisfied? ( tag -- ? )
-    [ "code" optional-attr [ attr>word dup [ execute ] when ] [ t ] if* ]
-    [ "value" optional-attr [ value ] [ t ] if* ]
-    bi and ;
-
-CHLOE: if dup if-satisfied? [ process-tag-children ] [ drop ] if ;
-
-CHLOE-SINGLETON: label
-CHLOE-SINGLETON: link
-CHLOE-SINGLETON: inspector
-CHLOE-SINGLETON: comparison
-CHLOE-SINGLETON: html
-CHLOE-SINGLETON: hidden
-
-CHLOE-TUPLE: farkup
-CHLOE-TUPLE: field
-CHLOE-TUPLE: textarea
-CHLOE-TUPLE: password
-CHLOE-TUPLE: choice
-CHLOE-TUPLE: checkbox
-CHLOE-TUPLE: code
-
-: process-chloe-tag ( tag -- )
-    dup main>> dup tags get at
-    [ call ] [ "Unknown chloe tag: " prepend throw ] ?if ;
-
-: process-tag ( tag -- )
-    {
-        [ main>> >lower tag-stack get push ]
-        [ write-start-tag ]
-        [ process-tag-children ]
-        [ write-end-tag ]
-        [ drop tag-stack get pop* ]
-    } cleave ;
-
-: expand-attrs ( tag -- tag )
-    dup [ tag? ] [ xml? ] bi or [
-        clone [
-            [ "@" ?head [ value present ] when ] assoc-map
-        ] change-attrs
-    ] when ;
-
-: process-template ( xml -- )
-    expand-attrs
-    {
-        { [ dup chloe-tag? ] [ process-chloe-tag ] }
-        { [ dup [ tag? ] [ xml? ] bi or ] [ process-tag ] }
-        { [ t ] [ write-item ] }
-    } cond ;
-
-: process-chloe ( xml -- )
-    [
-        V{ } clone tag-stack set
-
-        nested-template? get [
-            process-template
-        ] [
-            {
-                [ prolog>> write-prolog ]
-                [ before>> write-chunk  ]
-                [ process-template        ]
-                [ after>> write-chunk   ]
-            } cleave
-        ] if
-    ] with-scope ;
-
-M: chloe call-template*
-    path>> ".xml" append utf8 <file-reader> read-xml process-chloe ;
-
-INSTANCE: chloe template
diff --git a/extra/html/templates/chloe/syntax/syntax.factor b/extra/html/templates/chloe/syntax/syntax.factor
deleted file mode 100644 (file)
index 82309a4..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-IN: html.templates.chloe.syntax
-USING: accessors kernel sequences combinators kernel namespaces
-classes.tuple assocs splitting words arrays memoize parser lexer
-io io.files io.encodings.utf8 io.streams.string
-unicode.case tuple-syntax mirrors fry math urls
-multiline xml xml.data xml.writer xml.utilities
-html.elements
-html.components
-html.templates ;
-
-SYMBOL: tags
-
-tags global [ H{ } clone or ] change-at
-
-: define-chloe-tag ( name quot -- ) swap tags get set-at ;
-
-: CHLOE:
-    scan parse-definition define-chloe-tag ; parsing
-
-: chloe-ns "http://factorcode.org/chloe/1.0" ; inline
-
-MEMO: chloe-name ( string -- name )
-    name new
-        swap >>main
-        chloe-ns >>url ;
-
-: required-attr ( tag name -- value )
-    dup chloe-name rot at*
-    [ nip ] [ drop " attribute is required" append throw ] if ;
-
-: optional-attr ( tag name -- value )
-    chloe-name swap at ;
-
-: singleton-component-tag ( tag class -- )
-    [ "name" required-attr ] dip render ;
-
-: CHLOE-SINGLETON:
-    scan-word
-    [ name>> ] [ '[ , singleton-component-tag ] ] bi
-    define-chloe-tag ;
-    parsing
-
-: attrs>slots ( tag tuple -- )
-    [ attrs>> ] [ <mirror> ] bi*
-    '[
-        swap main>> dup "name" =
-        [ 2drop ] [ , set-at ] if
-    ] assoc-each ;
-
-: tuple-component-tag ( tag class -- )
-    [ drop "name" required-attr ]
-    [ new [ attrs>slots ] keep ]
-    2bi render ;
-
-: CHLOE-TUPLE:
-    scan-word
-    [ name>> ] [ '[ , tuple-component-tag ] ] bi
-    define-chloe-tag ;
-    parsing
diff --git a/extra/html/templates/chloe/test/test1.xml b/extra/html/templates/chloe/test/test1.xml
deleted file mode 100644 (file)
index daccd57..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-       Hello world
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test10.xml b/extra/html/templates/chloe/test/test10.xml
deleted file mode 100644 (file)
index 33fe200..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><t:bind t:name="a"><t:form t:action="foo"/></t:bind></t:chloe>
diff --git a/extra/html/templates/chloe/test/test11.xml b/extra/html/templates/chloe/test/test11.xml
deleted file mode 100644 (file)
index f74256b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <table>
-               <t:bind t:name="person">
-                       <tr>
-                               <td><t:label t:name="first-name"/></td>
-                               <td><t:label t:name="last-name"/></td>
-                       </tr>
-               </t:bind>
-       </table>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test12.xml b/extra/html/templates/chloe/test/test12.xml
deleted file mode 100644 (file)
index b26778c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><t:each t:name="choices"><t:checkbox t:name="@value" t:label="@value" /></t:each></t:chloe>
diff --git a/extra/html/templates/chloe/test/test2.xml b/extra/html/templates/chloe/test/test2.xml
deleted file mode 100644 (file)
index 05b9dde..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-       <t:title>Hello world</t:title>
-       Blah blah
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test3-aux.xml b/extra/html/templates/chloe/test/test3-aux.xml
deleted file mode 100644 (file)
index 99f61af..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-       <t:title>Hello world</t:title>
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test3.xml b/extra/html/templates/chloe/test/test3.xml
deleted file mode 100644 (file)
index 845dd35..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-       <html>
-               <head>
-                       <t:write-title />
-               </head>
-               <body>
-                       <t:call-next-template />
-               </body>
-       </html>
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test4.xml b/extra/html/templates/chloe/test/test4.xml
deleted file mode 100644 (file)
index 5561236..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:if t:code="html.templates.chloe.tests:test4-aux?">
-               True
-       </t:if>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test5.xml b/extra/html/templates/chloe/test/test5.xml
deleted file mode 100644 (file)
index edcbe8f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:if t:code="html.templates.chloe.tests:test5-aux?">
-               True
-       </t:if>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test6.xml b/extra/html/templates/chloe/test/test6.xml
deleted file mode 100644 (file)
index 8e2ff2e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <t:label t:name="label" />
-
-       <t:link t:name="link" />
-
-       <t:code t:name="code" mode="mode" />
-
-       <t:farkup t:name="farkup" />
-
-       <t:inspector t:name="inspector" />
-
-       <t:html t:name="html" />
-
-       <t:field t:name="field" t:size="13" />
-
-       <t:password t:name="password" t:size="10" />
-
-       <t:textarea t:name="textarea" t:rows="5" t:cols="10" />
-
-       <t:choice t:name="choice" t:choices="choices" />
-
-       <t:checkbox t:name="checkbox">Checkbox</t:checkbox>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test7.xml b/extra/html/templates/chloe/test/test7.xml
deleted file mode 100644 (file)
index 6166c80..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <ul>
-               <t:each t:name="numbers">
-                       <li><t:label t:name="value"/></li>
-               </t:each>
-       </ul>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test8.xml b/extra/html/templates/chloe/test/test8.xml
deleted file mode 100644 (file)
index fd4a64a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0">
-
-       <table>
-               <t:bind-each t:name="people">
-                       <tr>
-                               <td><t:label t:name="first-name"/></td>
-                               <td><t:label t:name="last-name"/></td>
-                       </tr>
-               </t:bind-each>
-       </table>
-
-</t:chloe>
diff --git a/extra/html/templates/chloe/test/test9.xml b/extra/html/templates/chloe/test/test9.xml
deleted file mode 100644 (file)
index a9b2769..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version='1.0' ?>
-
-<t:chloe xmlns:t="http://factorcode.org/chloe/1.0"><a name="@id">Hello</a></t:chloe>
diff --git a/extra/html/templates/fhtml/authors.txt b/extra/html/templates/fhtml/authors.txt
deleted file mode 100644 (file)
index b47eafb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Slava Pestov
-Matthew Willis
diff --git a/extra/html/templates/fhtml/fhtml-tests.factor b/extra/html/templates/fhtml/fhtml-tests.factor
deleted file mode 100755 (executable)
index 43ea28f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-USING: io io.files io.streams.string io.encodings.utf8
-html.templates html.templates.fhtml kernel
-tools.test sequences parser ;
-IN: html.templates.fhtml.tests
-
-: test-template ( path -- ? )
-    "resource:extra/html/templates/fhtml/test/"
-    prepend
-    [
-        ".fhtml" append <fhtml> [ call-template ] with-string-writer
-    ] keep
-    ".html" append utf8 file-contents = ;
-
-[ t ] [ "example" test-template ] unit-test
-[ t ] [ "bug" test-template ] unit-test
-[ t ] [ "stack" test-template ] unit-test
-
-[
-    [ ] [ "<%\n%>" parse-template drop ] unit-test
-] with-file-vocabs
diff --git a/extra/html/templates/fhtml/fhtml.factor b/extra/html/templates/fhtml/fhtml.factor
deleted file mode 100755 (executable)
index e435fdc..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-! Copyright (C) 2005 Alex Chapman
-! Copyright (C) 2006, 2008 Slava Pestov
-! See http://factorcode.org/license.txt for BSD license.
-USING: continuations sequences kernel namespaces debugger
-combinators math quotations generic strings splitting
-accessors assocs fry
-parser lexer io io.files io.streams.string io.encodings.utf8
-html.elements
-html.templates ;
-IN: html.templates.fhtml
-
-! We use a custom lexer so that %> ends a token even if not
-! followed by whitespace
-TUPLE: template-lexer < lexer ;
-
-: <template-lexer> ( lines -- lexer )
-    template-lexer new-lexer ;
-
-M: template-lexer skip-word
-    [
-        {
-            { [ 2dup nth CHAR: " = ] [ drop 1+ ] }
-            { [ 2dup swap tail-slice "%>" head? ] [ drop 2 + ] }
-            [ f skip ]
-        } cond
-    ] change-lexer-column ;
-
-DEFER: <% delimiter
-
-: check-<% ( lexer -- col )
-    "<%" over line-text>> rot column>> start* ;
-
-: found-<% ( accum lexer col -- accum )
-    [
-        over line-text>>
-        [ column>> ] 2dip subseq parsed
-        \ write-html parsed
-    ] 2keep 2 + >>column drop ;
-
-: still-looking ( accum lexer -- accum )
-    [
-        [ line-text>> ] [ column>> ] bi tail
-        parsed \ print-html parsed
-    ] keep next-line ;
-
-: parse-%> ( accum lexer -- accum )
-    dup still-parsing? [
-        dup check-<%
-        [ found-<% ] [ [ still-looking ] keep parse-%> ] if*
-    ] [
-        drop
-    ] if ;
-
-: %> lexer get parse-%> ; parsing
-
-: parse-template-lines ( lines -- quot )
-    <template-lexer> [
-        V{ } clone lexer get parse-%> f (parse-until) >quotation
-    ] with-lexer ;
-
-: parse-template ( string -- quot )
-    [
-        "quiet" on
-        parser-notes off
-        "html.templates.fhtml" use+
-        string-lines parse-template-lines
-    ] with-file-vocabs ;
-
-: eval-template ( string -- )
-    parse-template call ;
-
-TUPLE: fhtml path ;
-
-C: <fhtml> fhtml
-
-M: fhtml call-template* ( filename -- )
-    '[ , path>> utf8 file-contents eval-template ] assert-depth ;
-
-INSTANCE: fhtml template
diff --git a/extra/html/templates/fhtml/test/bug.fhtml b/extra/html/templates/fhtml/test/bug.fhtml
deleted file mode 100644 (file)
index cb66599..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<%
-    USING: prettyprint ;
-    ! Hello world
-    5 pprint
-%>
diff --git a/extra/html/templates/fhtml/test/bug.html b/extra/html/templates/fhtml/test/bug.html
deleted file mode 100644 (file)
index 51d7b8d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-5
-
diff --git a/extra/html/templates/fhtml/test/example.fhtml b/extra/html/templates/fhtml/test/example.fhtml
deleted file mode 100644 (file)
index 211f44a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<% USING: math ; %>
-
-<html>
-    <head><title>Simple Embedded Factor Example</title></head>
-    <body>
-        <% 5 [ %><p>I like repetition</p><% ] times %>
-    </body>
-</html>
diff --git a/extra/html/templates/fhtml/test/example.html b/extra/html/templates/fhtml/test/example.html
deleted file mode 100644 (file)
index 9bf4a08..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-<html>
-    <head><title>Simple Embedded Factor Example</title></head>
-    <body>
-        <p>I like repetition</p><p>I like repetition</p><p>I like repetition</p><p>I like repetition</p><p>I like repetition</p>
-    </body>
-</html>
-
diff --git a/extra/html/templates/fhtml/test/stack.fhtml b/extra/html/templates/fhtml/test/stack.fhtml
deleted file mode 100644 (file)
index 399711a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-The stack: <% USING: prettyprint ;  .s %>
diff --git a/extra/html/templates/fhtml/test/stack.html b/extra/html/templates/fhtml/test/stack.html
deleted file mode 100644 (file)
index ee923a6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-The stack: 
-
diff --git a/extra/html/templates/templates.factor b/extra/html/templates/templates.factor
deleted file mode 100644 (file)
index de774f0..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel fry io io.encodings.utf8 io.files
-debugger prettyprint continuations namespaces boxes sequences
-arrays strings html.elements io.streams.string
-quotations xml.data xml.writer ;
-IN: html.templates
-
-MIXIN: template
-
-GENERIC: call-template* ( template -- )
-
-M: string call-template* write ;
-
-M: callable call-template* call ;
-
-M: xml call-template* write-xml ;
-
-M: object call-template* output-stream get stream-copy ;
-
-ERROR: template-error template error ;
-
-M: template-error error.
-    "Error while processing template " write
-    [ template>> short. ":" print nl ]
-    [ error>> error. ]
-    bi ;
-
-: call-template ( template -- )
-    [ call-template* ] [ \ template-error boa rethrow ] recover ;
-
-SYMBOL: title
-
-: set-title ( string -- )
-    title get >box ;
-
-: write-title ( -- )
-    title get value>> write ;
-
-SYMBOL: style
-
-: add-style ( string -- )
-    "\n" style get push-all
-         style get push-all ;
-
-: write-style ( -- )
-    style get >string write ;
-
-SYMBOL: atom-feeds
-
-: add-atom-feed ( title url -- )
-    2array atom-feeds get push ;
-
-: write-atom-feeds ( -- )
-    atom-feeds get [
-        <link "alternate" =rel "application/atom+xml" =type
-        first2 [ =title ] [ =href ] bi*
-        link/>
-    ] each ;
-
-SYMBOL: nested-template?
-
-SYMBOL: next-template
-
-: call-next-template ( -- )
-    next-template get write-html ;
-
-M: f call-template* drop call-next-template ;
-
-: with-boilerplate ( body template -- )
-    [
-        title [ <box> or ] change
-        style [ SBUF" " clone or ] change
-        atom-feeds [ V{ } like ] change
-
-        [
-            [
-                nested-template? on
-                call-template
-            ] with-string-writer
-            next-template set
-        ]
-        [ call-template ]
-        bi*
-    ] with-scope ; inline
-
-: template-convert ( template output -- )
-    utf8 [ call-template ] with-file-writer ;
diff --git a/extra/http/authors.txt b/extra/http/authors.txt
deleted file mode 100644 (file)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/http/client/authors.txt b/extra/http/client/authors.txt
deleted file mode 100644 (file)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/http/client/client-tests.factor b/extra/http/client/client-tests.factor
deleted file mode 100755 (executable)
index 28a6051..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-USING: http.client http.client.private http tools.test
-tuple-syntax namespaces urls ;
-[ "localhost" f ] [ "localhost" parse-host ] unit-test
-[ "localhost" 8888 ] [ "localhost:8888" parse-host ] unit-test
-
-[ "foo.txt" ] [ "http://www.paulgraham.com/foo.txt" download-name ] unit-test
-[ "foo.txt" ] [ "http://www.arc.com/foo.txt?xxx" download-name ] unit-test
-[ "foo.txt" ] [ "http://www.arc.com/foo.txt/" download-name ] unit-test
-[ "www.arc.com" ] [ "http://www.arc.com////" download-name ] unit-test
-
-[
-    TUPLE{ request
-        url: TUPLE{ url protocol: "http" host: "www.apple.com" port: 80 path: "/index.html" }
-        method: "GET"
-        version: "1.1"
-        cookies: V{ }
-        header: H{ { "connection" "close" } { "user-agent" "Factor http.client" } }
-    }
-] [
-    "http://www.apple.com/index.html"
-    <get-request>
-] unit-test
-
-[
-    TUPLE{ request
-        url: TUPLE{ url protocol: "https" host: "www.amazon.com" port: 443 path: "/index.html" }
-        method: "GET"
-        version: "1.1"
-        cookies: V{ }
-        header: H{ { "connection" "close" } { "user-agent" "Factor http.client" } }
-    }
-] [
-    "https://www.amazon.com/index.html"
-    <get-request>
-] unit-test
diff --git a/extra/http/client/client.factor b/extra/http/client/client.factor
deleted file mode 100755 (executable)
index 10b9206..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-! Copyright (C) 2005, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs kernel math math.parser namespaces
-sequences io io.sockets io.streams.string io.files io.timeouts
-strings splitting calendar continuations accessors vectors
-math.order hashtables byte-arrays prettyprint
-io.encodings
-io.encodings.string
-io.encodings.ascii
-io.encodings.8-bit
-io.encodings.binary
-io.streams.duplex
-fry debugger summary ascii urls present
-http http.parsers ;
-IN: http.client
-
-: write-request-line ( request -- request )
-    dup
-    [ method>> write bl ]
-    [ url>> relative-url present write bl ]
-    [ "HTTP/" write version>> write crlf ]
-    tri ;
-
-: url-host ( url -- string )
-    [ host>> ] [ port>> ] bi dup "http" protocol-port =
-    [ drop ] [ ":" swap number>string 3append ] if ;
-
-: write-request-header ( request -- request )
-    dup header>> >hashtable
-    over url>> host>> [ over url>> url-host "host" pick set-at ] when
-    over post-data>> [
-        [ raw>> length "content-length" pick set-at ]
-        [ content-type>> "content-type" pick set-at ]
-        bi
-    ] when*
-    over cookies>> f like [ unparse-cookie "cookie" pick set-at ] when*
-    write-header ;
-
-GENERIC: >post-data ( object -- post-data )
-
-M: post-data >post-data ;
-
-M: string >post-data "application/octet-stream" <post-data> ;
-
-M: byte-array >post-data "application/octet-stream" <post-data> ;
-
-M: assoc >post-data assoc>query "application/x-www-form-urlencoded" <post-data> ;
-
-M: f >post-data ;
-
-: unparse-post-data ( request -- request )
-    [ >post-data ] change-post-data ;
-
-: write-post-data ( request -- request )
-    dup method>> "POST" = [ dup post-data>> raw>> write ] when ; 
-
-: write-request ( request -- )
-    unparse-post-data
-    write-request-line
-    write-request-header
-    write-post-data
-    flush
-    drop ;
-
-: read-response-line ( response -- response )
-    read-crlf parse-response-line first3
-    [ >>version ] [ >>code ] [ >>message ] tri* ;
-
-: read-response-header ( response -- response )
-    read-header >>header
-    dup "set-cookie" header parse-set-cookie >>cookies
-    dup "content-type" header [
-        parse-content-type
-        [ >>content-type ]
-        [ >>content-charset ] bi*
-    ] when* ;
-
-: read-response ( -- response )
-    <response>
-    read-response-line
-    read-response-header ;
-
-: max-redirects 10 ;
-
-ERROR: too-many-redirects ;
-
-M: too-many-redirects summary
-    drop
-    [ "Redirection limit of " % max-redirects # " exceeded" % ] "" make ;
-
-DEFER: (http-request)
-
-<PRIVATE
-
-SYMBOL: redirects
-
-: redirect-url ( request url -- request )
-    '[ , >url ensure-port derive-url ensure-port ] change-url ;
-
-: do-redirect ( response data -- response data )
-    over code>> 300 399 between? [
-        drop
-        redirects inc
-        redirects get max-redirects < [
-            request get
-            swap "location" header redirect-url
-            "GET" >>method (http-request)
-        ] [
-            too-many-redirects
-        ] if
-    ] when ;
-
-PRIVATE>
-
-: read-chunk-size ( -- n )
-    read-crlf ";" split1 drop [ blank? ] right-trim
-    hex> [ "Bad chunk size" throw ] unless* ;
-
-: read-chunks ( -- )
-    read-chunk-size dup zero?
-    [ drop ] [ read % read-crlf B{ } assert= read-chunks ] if ;
-
-: read-response-body ( response -- response data )
-    dup "transfer-encoding" header "chunked" = [
-        binary decode-input
-        [ read-chunks ] B{ } make
-        over content-charset>> decode
-    ] [
-        dup content-charset>> decode-input
-        input-stream get contents
-    ] if ;
-
-: (http-request) ( request -- response data )
-    dup request [
-        dup url>> url-addr ascii [
-            1 minutes timeouts
-            write-request
-            read-response
-            read-response-body
-        ] with-client
-        do-redirect
-    ] with-variable ;
-
-: success? ( code -- ? ) 200 = ;
-
-ERROR: download-failed response body ;
-
-M: download-failed error.
-    "HTTP download failed:" print nl
-    [ response>> . nl ] [ body>> write ] bi ;
-
-: check-response ( response data -- response data )
-    over code>> success? [ download-failed ] unless ;
-
-: http-request ( request -- response data )
-    (http-request) check-response ;
-
-: <get-request> ( url -- request )
-    <request>
-        "GET" >>method
-        swap >url ensure-port >>url ;
-
-: http-get ( url -- response data )
-    <get-request> http-request ;
-
-: download-name ( url -- name )
-    present file-name "?" split1 drop "/" ?tail drop ;
-
-: download-to ( url file -- )
-    #! Downloads the contents of a URL to a file.
-    swap http-get
-    [ content-charset>> ] [ '[ , write ] ] bi*
-    with-file-writer ;
-
-: download ( url -- )
-    dup download-name download-to ;
-
-: <post-request> ( post-data url -- request )
-    <request>
-        "POST" >>method
-        swap >url ensure-port >>url
-        swap >>post-data ;
-
-: http-post ( post-data url -- response data )
-    <post-request> http-request ;
diff --git a/extra/http/client/summary.txt b/extra/http/client/summary.txt
deleted file mode 100644 (file)
index 5609c91..0000000
+++ /dev/null
@@ -1 +0,0 @@
-HTTP client
diff --git a/extra/http/client/tags.txt b/extra/http/client/tags.txt
deleted file mode 100644 (file)
index 93e65ae..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-web
-network
diff --git a/extra/http/http-tests.factor b/extra/http/http-tests.factor
deleted file mode 100755 (executable)
index bbf8161..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-USING: http http.server http.client tools.test multiline
-tuple-syntax io.streams.string io.encodings.utf8
-io.encodings.8-bit io.encodings.binary io.encodings.string
-kernel arrays splitting sequences assocs io.sockets db db.sqlite
-continuations urls hashtables accessors ;
-IN: http.tests
-
-[ "text/plain" latin1 ] [ "text/plain" parse-content-type ] unit-test
-
-[ "text/html" utf8 ] [ "text/html;  charset=UTF-8" parse-content-type ] unit-test
-
-[ "application/octet-stream" binary ] [ "application/octet-stream" parse-content-type ] unit-test
-
-: lf>crlf "\n" split "\r\n" join ;
-
-STRING: read-request-test-1
-POST /bar HTTP/1.1
-Some-Header: 1
-Some-Header: 2
-Content-Length: 4
-Content-type: application/octet-stream
-
-blah
-;
-
-[
-    TUPLE{ request
-        url: TUPLE{ url path: "/bar" }
-        method: "POST"
-        version: "1.1"
-        header: H{ { "some-header" "1; 2" } { "content-length" "4" } { "content-type" "application/octet-stream" } }
-        post-data: TUPLE{ post-data content: "blah" raw: "blah" content-type: "application/octet-stream" }
-        cookies: V{ }
-    }
-] [
-    read-request-test-1 lf>crlf [
-        read-request
-    ] with-string-reader
-] unit-test
-
-STRING: read-request-test-1'
-POST /bar HTTP/1.1
-content-length: 4
-content-type: application/octet-stream
-some-header: 1; 2
-
-blah
-;
-
-read-request-test-1' 1array [
-    read-request-test-1 lf>crlf
-    [ read-request ] with-string-reader
-    [ write-request ] with-string-writer
-    ! normalize crlf
-    string-lines "\n" join
-] unit-test
-
-STRING: read-request-test-2
-HEAD  /bar   HTTP/1.1
-Host: www.sex.com
-
-;
-
-[
-    TUPLE{ request
-        url: TUPLE{ url host: "www.sex.com" path: "/bar" }
-        method: "HEAD"
-        version: "1.1"
-        header: H{ { "host" "www.sex.com" } }
-        cookies: V{ }
-    }
-] [
-    read-request-test-2 lf>crlf [
-        read-request
-    ] with-string-reader
-] unit-test
-
-STRING: read-request-test-3
-GET nested HTTP/1.0
-
-;
-
-[ read-request-test-3 lf>crlf [ read-request ] with-string-reader ]
-[ "Bad request: URL" = ]
-must-fail-with
-
-STRING: read-request-test-4
-GET /blah HTTP/1.0
-Host: "www.amazon.com"
-;
-
-[ "www.amazon.com" ]
-[
-    read-request-test-4 lf>crlf [ read-request ] with-string-reader
-    "host" header
-] unit-test
-
-STRING: read-response-test-1
-HTTP/1.1 404 not found
-Content-Type: text/html; charset=UTF-8
-
-blah
-;
-
-[
-    TUPLE{ response
-        version: "1.1"
-        code: 404
-        message: "not found"
-        header: H{ { "content-type" "text/html; charset=UTF-8" } }
-        cookies: { }
-        content-type: "text/html"
-        content-charset: utf8
-    }
-] [
-    read-response-test-1 lf>crlf
-    [ read-response ] with-string-reader
-] unit-test
-
-
-STRING: read-response-test-1'
-HTTP/1.1 404 not found
-content-type: text/html; charset=UTF-8
-
-
-;
-
-read-response-test-1' 1array [
-    read-response-test-1 lf>crlf
-    [ read-response ] with-string-reader
-    [ write-response ] with-string-writer
-    ! normalize crlf
-    string-lines "\n" join
-] unit-test
-
-[ t ] [
-    "rmid=732423sdfs73242; path=/; domain=.example.net; expires=Fri, 31-Dec-2010 23:59:59 GMT"
-    dup parse-set-cookie first unparse-set-cookie =
-] unit-test
-
-[ t ] [
-    "a="
-    dup parse-set-cookie first unparse-set-cookie =
-] unit-test
-
-STRING: read-response-test-2
-HTTP/1.1 200 Content follows
-Set-Cookie: oo="bar; a=b"; httponly=yes; sid=123456
-
-
-;
-
-[ 2 ] [
-    read-response-test-2 lf>crlf
-    [ read-response ] with-string-reader
-    cookies>> length
-] unit-test
-
-STRING: read-response-test-3
-HTTP/1.1 200 Content follows
-Set-Cookie: oo="bar; a=b"; comment="your mom"; httponly=yes
-
-
-;
-
-[ 1 ] [
-    read-response-test-3 lf>crlf
-    [ read-response ] with-string-reader
-    cookies>> length
-] unit-test
-
-! Live-fire exercise
-USING: http.server http.server.static furnace.sessions furnace.alloy
-furnace.actions furnace.auth furnace.auth.login furnace.db http.client
-io.servers.connection io.files io io.encodings.ascii
-accessors namespaces threads
-http.server.responses http.server.redirection furnace.redirection
-http.server.dispatchers db.tuples ;
-
-: add-quit-action
-    <action>
-        [ stop-server "Goodbye" "text/html" <content> ] >>display
-    "quit" add-responder ;
-
-: test-db "test.db" temp-file sqlite-db ;
-
-[ test-db drop delete-file ] ignore-errors
-
-test-db [
-    init-furnace-tables
-] with-db
-
-: test-httpd ( -- )
-    #! Return as soon as server is running.
-    <http-server>
-        1237 >>insecure
-        f >>secure
-    start-server* ;
-
-[ ] [
-    [
-        <dispatcher>
-            add-quit-action
-            <dispatcher>
-                "resource:extra/http/test" <static> >>default
-            "nested" add-responder
-            <action>
-                [ URL" redirect-loop" <temporary-redirect> ] >>display
-            "redirect-loop" add-responder
-        main-responder set
-
-        test-httpd
-    ] with-scope
-] unit-test
-
-[ t ] [
-    "resource:extra/http/test/foo.html" ascii file-contents
-    "http://localhost:1237/nested/foo.html" http-get nip =
-] unit-test
-
-[ "http://localhost:1237/redirect-loop" http-get nip ]
-[ too-many-redirects? ] must-fail-with
-
-[ "Goodbye" ] [
-    "http://localhost:1237/quit" http-get nip
-] unit-test
-
-! Dispatcher bugs
-[ ] [
-    [
-        <dispatcher>
-            <action> <protected>
-            "Test" <login-realm>
-            <sessions>
-            "" add-responder
-            add-quit-action
-            <dispatcher>
-                <action> "a" add-main-responder
-            "d" add-responder
-        test-db <db-persistence>
-        main-responder set
-
-        test-httpd
-    ] with-scope
-] unit-test
-
-: 404? [ download-failed? ] [ response>> code>> 404 = ] bi and ;
-
-! This should give a 404 not an infinite redirect loop
-[ "http://localhost:1237/d/blah" http-get nip ] [ 404? ] must-fail-with
-
-! This should give a 404 not an infinite redirect loop
-[ "http://localhost:1237/blah/" http-get nip ] [ 404? ] must-fail-with
-
-[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
-
-[ ] [
-    [
-        <dispatcher>
-            <action> [ [ "Hi" write ] "text/plain" <content> ] >>display
-            "Test" <login-realm>
-            <sessions>
-            "" add-responder
-            add-quit-action
-        test-db <db-persistence>
-        main-responder set
-
-        test-httpd
-    ] with-scope
-] unit-test
-
-[ "Hi" ] [ "http://localhost:1237/" http-get nip ] unit-test
-
-[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
-
-USING: html.components html.elements html.forms
-xml xml.utilities validators
-furnace furnace.conversations ;
-
-SYMBOL: a
-
-[ ] [
-    [
-        <dispatcher>
-            <action>
-                [ a get-global "a" set-value ] >>init
-                [ [ <html> "a" <field> render </html> ] "text/html" <content> ] >>display
-                [ { { "a" [ v-integer ] } } validate-params ] >>validate
-                [ "a" value a set-global URL" " <redirect> ] >>submit
-            <conversations>
-            <sessions>
-            >>default
-            add-quit-action
-        test-db <db-persistence>
-        main-responder set
-
-        test-httpd
-    ] with-scope
-] unit-test
-
-3 a set-global
-
-: test-a string>xml "input" tag-named "value" swap at ;
-
-[ "3" ] [
-    "http://localhost:1237/" http-get
-    swap dup cookies>> "cookies" set session-id-key get-cookie
-    value>> "session-id" set test-a
-] unit-test
-
-[ "4" ] [
-    H{ { "a" "4" } { "__u" "http://localhost:1237/" } } "session-id" get session-id-key associate assoc-union
-    "http://localhost:1237/" <post-request> "cookies" get >>cookies http-request nip test-a
-] unit-test
-
-[ 4 ] [ a get-global ] unit-test
-
-! Test flash scope
-[ "xyz" ] [
-    H{ { "a" "xyz" } { "__u" "http://localhost:1237/" } } "session-id" get session-id-key associate assoc-union
-    "http://localhost:1237/" <post-request> "cookies" get >>cookies http-request nip test-a
-] unit-test
-
-[ 4 ] [ a get-global ] unit-test
-
-[ "Goodbye" ] [ "http://localhost:1237/quit" http-get nip ] unit-test
-
-! Test cloning
-[ f ] [ <404> dup clone "b" "a" set-header drop "a" header ] unit-test
-[ f ] [ <404> dup clone "b" "a" <cookie> put-cookie drop "a" get-cookie ] unit-test
diff --git a/extra/http/http.factor b/extra/http/http.factor
deleted file mode 100755 (executable)
index 2a5a190..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-! Copyright (C) 2003, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel combinators math namespaces
-assocs assocs.lib sequences splitting sorting sets debugger
-strings vectors hashtables quotations arrays byte-arrays
-math.parser calendar calendar.format present
-
-io io.encodings io.encodings.iana io.encodings.binary
-io.encodings.8-bit
-
-unicode.case unicode.categories qualified
-
-urls
-
-http.parsers ;
-
-EXCLUDE: fry => , ;
-
-IN: http
-
-: crlf ( -- ) "\r\n" write ;
-
-: read-crlf ( -- bytes )
-    "\r" read-until
-    [ CHAR: \r assert= read1 CHAR: \n assert= ] when* ;
-
-: (read-header) ( -- alist )
-    [ read-crlf dup f like ] [ parse-header-line ] [ drop ] produce ;
-
-: process-header ( alist -- assoc )
-    f swap [ [ swap or dup ] dip swap ] assoc-map nip
-    [ ?push ] histogram [ "; " join ] assoc-map
-    >hashtable ;
-
-: read-header ( -- assoc )
-    (read-header) process-header ;
-
-: header-value>string ( value -- string )
-    {
-        { [ dup timestamp? ] [ timestamp>http-string ] }
-        { [ dup array? ] [ [ header-value>string ] map "; " join ] }
-        [ present ]
-    } cond ;
-
-: check-header-string ( str -- str )
-    #! http://en.wikipedia.org/wiki/HTTP_Header_Injection
-    dup "\r\n\"" intersect empty?
-    [ "Header injection attack" throw ] unless ;
-
-: write-header ( assoc -- )
-    >alist sort-keys [
-        [ check-header-string write ": " write ]
-        [ header-value>string check-header-string write crlf ] bi*
-    ] assoc-each crlf ;
-
-TUPLE: cookie name value version comment path domain expires max-age http-only secure ;
-
-: <cookie> ( value name -- cookie )
-    cookie new
-        swap >>name
-        swap >>value ;
-
-: parse-set-cookie ( string -- seq )
-    [
-        f swap
-        (parse-set-cookie)
-        [
-            swap {
-                { "version" [ >>version ] }
-                { "comment" [ >>comment ] }
-                { "expires" [ cookie-string>timestamp >>expires ] }
-                { "max-age" [ string>number seconds >>max-age ] }
-                { "domain" [ >>domain ] }
-                { "path" [ >>path ] }
-                { "httponly" [ drop t >>http-only ] }
-                { "secure" [ drop t >>secure ] }
-                [ <cookie> dup , nip ]
-            } case
-        ] assoc-each
-        drop
-    ] { } make ;
-
-: parse-cookie ( string -- seq )
-    [
-        f swap
-        (parse-cookie)
-        [
-            swap {
-                { "$version" [ >>version ] }
-                { "$domain" [ >>domain ] }
-                { "$path" [ >>path ] }
-                [ <cookie> dup , nip ]
-            } case
-        ] assoc-each
-        drop
-    ] { } make ;
-
-: check-cookie-string ( string -- string' )
-    dup "=;'\"\r\n" intersect empty?
-    [ "Bad cookie name or value" throw ] unless ;
-
-: unparse-cookie-value ( key value -- )
-    {
-        { f [ drop ] }
-        { t [ check-cookie-string , ] }
-        [
-            {
-                { [ dup timestamp? ] [ timestamp>cookie-string ] }
-                { [ dup duration? ] [ duration>seconds number>string ] }
-                { [ dup real? ] [ number>string ] }
-                [ ]
-            } cond
-            check-cookie-string "=" swap check-cookie-string 3append ,
-        ]
-    } case ;
-
-: check-cookie-value ( string -- string )
-    [ "Cookie value must not be f" throw ] unless* ;
-
-: (unparse-cookie) ( cookie -- strings )
-    [
-        dup name>> check-cookie-string >lower
-        over value>> check-cookie-value unparse-cookie-value
-        "$path" over path>> unparse-cookie-value
-        "$domain" over domain>> unparse-cookie-value
-        drop
-    ] { } make ;
-
-: unparse-cookie ( cookies -- string )
-    [ (unparse-cookie) ] map concat "; " join ;
-
-: unparse-set-cookie ( cookie -- string )
-    [
-        dup name>> check-cookie-string >lower
-        over value>> check-cookie-value unparse-cookie-value
-        "path" over path>> unparse-cookie-value
-        "domain" over domain>> unparse-cookie-value
-        "expires" over expires>> unparse-cookie-value
-        "max-age" over max-age>> unparse-cookie-value
-        "httponly" over http-only>> unparse-cookie-value
-        "secure" over secure>> unparse-cookie-value
-        drop
-    ] { } make "; " join ;
-
-TUPLE: request
-method
-url
-version
-header
-post-data
-cookies ;
-
-: set-header ( request/response value key -- request/response )
-    pick header>> set-at ;
-
-: <request> ( -- request )
-    request new
-        "1.1" >>version
-        <url>
-            H{ } clone >>query
-        >>url
-        H{ } clone >>header
-        V{ } clone >>cookies
-        "close" "connection" set-header
-        "Factor http.client" "user-agent" set-header ;
-
-: header ( request/response key -- value )
-    swap header>> at ;
-
-TUPLE: response
-version
-code
-message
-header
-cookies
-content-type
-content-charset
-body ;
-
-: <response> ( -- response )
-    response new
-        "1.1" >>version
-        H{ } clone >>header
-        "close" "connection" set-header
-        now timestamp>http-string "date" set-header
-        "Factor http.server" "server" set-header
-        latin1 >>content-charset
-        V{ } clone >>cookies ;
-
-M: response clone
-    call-next-method
-        [ clone ] change-header
-        [ clone ] change-cookies ;
-
-: get-cookie ( request/response name -- cookie/f )
-    [ cookies>> ] dip '[ , _ name>> = ] find nip ;
-
-: delete-cookie ( request/response name -- )
-    over cookies>> [ get-cookie ] dip delete ;
-
-: put-cookie ( request/response cookie -- request/response )
-    [ name>> dupd get-cookie [ dupd delete-cookie ] when* ] keep
-    over cookies>> push ;
-
-TUPLE: raw-response
-version
-code
-message
-body ;
-
-: <raw-response> ( -- response )
-    raw-response new
-        "1.1" >>version ;
-
-TUPLE: post-data raw content content-type ;
-
-: <post-data> ( raw content-type -- post-data )
-    post-data new
-        swap >>content-type
-        swap >>raw ;
-
-: parse-content-type-attributes ( string -- attributes )
-    " " split harvest [ "=" split1 [ >lower ] dip ] { } map>assoc ;
-
-: parse-content-type ( content-type -- type encoding )
-    ";" split1 parse-content-type-attributes "charset" swap at
-    name>encoding over "text/" head? latin1 binary ? or ;
diff --git a/extra/http/parsers/parsers.factor b/extra/http/parsers/parsers.factor
deleted file mode 100644 (file)
index 746741c..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-USING: combinators.short-circuit math math.order math.parser kernel
-sequences sequences.deep peg peg.parsers assocs arrays
-hashtables strings unicode.case namespaces ascii ;
-IN: http.parsers
-
-: except ( quot -- parser )
-    [ not ] compose satisfy ; inline
-
-: except-these ( quots -- parser )
-    [ 1|| ] curry except ; inline
-
-: ctl? ( ch -- ? )
-    { [ 0 31 between? ] [ 127 = ] } 1|| ;
-
-: tspecial? ( ch -- ? )
-    "()<>@,;:\\\"/[]?={} \t" member? ;
-
-: 'token' ( -- parser )
-    { [ ctl? ] [ tspecial? ] } except-these repeat1 ;
-
-: case-insensitive ( parser -- parser' )
-    [ flatten >string >lower ] action ;
-
-: case-sensitive ( parser -- parser' )
-    [ flatten >string ] action ;
-
-: 'space' ( -- parser )
-    [ " \t" member? ] satisfy repeat0 hide ;
-
-: one-of ( strings -- parser )
-    [ token ] map choice ;
-
-: 'http-method' ( -- parser )
-    { "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" "CONNECT" } one-of ;
-
-: 'url' ( -- parser )
-    [ " \t\r\n" member? ] except repeat1 case-sensitive ;
-
-: 'http-version' ( -- parser )
-    [
-        "HTTP" token hide ,
-        'space' ,
-        "/" token hide ,
-        'space' ,
-        "1" token ,
-        "." token ,
-        { "0" "1" } one-of ,
-    ] seq* [ concat >string ] action ;
-
-PEG: parse-request-line ( string -- triple )
-    #! Triple is { method url version }
-    [ 
-        'space' ,
-        'http-method' ,
-        'space' ,
-        'url' ,
-        'space' ,
-        'http-version' ,
-        'space' ,
-    ] seq* just ;
-
-: 'text' ( -- parser )
-    [ ctl? ] except ;
-
-: 'response-code' ( -- parser )
-    [ digit? ] satisfy 3 exactly-n [ string>number ] action ;
-
-: 'response-message' ( -- parser )
-    'text' repeat0 case-sensitive ;
-
-PEG: parse-response-line ( string -- triple )
-    #! Triple is { version code message }
-    [
-        'space' ,
-        'http-version' ,
-        'space' ,
-        'response-code' ,
-        'space' ,
-        'response-message' ,
-    ] seq* just ;
-
-: 'crlf' ( -- parser )
-    "\r\n" token ;
-
-: 'lws' ( -- parser )
-    [ " \t" member? ] satisfy repeat1 ;
-
-: 'qdtext' ( -- parser )
-    { [ CHAR: " = ] [ ctl? ] } except-these ;
-
-: 'quoted-char' ( -- parser )
-    "\\" token hide any-char 2seq ;
-
-: 'quoted-string' ( -- parser )
-    'quoted-char' 'qdtext' 2choice repeat0 "\"" "\"" surrounded-by ;
-
-: 'ctext' ( -- parser )
-    { [ ctl? ] [ "()" member? ] } except-these ;
-
-: 'comment' ( -- parser )
-    'ctext' 'comment' 2choice repeat0 "(" ")" surrounded-by ;
-
-: 'field-name' ( -- parser )
-    'token' case-insensitive ;
-
-: 'field-content' ( -- parser )
-    'quoted-string' case-sensitive
-    'text' repeat0 case-sensitive
-    2choice ;
-
-PEG: parse-header-line ( string -- pair )
-    #! Pair is either { name value } or { f value }. If f, its a
-    #! continuation of the previous header line.
-    [
-        'field-name' ,
-        'space' ,
-        ":" token hide ,
-        'space' ,
-        'field-content' ,
-    ] seq*
-    [
-        'lws' [ drop f ] action ,
-        'field-content' ,
-    ] seq*
-    2choice ;
-
-: 'word' ( -- parser )
-    'token' 'quoted-string' 2choice ;
-
-: 'value' ( -- parser )
-    'quoted-string'
-    [ ";" member? ] except repeat0
-    2choice case-sensitive ;
-
-: 'attr' ( -- parser )
-    'token' case-insensitive ;
-
-: 'av-pair' ( -- parser )
-    [
-        'space' ,
-        'attr' ,
-        'space' ,
-            [ "=" token , 'space' , 'value' , ] seq* [ peek ] action
-            epsilon [ drop f ] action
-        2choice ,
-        'space' ,
-    ] seq* ;
-
-: 'av-pairs' ( -- parser )
-    'av-pair' ";" token list-of optional ;
-
-PEG: (parse-set-cookie) ( string -- alist ) 'av-pairs' just ;
-
-: 'cookie-value' ( -- parser )
-    [
-        'space' ,
-        'attr' ,
-        'space' ,
-        "=" token hide ,
-        'space' ,
-        'value' ,
-        'space' ,
-    ] seq* ;
-
-PEG: (parse-cookie) ( string -- alist )
-    'cookie-value' [ ";," member? ] satisfy list-of optional just ;
diff --git a/extra/http/server/authors.txt b/extra/http/server/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/http/server/cgi/cgi.factor b/extra/http/server/cgi/cgi.factor
deleted file mode 100755 (executable)
index 354ebd8..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2007, 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: namespaces kernel assocs io.files io.streams.duplex\r
-combinators arrays io.launcher io http.server.static http.server\r
-http accessors sequences strings math.parser fry urls ;\r
-IN: http.server.cgi\r
-\r
-: cgi-variables ( script-path -- assoc )\r
-    #! This needs some work.\r
-    [\r
-        "CGI/1.0" "GATEWAY_INTERFACE" set\r
-        "HTTP/" request get version>> append "SERVER_PROTOCOL" set\r
-        "Factor" "SERVER_SOFTWARE" set\r
-\r
-        [ "PATH_TRANSLATED" set ] [ "SCRIPT_FILENAME" set ] bi\r
-\r
-        url get path>> "SCRIPT_NAME" set\r
-\r
-        url get host>> "SERVER_NAME" set\r
-        url get port>> number>string "SERVER_PORT" set\r
-        "" "PATH_INFO" set\r
-        "" "REMOTE_HOST" set\r
-        "" "REMOTE_ADDR" set\r
-        "" "AUTH_TYPE" set\r
-        "" "REMOTE_USER" set\r
-        "" "REMOTE_IDENT" set\r
-\r
-        request get method>> "REQUEST_METHOD" set\r
-        url get query>> assoc>query "QUERY_STRING" set\r
-        request get "cookie" header "HTTP_COOKIE" set \r
-\r
-        request get "user-agent" header "HTTP_USER_AGENT" set\r
-        request get "accept" header "HTTP_ACCEPT" set\r
-\r
-        post-request? [\r
-            request get post-data>> raw>>\r
-            [ "CONTENT_TYPE" set ]\r
-            [ length number>string "CONTENT_LENGTH" set ]\r
-            bi\r
-        ] when\r
-    ] H{ } make-assoc ;\r
-\r
-: <cgi-process> ( name -- desc )\r
-    <process>\r
-        over 1array >>command\r
-        swap cgi-variables >>environment ;\r
-\r
-: serve-cgi ( name -- response )\r
-    <raw-response>\r
-    200 >>code\r
-    "CGI output follows" >>message\r
-    swap '[\r
-        , output-stream get swap <cgi-process> <process-stream> [\r
-            post-request? [ request get post-data>> raw>> write flush ] when\r
-            input-stream get swap (stream-copy)\r
-        ] with-stream\r
-    ] >>body ;\r
-\r
-: enable-cgi ( responder -- responder )\r
-    [ serve-cgi ] "application/x-cgi-script"\r
-    pick special>> set-at ;\r
diff --git a/extra/http/server/dispatchers/dispatchers-tests.factor b/extra/http/server/dispatchers/dispatchers-tests.factor
deleted file mode 100644 (file)
index 5b5b30a..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-USING: http.server http.server.dispatchers http.server.responses
-tools.test kernel namespaces accessors io http math sequences
-assocs arrays classes words urls ;
-IN: http.server.dispatchers.tests
-
-\ find-responder must-infer
-\ http-error. must-infer
-
-TUPLE: mock-responder path ;
-
-C: <mock-responder> mock-responder
-
-M: mock-responder call-responder*
-    nip
-    path>> on
-    [ ] "text/plain" <content> ;
-
-: check-dispatch ( tag path -- ? )
-    V{ } clone responder-nesting set
-    over off
-    split-path
-    main-responder get call-responder
-    write-response get ;
-
-[
-    <dispatcher>
-        "foo" <mock-responder> "foo" add-responder
-        "bar" <mock-responder> "bar" add-responder
-        <dispatcher>
-            "123" <mock-responder> "123" add-responder
-            "default" <mock-responder> >>default
-        "baz" add-responder
-    main-responder set
-
-    [ "foo" ] [
-        { "foo" } main-responder get find-responder path>> nip
-    ] unit-test
-
-    [ "bar" ] [
-        { "bar" } main-responder get find-responder path>> nip
-    ] unit-test
-
-    [ t ] [ "foo" "foo" check-dispatch ] unit-test
-    [ f ] [ "foo" "bar" check-dispatch ] unit-test
-    [ t ] [ "bar" "bar" check-dispatch ] unit-test
-    [ t ] [ "default" "baz/xxx" check-dispatch ] unit-test
-    [ t ] [ "default" "baz/xxx//" check-dispatch ] unit-test
-    [ t ] [ "default" "/baz/xxx//" check-dispatch ] unit-test
-    [ t ] [ "123" "baz/123" check-dispatch ] unit-test
-    [ t ] [ "123" "baz///123" check-dispatch ] unit-test
-
-] with-scope
-
-[
-    <dispatcher>
-        "default" <mock-responder> >>default
-    main-responder set
-
-    [ "/default" ] [ "/default" main-responder get find-responder drop ] unit-test
-] with-scope
-
-! Make sure path for default responder isn't chopped
-TUPLE: path-check-responder ;
-
-C: <path-check-responder> path-check-responder
-
-M: path-check-responder call-responder*
-    drop
-    >array "text/plain" <content> ;
-
-[ { "c" } ] [
-    V{ } clone responder-nesting set
-
-    { "b" "c" }
-    <dispatcher>
-        <dispatcher>
-            <path-check-responder> >>default
-        "b" add-responder
-    call-responder
-    body>>
-] unit-test
-
-! Test that "" dispatcher works with default>>
-[ ] [
-    <dispatcher>
-        "" <mock-responder> "" add-responder
-        "bar" <mock-responder> "bar" add-responder
-        "baz" <mock-responder> >>default
-    main-responder set
-
-    [ t ] [ "" "" check-dispatch ] unit-test
-    [ f ] [ "" "quux" check-dispatch ] unit-test
-    [ t ] [ "baz" "quux" check-dispatch ] unit-test
-    [ f ] [ "foo" "bar" check-dispatch ] unit-test
-    [ t ] [ "bar" "bar" check-dispatch ] unit-test
-    [ t ] [ "baz" "xxx" check-dispatch ] unit-test
-] unit-test
diff --git a/extra/http/server/dispatchers/dispatchers.factor b/extra/http/server/dispatchers/dispatchers.factor
deleted file mode 100644 (file)
index 405d96d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel namespaces sequences assocs accessors splitting
-unicode.case urls http http.server http.server.responses ;
-IN: http.server.dispatchers
-
-TUPLE: dispatcher default responders ;
-
-: new-dispatcher ( class -- dispatcher )
-    new
-        <404> <trivial-responder> >>default
-        H{ } clone >>responders ; inline
-
-: <dispatcher> ( -- dispatcher )
-    dispatcher new-dispatcher ;
-
-: find-responder ( path dispatcher -- path responder )
-    over empty? [
-        "" over responders>> at*
-        [ nip ] [ drop default>> ] if
-    ] [
-        over first over responders>> at*
-        [ [ drop rest-slice ] dip ] [ drop default>> ] if
-    ] if ;
-
-M: dispatcher call-responder* ( path dispatcher -- response )
-    find-responder call-responder ;
-
-TUPLE: vhost-dispatcher default responders ;
-
-: <vhost-dispatcher> ( -- dispatcher )
-    vhost-dispatcher new-dispatcher ;
-
-: canonical-host ( host -- host' )
-    >lower "www." ?head drop "." ?tail drop ;
-
-: find-vhost ( dispatcher -- responder )
-    url get host>> canonical-host over responders>> at*
-    [ nip ] [ drop default>> ] if ;
-
-M: vhost-dispatcher call-responder* ( path dispatcher -- response )
-    find-vhost call-responder ;
-
-: add-responder ( dispatcher responder path -- dispatcher )
-    pick responders>> set-at ;
-
-: add-main-responder ( dispatcher responder path -- dispatcher )
-    [ add-responder drop ]
-    [ drop "" add-responder drop ]
-    [ 2drop ] 3tri ;
diff --git a/extra/http/server/filters/filters.factor b/extra/http/server/filters/filters.factor
deleted file mode 100644 (file)
index 4f70113..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: http.server accessors ;
-IN: http.server.filters
-
-TUPLE: filter-responder responder ;
-
-M: filter-responder call-responder*
-    responder>> call-responder ;
diff --git a/extra/http/server/redirection/redirection-tests.factor b/extra/http/server/redirection/redirection-tests.factor
deleted file mode 100644 (file)
index c7a1370..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-IN: http.server.redirection.tests
-USING: http http.server.redirection urls accessors
-namespaces tools.test present kernel ;
-
-\ relative-to-request must-infer
-
-[
-    <request>
-        <url>
-            "http" >>protocol
-            "www.apple.com" >>host
-            "/xxx/bar" >>path
-            { { "a" "b" } } >>query
-        dup url set
-        >>url
-    request set
-
-    [ "http://www.apple.com:80/xxx/bar" ] [ 
-        <url> relative-to-request present 
-    ] unit-test
-
-    [ "http://www.apple.com:80/xxx/baz" ] [
-        <url> "baz" >>path relative-to-request present
-    ] unit-test
-    
-    [ "http://www.apple.com:80/xxx/baz?c=d" ] [
-        <url> "baz" >>path { { "c" "d" } } >>query relative-to-request present
-    ] unit-test
-    
-    [ "http://www.apple.com:80/xxx/bar?c=d" ] [
-        <url> { { "c" "d" } } >>query relative-to-request present
-    ] unit-test
-    
-    [ "http://www.apple.com:80/flip" ] [
-        <url> "/flip" >>path relative-to-request present
-    ] unit-test
-    
-    [ "http://www.apple.com:80/flip?c=d" ] [
-        <url> "/flip" >>path { { "c" "d" } } >>query relative-to-request present
-    ] unit-test
-    
-    [ "http://www.jedit.org:80/" ] [
-        "http://www.jedit.org" >url relative-to-request present
-    ] unit-test
-    
-    [ "http://www.jedit.org:80/?a=b" ] [
-        "http://www.jedit.org" >url { { "a" "b" } } >>query relative-to-request present
-    ] unit-test
-] with-scope
diff --git a/extra/http/server/redirection/redirection.factor b/extra/http/server/redirection/redirection.factor
deleted file mode 100644 (file)
index 314c09e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors combinators namespaces strings
-logging urls http http.server http.server.responses ;
-IN: http.server.redirection
-
-GENERIC: relative-to-request ( url -- url' )
-
-M: string relative-to-request ;
-
-M: url relative-to-request
-    url get
-        clone
-        f >>query
-    swap derive-url ensure-port ;
-
-: <custom-redirect> ( url code message -- response )
-    <trivial-response>
-        swap dup url? [ relative-to-request ] when
-        "location" set-header ;
-
-\ <custom-redirect> DEBUG add-input-logging
-
-: <permanent-redirect> ( url -- response )
-    301 "Moved Permanently" <custom-redirect> ;
-
-: <temporary-redirect> ( url -- response )
-    307 "Temporary Redirect" <custom-redirect> ;
diff --git a/extra/http/server/responses/responses.factor b/extra/http/server/responses/responses.factor
deleted file mode 100644 (file)
index 4056f0c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-! Copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: html.elements math.parser http accessors kernel
-io io.streams.string io.encodings.utf8 ;
-IN: http.server.responses
-
-: <content> ( body content-type -- response )
-    <response>
-        200 >>code
-        "Document follows" >>message
-        utf8 >>content-charset
-        swap >>content-type
-        swap >>body ;
-    
-: trivial-response-body ( code message -- )
-    <html>
-        <body>
-            <h1> [ number>string write bl ] [ write ] bi* </h1>
-        </body>
-    </html> ;
-
-: <trivial-response> ( code message -- response )
-    2dup [ trivial-response-body ] with-string-writer
-    "text/html" <content>
-        swap >>message
-        swap >>code ;
-
-: <304> ( -- response )
-    304 "Not modified" <trivial-response> ;
-
-: <403> ( -- response )
-    403 "Forbidden" <trivial-response> ;
-
-: <400> ( -- response )
-    400 "Bad request" <trivial-response> ;
-
-: <404> ( -- response )
-    404 "Not found" <trivial-response> ;
diff --git a/extra/http/server/server-tests.factor b/extra/http/server/server-tests.factor
deleted file mode 100644 (file)
index c29912b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-USING: http http.server math sequences continuations tools.test ;
-IN: http.server.tests
-
-[ t ] [ [ \ + first ] [ <500> ] recover response? ] unit-test
diff --git a/extra/http/server/server.factor b/extra/http/server/server.factor
deleted file mode 100755 (executable)
index 436d626..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-! Copyright (C) 2003, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors sequences arrays namespaces splitting
-vocabs.loader destructors assocs debugger continuations
-combinators tools.vocabs tools.time math math.parser present
-io vectors
-io.sockets
-io.sockets.secure
-io.encodings
-io.encodings.iana
-io.encodings.utf8
-io.encodings.ascii
-io.encodings.binary
-io.streams.limited
-io.servers.connection
-io.timeouts
-fry logging logging.insomniac calendar urls
-http
-http.parsers
-http.server.responses
-html.templates
-html.elements
-html.streams ;
-IN: http.server
-
-: check-absolute ( url -- url )
-    dup path>> "/" head? [ "Bad request: URL" throw ] unless ; inline
-
-: read-request-line ( request -- request )
-    read-crlf parse-request-line first3
-    [ >>method ] [ >url check-absolute >>url ] [ >>version ] tri* ;
-
-: read-request-header ( request -- request )
-    read-header >>header ;
-
-: parse-post-data ( post-data -- post-data )
-    [ ] [ raw>> ] [ content-type>> ] tri
-    "application/x-www-form-urlencoded" = [ query>assoc ] when
-    >>content ;
-
-: read-post-data ( request -- request )
-    dup method>> "POST" = [
-        [ ]
-        [ "content-length" header string>number read ]
-        [ "content-type" header ] tri
-        <post-data> parse-post-data >>post-data
-    ] when ;
-
-: extract-host ( request -- request )
-    [ ] [ url>> ] [ "host" header parse-host ] tri
-    [ >>host ] [ >>port ] bi*
-    drop ;
-
-: extract-cookies ( request -- request )
-    dup "cookie" header [ parse-cookie >>cookies ] when* ;
-
-: read-request ( -- request )
-    <request>
-    read-request-line
-    read-request-header
-    read-post-data
-    extract-host
-    extract-cookies ;
-
-GENERIC: write-response ( response -- )
-
-GENERIC: write-full-response ( request response -- )
-
-: write-response-line ( response -- response )
-    dup
-    [ "HTTP/" write version>> write bl ]
-    [ code>> present write bl ]
-    [ message>> write crlf ]
-    tri ;
-
-: unparse-content-type ( request -- content-type )
-    [ content-type>> "application/octet-stream" or ]
-    [ content-charset>> encoding>name ]
-    bi
-    [ "; charset=" swap 3append ] when* ;
-
-: ensure-domain ( cookie -- cookie )
-    [
-        url get host>> dup "localhost" =
-        [ drop ] [ or ] if
-    ] change-domain ;
-
-: write-response-header ( response -- response )
-    #! We send one set-cookie header per cookie, because that's
-    #! what Firefox expects.
-    dup header>> >alist >vector
-    over unparse-content-type "content-type" pick set-at
-    over cookies>> [
-        ensure-domain unparse-set-cookie
-        "set-cookie" swap 2array over push
-    ] each
-    write-header ;
-
-: write-response-body ( response -- response )
-    dup body>> call-template ;
-
-M: response write-response ( respose -- )
-    write-response-line
-    write-response-header
-    flush
-    drop ;
-
-M: response write-full-response ( request response -- )
-    dup write-response
-    swap method>> "HEAD" = [
-        [ content-charset>> encode-output ]
-        [ write-response-body ]
-        bi
-    ] unless ;
-
-M: raw-response write-response ( respose -- )
-    write-response-line
-    write-response-body
-    drop ;
-
-M: raw-response write-full-response ( response -- )
-    write-response ;
-
-: post-request? ( -- ? ) request get method>> "POST" = ;
-
-SYMBOL: responder-nesting
-
-SYMBOL: main-responder
-
-SYMBOL: development?
-
-SYMBOL: benchmark?
-
-! path is a sequence of path component strings
-GENERIC: call-responder* ( path responder -- response )
-
-TUPLE: trivial-responder response ;
-
-C: <trivial-responder> trivial-responder
-
-M: trivial-responder call-responder* nip response>> clone ;
-
-main-responder global [ <404> <trivial-responder> or ] change-at
-
-: invert-slice ( slice -- slice' )
-    dup slice? [ [ seq>> ] [ from>> ] bi head-slice ] [ drop { } ] if ;
-
-: add-responder-nesting ( path responder -- )
-    [ invert-slice ] dip 2array responder-nesting get push ;
-
-: call-responder ( path responder -- response )
-    [ add-responder-nesting ] [ call-responder* ] 2bi ;
-
-: http-error. ( error -- )
-    "Internal server error" [
-        [ print-error nl :c ] with-html-stream
-    ] simple-page ;
-
-: <500> ( error -- response )
-    500 "Internal server error" <trivial-response>
-    swap development? get [ '[ , http-error. ] >>body ] [ drop ] if ;
-
-: do-response ( response -- )
-    [ request get swap write-full-response ]
-    [
-        [ \ do-response log-error ]
-        [
-            utf8 [
-                development? get
-                [ http-error. ] [ drop "Response error" write ] if
-            ] with-encoded-output
-        ] bi
-    ] recover ;
-
-LOG: httpd-hit NOTICE
-
-LOG: httpd-header NOTICE
-
-: log-header ( headers name -- )
-    tuck header 2array httpd-header ;
-
-: log-request ( request -- )
-    [ [ method>> ] [ url>> ] bi 2array httpd-hit ]
-    [ { "user-agent" "x-forwarded-for" } [ log-header ] with each ]
-    bi ;
-
-: split-path ( string -- path )
-    "/" split harvest ;
-
-: init-request ( request -- )
-    [ request set ] [ url>> url set ] bi
-    V{ } clone responder-nesting set ;
-
-: dispatch-request ( request -- response )
-    url>> path>> split-path main-responder get call-responder ;
-
-: prepare-request ( request -- )
-    [
-        local-address get
-        [ secure? "https" "http" ? >>protocol ]
-        [ port>> '[ , or ] change-port ]
-        bi
-    ] change-url drop ;
-
-: valid-request? ( request -- ? )
-    url>> port>> local-address get port>> = ;
-
-: do-request ( request -- response )
-    '[
-        ,
-        {
-            [ init-request ]
-            [ prepare-request ]
-            [ log-request ]
-            [ dup valid-request? [ dispatch-request ] [ drop <400> ] if ]
-        } cleave
-    ] [ [ \ do-request log-error ] [ <500> ] bi ] recover ;
-
-: ?refresh-all ( -- )
-    development? get-global [ global [ refresh-all ] bind ] when ;
-
-LOG: httpd-benchmark DEBUG
-
-: ?benchmark ( quot -- )
-    benchmark? get [
-        [ benchmark ] [ first ] bi url get rot 3array
-        httpd-benchmark
-    ] [ call ] if ; inline
-
-TUPLE: http-server < threaded-server ;
-
-M: http-server handle-client*
-    drop
-    [
-        64 1024 * limit-input
-        ?refresh-all
-        [ read-request ] ?benchmark
-        [ do-request ] ?benchmark
-        [ do-response ] ?benchmark
-    ] with-destructors ;
-
-: <http-server> ( -- server )
-    http-server new-threaded-server
-        "http.server" >>name
-        "http" protocol-port >>insecure
-        "https" protocol-port >>secure ;
-
-: httpd ( port -- )
-    <http-server>
-        swap >>insecure
-        f >>secure
-    start-server ;
-
-: http-insomniac ( -- )
-    "http.server" { "httpd-hit" } schedule-insomniac ;
diff --git a/extra/http/server/static/static.factor b/extra/http/server/static/static.factor
deleted file mode 100755 (executable)
index 98510e4..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-! Copyright (C) 2004, 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: calendar io io.files kernel math math.order\r
-math.parser namespaces parser sequences strings\r
-assocs hashtables debugger mime-types sorting logging\r
-calendar.format accessors\r
-io.encodings.binary fry xml.entities destructors urls\r
-html.elements html.templates.fhtml\r
-http\r
-http.server\r
-http.server.responses\r
-http.server.redirection ;\r
-IN: http.server.static\r
-\r
-! special maps mime types to quots with effect ( path -- )\r
-TUPLE: file-responder root hook special allow-listings ;\r
-\r
-: modified-since? ( filename -- ? )\r
-    request get "if-modified-since" header dup [\r
-        [ file-info modified>> ] [ rfc822>timestamp ] bi* after?\r
-    ] [\r
-        2drop t\r
-    ] if ;\r
-\r
-: <file-responder> ( root hook -- responder )\r
-    file-responder new\r
-        swap >>hook\r
-        swap >>root\r
-        H{ } clone >>special ;\r
-\r
-: (serve-static) ( path mime-type -- response )\r
-    [\r
-        [ binary <file-reader> &dispose ] dip\r
-        <content> binary >>content-charset\r
-    ]\r
-    [ drop file-info [ size>> ] [ modified>> ] bi ] 2bi\r
-    [ "content-length" set-header ]\r
-    [ "last-modified" set-header ] bi* ;\r
-\r
-: <static> ( root -- responder )\r
-    [ (serve-static) ] <file-responder> ;\r
-\r
-: serve-static ( filename mime-type -- response )\r
-    over modified-since?\r
-    [ file-responder get hook>> call ] [ 2drop <304> ] if ;\r
-\r
-: serving-path ( filename -- filename )\r
-    file-responder get root>> right-trim-separators\r
-    "/"\r
-    rot "" or left-trim-separators 3append ;\r
-\r
-: serve-file ( filename -- response )\r
-    dup mime-type\r
-    dup file-responder get special>> at\r
-    [ call ] [ serve-static ] ?if ;\r
-\r
-\ serve-file NOTICE add-input-logging\r
-\r
-: file. ( name dirp -- )\r
-    [ "/" append ] when\r
-    dup <a =href a> escape-string write </a> ;\r
-\r
-: directory. ( path -- )\r
-    dup file-name [\r
-        [ <h1> file-name escape-string write </h1> ]\r
-        [\r
-            <ul>\r
-                directory sort-keys\r
-                [ <li> file. </li> ] assoc-each\r
-            </ul>\r
-        ] bi\r
-    ] simple-page ;\r
-\r
-: list-directory ( directory -- response )\r
-    file-responder get allow-listings>> [\r
-        '[ , directory. ] "text/html" <content>\r
-    ] [\r
-        drop <403>\r
-    ] if ;\r
-\r
-: find-index ( filename -- path )\r
-    "index.html" append-path dup exists? [ drop f ] unless ;\r
-\r
-: serve-directory ( filename -- response )\r
-    url get path>> "/" tail? [\r
-        dup\r
-        find-index [ serve-file ] [ list-directory ] ?if\r
-    ] [\r
-        drop\r
-        url get clone [ "/" append ] change-path <permanent-redirect>\r
-    ] if ;\r
-\r
-: serve-object ( filename -- response )\r
-    serving-path dup exists?\r
-    [ dup file-info directory? [ serve-directory ] [ serve-file ] if ]\r
-    [ drop <404> ]\r
-    if ;\r
-\r
-M: file-responder call-responder* ( path responder -- response )\r
-    file-responder set\r
-    ".." over member?\r
-    [ drop <400> ] [ "/" join serve-object ] if ;\r
-\r
-! file responder integration\r
-: enable-fhtml ( responder -- responder )\r
-    [ <fhtml> "text/html" <content> ]\r
-    "application/x-factor-server-page"\r
-    pick special>> set-at ;\r
diff --git a/extra/http/server/summary.txt b/extra/http/server/summary.txt
deleted file mode 100644 (file)
index e6d2ca6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-HTTP server
diff --git a/extra/http/server/tags.txt b/extra/http/server/tags.txt
deleted file mode 100644 (file)
index b0881a9..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-enterprise
-network
-web
diff --git a/extra/http/summary.txt b/extra/http/summary.txt
deleted file mode 100644 (file)
index 8791a6f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Common code shared by HTTP client and server
diff --git a/extra/http/tags.txt b/extra/http/tags.txt
deleted file mode 100644 (file)
index 93e65ae..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-web
-network
diff --git a/extra/http/test/foo.html b/extra/http/test/foo.html
deleted file mode 100644 (file)
index 2638986..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<html><head><title>Hello</title></head><body>HTTPd test</body></html>
diff --git a/extra/json/authors.txt b/extra/json/authors.txt
deleted file mode 100755 (executable)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/json/reader/authors.txt b/extra/json/reader/authors.txt
deleted file mode 100644 (file)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/json/reader/reader-docs.factor b/extra/json/reader/reader-docs.factor
deleted file mode 100644 (file)
index ea4dcbf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax ;
-IN: json.reader
-
-HELP: json> "( string -- object )"
-{ $values { "string" "a string in JSON format" } { "object" "yhe object deserialized from the JSON string" } }
-{ $description "Deserializes the JSON formatted string into a Factor object. JSON objects are converted to Factor hashtables. All other JSON objects convert to their obvious Factor equivalents." } ;
diff --git a/extra/json/reader/reader-tests.factor b/extra/json/reader/reader-tests.factor
deleted file mode 100644 (file)
index 995ae0e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-USING: arrays json.reader kernel multiline strings tools.test ;
-IN: json.reader.tests
-
-{ f } [ "false" json> ] unit-test
-{ t } [ "true" json> ] unit-test
-{ json-null } [ "null" json> ] unit-test
-{ 0 } [ "0" json> ] unit-test
-{ 102 } [ "102" json> ] unit-test
-{ -102 } [ "-102" json> ] unit-test
-{ 102 } [ "+102" json> ] unit-test
-{ 102.0 } [ "102.0" json> ] unit-test
-{ 102.5 } [ "102.5" json> ] unit-test
-{ 102.5 } [ "102.50" json> ] unit-test
-{ -10250.0 } [ "-102.5e2" json> ] unit-test
-{ -10250.0 } [ "-102.5E+2" json> ] unit-test
-{ 10+1/4 } [ "1025e-2" json> ] unit-test
-{ 0.125 } [ "0.125" json> ] unit-test
-{ -0.125 } [ "-0.125" json> ] unit-test
-
-{ " fuzzy  pickles " } [ <" " fuzzy  pickles " "> json> ] unit-test
-{ "while 1:\n\tpass" } [ <" "while 1:\n\tpass" "> json> ] unit-test
-{ 8 9 10 12 13 34 47 92 } >string 1array [ <" "\b\t\n\f\r\"\/\\" "> json> ] unit-test
-{ HEX: abcd } >string 1array [ <" "\uaBCd" "> json> ] unit-test
-
-{ { 1 "two" 3.0 } } [ <" [1, "two", 3.0] "> json> ] unit-test
-{ H{ { "US$" 1.0 } { "EU€" 1.5 } } } [ <" { "US$":1.00, "EU\u20AC":1.50 } "> json> ] unit-test
-{ H{
-    { "fib" { 1 1 2 3 5 8 H{ { "etc" "etc" } } } }
-    { "prime" { 2 3 5 7 11 13 } }
-} } [ <" {
-    "fib": [1, 1,  2,   3,     5,         8,
-        { "etc":"etc" } ],
-    "prime":
-    [ 2,3,     5,7,
-11,
-13
-]      }
-"> json> ] unit-test
-
-{ 0 } [ "      0" json> ] unit-test
-{ 0 } [ "0      " json> ] unit-test
-{ 0 } [ "   0   " json> ] unit-test
-
diff --git a/extra/json/reader/reader.factor b/extra/json/reader/reader.factor
deleted file mode 100755 (executable)
index e21b129..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel parser-combinators namespaces sequences promises strings 
-       assocs math math.parser math.vectors math.functions math.order
-       lists hashtables ascii accessors ;
-IN: json.reader
-
-! Grammar for JSON from RFC 4627
-
-SYMBOL: json-null
-
-: [<&>] ( quot -- quot )
-  { } make unclip [ <&> ] reduce ;
-
-: [<|>] ( quot -- quot )
-  { } make unclip [ <|> ] reduce ;
-
-LAZY: 'ws' ( -- parser )
-  " " token 
-  "\n" token <|>
-  "\r" token <|>
-  "\t" token <|> <*> ;
-
-LAZY: spaced ( parser -- parser )
-  'ws' swap &> 'ws' <& ;
-
-LAZY: 'begin-array' ( -- parser )
-  "[" token spaced ;
-
-LAZY: 'begin-object' ( -- parser )
-  "{" token spaced ;
-
-LAZY: 'end-array' ( -- parser )
-  "]" token spaced ;
-
-LAZY: 'end-object' ( -- parser )
-  "}" token spaced ;
-
-LAZY: 'name-separator' ( -- parser )
-  ":" token spaced ;
-
-LAZY: 'value-separator' ( -- parser )
-  "," token spaced ;
-
-LAZY: 'false' ( -- parser )
-  "false" token [ drop f ] <@ ;
-
-LAZY: 'null' ( -- parser )
-  "null" token [ drop json-null ] <@ ;
-
-LAZY: 'true' ( -- parser )
-  "true" token [ drop t ] <@ ;
-
-LAZY: 'quot' ( -- parser )
-  "\"" token ;
-
-LAZY: 'hex-digit' ( -- parser )
-  [ digit> ] satisfy [ digit> ] <@ ;
-
-: hex-digits>ch ( digits -- ch )
-    0 [ swap 16 * + ] reduce ;
-
-LAZY: 'string-char' ( -- parser )
-  [ quotable? ] satisfy
-  "\\b" token [ drop 8 ] <@ <|>
-  "\\t" token [ drop CHAR: \t ] <@ <|>
-  "\\n" token [ drop CHAR: \n ] <@ <|>
-  "\\f" token [ drop 12 ] <@ <|>
-  "\\r" token [ drop CHAR: \r ] <@ <|>
-  "\\\"" token [ drop CHAR: " ] <@ <|>
-  "\\/" token [ drop CHAR: / ] <@ <|>
-  "\\\\" token [ drop CHAR: \\ ] <@ <|>
-  "\\u" token 'hex-digit' 4 exactly-n &>
-  [ hex-digits>ch ] <@ <|> ;
-
-LAZY: 'string' ( -- parser )
-  'quot' 
-  'string-char' <*> &> 
-  'quot' <& [ >string ] <@  ;
-
-DEFER: 'value'
-
-LAZY: 'member' ( -- parser )
-  'string'
-  'name-separator' <&  
-  'value' <&> ;
-
-USE: prettyprint 
-LAZY: 'object' ( -- parser )
-  'begin-object' 
-  'member' 'value-separator' list-of &>
-  'end-object' <& [ >hashtable ] <@ ;
-
-LAZY: 'array' ( -- parser )
-  'begin-array' 
-  'value' 'value-separator' list-of &>
-  'end-array' <&  ;
-  
-LAZY: 'minus' ( -- parser )
-  "-" token ;
-
-LAZY: 'plus' ( -- parser )
-  "+" token ;
-
-LAZY: 'sign' ( -- parser )
-  'minus' 'plus' <|> ;
-
-LAZY: 'zero' ( -- parser )
-  "0" token [ drop 0 ] <@ ;
-
-LAZY: 'decimal-point' ( -- parser )
-  "." token ;
-
-LAZY: 'digit1-9' ( -- parser )
-  [ 
-    dup integer? [ 
-      CHAR: 1 CHAR: 9 between? 
-    ] [ 
-      drop f 
-    ] if 
-  ] satisfy [ digit> ] <@ ;
-
-LAZY: 'digit0-9' ( -- parser )
-  [ digit? ] satisfy [ digit> ] <@ ;
-
-: decimal>integer ( seq -- num ) 10 digits>integer ;
-
-LAZY: 'int' ( -- parser )
-  'zero' 
-  'digit1-9' 'digit0-9' <*> <&:> [ decimal>integer ] <@ <|>  ;
-
-LAZY: 'e' ( -- parser )
-  "e" token "E" token <|> ;
-
-: sign-number ( pair -- number )
-  #! Pair is { minus? num }
-  #! Convert the json number value to a factor number
-  dup second swap first [ first "-" = [ -1 * ] when ] when* ;
-
-LAZY: 'exp' ( -- parser )
-    'e' 
-    'sign' <?> &>
-    'digit0-9' <+> [ decimal>integer ] <@ <&> [ sign-number ] <@ ;
-
-: sequence>frac ( seq -- num ) 
-  #! { 1 2 3 } => 0.123
-  reverse 0 [ swap 10 / + ] reduce 10 / >float ;
-
-LAZY: 'frac' ( -- parser )
-  'decimal-point' 'digit0-9' <+> &> [ sequence>frac ] <@ ;
-
-: raise-to-power ( pair -- num )
-  #! Pair is { num exp }.
-  #! Multiply 'num' by 10^exp
-  dup second dup [ 10 swap first ^ swap first * ] [ drop first ] if ;
-
-LAZY: 'number' ( -- parser )
-  'sign' <?>
-  [ 'int' , 'frac' 0 succeed <|> , ] [<&>] [ sum ] <@ 
-  'exp' <?> <&> [ raise-to-power ] <@ <&> [ sign-number ] <@ ;
-
-LAZY: 'value' ( -- parser )
-  [
-    'false' ,
-    'null' ,
-    'true' ,
-    'string' ,
-    'object' ,
-    'array' ,
-    'number' ,
-  ] [<|>] spaced ;
-ERROR: could-not-parse-json ;
-
-: json> ( string -- object )
-  #! Parse a json formatted string to a factor object
-  'value' parse dup nil? [ 
-      could-not-parse-json
-  ] [ 
-    car parsed>> 
-  ] if ;
diff --git a/extra/json/reader/summary.txt b/extra/json/reader/summary.txt
deleted file mode 100644 (file)
index ca038f1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-JSON to Factor serializer
diff --git a/extra/json/summary.txt b/extra/json/summary.txt
deleted file mode 100755 (executable)
index 33c7c97..0000000
+++ /dev/null
@@ -1 +0,0 @@
-JSON reader and writer
diff --git a/extra/json/writer/authors.txt b/extra/json/writer/authors.txt
deleted file mode 100644 (file)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/json/writer/summary.txt b/extra/json/writer/summary.txt
deleted file mode 100644 (file)
index 0a45ce2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Factor to JSON serializer
diff --git a/extra/json/writer/writer-docs.factor b/extra/json/writer/writer-docs.factor
deleted file mode 100644 (file)
index 21aa8b2..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax ;
-IN: json.writer
-
-HELP: >json "( obj -- string )"
-{ $values { "obj" "an object" } { "string" "the object converted to JSON format" } }
-{ $description "Serializes the object into a JSON formatted string." } 
-{ $see-also json-print } ;
-
-HELP: json-print "( obj -- )"
-{ $values { "obj" "an object" } }
-{ $description "Serializes the object into a JSON formatted string and outputs it to the standard output stream." } 
-{ $see-also >json } ;
-
diff --git a/extra/json/writer/writer.factor b/extra/json/writer/writer.factor
deleted file mode 100644 (file)
index 0d22494..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel io.streams.string io strings splitting sequences math 
-       math.parser assocs classes words namespaces prettyprint
-       hashtables mirrors tr ;
-IN: json.writer
-
-#! Writes the object out to a stream in JSON format
-GENERIC: json-print ( obj -- )
-
-: >json ( obj -- string )
-  #! Returns a string representing the factor object in JSON format
-  [ json-print ] with-string-writer ;
-
-M: f json-print ( f -- )
-  drop "false" write ;
-
-M: string json-print ( obj -- )
-  CHAR: " write1 "\"" split "\\\"" join CHAR: \r swap remove "\n" split "\\r\\n" join write CHAR: " write1 ;
-
-M: number json-print ( num -- )  
-  number>string write ;
-
-M: sequence json-print ( array -- ) 
-  CHAR: [ write1 [ >json ] map "," join write CHAR: ] write1 ;
-
-TR: jsvar-encode "-" "_" ;
-  
-: tuple>fields ( object -- seq )
-  <mirror> [
-    [ swap jsvar-encode >json % " : " % >json % ] "" make
-  ] { } assoc>map ;
-
-M: tuple json-print ( tuple -- )
-  CHAR: { write1 tuple>fields "," join write CHAR: } write1 ;
-
-M: hashtable json-print ( hashtable -- )
-  CHAR: { write1 
-  [ [ swap jsvar-encode >json % CHAR: : , >json % ] "" make ]
-  { } assoc>map "," join write 
-  CHAR: } write1 ;
-
-M: object json-print ( object -- )
-    unparse json-print ;
diff --git a/extra/peg/ebnf/authors.txt b/extra/peg/ebnf/authors.txt
deleted file mode 100644 (file)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/peg/ebnf/ebnf-tests.factor b/extra/peg/ebnf/ebnf-tests.factor
deleted file mode 100644 (file)
index a6d3cf0..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-! Copyright (C) 2007 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-USING: kernel tools.test peg peg.ebnf words math math.parser 
-       sequences accessors peg.parsers parser namespaces arrays 
-       strings eval ;
-IN: peg.ebnf.tests
-
-{ T{ ebnf-non-terminal f "abc" } } [
-  "abc" 'non-terminal' parse 
-] unit-test
-
-{ T{ ebnf-terminal f "55" } } [
-  "'55'" 'terminal' parse 
-] unit-test
-
-{
-  T{ ebnf-rule f 
-     "digit"
-     T{ ebnf-choice f
-        V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } }
-     }
-  } 
-} [
-  "digit = '1' | '2'" 'rule' parse
-] unit-test
-
-{
-  T{ ebnf-rule f 
-     "digit" 
-     T{ ebnf-sequence f
-        V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } }
-     }
-  }   
-} [
-  "digit = '1' '2'" 'rule' parse
-] unit-test
-
-{
-  T{ ebnf-choice f
-     V{ 
-       T{ ebnf-sequence f
-          V{ T{ ebnf-non-terminal f "one" } T{ ebnf-non-terminal f "two" } }
-       }
-       T{ ebnf-non-terminal f "three" }
-     }
-  } 
-} [
-  "one two | three" 'choice' parse
-] unit-test
-
-{
-  T{ ebnf-sequence f
-     V{ 
-       T{ ebnf-non-terminal f "one" }
-       T{ ebnf-whitespace f
-         T{ ebnf-choice f
-            V{ T{ ebnf-non-terminal f "two" } T{ ebnf-non-terminal f "three" } }
-         }
-       }
-     }
-  } 
-} [
-  "one {two | three}" 'choice' parse
-] unit-test
-
-{
-  T{ ebnf-sequence f
-     V{ 
-       T{ ebnf-non-terminal f "one" }
-       T{ ebnf-repeat0 f
-          T{ ebnf-sequence f
-             V{
-                T{ ebnf-choice f
-                   V{ T{ ebnf-non-terminal f "two" } T{ ebnf-non-terminal f "three" } }
-                }
-                T{ ebnf-non-terminal f "four" }
-             }
-          }
-        }
-     }
-  } 
-} [
-  "one ((two | three) four)*" 'choice' parse
-] unit-test
-
-{
-  T{ ebnf-sequence f
-     V{ 
-         T{ ebnf-non-terminal f "one" } 
-         T{ ebnf-optional f T{ ebnf-non-terminal f "two" } }
-         T{ ebnf-non-terminal f "three" }
-     }
-  } 
-} [
-  "one ( two )? three" 'choice' parse
-] unit-test
-
-{ "foo" } [
-  "\"foo\"" 'identifier' parse
-] unit-test
-
-{ "foo" } [
-  "'foo'" 'identifier' parse
-] unit-test
-
-{ "foo" } [
-  "foo" 'non-terminal' parse symbol>>
-] unit-test
-
-{ "foo" } [
-  "foo]" 'non-terminal' parse symbol>>
-] unit-test
-
-{ V{ "a" "b" } } [
-  "ab" [EBNF foo='a' 'b' EBNF] 
-] unit-test
-
-{ V{ 1 "b" } } [
-  "ab" [EBNF foo=('a')[[ drop 1 ]] 'b' EBNF]
-] unit-test
-
-{ V{ 1 2 } } [
-  "ab" [EBNF foo=('a') [[ drop 1 ]] ('b') [[ drop 2 ]] EBNF]
-] unit-test
-
-{ CHAR: A } [
-  "A" [EBNF foo=[A-Z] EBNF]
-] unit-test
-
-{ CHAR: Z } [
-  "Z" [EBNF foo=[A-Z] EBNF]
-] unit-test
-
-[
-  "0" [EBNF foo=[A-Z] EBNF]  
-] must-fail
-
-{ CHAR: 0 } [
-  "0" [EBNF foo=[^A-Z] EBNF]
-] unit-test
-
-[
-  "A" [EBNF foo=[^A-Z] EBNF]  
-] must-fail
-
-[
-  "Z" [EBNF foo=[^A-Z] EBNF]  
-] must-fail
-
-{ V{ "1" "+" "foo" } } [
-  "1+1" [EBNF foo='1' '+' '1' [[ drop "foo" ]] EBNF]
-] unit-test
-
-{ "foo" } [
-  "1+1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] EBNF]
-] unit-test
-
-{ "foo" } [
-  "1+1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] | '1' '-' '1' => [[ drop "bar" ]] EBNF]
-] unit-test
-
-{ "bar" } [
-  "1-1" [EBNF foo='1' '+' '1' => [[ drop "foo" ]] | '1' '-' '1' => [[ drop "bar" ]] EBNF]
-] unit-test
-
-{ 6 } [
-  "4+2" [EBNF num=[0-9] => [[ digit> ]] foo=num:x '+' num:y => [[ x y + ]] EBNF]
-] unit-test
-
-{ 6 } [
-  "4+2" [EBNF foo=[0-9]:x '+' [0-9]:y => [[ x digit> y digit> + ]] EBNF]
-] unit-test
-
-{ 10 } [
-  { 1 2 3 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF]
-] unit-test
-
-[
-  { "a" 2 3 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF] 
-] must-fail
-
-{ 3 } [
-  { 1 2 "a" 4 } [EBNF num=. ?[ number? ]? list=list:x num:y => [[ x y + ]] | num EBNF]
-] unit-test
-
-[
-  "ab" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF] 
-] must-fail
-
-{ V{ "a" " " "b" } } [
-  "a b" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
-] unit-test
-
-{ V{ "a" "\t" "b" } } [
-  "a\tb" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
-] unit-test
-
-{ V{ "a" "\n" "b" } } [
-  "a\nb" [EBNF -=" " | "\t" | "\n" foo="a" - "b" EBNF]
-] unit-test
-
-{ V{ "a" f "b" } } [
-  "ab" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
-] unit-test
-
-{ V{ "a" " " "b" } } [
-  "a b" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
-] unit-test
-
-
-{ V{ "a" "\t" "b" } } [
-  "a\tb" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
-] unit-test
-
-{ V{ "a" "\n" "b" } } [
-  "a\nb" [EBNF -=" " | "\t" | "\n" foo="a" (-)? "b" EBNF]
-] unit-test
-
-{ V{ "a" "b" } } [
-  "ab" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
-] unit-test
-
-{ V{ "a" "b" } } [
-  "a\tb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
-] unit-test
-
-{ V{ "a" "b" } } [
-  "a\nb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF]
-] unit-test
-
-[
-  "axb" [EBNF -=(" " | "\t" | "\n")? => [[ drop ignore ]] foo="a" - "b" EBNF] 
-] must-fail
-
-{ V{ V{ 49 } "+" V{ 49 } } } [ 
-  #! Test direct left recursion. 
-  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
-  "1+1" [EBNF num=([0-9])+ expr=expr "+" num | num EBNF]
-] unit-test
-
-{ V{ V{ V{ 49 } "+" V{ 49 } } "+" V{ 49 } } } [ 
-  #! Test direct left recursion. 
-  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
-  "1+1+1" [EBNF num=([0-9])+ expr=expr "+" num | num EBNF]
-] unit-test
-
-{ V{ V{ V{ 49 } "+" V{ 49 } } "+" V{ 49 } } } [ 
-  #! Test indirect left recursion. 
-  #! Using packrat, so first part of expr fails, causing 2nd choice to be used  
-  "1+1+1" [EBNF num=([0-9])+ x=expr expr=x "+" num | num EBNF]
-] unit-test
-
-{ t } [
-  "abcd='9' | ('8'):x => [[ x ]]" 'ebnf' (parse) remaining>> empty?
-] unit-test
-
-EBNF: primary 
-Primary = PrimaryNoNewArray
-PrimaryNoNewArray =  ClassInstanceCreationExpression
-                   | MethodInvocation
-                   | FieldAccess
-                   | ArrayAccess
-                   | "this"
-ClassInstanceCreationExpression =  "new" ClassOrInterfaceType "(" ")"
-                                 | Primary "." "new" Identifier "(" ")"
-MethodInvocation =  Primary "." MethodName "(" ")"
-                  | MethodName "(" ")"
-FieldAccess =  Primary "." Identifier
-             | "super" "." Identifier  
-ArrayAccess =  Primary "[" Expression "]" 
-             | ExpressionName "[" Expression "]"
-ClassOrInterfaceType = ClassName | InterfaceTypeName
-ClassName = "C" | "D"
-InterfaceTypeName = "I" | "J"
-Identifier = "x" | "y" | ClassOrInterfaceType
-MethodName = "m" | "n"
-ExpressionName = Identifier
-Expression = "i" | "j"
-main = Primary
-;EBNF 
-
-{ "this" } [
-  "this" primary
-] unit-test
-
-{ V{ "this" "." "x" } } [
-  "this.x" primary
-] unit-test
-
-{ V{ V{ "this" "." "x" } "." "y" } } [
-  "this.x.y" primary
-] unit-test
-
-{ V{ V{ "this" "." "x" } "." "m" "(" ")" } } [
-  "this.x.m()" primary
-] unit-test
-
-{ V{ V{ V{ "x" "[" "i" "]" } "[" "j" "]" } "." "y" } } [
-  "x[i][j].y" primary
-] unit-test
-
-'ebnf' compile must-infer
-
-{ V{ V{ "a" "b" } "c" } } [
-  "abc" [EBNF a="a" "b" foo=(a "c") EBNF]
-] unit-test
-
-{ V{ V{ "a" "b" } "c" } } [
-  "abc" [EBNF a="a" "b" foo={a "c"} EBNF]
-] unit-test
-
-{ V{ V{ "a" "b" } "c" } } [
-  "abc" [EBNF a="a" "b" foo=a "c" EBNF]
-] unit-test
-
-[
-  "a bc" [EBNF a="a" "b" foo=(a "c") EBNF] 
-] must-fail
-
-[
-  "a bc" [EBNF a="a" "b" foo=a "c" EBNF] 
-] must-fail
-
-[
-  "a bc" [EBNF a="a" "b" foo={a "c"} EBNF]
-] must-fail
-
-[
-  "ab c" [EBNF a="a" "b" foo=a "c" EBNF] 
-] must-fail
-
-{ V{ V{ "a" "b" } "c" } } [
-  "ab c" [EBNF a="a" "b" foo={a "c"} EBNF]
-] unit-test
-
-[
-  "ab c" [EBNF a="a" "b" foo=(a "c") EBNF] 
-] must-fail
-
-[
-  "a b c" [EBNF a="a" "b" foo=a "c" EBNF] 
-] must-fail
-
-[
-  "a b c" [EBNF a="a" "b" foo=(a "c") EBNF] 
-] must-fail
-
-[
-  "a b c" [EBNF a="a" "b" foo={a "c"} EBNF] 
-] must-fail
-
-{ V{ V{ V{ "a" "b" } "c" } V{ V{ "a" "b" } "c" } } } [
-  "ab cab c" [EBNF a="a" "b" foo={a "c"}* EBNF]
-] unit-test
-
-{ V{ } } [
-  "ab cab c" [EBNF a="a" "b" foo=(a "c")* EBNF]
-] unit-test
-
-{ V{ V{ V{ "a" "b" } "c" } V{ V{ "a" "b" } "c" } } } [
-  "ab c ab c" [EBNF a="a" "b" foo={a "c"}* EBNF]
-] unit-test
-
-{ V{ } } [
-  "ab c ab c" [EBNF a="a" "b" foo=(a "c")* EBNF]
-] unit-test
-
-{ V{ "a" "a" "a" } } [
-  "aaa" [EBNF a=('a')* b=!('b') a:x => [[ x ]] EBNF]
-] unit-test
-
-{ t } [
-  "aaa" [EBNF a=('a')* b=!('b') a:x => [[ x ]] EBNF]
-  "aaa" [EBNF a=('a')* b=!('b') (a):x => [[ x ]] EBNF] =
-] unit-test
-
-{ V{ "a" "a" "a" } } [
-  "aaa" [EBNF a=('a')* b=a:x => [[ x ]] EBNF]
-] unit-test
-
-{ t } [
-  "aaa" [EBNF a=('a')* b=a:x => [[ x ]] EBNF]
-  "aaa" [EBNF a=('a')* b=(a):x => [[ x ]] EBNF] =
-] unit-test
-
-{ t } [
-  "number=(digit)+:n 'a'" 'ebnf' (parse) remaining>> length zero?
-] unit-test
-
-{ t } [
-  "number=(digit)+ 'a'" 'ebnf' (parse) remaining>> length zero?
-] unit-test
-
-{ t } [
-  "number=digit+ 'a'" 'ebnf' (parse) remaining>> length zero?
-] unit-test
-
-{ t } [
-  "number=digit+:n 'a'" 'ebnf' (parse) remaining>> length zero?
-] unit-test
-
-{ t } [
-  "foo=(name):n !(keyword) => [[ n ]]" 'rule' parse
-  "foo=name:n !(keyword) => [[ n ]]" 'rule' parse =
-] unit-test
-
-{ t } [
-  "foo=!(keyword) (name):n => [[ n ]]" 'rule' parse
-  "foo=!(keyword) name:n => [[ n ]]" 'rule' parse =
-] unit-test
-
-<<
-EBNF: parser1 
-foo='a' 
-;EBNF
->>
-
-EBNF: parser2
-foo=<foreign parser1 foo> 'b'
-;EBNF
-
-EBNF: parser3
-foo=<foreign parser1> 'c'
-;EBNF
-
-EBNF: parser4
-foo=<foreign any-char> 'd'
-;EBNF
-
-{ "a" } [
-  "a" parser1
-] unit-test
-
-{ V{ "a" "b" } } [
-  "ab" parser2
-] unit-test
-
-{ V{ "a" "c" } } [
-  "ac" parser3
-] unit-test
-
-{ V{ CHAR: a "d" } } [
-  "ad" parser4
-] unit-test
-
-{ t } [
- "USING: kernel peg.ebnf ; \"a\\n\" [EBNF foo='a' '\n'  => [[ drop \"\n\" ]] EBNF]" eval drop t
-] unit-test
-
-[
-  "USING: peg.ebnf ; <EBNF foo='a' foo='b' EBNF>" eval drop
-] must-fail
-
-{ t } [
-  #! Rule lookup occurs in a namespace. This causes an incorrect duplicate rule
-  #! if a var in a namespace is set. This unit test is to remind me to fix this.
-  [ "fail" "foo" set "foo='a'" 'ebnf' parse transform drop t ] with-scope
-] unit-test
-
-#! Tokenizer tests
-{ V{ "a" CHAR: b } } [
-  "ab" [EBNF tokenizer=default foo="a" . EBNF]
-] unit-test
-
-TUPLE: ast-number value ;
-
-EBNF: a-tokenizer 
-Letter            = [a-zA-Z]
-Digit             = [0-9]
-Digits            = Digit+
-SingleLineComment = "//" (!("\n") .)* "\n" => [[ ignore ]]
-MultiLineComment  = "/*" (!("*/") .)* "*/" => [[ ignore ]]
-Space             = " " | "\t" | "\r" | "\n" | SingleLineComment | MultiLineComment
-Spaces            = Space* => [[ ignore ]]
-Number            = Digits:ws '.' Digits:fs => [[ ws "." fs 3array concat >string string>number ast-number boa ]]
-                    | Digits => [[ >string string>number ast-number boa ]]  
-Special            =   "("   | ")"   | "{"   | "}"   | "["   | "]"   | ","   | ";"
-                     | "?"   | ":"   | "!==" | "~="  | "===" | "=="  | "="   | ">="
-                     | ">"   | "<="  | "<"   | "++"  | "+="  | "+"   | "--"  | "-="
-                     | "-"   | "*="  | "*"   | "/="  | "/"   | "%="  | "%"   | "&&="
-                     | "&&"  | "||=" | "||"  | "."   | "!"
-Tok                = Spaces (Number | Special )
-;EBNF
-
-{ V{ CHAR: 1 T{ ast-number f 23 } ";" CHAR: x } } [
-  "123;x" [EBNF bar = . 
-                tokenizer = <foreign a-tokenizer Tok>  foo=. 
-                tokenizer=default baz=. 
-                main = bar foo foo baz 
-          EBNF]
-] unit-test
-
-{ V{ CHAR: 5 "+" CHAR: 2 } } [
-  "5+2" [EBNF 
-          space=(" " | "\n") 
-          number=[0-9] 
-          operator=("*" | "+") 
-          spaces=space* => [[ ignore ]] 
-          tokenizer=spaces (number | operator) 
-          main= . . . 
-        EBNF]
-] unit-test
-
-{ V{ CHAR: 5 "+" CHAR: 2 } } [
-  "5 + 2" [EBNF 
-          space=(" " | "\n") 
-          number=[0-9] 
-          operator=("*" | "+") 
-          spaces=space* => [[ ignore ]] 
-          tokenizer=spaces (number | operator) 
-          main= . . . 
-        EBNF]
-] unit-test
-
-{ "++" } [
-  "++--" [EBNF tokenizer=("++" | "--") main="++" EBNF]
-] unit-test
-
-{ "\\" } [
-  "\\" [EBNF foo="\\" EBNF]
-] unit-test
diff --git a/extra/peg/ebnf/ebnf.factor b/extra/peg/ebnf/ebnf.factor
deleted file mode 100644 (file)
index 6e9d78e..0000000
+++ /dev/null
@@ -1,540 +0,0 @@
-! Copyright (C) 2007 Chris Double.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: kernel compiler.units words arrays strings math.parser sequences \r
-       quotations vectors namespaces math assocs continuations peg\r
-       peg.parsers unicode.categories multiline combinators.lib \r
-       splitting accessors effects sequences.deep peg.search\r
-       combinators.short-circuit lexer io.streams.string\r
-       stack-checker io prettyprint combinators parser ;\r
-IN: peg.ebnf\r
-\r
-: rule ( name word -- parser )\r
-  #! Given an EBNF word produced from EBNF: return the EBNF rule\r
-  "ebnf-parser" word-prop at ;\r
-\r
-TUPLE: tokenizer any one many ;\r
-\r
-: default-tokenizer ( -- tokenizer )\r
-  T{ tokenizer f \r
-    [ any-char ]\r
-    [ token ]\r
-    [ [ = ] curry any-char swap semantic ]\r
-  } ;\r
-\r
-: parser-tokenizer ( parser -- tokenizer )\r
-  [ 1quotation ] keep\r
-  [ swap [ = ] curry semantic ] curry dup \ tokenizer boa ;\r
-\r
-: rule-tokenizer ( name word -- tokenizer )\r
-  rule parser-tokenizer ;\r
-\r
-: tokenizer ( -- word )\r
-  \ tokenizer get-global [ default-tokenizer ] unless* ;\r
-\r
-: reset-tokenizer ( -- )\r
-  default-tokenizer \ tokenizer set-global ;\r
-\r
-: TOKENIZER: \r
-  scan search [ "Tokenizer not found" throw ] unless*\r
-  execute \ tokenizer set-global ; parsing\r
-\r
-TUPLE: ebnf-non-terminal symbol ;\r
-TUPLE: ebnf-terminal symbol ;\r
-TUPLE: ebnf-foreign word rule ;\r
-TUPLE: ebnf-any-character ;\r
-TUPLE: ebnf-range pattern ;\r
-TUPLE: ebnf-ensure group ;\r
-TUPLE: ebnf-ensure-not group ;\r
-TUPLE: ebnf-choice options ;\r
-TUPLE: ebnf-sequence elements ;\r
-TUPLE: ebnf-repeat0 group ;\r
-TUPLE: ebnf-repeat1 group ;\r
-TUPLE: ebnf-optional group ;\r
-TUPLE: ebnf-whitespace group ;\r
-TUPLE: ebnf-tokenizer elements ;\r
-TUPLE: ebnf-rule symbol elements ;\r
-TUPLE: ebnf-action parser code ;\r
-TUPLE: ebnf-var parser name ;\r
-TUPLE: ebnf-semantic parser code ;\r
-TUPLE: ebnf rules ;\r
-\r
-C: <ebnf-non-terminal> ebnf-non-terminal\r
-C: <ebnf-terminal> ebnf-terminal\r
-C: <ebnf-foreign> ebnf-foreign\r
-C: <ebnf-any-character> ebnf-any-character\r
-C: <ebnf-range> ebnf-range\r
-C: <ebnf-ensure> ebnf-ensure\r
-C: <ebnf-ensure-not> ebnf-ensure-not\r
-C: <ebnf-choice> ebnf-choice\r
-C: <ebnf-sequence> ebnf-sequence\r
-C: <ebnf-repeat0> ebnf-repeat0\r
-C: <ebnf-repeat1> ebnf-repeat1\r
-C: <ebnf-optional> ebnf-optional\r
-C: <ebnf-whitespace> ebnf-whitespace\r
-C: <ebnf-tokenizer> ebnf-tokenizer\r
-C: <ebnf-rule> ebnf-rule\r
-C: <ebnf-action> ebnf-action\r
-C: <ebnf-var> ebnf-var\r
-C: <ebnf-semantic> ebnf-semantic\r
-C: <ebnf> ebnf\r
-\r
-: filter-hidden ( seq -- seq )\r
-  #! Remove elements that produce no AST from sequence\r
-  [ ebnf-ensure-not? not ] filter [ ebnf-ensure? not ] filter ;\r
-\r
-: syntax ( string -- parser )\r
-  #! Parses the string, ignoring white space, and\r
-  #! does not put the result in the AST.\r
-  token sp hide ;\r
-\r
-: syntax-pack ( begin parser end -- parser )\r
-  #! Parse 'parser' surrounded by syntax elements\r
-  #! begin and end.\r
-  [ syntax ] 2dip syntax pack ;\r
-\r
-#! Don't want to use 'replace' in an action since replace doesn't infer.\r
-#! Do the compilation of the peg at parse time and call (replace).\r
-PEG: escaper ( string -- ast )\r
-  [\r
-    "\\t" token [ drop "\t" ] action ,\r
-    "\\n" token [ drop "\n" ] action ,\r
-    "\\r" token [ drop "\r" ] action ,\r
-    "\\\\" token [ drop "\\" ] action ,\r
-  ] choice* any-char-parser 2array choice repeat0 ;\r
-\r
-: replace-escapes ( string -- string )\r
-  escaper sift [ [ tree-write ] each ] with-string-writer ;\r
-\r
-: insert-escapes ( string -- string )\r
-  [\r
-    "\t" token [ drop "\\t" ] action ,\r
-    "\n" token [ drop "\\n" ] action ,\r
-    "\r" token [ drop "\\r" ] action ,\r
-  ] choice* replace ;\r
-\r
-: 'identifier' ( -- parser )\r
-  #! Return a parser that parses an identifer delimited by\r
-  #! a quotation character. The quotation can be single\r
-  #! or double quotes. The AST produced is the identifier\r
-  #! between the quotes.\r
-  [\r
-    [ CHAR: " = not ] satisfy repeat1 "\"" "\"" surrounded-by ,\r
-    [ CHAR: ' = not ] satisfy repeat1 "'" "'" surrounded-by ,\r
-  ] choice* [ >string replace-escapes ] action ;\r
-  \r
-: 'non-terminal' ( -- parser )\r
-  #! A non-terminal is the name of another rule. It can\r
-  #! be any non-blank character except for characters used\r
-  #! in the EBNF syntax itself.\r
-  [\r
-    {\r
-      [ dup blank?    ]\r
-      [ dup CHAR: " = ]\r
-      [ dup CHAR: ' = ]\r
-      [ dup CHAR: | = ]\r
-      [ dup CHAR: { = ]\r
-      [ dup CHAR: } = ]\r
-      [ dup CHAR: = = ]\r
-      [ dup CHAR: ) = ]\r
-      [ dup CHAR: ( = ]\r
-      [ dup CHAR: ] = ]\r
-      [ dup CHAR: [ = ]\r
-      [ dup CHAR: . = ]\r
-      [ dup CHAR: ! = ]\r
-      [ dup CHAR: & = ]\r
-      [ dup CHAR: * = ]\r
-      [ dup CHAR: + = ]\r
-      [ dup CHAR: ? = ]\r
-      [ dup CHAR: : = ]\r
-      [ dup CHAR: ~ = ]\r
-      [ dup CHAR: < = ]\r
-      [ dup CHAR: > = ]\r
-    } 0|| not nip    \r
-  ] satisfy repeat1 [ >string <ebnf-non-terminal> ] action ;\r
-\r
-: 'terminal' ( -- parser )\r
-  #! A terminal is an identifier enclosed in quotations\r
-  #! and it represents the literal value of the identifier.\r
-  'identifier' [ <ebnf-terminal> ] action ;\r
-\r
-: 'foreign-name' ( -- parser )\r
-  #! Parse a valid foreign parser name\r
-  [\r
-    {\r
-      [ dup blank?    ]\r
-      [ dup CHAR: > = ]\r
-    } 0|| not nip    \r
-  ] satisfy repeat1 [ >string ] action ;\r
-\r
-: 'foreign' ( -- parser )\r
-  #! A foreign call is a call to a rule in another ebnf grammar\r
-  [\r
-    "<foreign" syntax ,\r
-    'foreign-name' sp ,\r
-    'foreign-name' sp optional ,\r
-    ">" syntax ,\r
-  ] seq* [ first2 <ebnf-foreign> ] action ;\r
-\r
-: 'any-character' ( -- parser )\r
-  #! A parser to match the symbol for any character match.\r
-  [ CHAR: . = ] satisfy [ drop <ebnf-any-character> ] action ;\r
-\r
-: 'range-parser' ( -- parser )\r
-  #! Match the syntax for declaring character ranges\r
-  [\r
-    [ "[" syntax , "[" token ensure-not , ] seq* hide ,\r
-    [ CHAR: ] = not ] satisfy repeat1 , \r
-    "]" syntax ,\r
-  ] seq* [ first >string <ebnf-range> ] action ;\r
\r
-: ('element') ( -- parser )\r
-  #! An element of a rule. It can be a terminal or a \r
-  #! non-terminal but must not be followed by a "=". \r
-  #! The latter indicates that it is the beginning of a\r
-  #! new rule.\r
-  [\r
-    [\r
-      [ \r
-        'non-terminal' ,\r
-        'terminal' ,\r
-        'foreign' ,\r
-        'range-parser' ,\r
-        'any-character' ,\r
-      ] choice* \r
-      [ dup , "*" token hide , ] seq* [ first <ebnf-repeat0> ] action ,\r
-      [ dup , "+" token hide , ] seq* [ first <ebnf-repeat1> ] action ,\r
-      [ dup , "?[" token ensure-not , "?" token hide , ] seq* [ first <ebnf-optional> ] action ,\r
-      ,\r
-    ] choice* ,\r
-    [\r
-      "=" syntax ensure-not ,\r
-      "=>" syntax ensure ,\r
-    ] choice* ,\r
-  ] seq* [ first ] action ;\r
-\r
-DEFER: 'action'\r
-\r
-: 'element' ( -- parser )\r
-  [\r
-    [ ('element') , ":" syntax , "a-zA-Z" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
-    ('element') ,\r
-  ] choice* ;\r
-\r
-DEFER: 'choice'\r
-\r
-: grouped ( quot suffix  -- parser )\r
-  #! Parse a group of choices, with a suffix indicating\r
-  #! the type of group (repeat0, repeat1, etc) and\r
-  #! an quot that is the action that produces the AST.\r
-  2dup\r
-  [\r
-    "(" [ 'choice' sp ] delay ")" syntax-pack \r
-    swap 2seq  \r
-    [ first ] rot compose action ,\r
-    "{" [ 'choice' sp ] delay "}" syntax-pack \r
-    swap 2seq  \r
-    [ first <ebnf-whitespace> ] rot compose action ,\r
-  ] choice* ;\r
-  \r
-: 'group' ( -- parser )\r
-  #! A grouping with no suffix. Used for precedence.\r
-  [ ] [\r
-    "*" token sp ensure-not ,\r
-    "+" token sp ensure-not ,\r
-    "?" token sp ensure-not ,\r
-  ] seq* hide grouped ; \r
-\r
-: 'repeat0' ( -- parser )\r
-  [ <ebnf-repeat0> ] "*" syntax grouped ;\r
-\r
-: 'repeat1' ( -- parser )\r
-  [ <ebnf-repeat1> ] "+" syntax grouped ;\r
-\r
-: 'optional' ( -- parser )\r
-  [ <ebnf-optional> ] "?" syntax grouped ;\r
-\r
-: 'factor-code' ( -- parser )\r
-  [\r
-    "]]" token ensure-not ,\r
-    "]?" token ensure-not ,\r
-    [ drop t ] satisfy ,\r
-  ] seq* [ first ] action repeat0 [ >string ] action ;\r
-\r
-: 'ensure-not' ( -- parser )\r
-  #! Parses the '!' syntax to ensure that \r
-  #! something that matches the following elements do\r
-  #! not exist in the parse stream.\r
-  [\r
-    "!" syntax ,\r
-    'group' sp ,\r
-  ] seq* [ first <ebnf-ensure-not> ] action ;\r
-\r
-: 'ensure' ( -- parser )\r
-  #! Parses the '&' syntax to ensure that \r
-  #! something that matches the following elements does\r
-  #! exist in the parse stream.\r
-  [\r
-    "&" syntax ,\r
-    'group' sp ,\r
-  ] seq* [ first <ebnf-ensure> ] action ;\r
-\r
-: ('sequence') ( -- parser )\r
-  #! A sequence of terminals and non-terminals, including\r
-  #! groupings of those. \r
-  [\r
-    [ \r
-      'ensure-not' sp ,\r
-      'ensure' sp ,\r
-      'element' sp ,\r
-      'group' sp , \r
-      'repeat0' sp ,\r
-      'repeat1' sp ,\r
-      'optional' sp , \r
-    ] choice* \r
-    [ dup  , ":" syntax , "a-zA-Z" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
-    ,\r
-  ] choice* ;\r
-\r
-: 'action' ( -- parser )\r
-   "[[" 'factor-code' "]]" syntax-pack ;\r
-\r
-: 'semantic' ( -- parser )\r
-   "?[" 'factor-code' "]?" syntax-pack ;\r
-\r
-: 'sequence' ( -- parser )\r
-  #! A sequence of terminals and non-terminals, including\r
-  #! groupings of those. \r
-  [\r
-    [ ('sequence') , 'action' , ] seq* [ first2 <ebnf-action> ] action ,\r
-    [ ('sequence') , 'semantic' , ] seq* [ first2 <ebnf-semantic> ] action ,\r
-    ('sequence') ,\r
-  ] choice* repeat1 [ \r
-     dup length 1 = [ first ] [ <ebnf-sequence> ] if\r
-  ] action ;\r
-\r
-: 'actioned-sequence' ( -- parser )\r
-  [\r
-    [ 'sequence' , "=>" syntax , 'action' , ] seq* [ first2 <ebnf-action> ] action ,\r
-    'sequence' ,\r
-  ] choice* ;\r
-  \r
-: 'choice' ( -- parser )\r
-  'actioned-sequence' sp repeat1 [ dup length 1 = [ first ] [ <ebnf-sequence> ] if  ] action "|" token sp list-of [ \r
-    dup length 1 = [ first ] [ <ebnf-choice> ] if\r
-  ] action ;\r
\r
-: 'tokenizer' ( -- parser )\r
-  [\r
-    "tokenizer" syntax ,\r
-    "=" syntax ,\r
-    ">" token ensure-not ,\r
-    [ "default" token sp , 'choice' , ] choice* ,\r
-  ] seq* [ first <ebnf-tokenizer> ] action ;\r
-\r
-: 'rule' ( -- parser )\r
-  [\r
-    "tokenizer" token ensure-not , \r
-    'non-terminal' [ symbol>> ] action  ,\r
-    "=" syntax  ,\r
-    ">" token ensure-not ,\r
-    'choice' ,\r
-  ] seq* [ first2 <ebnf-rule> ] action ;\r
-\r
-: 'ebnf' ( -- parser )\r
-  [ 'tokenizer' sp , 'rule' sp , ] choice* repeat1 [ <ebnf> ] action ;\r
-\r
-GENERIC: (transform) ( ast -- parser )\r
-\r
-SYMBOL: parser\r
-SYMBOL: main\r
-SYMBOL: ignore-ws\r
-\r
-: transform ( ast -- object )\r
-  H{ } clone dup dup [ \r
-    f ignore-ws set \r
-    parser set \r
-    swap (transform) \r
-    main set \r
-  ] bind ;\r
-\r
-M: ebnf (transform) ( ast -- parser )\r
-  rules>> [ (transform) ] map peek ;\r
-\r
-M: ebnf-tokenizer (transform) ( ast -- parser )\r
-  elements>> dup "default" = [\r
-    drop default-tokenizer \ tokenizer set-global any-char\r
-  ] [\r
-  (transform) \r
-  dup parser-tokenizer \ tokenizer set-global\r
-  ] if ;\r
-  \r
-M: ebnf-rule (transform) ( ast -- parser )\r
-  dup elements>> \r
-  (transform) [\r
-    swap symbol>> dup get parser? [ \r
-      "Rule '" over append "' defined more than once" append throw \r
-    ] [ \r
-      set \r
-    ] if\r
-  ] keep ;\r
-\r
-M: ebnf-sequence (transform) ( ast -- parser )\r
-  #! If ignore-ws is set then each element of the sequence\r
-  #! ignores leading whitespace. This is not inherited by\r
-  #! subelements of the sequence.\r
-  elements>> [ \r
-    f ignore-ws [ (transform) ] with-variable\r
-    ignore-ws get [ sp ] when\r
-  ] map seq [ dup length 1 = [ first ] when ] action ;\r
-\r
-M: ebnf-choice (transform) ( ast -- parser )\r
-  options>> [ (transform) ] map choice ;\r
-\r
-M: ebnf-any-character (transform) ( ast -- parser )\r
-  drop tokenizer any>> call ;\r
-\r
-M: ebnf-range (transform) ( ast -- parser )\r
-  pattern>> range-pattern ;\r
-\r
-: transform-group ( ast -- parser ) \r
-  #! convert a ast node with groups to a parser for that group\r
-  group>> (transform) ;\r
-\r
-M: ebnf-ensure (transform) ( ast -- parser )\r
-  transform-group ensure ;\r
-\r
-M: ebnf-ensure-not (transform) ( ast -- parser )\r
-  transform-group ensure-not ;\r
-\r
-M: ebnf-repeat0 (transform) ( ast -- parser )\r
-  transform-group repeat0 ;\r
-\r
-M: ebnf-repeat1 (transform) ( ast -- parser )\r
-  transform-group repeat1 ;\r
-\r
-M: ebnf-optional (transform) ( ast -- parser )\r
-  transform-group optional ;\r
-\r
-M: ebnf-whitespace (transform) ( ast -- parser )\r
-  t ignore-ws [ transform-group ] with-variable ;\r
-\r
-GENERIC: build-locals ( code ast -- code )\r
-\r
-M: ebnf-sequence build-locals ( code ast -- code )\r
-  #! Note the need to filter out this ebnf items that\r
-  #! leave nothing in the AST\r
-  elements>> filter-hidden dup length 1 = [ \r
-    first build-locals \r
-  ]  [\r
-    dup [ ebnf-var? ] filter empty? [\r
-      drop \r
-    ] [ \r
-      [\r
-        "USING: locals sequences ;  [let* | " %\r
-          dup length swap [\r
-            dup ebnf-var? [\r
-              name>> % \r
-              " [ " % # " over nth ] " %\r
-            ] [\r
-              2drop\r
-            ] if\r
-          ] 2each\r
-          " | " %\r
-          %  \r
-          " nip ]" %     \r
-      ] "" make \r
-    ] if\r
-  ] if ;\r
-\r
-M: ebnf-var build-locals ( code ast -- )\r
-  [\r
-    "USING: locals kernel ;  [let* | " %\r
-    name>> % " [ dup ] " %\r
-    " | " %\r
-    %  \r
-    " nip ]" %     \r
-  ] "" make ;\r
-\r
-M: object build-locals ( code ast -- )\r
-  drop ;\r
-   \r
-: check-action-effect ( quot -- quot )\r
-  dup infer {\r
-    { [ dup (( a -- b )) effect<= ] [ drop ] }\r
-    { [ dup (( -- b )) effect<= ] [ drop [ drop ] prepose ] }\r
-    [\r
-      [ \r
-        "Bad effect: " write effect>string write \r
-        " for quotation " write pprint\r
-      ] with-string-writer throw\r
-    ]\r
-  } cond ;\r
\r
-M: ebnf-action (transform) ( ast -- parser )\r
-  [ parser>> (transform) ] [ code>> insert-escapes ] [ parser>> ] tri build-locals  \r
-  string-lines parse-lines check-action-effect action ;\r
-\r
-M: ebnf-semantic (transform) ( ast -- parser )\r
-  [ parser>> (transform) ] [ code>> insert-escapes ] [ parser>> ] tri build-locals \r
-  string-lines parse-lines semantic ;\r
-\r
-M: ebnf-var (transform) ( ast -- parser )\r
-  parser>> (transform) ;\r
-\r
-M: ebnf-terminal (transform) ( ast -- parser )\r
-  symbol>> tokenizer one>> call ;\r
-\r
-M: ebnf-foreign (transform) ( ast -- parser )\r
-  dup word>> search\r
-  [ "Foreign word '" swap word>> append "' not found" append throw ] unless*\r
-  swap rule>> [ main ] unless* dupd swap rule [\r
-    nip\r
-  ] [\r
-    execute\r
-  ] if* ;\r
-\r
-: parser-not-found ( name -- * )\r
-  [\r
-    "Parser '" % % "' not found." %\r
-  ] "" make throw ;\r
-\r
-M: ebnf-non-terminal (transform) ( ast -- parser )\r
-  symbol>>  [\r
-    , \ dup , parser get , \ at , [ parser-not-found ] , \ unless* , \ nip ,    \r
-  ] [ ] make box ;\r
-\r
-: transform-ebnf ( string -- object )\r
-  'ebnf' parse transform ;\r
-\r
-: check-parse-result ( result -- result )\r
-  dup [\r
-    dup remaining>> [ blank? ] trim empty? [\r
-      [ \r
-        "Unable to fully parse EBNF. Left to parse was: " %\r
-        remaining>> % \r
-      ] "" make throw\r
-    ] unless\r
-  ] [\r
-    "Could not parse EBNF" throw\r
-  ] if ;\r
-\r
-: parse-ebnf ( string -- hashtable )\r
-  'ebnf' (parse) check-parse-result ast>> transform ;\r
-\r
-: ebnf>quot ( string -- hashtable quot )\r
-  parse-ebnf dup dup parser [ main swap at compile ] with-variable\r
-  [ compiled-parse ] curry [ with-scope ast>> ] curry ;\r
-\r
-: <EBNF "EBNF>" reset-tokenizer parse-multiline-string parse-ebnf main swap at  \r
-  parsed reset-tokenizer ; parsing\r
-\r
-: [EBNF "EBNF]" reset-tokenizer parse-multiline-string ebnf>quot nip \r
-  parsed \ call parsed reset-tokenizer ; parsing\r
-\r
-: EBNF: \r
-  reset-tokenizer CREATE-WORD dup ";EBNF" parse-multiline-string  \r
-  ebnf>quot swapd 1 1 <effect> define-declared "ebnf-parser" set-word-prop \r
-  reset-tokenizer ; parsing\r
-\r
-\r
-\r
diff --git a/extra/peg/ebnf/summary.txt b/extra/peg/ebnf/summary.txt
deleted file mode 100644 (file)
index 473cf4f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Grammar for parsing EBNF
diff --git a/extra/peg/ebnf/tags.txt b/extra/peg/ebnf/tags.txt
deleted file mode 100644 (file)
index 9da5688..0000000
+++ /dev/null
@@ -1 +0,0 @@
-parsing
diff --git a/extra/peg/peg.factor b/extra/peg/peg.factor
deleted file mode 100755 (executable)
index 0cf0382..0000000
+++ /dev/null
@@ -1,652 +0,0 @@
-! Copyright (C) 2007, 2008 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences strings fry namespaces math assocs shuffle debugger io
-       vectors arrays math.parser math.order vectors combinators
-       classes sets unicode.categories compiler.units parser
-       words quotations effects memoize accessors locals effects splitting 
-       combinators.short-circuit combinators.short-circuit.smart
-       generalizations ;
-IN: peg
-
-USE: prettyprint
-
-TUPLE: parse-result remaining ast ;
-TUPLE: parse-error position messages ; 
-TUPLE: parser peg compiled id ;
-
-M: parser equal?    { [ [ class ] bi@ = ] [ [ id>> ] bi@ = ] } 2&& ;
-M: parser hashcode* id>> hashcode* ;
-
-C: <parse-result> parse-result
-C: <parse-error>  parse-error
-
-M: parse-error error.
-  "Peg parsing error at character position " write dup position>> number>string write 
-  "." print "Expected " write messages>> [ " or " write ] [ write ] interleave nl ;
-
-SYMBOL: error-stack
-
-: (merge-errors) ( a b -- c )
-  {
-    { [ over position>> not ] [ nip ] } 
-    { [ dup  position>> not ] [ drop ] } 
-    [ 2dup [ position>> ] bi@ <=> {
-        { +lt+ [ nip ] }
-        { +gt+ [ drop ] }
-        { +eq+ [ messages>> over messages>> union [ position>> ] dip <parse-error> ] }
-      } case 
-    ]
-  } cond ;
-
-: merge-errors ( -- )
-  error-stack get dup length 1 >  [
-    dup pop over pop swap (merge-errors) swap push
-  ] [
-    drop
-  ] if ;
-
-: add-error ( remaining message -- )
-  <parse-error> error-stack get push ;
-  
-SYMBOL: ignore 
-
-: packrat ( id -- cache )
-  #! The packrat cache is a mapping of parser-id->cache.
-  #! For each parser it maps to a cache holding a mapping
-  #! of position->result. The packrat cache therefore keeps
-  #! track of all parses that have occurred at each position
-  #! of the input string and the results obtained from that
-  #! parser.
-  \ packrat get [ drop H{ } clone ] cache ;
-
-SYMBOL: pos
-SYMBOL: input
-SYMBOL: fail
-SYMBOL: lrstack
-
-: heads ( -- cache )
-  #! A mapping from position->peg-head.        It maps a
-  #! position in the input string being parsed to 
-  #! the head of the left recursion which is currently
-  #! being grown. It is 'f' at any position where
-  #! left recursion growth is not underway.
-  \ heads get ;
-
-: failed? ( obj -- ? )
-  fail = ;
-
-: peg-cache ( -- cache )
-  #! Holds a hashtable mapping a peg tuple to
-  #! the parser tuple for that peg. The parser tuple
-  #! holds a unique id and the compiled form of that peg.
-  \ peg-cache get-global [
-    H{ } clone dup \ peg-cache set-global
-  ] unless* ;
-
-: reset-pegs ( -- )
-  H{ } clone \ peg-cache set-global ;
-
-reset-pegs 
-
-#! An entry in the table of memoized parse results
-#! ast = an AST produced from the parse
-#!       or the symbol 'fail'
-#!       or a left-recursion object
-#! pos = the position in the input string of this entry
-TUPLE: memo-entry ans pos ;
-
-TUPLE: left-recursion seed rule-id head next ; 
-TUPLE: peg-head rule-id involved-set eval-set ;
-
-: rule-id ( word -- id ) 
-  #! A rule is the parser compiled down to a word. It has
-  #! a "peg-id" property containing the id of the original parser.
-  "peg-id" word-prop ;
-
-: input-slice ( -- slice )
-  #! Return a slice of the input from the current parse position
-  input get pos get tail-slice ;
-
-: input-from ( input -- n )
-  #! Return the index from the original string that the
-  #! input slice is based on.
-  dup slice? [ from>> ] [ drop 0 ] if ;
-
-: process-rule-result ( p result -- result )
-  [
-    nip [ ast>> ] [ remaining>> ] bi input-from pos set    
-  ] [ 
-    pos set fail
-  ] if* ; 
-
-: eval-rule ( rule -- ast )
-  #! Evaluate a rule, return an ast resulting from it.
-  #! Return fail if the rule failed. The rule has
-  #! stack effect ( -- parse-result )
-  pos get swap execute process-rule-result ; inline
-
-: memo ( pos id -- memo-entry )
-  #! Return the result from the memo cache. 
-  packrat at 
-!  "  memo result " write dup . 
-  ;
-
-: set-memo ( memo-entry pos id -- )
-  #! Store an entry in the cache
-  packrat set-at ;
-
-: update-m ( ast m -- )
-  swap >>ans pos get >>pos drop ;
-
-: stop-growth? ( ast m -- ? )
-  [ failed? pos get ] dip 
-  pos>> <= or ;
-
-: setup-growth ( h p -- )
-  pos set dup involved-set>> clone >>eval-set drop ;
-
-: (grow-lr) ( h p r: ( -- result ) m -- )
-  >r >r [ setup-growth ] 2keep r> r>
-  >r dup eval-rule r> swap
-  dup pick stop-growth? [
-    5 ndrop
-  ] [
-    over update-m
-    (grow-lr)
-  ] if ; inline recursive
-: grow-lr ( h p r m -- ast )
-  >r >r [ heads set-at ] 2keep r> r>
-  pick over >r >r (grow-lr) r> r>
-  swap heads delete-at
-  dup pos>> pos set ans>>
-  ; inline
-
-:: (setup-lr) ( r l s -- )
-  s head>> l head>> eq? [
-    l head>> s (>>head)
-    l head>> [ s rule-id>> suffix ] change-involved-set drop
-    r l s next>> (setup-lr)
-  ] unless ;
-
-:: setup-lr ( r l -- )
-  l head>> [
-    r rule-id V{ } clone V{ } clone peg-head boa l (>>head)
-  ] unless
-  r l lrstack get (setup-lr) ;
-
-:: lr-answer ( r p m -- ast )
-  [let* |
-          h [ m ans>> head>> ]
-        |
-    h rule-id>> r rule-id eq? [
-      m ans>> seed>> m (>>ans)
-      m ans>> failed? [
-        fail
-      ] [
-        h p r m grow-lr
-      ] if
-    ] [
-      m ans>> seed>>
-    ] if
-  ] ; inline
-
-:: recall ( r p -- memo-entry )
-  [let* |
-          m [ p r rule-id memo ]
-          h [ p heads at ]
-        |
-    h [
-      m r rule-id h involved-set>> h rule-id>> suffix member? not and [
-        fail p memo-entry boa
-      ] [
-        r rule-id h eval-set>> member? [
-          h [ r rule-id swap remove ] change-eval-set drop
-          r eval-rule
-          m update-m
-          m
-        ] [ 
-          m
-        ] if
-      ] if
-    ] [
-      m
-    ] if
-  ] ; inline
-
-:: apply-non-memo-rule ( r p -- ast )
-  [let* |
-          lr  [ fail r rule-id f lrstack get left-recursion boa ]
-          m   [ lr lrstack set lr p memo-entry boa dup p r rule-id set-memo ]
-          ans [ r eval-rule ]
-        |
-    lrstack get next>> lrstack set
-    pos get m (>>pos)
-    lr head>> [
-      ans lr (>>seed)
-      r p m lr-answer
-    ] [
-      ans m (>>ans)
-      ans
-    ] if
-  ] ; inline
-
-: apply-memo-rule ( r m -- ast )
-  [ ans>> ] [ pos>> ] bi pos set
-  dup left-recursion? [ 
-    [ setup-lr ] keep seed>>
-  ] [
-    nip
-  ] if ; 
-
-USE: prettyprint
-
-: apply-rule ( r p -- ast )
-!   2dup [ rule-id ] dip 2array "apply-rule: " write .
-   2dup recall [
-!     "  memoed" print
-     nip apply-memo-rule
-   ] [
-!     "  not memoed" print
-     apply-non-memo-rule
-   ] if* ; inline
-
-: with-packrat ( input quot -- result )
-  #! Run the quotation with a packrat cache active.
-  swap [ 
-    input set
-    0 pos set
-    f lrstack set
-    V{ } clone error-stack set
-    H{ } clone \ heads set
-    H{ } clone \ packrat set
-  ] H{ } make-assoc swap bind ; inline
-
-
-GENERIC: (compile) ( peg -- quot )
-
-: process-parser-result ( result -- result )
-  dup failed? [ 
-    drop f 
-  ] [
-    input-slice swap <parse-result>
-  ] if ;
-    
-: execute-parser ( word -- result )
-  pos get apply-rule process-parser-result ; inline
-
-: parser-body ( parser -- quot )
-  #! Return the body of the word that is the compiled version
-  #! of the parser.
-  gensym 2dup swap peg>> (compile) 0 1 <effect> define-declared swap dupd id>> "peg-id" set-word-prop
-  [ execute-parser ] curry ;
-
-: preset-parser-word ( parser -- parser word )
-  gensym [ >>compiled ] keep ;
-
-: define-parser-word ( parser word -- )
-  swap parser-body (( -- result )) define-declared ;
-
-: compile-parser ( parser -- word )
-  #! Look to see if the given parser has been compiled.
-  #! If not, compile it to a temporary word, cache it,
-  #! and return it. Otherwise return the existing one.
-  #! Circular parsers are supported by getting the word
-  #! name and storing it in the cache, before compiling, 
-  #! so it is picked up when re-entered.
-  dup compiled>> [
-    nip
-  ] [
-    preset-parser-word [ define-parser-word ] keep
-  ] if* ;
-
-SYMBOL: delayed
-
-: fixup-delayed ( -- )
-  #! Work through all delayed parsers and recompile their
-  #! words to have the correct bodies.
-  delayed get [
-    call compile-parser 1quotation 0 1 <effect> define-declared
-  ] assoc-each ;
-
-: compile ( parser -- word )
-  [
-    H{ } clone delayed [ 
-      compile-parser fixup-delayed 
-    ] with-variable
-  ] with-compilation-unit ;
-
-: compiled-parse ( state word -- result )
-  swap [ execute [ error-stack get first throw ] unless* ] with-packrat ; inline 
-
-: (parse) ( input parser -- result )
-  dup word? [ compile ] unless compiled-parse ;
-
-: parse ( input parser -- ast )
-  (parse) ast>> ;
-
-<PRIVATE
-
-SYMBOL: id 
-
-: next-id ( -- n )
-  #! Return the next unique id for a parser
-  id get-global [
-    dup 1+ id set-global
-  ] [
-    1 id set-global 0
-  ] if* ;
-
-: wrap-peg ( peg -- parser )
-  #! Wrap a parser tuple around the peg object.
-  #! Look for an existing parser tuple for that
-  #! peg object.
-  peg-cache [
-    f next-id parser boa 
-  ] cache ;
-
-TUPLE: token-parser symbol ;
-
-: parse-token ( input string -- result )
-  #! Parse the string, returning a parse result
-  [ ?head-slice ] keep swap [
-    <parse-result> f f add-error
-  ] [
-    >r drop pos get "token '" r> append "'" append 1vector add-error f
-  ] if ;
-
-M: token-parser (compile) ( peg -- quot )
-  symbol>> '[ input-slice , parse-token ] ;
-   
-TUPLE: satisfy-parser quot ;
-
-: parse-satisfy ( input quot -- result )
-  swap dup empty? [
-    2drop f 
-  ] [
-    unclip-slice rot dupd call [
-      <parse-result>
-    ] [  
-      2drop f
-    ] if
-  ] if ; inline
-
-
-M: satisfy-parser (compile) ( peg -- quot )
-  quot>> '[ input-slice , parse-satisfy ] ;
-
-TUPLE: range-parser min max ;
-
-: parse-range ( input min max -- result )
-  pick empty? [ 
-    3drop f 
-  ] [
-    pick first -rot between? [
-      unclip-slice <parse-result>
-    ] [ 
-      drop f
-    ] if
-  ] if ;
-
-M: range-parser (compile) ( peg -- quot )
-  [ min>> ] [ max>> ] bi '[ input-slice , , parse-range ] ;
-
-TUPLE: seq-parser parsers ;
-
-: ignore? ( ast -- bool )
-  ignore = ;
-
-: calc-seq-result ( prev-result current-result -- next-result )
-  [
-    [ remaining>> swap (>>remaining) ] 2keep
-    ast>> dup ignore? [  
-      drop
-    ] [
-      swap [ ast>> push ] keep
-    ] if
-  ] [
-    drop f
-  ] if* ;
-
-: parse-seq-element ( result quot -- result )
-  over [
-    call calc-seq-result
-  ] [
-    2drop f
-  ] if ; inline
-
-M: seq-parser (compile) ( peg -- quot )
-  [
-    [ input-slice V{ } clone <parse-result> ] %
-    [
-      parsers>> unclip compile-parser 1quotation [ parse-seq-element ] curry ,
-      [ compile-parser 1quotation [ merge-errors ] compose [ parse-seq-element ] curry , ] each 
-    ] { } make , \ && , 
-  ] [ ] make ;
-
-TUPLE: choice-parser parsers ;
-
-M: choice-parser (compile) ( peg -- quot )
-  [ 
-    [
-      parsers>> [ compile-parser ] map 
-      unclip 1quotation , [ 1quotation [ merge-errors ] compose , ] each
-    ] { } make , \ || ,
-  ] [ ] make ;
-
-TUPLE: repeat0-parser p1 ;
-
-: (repeat) ( quot: ( -- result ) result -- result )
-  over call [
-    [ remaining>> swap (>>remaining) ] 2keep 
-    ast>> swap [ ast>> push ] keep
-    (repeat) 
-  ] [
-    nip
-  ] if* ; inline recursive
-
-M: repeat0-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ 
-    input-slice V{ } clone <parse-result> , swap (repeat) 
-  ] ; 
-
-TUPLE: repeat1-parser p1 ;
-
-: repeat1-empty-check ( result -- result )
-  [
-    dup ast>> empty? [ drop f ] when
-  ] [
-    f
-  ] if* ;
-
-M: repeat1-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ 
-    input-slice V{ } clone <parse-result> , swap (repeat) repeat1-empty-check  
-  ] ; 
-
-TUPLE: optional-parser p1 ;
-
-: check-optional ( result -- result )
-  [ input-slice f <parse-result> ] unless* ;
-
-M: optional-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ @ check-optional ] ;
-
-TUPLE: semantic-parser p1 quot ;
-
-: check-semantic ( result quot -- result )
-  over [
-    over ast>> swap call [ drop f ] unless
-  ] [
-    drop
-  ] if ; inline
-
-M: semantic-parser (compile) ( peg -- quot )
-  [ p1>> compile-parser 1quotation ] [ quot>> ] bi  
-  '[ @ , check-semantic ] ;
-
-TUPLE: ensure-parser p1 ;
-
-: check-ensure ( old-input result -- result )
-  [ ignore <parse-result> ] [ drop f ] if ;
-
-M: ensure-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ input-slice @ check-ensure ] ;
-
-TUPLE: ensure-not-parser p1 ;
-
-: check-ensure-not ( old-input result -- result )
-  [ drop f ] [ ignore <parse-result> ] if ;
-
-M: ensure-not-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ input-slice @ check-ensure-not ] ;
-
-TUPLE: action-parser p1 quot ;
-
-: check-action ( result quot -- result )
-  over [
-    over ast>> swap call >>ast
-  ] [
-    drop
-  ] if ; inline
-
-M: action-parser (compile) ( peg -- quot )
-  [ p1>> compile-parser 1quotation ] [ quot>> ] bi '[ @ , check-action ] ;
-
-: left-trim-slice ( string -- string )
-  #! Return a new string without any leading whitespace
-  #! from the original string.
-  dup empty? [
-    dup first blank? [ rest-slice left-trim-slice ] when
-  ] unless ;
-
-TUPLE: sp-parser p1 ;
-
-M: sp-parser (compile) ( peg -- quot )
-  p1>> compile-parser 1quotation '[ 
-    input-slice left-trim-slice input-from pos set @ 
-  ] ;
-
-TUPLE: delay-parser quot ;
-
-M: delay-parser (compile) ( peg -- quot )
-  #! For efficiency we memoize the quotation.
-  #! This way it is run only once and the 
-  #! parser constructed once at run time.
-  quot>> gensym [ delayed get set-at ] keep 1quotation ; 
-
-TUPLE: box-parser quot ;
-
-M: box-parser (compile) ( peg -- quot )
-  #! Calls the quotation at compile time
-  #! to produce the parser to be compiled.
-  #! This differs from 'delay' which calls
-  #! it at run time.
-  quot>> call compile-parser 1quotation ;
-
-PRIVATE>
-
-: token ( string -- parser )
-  token-parser boa wrap-peg ;      
-
-: satisfy ( quot -- parser )
-  satisfy-parser boa wrap-peg ;
-
-: range ( min max -- parser )
-  range-parser boa wrap-peg ;
-
-: seq ( seq -- parser )
-  seq-parser boa wrap-peg ;
-
-: 2seq ( parser1 parser2 -- parser )
-  2array seq ;
-
-: 3seq ( parser1 parser2 parser3 -- parser )
-  3array seq ;
-
-: 4seq ( parser1 parser2 parser3 parser4 -- parser )
-  4array seq ;
-
-: seq* ( quot -- paser )
-  { } make seq ; inline 
-
-: choice ( seq -- parser )
-  choice-parser boa wrap-peg ;
-
-: 2choice ( parser1 parser2 -- parser )
-  2array choice ;
-
-: 3choice ( parser1 parser2 parser3 -- parser )
-  3array choice ;
-
-: 4choice ( parser1 parser2 parser3 parser4 -- parser )
-  4array choice ;
-
-: choice* ( quot -- paser )
-  { } make choice ; inline 
-
-: repeat0 ( parser -- parser )
-  repeat0-parser boa wrap-peg ;
-
-: repeat1 ( parser -- parser )
-  repeat1-parser boa wrap-peg ;
-
-: optional ( parser -- parser )
-  optional-parser boa wrap-peg ;
-
-: semantic ( parser quot -- parser )
-  semantic-parser boa wrap-peg ;
-
-: ensure ( parser -- parser )
-  ensure-parser boa wrap-peg ;
-
-: ensure-not ( parser -- parser )
-  ensure-not-parser boa wrap-peg ;
-
-: action ( parser quot -- parser )
-  action-parser boa wrap-peg ;
-
-: sp ( parser -- parser )
-  sp-parser boa wrap-peg ;
-
-: hide ( parser -- parser )
-  [ drop ignore ] action ;
-
-: delay ( quot -- parser )
-  delay-parser boa wrap-peg ;
-
-: box ( quot -- parser )
-  #! because a box has its quotation run at compile time
-  #! it must always have a new parser wrapper created, 
-  #! not a cached one. This is because the same box,
-  #! compiled twice can have a different compiled word
-  #! due to running at compile time.
-  #! Why the [ ] action at the end? Box parsers don't get
-  #! memoized during parsing due to all box parsers being
-  #! unique. This breaks left recursion detection during the
-  #! parse. The action adds an indirection with a parser type
-  #! that gets memoized and fixes this. Need to rethink how
-  #! to fix boxes so this isn't needed...
-  box-parser boa f next-id parser boa [ ] action ;
-
-ERROR: parse-failed input word ;
-
-M: parse-failed error.
-  "The " write dup word>> pprint " word could not parse the following input:" print nl
-  input>> . ;
-
-: PEG:
-  (:)
-  [let | def [ ] word [ ] |
-    [
-      [
-        [let | compiled-def [ def call compile ] |
-          [
-            dup compiled-def compiled-parse
-            [ ast>> ] [ word parse-failed ] ?if
-          ]
-          word swap define
-        ]
-      ] with-compilation-unit
-    ] over push-all
-  ] ; parsing
diff --git a/extra/syndication/authors.txt b/extra/syndication/authors.txt
deleted file mode 100755 (executable)
index 89b32ce..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Daniel Ehrenberg
-Chris Double
-Slava Pestov
diff --git a/extra/syndication/readme.txt b/extra/syndication/readme.txt
deleted file mode 100644 (file)
index 2e64b0d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-This library is a simple RSS2 parser and RSS reader web
-application. To run the web application you'll need to make sure you
-have the sqlite library working. This can be tested with
-
-  "contrib/sqlite" require
-  "contrib/sqlite" test-module
-
-Remember that to use "sqlite" you need to have done the following
-somewhere:
-
-  USE: alien
-  "sqlite" "/usr/lib/libsqlite3.so" "cdecl" add-library
-
-Replacing "libsqlite3.so" with the path to the sqlite shared library
-or DLL. I put this in my ~/.factor-rc.
-
-The RSS reader web application creates a database file called
-'rss-reader.db' in the same directory as the Factor executable when
-first started. This database contains all the feed information.
-
-To load the web application use:
-
-  "contrib/rss" require
-
-Fire up the web server and navigate to the URL:
-
-  http://localhost:8888/responder/maintain-feeds
-
-Add any RSS2 compatible feed. Use 'Update Feeds' to retrieve them and
-update the sqlite database with the feed contains. Use 'Database' to
-view the entries from the database for that feed.
-
diff --git a/extra/syndication/summary.txt b/extra/syndication/summary.txt
deleted file mode 100755 (executable)
index b65787a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RSS 1.0, 2.0 and Atom feed parser
diff --git a/extra/syndication/syndication-tests.factor b/extra/syndication/syndication-tests.factor
deleted file mode 100755 (executable)
index 73541e7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-USING: syndication io kernel io.files tools.test io.encodings.utf8
-calendar urls ;
-IN: syndication.tests
-
-\ download-feed must-infer
-\ feed>xml must-infer
-
-: load-news-file ( filename -- feed )
-    #! Load an news syndication file and process it, returning
-    #! it as an feed tuple.
-    utf8 file-contents read-feed ;
-
-[ T{
-    feed
-    f
-    "Meerkat"
-    URL" http://meerkat.oreillynet.com"
-    {
-        T{
-            entry
-            f
-            "XML: A Disruptive Technology"
-            URL" http://c.moreover.com/click/here.pl?r123"
-            "\n      XML is placing increasingly heavy loads on the existing technical\n      infrastructure of the Internet.\n    "
-            f
-        }
-    }
-} ] [ "resource:extra/syndication/test/rss1.xml" load-news-file ] unit-test
-[ T{
-    feed
-    f
-    "dive into mark"
-    URL" http://example.org/"
-    {
-        T{
-            entry
-            f
-            "Atom draft-07 snapshot"
-            URL" http://example.org/2005/04/02/atom"
-            "\n         <div xmlns=\"http://www.w3.org/1999/xhtml\">\n           <p><i>[Update: The Atom draft is finished.]</i></p>\n         </div>\n       "
-
-            T{ timestamp f 2003 12 13 8 29 29 T{ duration f 0 0 0 -4 0 0 } }
-        }
-    }
-} ] [ "resource:extra/syndication/test/atom.xml" load-news-file ] unit-test
diff --git a/extra/syndication/syndication.factor b/extra/syndication/syndication.factor
deleted file mode 100644 (file)
index 2fa8abc..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-! Copyright (C) 2006 Chris Double, Daniel Ehrenberg.
-! Portions copyright (C) 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: xml.utilities kernel assocs xml.generator math.order
-    strings sequences xml.data xml.writer
-    io.streams.string combinators xml xml.entities io.files io
-    http.client namespaces xml.generator hashtables
-    calendar.format accessors continuations urls present ;
-IN: syndication
-
-: any-tag-named ( tag names -- tag-inside )
-    f -rot [ tag-named nip dup ] with find 2drop ;
-
-TUPLE: feed title url entries ;
-
-: <feed> ( -- feed ) feed new ;
-
-TUPLE: entry title url description date ;
-
-: set-entries ( feed entries -- feed )
-    [ dup url>> ] dip
-    [ [ derive-url ] change-url ] with map
-    >>entries ;
-
-: <entry> ( -- entry ) entry new ;
-
-: try-parsing-timestamp ( string -- timestamp )
-    [ rfc822>timestamp ] [ drop rfc3339>timestamp ] recover ;
-
-: rss1.0-entry ( tag -- entry )
-    entry new
-    swap {
-        [ "title" tag-named children>string >>title ]
-        [ "link" tag-named children>string >url >>url ]
-        [ "description" tag-named children>string >>description ]
-        [
-            f "date" "http://purl.org/dc/elements/1.1/" <name>
-            tag-named dup [ children>string try-parsing-timestamp ] when
-            >>date
-        ]
-    } cleave ;
-
-: rss1.0 ( xml -- feed )
-    feed new
-    swap [
-        "channel" tag-named
-        [ "title" tag-named children>string >>title ]
-        [ "link" tag-named children>string >url >>url ] bi
-    ] [ "item" tags-named [ rss1.0-entry ] map set-entries ] bi ;
-
-: rss2.0-entry ( tag -- entry )
-    entry new
-    swap {
-        [ "title" tag-named children>string >>title ]
-        [ { "link" "guid" } any-tag-named children>string >url >>url ]
-        [ { "description" "encoded" } any-tag-named children>string >>description ]
-        [
-            { "date" "pubDate" } any-tag-named
-            children>string try-parsing-timestamp >>date
-        ]
-    } cleave ;
-
-: rss2.0 ( xml -- feed )
-    feed new
-    swap
-    "channel" tag-named 
-    [ "title" tag-named children>string >>title ]
-    [ "link" tag-named children>string >url >>url ]
-    [ "item" tags-named [ rss2.0-entry ] map set-entries ]
-    tri ;
-
-: atom1.0-entry ( tag -- entry )
-    entry new
-    swap {
-        [ "title" tag-named children>string >>title ]
-        [ "link" tag-named "href" swap at >url >>url ]
-        [
-            { "content" "summary" } any-tag-named
-            dup children>> [ string? not ] contains?
-            [ children>> [ write-chunk ] with-string-writer ]
-            [ children>string ] if >>description
-        ]
-        [
-            { "published" "updated" "issued" "modified" } 
-            any-tag-named children>string try-parsing-timestamp
-            >>date
-        ]
-    } cleave ;
-
-: atom1.0 ( xml -- feed )
-    feed new
-    swap
-    [ "title" tag-named children>string >>title ]
-    [ "link" tag-named "href" swap at >url >>url ]
-    [ "entry" tags-named [ atom1.0-entry ] map set-entries ]
-    tri ;
-
-: xml>feed ( xml -- feed )
-    dup main>> {
-        { "RDF" [ rss1.0 ] }
-        { "rss" [ rss2.0 ] }
-        { "feed" [ atom1.0 ] }
-    } case ;
-
-: read-feed ( string -- feed )
-    [ string>xml xml>feed ] with-html-entities ;
-
-: download-feed ( url -- feed )
-    #! Retrieve an news syndication file, return as a feed tuple.
-    http-get nip read-feed ;
-
-! Atom generation
-: simple-tag, ( content name -- )
-    [ , ] tag, ;
-
-: simple-tag*, ( content name attrs -- )
-    [ , ] tag*, ;
-
-: entry, ( entry -- )
-    "entry" [
-        {
-            [ title>> "title" { { "type" "html" } } simple-tag*, ]
-            [ url>> present "href" associate "link" swap contained*, ]
-            [ date>> timestamp>rfc3339 "published" simple-tag, ]
-            [ description>> [ "content" { { "type" "html" } } simple-tag*, ] when* ]
-        } cleave
-    ] tag, ;
-
-: feed>xml ( feed -- xml )
-    "feed" { { "xmlns" "http://www.w3.org/2005/Atom" } } [
-        [ title>> "title" simple-tag, ]
-        [ url>> present "href" associate "link" swap contained*, ]
-        [ entries>> [ entry, ] each ]
-        tri
-    ] make-xml* ;
diff --git a/extra/syndication/tags.txt b/extra/syndication/tags.txt
deleted file mode 100644 (file)
index c077218..0000000
+++ /dev/null
@@ -1 +0,0 @@
-web
diff --git a/extra/syndication/test/atom.xml b/extra/syndication/test/atom.xml
deleted file mode 100644 (file)
index d019566..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-   <feed xmlns="http://www.w3.org/2005/Atom">
-     <title type="text">dive into mark</title>
-     <subtitle type="html">
-       A &lt;em&gt;lot&lt;/em&gt; of effort
-       went into making this effortless
-     </subtitle>
-     <updated>2005-07-31T12:29:29Z</updated>
-     <id>tag:example.org,2003:3</id>
-     <link rel="alternate" type="text/html"
-      hreflang="en" href="http://example.org/"/>
-     <link rel="self" type="application/atom+xml"
-      href="http://example.org/feed.atom"/>
-     <rights>Copyright (c) 2003, Mark Pilgrim</rights>
-     <generator uri="http://www.example.com/" version="1.0">
-       Example Toolkit
-     </generator>
-     <entry>
-       <title>Atom draft-07 snapshot</title>
-       <link rel="alternate" type="text/html"
-        href="http://example.org/2005/04/02/atom"/>
-       <link rel="enclosure" type="audio/mpeg" length="1337"
-        href="http://example.org/audio/ph34r_my_podcast.mp3"/>
-       <id>tag:example.org,2003:3.2397</id>
-       <updated>2005-07-31T12:29:29Z</updated>
-       <published>2003-12-13T08:29:29-04:00</published>
-       <author>
-         <name>Mark Pilgrim</name>
-         <uri>http://example.org/</uri>
-         <email>f8dy@example.com</email>
-       </author>
-       <contributor>
-         <name>Sam Ruby</name>
-       </contributor>
-       <contributor>
-         <name>Joe Gregorio</name>
-       </contributor>
-       <content type="xhtml" xml:lang="en"
-        xml:base="http://diveintomark.org/">
-         <div xmlns="http://www.w3.org/1999/xhtml">
-           <p><i>[Update: The Atom draft is finished.]</i></p>
-         </div>
-       </content>
-     </entry>
-   </feed>
diff --git a/extra/syndication/test/rss1.xml b/extra/syndication/test/rss1.xml
deleted file mode 100644 (file)
index 78a253b..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?> 
-
-<rdf:RDF 
-  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
-  xmlns:co="http://purl.org/rss/1.0/modules/company/"
-  xmlns:ti="http://purl.org/rss/1.0/modules/textinput/"
-  xmlns="http://purl.org/rss/1.0/"
-> 
-
-  <channel rdf:about="http://meerkat.oreillynet.com/?_fl=rss1.0">
-    <title>Meerkat</title>
-    <link>http://meerkat.oreillynet.com</link>
-    <description>Meerkat: An Open Wire Service</description>
-    <dc:publisher>The O'Reilly Network</dc:publisher>
-    <dc:creator>Rael Dornfest (mailto:rael@oreilly.com)</dc:creator>
-    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
-    <dc:date>2000-01-01T12:00+00:00</dc:date>
-    <sy:updatePeriod>hourly</sy:updatePeriod>
-    <sy:updateFrequency>2</sy:updateFrequency>
-    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
-
-    <image rdf:resource="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg" />
-
-    <items>
-      <rdf:Seq>
-        <rdf:li resource="http://c.moreover.com/click/here.pl?r123" />
-      </rdf:Seq>
-    </items>
-
-    <textinput rdf:resource="http://meerkat.oreillynet.com" />
-
-  </channel>
-
-  <image rdf:about="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg">
-    <title>Meerkat Powered!</title>
-    <url>http://meerkat.oreillynet.com/icons/meerkat-powered.jpg</url>
-    <link>http://meerkat.oreillynet.com</link>
-  </image>
-
-  <item rdf:about="http://c.moreover.com/click/here.pl?r123">
-    <title>XML: A Disruptive Technology</title> 
-    <link>http://c.moreover.com/click/here.pl?r123</link>
-    <dc:description>
-      XML is placing increasingly heavy loads on the existing technical
-      infrastructure of the Internet.
-    </dc:description>
-    <dc:publisher>The O'Reilly Network</dc:publisher>
-    <dc:creator>Simon St.Laurent (mailto:simonstl@simonstl.com)</dc:creator>
-    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
-    <dc:subject>XML</dc:subject>
-    <co:name>XML.com</co:name>
-    <co:market>NASDAQ</co:market>
-    <co:symbol>XML</co:symbol>
-  </item> 
-
-  <textinput rdf:about="http://meerkat.oreillynet.com">
-    <title>Search Meerkat</title>
-    <description>Search Meerkat's RSS Database...</description>
-    <name>s</name>
-    <link>http://meerkat.oreillynet.com/</link>
-    <ti:function>search</ti:function>
-    <ti:inputType>regex</ti:inputType>
-  </textinput>
-
-</rdf:RDF>
index 8814af6c0ad673d680c15f23e64dd4ecaea53119..9c1fb5e7db85023ba10aea5f55c3718ea1e0bd5c 100644 (file)
@@ -16,10 +16,14 @@ Images can be embedded in the text:
 
 [[image:http://factorcode.org/graphics/logo.png]]
 
+Lists:
+
 - a list
 - with three
 - items
 
+Tables:
+
 |a table|with|four|columns|
 |and|two|rows|...|
 
index 1ae7f63a27f9e4b71b132ae50b2964589ea7ac0f..11d8fa27c2d39d74d91ac081655c9fb928d344e6 100644 (file)
@@ -76,8 +76,8 @@ SYMBOL: dh-file
     init-factor-db ;
 
 : init-testing ( -- )
-    "resource:extra/openssl/test/dh1024.pem" dh-file set-global
-    "resource:extra/openssl/test/server.pem" key-file set-global
+    "resource:basis/openssl/test/dh1024.pem" dh-file set-global
+    "resource:basis/openssl/test/server.pem" key-file set-global
     "password" key-password set-global
     common-configuration ;
 
diff --git a/extra/xmode/README.txt b/extra/xmode/README.txt
deleted file mode 100755 (executable)
index 07d56dd..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-This is a Factor port of the jEdit 4.3 syntax highlighting engine
-(http://www.jedit.org).
-
-jEdit 1.2, released in late 1998, was the first release to support
-syntax highlighting. It featured a small number of hand-coded
-"token markers" -- simple incremental parers -- all based on the
-original JavaTokenMarker contributed by Tal Davidson.
-
-Around the time of jEdit 1.5 in 1999, Mike Dillon began developing a
-jEdit plugin named "XMode". This plugin implemented a generic,
-rule-driven token marker which read mode descriptions from XML files.
-XMode eventually matured to the point where it could replace the
-formerly hand-coded token markers.
-
-With the release of jEdit 2.4, I merged XMode into the core and
-eliminated the old hand-coded token markers.
-
-XMode suffers from a somewhat archaic design, and was written at a time
-when Java VMs with JIT compilers were relatively uncommon, object
-allocation was expensive, and heap space tight. As a result the parser
-design is less general than it could be.
-
-Furthermore, the parser has a few bugs which some mode files have come
-to depend on:
-
-- If a RULES tag does not define any keywords or rules, then its
-  NO_WORD_SEP attribute is ignored.
-
-  The Factor implementation duplicates this behavior.
-
-- if a RULES tag does not have a NO_WORD_SEP attribute, then
-  it inherits the value of the NO_WORD_SEP attribute from the previous
-  RULES tag.
-
-  The Factor implementation does not duplicate this behavior. If you
-  find a mode file which depends on this flaw, please fix it and submit
-  the changes to the jEdit project.
-
-- References to non-existent rule sets in IMPORT tags and DELEGATE
-  attributes were ignored in jEdit. They raise an error in Factor.
-
-If you wish to contribute a new or improved mode file, please contact
-the jEdit project. Updated mode files in jEdit will be periodically
-imported into the Factor source tree.
diff --git a/extra/xmode/authors.txt b/extra/xmode/authors.txt
deleted file mode 100644 (file)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/catalog/authors.txt b/extra/xmode/catalog/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/catalog/catalog-tests.factor b/extra/xmode/catalog/catalog-tests.factor
deleted file mode 100644 (file)
index 75e377b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-IN: xmode.catalog.tests
-USING: xmode.catalog tools.test hashtables assocs
-kernel sequences io ;
-
-[ t ] [ modes hashtable? ] unit-test
-
-[ ] [
-    modes keys [
-        dup print flush load-mode drop reset-modes
-    ] each
-] unit-test
diff --git a/extra/xmode/catalog/catalog.factor b/extra/xmode/catalog/catalog.factor
deleted file mode 100755 (executable)
index 26147c7..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-USING: xmode.loader xmode.utilities xmode.rules namespaces
-strings splitting assocs sequences kernel io.files xml memoize
-words globs combinators io.encodings.utf8 sorting accessors ;
-IN: xmode.catalog
-
-TUPLE: mode file file-name-glob first-line-glob ;
-
-<TAGS: parse-mode-tag ( modes tag -- )
-
-TAG: MODE
-    "NAME" over at >r
-    mode new {
-        { "FILE" f (>>file) }
-        { "FILE_NAME_GLOB" f (>>file-name-glob) }
-        { "FIRST_LINE_GLOB" f (>>first-line-glob) }
-    } init-from-tag r>
-    rot set-at ;
-
-TAGS>
-
-: parse-modes-tag ( tag -- modes )
-    H{ } clone [
-        swap child-tags [ parse-mode-tag ] with each
-    ] keep ;
-
-MEMO: modes ( -- modes )
-    "resource:extra/xmode/modes/catalog"
-    file>xml parse-modes-tag ;
-
-MEMO: mode-names ( -- modes )
-    modes keys natural-sort ;
-
-: reset-catalog ( -- )
-    \ modes reset-memoized ;
-
-MEMO: (load-mode) ( name -- rule-sets )
-    modes at [
-        file>>
-        "resource:extra/xmode/modes/" prepend
-        utf8 <file-reader> parse-mode
-    ] [
-        "text" (load-mode)
-    ] if* ;
-
-SYMBOL: rule-sets
-
-: no-such-rule-set ( name -- * )
-    "No such rule set: " prepend throw ;
-
-: get-rule-set ( name -- rule-sets rules )
-    dup "::" split1 [ swap (load-mode) ] [ rule-sets get ] if*
-    dup -roll at* [ nip ] [ drop no-such-rule-set ] if ;
-
-: resolve-delegate ( rule -- )
-    dup delegate>> dup string?
-    [ get-rule-set nip swap (>>delegate) ] [ 2drop ] if ;
-
-: each-rule ( rule-set quot -- )
-    >r rules>> values concat r> each ; inline
-
-: resolve-delegates ( ruleset -- )
-    [ resolve-delegate ] each-rule ;
-
-: ?update ( keyword-map/f keyword-map -- keyword-map )
-    over [ dupd update ] [ nip clone ] if ;
-
-: import-keywords ( parent child -- )
-    over >r [ keywords>> ] bi@ ?update
-    r> (>>keywords) ;
-
-: import-rules ( parent child -- )
-    swap [ add-rule ] curry each-rule ;
-
-: resolve-imports ( ruleset -- )
-    dup imports>> [
-        get-rule-set swap rule-sets [
-            dup resolve-delegates
-            2dup import-keywords
-            import-rules
-        ] with-variable
-    ] with each ;
-
-ERROR: mutually-recursive-rulesets ruleset ;
-: finalize-rule-set ( ruleset -- )
-    dup finalized?>> {
-        { f [
-            {
-                [ 1 >>finalized? drop ]
-                [ resolve-imports ]
-                [ resolve-delegates ]
-                [ t >>finalized? drop ]
-            } cleave
-        ] }
-        { t [ drop ] }
-        { 1 [ mutually-recursive-rulesets ] }
-    } case ;
-
-: finalize-mode ( rulesets -- )
-    rule-sets [
-        dup [ nip finalize-rule-set ] assoc-each
-    ] with-variable ;
-
-: load-mode ( name -- rule-sets )
-    (load-mode) dup finalize-mode ;
-
-: reset-modes ( -- )
-    \ (load-mode) reset-memoized ;
-
-: ?glob-matches ( string glob/f -- ? )
-    dup [ glob-matches? ] [ 2drop f ] if ;
-
-: suitable-mode? ( file-name first-line mode -- ? )
-    tuck first-line-glob>> ?glob-matches
-    [ 2drop t ] [ file-name-glob>> ?glob-matches ] if ;
-
-: find-mode ( file-name first-line -- mode )
-    modes
-    [ nip >r 2dup r> suitable-mode? ] assoc-find
-    2drop >r 2drop r> [ "text" ] unless* ;
diff --git a/extra/xmode/code2html/authors.txt b/extra/xmode/code2html/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/code2html/code2html.factor b/extra/xmode/code2html/code2html.factor
deleted file mode 100755 (executable)
index 028d9b6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-USING: xmode.tokens xmode.marker xmode.catalog kernel
-html.elements io io.files sequences words io.encodings.utf8
-namespaces xml.entities accessors ;
-IN: xmode.code2html
-
-: htmlize-tokens ( tokens -- )
-    [
-        [ str>> ] [ id>> ] bi [
-            <span name>> =class span> escape-string write </span>
-        ] [
-            escape-string write
-        ] if*
-    ] each ;
-
-: htmlize-line ( line-context line rules -- line-context' )
-    tokenize-line htmlize-tokens ;
-
-: htmlize-lines ( lines mode -- )
-    f swap load-mode [ htmlize-line nl ] curry reduce drop ;
-
-: default-stylesheet ( -- )
-    <style>
-        "resource:extra/xmode/code2html/stylesheet.css"
-        utf8 file-contents escape-string write
-    </style> ;
-
-: htmlize-stream ( path stream -- )
-    lines swap
-    <html>
-        <head>
-            default-stylesheet
-            <title> dup escape-string write </title>
-        </head>
-        <body>
-            <pre>
-                over empty?
-                [ 2drop ]
-                [ over first find-mode htmlize-lines ] if
-            </pre>
-        </body>
-    </html> ;
-
-: htmlize-file ( path -- )
-    dup utf8 [
-        dup ".html" append utf8 [
-            input-stream get htmlize-stream
-        ] with-file-writer
-    ] with-file-reader ;
diff --git a/extra/xmode/code2html/responder/responder.factor b/extra/xmode/code2html/responder/responder.factor
deleted file mode 100755 (executable)
index 2bc766d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-! Copyright (C) 2007, 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: io io.files io.encodings.utf8 namespaces http.server\r
-http.server.responses http.server.static http xmode.code2html\r
-kernel sequences accessors fry ;\r
-IN: xmode.code2html.responder\r
-\r
-: <sources> ( root -- responder )\r
-    [\r
-        drop\r
-        dup '[\r
-            , utf8 [\r
-                , file-name input-stream get htmlize-stream\r
-            ] with-file-reader\r
-        ] "text/html" <content>\r
-    ] <file-responder> ;\r
diff --git a/extra/xmode/code2html/stylesheet.css b/extra/xmode/code2html/stylesheet.css
deleted file mode 100644 (file)
index 4cd4f8b..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-.NULL {
-color: #000000;
-}
-.COMMENT1 {
-color: #cc0000;
-}
-.COMMENT2 {
-color: #ff8400;
-}
-.COMMENT3 {
-color: #6600cc;
-}
-.COMMENT4 {
-color: #cc6600;
-}
-.DIGIT {
-color: #ff0000;
-}
-.FUNCTION {
-color: #9966ff;
-}
-.INVALID {
-background: #ffffcc;
-color: #ff0066;
-}
-.KEYWORD1 {
-color: #006699;
-font-weight: bold;
-}
-.KEYWORD2 {
-color: #009966;
-font-weight: bold;
-}
-.KEYWORD3 {
-color: #0099ff;
-font-weight: bold;
-}
-.KEYWORD4 {
-color: #66ccff;
-font-weight: bold;
-}
-.LABEL {
-color: #02b902;
-}
-.LITERAL1 {
-color: #ff00cc;
-}
-.LITERAL2 {
-color: #cc00cc;
-}
-.LITERAL3 {
-color: #9900cc;
-}
-.LITERAL4 {
-color: #6600cc;
-}
-.MARKUP {
-color: #0000ff;
-}
-.OPERATOR {
-color: #000000;
-font-weight: bold;
-}
diff --git a/extra/xmode/keyword-map/authors.txt b/extra/xmode/keyword-map/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/keyword-map/keyword-map-tests.factor b/extra/xmode/keyword-map/keyword-map-tests.factor
deleted file mode 100644 (file)
index b14bbd0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-IN: xmode.keyword-map.tests
-USING: xmode.keyword-map xmode.tokens
-tools.test namespaces assocs kernel strings ;
-
-f <keyword-map> dup "k" set
-
-{
-    { "int" KEYWORD1 }
-    { "void" KEYWORD2 }
-    { "size_t" KEYWORD3 }
-} update
-
-[ 3 ] [ "k" get assoc-size ] unit-test
-[ KEYWORD1 ] [ "int" "k" get at ] unit-test
-[ "_" ] [ "k" get keyword-map-no-word-sep* >string ] unit-test
-[ ] [ LITERAL1 "x-y" "k" get set-at ] unit-test
-[ "-_" ] [ "k" get keyword-map-no-word-sep* >string ] unit-test
-
-t <keyword-map> dup "k" set
-{
-    { "Foo" KEYWORD1 }
-    { "bbar" KEYWORD2 }
-    { "BAZ" KEYWORD3 }
-} update
-
-[ KEYWORD1 ] [ "fOo" "k" get at ] unit-test
-
-[ KEYWORD2 ] [ "BBAR" "k" get at ] unit-test
-
-[ KEYWORD3 ] [ "baz" "k" get at ] unit-test
diff --git a/extra/xmode/keyword-map/keyword-map.factor b/extra/xmode/keyword-map/keyword-map.factor
deleted file mode 100644 (file)
index 877eda4..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-! Copyright (C) 2007, 2008 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel strings assocs sequences hashtables
-sorting unicode.case unicode.categories sets ;
-IN: xmode.keyword-map
-
-! Based on org.gjt.sp.jedit.syntax.KeywordMap
-TUPLE: keyword-map no-word-sep ignore-case? assoc ;
-
-: <keyword-map> ( ignore-case? -- map )
-    keyword-map new
-        swap >>ignore-case?
-        H{ } clone >>assoc ;
-
-: invalid-no-word-sep ( keyword-map -- ) f >>no-word-sep drop ;
-
-: handle-case ( key keyword-map -- key assoc )
-    [ ignore-case?>> [ >upper ] when ] [ assoc>> ] bi ;
-
-M: keyword-map assoc-size
-    assoc>> assoc-size ;
-
-M: keyword-map at* handle-case at* ;
-
-M: keyword-map set-at
-    [ handle-case set-at ] [ invalid-no-word-sep ] bi ;
-
-M: keyword-map clear-assoc
-    [ assoc>> clear-assoc ] [ invalid-no-word-sep ] bi ;
-
-M: keyword-map >alist
-    assoc>> >alist ;
-
-: (keyword-map-no-word-sep) ( assoc -- str )
-    keys concat [ alpha? not ] filter prune natural-sort ;
-
-: keyword-map-no-word-sep* ( keyword-map -- str )
-    dup no-word-sep>> [ ] [
-        dup (keyword-map-no-word-sep) >>no-word-sep
-        keyword-map-no-word-sep*
-    ] ?if ;
-
-INSTANCE: keyword-map assoc
diff --git a/extra/xmode/loader/authors.txt b/extra/xmode/loader/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/loader/loader.factor b/extra/xmode/loader/loader.factor
deleted file mode 100755 (executable)
index 28c0de4..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-USING: xmode.loader.syntax xmode.tokens xmode.rules
-xmode.keyword-map xml.data xml.utilities xml assocs kernel
-combinators sequences math.parser namespaces parser
-xmode.utilities regexp io.files accessors ;
-IN: xmode.loader
-
-! Based on org.gjt.sp.jedit.XModeHandler
-
-! RULES and its children
-<TAGS: parse-rule-tag ( rule-set tag -- )
-
-TAG: PROPS
-    parse-props-tag >>props drop ;
-
-TAG: IMPORT
-    "DELEGATE" swap at swap import-rule-set ;
-
-TAG: TERMINATE
-    "AT_CHAR" swap at string>number >>terminate-char drop ;
-
-RULE: SEQ seq-rule
-    shared-tag-attrs delegate-attr literal-start ;
-
-RULE: SEQ_REGEXP seq-rule
-    shared-tag-attrs delegate-attr regexp-attr regexp-start ;
-
-RULE: SPAN span-rule
-    shared-tag-attrs delegate-attr match-type-attr span-attrs parse-begin/end-tags init-span-tag ;
-
-RULE: SPAN_REGEXP span-rule
-    shared-tag-attrs delegate-attr match-type-attr span-attrs regexp-attr parse-begin/end-tags init-span-tag ;
-
-RULE: EOL_SPAN eol-span-rule
-    shared-tag-attrs delegate-attr match-type-attr literal-start init-eol-span-tag ;
-
-RULE: EOL_SPAN_REGEXP eol-span-rule
-    shared-tag-attrs delegate-attr match-type-attr regexp-attr regexp-start init-eol-span-tag ;
-
-RULE: MARK_FOLLOWING mark-following-rule
-    shared-tag-attrs match-type-attr literal-start ;
-
-RULE: MARK_PREVIOUS mark-previous-rule
-    shared-tag-attrs match-type-attr literal-start ;
-
-TAG: KEYWORDS ( rule-set tag -- key value )
-    ignore-case? get <keyword-map>
-    swap child-tags [ over parse-keyword-tag ] each
-    swap (>>keywords) ;
-
-TAGS>
-
-: ?<regexp> ( string/f -- regexp/f )
-    dup [ ignore-case? get <regexp> ] when ;
-
-: (parse-rules-tag) ( tag -- rule-set )
-    <rule-set>
-    {
-        { "SET" string>rule-set-name (>>name) }
-        { "IGNORE_CASE" string>boolean (>>ignore-case?) }
-        { "HIGHLIGHT_DIGITS" string>boolean (>>highlight-digits?) }
-        { "DIGIT_RE" ?<regexp> (>>digit-re) }
-        { "ESCAPE" f add-escape-rule }
-        { "DEFAULT" string>token (>>default) }
-        { "NO_WORD_SEP" f (>>no-word-sep) }
-    } init-from-tag ;
-
-: parse-rules-tag ( tag -- rule-set )
-    dup (parse-rules-tag) [
-        dup ignore-case?>> ignore-case? [
-            swap child-tags [ parse-rule-tag ] with each
-        ] with-variable
-    ] keep ;
-
-: merge-rule-set-props ( props rule-set -- )
-    [ assoc-union ] change-props drop ;
-
-! Top-level entry points
-: parse-mode-tag ( tag -- rule-sets )
-    dup "RULES" tags-named [
-        parse-rules-tag dup name>> swap
-    ] H{ } map>assoc
-    swap "PROPS" tag-named [
-        parse-props-tag over values
-        [ merge-rule-set-props ] with each
-    ] when* ;
-
-: parse-mode ( stream -- rule-sets )
-    read-xml parse-mode-tag ;
diff --git a/extra/xmode/loader/syntax/authors.txt b/extra/xmode/loader/syntax/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/loader/syntax/syntax.factor b/extra/xmode/loader/syntax/syntax.factor
deleted file mode 100644 (file)
index 5512b68..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-USING: accessors xmode.tokens xmode.rules xmode.keyword-map xml.data
-xml.utilities xml assocs kernel combinators sequences
-math.parser namespaces parser lexer xmode.utilities regexp io.files ;
-IN: xmode.loader.syntax
-
-SYMBOL: ignore-case?
-
-! Rule tag parsing utilities
-: (parse-rule-tag) ( rule-set tag specs class -- )
-    new swap init-from-tag swap add-rule ; inline
-
-: RULE:
-    scan scan-word
-    parse-definition { } make
-    swap [ (parse-rule-tag) ] 2curry (TAG:) ; parsing
-
-! Attribute utilities
-: string>boolean ( string -- ? ) "TRUE" = ;
-
-: string>match-type ( string -- obj )
-    {
-        { "RULE" [ f ] }
-        { "CONTEXT" [ t ] }
-        [ string>token ]
-    } case ;
-
-: string>rule-set-name ( string -- name ) "MAIN" or ;
-
-! PROP, PROPS
-: parse-prop-tag ( tag -- key value )
-    "NAME" over at "VALUE" rot at ;
-
-: parse-props-tag ( tag -- assoc )
-    child-tags
-    [ parse-prop-tag ] H{ } map>assoc ;
-
-: position-attrs ( tag -- at-line-start? at-whitespace-end? at-word-start? )
-    ! XXX Wrong logic!
-    { "AT_LINE_START" "AT_WHITESPACE_END" "AT_WORD_START" }
-    swap [ at string>boolean ] curry map first3 ;
-
-: parse-literal-matcher ( tag -- matcher )
-    dup children>string
-    ignore-case? get <string-matcher>
-    swap position-attrs <matcher> ;
-
-: parse-regexp-matcher ( tag -- matcher )
-    dup children>string ignore-case? get <regexp>
-    swap position-attrs <matcher> ;
-
-: shared-tag-attrs ( -- )
-    { "TYPE" string>token (>>body-token) } , ; inline
-
-: delegate-attr ( -- )
-    { "DELEGATE" f (>>delegate) } , ;
-
-: regexp-attr ( -- )
-    { "HASH_CHAR" f (>>chars) } , ;
-
-: match-type-attr ( -- )
-    { "MATCH_TYPE" string>match-type (>>match-token) } , ;
-
-: span-attrs ( -- )
-    { "NO_LINE_BREAK" string>boolean (>>no-line-break?) } ,
-    { "NO_WORD_BREAK" string>boolean (>>no-word-break?) } ,
-    { "NO_ESCAPE" string>boolean (>>no-escape?) } , ;
-
-: literal-start ( -- )
-    [ parse-literal-matcher >>start drop ] , ;
-
-: regexp-start ( -- )
-    [ parse-regexp-matcher >>start drop ] , ;
-
-: literal-end ( -- )
-    [ parse-literal-matcher >>end drop ] , ;
-
-! SPAN's children
-<TAGS: parse-begin/end-tag ( rule tag -- )
-
-TAG: BEGIN
-    ! XXX
-    parse-literal-matcher >>start drop ;
-
-TAG: END
-    ! XXX
-    parse-literal-matcher >>end drop ;
-
-TAGS>
-
-: parse-begin/end-tags ( -- )
-    [
-        ! XXX: handle position attrs on span tag itself
-        child-tags [ parse-begin/end-tag ] with each
-    ] , ;
-
-: init-span-tag ( -- ) [ drop init-span ] , ;
-
-: init-eol-span-tag ( -- ) [ drop init-eol-span ] , ;
-
-: parse-keyword-tag ( tag keyword-map -- )
-    >r dup main>> string>token swap children>string r> set-at ;
diff --git a/extra/xmode/marker/authors.txt b/extra/xmode/marker/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/marker/context/authors.txt b/extra/xmode/marker/context/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/marker/context/context.factor b/extra/xmode/marker/context/context.factor
deleted file mode 100644 (file)
index da20503..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-USING: accessors kernel ;
-IN: xmode.marker.context
-
-! Based on org.gjt.sp.jedit.syntax.TokenMarker.LineContext
-TUPLE: line-context
-parent
-in-rule
-in-rule-set
-end
-;
-
-: <line-context> ( ruleset parent -- line-context )
-    over [ "no context" throw ] unless
-    line-context new
-        swap >>parent
-        swap >>in-rule-set ;
-
-M: line-context clone
-    call-next-method [ clone ] change-parent ;
diff --git a/extra/xmode/marker/marker-tests.factor b/extra/xmode/marker/marker-tests.factor
deleted file mode 100755 (executable)
index 1d05985..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-USING: xmode.tokens xmode.catalog
-xmode.marker tools.test kernel ;
-IN: xmode.marker.tests
-
-[
-    {
-        T{ token f "int" KEYWORD3 }
-        T{ token f " " f }
-        T{ token f "x" f }
-    }
-] [ f "int x" "c" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "\"" LITERAL1 }
-        T{ token f "hello\\\"" LITERAL1 }
-        T{ token f " " LITERAL1 }
-        T{ token f "world" LITERAL1 }
-        T{ token f "\"" LITERAL1 }
-    }
-] [ f "\"hello\\\" world\"" "c" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "\"" LITERAL1 }
-        T{ token f "hello\\\ world" LITERAL1 }
-        T{ token f "\"" LITERAL1 }
-    }
-] [ f "\"hello\\\ world\"" "c" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "int" KEYWORD3 }
-        T{ token f " " f }
-        T{ token f "x" f }
-    }
-] [ f "int x" "java" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "//" COMMENT2 }
-        T{ token f " " COMMENT2 }
-        T{ token f "hello" COMMENT2 }
-        T{ token f " " COMMENT2 }
-        T{ token f "world" COMMENT2 }
-    }
-] [ f "// hello world" "java" load-mode tokenize-line nip ] unit-test
-
-
-[
-    {
-        T{ token f "hello" f }
-        T{ token f " " f }
-        T{ token f "world" f }
-        T{ token f ":" f }
-    }
-] [ f "hello world:" "java" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "hello_world" LABEL }
-        T{ token f ":" OPERATOR }
-    }
-] [ f "hello_world:" "java" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "\t" f }
-        T{ token f "hello_world" LABEL }
-        T{ token f ":" OPERATOR }
-    }
-] [ f "\thello_world:" "java" load-mode tokenize-line nip ] unit-test
-
-[
-    {
-        T{ token f "<!" KEYWORD2 }
-        T{ token f "ELEMENT" KEYWORD2 }
-        T{ token f " " KEYWORD2 }
-        T{ token f "%" LITERAL2 }
-        T{ token f "hello" LITERAL2 }
-        T{ token f ";" LITERAL2 }
-        T{ token f " " KEYWORD2 }
-        T{ token f ">" KEYWORD2 }
-    }
-] [
-     f "<!ELEMENT %hello; >" "xml" load-mode tokenize-line nip
-] unit-test
-
-[
-    {
-        T{ token f "<!" KEYWORD2 }
-        T{ token f "ELEMENT" KEYWORD2 }
-        T{ token f " " KEYWORD2 }
-        T{ token f "%" LITERAL2 }
-        T{ token f "hello-world" LITERAL2 }
-        T{ token f ";" LITERAL2 }
-        T{ token f " " KEYWORD2 }
-        T{ token f ">" KEYWORD2 }
-    }
-] [
-     f "<!ELEMENT %hello-world; >" "xml" load-mode tokenize-line nip
-] unit-test
-
-[
-    {
-        T{ token f "$" KEYWORD2 }
-        T{ token f "FOO" KEYWORD2 }
-    }
-] [
-    f "$FOO" "shellscript" load-mode tokenize-line nip
-] unit-test
-
-[
-    {
-        T{ token f "AND" KEYWORD1 }
-    }
-] [
-    f "AND" "pascal" load-mode tokenize-line nip
-] unit-test
-
-[
-    {
-        T{ token f "Comment {" COMMENT1 }
-        T{ token f "XXX" COMMENT1 }
-        T{ token f "}" COMMENT1 }
-    }
-] [
-    f "Comment {XXX}" "rebol" load-mode tokenize-line nip
-] unit-test
-
-[
-    
-] [
-    f "font:75%/1.6em \"Lucida Grande\", \"Lucida Sans Unicode\", verdana, geneva, sans-serif;" "css" load-mode tokenize-line 2drop
-] unit-test
-
-[
-    {
-        T{ token f "<" MARKUP }
-        T{ token f "aaa" MARKUP }
-        T{ token f ">" MARKUP }
-    }
-] [ f "<aaa>" "html" load-mode tokenize-line nip ] unit-test
diff --git a/extra/xmode/marker/marker.factor b/extra/xmode/marker/marker.factor
deleted file mode 100755 (executable)
index f11ac6b..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-IN: xmode.marker
-USING: kernel namespaces xmode.rules xmode.tokens
-xmode.marker.state xmode.marker.context xmode.utilities
-xmode.catalog sequences math assocs combinators combinators.lib
-strings regexp splitting parser-combinators ascii unicode.case
-combinators.short-circuit accessors ;
-
-! Based on org.gjt.sp.jedit.syntax.TokenMarker
-
-: current-keyword ( -- string )
-    last-offset get position get line get subseq ;
-
-: keyword-number? ( keyword -- ? )
-    {
-        [ current-rule-set highlight-digits?>> ]
-        [ dup [ digit? ] contains? ]
-        [
-            dup [ digit? ] all? [
-                current-rule-set digit-re>>
-                dup [ dupd matches? ] [ drop f ] if
-            ] unless*
-        ]
-    } 0&& nip ;
-
-: mark-number ( keyword -- id )
-    keyword-number? DIGIT and ;
-
-: mark-keyword ( keyword -- id )
-    current-rule-set keywords>> at ;
-
-: add-remaining-token ( -- )
-    current-rule-set default>> prev-token, ;
-
-: mark-token ( -- )
-    current-keyword
-    dup mark-number [ ] [ mark-keyword ] ?if
-    [ prev-token, ] when* ;
-
-: current-char ( -- char )
-    position get line get nth ;
-
-GENERIC: match-position ( rule -- n )
-
-M: mark-previous-rule match-position drop last-offset get ;
-
-M: rule match-position drop position get ;
-
-: can-match-here? ( matcher rule -- ? )
-    match-position {
-        [ over ]
-        [ over at-line-start?>>     over zero?                implies ]
-        [ over at-whitespace-end?>> over whitespace-end get = implies ]
-        [ over at-word-start?>>     over last-offset get =    implies ]
-    } 0&& 2nip ;
-
-: rest-of-line ( -- str )
-    line get position get tail-slice ;
-
-GENERIC: text-matches? ( string text -- match-count/f )
-
-M: f text-matches?
-    2drop f ;
-
-M: string-matcher text-matches?
-    [
-        [ string>> ] [ ignore-case?>> ] bi string-head?
-    ] keep string>> length and ;
-
-M: regexp text-matches?
-    >r >string r> match-head ;
-
-: rule-start-matches? ( rule -- match-count/f )
-    dup start>> tuck swap can-match-here? [
-        rest-of-line swap text>> text-matches?
-    ] [
-        drop f
-    ] if ;
-
-: rule-end-matches? ( rule -- match-count/f )
-    dup mark-following-rule? [
-        dup start>> swap can-match-here? 0 and
-    ] [
-        dup end>> tuck swap can-match-here? [
-            rest-of-line
-            swap text>> context get end>> or
-            text-matches?
-        ] [
-            drop f
-        ] if
-    ] if ;
-
-DEFER: get-rules
-
-: get-always-rules ( vector/f ruleset -- vector/f )
-    f swap rules>> at ?push-all ;
-
-: get-char-rules ( vector/f char ruleset -- vector/f )
-    >r ch>upper r> rules>> at ?push-all ;
-
-: get-rules ( char ruleset -- seq )
-    f -rot [ get-char-rules ] keep get-always-rules ;
-
-GENERIC: handle-rule-start ( match-count rule -- )
-
-GENERIC: handle-rule-end ( match-count rule -- )
-
-: find-escape-rule ( -- rule )
-    context get dup
-    in-rule-set>> escape-rule>> [ ] [
-        parent>> in-rule-set>>
-        dup [ escape-rule>> ] when
-    ] ?if ;
-
-: check-escape-rule ( rule -- ? )
-    no-escape?>> [ f ] [
-        find-escape-rule dup [
-            dup rule-start-matches? dup [
-                swap handle-rule-start
-                delegate-end-escaped? [ not ] change
-                t
-            ] [
-                2drop f
-            ] if
-        ] when
-    ] if ;
-
-: check-every-rule ( -- ? )
-    current-char current-rule-set get-rules
-    [ rule-start-matches? ] map-find
-    dup [ handle-rule-start t ] [ 2drop f ] if ;
-
-: ?end-rule ( -- )
-    current-rule [
-        dup rule-end-matches?
-        dup [ swap handle-rule-end ] [ 2drop ] if
-    ] when* ;
-
-: rule-match-token* ( rule -- id )
-    dup match-token>> {
-        { f [ dup body-token>> ] }
-        { t [ current-rule-set default>> ] }
-        [ ]
-    } case nip ;
-
-M: escape-rule handle-rule-start
-    drop
-    ?end-rule
-    process-escape? get [
-        escaped? [ not ] change
-        position [ + ] change
-    ] [ 2drop ] if ;
-
-M: seq-rule handle-rule-start
-    ?end-rule
-    mark-token
-    add-remaining-token
-    tuck body-token>> next-token,
-    delegate>> [ push-context ] when* ;
-
-UNION: abstract-span-rule span-rule eol-span-rule ;
-
-M: abstract-span-rule handle-rule-start
-    ?end-rule
-    mark-token
-    add-remaining-token
-    tuck rule-match-token* next-token,
-    ! ... end subst ...
-    dup context get (>>in-rule)
-    delegate>> push-context ;
-
-M: span-rule handle-rule-end
-    2drop ;
-
-M: mark-following-rule handle-rule-start
-    ?end-rule
-    mark-token add-remaining-token
-    tuck rule-match-token* next-token,
-    f context get (>>end)
-    context get (>>in-rule) ;
-
-M: mark-following-rule handle-rule-end
-    nip rule-match-token* prev-token,
-    f context get (>>in-rule) ;
-
-M: mark-previous-rule handle-rule-start
-    ?end-rule
-    mark-token
-    dup body-token>> prev-token,
-    rule-match-token* next-token, ;
-
-: do-escaped ( -- )
-    escaped? get [
-        escaped? off
-        ! ...
-    ] when ;
-
-: check-end-delegate ( -- ? )
-    context get parent>> [
-        in-rule>> [
-            dup rule-end-matches? dup [
-                [
-                    swap handle-rule-end
-                    ?end-rule
-                    mark-token
-                    add-remaining-token
-                ] keep context get parent>> in-rule>>
-                rule-match-token* next-token,
-                pop-context
-                seen-whitespace-end? on t
-            ] [ drop check-escape-rule ] if
-        ] [ f ] if*
-    ] [ f ] if* ;
-
-: handle-no-word-break ( -- )
-    context get parent>> [
-        in-rule>> [
-            dup no-word-break?>> [
-                rule-match-token* prev-token,
-                pop-context
-            ] [ drop ] if
-        ] when*
-    ] when* ;
-
-: check-rule ( -- )
-    ?end-rule
-    handle-no-word-break
-    mark-token
-    add-remaining-token ;
-
-: (check-word-break) ( -- )
-    check-rule
-    
-    1 current-rule-set default>> next-token, ;
-
-: rule-set-empty? ( ruleset -- ? )
-    [ rules>> ] [ keywords>> ] bi
-    [ assoc-empty? ] bi@ and ;
-
-: check-word-break ( -- ? )
-    current-char dup blank? [
-        drop
-
-        seen-whitespace-end? get [
-            position get 1+ whitespace-end set
-        ] unless
-
-        (check-word-break)
-
-    ] [
-        ! Micro-optimization with incorrect semantics; we keep
-        ! it here because jEdit mode files depend on it now...
-        current-rule-set rule-set-empty? [
-            drop
-        ] [
-            dup alpha? [
-                drop
-            ] [
-                current-rule-set rule-set-no-word-sep* member? [
-                    (check-word-break)
-                ] unless
-            ] if
-        ] if
-
-        seen-whitespace-end? on
-    ] if
-    escaped? off
-    delegate-end-escaped? off t ;
-
-
-: mark-token-loop ( -- )
-    position get line get length < [
-        {
-            [ check-end-delegate ]
-            [ check-every-rule ]
-            [ check-word-break ]
-        } 0|| drop
-
-        position inc
-        mark-token-loop
-    ] when ;
-
-: mark-remaining ( -- )
-    line get length position set
-    check-rule ;
-
-: unwind-no-line-break ( -- )
-    context get parent>> [
-        in-rule>> [
-            no-line-break?>> [
-                pop-context
-                unwind-no-line-break
-            ] when
-        ] when*
-    ] when* ;
-
-: tokenize-line ( line-context line rules -- line-context' seq )
-    [
-        "MAIN" swap at -rot
-        init-token-marker
-        mark-token-loop
-        mark-remaining
-        unwind-no-line-break
-        context get
-    ] { } make ;
diff --git a/extra/xmode/marker/state/authors.txt b/extra/xmode/marker/state/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/marker/state/state.factor b/extra/xmode/marker/state/state.factor
deleted file mode 100755 (executable)
index 9075ff6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-USING: xmode.marker.context xmode.rules symbols accessors
-xmode.tokens namespaces kernel sequences assocs math ;
-IN: xmode.marker.state
-
-! Based on org.gjt.sp.jedit.syntax.TokenMarker
-
-SYMBOLS: line last-offset position context
- whitespace-end seen-whitespace-end?
- escaped?  process-escape?  delegate-end-escaped? ;
-
-: current-rule ( -- rule )
-    context get in-rule>> ;
-
-: current-rule-set ( -- rule )
-    context get in-rule-set>> ;
-
-: current-keywords ( -- keyword-map )
-    current-rule-set keywords>> ;
-
-: token, ( from to id -- )
-    2over = [ 3drop ] [ >r line get subseq r> <token> , ] if ;
-
-: prev-token, ( id -- )
-    >r last-offset get position get r> token,
-    position get last-offset set ;
-
-: next-token, ( len id -- )
-    >r position get 2dup + r> token,
-    position get + dup 1- position set last-offset set ;
-
-: push-context ( rules -- )
-    context [ <line-context> ] change ;
-
-: pop-context ( -- )
-    context get parent>>
-    f >>in-rule context set ;
-
-: init-token-marker ( main prev-context line -- )
-    line set
-    [ ] [ f <line-context> ] ?if context set
-    0 position set
-    0 last-offset set
-    0 whitespace-end set
-    process-escape? on ;
diff --git a/extra/xmode/modes/actionscript.xml b/extra/xmode/modes/actionscript.xml
deleted file mode 100644 (file)
index 387258d..0000000
+++ /dev/null
@@ -1,829 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       ActionScript mode by Ben Glazer <ben@enspire.com>\r
-       Adapted from JavaScript mode by Andre Kaplan\r
-       Updated for Flash MX 2004 by Nahuel Foronda <www.asfusion.com>\r
--->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <!-- the ; hack is there so that stuff like if(bob) fred();\r
-                    does not indent the next line -->\r
-               <PROPERTY NAME="indentPrevLine" VALUE="\s*(if|while)\s*(|else|case|default:)[^;]*|for\s*\(.*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- whitespace: (space and tab) -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- ActionScript's reserved words (see AS:TDG p.332) -->\r
-                       <KEYWORD1>add</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>and</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>eq</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>ge</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>gt</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>ifFrameLoaded</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>le</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>lt</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>ne</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>on</KEYWORD1>\r
-                       <KEYWORD1>onClipEvent</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <KEYWORD1>tellTarget</KEYWORD1>   <!-- deprecated -->\r
-                       <KEYWORD1>typeof</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-\r
-                       <!-- Built-in objects (good idea not to use these names!)-->\r
-                       <KEYWORD3>Array</KEYWORD3>\r
-                       <KEYWORD3>Boolean</KEYWORD3>\r
-                       <KEYWORD3>Color</KEYWORD3>\r
-                       <KEYWORD3>Date</KEYWORD3>\r
-                       <KEYWORD3>Function</KEYWORD3>\r
-                       <KEYWORD3>Key</KEYWORD3>\r
-                       <KEYWORD3>MovieClip</KEYWORD3>\r
-                       <KEYWORD3>Math</KEYWORD3>\r
-                       <KEYWORD3>Mouse</KEYWORD3>\r
-                       <KEYWORD3>Number</KEYWORD3>\r
-                       <KEYWORD3>Object</KEYWORD3>\r
-                       <KEYWORD3>Selection</KEYWORD3>\r
-                       <KEYWORD3>Sound</KEYWORD3>\r
-                       <KEYWORD3>String</KEYWORD3>\r
-                       <KEYWORD3>XML</KEYWORD3>\r
-                       <KEYWORD3>XMLNode</KEYWORD3>\r
-                       <KEYWORD3>XMLSocket</KEYWORD3>\r
-\r
-                       <!-- Literals -->\r
-                       <LITERAL2>NaN</LITERAL2>\r
-                       <LITERAL2>Infinity</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>undefined</LITERAL2>\r
-\r
-                       <!-- Global functions -->\r
-                       <LITERAL2>Boolean</LITERAL2>\r
-                       <LITERAL2>call</LITERAL2>\r
-                       <LITERAL2>Date</LITERAL2>\r
-                       <LITERAL2>escape</LITERAL2>\r
-                       <LITERAL2>eval</LITERAL2>\r
-                       <LITERAL2>fscommand</LITERAL2>\r
-                       <LITERAL2>getProperty</LITERAL2>\r
-                       <LITERAL2>getTimer</LITERAL2>\r
-                       <LITERAL2>getURL</LITERAL2>\r
-                       <LITERAL2>getVersion</LITERAL2>\r
-                       <LITERAL2>gotoAndPlay</LITERAL2>\r
-                       <LITERAL2>gotoAndStop</LITERAL2>\r
-                       <LITERAL2>#include</LITERAL2>\r
-                       <LITERAL2>int</LITERAL2>   <!-- deprecated -->\r
-                       <LITERAL2>isFinite</LITERAL2>\r
-                       <LITERAL2>isNaN</LITERAL2>\r
-                       <LITERAL2>loadMovie</LITERAL2>\r
-                       <LITERAL2>loadMovieNum</LITERAL2>\r
-                       <LITERAL2>loadVariables</LITERAL2>\r
-                       <LITERAL2>loadVariablesNum</LITERAL2>\r
-                       <LITERAL2>maxscroll</LITERAL2>\r
-                       <LITERAL2>newline</LITERAL2>\r
-                       <LITERAL2>nextFrame</LITERAL2>\r
-                       <LITERAL2>nextScene</LITERAL2>\r
-                       <LITERAL2>Number</LITERAL2>\r
-                       <LITERAL2>parseFloat</LITERAL2>\r
-                       <LITERAL2>parseInt</LITERAL2>\r
-                       <LITERAL2>play</LITERAL2>\r
-                       <LITERAL2>prevFrame</LITERAL2>\r
-                       <LITERAL2>prevScene</LITERAL2>\r
-                       <LITERAL2>print</LITERAL2>\r
-                       <LITERAL2>printAsBitmap</LITERAL2>\r
-                       <LITERAL2>printAsBitmapNum</LITERAL2>\r
-                       <LITERAL2>printNum</LITERAL2>\r
-                       <LITERAL2>random</LITERAL2>   <!-- deprecated -->\r
-                       <LITERAL2>removeMovieClip</LITERAL2>\r
-                       <LITERAL2>scroll</LITERAL2>\r
-                       <LITERAL2>setProperty</LITERAL2>\r
-                       <LITERAL2>startDrag</LITERAL2>\r
-                       <LITERAL2>stop</LITERAL2>\r
-                       <LITERAL2>stopAllSounds</LITERAL2>\r
-                       <LITERAL2>stopDrag</LITERAL2>\r
-                       <LITERAL2>String</LITERAL2>\r
-                       <LITERAL2>targetPath</LITERAL2>\r
-                       <LITERAL2>tellTarget</LITERAL2>   <!-- deprecated -->\r
-                       <LITERAL2>toggleHighQuality</LITERAL2>   <!-- deprecated -->\r
-                       <LITERAL2>trace</LITERAL2>\r
-                       <LITERAL2>unescape</LITERAL2>\r
-                       <LITERAL2>unloadMovie</LITERAL2>\r
-                       <LITERAL2>unloadMovieNum</LITERAL2>\r
-                       <LITERAL2>updateAfterEvent</LITERAL2>\r
-\r
-                        <!-- Start Update -->\r
-                       <LITERAL2>prototype</LITERAL2>\r
-                       <LITERAL2>clearInterval</LITERAL2>\r
-                       <LITERAL2>getVersion</LITERAL2>\r
-                       <LITERAL2>length</LITERAL2>\r
-                       <LITERAL2>__proto__</LITERAL2>\r
-                       <LITERAL2>__constructor__</LITERAL2>\r
-                       <LITERAL2>ASSetPropFlags</LITERAL2>\r
-                       <LITERAL2>setInterval</LITERAL2>\r
-                       <LITERAL2>setI</LITERAL2>\r
-                       <KEYWORD3>MMExecute</KEYWORD3>\r
-\r
-                        <!-- MovieCLip methods-->\r
-                       <LITERAL2>attachMovie</LITERAL2>\r
-                       <LITERAL2>createEmptyMovieClip</LITERAL2>\r
-                       <LITERAL2>createTextField</LITERAL2>\r
-                       <LITERAL2>duplicateMovieClip</LITERAL2>\r
-                       <LITERAL2>getBounds</LITERAL2>\r
-                       <LITERAL2>getBytesLoaded</LITERAL2>\r
-                       <LITERAL2>getBytesTotal</LITERAL2>\r
-                       <LITERAL2>getDepth</LITERAL2>\r
-                       <LITERAL2>globalToLocal</LITERAL2>\r
-                       <LITERAL2>hitTest</LITERAL2>\r
-                       <LITERAL2>localToGlobal</LITERAL2>\r
-                       <LITERAL2>setMask</LITERAL2>\r
-                       <LITERAL2>swapDepths</LITERAL2>\r
-                       <LITERAL2>attachAudio</LITERAL2>\r
-                       <LITERAL2>getInstanceAtDepth</LITERAL2>\r
-                       <LITERAL2>getNextHighestDepth</LITERAL2>\r
-                       <LITERAL2>getSWFVersion</LITERAL2>\r
-                       <LITERAL2>getTextSnapshot</LITERAL2>\r
-                       <LITERAL2>getSWFVersion</LITERAL2>\r
-                       <LITERAL2>getSWFVersion</LITERAL2>\r
-\r
-                       <!-- MovieCLip drawing methods  -->\r
-                       <LITERAL2>beginFill</LITERAL2>\r
-                       <LITERAL2>beginGradientFill</LITERAL2>\r
-                       <LITERAL2>clear</LITERAL2>\r
-                       <LITERAL2>curveTo</LITERAL2>\r
-                       <LITERAL2>endFill</LITERAL2>\r
-                       <LITERAL2>lineStyle</LITERAL2>\r
-                       <LITERAL2>lineTo</LITERAL2>\r
-                       <LITERAL2>moveTo</LITERAL2>\r
-\r
-                       <!-- MovieCLip properties  -->\r
-                       <LITERAL2>enabled</LITERAL2>\r
-                       <LITERAL2>focusEnabled</LITERAL2>\r
-                       <LITERAL2>hitArea</LITERAL2>\r
-                       <LITERAL2>tabChildren</LITERAL2>\r
-                       <LITERAL2>tabEnabled</LITERAL2>\r
-                       <LITERAL2>tabIndex</LITERAL2>\r
-                       <LITERAL2>trackAsMenu</LITERAL2>\r
-                       <LITERAL2>menu</LITERAL2>\r
-                       <LITERAL2>useHandCursor</LITERAL2>\r
-\r
-                       <!-- MovieCLip Events  -->\r
-                       <LITERAL2>onData</LITERAL2>\r
-                       <LITERAL2>onDragOut</LITERAL2>\r
-                       <LITERAL2>onDragOver</LITERAL2>\r
-                       <LITERAL2>onEnterFrame</LITERAL2>\r
-                       <LITERAL2>onKeyDown</LITERAL2>\r
-                       <LITERAL2>onKeyUp</LITERAL2>\r
-                       <LITERAL2>onKillFocus</LITERAL2>\r
-                       <LITERAL2>onLoad</LITERAL2>\r
-                       <LITERAL2>onMouseDown</LITERAL2>\r
-                       <LITERAL2>onMouseMove</LITERAL2>\r
-                       <LITERAL2>onMouseUp</LITERAL2>\r
-                       <LITERAL2>onPress</LITERAL2>\r
-                       <LITERAL2>onRelease</LITERAL2>\r
-                       <LITERAL2>onReleaseOutside</LITERAL2>\r
-                       <LITERAL2>onRollOut</LITERAL2>\r
-                       <LITERAL2>onRollOver</LITERAL2>\r
-                       <LITERAL2>onSetFocus</LITERAL2>\r
-                       <LITERAL2>onUnload</LITERAL2>\r
-\r
-                       <!-- MovieClipLoader class -->\r
-                       <LITERAL2>MovieClipLoader</LITERAL2>\r
-                       <LITERAL2>getProgress</LITERAL2>\r
-                       <LITERAL2>loadClip</LITERAL2>\r
-                       <LITERAL2>onLoadComplete</LITERAL2>\r
-                       <LITERAL2>onLoadError</LITERAL2>\r
-                       <LITERAL2>onLoadInit</LITERAL2>\r
-                       <LITERAL2>onLoadProgress</LITERAL2>\r
-                       <LITERAL2>onLoadStart</LITERAL2>\r
-                       <LITERAL2>unloadClip</LITERAL2>\r
-\r
-                       <!-- PrintJob class -->\r
-                       <LITERAL2>PrintJob</LITERAL2>\r
-                       <LITERAL2>addPage</LITERAL2>\r
-\r
-                       <!-- Camera class -->\r
-                       <LITERAL2>Camera</LITERAL2>\r
-                       <LITERAL2>activityLevel</LITERAL2>\r
-                       <LITERAL2>bandwidth</LITERAL2>\r
-                       <LITERAL2>currentFps</LITERAL2>\r
-                       <LITERAL2>fps</LITERAL2>\r
-                       <LITERAL2>index</LITERAL2>\r
-                       <LITERAL2>motionLevel</LITERAL2>\r
-                       <LITERAL2>motionTimeOut</LITERAL2>\r
-                       <LITERAL2>muted</LITERAL2>\r
-                       <LITERAL2>name</LITERAL2>\r
-                       <LITERAL2>names</LITERAL2>\r
-                       <LITERAL2>onActivity</LITERAL2>\r
-                       <LITERAL2>onStatus</LITERAL2>\r
-                       <LITERAL2>quality</LITERAL2>\r
-                       <LITERAL2>setMode</LITERAL2>\r
-                       <LITERAL2>setMotionLevel</LITERAL2>\r
-                       <LITERAL2>setQuality</LITERAL2>\r
-\r
-                       <!-- Microphone class -->\r
-                       <LITERAL2>Microphone</LITERAL2>\r
-                       <LITERAL2>gain</LITERAL2>\r
-                       <LITERAL2>rate</LITERAL2>\r
-                       <LITERAL2>setGain</LITERAL2>\r
-                       <LITERAL2>setRate</LITERAL2>\r
-                       <LITERAL2>setSilenceLevel</LITERAL2>\r
-                       <LITERAL2>setUseEchoSuppression</LITERAL2>\r
-                       <LITERAL2>silenceLevel</LITERAL2>\r
-                       <LITERAL2>silenceTimeout</LITERAL2>\r
-                       <LITERAL2>useEchoSuppression</LITERAL2>\r
-\r
-                       <!-- ContextMenu Class -->\r
-                       <LITERAL2>ContextMenu</LITERAL2>\r
-                       <LITERAL2>builtInItems</LITERAL2>\r
-                       <LITERAL2>copy</LITERAL2>\r
-                       <LITERAL2>customItems</LITERAL2>\r
-                       <LITERAL2>hideBuiltInItems</LITERAL2>\r
-                       <LITERAL2>onSelect</LITERAL2>\r
-                       <LITERAL2>caption</LITERAL2>\r
-                       <LITERAL2>ContextMenuItem</LITERAL2>\r
-                       <LITERAL2>separatorBefore</LITERAL2>\r
-                       <LITERAL2>visible</LITERAL2>\r
-\r
-                       <!-- Error class -->\r
-                       <LITERAL2>Error</LITERAL2>\r
-                       <LITERAL2>visible</LITERAL2>\r
-                       <LITERAL2>message</LITERAL2>\r
-\r
-                       <!-- operators grenn-->\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>#endinitclip</KEYWORD1>\r
-                       <KEYWORD1>#initclip</KEYWORD1>\r
-\r
-                       <!-- properties -->\r
-                       <LITERAL2>_alpha</LITERAL2>\r
-                       <LITERAL2>_currentframe</LITERAL2>\r
-                       <LITERAL2>_droptarget</LITERAL2>\r
-                       <LITERAL2>_focusrect</LITERAL2>\r
-                       <LITERAL2>_framesloaded</LITERAL2>\r
-                       <LITERAL2>_height</LITERAL2>\r
-                       <LITERAL2>_name</LITERAL2>\r
-                       <LITERAL2>_quality</LITERAL2>\r
-                       <LITERAL2>_rotation</LITERAL2>\r
-                       <LITERAL2>_soundbuftime</LITERAL2>\r
-                       <LITERAL2>_target</LITERAL2>\r
-                       <LITERAL2>_totalframes</LITERAL2>\r
-                       <LITERAL2>_url</LITERAL2>\r
-                       <LITERAL2>_visible</LITERAL2>\r
-                       <LITERAL2>_width</LITERAL2>\r
-                       <LITERAL2>_x</LITERAL2>\r
-                       <LITERAL2>_xmouse</LITERAL2>\r
-                       <LITERAL2>_xscale</LITERAL2>\r
-                       <LITERAL2>_y</LITERAL2>\r
-                       <LITERAL2>_ymouse</LITERAL2>\r
-                       <LITERAL2>_yscale</LITERAL2>\r
-                       <LITERAL2>_parent</LITERAL2>\r
-                       <LITERAL2>_root</LITERAL2>\r
-                       <LITERAL2>_level</LITERAL2>\r
-                       <LITERAL2>_lockroot</LITERAL2>\r
-                       <LITERAL2>_accProps</LITERAL2>\r
-\r
-\r
-                       <!-- Array -->\r
-                       <LITERAL2>sortOn</LITERAL2>\r
-                       <LITERAL2>toString</LITERAL2>\r
-                       <LITERAL2>splice</LITERAL2>\r
-                       <LITERAL2>sort</LITERAL2>\r
-                       <LITERAL2>slice</LITERAL2>\r
-                       <LITERAL2>shift</LITERAL2>\r
-                       <LITERAL2>reverse</LITERAL2>\r
-                       <LITERAL2>push</LITERAL2>\r
-                       <LITERAL2>join</LITERAL2>\r
-                       <LITERAL2>pop</LITERAL2>\r
-                       <LITERAL2>concat</LITERAL2>\r
-                       <LITERAL2>unshift</LITERAL2>\r
-\r
-                       <!-- Arguments -->\r
-                       <LITERAL2>arguments</LITERAL2>\r
-                       <LITERAL2>callee</LITERAL2>\r
-                       <LITERAL2>caller</LITERAL2>\r
-                       <LITERAL2>valueOf</LITERAL2>\r
-\r
-                       <!-- Date Class -->\r
-                       <LITERAL2>getDate</LITERAL2>\r
-                       <LITERAL2>getDay</LITERAL2>\r
-                       <LITERAL2>getFullYear</LITERAL2>\r
-                       <LITERAL2>getHours</LITERAL2>\r
-                       <LITERAL2>getMilliseconds</LITERAL2>\r
-                       <LITERAL2>getMinutes</LITERAL2>\r
-                       <LITERAL2>getMonth</LITERAL2>\r
-                       <LITERAL2>getSeconds</LITERAL2>\r
-                       <LITERAL2>getTime</LITERAL2>\r
-                       <LITERAL2>getTimezoneOffset</LITERAL2>\r
-                       <LITERAL2>getUTCDate</LITERAL2>\r
-                       <LITERAL2>getUTCDay</LITERAL2>\r
-                       <LITERAL2>getUTCFullYear</LITERAL2>\r
-                       <LITERAL2>getUTCHours</LITERAL2>\r
-                       <LITERAL2>getUTCMilliseconds</LITERAL2>\r
-                       <LITERAL2>getUTCMinutes</LITERAL2>\r
-                       <LITERAL2>getUTCMonth</LITERAL2>\r
-                       <LITERAL2>getUTCSeconds</LITERAL2>\r
-                       <LITERAL2>getYear</LITERAL2>\r
-                       <LITERAL2>setDate</LITERAL2>\r
-                       <LITERAL2>setFullYear</LITERAL2>\r
-                       <LITERAL2>setHours</LITERAL2>\r
-                       <LITERAL2>setMilliseconds</LITERAL2>\r
-                       <LITERAL2>setMinutes</LITERAL2>\r
-                       <LITERAL2>setMonth</LITERAL2>\r
-                       <LITERAL2>setSeconds</LITERAL2>\r
-                       <LITERAL2>setTime</LITERAL2>\r
-                       <LITERAL2>setUTCDate</LITERAL2>\r
-                       <LITERAL2>setUTCFullYear</LITERAL2>\r
-                       <LITERAL2>setUTCHours</LITERAL2>\r
-                       <LITERAL2>setUTCMilliseconds</LITERAL2>\r
-                       <LITERAL2>setUTCMinutes</LITERAL2>\r
-                       <LITERAL2>setUTCMonth</LITERAL2>\r
-                       <LITERAL2>setUTCSeconds</LITERAL2>\r
-                       <LITERAL2>setYear</LITERAL2>\r
-                       <LITERAL2>UTC</LITERAL2>\r
-\r
-                       <!-- Function -->\r
-                       <LITERAL2>_global</LITERAL2>\r
-                       <LITERAL2>apply</LITERAL2>\r
-\r
-                       <!--  Math Class -->\r
-                       <LITERAL2>abs</LITERAL2>\r
-                       <LITERAL2>acos</LITERAL2>\r
-                       <LITERAL2>asin</LITERAL2>\r
-                       <LITERAL2>atan</LITERAL2>\r
-                       <LITERAL2>atan2</LITERAL2>\r
-                       <LITERAL2>ceil</LITERAL2>\r
-                       <LITERAL2>cos</LITERAL2>\r
-                       <LITERAL2>exp</LITERAL2>\r
-                       <LITERAL2>floor</LITERAL2>\r
-                       <LITERAL2>log</LITERAL2>\r
-                       <LITERAL2>max</LITERAL2>\r
-                       <LITERAL2>min</LITERAL2>\r
-                       <LITERAL2>pow</LITERAL2>\r
-                       <LITERAL2>round</LITERAL2>\r
-                       <LITERAL2>sin</LITERAL2>\r
-                       <LITERAL2>sqrt</LITERAL2>\r
-                       <LITERAL2>tan</LITERAL2>\r
-\r
-                       <LITERAL2>E</LITERAL2>\r
-                       <LITERAL2>LN2</LITERAL2>\r
-                       <LITERAL2>LN10</LITERAL2>\r
-                       <LITERAL2>LOG2E</LITERAL2>\r
-                       <LITERAL2>LOG10E</LITERAL2>\r
-                       <LITERAL2>PI</LITERAL2>\r
-                       <LITERAL2>SQRT1_2</LITERAL2>\r
-                       <LITERAL2>SQRT2</LITERAL2>\r
-\r
-                       <!-- Number -->\r
-                       <LITERAL2>MAX_VALUE</LITERAL2>\r
-                       <LITERAL2>MIN_VALUE</LITERAL2>\r
-                       <LITERAL2>NEGATIVE_INFINITY</LITERAL2>\r
-                       <LITERAL2>POSITIVE_INFINITY</LITERAL2>\r
-\r
-                       <!-- Object -->\r
-                       <LITERAL2>addProperty</LITERAL2>\r
-                       <LITERAL2>registerClass</LITERAL2>\r
-                       <LITERAL2>unwatch</LITERAL2>\r
-                       <LITERAL2>watch</LITERAL2>\r
-\r
-                       <!-- String -->\r
-                       <LITERAL2>charAt</LITERAL2>\r
-                       <LITERAL2>charCodeAt</LITERAL2>\r
-                       <LITERAL2>fromCharCode</LITERAL2>\r
-                       <LITERAL2>lastIndexOf</LITERAL2>\r
-                       <LITERAL2>indexOf</LITERAL2>\r
-                       <LITERAL2>split</LITERAL2>\r
-                       <LITERAL2>substr</LITERAL2>\r
-                       <LITERAL2>substring</LITERAL2>\r
-                       <LITERAL2>toLowerCase</LITERAL2>\r
-                       <LITERAL2>toUpperCase</LITERAL2>\r
-\r
-                       <!-- Accessibility -->\r
-                       <LITERAL2>Accessibility</LITERAL2>\r
-                       <LITERAL2>isActive</LITERAL2>\r
-                       <LITERAL2>updateProperties</LITERAL2>\r
-\r
-\r
-                       <!-- System capabilities Class-->\r
-                       <LITERAL2>System</LITERAL2>\r
-                       <LITERAL2>capabilities</LITERAL2>\r
-                       <LITERAL2>exactSettings</LITERAL2>\r
-                       <LITERAL2>setClipboard</LITERAL2>\r
-                       <LITERAL2>showSettings</LITERAL2>\r
-                       <LITERAL2>useCodepage</LITERAL2>\r
-                       <LITERAL2>avHardwareDisable</LITERAL2>\r
-                       <LITERAL2>hasAccessibility</LITERAL2>\r
-                       <LITERAL2>hasAudio</LITERAL2>\r
-                       <LITERAL2>hasAudioEncoder</LITERAL2>\r
-                       <LITERAL2>hasMP3</LITERAL2>\r
-                       <LITERAL2>hasVideoEncoder</LITERAL2>\r
-                       <LITERAL2>pixelAspectRatio</LITERAL2>\r
-                       <LITERAL2>screenColor</LITERAL2>\r
-                       <LITERAL2>screenDPI</LITERAL2>\r
-                       <LITERAL2>screenResolutionX</LITERAL2>\r
-                       <LITERAL2>screenResolutionY</LITERAL2>\r
-                       <LITERAL2>hasEmbeddedVideo</LITERAL2>\r
-                       <LITERAL2>hasPrinting</LITERAL2>\r
-                       <LITERAL2>hasScreenBroadcast</LITERAL2>\r
-                       <LITERAL2>hasScreenPlayback</LITERAL2>\r
-                       <LITERAL2>hasStreamingAudio</LITERAL2>\r
-                       <LITERAL2>hasStreamingVideo</LITERAL2>\r
-                       <LITERAL2>isDebugger</LITERAL2>\r
-                       <LITERAL2>language</LITERAL2>\r
-                       <LITERAL2>manufacturer</LITERAL2>\r
-                       <LITERAL2>os</LITERAL2>\r
-                       <LITERAL2>playerType</LITERAL2>\r
-                       <LITERAL2>serverString</LITERAL2>\r
-                       <LITERAL2>localFileReadDisable</LITERAL2>\r
-                       <LITERAL2>version</LITERAL2>\r
-                       <!-- System security Class -->\r
-                       <LITERAL2>security</LITERAL2>\r
-\r
-                       <!-- Color Class -->\r
-                       <LITERAL2>getRGB</LITERAL2>\r
-                       <LITERAL2>getTransform</LITERAL2>\r
-                       <LITERAL2>setRGB</LITERAL2>\r
-                       <LITERAL2>setTransform</LITERAL2>\r
-\r
-                       <!-- Key Class -->\r
-                       <LITERAL2>addListener</LITERAL2>\r
-                       <LITERAL2>getAscii</LITERAL2>\r
-                       <LITERAL2>isDown</LITERAL2>\r
-                       <LITERAL2>getCode</LITERAL2>\r
-                       <LITERAL2>isToggled</LITERAL2>\r
-                       <LITERAL2>removeListener</LITERAL2>\r
-                       <LITERAL2>BACKSPACE</LITERAL2>\r
-                       <LITERAL2>CAPSLOCK</LITERAL2>\r
-                       <LITERAL2>CONTROL</LITERAL2>\r
-                       <LITERAL2>DELETEKEY</LITERAL2>\r
-                       <LITERAL2>DOWN</LITERAL2>\r
-                       <LITERAL2>END</LITERAL2>\r
-                       <LITERAL2>ENTER</LITERAL2>\r
-                       <LITERAL2>ESCAPE</LITERAL2>\r
-                       <LITERAL2>HOME</LITERAL2>\r
-                       <LITERAL2>INSERT</LITERAL2>\r
-                       <LITERAL2>LEFT</LITERAL2>\r
-                       <LITERAL2>PGDN</LITERAL2>\r
-                       <LITERAL2>PGUP</LITERAL2>\r
-                       <LITERAL2>SHIFT</LITERAL2>\r
-                       <LITERAL2>RIGHT</LITERAL2>\r
-                       <LITERAL2>SPACE</LITERAL2>\r
-                       <LITERAL2>TAB</LITERAL2>\r
-                       <LITERAL2>UP</LITERAL2>\r
-\r
-                       <!-- Mouse -->\r
-                       <LITERAL2>hide</LITERAL2>\r
-                       <LITERAL2>show</LITERAL2>\r
-                       <LITERAL2>onMouseWheel</LITERAL2>\r
-\r
-                       <!-- Selection Class-->\r
-                       <LITERAL2>getBeginIndex</LITERAL2>\r
-                       <LITERAL2>getCaretIndex</LITERAL2>\r
-                       <LITERAL2>getEndIndex</LITERAL2>\r
-                       <LITERAL2>getFocus</LITERAL2>\r
-                       <LITERAL2>setFocus</LITERAL2>\r
-                       <LITERAL2>setSelection</LITERAL2>\r
-\r
-                       <!-- SharedObject Class-->\r
-                       <LITERAL2>SharedObject</LITERAL2>\r
-                       <LITERAL2>data</LITERAL2>\r
-                       <LITERAL2>flush</LITERAL2>\r
-                       <LITERAL2>getLocal</LITERAL2>\r
-                       <LITERAL2>getSize</LITERAL2>\r
-\r
-                       <!-- Sound Class -->\r
-                       <LITERAL2>attachSound</LITERAL2>\r
-                       <LITERAL2>getVolume</LITERAL2>\r
-                       <LITERAL2>loadSound</LITERAL2>\r
-                       <LITERAL2>setPan</LITERAL2>\r
-                       <LITERAL2>getPan</LITERAL2>\r
-                       <LITERAL2>setVolume</LITERAL2>\r
-                       <LITERAL2>start</LITERAL2>\r
-                       <LITERAL2>duration</LITERAL2>\r
-                       <LITERAL2>position</LITERAL2>\r
-                       <LITERAL2>onSoundComplete</LITERAL2>\r
-                       <LITERAL2>id3</LITERAL2>\r
-                       <LITERAL2>onID3</LITERAL2>\r
-\r
-                       <!-- Video Class -->\r
-                       <LITERAL2>Video</LITERAL2>\r
-                       <LITERAL2>deblocking</LITERAL2>\r
-                       <LITERAL2>smoothing</LITERAL2>\r
-\r
-                       <!--  Stage Class -->\r
-                       <LITERAL2>Stage</LITERAL2>\r
-                       <LITERAL2>align</LITERAL2>\r
-                       <LITERAL2>height</LITERAL2>\r
-                       <LITERAL2>scaleMode</LITERAL2>\r
-                       <LITERAL2>showMenu</LITERAL2>\r
-                       <LITERAL2>width</LITERAL2>\r
-                       <LITERAL2>onResize</LITERAL2>\r
-\r
-                       <!-- TextField Class -->\r
-                       <LITERAL2>getFontList</LITERAL2>\r
-                       <LITERAL2>getNewTextFormat</LITERAL2>\r
-                       <LITERAL2>getTextFormat</LITERAL2>\r
-                       <LITERAL2>removeTextField</LITERAL2>\r
-                       <LITERAL2>replaceSel</LITERAL2>\r
-                       <LITERAL2>setNewTextFormat</LITERAL2>\r
-                       <LITERAL2>setTextFormat</LITERAL2>\r
-                       <LITERAL2>autoSize</LITERAL2>\r
-                       <LITERAL2>background</LITERAL2>\r
-                       <LITERAL2>backgroundColor</LITERAL2>\r
-                       <LITERAL2>border</LITERAL2>\r
-                       <LITERAL2>borderColor</LITERAL2>\r
-                       <LITERAL2>bottomScroll</LITERAL2>\r
-                       <LITERAL2>embedFonts</LITERAL2>\r
-                       <LITERAL2>hscroll</LITERAL2>\r
-                       <LITERAL2>html</LITERAL2>\r
-                       <LITERAL2>htmlText</LITERAL2>\r
-                       <LITERAL2>maxChars</LITERAL2>\r
-                       <LITERAL2>maxhscroll</LITERAL2>\r
-                       <LITERAL2>multiline</LITERAL2>\r
-                       <LITERAL2>password</LITERAL2>\r
-                       <LITERAL2>restrict</LITERAL2>\r
-                       <LITERAL2>selectable</LITERAL2>\r
-                       <LITERAL2>text</LITERAL2>\r
-                       <LITERAL2>textColor</LITERAL2>\r
-                       <LITERAL2>textHeight</LITERAL2>\r
-                       <LITERAL2>textWidth</LITERAL2>\r
-                       <LITERAL2>type</LITERAL2>\r
-                       <LITERAL2>variable</LITERAL2>\r
-                       <LITERAL2>wordWrap</LITERAL2>\r
-                       <LITERAL2>onChanged</LITERAL2>\r
-                       <LITERAL2>onScroller</LITERAL2>\r
-                       <LITERAL2>TextField</LITERAL2>\r
-                       <LITERAL2>mouseWheelEnabled</LITERAL2>\r
-                       <LITERAL2>replaceText</LITERAL2>\r
-\r
-                       <!-- StyleSheet Class -->\r
-                       <LITERAL2>StyleSheet</LITERAL2>\r
-                       <LITERAL2>getStyle</LITERAL2>\r
-                       <LITERAL2>getStyleNames</LITERAL2>\r
-                       <LITERAL2>parseCSS</LITERAL2>\r
-                       <LITERAL2>setStyle</LITERAL2>\r
-                       <LITERAL2>styleSheet</LITERAL2>\r
-\r
-                       <!-- TextFormat Class -->\r
-                       <LITERAL2>TextFormat</LITERAL2>\r
-                       <LITERAL2>getTextExtent</LITERAL2>\r
-                       <LITERAL2>blockIndent</LITERAL2>\r
-                       <LITERAL2>bold</LITERAL2>\r
-                       <LITERAL2>bullet</LITERAL2>\r
-                       <LITERAL2>color</LITERAL2>\r
-                       <LITERAL2>font</LITERAL2>\r
-                       <LITERAL2>indent</LITERAL2>\r
-                       <LITERAL2>italic</LITERAL2>\r
-                       <LITERAL2>leading</LITERAL2>\r
-                       <LITERAL2>leftMargin</LITERAL2>\r
-                       <LITERAL2>rightMargin</LITERAL2>\r
-                       <LITERAL2>size</LITERAL2>\r
-                       <LITERAL2>tabStops</LITERAL2>\r
-                       <LITERAL2>target</LITERAL2>\r
-                       <LITERAL2>underline</LITERAL2>\r
-                       <LITERAL2>url</LITERAL2>\r
-\r
-                       <!-- TextSnapshot object -->\r
-                       <LITERAL2>TextSnapshot</LITERAL2>\r
-                       <LITERAL2>findText</LITERAL2>\r
-                       <LITERAL2>getCount</LITERAL2>\r
-                       <LITERAL2>getSelected</LITERAL2>\r
-                       <LITERAL2>getSelectedText</LITERAL2>\r
-                       <LITERAL2>hitTestTextNearPos</LITERAL2>\r
-                       <LITERAL2>getText</LITERAL2>\r
-                       <LITERAL2>setSelectColor</LITERAL2>\r
-                       <LITERAL2>setSelected</LITERAL2>\r
-\r
-                       <!-- LoadVars Class-->\r
-                       <LITERAL2>LoadVars</LITERAL2>\r
-                       <LITERAL2>load</LITERAL2>\r
-                       <LITERAL2>send</LITERAL2>\r
-                       <LITERAL2>sendAndLoad</LITERAL2>\r
-                       <LITERAL2>contentType</LITERAL2>\r
-                       <LITERAL2>loaded</LITERAL2>\r
-                       <LITERAL2>addRequestHeader</LITERAL2>\r
-\r
-                       <!-- LocalConnection Class-->\r
-                       <LITERAL2>LocalConnection</LITERAL2>\r
-                       <LITERAL2>allowDomain</LITERAL2>\r
-                       <LITERAL2>allowInsecureDomain</LITERAL2>\r
-                       <LITERAL2>domain</LITERAL2>\r
-\r
-                       <!-- XML Class -->\r
-                       <LITERAL2>appendChild</LITERAL2>\r
-                       <LITERAL2>cloneNode</LITERAL2>\r
-                       <LITERAL2>createElement</LITERAL2>\r
-                       <LITERAL2>createTextNode</LITERAL2>\r
-                       <LITERAL2>hasChildNodes</LITERAL2>\r
-                       <LITERAL2>insertBefore</LITERAL2>\r
-                       <LITERAL2>parseXML</LITERAL2>\r
-                       <LITERAL2>removeNode</LITERAL2>\r
-                       <LITERAL2>attributes</LITERAL2>\r
-                       <LITERAL2>childNodes</LITERAL2>\r
-                       <LITERAL2>docTypeDecl</LITERAL2>\r
-                       <LITERAL2>firstChild</LITERAL2>\r
-                       <LITERAL2>ignoreWhite</LITERAL2>\r
-                       <LITERAL2>lastChild</LITERAL2>\r
-                       <LITERAL2>nextSibling</LITERAL2>\r
-                       <LITERAL2>nodeName</LITERAL2>\r
-                       <LITERAL2>nodeType</LITERAL2>\r
-                       <LITERAL2>nodeValue</LITERAL2>\r
-                       <LITERAL2>parentNode</LITERAL2>\r
-                       <LITERAL2>previousSibling</LITERAL2>\r
-                       <LITERAL2>status</LITERAL2>\r
-                       <LITERAL2>xmlDecl</LITERAL2>\r
-                       <LITERAL2>close</LITERAL2>\r
-                       <LITERAL2>connect</LITERAL2>\r
-                       <LITERAL2>onClose</LITERAL2>\r
-                       <LITERAL2>onConnect</LITERAL2>\r
-                       <LITERAL2>onXML</LITERAL2>\r
-\r
-                       <!-- CustomActions Class -->\r
-                       <LITERAL2>CustomActions</LITERAL2>\r
-                       <LITERAL2>onUpdate</LITERAL2>\r
-                       <LITERAL2>uninstall</LITERAL2>\r
-                       <LITERAL2>list</LITERAL2>\r
-                       <LITERAL2>install</LITERAL2>\r
-                       <LITERAL2>get</LITERAL2>\r
-\r
-                       <!-- NetConnection Class -->\r
-                       <LITERAL2>NetConnection</LITERAL2>\r
-\r
-                       <!-- NetStream Class-->\r
-                       <LITERAL2>NetStream</LITERAL2>\r
-                       <LITERAL2>bufferLength</LITERAL2>\r
-                       <LITERAL2>bufferTime</LITERAL2>\r
-                       <LITERAL2>bytesLoaded</LITERAL2>\r
-                       <LITERAL2>bytesTotal</LITERAL2>\r
-                       <LITERAL2>pause</LITERAL2>\r
-                       <LITERAL2>seek</LITERAL2>\r
-                       <LITERAL2>setBufferTime</LITERAL2>\r
-                       <LITERAL2>time</LITERAL2>\r
-\r
-                       <!-- RecordSet Class -->\r
-                       <LITERAL2>DataGlue</LITERAL2>\r
-                       <LITERAL2>bindFormatFunction</LITERAL2>\r
-                       <LITERAL2>bindFormatStrings</LITERAL2>\r
-                       <LITERAL2>getDebugConfig</LITERAL2>\r
-                       <LITERAL2>getDebugID</LITERAL2>\r
-                       <LITERAL2>getService</LITERAL2>\r
-                       <LITERAL2>setCredentials</LITERAL2>\r
-                       <LITERAL2>setDebugID</LITERAL2>\r
-                       <LITERAL2>getDebug</LITERAL2>\r
-                       <LITERAL2>setDebug</LITERAL2>\r
-                       <LITERAL2>createGatewayConnection</LITERAL2>\r
-                       <LITERAL2>NetServices</LITERAL2>\r
-                       <LITERAL2>setDefaultGatewayURL</LITERAL2>\r
-                       <LITERAL2>addItem</LITERAL2>\r
-                       <LITERAL2>addItemAt</LITERAL2>\r
-                       <LITERAL2>addView</LITERAL2>\r
-                       <LITERAL2>filter</LITERAL2>\r
-                       <LITERAL2>getColumnNames</LITERAL2>\r
-                       <LITERAL2>getItemAt</LITERAL2>\r
-                       <LITERAL2>getLength</LITERAL2>\r
-                       <LITERAL2>getNumberAvailable</LITERAL2>\r
-                       <LITERAL2>isFullyPopulated</LITERAL2>\r
-                       <LITERAL2>isLocal</LITERAL2>\r
-                       <LITERAL2>removeAll</LITERAL2>\r
-                       <LITERAL2>removeItemAt</LITERAL2>\r
-                       <LITERAL2>replaceItemAt</LITERAL2>\r
-                       <LITERAL2>setDeliveryMode</LITERAL2>\r
-                       <LITERAL2>setField</LITERAL2>\r
-                       <LITERAL2>sortItemsBy</LITERAL2>\r
-\r
-                       <!-- deprecated-->\r
-                       <KEYWORD2>chr</KEYWORD2>\r
-                       <KEYWORD2>mbchr</KEYWORD2>\r
-                       <KEYWORD2>mblength</KEYWORD2>\r
-                       <KEYWORD2>mbord</KEYWORD2>\r
-                       <KEYWORD2>mbsubstring</KEYWORD2>\r
-                       <KEYWORD2>ord</KEYWORD2>\r
-                       <KEYWORD2>_highquality</KEYWORD2>\r
-\r
-                       <!-- END-->\r
-\r
-                       <!--ECMAScript keywords-->\r
-                       <!-- Reserved for future use\r
-                               (some are already used in some Javascript Engines)\r
-                       -->\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>debugger</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD1>enum</KEYWORD1>\r
-                       <KEYWORD2>export</KEYWORD2>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-\r
-                       <KEYWORD2>import</KEYWORD2>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>Void</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>dynamic</KEYWORD1>\r
-\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ada95.xml b/extra/xmode/modes/ada95.xml
deleted file mode 100644 (file)
index a6d1550..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Normal comments. -->\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               \r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">..</SEQ>\r
-               <SEQ TYPE="OPERATOR">.all</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="NULL">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="LABEL">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="LABEL">&gt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">**</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <SEQ TYPE="KEYWORD3">'access</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'address</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'adjacent</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'aft</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'alignment</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'base</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'bit_order</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'body_version</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'callable</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'caller</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'ceiling</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'class</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'component_size</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'composed</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'constrained</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'copy_size</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'count</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'definite</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'delta</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'denorm</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'digits</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'exponent</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'external_tag</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'first</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'first_bit</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'floor</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'fore</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'fraction</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'genetic</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'identity</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'image</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'input</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'last</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'last_bit</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'leading_part</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'length</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_emax</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_emin</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_mantissa</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_overflows</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_radix</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'machine_rounds</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'max</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'max_size_in_storage_elements</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'min</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'model</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'model_emin</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'model_epsilon</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'model_mantissa</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'model_small</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'modulus</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'output</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'partition_id</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'pos</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'position</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'pred</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'range</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'read</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'remainder</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'round</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'rounding</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'safe_first</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'safe_last</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'scale</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'scaling</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'signed_zeros</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'size</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'small</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'storage_pool</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'storage_size</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'succ</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'tag</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'terminated</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'truncation</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'unbiased_rounding</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'unchecked_access</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'val</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'valid</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'value</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'version</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'wide_image</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'wide_value</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'wide_width</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'width</SEQ>\r
-               <SEQ TYPE="KEYWORD3">'write</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Reserved words -->\r
-                       <KEYWORD1>entry</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>procedure</KEYWORD1>\r
-\r
-                       <KEYWORD2>abort</KEYWORD2>\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>abstract</KEYWORD2>\r
-                       <KEYWORD2>accept</KEYWORD2>\r
-                       <KEYWORD2>access</KEYWORD2>\r
-                       <KEYWORD2>aliased</KEYWORD2>\r
-                       <KEYWORD2>all</KEYWORD2>\r
-                       <KEYWORD2>and</KEYWORD2>\r
-                       <KEYWORD2>array</KEYWORD2>\r
-                       <KEYWORD2>at</KEYWORD2>\r
-                       <KEYWORD2>begin</KEYWORD2>\r
-                       <KEYWORD2>body</KEYWORD2>\r
-                       <KEYWORD2>case</KEYWORD2>\r
-                       <KEYWORD2>constant</KEYWORD2>\r
-                       <KEYWORD2>declare</KEYWORD2>\r
-                       <KEYWORD2>delay</KEYWORD2>\r
-                       <KEYWORD2>delta</KEYWORD2>\r
-                       <KEYWORD2>digits</KEYWORD2>\r
-                       <KEYWORD2>do</KEYWORD2>\r
-                       <KEYWORD2>else</KEYWORD2>\r
-                       <KEYWORD2>elsif</KEYWORD2>\r
-                       <KEYWORD2>end</KEYWORD2>\r
-                       <KEYWORD2>exception</KEYWORD2>\r
-                       <KEYWORD2>exit</KEYWORD2>\r
-                       <KEYWORD2>for</KEYWORD2>\r
-                       <KEYWORD2>goto</KEYWORD2>\r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>in</KEYWORD2>\r
-                       <KEYWORD2>is</KEYWORD2>\r
-                       <KEYWORD2>limited</KEYWORD2>\r
-                       <KEYWORD2>loop</KEYWORD2>\r
-                       <KEYWORD2>mod</KEYWORD2>\r
-                       <KEYWORD2>new</KEYWORD2>\r
-                       <KEYWORD2>not</KEYWORD2>\r
-                       <KEYWORD2>or</KEYWORD2>\r
-                       <KEYWORD2>others</KEYWORD2>\r
-                       <KEYWORD2>out</KEYWORD2>\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD2>pragma</KEYWORD2>\r
-                       <KEYWORD2>private</KEYWORD2>\r
-                       <KEYWORD2>protected</KEYWORD2>\r
-                       <KEYWORD2>raise</KEYWORD2>\r
-                       <KEYWORD2>range</KEYWORD2>\r
-                       <KEYWORD2>record</KEYWORD2>\r
-                       <KEYWORD2>rem</KEYWORD2>\r
-                       <KEYWORD2>renames</KEYWORD2>\r
-                       <KEYWORD2>requeue</KEYWORD2>\r
-                       <KEYWORD2>return</KEYWORD2>\r
-                       <KEYWORD2>select</KEYWORD2>\r
-                       <KEYWORD2>separate</KEYWORD2>\r
-                       <KEYWORD2>string</KEYWORD2>\r
-                       <KEYWORD2>subtype</KEYWORD2>\r
-                       <KEYWORD2>tagged</KEYWORD2>\r
-                       <KEYWORD2>task</KEYWORD2>\r
-                       <KEYWORD2>terminate</KEYWORD2>\r
-                       <KEYWORD2>then</KEYWORD2>\r
-                       <KEYWORD2>type</KEYWORD2>\r
-                       <KEYWORD2>until</KEYWORD2>\r
-                       <KEYWORD2>use</KEYWORD2>\r
-                       <KEYWORD2>when</KEYWORD2>\r
-                       <KEYWORD2>while</KEYWORD2>\r
-                       <KEYWORD2>with</KEYWORD2>\r
-                       <KEYWORD2>xor</KEYWORD2>\r
-\r
-                       <!-- Attributes -->\r
-\r
-                       <!-- Common Pre-defined Types -->\r
-                       <LITERAL2>address</LITERAL2>\r
-                       <LITERAL2>boolean</LITERAL2>\r
-                       <LITERAL2>character</LITERAL2>\r
-                       <LITERAL2>duration</LITERAL2>\r
-                       <LITERAL2>float</LITERAL2>\r
-                       <LITERAL2>integer</LITERAL2>\r
-                       <LITERAL2>latin_1</LITERAL2>\r
-                       <LITERAL2>natural</LITERAL2>\r
-                       <LITERAL2>positive</LITERAL2>\r
-                       <LITERAL2>string</LITERAL2>\r
-                       <LITERAL2>time</LITERAL2>\r
-\r
-                       <!-- Literals -->\r
-                       <LITERAL1>false</LITERAL1>\r
-                       <LITERAL1>null</LITERAL1>\r
-                       <LITERAL1>true</LITERAL1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/antlr.xml b/extra/xmode/modes/antlr.xml
deleted file mode 100644 (file)
index 1e5dd12..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-        This mode file describes the ANTLR syntax definition language.\r
-        It is derived from and tested with the ANTLR syntax rules specified in\r
-        antlr.g included with the ANTLR distribution.\r
-        \r
-        Portions of this file from java.xml.\r
-        \r
-        Author: Brant Gurganus <brantgurga@users.sourceforge.net>\r
--->\r
-<MODE>\r
-        <PROPS>\r
-                <PROPERTY NAME="commentStart" VALUE="/*" />\r
-                <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-                <PROPERTY NAME="lineComment" VALUE="//" />\r
-                <PROPERTY NAME="wordBreakChars" VALUE="" />\r
-        </PROPS>\r
-        <RULES>\r
-               <SPAN TYPE="COMMENT2" DELEGATE="java::JAVADOC">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-                <SPAN TYPE="COMMENT1">\r
-                        <BEGIN>/*</BEGIN>\r
-                        <END>*/</END>\r
-                </SPAN>\r
-                <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-                <SPAN TYPE="LITERAL1">\r
-                        <BEGIN>"</BEGIN>\r
-                        <END>"</END>\r
-                </SPAN>\r
-                <SEQ TYPE="OPERATOR">|</SEQ>\r
-                <SEQ TYPE="OPERATOR">:</SEQ>\r
-                <KEYWORDS>\r
-                        <KEYWORD3>header</KEYWORD3>\r
-                        <KEYWORD3>options</KEYWORD3>\r
-                        <KEYWORD3>tokens</KEYWORD3>\r
-                        <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>package</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-\r
-                       <KEYWORD2>boolean</KEYWORD2>\r
-                       <KEYWORD2>byte</KEYWORD2>\r
-                       <KEYWORD2>char</KEYWORD2>\r
-                       <KEYWORD2>class</KEYWORD2>\r
-                       <KEYWORD2>double</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>int</KEYWORD2>\r
-                       <KEYWORD2>interface</KEYWORD2>\r
-                       <KEYWORD2>long</KEYWORD2>\r
-                       <KEYWORD2>short</KEYWORD2>\r
-                       <KEYWORD2>void</KEYWORD2>\r
-\r
-                       <FUNCTION>assert</FUNCTION>\r
-                       <KEYWORD1>strictfp</KEYWORD1>\r
-\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-\r
-                       <INVALID>goto</INVALID>\r
-                       <INVALID>const</INVALID>\r
-                </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/apacheconf.xml b/extra/xmode/modes/apacheconf.xml
deleted file mode 100644 (file)
index 1c16a35..0000000
+++ /dev/null
@@ -1,1007 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="noWordSep" VALUE="-" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;VirtualHost" TYPE="MARKUP" DELEGATE="VHOST">\r
-                       <BEGIN><![CDATA[<(VirtualHost)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
-                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>AcceptMutex</KEYWORD1>\r
-                       <KEYWORD1>AcceptPathInfo</KEYWORD1>\r
-                       <KEYWORD1>AccessFileName</KEYWORD1>\r
-                       <KEYWORD1>Action</KEYWORD1>\r
-                       <KEYWORD1>AddAlt</KEYWORD1>\r
-                       <KEYWORD1>AddAltByEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddAltByType</KEYWORD1>\r
-                       <KEYWORD1>AddCharset</KEYWORD1>\r
-                       <KEYWORD1>AddDefaultCharset</KEYWORD1>\r
-                       <KEYWORD1>AddDescription</KEYWORD1>\r
-                       <KEYWORD1>AddEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddHandler</KEYWORD1>\r
-                       <KEYWORD1>AddIcon</KEYWORD1>\r
-                       <KEYWORD1>AddIconByEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddIconByType</KEYWORD1>\r
-                       <KEYWORD1>AddInputFilter</KEYWORD1>\r
-                       <KEYWORD1>AddLanguage</KEYWORD1>\r
-                       <KEYWORD1>AddModuleInfo</KEYWORD1>\r
-                       <KEYWORD1>AddOutputFilter</KEYWORD1>\r
-                       <KEYWORD1>AddOutputFilterByType</KEYWORD1>\r
-                       <KEYWORD1>AddType</KEYWORD1>\r
-                       <KEYWORD1>Alias</KEYWORD1>\r
-                       <KEYWORD1>AliasMatch</KEYWORD1>\r
-                       <KEYWORD1>AllowCONNECT</KEYWORD1>\r
-                       <KEYWORD1>AllowEncodedSlashes</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestNcCheck</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestShmemSize</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPCharsetConfig</KEYWORD1>\r
-                       <KEYWORD1>BS2000Account</KEYWORD1>\r
-                       <KEYWORD1>BrowserMatch</KEYWORD1>\r
-                       <KEYWORD1>BrowserMatchNoCase</KEYWORD1>\r
-                       <KEYWORD1>CacheDefaultExpire</KEYWORD1>\r
-                       <KEYWORD1>CacheDirLength</KEYWORD1>\r
-                       <KEYWORD1>CacheDirLevels</KEYWORD1>\r
-                       <KEYWORD1>CacheDisable</KEYWORD1>\r
-                       <KEYWORD1>CacheEnable</KEYWORD1>\r
-                       <KEYWORD1>CacheExpiryCheck</KEYWORD1>\r
-                       <KEYWORD1>CacheFile</KEYWORD1>\r
-                       <KEYWORD1>CacheForceCompletion</KEYWORD1>\r
-                       <KEYWORD1>CacheGcClean</KEYWORD1>\r
-                       <KEYWORD1>CacheGcDaily</KEYWORD1>\r
-                       <KEYWORD1>CacheGcInterval</KEYWORD1>\r
-                       <KEYWORD1>CacheGcMemUsage</KEYWORD1>\r
-                       <KEYWORD1>CacheGcUnused</KEYWORD1>\r
-                       <KEYWORD1>CacheIgnoreCacheControl</KEYWORD1>\r
-                       <KEYWORD1>CacheIgnoreNoLastMod</KEYWORD1>\r
-                       <KEYWORD1>CacheLastModifiedFactor</KEYWORD1>\r
-                       <KEYWORD1>CacheMaxExpire</KEYWORD1>\r
-                       <KEYWORD1>CacheMaxFileSize</KEYWORD1>\r
-                       <KEYWORD1>CacheMinFileSize</KEYWORD1>\r
-                       <KEYWORD1>CacheNegotiatedDocs</KEYWORD1>\r
-                       <KEYWORD1>CacheRoot</KEYWORD1>\r
-                       <KEYWORD1>CacheSize</KEYWORD1>\r
-                       <KEYWORD1>CacheTimeMargin</KEYWORD1>\r
-                       <KEYWORD1>CharsetDefault</KEYWORD1>\r
-                       <KEYWORD1>CharsetOptions</KEYWORD1>\r
-                       <KEYWORD1>CharsetSourceEnc</KEYWORD1>\r
-                       <KEYWORD1>CheckSpelling</KEYWORD1>\r
-                       <KEYWORD1>ChildPerUserID</KEYWORD1>\r
-                       <KEYWORD1>ContentDigest</KEYWORD1>\r
-                       <KEYWORD1>CookieDomain</KEYWORD1>\r
-                       <KEYWORD1>CookieExpires</KEYWORD1>\r
-                       <KEYWORD1>CookieLog</KEYWORD1>\r
-                       <KEYWORD1>CookieName</KEYWORD1>\r
-                       <KEYWORD1>CookieStyle</KEYWORD1>\r
-                       <KEYWORD1>CookieTracking</KEYWORD1>\r
-                       <KEYWORD1>CoreDumpDirectory</KEYWORD1>\r
-                       <KEYWORD1>CustomLog</KEYWORD1>\r
-                       <KEYWORD1>DavDepthInfinity</KEYWORD1>\r
-                       <KEYWORD1>DavLockDB</KEYWORD1>\r
-                       <KEYWORD1>DavMinTimeout</KEYWORD1>\r
-                       <KEYWORD1>DefaultIcon</KEYWORD1>\r
-                       <KEYWORD1>DefaultLanguage</KEYWORD1>\r
-                       <KEYWORD1>DefaultType</KEYWORD1>\r
-                       <KEYWORD1>DeflateBufferSize</KEYWORD1>\r
-                       <KEYWORD1>DeflateCompressionLevel</KEYWORD1>\r
-                       <KEYWORD1>DeflateFilterNote</KEYWORD1>\r
-                       <KEYWORD1>DeflateMemLevel</KEYWORD1>\r
-                       <KEYWORD1>DeflateWindowSize</KEYWORD1>\r
-                       <KEYWORD1>DirectoryIndex</KEYWORD1>\r
-                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
-                       <KEYWORD1>DocumentRoot</KEYWORD1>\r
-                       <KEYWORD1>EnableExceptionHook</KEYWORD1>\r
-                       <KEYWORD1>EnableMMAP</KEYWORD1>\r
-                       <KEYWORD1>EnableSendfile</KEYWORD1>\r
-                       <KEYWORD1>ErrorDocument</KEYWORD1>\r
-                       <KEYWORD1>ErrorLog</KEYWORD1>\r
-                       <KEYWORD1>Example</KEYWORD1>\r
-                       <KEYWORD1>ExpiresActive</KEYWORD1>\r
-                       <KEYWORD1>ExpiresByType</KEYWORD1>\r
-                       <KEYWORD1>ExpiresDefault</KEYWORD1>\r
-                       <KEYWORD1>ExtFilterDefine</KEYWORD1>\r
-                       <KEYWORD1>ExtendedStatus</KEYWORD1>\r
-                       <KEYWORD1>FileETag</KEYWORD1>\r
-                       <KEYWORD1>ForceLanguagePriority</KEYWORD1>\r
-                       <KEYWORD1>ForensicLog</KEYWORD1>\r
-                       <KEYWORD1>Group</KEYWORD1>\r
-                       <KEYWORD1>Header</KEYWORD1>\r
-                       <KEYWORD1>HeaderName</KEYWORD1>\r
-                       <KEYWORD1>HostnameLookups</KEYWORD1>\r
-                       <KEYWORD1>ISAPIAppendLogToErrors</KEYWORD1>\r
-                       <KEYWORD1>ISAPIAppendLogToQuery</KEYWORD1>\r
-                       <KEYWORD1>ISAPICacheFile</KEYWORD1>\r
-                       <KEYWORD1>ISAPIFakeAsync</KEYWORD1>\r
-                       <KEYWORD1>ISAPILogNotSupported</KEYWORD1>\r
-                       <KEYWORD1>ISAPIReadAheadBuffer</KEYWORD1>\r
-                       <KEYWORD1>IdentityCheck</KEYWORD1>\r
-                       <KEYWORD1>ImapBase</KEYWORD1>\r
-                       <KEYWORD1>ImapDefault</KEYWORD1>\r
-                       <KEYWORD1>ImapMenu</KEYWORD1>\r
-                       <KEYWORD1>Include</KEYWORD1>\r
-                       <KEYWORD1>IndexIgnore</KEYWORD1>\r
-                       <KEYWORD1>IndexOptions</KEYWORD1>\r
-                       <KEYWORD1>IndexOrderDefault</KEYWORD1>\r
-                       <KEYWORD1>KeepAlive</KEYWORD1>\r
-                       <KEYWORD1>KeepAliveTimeout</KEYWORD1>\r
-                       <KEYWORD1>LDAPCacheEntries</KEYWORD1>\r
-                       <KEYWORD1>LDAPCacheTTL</KEYWORD1>\r
-                       <KEYWORD1>LDAPOpCacheEntries</KEYWORD1>\r
-                       <KEYWORD1>LDAPOpCacheTTL</KEYWORD1>\r
-                       <KEYWORD1>LDAPSharedCacheFile</KEYWORD1>\r
-                       <KEYWORD1>LDAPSharedCacheSize</KEYWORD1>\r
-                       <KEYWORD1>LDAPTrustedCA</KEYWORD1>\r
-                       <KEYWORD1>LDAPTrustedCAType</KEYWORD1>\r
-                       <KEYWORD1>LanguagePriority</KEYWORD1>\r
-                       <KEYWORD1>LimitInternalRecursion</KEYWORD1>\r
-                       <KEYWORD1>LimitRequestBody</KEYWORD1>\r
-                       <KEYWORD1>LimitRequestFields</KEYWORD1>\r
-                       <KEYWORD1>LimitRequestFieldsize</KEYWORD1>\r
-                       <KEYWORD1>LimitRequestLine</KEYWORD1>\r
-                       <KEYWORD1>LimitXMLRequestBody</KEYWORD1>\r
-                       <KEYWORD1>Listen</KEYWORD1>\r
-                       <KEYWORD1>ListenBacklog</KEYWORD1>\r
-                       <KEYWORD1>LoadFile</KEYWORD1>\r
-                       <KEYWORD1>LoadModule</KEYWORD1>\r
-                       <KEYWORD1>LockFile</KEYWORD1>\r
-                       <KEYWORD1>LogFormat</KEYWORD1>\r
-                       <KEYWORD1>LogLevel</KEYWORD1>\r
-                       <KEYWORD1>MCacheMaxObjectCount</KEYWORD1>\r
-                       <KEYWORD1>MCacheMaxObjectSize</KEYWORD1>\r
-                       <KEYWORD1>MCacheMaxStreamingBuffer</KEYWORD1>\r
-                       <KEYWORD1>MCacheMinObjectSize</KEYWORD1>\r
-                       <KEYWORD1>MCacheRemovalAlgorithm</KEYWORD1>\r
-                       <KEYWORD1>MCacheSize</KEYWORD1>\r
-                       <KEYWORD1>MMapFile</KEYWORD1>\r
-                       <KEYWORD1>MaxClients</KEYWORD1>\r
-                       <KEYWORD1>MaxKeepAliveRequests</KEYWORD1>\r
-                       <KEYWORD1>MaxMemFree</KEYWORD1>\r
-                       <KEYWORD1>MaxRequestsPerChild</KEYWORD1>\r
-                       <KEYWORD1>MaxRequestsPerThread</KEYWORD1>\r
-                       <KEYWORD1>MaxSpareServers</KEYWORD1>\r
-                       <KEYWORD1>MaxSpareThreads</KEYWORD1>\r
-                       <KEYWORD1>MaxThreads</KEYWORD1>\r
-                       <KEYWORD1>MaxThreadsPerChild</KEYWORD1>\r
-                       <KEYWORD1>MetaDir</KEYWORD1>\r
-                       <KEYWORD1>MetaFiles</KEYWORD1>\r
-                       <KEYWORD1>MetaSuffix</KEYWORD1>\r
-                       <KEYWORD1>MimeMagicFile</KEYWORD1>\r
-                       <KEYWORD1>MinSpareServers</KEYWORD1>\r
-                       <KEYWORD1>MinSpareThreads</KEYWORD1>\r
-                       <KEYWORD1>MultiviewsMatch</KEYWORD1>\r
-                       <KEYWORD1>NWSSLTrustedCerts</KEYWORD1>\r
-                       <KEYWORD1>NWSSLUpgradeable</KEYWORD1>\r
-                       <KEYWORD1>NameVirtualHost</KEYWORD1>\r
-                       <KEYWORD1>NoProxy</KEYWORD1>\r
-                       <KEYWORD1>NumServers</KEYWORD1>\r
-                       <KEYWORD1>Options</KEYWORD1>\r
-                       <KEYWORD1>PassEnv</KEYWORD1>\r
-                       <KEYWORD1>PidFile</KEYWORD1>\r
-                       <KEYWORD1>ProtocolEcho</KEYWORD1>\r
-                       <KEYWORD1>ProxyBadHeader</KEYWORD1>\r
-                       <KEYWORD1>ProxyBlock</KEYWORD1>\r
-                       <KEYWORD1>ProxyDomain</KEYWORD1>\r
-                       <KEYWORD1>ProxyErrorOverride</KEYWORD1>\r
-                       <KEYWORD1>ProxyIOBufferSize</KEYWORD1>\r
-                       <KEYWORD1>ProxyMaxForwards</KEYWORD1>\r
-                       <KEYWORD1>ProxyPass</KEYWORD1>\r
-                       <KEYWORD1>ProxyPassReverse</KEYWORD1>\r
-                       <KEYWORD1>ProxyPreserveHost</KEYWORD1>\r
-                       <KEYWORD1>ProxyReceiveBufferSize</KEYWORD1>\r
-                       <KEYWORD1>ProxyRemote</KEYWORD1>\r
-                       <KEYWORD1>ProxyRemoteMatch</KEYWORD1>\r
-                       <KEYWORD1>ProxyRequests</KEYWORD1>\r
-                       <KEYWORD1>ProxyTimeout</KEYWORD1>\r
-                       <KEYWORD1>ProxyVia</KEYWORD1>\r
-                       <KEYWORD1>RLimitCPU</KEYWORD1>\r
-                       <KEYWORD1>RLimitMEM</KEYWORD1>\r
-                       <KEYWORD1>RLimitNPROC</KEYWORD1>\r
-                       <KEYWORD1>ReadmeName</KEYWORD1>\r
-                       <KEYWORD1>Redirect</KEYWORD1>\r
-                       <KEYWORD1>RedirectMatch</KEYWORD1>\r
-                       <KEYWORD1>RedirectPermanent</KEYWORD1>\r
-                       <KEYWORD1>RedirectTemp</KEYWORD1>\r
-                       <KEYWORD1>RequestHeader</KEYWORD1>\r
-                       <KEYWORD1>RewriteBase</KEYWORD1>\r
-                       <KEYWORD1>RewriteCond</KEYWORD1>\r
-                       <KEYWORD1>RewriteEngine</KEYWORD1>\r
-                       <KEYWORD1>RewriteLock</KEYWORD1>\r
-                       <KEYWORD1>RewriteLog</KEYWORD1>\r
-                       <KEYWORD1>RewriteLogLevel</KEYWORD1>\r
-                       <KEYWORD1>RewriteMap</KEYWORD1>\r
-                       <KEYWORD1>RewriteOptions</KEYWORD1>\r
-                       <KEYWORD1>RewriteRule</KEYWORD1>\r
-                       <KEYWORD1>SSIEndTag</KEYWORD1>\r
-                       <KEYWORD1>SSIErrorMsg</KEYWORD1>\r
-                       <KEYWORD1>SSIStartTag</KEYWORD1>\r
-                       <KEYWORD1>SSITimeFormat</KEYWORD1>\r
-                       <KEYWORD1>SSIUndefinedEcho</KEYWORD1>\r
-                       <KEYWORD1>SSLCACertificateFile</KEYWORD1>\r
-                       <KEYWORD1>SSLCACertificatePath</KEYWORD1>\r
-                       <KEYWORD1>SSLCARevocationFile</KEYWORD1>\r
-                       <KEYWORD1>SSLCARevocationPath</KEYWORD1>\r
-                       <KEYWORD1>SSLCertificateChainFile</KEYWORD1>\r
-                       <KEYWORD1>SSLCertificateFile</KEYWORD1>\r
-                       <KEYWORD1>SSLCertificateKeyFile</KEYWORD1>\r
-                       <KEYWORD1>SSLCipherSuite</KEYWORD1>\r
-                       <KEYWORD1>SSLEngine</KEYWORD1>\r
-                       <KEYWORD1>SSLMutex</KEYWORD1>\r
-                       <KEYWORD1>SSLOptions</KEYWORD1>\r
-                       <KEYWORD1>SSLPassPhraseDialog</KEYWORD1>\r
-                       <KEYWORD1>SSLProtocol</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCACertificateFile</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCACertificatePath</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCARevocationFile</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCARevocationPath</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCipherSuite</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyEngine</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyMachineCertificateFile</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyMachineCertificatePath</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyProtocol</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyVerify</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyVerifyDepth</KEYWORD1>\r
-                       <KEYWORD1>SSLRandomSeed</KEYWORD1>\r
-                       <KEYWORD1>SSLSessionCache</KEYWORD1>\r
-                       <KEYWORD1>SSLSessionCacheTimeout</KEYWORD1>\r
-                       <KEYWORD1>SSLVerifyClient</KEYWORD1>\r
-                       <KEYWORD1>SSLVerifyDepth</KEYWORD1>\r
-                       <KEYWORD1>ScoreBoardFile</KEYWORD1>\r
-                       <KEYWORD1>Script</KEYWORD1>\r
-                       <KEYWORD1>ScriptAlias</KEYWORD1>\r
-                       <KEYWORD1>ScriptAliasMatch</KEYWORD1>\r
-                       <KEYWORD1>ScriptInterpreterSource</KEYWORD1>\r
-                       <KEYWORD1>ScriptLog</KEYWORD1>\r
-                       <KEYWORD1>ScriptLogBuffer</KEYWORD1>\r
-                       <KEYWORD1>ScriptLogLength</KEYWORD1>\r
-                       <KEYWORD1>ScriptSock</KEYWORD1>\r
-                       <KEYWORD1>SecureListen</KEYWORD1>\r
-                       <KEYWORD1>SendBufferSize</KEYWORD1>\r
-                       <KEYWORD1>ServerAdmin</KEYWORD1>\r
-                       <KEYWORD1>ServerLimit</KEYWORD1>\r
-                       <KEYWORD1>ServerName</KEYWORD1>\r
-                       <KEYWORD1>ServerRoot</KEYWORD1>\r
-                       <KEYWORD1>ServerSignature</KEYWORD1>\r
-                       <KEYWORD1>ServerTokens</KEYWORD1>\r
-                       <KEYWORD1>SetEnv</KEYWORD1>\r
-                       <KEYWORD1>SetEnvIf</KEYWORD1>\r
-                       <KEYWORD1>SetEnvIfNoCase</KEYWORD1>\r
-                       <KEYWORD1>SetHandler</KEYWORD1>\r
-                       <KEYWORD1>SetInputFilter</KEYWORD1>\r
-                       <KEYWORD1>SetOutputFilter</KEYWORD1>\r
-                       <KEYWORD1>StartServers</KEYWORD1>\r
-                       <KEYWORD1>StartThreads</KEYWORD1>\r
-                       <KEYWORD1>SuexecUserGroup</KEYWORD1>\r
-                       <KEYWORD1>ThreadLimit</KEYWORD1>\r
-                       <KEYWORD1>ThreadStackSize</KEYWORD1>\r
-                       <KEYWORD1>ThreadsPerChild</KEYWORD1>\r
-                       <KEYWORD1>TimeOut</KEYWORD1>\r
-                       <KEYWORD1>TransferLog</KEYWORD1>\r
-                       <KEYWORD1>TypesConfig</KEYWORD1>\r
-                       <KEYWORD1>UnsetEnv</KEYWORD1>\r
-                       <KEYWORD1>UseCanonicalName</KEYWORD1>\r
-                       <KEYWORD1>User</KEYWORD1>\r
-                       <KEYWORD1>UserDir</KEYWORD1>\r
-                       <KEYWORD1>VirtualDocumentRoot</KEYWORD1>\r
-                       <KEYWORD1>VirtualDocumentRootIP</KEYWORD1>\r
-                       <KEYWORD1>VirtualScriptAlias</KEYWORD1>\r
-                       <KEYWORD1>VirtualScriptAliasIP</KEYWORD1>\r
-                       <KEYWORD1>Win32DisableAcceptEx</KEYWORD1>\r
-                       <KEYWORD1>XBitHack</KEYWORD1>\r
-\r
-                       <!-- Apache 1.x -->\r
-                       <KEYWORD4>AddModule</KEYWORD4>\r
-                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
-                       <KEYWORD4>ServerType</KEYWORD4>\r
-                       <KEYWORD4>Port</KEYWORD4>\r
-\r
-                       <LITERAL2>Off</LITERAL2>\r
-                       <LITERAL2>On</LITERAL2>\r
-                       <LITERAL2>None</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="DIRECTIVE" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;VirtualHost" TYPE="MARKUP" DELEGATE="VHOST">\r
-                       <BEGIN><![CDATA[<(VirtualHost)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
-                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <KEYWORDS>\r
-\r
-                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
-                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
-                       <KEYWORD2>AccessFileName</KEYWORD2>\r
-                       <KEYWORD2>Action</KEYWORD2>\r
-                       <KEYWORD2>AddAlt</KEYWORD2>\r
-                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddAltByType</KEYWORD2>\r
-                       <KEYWORD2>AddCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDescription</KEYWORD2>\r
-                       <KEYWORD2>AddEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddHandler</KEYWORD2>\r
-                       <KEYWORD2>AddIcon</KEYWORD2>\r
-                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddIconByType</KEYWORD2>\r
-                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddLanguage</KEYWORD2>\r
-                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
-                       <KEYWORD2>AddType</KEYWORD2>\r
-                       <KEYWORD2>Alias</KEYWORD2>\r
-                       <KEYWORD2>AliasMatch</KEYWORD2>\r
-                       <KEYWORD2>Allow</KEYWORD2>\r
-                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
-                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
-                       <KEYWORD2>AllowOverride</KEYWORD2>\r
-                       <KEYWORD2>Anonymous</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_Authoritative</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_LogEmail</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_MustGiveEmail</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_NoUserID</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_VerifyEmail</KEYWORD2>\r
-                       <KEYWORD2>AuthAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMType</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMUserFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestAlgorithm</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestDomain</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNonceFormat</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNonceLifetime</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestQop</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
-                       <KEYWORD2>AuthGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPBindDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPBindPassword</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPCompareDNOnServer</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPDereferenceAliases</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPEnabled</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPFrontPageHack</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPGroupAttribute</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPGroupAttributeIsDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPRemoteUserIsDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPUrl</KEYWORD2>\r
-                       <KEYWORD2>AuthName</KEYWORD2>\r
-                       <KEYWORD2>AuthType</KEYWORD2>\r
-                       <KEYWORD2>AuthUserFile</KEYWORD2>\r
-                       <KEYWORD2>BS2000Account</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
-                       <KEYWORD2>CGIMapExtension</KEYWORD2>\r
-                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
-                       <KEYWORD2>CacheDisable</KEYWORD2>\r
-                       <KEYWORD2>CacheEnable</KEYWORD2>\r
-                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
-                       <KEYWORD2>CacheFile</KEYWORD2>\r
-                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
-                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
-                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
-                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
-                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
-                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
-                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
-                       <KEYWORD2>CacheRoot</KEYWORD2>\r
-                       <KEYWORD2>CacheSize</KEYWORD2>\r
-                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
-                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
-                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
-                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
-                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
-                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
-                       <KEYWORD2>ContentDigest</KEYWORD2>\r
-                       <KEYWORD2>CookieDomain</KEYWORD2>\r
-                       <KEYWORD2>CookieExpires</KEYWORD2>\r
-                       <KEYWORD2>CookieLog</KEYWORD2>\r
-                       <KEYWORD2>CookieName</KEYWORD2>\r
-                       <KEYWORD2>CookieStyle</KEYWORD2>\r
-                       <KEYWORD2>CookieTracking</KEYWORD2>\r
-                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
-                       <KEYWORD2>CustomLog</KEYWORD2>\r
-                       <KEYWORD2>Dav</KEYWORD2>\r
-                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
-                       <KEYWORD2>DavLockDB</KEYWORD2>\r
-                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
-                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
-                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
-                       <KEYWORD2>DefaultType</KEYWORD2>\r
-                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
-                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
-                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
-                       <KEYWORD2>Deny</KEYWORD2>\r
-                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
-                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
-                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
-                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
-                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
-                       <KEYWORD2>ErrorLog</KEYWORD2>\r
-                       <KEYWORD2>Example</KEYWORD2>\r
-                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
-                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
-                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
-                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
-                       <KEYWORD2>ExtFilterOptions</KEYWORD2>\r
-                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
-                       <KEYWORD2>FileETag</KEYWORD2>\r
-                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>ForceType</KEYWORD2>\r
-                       <KEYWORD2>Group</KEYWORD2>\r
-                       <KEYWORD2>Header</KEYWORD2>\r
-                       <KEYWORD2>HeaderName</KEYWORD2>\r
-                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
-                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
-                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
-                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
-                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
-                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
-                       <KEYWORD2>ImapBase</KEYWORD2>\r
-                       <KEYWORD2>ImapDefault</KEYWORD2>\r
-                       <KEYWORD2>ImapMenu</KEYWORD2>\r
-                       <KEYWORD2>Include</KEYWORD2>\r
-                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
-                       <KEYWORD2>IndexOptions</KEYWORD2>\r
-                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
-                       <KEYWORD2>KeepAlive</KEYWORD2>\r
-                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
-                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
-                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
-                       <KEYWORD2>Listen</KEYWORD2>\r
-                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
-                       <KEYWORD2>LoadFile</KEYWORD2>\r
-                       <KEYWORD2>LoadModule</KEYWORD2>\r
-                       <KEYWORD2>LockFile</KEYWORD2>\r
-                       <KEYWORD2>LogFormat</KEYWORD2>\r
-                       <KEYWORD2>LogLevel</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
-                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
-                       <KEYWORD2>MCacheSize</KEYWORD2>\r
-                       <KEYWORD2>MMapFile</KEYWORD2>\r
-                       <KEYWORD2>MaxClients</KEYWORD2>\r
-                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
-                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MetaDir</KEYWORD2>\r
-                       <KEYWORD2>MetaFiles</KEYWORD2>\r
-                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
-                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
-                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>ModMimeUsePathInfo</KEYWORD2>\r
-                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
-                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
-                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
-                       <KEYWORD2>NoProxy</KEYWORD2>\r
-                       <KEYWORD2>NumServers</KEYWORD2>\r
-                       <KEYWORD2>Options</KEYWORD2>\r
-                       <KEYWORD2>Order</KEYWORD2>\r
-                       <KEYWORD2>PassEnv</KEYWORD2>\r
-                       <KEYWORD2>PidFile</KEYWORD2>\r
-                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
-                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
-                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
-                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
-                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
-                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
-                       <KEYWORD2>ProxyPass</KEYWORD2>\r
-                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
-                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
-                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
-                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
-                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
-                       <KEYWORD2>ProxyVia</KEYWORD2>\r
-                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
-                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
-                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
-                       <KEYWORD2>ReadmeName</KEYWORD2>\r
-                       <KEYWORD2>Redirect</KEYWORD2>\r
-                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
-                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
-                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
-                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
-                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
-                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
-                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
-                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveType</KEYWORD2>\r
-                       <KEYWORD2>RequestHeader</KEYWORD2>\r
-                       <KEYWORD2>Require</KEYWORD2>\r
-                       <KEYWORD2>RewriteBase</KEYWORD2>\r
-                       <KEYWORD2>RewriteCond</KEYWORD2>\r
-                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
-                       <KEYWORD2>RewriteLock</KEYWORD2>\r
-                       <KEYWORD2>RewriteLog</KEYWORD2>\r
-                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
-                       <KEYWORD2>RewriteMap</KEYWORD2>\r
-                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
-                       <KEYWORD2>RewriteRule</KEYWORD2>\r
-                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
-                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
-                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
-                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
-                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLMutex</KEYWORD2>\r
-                       <KEYWORD2>SSLOptions</KEYWORD2>\r
-                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
-                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
-                       <KEYWORD2>SSLRequire</KEYWORD2>\r
-                       <KEYWORD2>SSLRequireSSL</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>Satisfy</KEYWORD2>\r
-                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
-                       <KEYWORD2>Script</KEYWORD2>\r
-                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
-                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
-                       <KEYWORD2>ScriptLog</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
-                       <KEYWORD2>ScriptSock</KEYWORD2>\r
-                       <KEYWORD2>SecureListen</KEYWORD2>\r
-                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
-                       <KEYWORD2>ServerLimit</KEYWORD2>\r
-                       <KEYWORD2>ServerName</KEYWORD2>\r
-                       <KEYWORD2>ServerRoot</KEYWORD2>\r
-                       <KEYWORD2>ServerSignature</KEYWORD2>\r
-                       <KEYWORD2>ServerTokens</KEYWORD2>\r
-                       <KEYWORD2>SetEnv</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
-                       <KEYWORD2>SetHandler</KEYWORD2>\r
-                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
-                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>StartServers</KEYWORD2>\r
-                       <KEYWORD2>StartThreads</KEYWORD2>\r
-                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
-                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
-                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
-                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>TimeOut</KEYWORD2>\r
-                       <KEYWORD2>TransferLog</KEYWORD2>\r
-                       <KEYWORD2>TypesConfig</KEYWORD2>\r
-                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
-                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
-                       <KEYWORD2>User</KEYWORD2>\r
-                       <KEYWORD2>UserDir</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
-                       <KEYWORD2>XBitHack</KEYWORD2>\r
-\r
-                       <!-- Apache 1.x -->\r
-                       <KEYWORD4>AddModule</KEYWORD4>\r
-                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
-\r
-                       <!-- Subversion directives -->\r
-                       <KEYWORD3>SVNPath</KEYWORD3>\r
-                       <KEYWORD3>SVNParentPath</KEYWORD3>\r
-                       <KEYWORD3>SVNIndexXSLT</KEYWORD3>\r
-\r
-                       <!-- mod_python directives -->\r
-                       <KEYWORD3>PythonHandler</KEYWORD3>\r
-                       <KEYWORD3>PythonDebug</KEYWORD3>\r
-\r
-                       <LITERAL2>All</LITERAL2>\r
-                       <LITERAL2>ExecCGI</LITERAL2>\r
-                       <LITERAL2>FollowSymLinks</LITERAL2>\r
-                       <LITERAL2>Includes</LITERAL2>\r
-                       <LITERAL2>IncludesNOEXEC</LITERAL2>\r
-                       <LITERAL2>Indexes</LITERAL2>\r
-                       <LITERAL2>MultiViews</LITERAL2>\r
-                       <LITERAL2>None</LITERAL2>\r
-                       <LITERAL2>Off</LITERAL2>\r
-                       <LITERAL2>On</LITERAL2>\r
-                       <LITERAL2>SymLinksIfOwnerMatch</LITERAL2>\r
-                       <LITERAL2>from</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="VHOST" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
-                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
-                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
-                       <KEYWORD2>AccessFileName</KEYWORD2>\r
-                       <KEYWORD2>Action</KEYWORD2>\r
-                       <KEYWORD2>AddAlt</KEYWORD2>\r
-                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddAltByType</KEYWORD2>\r
-                       <KEYWORD2>AddCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDescription</KEYWORD2>\r
-                       <KEYWORD2>AddEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddHandler</KEYWORD2>\r
-                       <KEYWORD2>AddIcon</KEYWORD2>\r
-                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddIconByType</KEYWORD2>\r
-                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddLanguage</KEYWORD2>\r
-                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
-                       <KEYWORD2>AddType</KEYWORD2>\r
-                       <KEYWORD2>Alias</KEYWORD2>\r
-                       <KEYWORD2>AliasMatch</KEYWORD2>\r
-                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
-                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
-                       <KEYWORD2>AssignUserID</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
-                       <KEYWORD2>BS2000Account</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
-                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
-                       <KEYWORD2>CacheDisable</KEYWORD2>\r
-                       <KEYWORD2>CacheEnable</KEYWORD2>\r
-                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
-                       <KEYWORD2>CacheFile</KEYWORD2>\r
-                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
-                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
-                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
-                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
-                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
-                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
-                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
-                       <KEYWORD2>CacheRoot</KEYWORD2>\r
-                       <KEYWORD2>CacheSize</KEYWORD2>\r
-                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
-                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
-                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
-                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
-                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
-                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
-                       <KEYWORD2>ContentDigest</KEYWORD2>\r
-                       <KEYWORD2>CookieDomain</KEYWORD2>\r
-                       <KEYWORD2>CookieExpires</KEYWORD2>\r
-                       <KEYWORD2>CookieLog</KEYWORD2>\r
-                       <KEYWORD2>CookieName</KEYWORD2>\r
-                       <KEYWORD2>CookieStyle</KEYWORD2>\r
-                       <KEYWORD2>CookieTracking</KEYWORD2>\r
-                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
-                       <KEYWORD2>CustomLog</KEYWORD2>\r
-                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
-                       <KEYWORD2>DavLockDB</KEYWORD2>\r
-                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
-                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
-                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
-                       <KEYWORD2>DefaultType</KEYWORD2>\r
-                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
-                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
-                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
-                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
-                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
-                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
-                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
-                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
-                       <KEYWORD2>ErrorLog</KEYWORD2>\r
-                       <KEYWORD2>Example</KEYWORD2>\r
-                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
-                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
-                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
-                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
-                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
-                       <KEYWORD2>FileETag</KEYWORD2>\r
-                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>ForensicLog</KEYWORD2>\r
-                       <KEYWORD2>Group</KEYWORD2>\r
-                       <KEYWORD2>Header</KEYWORD2>\r
-                       <KEYWORD2>HeaderName</KEYWORD2>\r
-                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
-                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
-                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
-                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
-                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
-                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
-                       <KEYWORD2>ImapBase</KEYWORD2>\r
-                       <KEYWORD2>ImapDefault</KEYWORD2>\r
-                       <KEYWORD2>ImapMenu</KEYWORD2>\r
-                       <KEYWORD2>Include</KEYWORD2>\r
-                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
-                       <KEYWORD2>IndexOptions</KEYWORD2>\r
-                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
-                       <KEYWORD2>JkMount</KEYWORD2>\r
-                       <KEYWORD2>KeepAlive</KEYWORD2>\r
-                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
-                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
-                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
-                       <KEYWORD2>Listen</KEYWORD2>\r
-                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
-                       <KEYWORD2>LoadFile</KEYWORD2>\r
-                       <KEYWORD2>LoadModule</KEYWORD2>\r
-                       <KEYWORD2>LockFile</KEYWORD2>\r
-                       <KEYWORD2>LogFormat</KEYWORD2>\r
-                       <KEYWORD2>LogLevel</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
-                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
-                       <KEYWORD2>MCacheSize</KEYWORD2>\r
-                       <KEYWORD2>MMapFile</KEYWORD2>\r
-                       <KEYWORD2>MaxClients</KEYWORD2>\r
-                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
-                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MetaDir</KEYWORD2>\r
-                       <KEYWORD2>MetaFiles</KEYWORD2>\r
-                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
-                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
-                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
-                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
-                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
-                       <KEYWORD2>NoProxy</KEYWORD2>\r
-                       <KEYWORD2>NumServers</KEYWORD2>\r
-                       <KEYWORD2>Options</KEYWORD2>\r
-                       <KEYWORD2>PassEnv</KEYWORD2>\r
-                       <KEYWORD2>PidFile</KEYWORD2>\r
-                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
-                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
-                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
-                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
-                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
-                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
-                       <KEYWORD2>ProxyPass</KEYWORD2>\r
-                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
-                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
-                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
-                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
-                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
-                       <KEYWORD2>ProxyVia</KEYWORD2>\r
-                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
-                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
-                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
-                       <KEYWORD2>ReadmeName</KEYWORD2>\r
-                       <KEYWORD2>Redirect</KEYWORD2>\r
-                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
-                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
-                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
-                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
-                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
-                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
-                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
-                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveType</KEYWORD2>\r
-                       <KEYWORD2>RequestHeader</KEYWORD2>\r
-                       <KEYWORD2>RewriteBase</KEYWORD2>\r
-                       <KEYWORD2>RewriteCond</KEYWORD2>\r
-                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
-                       <KEYWORD2>RewriteLock</KEYWORD2>\r
-                       <KEYWORD2>RewriteLog</KEYWORD2>\r
-                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
-                       <KEYWORD2>RewriteMap</KEYWORD2>\r
-                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
-                       <KEYWORD2>RewriteRule</KEYWORD2>\r
-                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
-                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
-                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
-                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
-                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLMutex</KEYWORD2>\r
-                       <KEYWORD2>SSLOptions</KEYWORD2>\r
-                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
-                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
-                       <KEYWORD2>Script</KEYWORD2>\r
-                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
-                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
-                       <KEYWORD2>ScriptLog</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
-                       <KEYWORD2>ScriptSock</KEYWORD2>\r
-                       <KEYWORD2>SecureListen</KEYWORD2>\r
-                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
-                       <KEYWORD2>ServerAlias</KEYWORD2>\r
-                       <KEYWORD2>ServerLimit</KEYWORD2>\r
-                       <KEYWORD2>ServerName</KEYWORD2>\r
-                       <KEYWORD2>ServerPath</KEYWORD2>\r
-                       <KEYWORD2>ServerRoot</KEYWORD2>\r
-                       <KEYWORD2>ServerSignature</KEYWORD2>\r
-                       <KEYWORD2>ServerTokens</KEYWORD2>\r
-                       <KEYWORD2>SetEnv</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
-                       <KEYWORD2>SetHandler</KEYWORD2>\r
-                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
-                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>StartServers</KEYWORD2>\r
-                       <KEYWORD2>StartThreads</KEYWORD2>\r
-                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
-                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
-                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
-                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>TimeOut</KEYWORD2>\r
-                       <KEYWORD2>TransferLog</KEYWORD2>\r
-                       <KEYWORD2>TypesConfig</KEYWORD2>\r
-                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
-                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
-                       <KEYWORD2>User</KEYWORD2>\r
-                       <KEYWORD2>UserDir</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
-                       <KEYWORD2>XBitHack</KEYWORD2>\r
-\r
-                       <LITERAL2>Off</LITERAL2>\r
-                       <LITERAL2>On</LITERAL2>\r
-                       <LITERAL2>None</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/apdl.xml b/extra/xmode/modes/apdl.xml
deleted file mode 100644 (file)
index d66f8bf..0000000
+++ /dev/null
@@ -1,7536 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--   \r
-\r
-       Version 0.9.8 - generated by Randolf Mock on 11/22/2003 \r
-       Randolf.Mock@siemens.com\r
-       \r
-       <KEYWORD1>: ANSYS commands\r
-       <KEYWORD2>: abbreviated *get commands\r
-       <KEYWORD3>: ANSYS command options\r
-       \r
--->\r
-\r
-<!-- The keywords and functions defined here are those of ANSYS 5.7 -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="!" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <!-- labels - eg :test -->\r
-               <EOL_SPAN TYPE="LABEL" AT_LINE_START="TRUE">:</EOL_SPAN>\r
-\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-               <!-- literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-       \r
-<!-- Special treatment of the ANSYS commands\r
-     beginning with a '/' or '*' character --> \r
-\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ABBR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ABB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*AFUN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*AFU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ASK</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFCLOS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFOPEN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFWRITE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CFW</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CREATE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CYCLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*CYC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DEL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DIM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*DO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ELSEIF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ELSE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ENDDO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ENDIF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*END</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EVAL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EVA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EXIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*EXI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*GET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*GO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*IF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*LIST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*LIS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFOURI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFUN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MFU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOONEY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOPER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MOP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*MSG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*REPEAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*REP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*SET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*STATUS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*STA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*TREAD</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*TRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ULIB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*ULI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*USE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VABS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VAB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCOL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCUM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VCU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VEDIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VED</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFACT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFILL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFUN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VFU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VGET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VITRP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VLEN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VMASK</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VMA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VOPER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VOP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPLOT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPUT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VPU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VREAD</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSCFUN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VSTAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VWRITE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">*VWR</SEQ>\r
-               \r
-               \r
-\r
-\r
-               \r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANFILE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANGLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANNOT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANUM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ANU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ASSIGN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ASS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUTO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX15</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX2</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AUX</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AXLAB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/AXL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/BATCH</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/BAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLABEL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLEAR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLOG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CLO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CMAP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CMA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COLOR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CONFIG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CONTOUR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CON</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COPY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/COP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CPLANE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CPL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CTYPE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CTY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CVAL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/CVA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DELETE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEVDISP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEVICE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DEV</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DIST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DIS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DSCALE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DSC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DV3D</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/DV3</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EDGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EDG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EFACET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EFA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EOF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ERASE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ERA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ESHAPE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ESH</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXPAND</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/EXP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FACET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FAC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FDELE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FDE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FILNAME</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FIL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOCUS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FORMAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FOR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FTYPE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/FTY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCMD</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCOLUMN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GCO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFILE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFORMAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GFO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GLINE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GLI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GMARKER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GMA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOLIST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOPR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GOP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRAPHICS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRESUME</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRID</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GROPT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRTYP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GRT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GSAVE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GSA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTHK</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTH</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTYPE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/GTY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/HEADER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/HEA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/INPUT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/INP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LARC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LAR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIGHT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LINE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LIN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSPEC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSYMBOL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/LSY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MENU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MEN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MPLIB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MPL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MREP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MSTART</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/MST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NERR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOERASE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOLIST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOPR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NORMAL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NOR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NUMBER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/NUM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OPT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OUTPUT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/OUt</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PAGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PAG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PBC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PBF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCIRCLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCOPY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PCO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PLOPTS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PLO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMACRO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMETH</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PME</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMORE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PMO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PNUM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PNU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POLYGON</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POST26</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POST1</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/POS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PREP7</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PRE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSEARCH</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSF</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSPEC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSTATUS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSYMB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PSY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PWEDGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/PWE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/QUIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/QUI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RATIO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RAT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RENAME</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REPLOT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/REP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RESET</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RES</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RGB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RUNST</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/RUN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SECLIB</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SEC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SEG</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHADE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHOWDISP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHOW</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHRINK</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SHR</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SOLU</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SOL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SSCALE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SSC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STATUS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STITLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/STI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SYP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/SYS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TITLE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TLABEL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TLA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRIAD</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRLCY</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TRL</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TSPEC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TSP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TYPE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/TYP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UCMD</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UCM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UIS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UNITS</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/UNI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/USER</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/USE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VCONE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VCO</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VIEW</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VIE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VSCALE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VSC</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/VUP</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WAIT</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WAI</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WINDOW</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/WIN</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/XRANGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/XRA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/YRANGE</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/YRA</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ZOOM</SEQ>\r
-               <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">/ZOO</SEQ>\r
-\r
-\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">$</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-               <!-- *msg command: variable formats -->\r
-               <SEQ TYPE="KEYWORD2">%C</SEQ>           <!-- alphamuneric format -->\r
-               <SEQ TYPE="KEYWORD2">%G</SEQ>           <!-- double precision format -->\r
-               <SEQ TYPE="KEYWORD2">%I</SEQ>           <!-- integer format -->\r
-               <SEQ TYPE="KEYWORD2">%/</SEQ>           <!-- line break -->\r
-               \r
-               <!-- variables -->\r
-               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>%</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-\r
-<!--           ANSYS Commands (incl. abbreviated version)      -->\r
-\r
-                       <KEYWORD1>A</KEYWORD1>\r
-                       <KEYWORD1>AADD</KEYWORD1>\r
-                       <KEYWORD1>AADD</KEYWORD1>\r
-                       <KEYWORD1>AATT</KEYWORD1>\r
-                       <KEYWORD1>AATT</KEYWORD1>\r
-                       <KEYWORD1>ABBR</KEYWORD1>\r
-                       <KEYWORD1>ABBRES</KEYWORD1>\r
-                       <KEYWORD1>ABBS</KEYWORD1>\r
-                       <KEYWORD1>ABBSAV</KEYWORD1>\r
-                       <KEYWORD1>ABS</KEYWORD1>\r
-                       <KEYWORD1>ACCA</KEYWORD1>\r
-                       <KEYWORD1>ACCAT</KEYWORD1>\r
-                       <KEYWORD1>ACEL</KEYWORD1>\r
-                       <KEYWORD1>ACEL</KEYWORD1>\r
-                       <KEYWORD1>ACLE</KEYWORD1>\r
-                       <KEYWORD1>ACLEAR</KEYWORD1>\r
-                       <KEYWORD1>ADAP</KEYWORD1>\r
-                       <KEYWORD1>ADAPT</KEYWORD1>\r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ADDA</KEYWORD1>\r
-                       <KEYWORD1>ADDAM</KEYWORD1>\r
-                       <KEYWORD1>ADEL</KEYWORD1>\r
-                       <KEYWORD1>ADELE</KEYWORD1>\r
-                       <KEYWORD1>ADGL</KEYWORD1>\r
-                       <KEYWORD1>ADGL</KEYWORD1>\r
-                       <KEYWORD1>ADRA</KEYWORD1>\r
-                       <KEYWORD1>ADRAG</KEYWORD1>\r
-                       <KEYWORD1>AFIL</KEYWORD1>\r
-                       <KEYWORD1>AFILLT</KEYWORD1>\r
-                       <KEYWORD1>AFLI</KEYWORD1>\r
-                       <KEYWORD1>AFLIST</KEYWORD1>\r
-                       <KEYWORD1>AFSU</KEYWORD1>\r
-                       <KEYWORD1>AFSURF</KEYWORD1>\r
-                       <KEYWORD1>AGEN</KEYWORD1>\r
-                       <KEYWORD1>AGEN</KEYWORD1>\r
-                       <KEYWORD1>AGLU</KEYWORD1>\r
-                       <KEYWORD1>AGLUE</KEYWORD1>\r
-                       <KEYWORD1>AINA</KEYWORD1>\r
-                       <KEYWORD1>AINA</KEYWORD1>\r
-                       <KEYWORD1>AINP</KEYWORD1>\r
-                       <KEYWORD1>AINP</KEYWORD1>\r
-                       <KEYWORD1>AINV</KEYWORD1>\r
-                       <KEYWORD1>AINV</KEYWORD1>\r
-                       <KEYWORD1>AL</KEYWORD1>\r
-                       <KEYWORD1>ALIS</KEYWORD1>\r
-                       <KEYWORD1>ALIST</KEYWORD1>\r
-                       <KEYWORD1>ALLS</KEYWORD1>\r
-                       <KEYWORD1>ALLSEL</KEYWORD1>\r
-                       <KEYWORD1>ALPF</KEYWORD1>\r
-                       <KEYWORD1>ALPFILL</KEYWORD1>\r
-                       <KEYWORD1>ALPH</KEYWORD1>\r
-                       <KEYWORD1>ALPHAD</KEYWORD1>\r
-                       <KEYWORD1>AMAP</KEYWORD1>\r
-                       <KEYWORD1>AMAP</KEYWORD1>\r
-                       <KEYWORD1>AMES</KEYWORD1>\r
-                       <KEYWORD1>AMESH</KEYWORD1>\r
-                       <KEYWORD1>ANCN</KEYWORD1>\r
-                       <KEYWORD1>ANCNTR</KEYWORD1>\r
-                       <KEYWORD1>ANCU</KEYWORD1>\r
-                       <KEYWORD1>ANCUT</KEYWORD1>\r
-                       <KEYWORD1>ANDA</KEYWORD1>\r
-                       <KEYWORD1>ANDATA</KEYWORD1>\r
-                       <KEYWORD1>ANDS</KEYWORD1>\r
-                       <KEYWORD1>ANDSCL</KEYWORD1>\r
-                       <KEYWORD1>ANDY</KEYWORD1>\r
-                       <KEYWORD1>ANDYNA</KEYWORD1>\r
-                       <KEYWORD1>ANFL</KEYWORD1>\r
-                       <KEYWORD1>ANFLOW</KEYWORD1>\r
-                       <KEYWORD1>ANIM</KEYWORD1>\r
-                       <KEYWORD1>ANIM</KEYWORD1>\r
-                       <KEYWORD1>ANIS</KEYWORD1>\r
-                       <KEYWORD1>ANISOS</KEYWORD1>\r
-                       <KEYWORD1>ANMO</KEYWORD1>\r
-                       <KEYWORD1>ANMODE</KEYWORD1>\r
-                       <KEYWORD1>ANOR</KEYWORD1>\r
-                       <KEYWORD1>ANORM</KEYWORD1>\r
-                       <KEYWORD1>ANTI</KEYWORD1>\r
-                       <KEYWORD1>ANTIME</KEYWORD1>\r
-                       <KEYWORD1>ANTY</KEYWORD1>\r
-                       <KEYWORD1>ANTYPE</KEYWORD1>\r
-                       <KEYWORD1>AOFF</KEYWORD1>\r
-                       <KEYWORD1>AOFFST</KEYWORD1>\r
-                       <KEYWORD1>AOVL</KEYWORD1>\r
-                       <KEYWORD1>AOVLAP</KEYWORD1>\r
-                       <KEYWORD1>APLO</KEYWORD1>\r
-                       <KEYWORD1>APLOT</KEYWORD1>\r
-                       <KEYWORD1>APPE</KEYWORD1>\r
-                       <KEYWORD1>APPEND</KEYWORD1>\r
-                       <KEYWORD1>APTN</KEYWORD1>\r
-                       <KEYWORD1>APTN</KEYWORD1>\r
-                       <KEYWORD1>ARCL</KEYWORD1>\r
-                       <KEYWORD1>ARCLEN</KEYWORD1>\r
-                       <KEYWORD1>ARCO</KEYWORD1>\r
-                       <KEYWORD1>ARCOLLAPSE</KEYWORD1>\r
-                       <KEYWORD1>ARCT</KEYWORD1>\r
-                       <KEYWORD1>ARCTRM</KEYWORD1>\r
-                       <KEYWORD1>ARDE</KEYWORD1>\r
-                       <KEYWORD1>ARDETACH</KEYWORD1>\r
-                       <KEYWORD1>AREA</KEYWORD1>\r
-                       <KEYWORD1>AREAS</KEYWORD1>\r
-                       <KEYWORD1>AREF</KEYWORD1>\r
-                       <KEYWORD1>AREFINE</KEYWORD1>\r
-                       <KEYWORD1>AREV</KEYWORD1>\r
-                       <KEYWORD1>AREVERSE</KEYWORD1>\r
-                       <KEYWORD1>ARFI</KEYWORD1>\r
-                       <KEYWORD1>ARFILL</KEYWORD1>\r
-                       <KEYWORD1>ARME</KEYWORD1>\r
-                       <KEYWORD1>ARMERGE</KEYWORD1>\r
-                       <KEYWORD1>AROT</KEYWORD1>\r
-                       <KEYWORD1>AROTAT</KEYWORD1>\r
-                       <KEYWORD1>ARSC</KEYWORD1>\r
-                       <KEYWORD1>ARSCALE</KEYWORD1>\r
-                       <KEYWORD1>ARSP</KEYWORD1>\r
-                       <KEYWORD1>ARSPLIT</KEYWORD1>\r
-                       <KEYWORD1>ARSY</KEYWORD1>\r
-                       <KEYWORD1>ARSYM</KEYWORD1>\r
-                       <KEYWORD1>ASBA</KEYWORD1>\r
-                       <KEYWORD1>ASBA</KEYWORD1>\r
-                       <KEYWORD1>ASBL</KEYWORD1>\r
-                       <KEYWORD1>ASBL</KEYWORD1>\r
-                       <KEYWORD1>ASBV</KEYWORD1>\r
-                       <KEYWORD1>ASBV</KEYWORD1>\r
-                       <KEYWORD1>ASBW</KEYWORD1>\r
-                       <KEYWORD1>ASBW</KEYWORD1>\r
-                       <KEYWORD1>ASEL</KEYWORD1>\r
-                       <KEYWORD1>ASEL</KEYWORD1>\r
-                       <KEYWORD1>ASKI</KEYWORD1>\r
-                       <KEYWORD1>ASKIN</KEYWORD1>\r
-                       <KEYWORD1>ASLL</KEYWORD1>\r
-                       <KEYWORD1>ASLL</KEYWORD1>\r
-                       <KEYWORD1>ASLV</KEYWORD1>\r
-                       <KEYWORD1>ASLV</KEYWORD1>\r
-                       <KEYWORD1>ASUB</KEYWORD1>\r
-                       <KEYWORD1>ASUB</KEYWORD1>\r
-                       <KEYWORD1>ASUM</KEYWORD1>\r
-                       <KEYWORD1>ASUM</KEYWORD1>\r
-                       <KEYWORD1>ATAN</KEYWORD1>\r
-                       <KEYWORD1>ATAN</KEYWORD1>\r
-                       <KEYWORD1>ATRA</KEYWORD1>\r
-                       <KEYWORD1>ATRAN</KEYWORD1>\r
-                       <KEYWORD1>ATYP</KEYWORD1>\r
-                       <KEYWORD1>ATYPE</KEYWORD1>\r
-                       <KEYWORD1>AUTO</KEYWORD1>\r
-                       <KEYWORD1>AUTOTS</KEYWORD1>\r
-                       <KEYWORD1>AVPR</KEYWORD1>\r
-                       <KEYWORD1>AVPRIN</KEYWORD1>\r
-                       <KEYWORD1>AVRE</KEYWORD1>\r
-                       <KEYWORD1>AVRES</KEYWORD1>\r
-                       <KEYWORD1>BELL</KEYWORD1>\r
-                       <KEYWORD1>BELLOW</KEYWORD1>\r
-                       <KEYWORD1>BEND</KEYWORD1>\r
-                       <KEYWORD1>BEND</KEYWORD1>\r
-                       <KEYWORD1>BETA</KEYWORD1>\r
-                       <KEYWORD1>BETAD</KEYWORD1>\r
-                       <KEYWORD1>BF</KEYWORD1>\r
-                       <KEYWORD1>BFA</KEYWORD1>\r
-                       <KEYWORD1>BFAD</KEYWORD1>\r
-                       <KEYWORD1>BFADELE</KEYWORD1>\r
-                       <KEYWORD1>BFAL</KEYWORD1>\r
-                       <KEYWORD1>BFALIST</KEYWORD1>\r
-                       <KEYWORD1>BFCU</KEYWORD1>\r
-                       <KEYWORD1>BFCUM</KEYWORD1>\r
-                       <KEYWORD1>BFDE</KEYWORD1>\r
-                       <KEYWORD1>BFDELE</KEYWORD1>\r
-                       <KEYWORD1>BFE</KEYWORD1>\r
-                       <KEYWORD1>BFEC</KEYWORD1>\r
-                       <KEYWORD1>BFECUM</KEYWORD1>\r
-                       <KEYWORD1>BFED</KEYWORD1>\r
-                       <KEYWORD1>BFEDELE</KEYWORD1>\r
-                       <KEYWORD1>BFEL</KEYWORD1>\r
-                       <KEYWORD1>BFELIST</KEYWORD1>\r
-                       <KEYWORD1>BFES</KEYWORD1>\r
-                       <KEYWORD1>BFESCAL</KEYWORD1>\r
-                       <KEYWORD1>BFIN</KEYWORD1>\r
-                       <KEYWORD1>BFINT</KEYWORD1>\r
-                       <KEYWORD1>BFK</KEYWORD1>\r
-                       <KEYWORD1>BFKD</KEYWORD1>\r
-                       <KEYWORD1>BFKDELE</KEYWORD1>\r
-                       <KEYWORD1>BFKL</KEYWORD1>\r
-                       <KEYWORD1>BFKLIST</KEYWORD1>\r
-                       <KEYWORD1>BFL</KEYWORD1>\r
-                       <KEYWORD1>BFLD</KEYWORD1>\r
-                       <KEYWORD1>BFLDELE</KEYWORD1>\r
-                       <KEYWORD1>BFLI</KEYWORD1>\r
-                       <KEYWORD1>BFLIST</KEYWORD1>\r
-                       <KEYWORD1>BFLL</KEYWORD1>\r
-                       <KEYWORD1>BFLLIST</KEYWORD1>\r
-                       <KEYWORD1>BFSC</KEYWORD1>\r
-                       <KEYWORD1>BFSCALE</KEYWORD1>\r
-                       <KEYWORD1>BFTR</KEYWORD1>\r
-                       <KEYWORD1>BFTRAN</KEYWORD1>\r
-                       <KEYWORD1>BFUN</KEYWORD1>\r
-                       <KEYWORD1>BFUNIF</KEYWORD1>\r
-                       <KEYWORD1>BFV</KEYWORD1>\r
-                       <KEYWORD1>BFVD</KEYWORD1>\r
-                       <KEYWORD1>BFVDELE</KEYWORD1>\r
-                       <KEYWORD1>BFVL</KEYWORD1>\r
-                       <KEYWORD1>BFVLIST</KEYWORD1>\r
-                       <KEYWORD1>BIOO</KEYWORD1>\r
-                       <KEYWORD1>BIOOPT</KEYWORD1>\r
-                       <KEYWORD1>BIOT</KEYWORD1>\r
-                       <KEYWORD1>BIOT</KEYWORD1>\r
-                       <KEYWORD1>BLC4</KEYWORD1>\r
-                       <KEYWORD1>BLC4</KEYWORD1>\r
-                       <KEYWORD1>BLC5</KEYWORD1>\r
-                       <KEYWORD1>BLC5</KEYWORD1>\r
-                       <KEYWORD1>BLOC</KEYWORD1>\r
-                       <KEYWORD1>BLOCK</KEYWORD1>\r
-                       <KEYWORD1>BOOL</KEYWORD1>\r
-                       <KEYWORD1>BOOL</KEYWORD1>\r
-                       <KEYWORD1>BOPT</KEYWORD1>\r
-                       <KEYWORD1>BOPTN</KEYWORD1>\r
-                       <KEYWORD1>BRAN</KEYWORD1>\r
-                       <KEYWORD1>BRANCH</KEYWORD1>\r
-                       <KEYWORD1>BSPL</KEYWORD1>\r
-                       <KEYWORD1>BSPLIN</KEYWORD1>\r
-                       <KEYWORD1>BTOL</KEYWORD1>\r
-                       <KEYWORD1>BTOL</KEYWORD1>\r
-                       <KEYWORD1>BUCO</KEYWORD1>\r
-                       <KEYWORD1>BUCOPT</KEYWORD1>\r
-                       <KEYWORD1>CALC</KEYWORD1>\r
-                       <KEYWORD1>CALC</KEYWORD1>\r
-                       <KEYWORD1>CBDO</KEYWORD1>\r
-                       <KEYWORD1>CBDOF</KEYWORD1>\r
-                       <KEYWORD1>CDRE</KEYWORD1>\r
-                       <KEYWORD1>CDREAD</KEYWORD1>\r
-                       <KEYWORD1>CDWR</KEYWORD1>\r
-                       <KEYWORD1>CDWRITE</KEYWORD1>\r
-                       <KEYWORD1>CE</KEYWORD1>\r
-                       <KEYWORD1>CECM</KEYWORD1>\r
-                       <KEYWORD1>CECMOD</KEYWORD1>\r
-                       <KEYWORD1>CECY</KEYWORD1>\r
-                       <KEYWORD1>CECYC</KEYWORD1>\r
-                       <KEYWORD1>CEDE</KEYWORD1>\r
-                       <KEYWORD1>CEDELE</KEYWORD1>\r
-                       <KEYWORD1>CEIN</KEYWORD1>\r
-                       <KEYWORD1>CEINTF</KEYWORD1>\r
-                       <KEYWORD1>CELI</KEYWORD1>\r
-                       <KEYWORD1>CELIST</KEYWORD1>\r
-                       <KEYWORD1>CENT</KEYWORD1>\r
-                       <KEYWORD1>CENTER</KEYWORD1>\r
-                       <KEYWORD1>CEQN</KEYWORD1>\r
-                       <KEYWORD1>CEQN</KEYWORD1>\r
-                       <KEYWORD1>CERI</KEYWORD1>\r
-                       <KEYWORD1>CERIG</KEYWORD1>\r
-                       <KEYWORD1>CESG</KEYWORD1>\r
-                       <KEYWORD1>CESGEN</KEYWORD1>\r
-                       <KEYWORD1>CFAC</KEYWORD1>\r
-                       <KEYWORD1>CFACT</KEYWORD1>\r
-                       <KEYWORD1>CGLO</KEYWORD1>\r
-                       <KEYWORD1>CGLOC</KEYWORD1>\r
-                       <KEYWORD1>CGOM</KEYWORD1>\r
-                       <KEYWORD1>CGOMGA</KEYWORD1>\r
-                       <KEYWORD1>CHEC</KEYWORD1>\r
-                       <KEYWORD1>CHECK</KEYWORD1>\r
-                       <KEYWORD1>CHKM</KEYWORD1>\r
-                       <KEYWORD1>CHKMSH</KEYWORD1>\r
-                       <KEYWORD1>CIRC</KEYWORD1>\r
-                       <KEYWORD1>CIRCLE</KEYWORD1>\r
-                       <KEYWORD1>CLOC</KEYWORD1>\r
-                       <KEYWORD1>CLOCAL</KEYWORD1>\r
-                       <KEYWORD1>CLOG</KEYWORD1>\r
-                       <KEYWORD1>CLOG</KEYWORD1>\r
-                       <KEYWORD1>CLRM</KEYWORD1>\r
-                       <KEYWORD1>CLRMSHLN</KEYWORD1>\r
-                       <KEYWORD1>CM</KEYWORD1>\r
-                       <KEYWORD1>CMDE</KEYWORD1>\r
-                       <KEYWORD1>CMDELE</KEYWORD1>\r
-                       <KEYWORD1>CMED</KEYWORD1>\r
-                       <KEYWORD1>CMEDIT</KEYWORD1>\r
-                       <KEYWORD1>CMGR</KEYWORD1>\r
-                       <KEYWORD1>CMGRP</KEYWORD1>\r
-                       <KEYWORD1>CMLI</KEYWORD1>\r
-                       <KEYWORD1>CMLIST</KEYWORD1>\r
-                       <KEYWORD1>CMPL</KEYWORD1>\r
-                       <KEYWORD1>CMPLOT</KEYWORD1>\r
-                       <KEYWORD1>CMSE</KEYWORD1>\r
-                       <KEYWORD1>CMSEL</KEYWORD1>\r
-                       <KEYWORD1>CNVT</KEYWORD1>\r
-                       <KEYWORD1>CNVTOL</KEYWORD1>\r
-                       <KEYWORD1>CON4</KEYWORD1>\r
-                       <KEYWORD1>CON4</KEYWORD1>\r
-                       <KEYWORD1>CONE</KEYWORD1>\r
-                       <KEYWORD1>CONE</KEYWORD1>\r
-                       <KEYWORD1>CONJ</KEYWORD1>\r
-                       <KEYWORD1>CONJUG</KEYWORD1>\r
-                       <KEYWORD1>COUP</KEYWORD1>\r
-                       <KEYWORD1>COUPLE</KEYWORD1>\r
-                       <KEYWORD1>COVA</KEYWORD1>\r
-                       <KEYWORD1>COVAL</KEYWORD1>\r
-                       <KEYWORD1>CP</KEYWORD1>\r
-                       <KEYWORD1>CPDE</KEYWORD1>\r
-                       <KEYWORD1>CPDELE</KEYWORD1>\r
-                       <KEYWORD1>CPIN</KEYWORD1>\r
-                       <KEYWORD1>CPINTF</KEYWORD1>\r
-                       <KEYWORD1>CPLG</KEYWORD1>\r
-                       <KEYWORD1>CPLGEN</KEYWORD1>\r
-                       <KEYWORD1>CPLI</KEYWORD1>\r
-                       <KEYWORD1>CPLIST</KEYWORD1>\r
-                       <KEYWORD1>CPNG</KEYWORD1>\r
-                       <KEYWORD1>CPNGEN</KEYWORD1>\r
-                       <KEYWORD1>CPSG</KEYWORD1>\r
-                       <KEYWORD1>CPSGEN</KEYWORD1>\r
-                       <KEYWORD1>CQC</KEYWORD1>\r
-                       <KEYWORD1>CRPL</KEYWORD1>\r
-                       <KEYWORD1>CRPLIM</KEYWORD1>\r
-                       <KEYWORD1>CS</KEYWORD1>\r
-                       <KEYWORD1>CSCI</KEYWORD1>\r
-                       <KEYWORD1>CSCIR</KEYWORD1>\r
-                       <KEYWORD1>CSDE</KEYWORD1>\r
-                       <KEYWORD1>CSDELE</KEYWORD1>\r
-                       <KEYWORD1>CSKP</KEYWORD1>\r
-                       <KEYWORD1>CSKP</KEYWORD1>\r
-                       <KEYWORD1>CSLI</KEYWORD1>\r
-                       <KEYWORD1>CSLIST</KEYWORD1>\r
-                       <KEYWORD1>CSWP</KEYWORD1>\r
-                       <KEYWORD1>CSWPLA</KEYWORD1>\r
-                       <KEYWORD1>CSYS</KEYWORD1>\r
-                       <KEYWORD1>CSYS</KEYWORD1>\r
-                       <KEYWORD1>CURR2D</KEYWORD1>\r
-                       <KEYWORD1>CURR</KEYWORD1>\r
-                       <KEYWORD1>CUTC</KEYWORD1>\r
-                       <KEYWORD1>CUTCONTROL</KEYWORD1>\r
-                       <KEYWORD1>CVAR</KEYWORD1>\r
-                       <KEYWORD1>CVAR</KEYWORD1>\r
-                       <KEYWORD1>CYCG</KEYWORD1>\r
-                       <KEYWORD1>CYCGEN</KEYWORD1>\r
-                       <KEYWORD1>CYCS</KEYWORD1>\r
-                       <KEYWORD1>CYCSOL</KEYWORD1>\r
-                       <KEYWORD1>CYL4</KEYWORD1>\r
-                       <KEYWORD1>CYL4</KEYWORD1>\r
-                       <KEYWORD1>CYL5</KEYWORD1>\r
-                       <KEYWORD1>CYL5</KEYWORD1>\r
-                       <KEYWORD1>CYLI</KEYWORD1>\r
-                       <KEYWORD1>CYLIND</KEYWORD1>\r
-                       <KEYWORD1>D</KEYWORD1>\r
-                       <KEYWORD1>DA</KEYWORD1>\r
-                       <KEYWORD1>DADE</KEYWORD1>\r
-                       <KEYWORD1>DADELE</KEYWORD1>\r
-                       <KEYWORD1>DALI</KEYWORD1>\r
-                       <KEYWORD1>DALIST</KEYWORD1>\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>DATADEF</KEYWORD1>\r
-                       <KEYWORD1>DCGO</KEYWORD1>\r
-                       <KEYWORD1>DCGOMG</KEYWORD1>\r
-                       <KEYWORD1>DCUM</KEYWORD1>\r
-                       <KEYWORD1>DCUM</KEYWORD1>\r
-                       <KEYWORD1>DDEL</KEYWORD1>\r
-                       <KEYWORD1>DDELE</KEYWORD1>\r
-                       <KEYWORD1>DEAC</KEYWORD1>\r
-                       <KEYWORD1>DEACT</KEYWORD1>\r
-                       <KEYWORD1>DEFI</KEYWORD1>\r
-                       <KEYWORD1>DEFINE</KEYWORD1>\r
-                       <KEYWORD1>DELT</KEYWORD1>\r
-                       <KEYWORD1>DELTIM</KEYWORD1>\r
-                       <KEYWORD1>DERI</KEYWORD1>\r
-                       <KEYWORD1>DERIV</KEYWORD1>\r
-                       <KEYWORD1>DESI</KEYWORD1>\r
-                       <KEYWORD1>DESIZE</KEYWORD1>\r
-                       <KEYWORD1>DESO</KEYWORD1>\r
-                       <KEYWORD1>DESOL</KEYWORD1>\r
-                       <KEYWORD1>DETA</KEYWORD1>\r
-                       <KEYWORD1>DETAB</KEYWORD1>\r
-                       <KEYWORD1>DIG</KEYWORD1>\r
-                       <KEYWORD1>DIGI</KEYWORD1>\r
-                       <KEYWORD1>DIGIT</KEYWORD1>\r
-                       <KEYWORD1>DISP</KEYWORD1>\r
-                       <KEYWORD1>DISPLAY</KEYWORD1>\r
-                       <KEYWORD1>DK</KEYWORD1>\r
-                       <KEYWORD1>DKDE</KEYWORD1>\r
-                       <KEYWORD1>DKDELE</KEYWORD1>\r
-                       <KEYWORD1>DKLI</KEYWORD1>\r
-                       <KEYWORD1>DKLIST</KEYWORD1>\r
-                       <KEYWORD1>DL</KEYWORD1>\r
-                       <KEYWORD1>DLDE</KEYWORD1>\r
-                       <KEYWORD1>DLDELE</KEYWORD1>\r
-                       <KEYWORD1>DLIS</KEYWORD1>\r
-                       <KEYWORD1>DLIST</KEYWORD1>\r
-                       <KEYWORD1>DLLI</KEYWORD1>\r
-                       <KEYWORD1>DLLIST</KEYWORD1>\r
-                       <KEYWORD1>DMOV</KEYWORD1>\r
-                       <KEYWORD1>DMOVE</KEYWORD1>\r
-                       <KEYWORD1>DMPR</KEYWORD1>\r
-                       <KEYWORD1>DMPRAT</KEYWORD1>\r
-                       <KEYWORD1>DNSO</KEYWORD1>\r
-                       <KEYWORD1>DNSOL</KEYWORD1>\r
-                       <KEYWORD1>DOF</KEYWORD1>\r
-                       <KEYWORD1>DOFS</KEYWORD1>\r
-                       <KEYWORD1>DOFSEL</KEYWORD1>\r
-                       <KEYWORD1>DOME</KEYWORD1>\r
-                       <KEYWORD1>DOMEGA</KEYWORD1>\r
-                       <KEYWORD1>DSCA</KEYWORD1>\r
-                       <KEYWORD1>DSCALE</KEYWORD1>\r
-                       <KEYWORD1>DSET</KEYWORD1>\r
-                       <KEYWORD1>DSET</KEYWORD1>\r
-                       <KEYWORD1>DSUM</KEYWORD1>\r
-                       <KEYWORD1>DSUM</KEYWORD1>\r
-                       <KEYWORD1>DSUR</KEYWORD1>\r
-                       <KEYWORD1>DSURF</KEYWORD1>\r
-                       <KEYWORD1>DSYM</KEYWORD1>\r
-                       <KEYWORD1>DSYM</KEYWORD1>\r
-                       <KEYWORD1>DSYS</KEYWORD1>\r
-                       <KEYWORD1>DSYS</KEYWORD1>\r
-                       <KEYWORD1>DTRA</KEYWORD1>\r
-                       <KEYWORD1>DTRAN</KEYWORD1>\r
-                       <KEYWORD1>DUMP</KEYWORD1>\r
-                       <KEYWORD1>DUMP</KEYWORD1>\r
-                       <KEYWORD1>DYNO</KEYWORD1>\r
-                       <KEYWORD1>DYNOPT</KEYWORD1>\r
-                       <KEYWORD1>E</KEYWORD1>\r
-                       <KEYWORD1>EALI</KEYWORD1>\r
-                       <KEYWORD1>EALIVE</KEYWORD1>\r
-                       <KEYWORD1>EDBO</KEYWORD1>\r
-                       <KEYWORD1>EDBOUND</KEYWORD1>\r
-                       <KEYWORD1>EDBV</KEYWORD1>\r
-                       <KEYWORD1>EDBVIS</KEYWORD1>\r
-                       <KEYWORD1>EDCD</KEYWORD1>\r
-                       <KEYWORD1>EDCDELE</KEYWORD1>\r
-                       <KEYWORD1>EDCG</KEYWORD1>\r
-                       <KEYWORD1>EDCGEN</KEYWORD1>\r
-                       <KEYWORD1>EDCL</KEYWORD1>\r
-                       <KEYWORD1>EDCLIST</KEYWORD1>\r
-                       <KEYWORD1>EDCO</KEYWORD1>\r
-                       <KEYWORD1>EDCONTACT</KEYWORD1>\r
-                       <KEYWORD1>EDCP</KEYWORD1>\r
-                       <KEYWORD1>EDCPU</KEYWORD1>\r
-                       <KEYWORD1>EDCR</KEYWORD1>\r
-                       <KEYWORD1>EDCRB</KEYWORD1>\r
-                       <KEYWORD1>EDCS</KEYWORD1>\r
-                       <KEYWORD1>EDCSC</KEYWORD1>\r
-                       <KEYWORD1>EDCT</KEYWORD1>\r
-                       <KEYWORD1>EDCTS</KEYWORD1>\r
-                       <KEYWORD1>EDCU</KEYWORD1>\r
-                       <KEYWORD1>EDCURVE</KEYWORD1>\r
-                       <KEYWORD1>EDDA</KEYWORD1>\r
-                       <KEYWORD1>EDDAMP</KEYWORD1>\r
-                       <KEYWORD1>EDDR</KEYWORD1>\r
-                       <KEYWORD1>EDDRELAX</KEYWORD1>\r
-                       <KEYWORD1>EDEL</KEYWORD1>\r
-                       <KEYWORD1>EDELE</KEYWORD1>\r
-                       <KEYWORD1>EDEN</KEYWORD1>\r
-                       <KEYWORD1>EDENERGY</KEYWORD1>\r
-                       <KEYWORD1>EDFP</KEYWORD1>\r
-                       <KEYWORD1>EDFPLOT</KEYWORD1>\r
-                       <KEYWORD1>EDHG</KEYWORD1>\r
-                       <KEYWORD1>EDHGLS</KEYWORD1>\r
-                       <KEYWORD1>EDHI</KEYWORD1>\r
-                       <KEYWORD1>EDHIST</KEYWORD1>\r
-                       <KEYWORD1>EDHT</KEYWORD1>\r
-                       <KEYWORD1>EDHTIME</KEYWORD1>\r
-                       <KEYWORD1>EDIN</KEYWORD1>\r
-                       <KEYWORD1>EDINT</KEYWORD1>\r
-                       <KEYWORD1>EDIV</KEYWORD1>\r
-                       <KEYWORD1>EDIVELO</KEYWORD1>\r
-                       <KEYWORD1>EDLC</KEYWORD1>\r
-                       <KEYWORD1>EDLCS</KEYWORD1>\r
-                       <KEYWORD1>EDLD</KEYWORD1>\r
-                       <KEYWORD1>EDLDPLOT</KEYWORD1>\r
-                       <KEYWORD1>EDLO</KEYWORD1>\r
-                       <KEYWORD1>EDLOAD</KEYWORD1>\r
-                       <KEYWORD1>EDMP</KEYWORD1>\r
-                       <KEYWORD1>EDMP</KEYWORD1>\r
-                       <KEYWORD1>EDND</KEYWORD1>\r
-                       <KEYWORD1>EDNDTSD</KEYWORD1>\r
-                       <KEYWORD1>EDNR</KEYWORD1>\r
-                       <KEYWORD1>EDNROT</KEYWORD1>\r
-                       <KEYWORD1>EDOP</KEYWORD1>\r
-                       <KEYWORD1>EDOPT</KEYWORD1>\r
-                       <KEYWORD1>EDOU</KEYWORD1>\r
-                       <KEYWORD1>EDOUT</KEYWORD1>\r
-                       <KEYWORD1>EDRE</KEYWORD1>\r
-                       <KEYWORD1>EDREAD</KEYWORD1>\r
-                       <KEYWORD1>EDRS</KEYWORD1>\r
-                       <KEYWORD1>EDRST</KEYWORD1>\r
-                       <KEYWORD1>EDSH</KEYWORD1>\r
-                       <KEYWORD1>EDSHELL</KEYWORD1>\r
-                       <KEYWORD1>EDSO</KEYWORD1>\r
-                       <KEYWORD1>EDSOLV</KEYWORD1>\r
-                       <KEYWORD1>EDST</KEYWORD1>\r
-                       <KEYWORD1>EDSTART</KEYWORD1>\r
-                       <KEYWORD1>EDWE</KEYWORD1>\r
-                       <KEYWORD1>EDWELD</KEYWORD1>\r
-                       <KEYWORD1>EDWR</KEYWORD1>\r
-                       <KEYWORD1>EDWRITE</KEYWORD1>\r
-                       <KEYWORD1>EGEN</KEYWORD1>\r
-                       <KEYWORD1>EGEN</KEYWORD1>\r
-                       <KEYWORD1>EINT</KEYWORD1>\r
-                       <KEYWORD1>EINTF</KEYWORD1>\r
-                       <KEYWORD1>EKIL</KEYWORD1>\r
-                       <KEYWORD1>EKILL</KEYWORD1>\r
-                       <KEYWORD1>ELEM</KEYWORD1>\r
-                       <KEYWORD1>ELEM</KEYWORD1>\r
-                       <KEYWORD1>ELIS</KEYWORD1>\r
-                       <KEYWORD1>ELIST</KEYWORD1>\r
-                       <KEYWORD1>EMAG</KEYWORD1>\r
-                       <KEYWORD1>EMAGERR</KEYWORD1>\r
-                       <KEYWORD1>EMF</KEYWORD1>\r
-                       <KEYWORD1>EMID</KEYWORD1>\r
-                       <KEYWORD1>EMID</KEYWORD1>\r
-                       <KEYWORD1>EMIS</KEYWORD1>\r
-                       <KEYWORD1>EMIS</KEYWORD1>\r
-                       <KEYWORD1>EMOD</KEYWORD1>\r
-                       <KEYWORD1>EMODIF</KEYWORD1>\r
-                       <KEYWORD1>EMOR</KEYWORD1>\r
-                       <KEYWORD1>EMORE</KEYWORD1>\r
-                       <KEYWORD1>EMSY</KEYWORD1>\r
-                       <KEYWORD1>EMSYM</KEYWORD1>\r
-                       <KEYWORD1>EMUN</KEYWORD1>\r
-                       <KEYWORD1>EMUNIT</KEYWORD1>\r
-                       <KEYWORD1>EN</KEYWORD1>\r
-                       <KEYWORD1>ENGE</KEYWORD1>\r
-                       <KEYWORD1>ENGEN</KEYWORD1>\r
-                       <KEYWORD1>ENOR</KEYWORD1>\r
-                       <KEYWORD1>ENORM</KEYWORD1>\r
-                       <KEYWORD1>ENSY</KEYWORD1>\r
-                       <KEYWORD1>ENSYM</KEYWORD1>\r
-                       <KEYWORD1>EPLO</KEYWORD1>\r
-                       <KEYWORD1>EPLOT</KEYWORD1>\r
-                       <KEYWORD1>EQSL</KEYWORD1>\r
-                       <KEYWORD1>EQSLV</KEYWORD1>\r
-                       <KEYWORD1>ERAS</KEYWORD1>\r
-                       <KEYWORD1>ERASE</KEYWORD1>\r
-                       <KEYWORD1>EREA</KEYWORD1>\r
-                       <KEYWORD1>EREAD</KEYWORD1>\r
-                       <KEYWORD1>EREF</KEYWORD1>\r
-                       <KEYWORD1>EREFINE</KEYWORD1>\r
-                       <KEYWORD1>ERES</KEYWORD1>\r
-                       <KEYWORD1>ERESX</KEYWORD1>\r
-                       <KEYWORD1>ERNO</KEYWORD1>\r
-                       <KEYWORD1>ERNORM</KEYWORD1>\r
-                       <KEYWORD1>ERRA</KEYWORD1>\r
-                       <KEYWORD1>ERRANG</KEYWORD1>\r
-                       <KEYWORD1>ESEL</KEYWORD1>\r
-                       <KEYWORD1>ESEL</KEYWORD1>\r
-                       <KEYWORD1>ESIZ</KEYWORD1>\r
-                       <KEYWORD1>ESIZE</KEYWORD1>\r
-                       <KEYWORD1>ESLA</KEYWORD1>\r
-                       <KEYWORD1>ESLA</KEYWORD1>\r
-                       <KEYWORD1>ESLL</KEYWORD1>\r
-                       <KEYWORD1>ESLL</KEYWORD1>\r
-                       <KEYWORD1>ESLN</KEYWORD1>\r
-                       <KEYWORD1>ESLN</KEYWORD1>\r
-                       <KEYWORD1>ESLV</KEYWORD1>\r
-                       <KEYWORD1>ESLV</KEYWORD1>\r
-                       <KEYWORD1>ESOL</KEYWORD1>\r
-                       <KEYWORD1>ESOL</KEYWORD1>\r
-                       <KEYWORD1>ESOR</KEYWORD1>\r
-                       <KEYWORD1>ESORT</KEYWORD1>\r
-                       <KEYWORD1>ESTI</KEYWORD1>\r
-                       <KEYWORD1>ESTIF</KEYWORD1>\r
-                       <KEYWORD1>ESUR</KEYWORD1>\r
-                       <KEYWORD1>ESURF</KEYWORD1>\r
-                       <KEYWORD1>ESYM</KEYWORD1>\r
-                       <KEYWORD1>ESYM</KEYWORD1>\r
-                       <KEYWORD1>ESYS</KEYWORD1>\r
-                       <KEYWORD1>ESYS</KEYWORD1>\r
-                       <KEYWORD1>ET</KEYWORD1>\r
-                       <KEYWORD1>ETAB</KEYWORD1>\r
-                       <KEYWORD1>ETABLE</KEYWORD1>\r
-                       <KEYWORD1>ETCH</KEYWORD1>\r
-                       <KEYWORD1>ETCHG</KEYWORD1>\r
-                       <KEYWORD1>ETDE</KEYWORD1>\r
-                       <KEYWORD1>ETDELE</KEYWORD1>\r
-                       <KEYWORD1>ETLI</KEYWORD1>\r
-                       <KEYWORD1>ETLIST</KEYWORD1>\r
-                       <KEYWORD1>ETYP</KEYWORD1>\r
-                       <KEYWORD1>ETYPE</KEYWORD1>\r
-                       <KEYWORD1>EUSO</KEYWORD1>\r
-                       <KEYWORD1>EUSORT</KEYWORD1>\r
-                       <KEYWORD1>EWRI</KEYWORD1>\r
-                       <KEYWORD1>EWRITE</KEYWORD1>\r
-                       <KEYWORD1>EXP</KEYWORD1>\r
-                       <KEYWORD1>EXPA</KEYWORD1>\r
-                       <KEYWORD1>EXPA</KEYWORD1>\r
-                       <KEYWORD1>EXPAND</KEYWORD1>\r
-                       <KEYWORD1>EXPASS</KEYWORD1>\r
-                       <KEYWORD1>EXPS</KEYWORD1>\r
-                       <KEYWORD1>EXPSOL</KEYWORD1>\r
-                       <KEYWORD1>EXTO</KEYWORD1>\r
-                       <KEYWORD1>EXTOPT</KEYWORD1>\r
-                       <KEYWORD1>EXTR</KEYWORD1>\r
-                       <KEYWORD1>EXTREM</KEYWORD1>\r
-                       <KEYWORD1>FATI</KEYWORD1>\r
-                       <KEYWORD1>FATIGUE</KEYWORD1>\r
-                       <KEYWORD1>FCUM</KEYWORD1>\r
-                       <KEYWORD1>FCUM</KEYWORD1>\r
-                       <KEYWORD1>FDEL</KEYWORD1>\r
-                       <KEYWORD1>FDELE</KEYWORD1>\r
-                       <KEYWORD1>FE</KEYWORD1>\r
-                       <KEYWORD1>FEBO</KEYWORD1>\r
-                       <KEYWORD1>FEBODY</KEYWORD1>\r
-                       <KEYWORD1>FECO</KEYWORD1>\r
-                       <KEYWORD1>FECONS</KEYWORD1>\r
-                       <KEYWORD1>FEFO</KEYWORD1>\r
-                       <KEYWORD1>FEFOR</KEYWORD1>\r
-                       <KEYWORD1>FELI</KEYWORD1>\r
-                       <KEYWORD1>FELIST</KEYWORD1>\r
-                       <KEYWORD1>FESU</KEYWORD1>\r
-                       <KEYWORD1>FESURF</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILEAUX2</KEYWORD1>\r
-                       <KEYWORD1>FILEDISP</KEYWORD1>\r
-                       <KEYWORD1>FILL</KEYWORD1>\r
-                       <KEYWORD1>FILL</KEYWORD1>\r
-                       <KEYWORD1>FILL</KEYWORD1>\r
-                       <KEYWORD1>FILLDATA</KEYWORD1>\r
-                       <KEYWORD1>FINI</KEYWORD1>\r
-                       <KEYWORD1>FINISH</KEYWORD1>\r
-                       <KEYWORD1>FITE</KEYWORD1>\r
-                       <KEYWORD1>FITEM</KEYWORD1>\r
-                       <KEYWORD1>FK</KEYWORD1>\r
-                       <KEYWORD1>FKDE</KEYWORD1>\r
-                       <KEYWORD1>FKDELE</KEYWORD1>\r
-                       <KEYWORD1>FKLI</KEYWORD1>\r
-                       <KEYWORD1>FKLIST</KEYWORD1>\r
-                       <KEYWORD1>FL</KEYWORD1>\r
-                       <KEYWORD1>FLAN</KEYWORD1>\r
-                       <KEYWORD1>FLANGE</KEYWORD1>\r
-                       <KEYWORD1>FLDA</KEYWORD1>\r
-                       <KEYWORD1>FLDATA</KEYWORD1>\r
-                       <KEYWORD1>FLDATA10</KEYWORD1>\r
-                       <KEYWORD1>FLDATA11</KEYWORD1>\r
-                       <KEYWORD1>FLDATA12</KEYWORD1>\r
-                       <KEYWORD1>FLDATA13</KEYWORD1>\r
-                       <KEYWORD1>FLDATA14</KEYWORD1>\r
-                       <KEYWORD1>FLDATA15</KEYWORD1>\r
-                       <KEYWORD1>FLDATA16</KEYWORD1>\r
-                       <KEYWORD1>FLDATA17</KEYWORD1>\r
-                       <KEYWORD1>FLDATA18</KEYWORD1>\r
-                       <KEYWORD1>FLDATA19</KEYWORD1>\r
-                       <KEYWORD1>FLDATA1</KEYWORD1>\r
-                       <KEYWORD1>FLDATA20</KEYWORD1>\r
-                       <KEYWORD1>FLDATA20A</KEYWORD1>\r
-                       <KEYWORD1>FLDATA21</KEYWORD1>\r
-                       <KEYWORD1>FLDATA22</KEYWORD1>\r
-                       <KEYWORD1>FLDATA23</KEYWORD1>\r
-                       <KEYWORD1>FLDATA24</KEYWORD1>\r
-                       <KEYWORD1>FLDATA24A</KEYWORD1>\r
-                       <KEYWORD1>FLDATA24B</KEYWORD1>\r
-                       <KEYWORD1>FLDATA24C</KEYWORD1>\r
-                       <KEYWORD1>FLDATA24D</KEYWORD1>\r
-                       <KEYWORD1>FLDATA25</KEYWORD1>\r
-                       <KEYWORD1>FLDATA26</KEYWORD1>\r
-                       <KEYWORD1>FLDATA27</KEYWORD1>\r
-                       <KEYWORD1>FLDATA28</KEYWORD1>\r
-                       <KEYWORD1>FLDATA29</KEYWORD1>\r
-                       <KEYWORD1>FLDATA2</KEYWORD1>\r
-                       <KEYWORD1>FLDATA30</KEYWORD1>\r
-                       <KEYWORD1>FLDATA31</KEYWORD1>\r
-                       <KEYWORD1>FLDATA32</KEYWORD1>\r
-                       <KEYWORD1>FLDATA33</KEYWORD1>\r
-                       <KEYWORD1>FLDATA37</KEYWORD1>\r
-                       <KEYWORD1>FLDATA3</KEYWORD1>\r
-                       <KEYWORD1>FLDATA4</KEYWORD1>\r
-                       <KEYWORD1>FLDATA4A</KEYWORD1>\r
-                       <KEYWORD1>FLDATA5</KEYWORD1>\r
-                       <KEYWORD1>FLDATA6</KEYWORD1>\r
-                       <KEYWORD1>FLDATA7</KEYWORD1>\r
-                       <KEYWORD1>FLDATA8</KEYWORD1>\r
-                       <KEYWORD1>FLDATA9</KEYWORD1>\r
-                       <KEYWORD1>FLDATA</KEYWORD1>\r
-                       <KEYWORD1>FLIS</KEYWORD1>\r
-                       <KEYWORD1>FLIST</KEYWORD1>\r
-                       <KEYWORD1>FLLI</KEYWORD1>\r
-                       <KEYWORD1>FLLIST</KEYWORD1>\r
-                       <KEYWORD1>FLOC</KEYWORD1>\r
-                       <KEYWORD1>FLOCHECK</KEYWORD1>\r
-                       <KEYWORD1>FLOT</KEYWORD1>\r
-                       <KEYWORD1>FLOTRAN</KEYWORD1>\r
-                       <KEYWORD1>FLRE</KEYWORD1>\r
-                       <KEYWORD1>FLREAD</KEYWORD1>\r
-                       <KEYWORD1>FLST</KEYWORD1>\r
-                       <KEYWORD1>FLST</KEYWORD1>\r
-                       <KEYWORD1>FLUX</KEYWORD1>\r
-                       <KEYWORD1>FLUXV</KEYWORD1>\r
-                       <KEYWORD1>FMAG</KEYWORD1>\r
-                       <KEYWORD1>FMAG</KEYWORD1>\r
-                       <KEYWORD1>FMAGBC</KEYWORD1>\r
-                       <KEYWORD1>FMAGSUM</KEYWORD1>\r
-                       <KEYWORD1>FOR2</KEYWORD1>\r
-                       <KEYWORD1>FOR2D</KEYWORD1>\r
-                       <KEYWORD1>FORC</KEYWORD1>\r
-                       <KEYWORD1>FORCE</KEYWORD1>\r
-                       <KEYWORD1>FORM</KEYWORD1>\r
-                       <KEYWORD1>FORM</KEYWORD1>\r
-                       <KEYWORD1>FP</KEYWORD1>\r
-                       <KEYWORD1>FPLI</KEYWORD1>\r
-                       <KEYWORD1>FPLIST</KEYWORD1>\r
-                       <KEYWORD1>FREQ</KEYWORD1>\r
-                       <KEYWORD1>FREQ</KEYWORD1>\r
-                       <KEYWORD1>FS</KEYWORD1>\r
-                       <KEYWORD1>FSCA</KEYWORD1>\r
-                       <KEYWORD1>FSCALE</KEYWORD1>\r
-                       <KEYWORD1>FSDE</KEYWORD1>\r
-                       <KEYWORD1>FSDELE</KEYWORD1>\r
-                       <KEYWORD1>FSLI</KEYWORD1>\r
-                       <KEYWORD1>FSLIST</KEYWORD1>\r
-                       <KEYWORD1>FSNO</KEYWORD1>\r
-                       <KEYWORD1>FSNODE</KEYWORD1>\r
-                       <KEYWORD1>FSPL</KEYWORD1>\r
-                       <KEYWORD1>FSPLOT</KEYWORD1>\r
-                       <KEYWORD1>FSSE</KEYWORD1>\r
-                       <KEYWORD1>FSSECT</KEYWORD1>\r
-                       <KEYWORD1>FSUM</KEYWORD1>\r
-                       <KEYWORD1>FSUM</KEYWORD1>\r
-                       <KEYWORD1>FTCA</KEYWORD1>\r
-                       <KEYWORD1>FTCALC</KEYWORD1>\r
-                       <KEYWORD1>FTRA</KEYWORD1>\r
-                       <KEYWORD1>FTRAN</KEYWORD1>\r
-                       <KEYWORD1>FTSI</KEYWORD1>\r
-                       <KEYWORD1>FTSIZE</KEYWORD1>\r
-                       <KEYWORD1>FTWR</KEYWORD1>\r
-                       <KEYWORD1>FTWRITE</KEYWORD1>\r
-                       <KEYWORD1>FVME</KEYWORD1>\r
-                       <KEYWORD1>FVMESH</KEYWORD1>\r
-                       <KEYWORD1>GAP</KEYWORD1>\r
-                       <KEYWORD1>GAPF</KEYWORD1>\r
-                       <KEYWORD1>GAPFINISH</KEYWORD1>\r
-                       <KEYWORD1>GAPL</KEYWORD1>\r
-                       <KEYWORD1>GAPLIST</KEYWORD1>\r
-                       <KEYWORD1>GAPM</KEYWORD1>\r
-                       <KEYWORD1>GAPMERGE</KEYWORD1>\r
-                       <KEYWORD1>GAPO</KEYWORD1>\r
-                       <KEYWORD1>GAPOPT</KEYWORD1>\r
-                       <KEYWORD1>GAPP</KEYWORD1>\r
-                       <KEYWORD1>GAPPLOT</KEYWORD1>\r
-                       <KEYWORD1>GAUG</KEYWORD1>\r
-                       <KEYWORD1>GAUGE</KEYWORD1>\r
-                       <KEYWORD1>GCGE</KEYWORD1>\r
-                       <KEYWORD1>GCGEN</KEYWORD1>\r
-                       <KEYWORD1>GENO</KEYWORD1>\r
-                       <KEYWORD1>GENOPT</KEYWORD1>\r
-                       <KEYWORD1>GEOM</KEYWORD1>\r
-                       <KEYWORD1>GEOM</KEYWORD1>\r
-                       <KEYWORD1>GEOM</KEYWORD1>\r
-                       <KEYWORD1>GEOMETRY</KEYWORD1>\r
-                       <KEYWORD1>GP</KEYWORD1>\r
-                       <KEYWORD1>GPDE</KEYWORD1>\r
-                       <KEYWORD1>GPDELE</KEYWORD1>\r
-                       <KEYWORD1>GPLI</KEYWORD1>\r
-                       <KEYWORD1>GPLIST</KEYWORD1>\r
-                       <KEYWORD1>GPLO</KEYWORD1>\r
-                       <KEYWORD1>GPLOT</KEYWORD1>\r
-                       <KEYWORD1>GRP</KEYWORD1>\r
-                       <KEYWORD1>GSUM</KEYWORD1>\r
-                       <KEYWORD1>GSUM</KEYWORD1>\r
-                       <KEYWORD1>HARF</KEYWORD1>\r
-                       <KEYWORD1>HARFRQ</KEYWORD1>\r
-                       <KEYWORD1>HELP</KEYWORD1>\r
-                       <KEYWORD1>HELP</KEYWORD1>\r
-                       <KEYWORD1>HELP</KEYWORD1>\r
-                       <KEYWORD1>HELPDISP</KEYWORD1>\r
-                       <KEYWORD1>HFSW</KEYWORD1>\r
-                       <KEYWORD1>HFSWEEP</KEYWORD1>\r
-                       <KEYWORD1>HMAG</KEYWORD1>\r
-                       <KEYWORD1>HMAGSOLV</KEYWORD1>\r
-                       <KEYWORD1>HPGL</KEYWORD1>\r
-                       <KEYWORD1>HPGL</KEYWORD1>\r
-                       <KEYWORD1>HPTC</KEYWORD1>\r
-                       <KEYWORD1>HPTCREATE</KEYWORD1>\r
-                       <KEYWORD1>HPTD</KEYWORD1>\r
-                       <KEYWORD1>HPTDELETE</KEYWORD1>\r
-                       <KEYWORD1>HRCP</KEYWORD1>\r
-                       <KEYWORD1>HRCPLX</KEYWORD1>\r
-                       <KEYWORD1>HREX</KEYWORD1>\r
-                       <KEYWORD1>HREXP</KEYWORD1>\r
-                       <KEYWORD1>HROP</KEYWORD1>\r
-                       <KEYWORD1>HROPT</KEYWORD1>\r
-                       <KEYWORD1>HROU</KEYWORD1>\r
-                       <KEYWORD1>HROUT</KEYWORD1>\r
-                       <KEYWORD1>IC</KEYWORD1>\r
-                       <KEYWORD1>ICDE</KEYWORD1>\r
-                       <KEYWORD1>ICDELE</KEYWORD1>\r
-                       <KEYWORD1>ICLI</KEYWORD1>\r
-                       <KEYWORD1>ICLIST</KEYWORD1>\r
-                       <KEYWORD1>IGES</KEYWORD1>\r
-                       <KEYWORD1>IGES</KEYWORD1>\r
-                       <KEYWORD1>IGESIN</KEYWORD1>\r
-                       <KEYWORD1>IGESOUT</KEYWORD1>\r
-                       <KEYWORD1>IMAG</KEYWORD1>\r
-                       <KEYWORD1>IMAGIN</KEYWORD1>\r
-                       <KEYWORD1>IMME</KEYWORD1>\r
-                       <KEYWORD1>IMMED</KEYWORD1>\r
-                       <KEYWORD1>IMPD</KEYWORD1>\r
-                       <KEYWORD1>IMPD</KEYWORD1>\r
-                       <KEYWORD1>INRE</KEYWORD1>\r
-                       <KEYWORD1>INRES</KEYWORD1>\r
-                       <KEYWORD1>INRT</KEYWORD1>\r
-                       <KEYWORD1>INRTIA</KEYWORD1>\r
-                       <KEYWORD1>INT1</KEYWORD1>\r
-                       <KEYWORD1>INT1</KEYWORD1>\r
-                       <KEYWORD1>INTS</KEYWORD1>\r
-                       <KEYWORD1>INTSRF</KEYWORD1>\r
-                       <KEYWORD1>IOPT</KEYWORD1>\r
-                       <KEYWORD1>IOPTN</KEYWORD1>\r
-                       <KEYWORD1>IRLF</KEYWORD1>\r
-                       <KEYWORD1>IRLF</KEYWORD1>\r
-                       <KEYWORD1>IRLI</KEYWORD1>\r
-                       <KEYWORD1>IRLIST</KEYWORD1>\r
-                       <KEYWORD1>K</KEYWORD1>\r
-                       <KEYWORD1>KATT</KEYWORD1>\r
-                       <KEYWORD1>KATT</KEYWORD1>\r
-                       <KEYWORD1>KBC</KEYWORD1>\r
-                       <KEYWORD1>KBET</KEYWORD1>\r
-                       <KEYWORD1>KBETW</KEYWORD1>\r
-                       <KEYWORD1>KCAL</KEYWORD1>\r
-                       <KEYWORD1>KCALC</KEYWORD1>\r
-                       <KEYWORD1>KCEN</KEYWORD1>\r
-                       <KEYWORD1>KCENTER</KEYWORD1>\r
-                       <KEYWORD1>KCLE</KEYWORD1>\r
-                       <KEYWORD1>KCLEAR</KEYWORD1>\r
-                       <KEYWORD1>KDEL</KEYWORD1>\r
-                       <KEYWORD1>KDELE</KEYWORD1>\r
-                       <KEYWORD1>KDIS</KEYWORD1>\r
-                       <KEYWORD1>KDIST</KEYWORD1>\r
-                       <KEYWORD1>KESI</KEYWORD1>\r
-                       <KEYWORD1>KESIZE</KEYWORD1>\r
-                       <KEYWORD1>KEYO</KEYWORD1>\r
-                       <KEYWORD1>KEYOPT</KEYWORD1>\r
-                       <KEYWORD1>KEYP</KEYWORD1>\r
-                       <KEYWORD1>KEYPTS</KEYWORD1>\r
-                       <KEYWORD1>KEYW</KEYWORD1>\r
-                       <KEYWORD1>KEYW</KEYWORD1>\r
-                       <KEYWORD1>KFIL</KEYWORD1>\r
-                       <KEYWORD1>KFILL</KEYWORD1>\r
-                       <KEYWORD1>KGEN</KEYWORD1>\r
-                       <KEYWORD1>KGEN</KEYWORD1>\r
-                       <KEYWORD1>KL</KEYWORD1>\r
-                       <KEYWORD1>KLIS</KEYWORD1>\r
-                       <KEYWORD1>KLIST</KEYWORD1>\r
-                       <KEYWORD1>KMES</KEYWORD1>\r
-                       <KEYWORD1>KMESH</KEYWORD1>\r
-                       <KEYWORD1>KMOD</KEYWORD1>\r
-                       <KEYWORD1>KMODIF</KEYWORD1>\r
-                       <KEYWORD1>KMOV</KEYWORD1>\r
-                       <KEYWORD1>KMOVE</KEYWORD1>\r
-                       <KEYWORD1>KNOD</KEYWORD1>\r
-                       <KEYWORD1>KNODE</KEYWORD1>\r
-                       <KEYWORD1>KPLO</KEYWORD1>\r
-                       <KEYWORD1>KPLOT</KEYWORD1>\r
-                       <KEYWORD1>KPSC</KEYWORD1>\r
-                       <KEYWORD1>KPSCALE</KEYWORD1>\r
-                       <KEYWORD1>KREF</KEYWORD1>\r
-                       <KEYWORD1>KREFINE</KEYWORD1>\r
-                       <KEYWORD1>KSCA</KEYWORD1>\r
-                       <KEYWORD1>KSCALE</KEYWORD1>\r
-                       <KEYWORD1>KSCO</KEYWORD1>\r
-                       <KEYWORD1>KSCON</KEYWORD1>\r
-                       <KEYWORD1>KSEL</KEYWORD1>\r
-                       <KEYWORD1>KSEL</KEYWORD1>\r
-                       <KEYWORD1>KSLL</KEYWORD1>\r
-                       <KEYWORD1>KSLL</KEYWORD1>\r
-                       <KEYWORD1>KSLN</KEYWORD1>\r
-                       <KEYWORD1>KSLN</KEYWORD1>\r
-                       <KEYWORD1>KSUM</KEYWORD1>\r
-                       <KEYWORD1>KSUM</KEYWORD1>\r
-                       <KEYWORD1>KSYM</KEYWORD1>\r
-                       <KEYWORD1>KSYMM</KEYWORD1>\r
-                       <KEYWORD1>KTRA</KEYWORD1>\r
-                       <KEYWORD1>KTRAN</KEYWORD1>\r
-                       <KEYWORD1>KUSE</KEYWORD1>\r
-                       <KEYWORD1>KUSE</KEYWORD1>\r
-                       <KEYWORD1>KWPA</KEYWORD1>\r
-                       <KEYWORD1>KWPAVE</KEYWORD1>\r
-                       <KEYWORD1>KWPL</KEYWORD1>\r
-                       <KEYWORD1>KWPLAN</KEYWORD1>\r
-                       <KEYWORD1>L2AN</KEYWORD1>\r
-                       <KEYWORD1>L2ANG</KEYWORD1>\r
-                       <KEYWORD1>L2TA</KEYWORD1>\r
-                       <KEYWORD1>L2TAN</KEYWORD1>\r
-                       <KEYWORD1>L</KEYWORD1>\r
-                       <KEYWORD1>LANG</KEYWORD1>\r
-                       <KEYWORD1>LANG</KEYWORD1>\r
-                       <KEYWORD1>LARC</KEYWORD1>\r
-                       <KEYWORD1>LARC</KEYWORD1>\r
-                       <KEYWORD1>LARE</KEYWORD1>\r
-                       <KEYWORD1>LAREA</KEYWORD1>\r
-                       <KEYWORD1>LARG</KEYWORD1>\r
-                       <KEYWORD1>LARGE</KEYWORD1>\r
-                       <KEYWORD1>LATT</KEYWORD1>\r
-                       <KEYWORD1>LATT</KEYWORD1>\r
-                       <KEYWORD1>LAYE</KEYWORD1>\r
-                       <KEYWORD1>LAYE</KEYWORD1>\r
-                       <KEYWORD1>LAYER</KEYWORD1>\r
-                       <KEYWORD1>LAYERP26</KEYWORD1>\r
-                       <KEYWORD1>LAYL</KEYWORD1>\r
-                       <KEYWORD1>LAYLIST</KEYWORD1>\r
-                       <KEYWORD1>LAYP</KEYWORD1>\r
-                       <KEYWORD1>LAYPLOT</KEYWORD1>\r
-                       <KEYWORD1>LCAB</KEYWORD1>\r
-                       <KEYWORD1>LCABS</KEYWORD1>\r
-                       <KEYWORD1>LCAS</KEYWORD1>\r
-                       <KEYWORD1>LCASE</KEYWORD1>\r
-                       <KEYWORD1>LCCA</KEYWORD1>\r
-                       <KEYWORD1>LCCA</KEYWORD1>\r
-                       <KEYWORD1>LCCALC</KEYWORD1>\r
-                       <KEYWORD1>LCCAT</KEYWORD1>\r
-                       <KEYWORD1>LCDE</KEYWORD1>\r
-                       <KEYWORD1>LCDEF</KEYWORD1>\r
-                       <KEYWORD1>LCFA</KEYWORD1>\r
-                       <KEYWORD1>LCFACT</KEYWORD1>\r
-                       <KEYWORD1>LCFI</KEYWORD1>\r
-                       <KEYWORD1>LCFILE</KEYWORD1>\r
-                       <KEYWORD1>LCLE</KEYWORD1>\r
-                       <KEYWORD1>LCLEAR</KEYWORD1>\r
-                       <KEYWORD1>LCOM</KEYWORD1>\r
-                       <KEYWORD1>LCOMB</KEYWORD1>\r
-                       <KEYWORD1>LCOP</KEYWORD1>\r
-                       <KEYWORD1>LCOPER</KEYWORD1>\r
-                       <KEYWORD1>LCSE</KEYWORD1>\r
-                       <KEYWORD1>LCSEL</KEYWORD1>\r
-                       <KEYWORD1>LCSL</KEYWORD1>\r
-                       <KEYWORD1>LCSL</KEYWORD1>\r
-                       <KEYWORD1>LCSU</KEYWORD1>\r
-                       <KEYWORD1>LCSUM</KEYWORD1>\r
-                       <KEYWORD1>LCWR</KEYWORD1>\r
-                       <KEYWORD1>LCWRITE</KEYWORD1>\r
-                       <KEYWORD1>LCZE</KEYWORD1>\r
-                       <KEYWORD1>LCZERO</KEYWORD1>\r
-                       <KEYWORD1>LDEL</KEYWORD1>\r
-                       <KEYWORD1>LDELE</KEYWORD1>\r
-                       <KEYWORD1>LDIV</KEYWORD1>\r
-                       <KEYWORD1>LDIV</KEYWORD1>\r
-                       <KEYWORD1>LDRA</KEYWORD1>\r
-                       <KEYWORD1>LDRAG</KEYWORD1>\r
-                       <KEYWORD1>LDRE</KEYWORD1>\r
-                       <KEYWORD1>LDREAD</KEYWORD1>\r
-                       <KEYWORD1>LESI</KEYWORD1>\r
-                       <KEYWORD1>LESIZE</KEYWORD1>\r
-                       <KEYWORD1>LEXT</KEYWORD1>\r
-                       <KEYWORD1>LEXTND</KEYWORD1>\r
-                       <KEYWORD1>LFIL</KEYWORD1>\r
-                       <KEYWORD1>LFILLT</KEYWORD1>\r
-                       <KEYWORD1>LFSU</KEYWORD1>\r
-                       <KEYWORD1>LFSURF</KEYWORD1>\r
-                       <KEYWORD1>LGEN</KEYWORD1>\r
-                       <KEYWORD1>LGEN</KEYWORD1>\r
-                       <KEYWORD1>LGLU</KEYWORD1>\r
-                       <KEYWORD1>LGLUE</KEYWORD1>\r
-                       <KEYWORD1>LGWR</KEYWORD1>\r
-                       <KEYWORD1>LGWRITE</KEYWORD1>\r
-                       <KEYWORD1>LINA</KEYWORD1>\r
-                       <KEYWORD1>LINA</KEYWORD1>\r
-                       <KEYWORD1>LINE</KEYWORD1>\r
-                       <KEYWORD1>LINE</KEYWORD1>\r
-                       <KEYWORD1>LINE</KEYWORD1>\r
-                       <KEYWORD1>LINES</KEYWORD1>\r
-                       <KEYWORD1>LINL</KEYWORD1>\r
-                       <KEYWORD1>LINL</KEYWORD1>\r
-                       <KEYWORD1>LINP</KEYWORD1>\r
-                       <KEYWORD1>LINP</KEYWORD1>\r
-                       <KEYWORD1>LINV</KEYWORD1>\r
-                       <KEYWORD1>LINV</KEYWORD1>\r
-                       <KEYWORD1>LLIS</KEYWORD1>\r
-                       <KEYWORD1>LLIST</KEYWORD1>\r
-                       <KEYWORD1>LMAT</KEYWORD1>\r
-                       <KEYWORD1>LMATRIX</KEYWORD1>\r
-                       <KEYWORD1>LMES</KEYWORD1>\r
-                       <KEYWORD1>LMESH</KEYWORD1>\r
-                       <KEYWORD1>LNCO</KEYWORD1>\r
-                       <KEYWORD1>LNCOLLAPSE</KEYWORD1>\r
-                       <KEYWORD1>LNDE</KEYWORD1>\r
-                       <KEYWORD1>LNDETACH</KEYWORD1>\r
-                       <KEYWORD1>LNFI</KEYWORD1>\r
-                       <KEYWORD1>LNFILL</KEYWORD1>\r
-                       <KEYWORD1>LNME</KEYWORD1>\r
-                       <KEYWORD1>LNMERGE</KEYWORD1>\r
-                       <KEYWORD1>LNSP</KEYWORD1>\r
-                       <KEYWORD1>LNSPLIT</KEYWORD1>\r
-                       <KEYWORD1>LNSR</KEYWORD1>\r
-                       <KEYWORD1>LNSRCH</KEYWORD1>\r
-                       <KEYWORD1>LOCA</KEYWORD1>\r
-                       <KEYWORD1>LOCAL</KEYWORD1>\r
-                       <KEYWORD1>LOVL</KEYWORD1>\r
-                       <KEYWORD1>LOVLAP</KEYWORD1>\r
-                       <KEYWORD1>LPLO</KEYWORD1>\r
-                       <KEYWORD1>LPLOT</KEYWORD1>\r
-                       <KEYWORD1>LPTN</KEYWORD1>\r
-                       <KEYWORD1>LPTN</KEYWORD1>\r
-                       <KEYWORD1>LREF</KEYWORD1>\r
-                       <KEYWORD1>LREFINE</KEYWORD1>\r
-                       <KEYWORD1>LREV</KEYWORD1>\r
-                       <KEYWORD1>LREVERSE</KEYWORD1>\r
-                       <KEYWORD1>LROT</KEYWORD1>\r
-                       <KEYWORD1>LROTAT</KEYWORD1>\r
-                       <KEYWORD1>LSBA</KEYWORD1>\r
-                       <KEYWORD1>LSBA</KEYWORD1>\r
-                       <KEYWORD1>LSBL</KEYWORD1>\r
-                       <KEYWORD1>LSBL</KEYWORD1>\r
-                       <KEYWORD1>LSBV</KEYWORD1>\r
-                       <KEYWORD1>LSBV</KEYWORD1>\r
-                       <KEYWORD1>LSBW</KEYWORD1>\r
-                       <KEYWORD1>LSBW</KEYWORD1>\r
-                       <KEYWORD1>LSCL</KEYWORD1>\r
-                       <KEYWORD1>LSCLEAR</KEYWORD1>\r
-                       <KEYWORD1>LSDE</KEYWORD1>\r
-                       <KEYWORD1>LSDELE</KEYWORD1>\r
-                       <KEYWORD1>LSEL</KEYWORD1>\r
-                       <KEYWORD1>LSEL</KEYWORD1>\r
-                       <KEYWORD1>LSLA</KEYWORD1>\r
-                       <KEYWORD1>LSLA</KEYWORD1>\r
-                       <KEYWORD1>LSLK</KEYWORD1>\r
-                       <KEYWORD1>LSLK</KEYWORD1>\r
-                       <KEYWORD1>LSOP</KEYWORD1>\r
-                       <KEYWORD1>LSOPER</KEYWORD1>\r
-                       <KEYWORD1>LSRE</KEYWORD1>\r
-                       <KEYWORD1>LSREAD</KEYWORD1>\r
-                       <KEYWORD1>LSSC</KEYWORD1>\r
-                       <KEYWORD1>LSSCALE</KEYWORD1>\r
-                       <KEYWORD1>LSSO</KEYWORD1>\r
-                       <KEYWORD1>LSSOLVE</KEYWORD1>\r
-                       <KEYWORD1>LSTR</KEYWORD1>\r
-                       <KEYWORD1>LSTR</KEYWORD1>\r
-                       <KEYWORD1>LSUM</KEYWORD1>\r
-                       <KEYWORD1>LSUM</KEYWORD1>\r
-                       <KEYWORD1>LSWR</KEYWORD1>\r
-                       <KEYWORD1>LSWRITE</KEYWORD1>\r
-                       <KEYWORD1>LSYM</KEYWORD1>\r
-                       <KEYWORD1>LSYMM</KEYWORD1>\r
-                       <KEYWORD1>LTAN</KEYWORD1>\r
-                       <KEYWORD1>LTAN</KEYWORD1>\r
-                       <KEYWORD1>LTRA</KEYWORD1>\r
-                       <KEYWORD1>LTRAN</KEYWORD1>\r
-                       <KEYWORD1>LUMP</KEYWORD1>\r
-                       <KEYWORD1>LUMPM</KEYWORD1>\r
-                       <KEYWORD1>LVSC</KEYWORD1>\r
-                       <KEYWORD1>LVSCALE</KEYWORD1>\r
-                       <KEYWORD1>LWPL</KEYWORD1>\r
-                       <KEYWORD1>LWPLAN</KEYWORD1>\r
-                       <KEYWORD1>M</KEYWORD1>\r
-                       <KEYWORD1>MAGO</KEYWORD1>\r
-                       <KEYWORD1>MAGOPT</KEYWORD1>\r
-                       <KEYWORD1>MAGS</KEYWORD1>\r
-                       <KEYWORD1>MAGSOLV</KEYWORD1>\r
-                       <KEYWORD1>MAST</KEYWORD1>\r
-                       <KEYWORD1>MASTER</KEYWORD1>\r
-                       <KEYWORD1>MAT</KEYWORD1>\r
-                       <KEYWORD1>MATE</KEYWORD1>\r
-                       <KEYWORD1>MATER</KEYWORD1>\r
-                       <KEYWORD1>MDAM</KEYWORD1>\r
-                       <KEYWORD1>MDAMP</KEYWORD1>\r
-                       <KEYWORD1>MDEL</KEYWORD1>\r
-                       <KEYWORD1>MDELE</KEYWORD1>\r
-                       <KEYWORD1>MESH</KEYWORD1>\r
-                       <KEYWORD1>MESHING</KEYWORD1>\r
-                       <KEYWORD1>MGEN</KEYWORD1>\r
-                       <KEYWORD1>MGEN</KEYWORD1>\r
-                       <KEYWORD1>MITE</KEYWORD1>\r
-                       <KEYWORD1>MITER</KEYWORD1>\r
-                       <KEYWORD1>MLIS</KEYWORD1>\r
-                       <KEYWORD1>MLIST</KEYWORD1>\r
-                       <KEYWORD1>MMF</KEYWORD1>\r
-                       <KEYWORD1>MODE</KEYWORD1>\r
-                       <KEYWORD1>MODE</KEYWORD1>\r
-                       <KEYWORD1>MODM</KEYWORD1>\r
-                       <KEYWORD1>MODMSH</KEYWORD1>\r
-                       <KEYWORD1>MODO</KEYWORD1>\r
-                       <KEYWORD1>MODOPT</KEYWORD1>\r
-                       <KEYWORD1>MONI</KEYWORD1>\r
-                       <KEYWORD1>MONITOR</KEYWORD1>\r
-                       <KEYWORD1>MOPT</KEYWORD1>\r
-                       <KEYWORD1>MOPT</KEYWORD1>\r
-                       <KEYWORD1>MOVE</KEYWORD1>\r
-                       <KEYWORD1>MOVE</KEYWORD1>\r
-                       <KEYWORD1>MP</KEYWORD1>\r
-                       <KEYWORD1>MPAM</KEYWORD1>\r
-                       <KEYWORD1>MPAMOD</KEYWORD1>\r
-                       <KEYWORD1>MPCH</KEYWORD1>\r
-                       <KEYWORD1>MPCHG</KEYWORD1>\r
-                       <KEYWORD1>MPDA</KEYWORD1>\r
-                       <KEYWORD1>MPDATA</KEYWORD1>\r
-                       <KEYWORD1>MPDE</KEYWORD1>\r
-                       <KEYWORD1>MPDELE</KEYWORD1>\r
-                       <KEYWORD1>MPDR</KEYWORD1>\r
-                       <KEYWORD1>MPDRES</KEYWORD1>\r
-                       <KEYWORD1>MPLI</KEYWORD1>\r
-                       <KEYWORD1>MPLIST</KEYWORD1>\r
-                       <KEYWORD1>MPMO</KEYWORD1>\r
-                       <KEYWORD1>MPMOD</KEYWORD1>\r
-                       <KEYWORD1>MPPL</KEYWORD1>\r
-                       <KEYWORD1>MPPLOT</KEYWORD1>\r
-                       <KEYWORD1>MPRE</KEYWORD1>\r
-                       <KEYWORD1>MPREAD</KEYWORD1>\r
-                       <KEYWORD1>MPRI</KEYWORD1>\r
-                       <KEYWORD1>MPRINT</KEYWORD1>\r
-                       <KEYWORD1>MPTE</KEYWORD1>\r
-                       <KEYWORD1>MPTEMP</KEYWORD1>\r
-                       <KEYWORD1>MPTG</KEYWORD1>\r
-                       <KEYWORD1>MPTGEN</KEYWORD1>\r
-                       <KEYWORD1>MPTR</KEYWORD1>\r
-                       <KEYWORD1>MPTRES</KEYWORD1>\r
-                       <KEYWORD1>MPUN</KEYWORD1>\r
-                       <KEYWORD1>MPUNDO</KEYWORD1>\r
-                       <KEYWORD1>MPWR</KEYWORD1>\r
-                       <KEYWORD1>MPWRITE</KEYWORD1>\r
-                       <KEYWORD1>MSAD</KEYWORD1>\r
-                       <KEYWORD1>MSADV</KEYWORD1>\r
-                       <KEYWORD1>MSCA</KEYWORD1>\r
-                       <KEYWORD1>MSCAP</KEYWORD1>\r
-                       <KEYWORD1>MSDA</KEYWORD1>\r
-                       <KEYWORD1>MSDATA</KEYWORD1>\r
-                       <KEYWORD1>MSHA</KEYWORD1>\r
-                       <KEYWORD1>MSHAPE</KEYWORD1>\r
-                       <KEYWORD1>MSHK</KEYWORD1>\r
-                       <KEYWORD1>MSHKEY</KEYWORD1>\r
-                       <KEYWORD1>MSHM</KEYWORD1>\r
-                       <KEYWORD1>MSHMID</KEYWORD1>\r
-                       <KEYWORD1>MSHP</KEYWORD1>\r
-                       <KEYWORD1>MSHPATTERN</KEYWORD1>\r
-                       <KEYWORD1>MSME</KEYWORD1>\r
-                       <KEYWORD1>MSMETH</KEYWORD1>\r
-                       <KEYWORD1>MSNO</KEYWORD1>\r
-                       <KEYWORD1>MSNOMF</KEYWORD1>\r
-                       <KEYWORD1>MSPR</KEYWORD1>\r
-                       <KEYWORD1>MSPROP</KEYWORD1>\r
-                       <KEYWORD1>MSQU</KEYWORD1>\r
-                       <KEYWORD1>MSQUAD</KEYWORD1>\r
-                       <KEYWORD1>MSRE</KEYWORD1>\r
-                       <KEYWORD1>MSRELAX</KEYWORD1>\r
-                       <KEYWORD1>MSSO</KEYWORD1>\r
-                       <KEYWORD1>MSSOLU</KEYWORD1>\r
-                       <KEYWORD1>MSSP</KEYWORD1>\r
-                       <KEYWORD1>MSSPEC</KEYWORD1>\r
-                       <KEYWORD1>MSTE</KEYWORD1>\r
-                       <KEYWORD1>MSTERM</KEYWORD1>\r
-                       <KEYWORD1>MSVA</KEYWORD1>\r
-                       <KEYWORD1>MSVARY</KEYWORD1>\r
-                       <KEYWORD1>MXPA</KEYWORD1>\r
-                       <KEYWORD1>MXPAND</KEYWORD1>\r
-                       <KEYWORD1>N</KEYWORD1>\r
-                       <KEYWORD1>NANG</KEYWORD1>\r
-                       <KEYWORD1>NANG</KEYWORD1>\r
-                       <KEYWORD1>NCNV</KEYWORD1>\r
-                       <KEYWORD1>NCNV</KEYWORD1>\r
-                       <KEYWORD1>NDEL</KEYWORD1>\r
-                       <KEYWORD1>NDELE</KEYWORD1>\r
-                       <KEYWORD1>NDIS</KEYWORD1>\r
-                       <KEYWORD1>NDIST</KEYWORD1>\r
-                       <KEYWORD1>NEQI</KEYWORD1>\r
-                       <KEYWORD1>NEQIT</KEYWORD1>\r
-                       <KEYWORD1>NFOR</KEYWORD1>\r
-                       <KEYWORD1>NFORCE</KEYWORD1>\r
-                       <KEYWORD1>NGEN</KEYWORD1>\r
-                       <KEYWORD1>NGEN</KEYWORD1>\r
-                       <KEYWORD1>NKPT</KEYWORD1>\r
-                       <KEYWORD1>NKPT</KEYWORD1>\r
-                       <KEYWORD1>NLGE</KEYWORD1>\r
-                       <KEYWORD1>NLGEOM</KEYWORD1>\r
-                       <KEYWORD1>NLIS</KEYWORD1>\r
-                       <KEYWORD1>NLIST</KEYWORD1>\r
-                       <KEYWORD1>NLOG</KEYWORD1>\r
-                       <KEYWORD1>NLOG</KEYWORD1>\r
-                       <KEYWORD1>NLOP</KEYWORD1>\r
-                       <KEYWORD1>NLOPT</KEYWORD1>\r
-                       <KEYWORD1>NMOD</KEYWORD1>\r
-                       <KEYWORD1>NMODIF</KEYWORD1>\r
-                       <KEYWORD1>NOCO</KEYWORD1>\r
-                       <KEYWORD1>NOCOLOR</KEYWORD1>\r
-                       <KEYWORD1>NODE</KEYWORD1>\r
-                       <KEYWORD1>NODES</KEYWORD1>\r
-                       <KEYWORD1>NOOR</KEYWORD1>\r
-                       <KEYWORD1>NOORDER</KEYWORD1>\r
-                       <KEYWORD1>NPLO</KEYWORD1>\r
-                       <KEYWORD1>NPLOT</KEYWORD1>\r
-                       <KEYWORD1>NPRI</KEYWORD1>\r
-                       <KEYWORD1>NPRINT</KEYWORD1>\r
-                       <KEYWORD1>NREA</KEYWORD1>\r
-                       <KEYWORD1>NREAD</KEYWORD1>\r
-                       <KEYWORD1>NREF</KEYWORD1>\r
-                       <KEYWORD1>NREFINE</KEYWORD1>\r
-                       <KEYWORD1>NRLS</KEYWORD1>\r
-                       <KEYWORD1>NRLSUM</KEYWORD1>\r
-                       <KEYWORD1>NROP</KEYWORD1>\r
-                       <KEYWORD1>NROPT</KEYWORD1>\r
-                       <KEYWORD1>NROT</KEYWORD1>\r
-                       <KEYWORD1>NROTAT</KEYWORD1>\r
-                       <KEYWORD1>NRRA</KEYWORD1>\r
-                       <KEYWORD1>NRRANG</KEYWORD1>\r
-                       <KEYWORD1>NSCA</KEYWORD1>\r
-                       <KEYWORD1>NSCALE</KEYWORD1>\r
-                       <KEYWORD1>NSEL</KEYWORD1>\r
-                       <KEYWORD1>NSEL</KEYWORD1>\r
-                       <KEYWORD1>NSLA</KEYWORD1>\r
-                       <KEYWORD1>NSLA</KEYWORD1>\r
-                       <KEYWORD1>NSLE</KEYWORD1>\r
-                       <KEYWORD1>NSLE</KEYWORD1>\r
-                       <KEYWORD1>NSLK</KEYWORD1>\r
-                       <KEYWORD1>NSLK</KEYWORD1>\r
-                       <KEYWORD1>NSLL</KEYWORD1>\r
-                       <KEYWORD1>NSLL</KEYWORD1>\r
-                       <KEYWORD1>NSLV</KEYWORD1>\r
-                       <KEYWORD1>NSLV</KEYWORD1>\r
-                       <KEYWORD1>NSOL</KEYWORD1>\r
-                       <KEYWORD1>NSOL</KEYWORD1>\r
-                       <KEYWORD1>NSOR</KEYWORD1>\r
-                       <KEYWORD1>NSORT</KEYWORD1>\r
-                       <KEYWORD1>NSTO</KEYWORD1>\r
-                       <KEYWORD1>NSTORE</KEYWORD1>\r
-                       <KEYWORD1>NSUB</KEYWORD1>\r
-                       <KEYWORD1>NSUBST</KEYWORD1>\r
-                       <KEYWORD1>NSVR</KEYWORD1>\r
-                       <KEYWORD1>NSVR</KEYWORD1>\r
-                       <KEYWORD1>NSYM</KEYWORD1>\r
-                       <KEYWORD1>NSYM</KEYWORD1>\r
-                       <KEYWORD1>NUMC</KEYWORD1>\r
-                       <KEYWORD1>NUMCMP</KEYWORD1>\r
-                       <KEYWORD1>NUME</KEYWORD1>\r
-                       <KEYWORD1>NUMEXP</KEYWORD1>\r
-                       <KEYWORD1>NUMM</KEYWORD1>\r
-                       <KEYWORD1>NUMMRG</KEYWORD1>\r
-                       <KEYWORD1>NUMO</KEYWORD1>\r
-                       <KEYWORD1>NUMOFF</KEYWORD1>\r
-                       <KEYWORD1>NUMS</KEYWORD1>\r
-                       <KEYWORD1>NUMSTR</KEYWORD1>\r
-                       <KEYWORD1>NUMV</KEYWORD1>\r
-                       <KEYWORD1>NUMVAR</KEYWORD1>\r
-                       <KEYWORD1>NUSO</KEYWORD1>\r
-                       <KEYWORD1>NUSORT</KEYWORD1>\r
-                       <KEYWORD1>NWPA</KEYWORD1>\r
-                       <KEYWORD1>NWPAVE</KEYWORD1>\r
-                       <KEYWORD1>NWPL</KEYWORD1>\r
-                       <KEYWORD1>NWPLAN</KEYWORD1>\r
-                       <KEYWORD1>NWRI</KEYWORD1>\r
-                       <KEYWORD1>NWRITE</KEYWORD1>\r
-                       <KEYWORD1>nx</KEYWORD1>\r
-                       <KEYWORD1>ny</KEYWORD1>\r
-                       <KEYWORD1>nz</KEYWORD1>\r
-                       <KEYWORD1>OMEG</KEYWORD1>\r
-                       <KEYWORD1>OMEGA</KEYWORD1>\r
-                       <KEYWORD1>OPAD</KEYWORD1>\r
-                       <KEYWORD1>OPADD</KEYWORD1>\r
-                       <KEYWORD1>OPAN</KEYWORD1>\r
-                       <KEYWORD1>OPANL</KEYWORD1>\r
-                       <KEYWORD1>OPCL</KEYWORD1>\r
-                       <KEYWORD1>OPCLR</KEYWORD1>\r
-                       <KEYWORD1>OPDA</KEYWORD1>\r
-                       <KEYWORD1>OPDATA</KEYWORD1>\r
-                       <KEYWORD1>OPDE</KEYWORD1>\r
-                       <KEYWORD1>OPDEL</KEYWORD1>\r
-                       <KEYWORD1>OPEQ</KEYWORD1>\r
-                       <KEYWORD1>OPEQN</KEYWORD1>\r
-                       <KEYWORD1>OPER</KEYWORD1>\r
-                       <KEYWORD1>OPERATE</KEYWORD1>\r
-                       <KEYWORD1>OPEX</KEYWORD1>\r
-                       <KEYWORD1>OPEXE</KEYWORD1>\r
-                       <KEYWORD1>OPFA</KEYWORD1>\r
-                       <KEYWORD1>OPFACT</KEYWORD1>\r
-                       <KEYWORD1>OPFR</KEYWORD1>\r
-                       <KEYWORD1>OPFRST</KEYWORD1>\r
-                       <KEYWORD1>OPGR</KEYWORD1>\r
-                       <KEYWORD1>OPGRAD</KEYWORD1>\r
-                       <KEYWORD1>OPKE</KEYWORD1>\r
-                       <KEYWORD1>OPKEEP</KEYWORD1>\r
-                       <KEYWORD1>OPLF</KEYWORD1>\r
-                       <KEYWORD1>OPLFA</KEYWORD1>\r
-                       <KEYWORD1>OPLG</KEYWORD1>\r
-                       <KEYWORD1>OPLGR</KEYWORD1>\r
-                       <KEYWORD1>OPLI</KEYWORD1>\r
-                       <KEYWORD1>OPLIST</KEYWORD1>\r
-                       <KEYWORD1>OPLO</KEYWORD1>\r
-                       <KEYWORD1>OPLOOP</KEYWORD1>\r
-                       <KEYWORD1>OPLS</KEYWORD1>\r
-                       <KEYWORD1>OPLSW</KEYWORD1>\r
-                       <KEYWORD1>OPMA</KEYWORD1>\r
-                       <KEYWORD1>OPMAKE</KEYWORD1>\r
-                       <KEYWORD1>OPNC</KEYWORD1>\r
-                       <KEYWORD1>OPNCONTROL</KEYWORD1>\r
-                       <KEYWORD1>OPPR</KEYWORD1>\r
-                       <KEYWORD1>OPPRNT</KEYWORD1>\r
-                       <KEYWORD1>OPRA</KEYWORD1>\r
-                       <KEYWORD1>OPRAND</KEYWORD1>\r
-                       <KEYWORD1>OPRE</KEYWORD1>\r
-                       <KEYWORD1>OPRESU</KEYWORD1>\r
-                       <KEYWORD1>OPRF</KEYWORD1>\r
-                       <KEYWORD1>OPRFA</KEYWORD1>\r
-                       <KEYWORD1>OPRG</KEYWORD1>\r
-                       <KEYWORD1>OPRGR</KEYWORD1>\r
-                       <KEYWORD1>OPRS</KEYWORD1>\r
-                       <KEYWORD1>OPRSW</KEYWORD1>\r
-                       <KEYWORD1>OPSA</KEYWORD1>\r
-                       <KEYWORD1>OPSAVE</KEYWORD1>\r
-                       <KEYWORD1>OPSE</KEYWORD1>\r
-                       <KEYWORD1>OPSEL</KEYWORD1>\r
-                       <KEYWORD1>OPSU</KEYWORD1>\r
-                       <KEYWORD1>OPSUBP</KEYWORD1>\r
-                       <KEYWORD1>OPSW</KEYWORD1>\r
-                       <KEYWORD1>OPSWEEP</KEYWORD1>\r
-                       <KEYWORD1>OPTY</KEYWORD1>\r
-                       <KEYWORD1>OPTYPE</KEYWORD1>\r
-                       <KEYWORD1>OPUS</KEYWORD1>\r
-                       <KEYWORD1>OPUSER</KEYWORD1>\r
-                       <KEYWORD1>OPVA</KEYWORD1>\r
-                       <KEYWORD1>OPVAR</KEYWORD1>\r
-                       <KEYWORD1>OUTO</KEYWORD1>\r
-                       <KEYWORD1>OUTOPT</KEYWORD1>\r
-                       <KEYWORD1>OUTP</KEYWORD1>\r
-                       <KEYWORD1>OUTPR</KEYWORD1>\r
-                       <KEYWORD1>OUTR</KEYWORD1>\r
-                       <KEYWORD1>OUTRES</KEYWORD1>\r
-                       <KEYWORD1>PADE</KEYWORD1>\r
-                       <KEYWORD1>PADELE</KEYWORD1>\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>PAGET</KEYWORD1>\r
-                       <KEYWORD1>PAPU</KEYWORD1>\r
-                       <KEYWORD1>PAPUT</KEYWORD1>\r
-                       <KEYWORD1>PARE</KEYWORD1>\r
-                       <KEYWORD1>PARESU</KEYWORD1>\r
-                       <KEYWORD1>PARR</KEYWORD1>\r
-                       <KEYWORD1>PARRES</KEYWORD1>\r
-                       <KEYWORD1>PARS</KEYWORD1>\r
-                       <KEYWORD1>PARSAV</KEYWORD1>\r
-                       <KEYWORD1>PASA</KEYWORD1>\r
-                       <KEYWORD1>PASAVE</KEYWORD1>\r
-                       <KEYWORD1>PATH</KEYWORD1>\r
-                       <KEYWORD1>PATH</KEYWORD1>\r
-                       <KEYWORD1>PCAL</KEYWORD1>\r
-                       <KEYWORD1>PCALC</KEYWORD1>\r
-                       <KEYWORD1>PCIR</KEYWORD1>\r
-                       <KEYWORD1>PCIRC</KEYWORD1>\r
-                       <KEYWORD1>PCON</KEYWORD1>\r
-                       <KEYWORD1>PCONV</KEYWORD1>\r
-                       <KEYWORD1>PCOR</KEYWORD1>\r
-                       <KEYWORD1>PCORRO</KEYWORD1>\r
-                       <KEYWORD1>PCRO</KEYWORD1>\r
-                       <KEYWORD1>PCROSS</KEYWORD1>\r
-                       <KEYWORD1>PDEF</KEYWORD1>\r
-                       <KEYWORD1>PDEF</KEYWORD1>\r
-                       <KEYWORD1>PDOT</KEYWORD1>\r
-                       <KEYWORD1>PDOT</KEYWORD1>\r
-                       <KEYWORD1>PDRA</KEYWORD1>\r
-                       <KEYWORD1>PDRAG</KEYWORD1>\r
-                       <KEYWORD1>PERB</KEYWORD1>\r
-                       <KEYWORD1>PERBC2D</KEYWORD1>\r
-                       <KEYWORD1>PEXC</KEYWORD1>\r
-                       <KEYWORD1>PEXCLUDE</KEYWORD1>\r
-                       <KEYWORD1>PFAC</KEYWORD1>\r
-                       <KEYWORD1>PFACT</KEYWORD1>\r
-                       <KEYWORD1>PFLU</KEYWORD1>\r
-                       <KEYWORD1>PFLUID</KEYWORD1>\r
-                       <KEYWORD1>PGAP</KEYWORD1>\r
-                       <KEYWORD1>PGAP</KEYWORD1>\r
-                       <KEYWORD1>PHYS</KEYWORD1>\r
-                       <KEYWORD1>PHYSICS</KEYWORD1>\r
-                       <KEYWORD1>PINC</KEYWORD1>\r
-                       <KEYWORD1>PINCLUDE</KEYWORD1>\r
-                       <KEYWORD1>PINS</KEYWORD1>\r
-                       <KEYWORD1>PINSUL</KEYWORD1>\r
-                       <KEYWORD1>PIPE</KEYWORD1>\r
-                       <KEYWORD1>PIPE</KEYWORD1>\r
-                       <KEYWORD1>PIVC</KEYWORD1>\r
-                       <KEYWORD1>PIVCHECK</KEYWORD1>\r
-                       <KEYWORD1>PLAN</KEYWORD1>\r
-                       <KEYWORD1>PLANEWAVE</KEYWORD1>\r
-                       <KEYWORD1>PLCO</KEYWORD1>\r
-                       <KEYWORD1>PLCONV</KEYWORD1>\r
-                       <KEYWORD1>PLCP</KEYWORD1>\r
-                       <KEYWORD1>PLCPLX</KEYWORD1>\r
-                       <KEYWORD1>PLCR</KEYWORD1>\r
-                       <KEYWORD1>PLCRACK</KEYWORD1>\r
-                       <KEYWORD1>PLDI</KEYWORD1>\r
-                       <KEYWORD1>PLDISP</KEYWORD1>\r
-                       <KEYWORD1>PLES</KEYWORD1>\r
-                       <KEYWORD1>PLESOL</KEYWORD1>\r
-                       <KEYWORD1>PLET</KEYWORD1>\r
-                       <KEYWORD1>PLETAB</KEYWORD1>\r
-                       <KEYWORD1>PLF2</KEYWORD1>\r
-                       <KEYWORD1>PLF2D</KEYWORD1>\r
-                       <KEYWORD1>PLLS</KEYWORD1>\r
-                       <KEYWORD1>PLLS</KEYWORD1>\r
-                       <KEYWORD1>PLNS</KEYWORD1>\r
-                       <KEYWORD1>PLNSOL</KEYWORD1>\r
-                       <KEYWORD1>PLOT</KEYWORD1>\r
-                       <KEYWORD1>PLOT</KEYWORD1>\r
-                       <KEYWORD1>PLOT</KEYWORD1>\r
-                       <KEYWORD1>PLOTTING</KEYWORD1>\r
-                       <KEYWORD1>PLPA</KEYWORD1>\r
-                       <KEYWORD1>PLPA</KEYWORD1>\r
-                       <KEYWORD1>PLPAGM</KEYWORD1>\r
-                       <KEYWORD1>PLPATH</KEYWORD1>\r
-                       <KEYWORD1>PLSE</KEYWORD1>\r
-                       <KEYWORD1>PLSECT</KEYWORD1>\r
-                       <KEYWORD1>PLTI</KEYWORD1>\r
-                       <KEYWORD1>PLTIME</KEYWORD1>\r
-                       <KEYWORD1>PLTR</KEYWORD1>\r
-                       <KEYWORD1>PLTRAC</KEYWORD1>\r
-                       <KEYWORD1>PLVA</KEYWORD1>\r
-                       <KEYWORD1>PLVA</KEYWORD1>\r
-                       <KEYWORD1>PLVAR</KEYWORD1>\r
-                       <KEYWORD1>PLVAROPT</KEYWORD1>\r
-                       <KEYWORD1>PLVE</KEYWORD1>\r
-                       <KEYWORD1>PLVECT</KEYWORD1>\r
-                       <KEYWORD1>PMAP</KEYWORD1>\r
-                       <KEYWORD1>PMAP</KEYWORD1>\r
-                       <KEYWORD1>PMET</KEYWORD1>\r
-                       <KEYWORD1>PMETH</KEYWORD1>\r
-                       <KEYWORD1>PMGT</KEYWORD1>\r
-                       <KEYWORD1>PMGTRAN</KEYWORD1>\r
-                       <KEYWORD1>PMOP</KEYWORD1>\r
-                       <KEYWORD1>PMOPTS</KEYWORD1>\r
-                       <KEYWORD1>POIN</KEYWORD1>\r
-                       <KEYWORD1>POINT</KEYWORD1>\r
-                       <KEYWORD1>POLY</KEYWORD1>\r
-                       <KEYWORD1>POLY</KEYWORD1>\r
-                       <KEYWORD1>POPT</KEYWORD1>\r
-                       <KEYWORD1>POPT</KEYWORD1>\r
-                       <KEYWORD1>PORT</KEYWORD1>\r
-                       <KEYWORD1>PORTOPT</KEYWORD1>\r
-                       <KEYWORD1>POWE</KEYWORD1>\r
-                       <KEYWORD1>POWERH</KEYWORD1>\r
-                       <KEYWORD1>PPAT</KEYWORD1>\r
-                       <KEYWORD1>PPATH</KEYWORD1>\r
-                       <KEYWORD1>PPLO</KEYWORD1>\r
-                       <KEYWORD1>PPLOT</KEYWORD1>\r
-                       <KEYWORD1>PPRA</KEYWORD1>\r
-                       <KEYWORD1>PPRANGE</KEYWORD1>\r
-                       <KEYWORD1>PPRE</KEYWORD1>\r
-                       <KEYWORD1>PPRES</KEYWORD1>\r
-                       <KEYWORD1>PRAN</KEYWORD1>\r
-                       <KEYWORD1>PRANGE</KEYWORD1>\r
-                       <KEYWORD1>PRCO</KEYWORD1>\r
-                       <KEYWORD1>PRCONV</KEYWORD1>\r
-                       <KEYWORD1>PRCP</KEYWORD1>\r
-                       <KEYWORD1>PRCPLX</KEYWORD1>\r
-                       <KEYWORD1>PREC</KEYWORD1>\r
-                       <KEYWORD1>PRECISION</KEYWORD1>\r
-                       <KEYWORD1>PRED</KEYWORD1>\r
-                       <KEYWORD1>PRED</KEYWORD1>\r
-                       <KEYWORD1>PRER</KEYWORD1>\r
-                       <KEYWORD1>PRERR</KEYWORD1>\r
-                       <KEYWORD1>PRES</KEYWORD1>\r
-                       <KEYWORD1>PRESOL</KEYWORD1>\r
-                       <KEYWORD1>PRET</KEYWORD1>\r
-                       <KEYWORD1>PRETAB</KEYWORD1>\r
-                       <KEYWORD1>PRI2</KEYWORD1>\r
-                       <KEYWORD1>PRI2</KEYWORD1>\r
-                       <KEYWORD1>PRIM</KEYWORD1>\r
-                       <KEYWORD1>PRIM</KEYWORD1>\r
-                       <KEYWORD1>PRIN</KEYWORD1>\r
-                       <KEYWORD1>PRINT</KEYWORD1>\r
-                       <KEYWORD1>PRIS</KEYWORD1>\r
-                       <KEYWORD1>PRISM</KEYWORD1>\r
-                       <KEYWORD1>PRIT</KEYWORD1>\r
-                       <KEYWORD1>PRITER</KEYWORD1>\r
-                       <KEYWORD1>PRNL</KEYWORD1>\r
-                       <KEYWORD1>PRNLD</KEYWORD1>\r
-                       <KEYWORD1>PRNS</KEYWORD1>\r
-                       <KEYWORD1>PRNSOL</KEYWORD1>\r
-                       <KEYWORD1>PROD</KEYWORD1>\r
-                       <KEYWORD1>PROD</KEYWORD1>\r
-                       <KEYWORD1>PRPA</KEYWORD1>\r
-                       <KEYWORD1>PRPATH</KEYWORD1>\r
-                       <KEYWORD1>PRRF</KEYWORD1>\r
-                       <KEYWORD1>PRRFOR</KEYWORD1>\r
-                       <KEYWORD1>PRRS</KEYWORD1>\r
-                       <KEYWORD1>PRRSOL</KEYWORD1>\r
-                       <KEYWORD1>PRSE</KEYWORD1>\r
-                       <KEYWORD1>PRSECT</KEYWORD1>\r
-                       <KEYWORD1>PRSS</KEYWORD1>\r
-                       <KEYWORD1>PRSSOL</KEYWORD1>\r
-                       <KEYWORD1>PRTI</KEYWORD1>\r
-                       <KEYWORD1>PRTIME</KEYWORD1>\r
-                       <KEYWORD1>PRVA</KEYWORD1>\r
-                       <KEYWORD1>PRVA</KEYWORD1>\r
-                       <KEYWORD1>PRVAR</KEYWORD1>\r
-                       <KEYWORD1>PRVAROPT</KEYWORD1>\r
-                       <KEYWORD1>PRVE</KEYWORD1>\r
-                       <KEYWORD1>PRVECT</KEYWORD1>\r
-                       <KEYWORD1>PSCR</KEYWORD1>\r
-                       <KEYWORD1>PSCR</KEYWORD1>\r
-                       <KEYWORD1>PSDC</KEYWORD1>\r
-                       <KEYWORD1>PSDCOM</KEYWORD1>\r
-                       <KEYWORD1>PSDF</KEYWORD1>\r
-                       <KEYWORD1>PSDFRQ</KEYWORD1>\r
-                       <KEYWORD1>PSDR</KEYWORD1>\r
-                       <KEYWORD1>PSDRES</KEYWORD1>\r
-                       <KEYWORD1>PSDS</KEYWORD1>\r
-                       <KEYWORD1>PSDSPL</KEYWORD1>\r
-                       <KEYWORD1>PSDU</KEYWORD1>\r
-                       <KEYWORD1>PSDUNIT</KEYWORD1>\r
-                       <KEYWORD1>PSDV</KEYWORD1>\r
-                       <KEYWORD1>PSDVAL</KEYWORD1>\r
-                       <KEYWORD1>PSDW</KEYWORD1>\r
-                       <KEYWORD1>PSDWAV</KEYWORD1>\r
-                       <KEYWORD1>PSEL</KEYWORD1>\r
-                       <KEYWORD1>PSEL</KEYWORD1>\r
-                       <KEYWORD1>PSOL</KEYWORD1>\r
-                       <KEYWORD1>PSOLVE</KEYWORD1>\r
-                       <KEYWORD1>PSPE</KEYWORD1>\r
-                       <KEYWORD1>PSPEC</KEYWORD1>\r
-                       <KEYWORD1>PSPR</KEYWORD1>\r
-                       <KEYWORD1>PSPRNG</KEYWORD1>\r
-                       <KEYWORD1>PSTR</KEYWORD1>\r
-                       <KEYWORD1>PSTRES</KEYWORD1>\r
-                       <KEYWORD1>PTEM</KEYWORD1>\r
-                       <KEYWORD1>PTEMP</KEYWORD1>\r
-                       <KEYWORD1>PTXY</KEYWORD1>\r
-                       <KEYWORD1>PTXY</KEYWORD1>\r
-                       <KEYWORD1>PUNI</KEYWORD1>\r
-                       <KEYWORD1>PUNIT</KEYWORD1>\r
-                       <KEYWORD1>PVEC</KEYWORD1>\r
-                       <KEYWORD1>PVECT</KEYWORD1>\r
-                       <KEYWORD1>QDVA</KEYWORD1>\r
-                       <KEYWORD1>QDVAL</KEYWORD1>\r
-                       <KEYWORD1>QFAC</KEYWORD1>\r
-                       <KEYWORD1>QFACT</KEYWORD1>\r
-                       <KEYWORD1>QUAD</KEYWORD1>\r
-                       <KEYWORD1>QUAD</KEYWORD1>\r
-                       <KEYWORD1>QUOT</KEYWORD1>\r
-                       <KEYWORD1>QUOT</KEYWORD1>\r
-                       <KEYWORD1>R</KEYWORD1>\r
-                       <KEYWORD1>RACE</KEYWORD1>\r
-                       <KEYWORD1>RACE</KEYWORD1>\r
-                       <KEYWORD1>RALL</KEYWORD1>\r
-                       <KEYWORD1>RALL</KEYWORD1>\r
-                       <KEYWORD1>RAPP</KEYWORD1>\r
-                       <KEYWORD1>RAPPND</KEYWORD1>\r
-                       <KEYWORD1>RBE3</KEYWORD1>\r
-                       <KEYWORD1>RBE3</KEYWORD1>\r
-                       <KEYWORD1>RCON</KEYWORD1>\r
-                       <KEYWORD1>RCON</KEYWORD1>\r
-                       <KEYWORD1>RDEL</KEYWORD1>\r
-                       <KEYWORD1>RDELE</KEYWORD1>\r
-                       <KEYWORD1>REAL</KEYWORD1>\r
-                       <KEYWORD1>REAL</KEYWORD1>\r
-                       <KEYWORD1>REAL</KEYWORD1>\r
-                       <KEYWORD1>REALVAR</KEYWORD1>\r
-                       <KEYWORD1>RECT</KEYWORD1>\r
-                       <KEYWORD1>RECTNG</KEYWORD1>\r
-                       <KEYWORD1>REDU</KEYWORD1>\r
-                       <KEYWORD1>REDUCE</KEYWORD1>\r
-                       <KEYWORD1>REFL</KEYWORD1>\r
-                       <KEYWORD1>REFLCOEF</KEYWORD1>\r
-                       <KEYWORD1>REOR</KEYWORD1>\r
-                       <KEYWORD1>REORDER</KEYWORD1>\r
-                       <KEYWORD1>RESE</KEYWORD1>\r
-                       <KEYWORD1>RESET</KEYWORD1>\r
-                       <KEYWORD1>RESP</KEYWORD1>\r
-                       <KEYWORD1>RESP</KEYWORD1>\r
-                       <KEYWORD1>RESU</KEYWORD1>\r
-                       <KEYWORD1>RESUME</KEYWORD1>\r
-                       <KEYWORD1>REXP</KEYWORD1>\r
-                       <KEYWORD1>REXPORT</KEYWORD1>\r
-                       <KEYWORD1>RFIL</KEYWORD1>\r
-                       <KEYWORD1>RFILSZ</KEYWORD1>\r
-                       <KEYWORD1>RFOR</KEYWORD1>\r
-                       <KEYWORD1>RFORCE</KEYWORD1>\r
-                       <KEYWORD1>RIGI</KEYWORD1>\r
-                       <KEYWORD1>RIGID</KEYWORD1>\r
-                       <KEYWORD1>RIMP</KEYWORD1>\r
-                       <KEYWORD1>RIMPORT</KEYWORD1>\r
-                       <KEYWORD1>RITE</KEYWORD1>\r
-                       <KEYWORD1>RITER</KEYWORD1>\r
-                       <KEYWORD1>RLIS</KEYWORD1>\r
-                       <KEYWORD1>RLIST</KEYWORD1>\r
-                       <KEYWORD1>RMEM</KEYWORD1>\r
-                       <KEYWORD1>RMEMRY</KEYWORD1>\r
-                       <KEYWORD1>RMOD</KEYWORD1>\r
-                       <KEYWORD1>RMODIF</KEYWORD1>\r
-                       <KEYWORD1>RMOR</KEYWORD1>\r
-                       <KEYWORD1>RMORE</KEYWORD1>\r
-                       <KEYWORD1>ROCK</KEYWORD1>\r
-                       <KEYWORD1>ROCK</KEYWORD1>\r
-                       <KEYWORD1>RPOL</KEYWORD1>\r
-                       <KEYWORD1>RPOLY</KEYWORD1>\r
-                       <KEYWORD1>RPR4</KEYWORD1>\r
-                       <KEYWORD1>RPR4</KEYWORD1>\r
-                       <KEYWORD1>RPRI</KEYWORD1>\r
-                       <KEYWORD1>RPRISM</KEYWORD1>\r
-                       <KEYWORD1>RPSD</KEYWORD1>\r
-                       <KEYWORD1>RPSD</KEYWORD1>\r
-                       <KEYWORD1>RSPE</KEYWORD1>\r
-                       <KEYWORD1>RSPEED</KEYWORD1>\r
-                       <KEYWORD1>RSTA</KEYWORD1>\r
-                       <KEYWORD1>RSTAT</KEYWORD1>\r
-                       <KEYWORD1>RSYS</KEYWORD1>\r
-                       <KEYWORD1>RSYS</KEYWORD1>\r
-                       <KEYWORD1>RTIM</KEYWORD1>\r
-                       <KEYWORD1>RTIMST</KEYWORD1>\r
-                       <KEYWORD1>RUN</KEYWORD1>\r
-                       <KEYWORD1>RWFR</KEYWORD1>\r
-                       <KEYWORD1>RWFRNT</KEYWORD1>\r
-                       <KEYWORD1>SABS</KEYWORD1>\r
-                       <KEYWORD1>SABS</KEYWORD1>\r
-                       <KEYWORD1>SADD</KEYWORD1>\r
-                       <KEYWORD1>SADD</KEYWORD1>\r
-                       <KEYWORD1>SALL</KEYWORD1>\r
-                       <KEYWORD1>SALLOW</KEYWORD1>\r
-                       <KEYWORD1>SARP</KEYWORD1>\r
-                       <KEYWORD1>SARPLOT</KEYWORD1>\r
-                       <KEYWORD1>SAVE</KEYWORD1>\r
-                       <KEYWORD1>SAVE</KEYWORD1>\r
-                       <KEYWORD1>SBCL</KEYWORD1>\r
-                       <KEYWORD1>SBCLIST</KEYWORD1>\r
-                       <KEYWORD1>SBCT</KEYWORD1>\r
-                       <KEYWORD1>SBCTRAN</KEYWORD1>\r
-                       <KEYWORD1>SDEL</KEYWORD1>\r
-                       <KEYWORD1>SDELETE</KEYWORD1>\r
-                       <KEYWORD1>SE</KEYWORD1>\r
-                       <KEYWORD1>SECD</KEYWORD1>\r
-                       <KEYWORD1>SECDATA</KEYWORD1>\r
-                       <KEYWORD1>SECN</KEYWORD1>\r
-                       <KEYWORD1>SECNUM</KEYWORD1>\r
-                       <KEYWORD1>SECO</KEYWORD1>\r
-                       <KEYWORD1>SECOFFSET</KEYWORD1>\r
-                       <KEYWORD1>SECP</KEYWORD1>\r
-                       <KEYWORD1>SECPLOT</KEYWORD1>\r
-                       <KEYWORD1>SECR</KEYWORD1>\r
-                       <KEYWORD1>SECREAD</KEYWORD1>\r
-                       <KEYWORD1>SECT</KEYWORD1>\r
-                       <KEYWORD1>SECTYPE</KEYWORD1>\r
-                       <KEYWORD1>SECW</KEYWORD1>\r
-                       <KEYWORD1>SECWRITE</KEYWORD1>\r
-                       <KEYWORD1>SED</KEYWORD1>\r
-                       <KEYWORD1>SEDL</KEYWORD1>\r
-                       <KEYWORD1>SEDLIST</KEYWORD1>\r
-                       <KEYWORD1>SEEX</KEYWORD1>\r
-                       <KEYWORD1>SEEXP</KEYWORD1>\r
-                       <KEYWORD1>SELI</KEYWORD1>\r
-                       <KEYWORD1>SELIST</KEYWORD1>\r
-                       <KEYWORD1>SELM</KEYWORD1>\r
-                       <KEYWORD1>SELM</KEYWORD1>\r
-                       <KEYWORD1>SENE</KEYWORD1>\r
-                       <KEYWORD1>SENERGY</KEYWORD1>\r
-                       <KEYWORD1>SEOP</KEYWORD1>\r
-                       <KEYWORD1>SEOPT</KEYWORD1>\r
-                       <KEYWORD1>SESY</KEYWORD1>\r
-                       <KEYWORD1>SESYMM</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SETR</KEYWORD1>\r
-                       <KEYWORD1>SETRAN</KEYWORD1>\r
-                       <KEYWORD1>SEXP</KEYWORD1>\r
-                       <KEYWORD1>SEXP</KEYWORD1>\r
-                       <KEYWORD1>SF</KEYWORD1>\r
-                       <KEYWORD1>SFA</KEYWORD1>\r
-                       <KEYWORD1>SFAC</KEYWORD1>\r
-                       <KEYWORD1>SFACT</KEYWORD1>\r
-                       <KEYWORD1>SFAD</KEYWORD1>\r
-                       <KEYWORD1>SFADELE</KEYWORD1>\r
-                       <KEYWORD1>SFAL</KEYWORD1>\r
-                       <KEYWORD1>SFALIST</KEYWORD1>\r
-                       <KEYWORD1>SFBE</KEYWORD1>\r
-                       <KEYWORD1>SFBEAM</KEYWORD1>\r
-                       <KEYWORD1>SFCA</KEYWORD1>\r
-                       <KEYWORD1>SFCALC</KEYWORD1>\r
-                       <KEYWORD1>SFCU</KEYWORD1>\r
-                       <KEYWORD1>SFCUM</KEYWORD1>\r
-                       <KEYWORD1>SFDE</KEYWORD1>\r
-                       <KEYWORD1>SFDELE</KEYWORD1>\r
-                       <KEYWORD1>SFE</KEYWORD1>\r
-                       <KEYWORD1>SFED</KEYWORD1>\r
-                       <KEYWORD1>SFEDELE</KEYWORD1>\r
-                       <KEYWORD1>SFEL</KEYWORD1>\r
-                       <KEYWORD1>SFELIST</KEYWORD1>\r
-                       <KEYWORD1>SFFU</KEYWORD1>\r
-                       <KEYWORD1>SFFUN</KEYWORD1>\r
-                       <KEYWORD1>SFGR</KEYWORD1>\r
-                       <KEYWORD1>SFGRAD</KEYWORD1>\r
-                       <KEYWORD1>SFL</KEYWORD1>\r
-                       <KEYWORD1>SFLD</KEYWORD1>\r
-                       <KEYWORD1>SFLDELE</KEYWORD1>\r
-                       <KEYWORD1>SFLI</KEYWORD1>\r
-                       <KEYWORD1>SFLIST</KEYWORD1>\r
-                       <KEYWORD1>SFLL</KEYWORD1>\r
-                       <KEYWORD1>SFLLIST</KEYWORD1>\r
-                       <KEYWORD1>SFSC</KEYWORD1>\r
-                       <KEYWORD1>SFSCALE</KEYWORD1>\r
-                       <KEYWORD1>SFTR</KEYWORD1>\r
-                       <KEYWORD1>SFTRAN</KEYWORD1>\r
-                       <KEYWORD1>SHEL</KEYWORD1>\r
-                       <KEYWORD1>SHELL</KEYWORD1>\r
-                       <KEYWORD1>SHPP</KEYWORD1>\r
-                       <KEYWORD1>SHPP</KEYWORD1>\r
-                       <KEYWORD1>SLIS</KEYWORD1>\r
-                       <KEYWORD1>SLIST</KEYWORD1>\r
-                       <KEYWORD1>SLPP</KEYWORD1>\r
-                       <KEYWORD1>SLPPLOT</KEYWORD1>\r
-                       <KEYWORD1>SLSP</KEYWORD1>\r
-                       <KEYWORD1>SLSPLOT</KEYWORD1>\r
-                       <KEYWORD1>SMAL</KEYWORD1>\r
-                       <KEYWORD1>SMALL</KEYWORD1>\r
-                       <KEYWORD1>SMAX</KEYWORD1>\r
-                       <KEYWORD1>SMAX</KEYWORD1>\r
-                       <KEYWORD1>SMBO</KEYWORD1>\r
-                       <KEYWORD1>SMBODY</KEYWORD1>\r
-                       <KEYWORD1>SMCO</KEYWORD1>\r
-                       <KEYWORD1>SMCONS</KEYWORD1>\r
-                       <KEYWORD1>SMFO</KEYWORD1>\r
-                       <KEYWORD1>SMFOR</KEYWORD1>\r
-                       <KEYWORD1>SMIN</KEYWORD1>\r
-                       <KEYWORD1>SMIN</KEYWORD1>\r
-                       <KEYWORD1>SMRT</KEYWORD1>\r
-                       <KEYWORD1>SMRTSIZE</KEYWORD1>\r
-                       <KEYWORD1>SMSU</KEYWORD1>\r
-                       <KEYWORD1>SMSURF</KEYWORD1>\r
-                       <KEYWORD1>SMUL</KEYWORD1>\r
-                       <KEYWORD1>SMULT</KEYWORD1>\r
-                       <KEYWORD1>SOLC</KEYWORD1>\r
-                       <KEYWORD1>SOLCONTROL</KEYWORD1>\r
-                       <KEYWORD1>SOLU</KEYWORD1>\r
-                       <KEYWORD1>SOLU</KEYWORD1>\r
-                       <KEYWORD1>SOLU</KEYWORD1>\r
-                       <KEYWORD1>SOLUOPT</KEYWORD1>\r
-                       <KEYWORD1>SOLV</KEYWORD1>\r
-                       <KEYWORD1>SOLVE</KEYWORD1>\r
-                       <KEYWORD1>SORT</KEYWORD1>\r
-                       <KEYWORD1>SORT</KEYWORD1>\r
-                       <KEYWORD1>SOUR</KEYWORD1>\r
-                       <KEYWORD1>SOURCE</KEYWORD1>\r
-                       <KEYWORD1>SPAC</KEYWORD1>\r
-                       <KEYWORD1>SPACE</KEYWORD1>\r
-                       <KEYWORD1>SPAR</KEYWORD1>\r
-                       <KEYWORD1>SPARM</KEYWORD1>\r
-                       <KEYWORD1>SPEC</KEYWORD1>\r
-                       <KEYWORD1>SPEC</KEYWORD1>\r
-                       <KEYWORD1>SPH4</KEYWORD1>\r
-                       <KEYWORD1>SPH4</KEYWORD1>\r
-                       <KEYWORD1>SPH5</KEYWORD1>\r
-                       <KEYWORD1>SPH5</KEYWORD1>\r
-                       <KEYWORD1>SPHE</KEYWORD1>\r
-                       <KEYWORD1>SPHERE</KEYWORD1>\r
-                       <KEYWORD1>SPLI</KEYWORD1>\r
-                       <KEYWORD1>SPLINE</KEYWORD1>\r
-                       <KEYWORD1>SPOI</KEYWORD1>\r
-                       <KEYWORD1>SPOINT</KEYWORD1>\r
-                       <KEYWORD1>SPOP</KEYWORD1>\r
-                       <KEYWORD1>SPOPT</KEYWORD1>\r
-                       <KEYWORD1>SPRE</KEYWORD1>\r
-                       <KEYWORD1>SPREAD</KEYWORD1>\r
-                       <KEYWORD1>SPTO</KEYWORD1>\r
-                       <KEYWORD1>SPTOPT</KEYWORD1>\r
-                       <KEYWORD1>SQRT</KEYWORD1>\r
-                       <KEYWORD1>SQRT</KEYWORD1>\r
-                       <KEYWORD1>SRCS</KEYWORD1>\r
-                       <KEYWORD1>SRCS</KEYWORD1>\r
-                       <KEYWORD1>SRSS</KEYWORD1>\r
-                       <KEYWORD1>SRSS</KEYWORD1>\r
-                       <KEYWORD1>SSLN</KEYWORD1>\r
-                       <KEYWORD1>SSLN</KEYWORD1>\r
-                       <KEYWORD1>SSTI</KEYWORD1>\r
-                       <KEYWORD1>SSTIF</KEYWORD1>\r
-                       <KEYWORD1>SSUM</KEYWORD1>\r
-                       <KEYWORD1>SSUM</KEYWORD1>\r
-                       <KEYWORD1>STAT</KEYWORD1>\r
-                       <KEYWORD1>STAT</KEYWORD1>\r
-                       <KEYWORD1>STEF</KEYWORD1>\r
-                       <KEYWORD1>STEF</KEYWORD1>\r
-                       <KEYWORD1>STOR</KEYWORD1>\r
-                       <KEYWORD1>STORE</KEYWORD1>\r
-                       <KEYWORD1>SUBO</KEYWORD1>\r
-                       <KEYWORD1>SUBOPT</KEYWORD1>\r
-                       <KEYWORD1>SUBS</KEYWORD1>\r
-                       <KEYWORD1>SUBSET</KEYWORD1>\r
-                       <KEYWORD1>SUMT</KEYWORD1>\r
-                       <KEYWORD1>SUMTYPE</KEYWORD1>\r
-                       <KEYWORD1>SV</KEYWORD1>\r
-                       <KEYWORD1>SVTY</KEYWORD1>\r
-                       <KEYWORD1>SVTYP</KEYWORD1>\r
-                       <KEYWORD1>TALL</KEYWORD1>\r
-                       <KEYWORD1>TALLOW</KEYWORD1>\r
-                       <KEYWORD1>TB</KEYWORD1>\r
-                       <KEYWORD1>TBCO</KEYWORD1>\r
-                       <KEYWORD1>TBCOPY</KEYWORD1>\r
-                       <KEYWORD1>TBDA</KEYWORD1>\r
-                       <KEYWORD1>TBDATA</KEYWORD1>\r
-                       <KEYWORD1>TBDE</KEYWORD1>\r
-                       <KEYWORD1>TBDELE</KEYWORD1>\r
-                       <KEYWORD1>TBLE</KEYWORD1>\r
-                       <KEYWORD1>TBLE</KEYWORD1>\r
-                       <KEYWORD1>TBLI</KEYWORD1>\r
-                       <KEYWORD1>TBLIST</KEYWORD1>\r
-                       <KEYWORD1>TBMO</KEYWORD1>\r
-                       <KEYWORD1>TBMODIF</KEYWORD1>\r
-                       <KEYWORD1>TBPL</KEYWORD1>\r
-                       <KEYWORD1>TBPLOT</KEYWORD1>\r
-                       <KEYWORD1>TBPT</KEYWORD1>\r
-                       <KEYWORD1>TBPT</KEYWORD1>\r
-                       <KEYWORD1>TBTE</KEYWORD1>\r
-                       <KEYWORD1>TBTEMP</KEYWORD1>\r
-                       <KEYWORD1>TCHG</KEYWORD1>\r
-                       <KEYWORD1>TCHG</KEYWORD1>\r
-                       <KEYWORD1>TEE</KEYWORD1>\r
-                       <KEYWORD1>TERM</KEYWORD1>\r
-                       <KEYWORD1>TERM</KEYWORD1>\r
-                       <KEYWORD1>TIME</KEYWORD1>\r
-                       <KEYWORD1>TIME</KEYWORD1>\r
-                       <KEYWORD1>TIME</KEYWORD1>\r
-                       <KEYWORD1>TIMERANGE</KEYWORD1>\r
-                       <KEYWORD1>TIMI</KEYWORD1>\r
-                       <KEYWORD1>TIMINT</KEYWORD1>\r
-                       <KEYWORD1>TIMP</KEYWORD1>\r
-                       <KEYWORD1>TIMP</KEYWORD1>\r
-                       <KEYWORD1>TINT</KEYWORD1>\r
-                       <KEYWORD1>TINTP</KEYWORD1>\r
-                       <KEYWORD1>TOFF</KEYWORD1>\r
-                       <KEYWORD1>TOFFST</KEYWORD1>\r
-                       <KEYWORD1>TOPD</KEYWORD1>\r
-                       <KEYWORD1>TOPDEF</KEYWORD1>\r
-                       <KEYWORD1>TOPE</KEYWORD1>\r
-                       <KEYWORD1>TOPEXE</KEYWORD1>\r
-                       <KEYWORD1>TOPI</KEYWORD1>\r
-                       <KEYWORD1>TOPITER</KEYWORD1>\r
-                       <KEYWORD1>TORQ2D</KEYWORD1>\r
-                       <KEYWORD1>TORQ</KEYWORD1>\r
-                       <KEYWORD1>TORQ</KEYWORD1>\r
-                       <KEYWORD1>TORQ</KEYWORD1>\r
-                       <KEYWORD1>TORQC2D</KEYWORD1>\r
-                       <KEYWORD1>TORQSUM</KEYWORD1>\r
-                       <KEYWORD1>TORU</KEYWORD1>\r
-                       <KEYWORD1>TORUS</KEYWORD1>\r
-                       <KEYWORD1>TOTA</KEYWORD1>\r
-                       <KEYWORD1>TOTAL</KEYWORD1>\r
-                       <KEYWORD1>TRAN</KEYWORD1>\r
-                       <KEYWORD1>TRAN</KEYWORD1>\r
-                       <KEYWORD1>TRANS</KEYWORD1>\r
-                       <KEYWORD1>TRANSFER</KEYWORD1>\r
-                       <KEYWORD1>TREF</KEYWORD1>\r
-                       <KEYWORD1>TREF</KEYWORD1>\r
-                       <KEYWORD1>TRNO</KEYWORD1>\r
-                       <KEYWORD1>TRNOPT</KEYWORD1>\r
-                       <KEYWORD1>TRPD</KEYWORD1>\r
-                       <KEYWORD1>TRPDEL</KEYWORD1>\r
-                       <KEYWORD1>TRPL</KEYWORD1>\r
-                       <KEYWORD1>TRPLIS</KEYWORD1>\r
-                       <KEYWORD1>TRPO</KEYWORD1>\r
-                       <KEYWORD1>TRPOIN</KEYWORD1>\r
-                       <KEYWORD1>TRTI</KEYWORD1>\r
-                       <KEYWORD1>TRTIME</KEYWORD1>\r
-                       <KEYWORD1>TSHA</KEYWORD1>\r
-                       <KEYWORD1>TSHAP</KEYWORD1>\r
-                       <KEYWORD1>TSRE</KEYWORD1>\r
-                       <KEYWORD1>TSRES</KEYWORD1>\r
-                       <KEYWORD1>TUNI</KEYWORD1>\r
-                       <KEYWORD1>TUNIF</KEYWORD1>\r
-                       <KEYWORD1>TVAR</KEYWORD1>\r
-                       <KEYWORD1>TVAR</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>UIMP</KEYWORD1>\r
-                       <KEYWORD1>UIMP</KEYWORD1>\r
-                       <KEYWORD1>UPCO</KEYWORD1>\r
-                       <KEYWORD1>UPCOORD</KEYWORD1>\r
-                       <KEYWORD1>UPGE</KEYWORD1>\r
-                       <KEYWORD1>UPGEOM</KEYWORD1>\r
-                       <KEYWORD1>USRC</KEYWORD1>\r
-                       <KEYWORD1>USRCAL</KEYWORD1>\r
-                       <KEYWORD1>V</KEYWORD1>\r
-                       <KEYWORD1>VA</KEYWORD1>\r
-                       <KEYWORD1>VADD</KEYWORD1>\r
-                       <KEYWORD1>VADD</KEYWORD1>\r
-                       <KEYWORD1>VALV</KEYWORD1>\r
-                       <KEYWORD1>VALVE</KEYWORD1>\r
-                       <KEYWORD1>VARD</KEYWORD1>\r
-                       <KEYWORD1>VARDEL</KEYWORD1>\r
-                       <KEYWORD1>VARN</KEYWORD1>\r
-                       <KEYWORD1>VARNAM</KEYWORD1>\r
-                       <KEYWORD1>VATT</KEYWORD1>\r
-                       <KEYWORD1>VATT</KEYWORD1>\r
-                       <KEYWORD1>VCLE</KEYWORD1>\r
-                       <KEYWORD1>VCLEAR</KEYWORD1>\r
-                       <KEYWORD1>VCRO</KEYWORD1>\r
-                       <KEYWORD1>VCROSS</KEYWORD1>\r
-                       <KEYWORD1>VCVF</KEYWORD1>\r
-                       <KEYWORD1>VCVFILL</KEYWORD1>\r
-                       <KEYWORD1>VDDA</KEYWORD1>\r
-                       <KEYWORD1>VDDAM</KEYWORD1>\r
-                       <KEYWORD1>VDEL</KEYWORD1>\r
-                       <KEYWORD1>VDELE</KEYWORD1>\r
-                       <KEYWORD1>VDGL</KEYWORD1>\r
-                       <KEYWORD1>VDGL</KEYWORD1>\r
-                       <KEYWORD1>VDOT</KEYWORD1>\r
-                       <KEYWORD1>VDOT</KEYWORD1>\r
-                       <KEYWORD1>VDRA</KEYWORD1>\r
-                       <KEYWORD1>VDRAG</KEYWORD1>\r
-                       <KEYWORD1>VEXT</KEYWORD1>\r
-                       <KEYWORD1>VEXT</KEYWORD1>\r
-                       <KEYWORD1>VGEN</KEYWORD1>\r
-                       <KEYWORD1>VGEN</KEYWORD1>\r
-                       <KEYWORD1>VGET</KEYWORD1>\r
-                       <KEYWORD1>VGET</KEYWORD1>\r
-                       <KEYWORD1>VGLU</KEYWORD1>\r
-                       <KEYWORD1>VGLUE</KEYWORD1>\r
-                       <KEYWORD1>VIMP</KEYWORD1>\r
-                       <KEYWORD1>VIMP</KEYWORD1>\r
-                       <KEYWORD1>VINP</KEYWORD1>\r
-                       <KEYWORD1>VINP</KEYWORD1>\r
-                       <KEYWORD1>VINV</KEYWORD1>\r
-                       <KEYWORD1>VINV</KEYWORD1>\r
-                       <KEYWORD1>VLIS</KEYWORD1>\r
-                       <KEYWORD1>VLIST</KEYWORD1>\r
-                       <KEYWORD1>VLSC</KEYWORD1>\r
-                       <KEYWORD1>VLSCALE</KEYWORD1>\r
-                       <KEYWORD1>VMES</KEYWORD1>\r
-                       <KEYWORD1>VMESH</KEYWORD1>\r
-                       <KEYWORD1>VOFF</KEYWORD1>\r
-                       <KEYWORD1>VOFFST</KEYWORD1>\r
-                       <KEYWORD1>VOLU</KEYWORD1>\r
-                       <KEYWORD1>VOLUMES</KEYWORD1>\r
-                       <KEYWORD1>VOVL</KEYWORD1>\r
-                       <KEYWORD1>VOVLAP</KEYWORD1>\r
-                       <KEYWORD1>VPLO</KEYWORD1>\r
-                       <KEYWORD1>VPLOT</KEYWORD1>\r
-                       <KEYWORD1>VPTN</KEYWORD1>\r
-                       <KEYWORD1>VPTN</KEYWORD1>\r
-                       <KEYWORD1>VPUT</KEYWORD1>\r
-                       <KEYWORD1>VPUT</KEYWORD1>\r
-                       <KEYWORD1>VROT</KEYWORD1>\r
-                       <KEYWORD1>VROTAT</KEYWORD1>\r
-                       <KEYWORD1>VSBA</KEYWORD1>\r
-                       <KEYWORD1>VSBA</KEYWORD1>\r
-                       <KEYWORD1>VSBV</KEYWORD1>\r
-                       <KEYWORD1>VSBV</KEYWORD1>\r
-                       <KEYWORD1>VSBW</KEYWORD1>\r
-                       <KEYWORD1>VSBW</KEYWORD1>\r
-                       <KEYWORD1>VSEL</KEYWORD1>\r
-                       <KEYWORD1>VSEL</KEYWORD1>\r
-                       <KEYWORD1>VSLA</KEYWORD1>\r
-                       <KEYWORD1>VSLA</KEYWORD1>\r
-                       <KEYWORD1>VSUM</KEYWORD1>\r
-                       <KEYWORD1>VSUM</KEYWORD1>\r
-                       <KEYWORD1>VSWE</KEYWORD1>\r
-                       <KEYWORD1>VSWEEP</KEYWORD1>\r
-                       <KEYWORD1>VSYM</KEYWORD1>\r
-                       <KEYWORD1>VSYMM</KEYWORD1>\r
-                       <KEYWORD1>VTRA</KEYWORD1>\r
-                       <KEYWORD1>VTRAN</KEYWORD1>\r
-                       <KEYWORD1>VTYP</KEYWORD1>\r
-                       <KEYWORD1>VTYPE</KEYWORD1>\r
-                       <KEYWORD1>WAVE</KEYWORD1>\r
-                       <KEYWORD1>WAVES</KEYWORD1>\r
-                       <KEYWORD1>WERA</KEYWORD1>\r
-                       <KEYWORD1>WERASE</KEYWORD1>\r
-                       <KEYWORD1>WFRO</KEYWORD1>\r
-                       <KEYWORD1>WFRONT</KEYWORD1>\r
-                       <KEYWORD1>WMOR</KEYWORD1>\r
-                       <KEYWORD1>WMORE</KEYWORD1>\r
-                       <KEYWORD1>WPAV</KEYWORD1>\r
-                       <KEYWORD1>WPAVE</KEYWORD1>\r
-                       <KEYWORD1>WPCS</KEYWORD1>\r
-                       <KEYWORD1>WPCSYS</KEYWORD1>\r
-                       <KEYWORD1>WPLA</KEYWORD1>\r
-                       <KEYWORD1>WPLANE</KEYWORD1>\r
-                       <KEYWORD1>WPOF</KEYWORD1>\r
-                       <KEYWORD1>WPOFFS</KEYWORD1>\r
-                       <KEYWORD1>WPRO</KEYWORD1>\r
-                       <KEYWORD1>WPROTA</KEYWORD1>\r
-                       <KEYWORD1>WPST</KEYWORD1>\r
-                       <KEYWORD1>WPSTYL</KEYWORD1>\r
-                       <KEYWORD1>WRIT</KEYWORD1>\r
-                       <KEYWORD1>WRITE</KEYWORD1>\r
-                       <KEYWORD1>WSOR</KEYWORD1>\r
-                       <KEYWORD1>WSORT</KEYWORD1>\r
-                       <KEYWORD1>WSTA</KEYWORD1>\r
-                       <KEYWORD1>WSTART</KEYWORD1>\r
-                       <KEYWORD1>XVAR</KEYWORD1>\r
-                       <KEYWORD1>XVAR</KEYWORD1>\r
-                       <KEYWORD1>XVAROPT</KEYWORD1>\r
-\r
-<!--           Material properties (short notation)    -->                     \r
-\r
-                       <KEYWORD1>ex</KEYWORD1>\r
-                       <KEYWORD1>ey</KEYWORD1>\r
-                       <KEYWORD1>ez</KEYWORD1>\r
-                       <KEYWORD1>nuxy</KEYWORD1>\r
-                       <KEYWORD1>nuxz</KEYWORD1>\r
-                       <KEYWORD1>nuyz</KEYWORD1>\r
-                       <KEYWORD1>gxy</KEYWORD1>\r
-                       <KEYWORD1>gxz</KEYWORD1>\r
-                       <KEYWORD1>gyz</KEYWORD1>\r
-                       <KEYWORD1>alpx</KEYWORD1>\r
-                       <KEYWORD1>alpy</KEYWORD1>\r
-                       <KEYWORD1>alpz</KEYWORD1>\r
-                       <KEYWORD1>kxx</KEYWORD1>\r
-                       <KEYWORD1>kyy</KEYWORD1>\r
-                       <KEYWORD1>kzz</KEYWORD1>\r
-                       <KEYWORD1>dens</KEYWORD1>\r
-                       <KEYWORD1>damp</KEYWORD1>\r
-                       <KEYWORD1>mu</KEYWORD1>\r
-                       <KEYWORD1>prxy</KEYWORD1>\r
-\r
-<!--           *get functions (abbreviated)    -->                     \r
-\r
-                       <KEYWORD2>ANGLEK</KEYWORD2>\r
-                       <KEYWORD2>ANGLEN</KEYWORD2>\r
-                       <KEYWORD2>AREAKP</KEYWORD2>\r
-                       <KEYWORD2>AREAND</KEYWORD2>\r
-                       <KEYWORD2>ARFACE</KEYWORD2>\r
-                       <KEYWORD2>ARNEXT</KEYWORD2>\r
-                       <KEYWORD2>ARNODE</KEYWORD2>\r
-                       <KEYWORD2>AX</KEYWORD2>\r
-                       <KEYWORD2>AY</KEYWORD2>\r
-                       <KEYWORD2>AZ</KEYWORD2>\r
-                       <KEYWORD2>CENTRX</KEYWORD2>\r
-                       <KEYWORD2>CENTRY</KEYWORD2>\r
-                       <KEYWORD2>CENTRZ</KEYWORD2>\r
-                       <KEYWORD2>DISTEN</KEYWORD2>\r
-                       <KEYWORD2>DISTKP</KEYWORD2>\r
-                       <KEYWORD2>DISTND</KEYWORD2>\r
-                       <KEYWORD2>ELADJ</KEYWORD2>\r
-                       <KEYWORD2>ELNEXT</KEYWORD2>\r
-                       <KEYWORD2>ENDS</KEYWORD2>\r
-                       <KEYWORD2>ENEARN</KEYWORD2>\r
-                       <KEYWORD2>ENEXTN</KEYWORD2>\r
-                       <KEYWORD2>ENKE</KEYWORD2>\r
-                       <KEYWORD2>KNEAR</KEYWORD2>\r
-                       <KEYWORD2>KP</KEYWORD2>\r
-                       <KEYWORD2>KPNEXT</KEYWORD2>\r
-                       <KEYWORD2>KX</KEYWORD2>\r
-                       <KEYWORD2>KY</KEYWORD2>\r
-                       <KEYWORD2>KZ</KEYWORD2>\r
-                       <KEYWORD2>LOC</KEYWORD2>\r
-                       <KEYWORD2>LSNEXT</KEYWORD2>\r
-                       <KEYWORD2>LSX</KEYWORD2>\r
-                       <KEYWORD2>LSY</KEYWORD2>\r
-                       <KEYWORD2>LSZ</KEYWORD2>\r
-                       <KEYWORD2>LX</KEYWORD2>\r
-                       <KEYWORD2>LY</KEYWORD2>\r
-                       <KEYWORD2>LZ</KEYWORD2>\r
-                       <KEYWORD2>MAG</KEYWORD2>\r
-                       <KEYWORD2>NDFACE</KEYWORD2>\r
-                       <KEYWORD2>NDNEXT</KEYWORD2>\r
-                       <KEYWORD2>NELEM</KEYWORD2>\r
-                       <KEYWORD2>NMFACE</KEYWORD2>\r
-                       <KEYWORD2>NNEAR</KEYWORD2>\r
-                       <KEYWORD2>NODE</KEYWORD2>\r
-                       <KEYWORD2>NORMKX</KEYWORD2>\r
-                       <KEYWORD2>NORMKY</KEYWORD2>\r
-                       <KEYWORD2>NORMKZ</KEYWORD2>\r
-                       <KEYWORD2>NORMNX</KEYWORD2>\r
-                       <KEYWORD2>NORMNY</KEYWORD2>\r
-                       <KEYWORD2>NORMNZ</KEYWORD2>\r
-                       <KEYWORD2>NX</KEYWORD2>\r
-                       <KEYWORD2>NY</KEYWORD2>\r
-                       <KEYWORD2>NZ</KEYWORD2>\r
-                       <KEYWORD2>PRES</KEYWORD2>\r
-                       <KEYWORD2>ROTX</KEYWORD2>\r
-                       <KEYWORD2>ROTY</KEYWORD2>\r
-                       <KEYWORD2>ROTZ</KEYWORD2>\r
-                       <KEYWORD2>TEMP</KEYWORD2>\r
-                       <KEYWORD2>UX</KEYWORD2>\r
-                       <KEYWORD2>UY</KEYWORD2>\r
-                       <KEYWORD2>UZ</KEYWORD2>\r
-                       <KEYWORD2>VLNEXT</KEYWORD2>\r
-                       <KEYWORD2>VOLT</KEYWORD2>\r
-                       <KEYWORD2>VX</KEYWORD2>\r
-                       <KEYWORD2>VY</KEYWORD2>\r
-                       <KEYWORD2>VZ</KEYWORD2>\r
-\r
-                       <!-- [Keywords 3] -->\r
-                       <!-- command option labels -->\r
-\r
-                       <!-- AADD command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- *ABBRES command -->\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>change</KEYWORD3>\r
-\r
-                       <!-- *AFUN command -->\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>deg</KEYWORD3>\r
-\r
-                       <!-- ALIST command -->\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-\r
-                       <!-- ALLSEL command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>below</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-\r
-                       <!-- /ANFILE command -->\r
-                       <KEYWORD3>,save</KEYWORD3>\r
-                       <KEYWORD3>resume</KEYWORD3>\r
-\r
-                       <!-- /ANNOT command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>,save</KEYWORD3>\r
-                       <KEYWORD3>scale</KEYWORD3>\r
-                       <KEYWORD3>xorig</KEYWORD3>\r
-                       <KEYWORD3>yorig</KEYWORD3>\r
-                       <KEYWORD3>snap</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>refr</KEYWORD3>\r
-\r
-                       <!-- ANTYPE command -->\r
-                       <KEYWORD3>static</KEYWORD3>\r
-                       <KEYWORD3>buckle</KEYWORD3>\r
-                       <KEYWORD3>modal</KEYWORD3>\r
-                       <KEYWORD3>harmic</KEYWORD3>\r
-                       <KEYWORD3>trans</KEYWORD3>\r
-                       <KEYWORD3>substr</KEYWORD3>\r
-                       <KEYWORD3>spectr</KEYWORD3>\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>rest</KEYWORD3>\r
-\r
-                       <!-- APLOT command -->\r
-                       <KEYWORD3>dege</KEYWORD3>\r
-\r
-                       <!-- APPEND command -->\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>next</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>near</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- ARCTRM command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>,l</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-\r
-                       <!-- AREFINE command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>smooth</KEYWORD3>\r
-                       <KEYWORD3>clean</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- ARSPLIT command -->\r
-                       <KEYWORD3>tight</KEYWORD3>\r
-\r
-                       <!--ARSYM command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!--ASBA, ASBL, ASBV, ASBW commands -->\r
-                       <KEYWORD3>sepo</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-\r
-                       <!-- ASEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>ext</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>acca</KEYWORD3>\r
-\r
-                       <!-- ASLL, ASLV commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-\r
-                       <!-- /ASSIGN command -->\r
-                       <KEYWORD3>emat</KEYWORD3>\r
-                       <KEYWORD3>esav</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>redm</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>rdsp</KEYWORD3>\r
-                       <KEYWORD3>rfrq</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>rst</KEYWORD3>\r
-                       <KEYWORD3>rth</KEYWORD3>\r
-                       <KEYWORD3>rmg</KEYWORD3>\r
-                       <KEYWORD3>erot</KEYWORD3>\r
-                       <KEYWORD3>osav</KEYWORD3>\r
-                       <KEYWORD3>rfl</KEYWORD3>\r
-                       <KEYWORD3>seld</KEYWORD3>\r
-\r
-                       <!-- ASUM command -->\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>fine</KEYWORD3>\r
-\r
-                       <!-- AUTOTS command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- /AXLAB command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-\r
-                       <!-- /BATCH command -->\r
-                       <KEYWORD3>list</KEYWORD3>\r
-\r
-                       <!-- /BEND command -->\r
-                       <KEYWORD3>lr</KEYWORD3>\r
-                       <KEYWORD3>sr</KEYWORD3>\r
-\r
-                       <!-- BF, BFA, BFADELE, BFALIST, BFCUM, BFDELE, BFE, BFECUM, BFEDELE, BFELIST, BFESCAL -->\r
-                       <!-- BFK, BFKDELE, BFKLIST, BFL, BFLDELE, BFLIST, BFLLIST, BFSCALE, BFUNIF, BFV, -->\r
-                       <!-- BFVDELE, BFVLIST commands -->\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>flue</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-                       <KEYWORD3>mvdi</KEYWORD3>\r
-                       <KEYWORD3>chrgd</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>repl</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>igno</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- BIOT command -->\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-\r
-                       <!-- BOPTN command -->\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-                       <KEYWORD3>nwarn</KEYWORD3>\r
-                       <KEYWORD3>version</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>rv52</KEYWORD3>\r
-                       <KEYWORD3>rv51</KEYWORD3>\r
-\r
-                       <!-- BUCOPT command -->\r
-                       <KEYWORD3>subsp</KEYWORD3>\r
-                       <KEYWORD3>lanb</KEYWORD3>\r
-                       <KEYWORD3>reduc</KEYWORD3>\r
-\r
-                       <!-- CDREAD, CDWRITE commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>db</KEYWORD3>\r
-                       <KEYWORD3>solid</KEYWORD3>\r
-                       <KEYWORD3>comb</KEYWORD3>\r
-                       <KEYWORD3>geom</KEYWORD3>\r
-                       <KEYWORD3>cm</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>load</KEYWORD3>\r
-                       <KEYWORD3>blocked</KEYWORD3>\r
-                       <KEYWORD3>unblocked</KEYWORD3>\r
-\r
-                       <!-- CELIST command -->\r
-                       <KEYWORD3>any</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- CERIG command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>uxyz</KEYWORD3>\r
-                       <KEYWORD3>rxyz</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-\r
-                       <!-- CFOPEN command -->\r
-                       <KEYWORD3>append</KEYWORD3>\r
-\r
-                       <!-- CHECK command -->\r
-                       <KEYWORD3>,esel</KEYWORD3>\r
-                       <KEYWORD3>warn</KEYWORD3>\r
-                       <KEYWORD3>err</KEYWORD3>\r
-\r
-                       <!-- CLEAR command -->\r
-                       <KEYWORD3>start</KEYWORD3>\r
-                       <KEYWORD3>nostart</KEYWORD3>\r
-\r
-                       <!-- CLOCAL, CS, CSKP, CSWPLA commands -->\r
-                       <KEYWORD3>cart</KEYWORD3>\r
-                       <KEYWORD3>cylin</KEYWORD3>\r
-                       <KEYWORD3>sphe</KEYWORD3>\r
-                       <KEYWORD3>toro</KEYWORD3>\r
-\r
-                       <!-- CM command -->\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-\r
-                       <!-- CMAP command -->\r
-                       <KEYWORD3>create</KEYWORD3>\r
-\r
-                       <!-- CMEDIT command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- CMPLOT command -->\r
-                       <KEYWORD3>,n</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- CMSEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-\r
-                       <!-- CNVTOL command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>curt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-\r
-                       <!-- COLOR command -->\r
-                       <KEYWORD3>axes</KEYWORD3>\r
-                       <KEYWORD3>axnum</KEYWORD3>\r
-                       <KEYWORD3>num</KEYWORD3>\r
-                       <KEYWORD3>outl</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>isurf</KEYWORD3>\r
-                       <KEYWORD3>wbak</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>curt</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-                       <KEYWORD3>mast</KEYWORD3>\r
-                       <KEYWORD3>,cp</KEYWORD3>\r
-                       <KEYWORD3>,ce</KEYWORD3>\r
-                       <KEYWORD3>nfor</KEYWORD3>\r
-                       <KEYWORD3>nmom</KEYWORD3>\r
-                       <KEYWORD3>rfor</KEYWORD3>\r
-                       <KEYWORD3>rmom</KEYWORD3>\r
-                       <KEYWORD3>path</KEYWORD3>\r
-                       <KEYWORD3>grbak</KEYWORD3>\r
-                       <KEYWORD3>grid</KEYWORD3>\r
-                       <KEYWORD3>axlab</KEYWORD3>\r
-                       <KEYWORD3>curve</KEYWORD3>\r
-                       <KEYWORD3>cm</KEYWORD3>\r
-                       <KEYWORD3>cntr</KEYWORD3>\r
-                       <KEYWORD3>smax</KEYWORD3>\r
-                       <KEYWORD3>smin</KEYWORD3>\r
-                       <KEYWORD3>mred</KEYWORD3>\r
-                       <KEYWORD3>cblu</KEYWORD3>\r
-                       <KEYWORD3>ygre</KEYWORD3>\r
-                       <KEYWORD3>dgra</KEYWORD3>\r
-                       <KEYWORD3>mage</KEYWORD3>\r
-                       <KEYWORD3>cyan</KEYWORD3>\r
-                       <KEYWORD3>yell</KEYWORD3>\r
-                       <KEYWORD3>lgra</KEYWORD3>\r
-                       <KEYWORD3>bmag</KEYWORD3>\r
-                       <KEYWORD3>gcya</KEYWORD3>\r
-                       <KEYWORD3>oran</KEYWORD3>\r
-                       <KEYWORD3>whit</KEYWORD3>\r
-                       <KEYWORD3>blue</KEYWORD3>\r
-                       <KEYWORD3>gree</KEYWORD3>\r
-                       <KEYWORD3>red</KEYWORD3>\r
-                       <KEYWORD3>blac</KEYWORD3>\r
-\r
-                       <!-- CONFIG command -->\r
-                       <KEYWORD3>nres</KEYWORD3>\r
-                       <KEYWORD3>nbuf</KEYWORD3>\r
-                       <KEYWORD3>nproc</KEYWORD3>\r
-                       <KEYWORD3>locfl</KEYWORD3>\r
-                       <KEYWORD3>szbio</KEYWORD3>\r
-                       <KEYWORD3>ncont</KEYWORD3>\r
-                       <KEYWORD3>order</KEYWORD3>\r
-                       <KEYWORD3>fsplit</KEYWORD3>\r
-                       <KEYWORD3>mxnd</KEYWORD3>\r
-                       <KEYWORD3>mxel</KEYWORD3>\r
-                       <KEYWORD3>mxkp</KEYWORD3>\r
-                       <KEYWORD3>mxls</KEYWORD3>\r
-                       <KEYWORD3>mxar</KEYWORD3>\r
-                       <KEYWORD3>mxvl</KEYWORD3>\r
-                       <KEYWORD3>mxrl</KEYWORD3>\r
-                       <KEYWORD3>mxcp</KEYWORD3>\r
-                       <KEYWORD3>mxce</KEYWORD3>\r
-                       <KEYWORD3>nlcontrol</KEYWORD3>\r
-\r
-                       <!-- CP command -->\r
-                       <KEYWORD3>high</KEYWORD3>\r
-                       <KEYWORD3>next</KEYWORD3>\r
-\r
-                       <!-- CPDELE, CPLIST commands -->\r
-                       <KEYWORD3>any</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- CPINTF, D, DA, DADELE, DDELE, DK, DL, DLDELE, DOF, DOFSEL, FKLIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>ay</KEYWORD3>\r
-                       <KEYWORD3>az</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>symm</KEYWORD3>\r
-                       <KEYWORD3>asym</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>en</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>chrg</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csgx</KEYWORD3>\r
-                       <KEYWORD3>csgy</KEYWORD3>\r
-                       <KEYWORD3>csgz</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-\r
-                       <!-- CQC command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- CSDELE, CSLIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- CUTCONTROL command -->\r
-                       <KEYWORD3>plslimit</KEYWORD3>\r
-                       <KEYWORD3>crplimit</KEYWORD3>\r
-                       <KEYWORD3>dsplimit</KEYWORD3>\r
-                       <KEYWORD3>npoint</KEYWORD3>\r
-                       <KEYWORD3>noiterpredict</KEYWORD3>\r
-\r
-                       <!-- DCUM command -->\r
-                       <KEYWORD3>repl</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>igno</KEYWORD3>\r
-\r
-                       <!-- DEL command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>_prm</KEYWORD3>\r
-\r
-                       <!-- DELTIM command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- DESIZE command -->\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- DESOL, DNSOL commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-\r
-                       <!-- DEVDISP command -->\r
-                       <KEYWORD3>dither</KEYWORD3>\r
-                       <KEYWORD3>font</KEYWORD3>\r
-                       <KEYWORD3>text</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- DEVICE command -->\r
-                       <KEYWORD3>vector</KEYWORD3>\r
-                       <KEYWORD3>dither</KEYWORD3>\r
-                       <KEYWORD3>anim</KEYWORD3>\r
-                       <KEYWORD3>font</KEYWORD3>\r
-                       <KEYWORD3>text</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- DIM command -->\r
-                       <KEYWORD3>array</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>table</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>velocity</KEYWORD3>\r
-                       <KEYWORD3>pressure</KEYWORD3>\r
-\r
-                       <!-- /DSCALE command -->\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-\r
-                       <!-- DSUM command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- DSYM command -->\r
-                       <KEYWORD3>symm</KEYWORD3>\r
-                       <KEYWORD3>asym</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- DUMP command -->\r
-                       <KEYWORD3>head</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /DV3D command -->\r
-                       <KEYWORD3>anim</KEYWORD3>\r
-                       <KEYWORD3>dgen</KEYWORD3>\r
-                       <KEYWORD3>dlist</KEYWORD3>\r
-\r
-                       <!-- EDBOUND command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>cycl</KEYWORD3>\r
-\r
-                       <!-- EDCDELE, EDCGEN commands -->\r
-                       <KEYWORD3>ants</KEYWORD3>\r
-                       <KEYWORD3>assc</KEYWORD3>\r
-                       <KEYWORD3>asts</KEYWORD3>\r
-                       <KEYWORD3>drawbead</KEYWORD3>\r
-                       <KEYWORD3>ents</KEYWORD3>\r
-                       <KEYWORD3>ess</KEYWORD3>\r
-                       <KEYWORD3>ests</KEYWORD3>\r
-                       <KEYWORD3>nts</KEYWORD3>\r
-                       <KEYWORD3>osts</KEYWORD3>\r
-                       <KEYWORD3>rntr</KEYWORD3>\r
-                       <KEYWORD3>rotr</KEYWORD3>\r
-                       <KEYWORD3>se</KEYWORD3>\r
-                       <KEYWORD3>ss</KEYWORD3>\r
-                       <KEYWORD3>sts</KEYWORD3>\r
-                       <KEYWORD3>tdns</KEYWORD3>\r
-                       <KEYWORD3>tdss</KEYWORD3>\r
-                       <KEYWORD3>tnts</KEYWORD3>\r
-                       <KEYWORD3>tsts</KEYWORD3>\r
-\r
-                       <!-- EDCRB, EDCURVE, EDLCS commands -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-\r
-                       <!-- EDCSC command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- EDDAMP command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- EDDRELAX command -->\r
-                       <KEYWORD3>ansys</KEYWORD3>\r
-                       <KEYWORD3>dyna</KEYWORD3>\r
-\r
-                       <!-- EDELE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- EDENERGY, EDFPLOT commands -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- EDHIST, EDIVELO commands -->\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- EDLDPLOT, EDLOAD command -->\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>ay</KEYWORD3>\r
-                       <KEYWORD3>az</KEYWORD3>\r
-                       <KEYWORD3>aclx</KEYWORD3>\r
-                       <KEYWORD3>acly</KEYWORD3>\r
-                       <KEYWORD3>aclz</KEYWORD3>\r
-                       <KEYWORD3>omgx</KEYWORD3>\r
-                       <KEYWORD3>omgy</KEYWORD3>\r
-                       <KEYWORD3>omgz</KEYWORD3>\r
-                       <KEYWORD3>press</KEYWORD3>\r
-                       <KEYWORD3>rbux</KEYWORD3>\r
-                       <KEYWORD3>rbuy</KEYWORD3>\r
-                       <KEYWORD3>rbuz</KEYWORD3>\r
-                       <KEYWORD3>rbrx</KEYWORD3>\r
-                       <KEYWORD3>rbry</KEYWORD3>\r
-                       <KEYWORD3>rbrz</KEYWORD3>\r
-                       <KEYWORD3>rbvx</KEYWORD3>\r
-                       <KEYWORD3>rbvy</KEYWORD3>\r
-                       <KEYWORD3>rbvz</KEYWORD3>\r
-                       <KEYWORD3>rbfx</KEYWORD3>\r
-                       <KEYWORD3>rbfy</KEYWORD3>\r
-                       <KEYWORD3>rbfz</KEYWORD3>\r
-                       <KEYWORD3>rbmx</KEYWORD3>\r
-                       <KEYWORD3>rbmy</KEYWORD3>\r
-                       <KEYWORD3>rbmz</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-\r
-                       <!-- EDMP command -->\r
-                       <KEYWORD3>hgls</KEYWORD3>\r
-                       <KEYWORD3>rigid</KEYWORD3>\r
-                       <KEYWORD3>cable</KEYWORD3>\r
-                       <KEYWORD3>ortho</KEYWORD3>\r
-\r
-                       <!-- EDNROT, EDOPT commands -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>ansys</KEYWORD3>\r
-                       <KEYWORD3>taurus</KEYWORD3>\r
-                       <KEYWORD3>both</KEYWORD3>\r
-\r
-                       <!-- EDOUT, EDREAD commands -->\r
-                       <KEYWORD3>glstat</KEYWORD3>\r
-                       <KEYWORD3>bndout</KEYWORD3>\r
-                       <KEYWORD3>rwforc</KEYWORD3>\r
-                       <KEYWORD3>deforc</KEYWORD3>\r
-                       <KEYWORD3>,matsum</KEYWORD3>\r
-                       <KEYWORD3>ncforc</KEYWORD3>\r
-                       <KEYWORD3>rcforc</KEYWORD3>\r
-                       <KEYWORD3>defgeo</KEYWORD3>\r
-                       <KEYWORD3>spcforc</KEYWORD3>\r
-                       <KEYWORD3>swforc</KEYWORD3>\r
-                       <KEYWORD3>rbdout</KEYWORD3>\r
-                       <KEYWORD3>gceout</KEYWORD3>\r
-                       <KEYWORD3>sleout</KEYWORD3>\r
-                       <KEYWORD3>jntforc</KEYWORD3>\r
-                       <KEYWORD3>nodout</KEYWORD3>\r
-                       <KEYWORD3>elout</KEYWORD3>\r
-\r
-                       <!-- EDWELD command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-\r
-                       <!-- EDWRITE command -->\r
-                       <KEYWORD3>ansys</KEYWORD3>\r
-                       <KEYWORD3>taurus</KEYWORD3>\r
-                       <KEYWORD3>both</KEYWORD3>\r
-                       <KEYWORD3>pcreate</KEYWORD3>\r
-                       <KEYWORD3>pupdate</KEYWORD3>\r
-                       <KEYWORD3>plist</KEYWORD3>\r
-\r
-                       <!-- EKILL, ELIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- *ELSEIF command -->\r
-                       <KEYWORD3>eq</KEYWORD3>\r
-                       <KEYWORD3>ne</KEYWORD3>\r
-                       <KEYWORD3>lt</KEYWORD3>\r
-                       <KEYWORD3>gt</KEYWORD3>\r
-                       <KEYWORD3>le</KEYWORD3>\r
-                       <KEYWORD3>ge</KEYWORD3>\r
-                       <KEYWORD3>ablt</KEYWORD3>\r
-                       <KEYWORD3>abgt</KEYWORD3>\r
-\r
-                       <!-- EMID command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>remove</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>either</KEYWORD3>\r
-                       <KEYWORD3>both</KEYWORD3>\r
-\r
-                       <!-- EMODIF command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>secnum</KEYWORD3>\r
-\r
-                       <!-- EMORE, EN commands -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- EMUNIT command -->\r
-                       <KEYWORD3>mks</KEYWORD3>\r
-                       <KEYWORD3>muzro</KEYWORD3>\r
-                       <KEYWORD3>epzro</KEYWORD3>\r
-\r
-                       <!-- ENGEN, ENORM, ENSYM commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- EQSLV command -->\r
-                       <KEYWORD3>front</KEYWORD3>\r
-                       <KEYWORD3>sparse</KEYWORD3>\r
-                       <KEYWORD3>jcg</KEYWORD3>\r
-                       <KEYWORD3>jcgout</KEYWORD3>\r
-                       <KEYWORD3>iccg</KEYWORD3>\r
-                       <KEYWORD3>pcg</KEYWORD3>\r
-                       <KEYWORD3>pcgout</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-\r
-                       <!-- EREFINE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>smooth</KEYWORD3>\r
-                       <KEYWORD3>clean</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- ERESX command -->\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-\r
-                       <!-- ERNORM command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- ESEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>adj</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>ename</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>live</KEYWORD3>\r
-                       <KEYWORD3>layer</KEYWORD3>\r
-                       <KEYWORD3>sec</KEYWORD3>\r
-                       <KEYWORD3>pinc</KEYWORD3>\r
-                       <KEYWORD3>pexc</KEYWORD3>\r
-                       <KEYWORD3>sfe</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>flue</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>mvdi</KEYWORD3>\r
-                       <KEYWORD3>chrgd</KEYWORD3>\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-\r
-                       <!-- ESLA, ESLL, ESLN, ESLV commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>inactive</KEYWORD3>\r
-                       <KEYWORD3>corner</KEYWORD3>\r
-                       <KEYWORD3>mid</KEYWORD3>\r
-\r
-                       <!-- ESOL command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>pene</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>sfric</KEYWORD3>\r
-                       <KEYWORD3>stot</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>sene</KEYWORD3>\r
-                       <KEYWORD3>kene</KEYWORD3>\r
-                       <KEYWORD3>jheat</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-                       <KEYWORD3>mre</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-\r
-                       <!-- ESORT command -->\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-\r
-                       <!-- ESURF command -->\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>bottom</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-\r
-                       <!-- ESYM command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- ETABLE command -->\r
-                       <KEYWORD3>refl</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>eras</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>lmd1</KEYWORD3>\r
-                       <KEYWORD3>lmd2</KEYWORD3>\r
-                       <KEYWORD3>lmd3</KEYWORD3>\r
-                       <KEYWORD3>lmd4</KEYWORD3>\r
-                       <KEYWORD3>lmd5</KEYWORD3>\r
-                       <KEYWORD3>lmd6</KEYWORD3>\r
-                       <KEYWORD3>emd1</KEYWORD3>\r
-                       <KEYWORD3>emd2</KEYWORD3>\r
-                       <KEYWORD3>emd3</KEYWORD3>\r
-                       <KEYWORD3>emd4</KEYWORD3>\r
-                       <KEYWORD3>emd5</KEYWORD3>\r
-                       <KEYWORD3>emd6</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>serr</KEYWORD3>\r
-                       <KEYWORD3>sdsg</KEYWORD3>\r
-                       <KEYWORD3>terr</KEYWORD3>\r
-                       <KEYWORD3>tdsg</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>sene</KEYWORD3>\r
-                       <KEYWORD3>aene</KEYWORD3>\r
-                       <KEYWORD3>tene</KEYWORD3>\r
-                       <KEYWORD3>kene</KEYWORD3>\r
-                       <KEYWORD3>jheat</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-                       <KEYWORD3>mre</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>smisc</KEYWORD3>\r
-                       <KEYWORD3>nmisc</KEYWORD3>\r
-                       <KEYWORD3>surf</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>pene</KEYWORD3>\r
-                       <KEYWORD3>sfric</KEYWORD3>\r
-                       <KEYWORD3>stot</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>gap</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-\r
-                       <!-- ETCHG command -->\r
-                       <KEYWORD3>eti</KEYWORD3>\r
-                       <KEYWORD3>ite</KEYWORD3>\r
-                       <KEYWORD3>tts</KEYWORD3>\r
-                       <KEYWORD3>stt</KEYWORD3>\r
-                       <KEYWORD3>mtt</KEYWORD3>\r
-                       <KEYWORD3>fts</KEYWORD3>\r
-                       <KEYWORD3>ets</KEYWORD3>\r
-\r
-                       <!-- ETDELE, ETLIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- EWRITE command -->\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD3>long1</KEYWORD3>\r
-\r
-                       <!-- /EXIT command -->\r
-                       <KEYWORD3>model</KEYWORD3>\r
-                       <KEYWORD3>solu</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>nosave</KEYWORD3>\r
-\r
-                       <!-- /EXPAND command -->\r
-                       <KEYWORD3>rect</KEYWORD3>\r
-                       <KEYWORD3>polar</KEYWORD3>\r
-                       <KEYWORD3>modal</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>half</KEYWORD3>\r
-\r
-                       <!-- EXPASS command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- EXPSOL command -->\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-\r
-                       <!-- EXTOPT command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>attr</KEYWORD3>\r
-                       <KEYWORD3>esize</KEYWORD3>\r
-                       <KEYWORD3>aclear</KEYWORD3>\r
-\r
-                       <!-- F, FDELE, FK, FKDELE commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>chrg</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csgx</KEYWORD3>\r
-                       <KEYWORD3>csgy</KEYWORD3>\r
-                       <KEYWORD3>csgz</KEYWORD3>\r
-\r
-                       <!-- /FACET command -->\r
-                       <KEYWORD3>fine</KEYWORD3>\r
-                       <KEYWORD3>norml</KEYWORD3>\r
-                       <KEYWORD3>wire</KEYWORD3>\r
-\r
-                       <!-- FCUM command -->\r
-                       <KEYWORD3>repl</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>igno</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- /FDELE command -->\r
-                       <KEYWORD3>emat</KEYWORD3>\r
-                       <KEYWORD3>esav</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>sub</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>dsub</KEYWORD3>\r
-                       <KEYWORD3>usub</KEYWORD3>\r
-                       <KEYWORD3>osav</KEYWORD3>\r
-                       <KEYWORD3>seld</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- FELIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- FILL command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- FLDATA1 command -->\r
-                       <KEYWORD3>solu</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>turb</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>swrl</KEYWORD3>\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-                       <KEYWORD3>spec</KEYWORD3>\r
-                       <KEYWORD3>true</KEYWORD3>\r
-                       <KEYWORD3>t</KEYWORD3>\r
-                       <KEYWORD3>false</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-\r
-                       <!-- FLDATA2 command -->\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-                       <KEYWORD3>exec</KEYWORD3>\r
-                       <KEYWORD3>appe</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-\r
-                       <!-- FLDATA3 command -->\r
-                       <KEYWORD3>term</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA4 command -->\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>step</KEYWORD3>\r
-                       <KEYWORD3>istep</KEYWORD3>\r
-                       <KEYWORD3>bc</KEYWORD3>\r
-                       <KEYWORD3>numb</KEYWORD3>\r
-                       <KEYWORD3>glob</KEYWORD3>\r
-                       <KEYWORD3>tend</KEYWORD3>\r
-                       <KEYWORD3>appe</KEYWORD3>\r
-                       <KEYWORD3>sumf</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA4A command -->\r
-                       <KEYWORD3>step</KEYWORD3>\r
-                       <KEYWORD3>appe</KEYWORD3>\r
-                       <KEYWORD3>sumf</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-\r
-                       <!-- FLDATA5 command -->\r
-                       <KEYWORD3>outp</KEYWORD3>\r
-                       <KEYWORD3>sumf</KEYWORD3>\r
-                       <KEYWORD3>debg</KEYWORD3>\r
-                       <KEYWORD3>resi</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>lmd</KEYWORD3>\r
-                       <KEYWORD3>emd</KEYWORD3>\r
-\r
-                       <!-- FLDATA6 command -->\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>outp</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-                       <KEYWORD3>land</KEYWORD3>\r
-                       <KEYWORD3>bloc</KEYWORD3>\r
-                       <KEYWORD3>bnow</KEYWORD3>\r
-\r
-                       <!-- FLDATA7 command -->\r
-                       <KEYWORD3>prot</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>constant</KEYWORD3>\r
-                       <KEYWORD3>liquid</KEYWORD3>\r
-                       <KEYWORD3>table</KEYWORD3>\r
-                       <KEYWORD3>powl</KEYWORD3>\r
-                       <KEYWORD3>carr</KEYWORD3>\r
-                       <KEYWORD3>bing</KEYWORD3>\r
-                       <KEYWORD3>usrv</KEYWORD3>\r
-                       <KEYWORD3>air</KEYWORD3>\r
-                       <KEYWORD3>air_b</KEYWORD3>\r
-                       <KEYWORD3>air-si</KEYWORD3>\r
-                       <KEYWORD3>air-si_b</KEYWORD3>\r
-                       <KEYWORD3>air-cm</KEYWORD3>\r
-                       <KEYWORD3>air-cm_b</KEYWORD3>\r
-                       <KEYWORD3>air-mm</KEYWORD3>\r
-                       <KEYWORD3>air-mm_b</KEYWORD3>\r
-                       <KEYWORD3>air-ft</KEYWORD3>\r
-                       <KEYWORD3>air-ft_b</KEYWORD3>\r
-                       <KEYWORD3>air-in</KEYWORD3>\r
-                       <KEYWORD3>air-in_b</KEYWORD3>\r
-                       <KEYWORD3>cmix</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-\r
-                       <!-- FLDATA8 command -->\r
-                       <KEYWORD3>nomi</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- FLDATA9 command -->\r
-                       <KEYWORD3>cof1</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- FLDATA10 command -->\r
-                       <KEYWORD3>cof2</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- FLDATA11 command -->\r
-                       <KEYWORD3>cof3</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- FLDATA12 command -->\r
-                       <KEYWORD3>prop</KEYWORD3>\r
-                       <KEYWORD3>ivis</KEYWORD3>\r
-                       <KEYWORD3>ufrq</KEYWORD3>\r
-\r
-                       <!-- FLDATA13 command -->\r
-                       <KEYWORD3>vary</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>t</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-\r
-                       <!-- FLDATA14 command -->\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>nomi</KEYWORD3>\r
-                       <KEYWORD3>bulk</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-\r
-                       <!-- FLDATA15 command -->\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>refe</KEYWORD3>\r
-\r
-                       <!-- FLDATA16 command -->\r
-                       <KEYWORD3>bulk</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-\r
-                       <!-- FLDATA17 command -->\r
-                       <KEYWORD3>gamm</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-\r
-                       <!-- FLDATA18 command -->\r
-                       <KEYWORD3>meth</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA19 command -->\r
-                       <KEYWORD3>tdma</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA20 command -->\r
-                       <KEYWORD3>srch</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA20A command -->\r
-                       <KEYWORD3>pgmr</KEYWORD3>\r
-                       <KEYWORD3>fill</KEYWORD3>\r
-                       <KEYWORD3>modp</KEYWORD3>\r
-\r
-                       <!-- FLDATA21 command -->\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA22 command -->\r
-                       <KEYWORD3>maxi</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA23 command -->\r
-                       <KEYWORD3>delt</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <!-- FLDATA24 command -->\r
-                       <KEYWORD3>turb</KEYWORD3>\r
-                       <KEYWORD3>modl</KEYWORD3>\r
-                       <KEYWORD3>rati</KEYWORD3>\r
-                       <KEYWORD3>inin</KEYWORD3>\r
-                       <KEYWORD3>insf</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>cmu</KEYWORD3>\r
-                       <KEYWORD3>c1</KEYWORD3>\r
-                       <KEYWORD3>c2</KEYWORD3>\r
-                       <KEYWORD3>buc3</KEYWORD3>\r
-                       <KEYWORD3>buc4</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-                       <KEYWORD3>kapp</KEYWORD3>\r
-                       <KEYWORD3>ewll</KEYWORD3>\r
-                       <KEYWORD3>wall</KEYWORD3>\r
-                       <KEYWORD3>vand</KEYWORD3>\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-                       <KEYWORD3>zels</KEYWORD3>\r
-\r
-                       <!-- FLDATA24A command -->\r
-                       <KEYWORD3>rngt</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>cmu</KEYWORD3>\r
-                       <KEYWORD3>c1</KEYWORD3>\r
-                       <KEYWORD3>c2</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-                       <KEYWORD3>etai</KEYWORD3>\r
-\r
-                       <!-- FLDATA24B command -->\r
-                       <KEYWORD3>nket</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>c2</KEYWORD3>\r
-                       <KEYWORD3>c1mx</KEYWORD3>\r
-\r
-                       <!-- FLDATA24C command -->\r
-                       <KEYWORD3>girt</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>g0</KEYWORD3>\r
-                       <KEYWORD3>g1</KEYWORD3>\r
-                       <KEYWORD3>g2</KEYWORD3>\r
-                       <KEYWORD3>g3</KEYWORD3>\r
-                       <KEYWORD3>g4</KEYWORD3>\r
-\r
-                       <!-- FLDATA24D command -->\r
-                       <KEYWORD3>szlt</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>szl1</KEYWORD3>\r
-                       <KEYWORD3>szl2</KEYWORD3>\r
-                       <KEYWORD3>szl3</KEYWORD3>\r
-\r
-                       <!-- FLDATA25 command -->\r
-                       <KEYWORD3>relx</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- FLDATA26 command -->\r
-                       <KEYWORD3>stab</KEYWORD3>\r
-                       <KEYWORD3>turb</KEYWORD3>\r
-                       <KEYWORD3>mome</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-\r
-                       <!-- FLDATA27 command -->\r
-                       <KEYWORD3>prin</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-\r
-                       <!-- FLDATA28 command -->\r
-                       <KEYWORD3>modr</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>t</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-\r
-                       <!-- FLDATA29 command -->\r
-                       <KEYWORD3>modv</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>lmd</KEYWORD3>\r
-                       <KEYWORD3>emd</KEYWORD3>\r
-\r
-                       <!-- FLDATA30 command -->\r
-                       <KEYWORD3>quad</KEYWORD3>\r
-                       <KEYWORD3>momd</KEYWORD3>\r
-                       <KEYWORD3>moms</KEYWORD3>\r
-                       <KEYWORD3>prsd</KEYWORD3>\r
-                       <KEYWORD3>prss</KEYWORD3>\r
-                       <KEYWORD3>thrd</KEYWORD3>\r
-                       <KEYWORD3>thrs</KEYWORD3>\r
-                       <KEYWORD3>trbd</KEYWORD3>\r
-                       <KEYWORD3>trbs</KEYWORD3>\r
-\r
-                       <!-- FLDATA31 command -->\r
-                       <KEYWORD3>capp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>umin</KEYWORD3>\r
-                       <KEYWORD3>umax</KEYWORD3>\r
-                       <KEYWORD3>vmin</KEYWORD3>\r
-                       <KEYWORD3>vmax</KEYWORD3>\r
-                       <KEYWORD3>wmin</KEYWORD3>\r
-                       <KEYWORD3>wmax</KEYWORD3>\r
-                       <KEYWORD3>tmin</KEYWORD3>\r
-                       <KEYWORD3>tmax</KEYWORD3>\r
-                       <KEYWORD3>pmin</KEYWORD3>\r
-                       <KEYWORD3>pmax</KEYWORD3>\r
-\r
-                       <!-- FLDATA32 command -->\r
-                       <KEYWORD3>rest</KEYWORD3>\r
-                       <KEYWORD3>nset</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-                       <KEYWORD3>lstp</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>rfil</KEYWORD3>\r
-                       <KEYWORD3>wfil</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-\r
-                       <!-- FLDATA33 command -->\r
-                       <KEYWORD3>advm</KEYWORD3>\r
-                       <KEYWORD3>mome</KEYWORD3>\r
-                       <KEYWORD3>turb</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>msu</KEYWORD3>\r
-                       <KEYWORD3>supg</KEYWORD3>\r
-\r
-                       <!-- FLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- FLLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- FLST command -->\r
-                       <KEYWORD3>noor</KEYWORD3>\r
-                       <KEYWORD3>order</KEYWORD3>\r
-\r
-                       <!-- /FOCUS command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-\r
-                       <!-- FORCE command -->\r
-                       <KEYWORD3>total</KEYWORD3>\r
-                       <KEYWORD3>static</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-                       <KEYWORD3>inert</KEYWORD3>\r
-\r
-                       <!-- FORM command -->\r
-                       <KEYWORD3>reco</KEYWORD3>\r
-                       <KEYWORD3>ten</KEYWORD3>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-\r
-                       <!-- /FORMAT command -->\r
-                       <KEYWORD3>g</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>e</KEYWORD3>\r
-\r
-                       <!-- FP command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- FSLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- FSUM command -->\r
-                       <KEYWORD3>rsys</KEYWORD3>\r
-\r
-                       <!-- /FTYPE command -->\r
-                       <KEYWORD3>emat</KEYWORD3>\r
-                       <KEYWORD3>esav</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>redm</KEYWORD3>\r
-                       <KEYWORD3>sub</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>dsub</KEYWORD3>\r
-                       <KEYWORD3>usub</KEYWORD3>\r
-                       <KEYWORD3>erot</KEYWORD3>\r
-                       <KEYWORD3>osav</KEYWORD3>\r
-                       <KEYWORD3>seld</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>ext</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-\r
-                       <!-- GAPLIST command -->\r
-                       <KEYWORD3>open</KEYWORD3>\r
-                       <KEYWORD3>closed</KEYWORD3>\r
-\r
-                       <!-- GAPMERGE command -->\r
-                       <KEYWORD3>toler</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-\r
-                       <!-- GAPOPT command -->\r
-                       <KEYWORD3>toler</KEYWORD3>\r
-                       <KEYWORD3>oesele</KEYWORD3>\r
-                       <KEYWORD3>merge</KEYWORD3>\r
-                       <KEYWORD3>remain</KEYWORD3>\r
-\r
-                       <!-- GAPPLOT command -->\r
-                       <KEYWORD3>open</KEYWORD3>\r
-                       <KEYWORD3>closed</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- GAUGE command -->\r
-                       <KEYWORD3>tree</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- GCGEN command -->\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>bot</KEYWORD3>\r
-\r
-                       <!-- /GCMD command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- *GET command -->\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>imme</KEYWORD3>\r
-                       <KEYWORD3>menu</KEYWORD3>\r
-                       <KEYWORD3>prkey</KEYWORD3>\r
-                       <KEYWORD3>units</KEYWORD3>\r
-                       <KEYWORD3>rout</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>wall</KEYWORD3>\r
-                       <KEYWORD3>cpu</KEYWORD3>\r
-                       <KEYWORD3>dbase</KEYWORD3>\r
-                       <KEYWORD3>ldate</KEYWORD3>\r
-                       <KEYWORD3>dbase</KEYWORD3>\r
-                       <KEYWORD3>ltime</KEYWORD3>\r
-                       <KEYWORD3>rev</KEYWORD3>\r
-                       <KEYWORD3>title</KEYWORD3>\r
-                       <KEYWORD3>jobnam</KEYWORD3>\r
-\r
-                       <KEYWORD3>parm</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>basic</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>dim</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <KEYWORD3>cmd</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>nargs</KEYWORD3>\r
-                       <KEYWORD3>field</KEYWORD3>\r
-\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>ncomp</KEYWORD3>\r
-                       <KEYWORD3>name</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>nscomp</KEYWORD3>\r
-                       <KEYWORD3>sname</KEYWORD3>\r
-\r
-                       <KEYWORD3>graph</KEYWORD3>\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>angle</KEYWORD3>\r
-                       <KEYWORD3>contour</KEYWORD3>\r
-                       <KEYWORD3>dist</KEYWORD3>\r
-                       <KEYWORD3>dscale</KEYWORD3>\r
-                       <KEYWORD3>dmult</KEYWORD3>\r
-                       <KEYWORD3>edge</KEYWORD3>\r
-                       <KEYWORD3>focus</KEYWORD3>\r
-                       <KEYWORD3>gline</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>normal</KEYWORD3>\r
-                       <KEYWORD3>range</KEYWORD3>\r
-                       <KEYWORD3>xmin</KEYWORD3>\r
-                       <KEYWORD3>ymin</KEYWORD3>\r
-                       <KEYWORD3>xmax</KEYWORD3>\r
-                       <KEYWORD3>ymax</KEYWORD3>\r
-                       <KEYWORD3>ratio</KEYWORD3>\r
-                       <KEYWORD3>sscale</KEYWORD3>\r
-                       <KEYWORD3>smult</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>vcone</KEYWORD3>\r
-                       <KEYWORD3>view</KEYWORD3>\r
-                       <KEYWORD3>vscale</KEYWORD3>\r
-                       <KEYWORD3>vratio</KEYWORD3>\r
-                       <KEYWORD3>display</KEYWORD3>\r
-                       <KEYWORD3>erase</KEYWORD3>\r
-                       <KEYWORD3>ndist</KEYWORD3>\r
-                       <KEYWORD3>number</KEYWORD3>\r
-                       <KEYWORD3>plopts</KEYWORD3>\r
-                       <KEYWORD3>seg</KEYWORD3>\r
-                       <KEYWORD3>shrink</KEYWORD3>\r
-\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>,csys</KEYWORD3>\r
-                       <KEYWORD3>,dsys</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>,cp</KEYWORD3>\r
-                       <KEYWORD3>,ce</KEYWORD3>\r
-                       <KEYWORD3>wfront</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>rms</KEYWORD3>\r
-\r
-                       <KEYWORD3>cdsy</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>ang</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>attr</KEYWORD3>\r
-\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>,nsel</KEYWORD3>\r
-                       <KEYWORD3>nxth</KEYWORD3>\r
-                       <KEYWORD3>nxtl</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>csgx</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>num</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>count</KEYWORD3>\r
-                       <KEYWORD3>mxloc</KEYWORD3>\r
-                       <KEYWORD3>mnloc</KEYWORD3>\r
-\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>adj</KEYWORD3>\r
-                       <KEYWORD3>attr</KEYWORD3>\r
-                       <KEYWORD3>leng</KEYWORD3>\r
-                       <KEYWORD3>lproj</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>aproj</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>,esel</KEYWORD3>\r
-                       <KEYWORD3>nxth</KEYWORD3>\r
-                       <KEYWORD3>nxtl</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>hcoe</KEYWORD3>\r
-                       <KEYWORD3>tbulk</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>shpar</KEYWORD3>\r
-                       <KEYWORD3>angd</KEYWORD3>\r
-                       <KEYWORD3>aspe</KEYWORD3>\r
-                       <KEYWORD3>jacr</KEYWORD3>\r
-                       <KEYWORD3>maxa</KEYWORD3>\r
-                       <KEYWORD3>para</KEYWORD3>\r
-                       <KEYWORD3>warp</KEYWORD3>\r
-                       <KEYWORD3>num</KEYWORD3>\r
-                       <KEYWORD3>,ksel</KEYWORD3>\r
-                       <KEYWORD3>nxth</KEYWORD3>\r
-                       <KEYWORD3>nxtl</KEYWORD3>\r
-                       <KEYWORD3>div</KEYWORD3>\r
-\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>ior</KEYWORD3>\r
-                       <KEYWORD3>imc</KEYWORD3>\r
-                       <KEYWORD3>irp</KEYWORD3>\r
-                       <KEYWORD3>ixv</KEYWORD3>\r
-                       <KEYWORD3>iyv</KEYWORD3>\r
-                       <KEYWORD3>izv</KEYWORD3>\r
-                       <KEYWORD3>nrelm</KEYWORD3>\r
-\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>,lsel</KEYWORD3>\r
-\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>,asel</KEYWORD3>\r
-                       <KEYWORD3>loop</KEYWORD3>\r
-\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>,vsel</KEYWORD3>\r
-                       <KEYWORD3>shell</KEYWORD3>\r
-\r
-                       <KEYWORD3>etyp</KEYWORD3>\r
-\r
-                       <KEYWORD3>rcon</KEYWORD3>\r
-\r
-                       <KEYWORD3>ex</KEYWORD3>\r
-                       <KEYWORD3>alpx</KEYWORD3>\r
-                       <KEYWORD3>reft</KEYWORD3>\r
-                       <KEYWORD3>prxy</KEYWORD3>\r
-                       <KEYWORD3>nuxy</KEYWORD3>\r
-                       <KEYWORD3>gxy</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-                       <KEYWORD3>mu</KEYWORD3>\r
-                       <KEYWORD3>dnes</KEYWORD3>\r
-                       <KEYWORD3>c</KEYWORD3>\r
-                       <KEYWORD3>enth</KEYWORD3>\r
-                       <KEYWORD3>kxx</KEYWORD3>\r
-                       <KEYWORD3>hf</KEYWORD3>\r
-                       <KEYWORD3>emis</KEYWORD3>\r
-                       <KEYWORD3>qrate</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>sonc</KEYWORD3>\r
-                       <KEYWORD3>rsvx</KEYWORD3>\r
-                       <KEYWORD3>perx</KEYWORD3>\r
-                       <KEYWORD3>murx</KEYWORD3>\r
-                       <KEYWORD3>mgxx</KEYWORD3>\r
-                       <KEYWORD3>lsst</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-\r
-                       <KEYWORD3>fldata</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>turb</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>swrl</KEYWORD3>\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-                       <KEYWORD3>spec</KEYWORD3>\r
-                       <KEYWORD3>exec</KEYWORD3>\r
-                       <KEYWORD3>appe</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>step</KEYWORD3>\r
-                       <KEYWORD3>istep</KEYWORD3>\r
-                       <KEYWORD3>bc</KEYWORD3>\r
-                       <KEYWORD3>numb</KEYWORD3>\r
-                       <KEYWORD3>glob</KEYWORD3>\r
-                       <KEYWORD3>tend</KEYWORD3>\r
-                       <KEYWORD3>appe</KEYWORD3>\r
-                       <KEYWORD3>sumf</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-                       <KEYWORD3>sumf</KEYWORD3>\r
-                       <KEYWORD3>debg</KEYWORD3>\r
-                       <KEYWORD3>resi</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>lmd</KEYWORD3>\r
-                       <KEYWORD3>emd</KEYWORD3>\r
-                       <KEYWORD3>outp</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>ivis</KEYWORD3>\r
-                       <KEYWORD3>ufrq</KEYWORD3>\r
-                       <KEYWORD3>nomi</KEYWORD3>\r
-                       <KEYWORD3>bulk</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>refe</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>fill</KEYWORD3>\r
-                       <KEYWORD3>modp</KEYWORD3>\r
-                       <KEYWORD3>modl</KEYWORD3>\r
-                       <KEYWORD3>rati</KEYWORD3>\r
-                       <KEYWORD3>inin</KEYWORD3>\r
-                       <KEYWORD3>insf</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>cmu</KEYWORD3>\r
-                       <KEYWORD3>c1</KEYWORD3>\r
-                       <KEYWORD3>c2</KEYWORD3>\r
-                       <KEYWORD3>buc3</KEYWORD3>\r
-                       <KEYWORD3>buc4</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-                       <KEYWORD3>kapp</KEYWORD3>\r
-                       <KEYWORD3>ewll</KEYWORD3>\r
-                       <KEYWORD3>wall</KEYWORD3>\r
-                       <KEYWORD3>vand</KEYWORD3>\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-                       <KEYWORD3>zels</KEYWORD3>\r
-                       <KEYWORD3>sctk</KEYWORD3>\r
-                       <KEYWORD3>sctd</KEYWORD3>\r
-                       <KEYWORD3>cmu</KEYWORD3>\r
-                       <KEYWORD3>c1</KEYWORD3>\r
-                       <KEYWORD3>c2</KEYWORD3>\r
-                       <KEYWORD3>etai</KEYWORD3>\r
-                       <KEYWORD3>c1mx</KEYWORD3>\r
-                       <KEYWORD3>g0</KEYWORD3>\r
-                       <KEYWORD3>g1</KEYWORD3>\r
-                       <KEYWORD3>g2</KEYWORD3>\r
-                       <KEYWORD3>g3</KEYWORD3>\r
-                       <KEYWORD3>g4</KEYWORD3>\r
-                       <KEYWORD3>szl1</KEYWORD3>\r
-                       <KEYWORD3>szl2</KEYWORD3>\r
-                       <KEYWORD3>szl3</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>mome</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>momd</KEYWORD3>\r
-                       <KEYWORD3>moms</KEYWORD3>\r
-                       <KEYWORD3>prsd</KEYWORD3>\r
-                       <KEYWORD3>prss</KEYWORD3>\r
-                       <KEYWORD3>thrd</KEYWORD3>\r
-                       <KEYWORD3>thrs</KEYWORD3>\r
-                       <KEYWORD3>trbd</KEYWORD3>\r
-                       <KEYWORD3>trbs</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>umin</KEYWORD3>\r
-                       <KEYWORD3>umax</KEYWORD3>\r
-                       <KEYWORD3>vmin</KEYWORD3>\r
-                       <KEYWORD3>vmax</KEYWORD3>\r
-                       <KEYWORD3>wmin</KEYWORD3>\r
-                       <KEYWORD3>wmax</KEYWORD3>\r
-                       <KEYWORD3>tmin</KEYWORD3>\r
-                       <KEYWORD3>tmax</KEYWORD3>\r
-                       <KEYWORD3>pmin</KEYWORD3>\r
-                       <KEYWORD3>pmax</KEYWORD3>\r
-                       <KEYWORD3>nset</KEYWORD3>\r
-                       <KEYWORD3>iter</KEYWORD3>\r
-                       <KEYWORD3>lstp</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>rfil</KEYWORD3>\r
-                       <KEYWORD3>wfil</KEYWORD3>\r
-                       <KEYWORD3>over</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-\r
-                       <KEYWORD3>msdata</KEYWORD3>\r
-                       <KEYWORD3>spec</KEYWORD3>\r
-                       <KEYWORD3>ugas</KEYWORD3>\r
-\r
-                       <KEYWORD3>msprop</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>mdif</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>nomi</KEYWORD3>\r
-                       <KEYWORD3>cof1</KEYWORD3>\r
-                       <KEYWORD3>cof2</KEYWORD3>\r
-                       <KEYWORD3>cof3</KEYWORD3>\r
-\r
-                       <KEYWORD3>msspec</KEYWORD3>\r
-                       <KEYWORD3>name</KEYWORD3>\r
-                       <KEYWORD3>molw</KEYWORD3>\r
-                       <KEYWORD3>schm</KEYWORD3>\r
-\r
-                       <KEYWORD3>msrelax</KEYWORD3>\r
-                       <KEYWORD3>conc</KEYWORD3>\r
-                       <KEYWORD3>emdi</KEYWORD3>\r
-                       <KEYWORD3>stab</KEYWORD3>\r
-\r
-                       <KEYWORD3>mssolu</KEYWORD3>\r
-                       <KEYWORD3>nswe</KEYWORD3>\r
-                       <KEYWORD3>maxi</KEYWORD3>\r
-                       <KEYWORD3>nsrc</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>delt</KEYWORD3>\r
-\r
-                       <KEYWORD3>msmeth</KEYWORD3>\r
-\r
-                       <KEYWORD3>mscap</KEYWORD3>\r
-                       <KEYWORD3>key</KEYWORD3>\r
-                       <KEYWORD3>upp</KEYWORD3>\r
-                       <KEYWORD3>low</KEYWORD3>\r
-\r
-                       <KEYWORD3>msvary</KEYWORD3>\r
-\r
-                       <KEYWORD3>msnomf</KEYWORD3>\r
-\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>anty</KEYWORD3>\r
-                       <KEYWORD3>solu</KEYWORD3>\r
-                       <KEYWORD3>dtime</KEYWORD3>\r
-                       <KEYWORD3>ncmls</KEYWORD3>\r
-                       <KEYWORD3>ncmss</KEYWORD3>\r
-                       <KEYWORD3>eqit</KEYWORD3>\r
-                       <KEYWORD3>ncmit</KEYWORD3>\r
-                       <KEYWORD3>cnvg</KEYWORD3>\r
-                       <KEYWORD3>mxdvl</KEYWORD3>\r
-                       <KEYWORD3>resfrq</KEYWORD3>\r
-                       <KEYWORD3>reseig</KEYWORD3>\r
-                       <KEYWORD3>dsprm</KEYWORD3>\r
-                       <KEYWORD3>focv</KEYWORD3>\r
-                       <KEYWORD3>mocv</KEYWORD3>\r
-                       <KEYWORD3>hfcv</KEYWORD3>\r
-                       <KEYWORD3>mfcv</KEYWORD3>\r
-                       <KEYWORD3>cscv</KEYWORD3>\r
-                       <KEYWORD3>cucv</KEYWORD3>\r
-                       <KEYWORD3>ffcv</KEYWORD3>\r
-                       <KEYWORD3>dicv</KEYWORD3>\r
-                       <KEYWORD3>rocv</KEYWORD3>\r
-                       <KEYWORD3>tecv</KEYWORD3>\r
-                       <KEYWORD3>vmcv</KEYWORD3>\r
-                       <KEYWORD3>smcv</KEYWORD3>\r
-                       <KEYWORD3>vocv</KEYWORD3>\r
-                       <KEYWORD3>prcv</KEYWORD3>\r
-                       <KEYWORD3>vecv</KEYWORD3>\r
-                       <KEYWORD3>nc48</KEYWORD3>\r
-                       <KEYWORD3>nc49</KEYWORD3>\r
-                       <KEYWORD3>crprat</KEYWORD3>\r
-                       <KEYWORD3>psinc</KEYWORD3>\r
-\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>mtot</KEYWORD3>\r
-                       <KEYWORD3>mc</KEYWORD3>\r
-                       <KEYWORD3>ior</KEYWORD3>\r
-                       <KEYWORD3>imc</KEYWORD3>\r
-                       <KEYWORD3>fmc</KEYWORD3>\r
-                       <KEYWORD3>mmor</KEYWORD3>\r
-                       <KEYWORD3>mmmc</KEYWORD3>\r
-\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>freq</KEYWORD3>\r
-                       <KEYWORD3>pfact</KEYWORD3>\r
-                       <KEYWORD3>mcoef</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>,set</KEYWORD3>\r
-                       <KEYWORD3>lstp</KEYWORD3>\r
-                       <KEYWORD3>sbst</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>rsys</KEYWORD3>\r
-\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>ntemp</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>rf</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>hs</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>conc</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>serr</KEYWORD3>\r
-                       <KEYWORD3>sdsg</KEYWORD3>\r
-                       <KEYWORD3>terr</KEYWORD3>\r
-                       <KEYWORD3>tdsg</KEYWORD3>\r
-                       <KEYWORD3>sene</KEYWORD3>\r
-                       <KEYWORD3>tene</KEYWORD3>\r
-                       <KEYWORD3>kene</KEYWORD3>\r
-                       <KEYWORD3>jheat</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-                       <KEYWORD3>smisc</KEYWORD3>\r
-                       <KEYWORD3>nmisc</KEYWORD3>\r
-\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-                       <KEYWORD3>ncol</KEYWORD3>\r
-                       <KEYWORD3>nleng</KEYWORD3>\r
-\r
-                       <KEYWORD3>sort</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>imax</KEYWORD3>\r
-                       <KEYWORD3>imin</KEYWORD3>\r
-\r
-                       <KEYWORD3>ssum</KEYWORD3>\r
-                       <KEYWORD3>item</KEYWORD3>\r
-\r
-                       <KEYWORD3>fsum</KEYWORD3>\r
-\r
-                       <KEYWORD3>path</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>nval</KEYWORD3>\r
-\r
-                       <KEYWORD3>kcalc</KEYWORD3>\r
-                       <KEYWORD3>k</KEYWORD3>\r
-\r
-                       <KEYWORD3>intsrf</KEYWORD3>\r
-\r
-                       <KEYWORD3>plnsol</KEYWORD3>\r
-                       <KEYWORD3>bmax</KEYWORD3>\r
-                       <KEYWORD3>bmin</KEYWORD3>\r
-\r
-                       <KEYWORD3>prerr</KEYWORD3>\r
-                       <KEYWORD3>sepc</KEYWORD3>\r
-                       <KEYWORD3>tepc</KEYWORD3>\r
-                       <KEYWORD3>sersm</KEYWORD3>\r
-                       <KEYWORD3>tersm</KEYWORD3>\r
-                       <KEYWORD3>sensm</KEYWORD3>\r
-                       <KEYWORD3>tensm</KEYWORD3>\r
-\r
-                       <KEYWORD3>section</KEYWORD3>\r
-                       <KEYWORD3>inside</KEYWORD3>\r
-                       <KEYWORD3>sx</KEYWORD3>\r
-                       <KEYWORD3>sy</KEYWORD3>\r
-                       <KEYWORD3>sz</KEYWORD3>\r
-                       <KEYWORD3>sxxy</KEYWORD3>\r
-                       <KEYWORD3>syz</KEYWORD3>\r
-                       <KEYWORD3>szx</KEYWORD3>\r
-                       <KEYWORD3>center</KEYWORD3>\r
-                       <KEYWORD3>outside</KEYWORD3>\r
-\r
-                       <KEYWORD3>vari</KEYWORD3>\r
-                       <KEYWORD3>extrem</KEYWORD3>\r
-                       <KEYWORD3>vmax</KEYWORD3>\r
-                       <KEYWORD3>tmax</KEYWORD3>\r
-                       <KEYWORD3>vmin</KEYWORD3>\r
-                       <KEYWORD3>tmin</KEYWORD3>\r
-                       <KEYWORD3>vlast</KEYWORD3>\r
-                       <KEYWORD3>tlast</KEYWORD3>\r
-                       <KEYWORD3>cvar</KEYWORD3>\r
-                       <KEYWORD3>rtime</KEYWORD3>\r
-                       <KEYWORD3>itime</KEYWORD3>\r
-                       <KEYWORD3>t</KEYWORD3>\r
-                       <KEYWORD3>rset</KEYWORD3>\r
-                       <KEYWORD3>iset</KEYWORD3>\r
-                       <KEYWORD3>nsets</KEYWORD3>\r
-\r
-                       <KEYWORD3>opt</KEYWORD3>\r
-                       <KEYWORD3>total</KEYWORD3>\r
-                       <KEYWORD3>feas</KEYWORD3>\r
-                       <KEYWORD3>term</KEYWORD3>\r
-                       <KEYWORD3>best</KEYWORD3>\r
-\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-                       <KEYWORD3>act</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>porv</KEYWORD3>\r
-                       <KEYWORD3>loads</KEYWORD3>\r
-\r
-                       <KEYWORD3>runst</KEYWORD3>\r
-                       <KEYWORD3>rspeed</KEYWORD3>\r
-                       <KEYWORD3>mips</KEYWORD3>\r
-                       <KEYWORD3>smflop</KEYWORD3>\r
-                       <KEYWORD3>vmflop</KEYWORD3>\r
-                       <KEYWORD3>rfilsz</KEYWORD3>\r
-                       <KEYWORD3>emat</KEYWORD3>\r
-                       <KEYWORD3>erot</KEYWORD3>\r
-                       <KEYWORD3>esav</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>rdsp</KEYWORD3>\r
-                       <KEYWORD3>redm</KEYWORD3>\r
-                       <KEYWORD3>rfrq</KEYWORD3>\r
-                       <KEYWORD3>rgeom</KEYWORD3>\r
-                       <KEYWORD3>rst</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>rtimst</KEYWORD3>\r
-                       <KEYWORD3>tfirst</KEYWORD3>\r
-                       <KEYWORD3>titer</KEYWORD3>\r
-                       <KEYWORD3>eqprep</KEYWORD3>\r
-                       <KEYWORD3>,solve</KEYWORD3>\r
-                       <KEYWORD3>bsub</KEYWORD3>\r
-                       <KEYWORD3>eigen</KEYWORD3>\r
-                       <KEYWORD3>elform</KEYWORD3>\r
-                       <KEYWORD3>elstrs</KEYWORD3>\r
-                       <KEYWORD3>nelm</KEYWORD3>\r
-                       <KEYWORD3>rmemry</KEYWORD3>\r
-                       <KEYWORD3>wsreq</KEYWORD3>\r
-                       <KEYWORD3>wsavail</KEYWORD3>\r
-                       <KEYWORD3>dbpsize</KEYWORD3>\r
-                       <KEYWORD3>dbpdisk</KEYWORD3>\r
-                       <KEYWORD3>dbpmem</KEYWORD3>\r
-                       <KEYWORD3>dbsize</KEYWORD3>\r
-                       <KEYWORD3>dbmem</KEYWORD3>\r
-                       <KEYWORD3>scrsize</KEYWORD3>\r
-                       <KEYWORD3>scravail</KEYWORD3>\r
-                       <KEYWORD3>iomem</KEYWORD3>\r
-                       <KEYWORD3>iopsiz</KEYWORD3>\r
-                       <KEYWORD3>iobuf</KEYWORD3>\r
-                       <KEYWORD3>rwfrnt</KEYWORD3>\r
-                       <KEYWORD3>rms</KEYWORD3>\r
-                       <KEYWORD3>mean</KEYWORD3>\r
-\r
-                       <KEYWORD3>,nsel</KEYWORD3>\r
-                       <KEYWORD3>,esel</KEYWORD3>\r
-                       <KEYWORD3>,ksel</KEYWORD3>\r
-                       <KEYWORD3>,lsel</KEYWORD3>\r
-                       <KEYWORD3>,asel</KEYWORD3>\r
-                       <KEYWORD3>,vsel</KEYWORD3>\r
-                       <KEYWORD3>ndnext</KEYWORD3>\r
-                       <KEYWORD3>elnext</KEYWORD3>\r
-                       <KEYWORD3>kpnext</KEYWORD3>\r
-                       <KEYWORD3>lsnext</KEYWORD3>\r
-                       <KEYWORD3>arnext</KEYWORD3>\r
-                       <KEYWORD3>vlnext</KEYWORD3>\r
-                       <KEYWORD3>centrx</KEYWORD3>\r
-                       <KEYWORD3>centry</KEYWORD3>\r
-                       <KEYWORD3>centrz</KEYWORD3>\r
-                       <KEYWORD3>nx</KEYWORD3>\r
-                       <KEYWORD3>ny</KEYWORD3>\r
-                       <KEYWORD3>nz</KEYWORD3>\r
-                       <KEYWORD3>kx</KEYWORD3>\r
-                       <KEYWORD3>ky</KEYWORD3>\r
-                       <KEYWORD3>kz</KEYWORD3>\r
-                       <KEYWORD3>lx</KEYWORD3>\r
-                       <KEYWORD3>ly</KEYWORD3>\r
-                       <KEYWORD3>lz</KEYWORD3>\r
-                       <KEYWORD3>lsx</KEYWORD3>\r
-                       <KEYWORD3>lsy</KEYWORD3>\r
-                       <KEYWORD3>lsz</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>distnd</KEYWORD3>\r
-                       <KEYWORD3>distkp</KEYWORD3>\r
-                       <KEYWORD3>disten</KEYWORD3>\r
-                       <KEYWORD3>anglen</KEYWORD3>\r
-                       <KEYWORD3>anglek</KEYWORD3>\r
-                       <KEYWORD3>nnear</KEYWORD3>\r
-                       <KEYWORD3>knear</KEYWORD3>\r
-                       <KEYWORD3>enearn</KEYWORD3>\r
-                       <KEYWORD3>areand</KEYWORD3>\r
-                       <KEYWORD3>areakp</KEYWORD3>\r
-                       <KEYWORD3>arnode</KEYWORD3>\r
-                       <KEYWORD3>normnx</KEYWORD3>\r
-                       <KEYWORD3>normny</KEYWORD3>\r
-                       <KEYWORD3>normnz</KEYWORD3>\r
-                       <KEYWORD3>normkx</KEYWORD3>\r
-                       <KEYWORD3>normky</KEYWORD3>\r
-                       <KEYWORD3>normkz</KEYWORD3>\r
-                       <KEYWORD3>enextn</KEYWORD3>\r
-                       <KEYWORD3>nelem</KEYWORD3>\r
-                       <KEYWORD3>eladj</KEYWORD3>\r
-                       <KEYWORD3>ndface</KEYWORD3>\r
-                       <KEYWORD3>nmface</KEYWORD3>\r
-                       <KEYWORD3>arface</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>ay</KEYWORD3>\r
-                       <KEYWORD3>az</KEYWORD3>\r
-\r
-                       <!-- /GFORMAT command -->\r
-                       <KEYWORD3>g</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>e</KEYWORD3>\r
-\r
-                       <!-- /GLINE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- *GO command -->\r
-                       <KEYWORD3>stop</KEYWORD3>\r
-\r
-                       <!-- GP command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-\r
-                       <!-- GPLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /GRAPHICS command -->\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>power</KEYWORD3>\r
-\r
-                       <!-- /GROPT command -->\r
-                       <KEYWORD3>axdv</KEYWORD3>\r
-                       <KEYWORD3>axnm</KEYWORD3>\r
-                       <KEYWORD3>axnsc</KEYWORD3>\r
-                       <KEYWORD3>ascal</KEYWORD3>\r
-                       <KEYWORD3>logx</KEYWORD3>\r
-                       <KEYWORD3>logy</KEYWORD3>\r
-                       <KEYWORD3>fill</KEYWORD3>\r
-                       <KEYWORD3>cgrid</KEYWORD3>\r
-                       <KEYWORD3>dig1</KEYWORD3>\r
-                       <KEYWORD3>dig2</KEYWORD3>\r
-                       <KEYWORD3>view</KEYWORD3>\r
-                       <KEYWORD3>revx</KEYWORD3>\r
-                       <KEYWORD3>revy</KEYWORD3>\r
-                       <KEYWORD3>divx</KEYWORD3>\r
-                       <KEYWORD3>divy</KEYWORD3>\r
-                       <KEYWORD3>ltyp</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>front</KEYWORD3>\r
-\r
-                       <!-- GRP command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- /GST command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- /GTHK command -->\r
-                       <KEYWORD3>axis</KEYWORD3>\r
-                       <KEYWORD3>grid</KEYWORD3>\r
-                       <KEYWORD3>curve</KEYWORD3>\r
-\r
-                       <!-- /GTYPE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>keyp</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>grph</KEYWORD3>\r
-\r
-                       <!-- /HEADER command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- HPGL command -->\r
-                       <KEYWORD3>model</KEYWORD3>\r
-                       <KEYWORD3>paper</KEYWORD3>\r
-                       <KEYWORD3>color</KEYWORD3>\r
-                       <KEYWORD3>direct</KEYWORD3>\r
-\r
-                       <!-- HPTCREATE command -->\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>coord</KEYWORD3>\r
-                       <KEYWORD3>ratio</KEYWORD3>\r
-\r
-                       <!-- HPTDELETE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- HREXP command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- HROPT command -->\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>reduc</KEYWORD3>\r
-                       <KEYWORD3>msup</KEYWORD3>\r
-\r
-                       <!-- HROUT command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- IC command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>so02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>ay</KEYWORD3>\r
-                       <KEYWORD3>az</KEYWORD3>\r
-\r
-                       <!-- ICLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-\r
-                       <!-- *IF command -->\r
-                       <KEYWORD3>eq</KEYWORD3>\r
-                       <KEYWORD3>ne</KEYWORD3>\r
-                       <KEYWORD3>lt</KEYWORD3>\r
-                       <KEYWORD3>gt</KEYWORD3>\r
-                       <KEYWORD3>le</KEYWORD3>\r
-                       <KEYWORD3>ge</KEYWORD3>\r
-                       <KEYWORD3>ablt</KEYWORD3>\r
-                       <KEYWORD3>abgt</KEYWORD3>\r
-                       <KEYWORD3>stop</KEYWORD3>\r
-                       <KEYWORD3>exit</KEYWORD3>\r
-                       <KEYWORD3>cycle</KEYWORD3>\r
-                       <KEYWORD3>then</KEYWORD3>\r
-\r
-                       <!-- INRES command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>basic</KEYWORD3>\r
-                       <KEYWORD3>nsol</KEYWORD3>\r
-                       <KEYWORD3>rsol</KEYWORD3>\r
-                       <KEYWORD3>esol</KEYWORD3>\r
-                       <KEYWORD3>nload</KEYWORD3>\r
-                       <KEYWORD3>strs</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>fgrad</KEYWORD3>\r
-                       <KEYWORD3>fflux</KEYWORD3>\r
-                       <KEYWORD3>misc</KEYWORD3>\r
-\r
-                       <!-- INTSRF command -->\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-\r
-                       <!-- IOPTN command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>merg</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-                       <KEYWORD3>solid</KEYWORD3>\r
-                       <KEYWORD3>gtoler</KEYWORD3>\r
-                       <KEYWORD3>file</KEYWORD3>\r
-                       <KEYWORD3>iges</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>small</KEYWORD3>\r
-\r
-                       <!-- K command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- KBETW command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>ratio</KEYWORD3>\r
-                       <KEYWORD3>dist</KEYWORD3>\r
-\r
-                       <!-- KCENTER command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-\r
-                       <!-- KCLEAR, KDELE, KDIST, KESIZE, KFILL, KGEN, KL, KLIST, KMESH, KMODIF, -->\r
-                       <!-- KMOVE, KNODE, KPLOT, KPSCALE, KSCALE, KSCON commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>coord</KEYWORD3>\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- KREFINE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>smooth</KEYWORD3>\r
-                       <KEYWORD3>clean</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- KSEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>ext</KEYWORD3>\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- KSLL, KSLN commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-\r
-                       <!-- KSYMM, KTRAN, KWPAVE, KWPLAN commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- L, L2ANG, L2TAN, LANG, LARC, LAREA commands -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- LAYER, LAYERP26 commands -->\r
-                       <KEYWORD3>fcmax</KEYWORD3>\r
-\r
-                       <!-- LAYLIST, LCABS, LCCAT, LCFACT, LCLEAR, LCOMB, LCSL, LCSUM, LDELE, -->\r
-                       <!-- LDIV, LDRAG, LESIZE, LEXTND, LFILLT, LGEN, LGLUE, /LIGHT, LINA, -->\r
-                       <!-- LINL, LINP, LINV, LMESH, LNFILL, LNMERGE, LOVLAP, LPLOT, LPTN, -->\r
-                       <!-- LREVERSE, LROTAT, LSSCALE, LSTR commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- LCDEF command -->\r
-                       <KEYWORD3>erase</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- LCOPER command -->\r
-                       <KEYWORD3>zero</KEYWORD3>\r
-                       <KEYWORD3>squa</KEYWORD3>\r
-                       <KEYWORD3>sqrt</KEYWORD3>\r
-                       <KEYWORD3>lprin</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>sub</KEYWORD3>\r
-                       <KEYWORD3>srss</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>abmn</KEYWORD3>\r
-                       <KEYWORD3>abmx</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>mult</KEYWORD3>\r
-\r
-                       <!-- LCSEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- LDREAD command -->\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>ehflu</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>reac</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-\r
-                       <!-- LGWRITE command -->\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>comment</KEYWORD3>\r
-                       <KEYWORD3>remove</KEYWORD3>\r
-\r
-                       <!-- LLIST command -->\r
-                       <KEYWORD3>radius</KEYWORD3>\r
-                       <KEYWORD3>layer</KEYWORD3>\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-                       <KEYWORD3>orient</KEYWORD3>\r
-\r
-                       <!-- LNSEARCH command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-\r
-                       <!-- LOCAL command -->\r
-                       <KEYWORD3>cart</KEYWORD3>\r
-                       <KEYWORD3>cylin</KEYWORD3>\r
-                       <KEYWORD3>sphe</KEYWORD3>\r
-                       <KEYWORD3>toro</KEYWORD3>\r
-\r
-                       <!-- LREFINE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>smooth</KEYWORD3>\r
-                       <KEYWORD3>clean</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- LSBA, LSBL, LSBV, LSBW commands -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>sepo</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-\r
-                       <!-- LSCLEAR command -->\r
-                       <KEYWORD3>solid</KEYWORD3>\r
-                       <KEYWORD3>fe</KEYWORD3>\r
-                       <KEYWORD3>iner</KEYWORD3>\r
-                       <KEYWORD3>lfact</KEYWORD3>\r
-                       <KEYWORD3>lsopt</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- LSEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>ext</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>tan1</KEYWORD3>\r
-                       <KEYWORD3>tan2</KEYWORD3>\r
-                       <KEYWORD3>ndiv</KEYWORD3>\r
-                       <KEYWORD3>space</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>sec</KEYWORD3>\r
-                       <KEYWORD3>lenght</KEYWORD3>\r
-                       <KEYWORD3>radius</KEYWORD3>\r
-                       <KEYWORD3>hpt</KEYWORD3>\r
-                       <KEYWORD3>lcca</KEYWORD3>\r
-\r
-                       <!-- LSLA, LSLK commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-\r
-                       <!-- LSREAD, LSWRITE commands -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>init</KEYWORD3>\r
-\r
-                       <!-- LSYMM, LTAN, LTRAN, LWPLAN commands -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- LUMPM command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- M, MONITOR commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-\r
-                       <!-- MDELE, MGEN, MLIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- /MENU command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>grph</KEYWORD3>\r
-\r
-                       <!-- *MFOURI command -->\r
-                       <KEYWORD3>fit</KEYWORD3>\r
-                       <KEYWORD3>eval</KEYWORD3>\r
-\r
-                       <!-- *MFUN command -->\r
-                       <KEYWORD3>copy</KEYWORD3>\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-\r
-                       <!-- MODMSH command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>nocheck</KEYWORD3>\r
-                       <KEYWORD3>check</KEYWORD3>\r
-                       <KEYWORD3>detach</KEYWORD3>\r
-\r
-                       <!-- MODOPT command -->\r
-                       <KEYWORD3>subsp</KEYWORD3>\r
-                       <KEYWORD3>lanb</KEYWORD3>\r
-                       <KEYWORD3>reduc</KEYWORD3>\r
-                       <KEYWORD3>unsym</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- *MOPER command -->\r
-                       <KEYWORD3>mult</KEYWORD3>\r
-                       <KEYWORD3>solv</KEYWORD3>\r
-                       <KEYWORD3>sort</KEYWORD3>\r
-                       <KEYWORD3>covar</KEYWORD3>\r
-                       <KEYWORD3>corr</KEYWORD3>\r
-\r
-                       <!-- MOPT command -->\r
-                       <KEYWORD3>expnd</KEYWORD3>\r
-                       <KEYWORD3>tetexpnd</KEYWORD3>\r
-                       <KEYWORD3>trans</KEYWORD3>\r
-                       <KEYWORD3>iesz</KEYWORD3>\r
-                       <KEYWORD3>amesh</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>main</KEYWORD3>\r
-                       <KEYWORD3>alternate</KEYWORD3>\r
-                       <KEYWORD3>alt2</KEYWORD3>\r
-                       <KEYWORD3>qmesh</KEYWORD3>\r
-                       <KEYWORD3>vmesh</KEYWORD3>\r
-                       <KEYWORD3>split</KEYWORD3>\r
-                       <KEYWORD3>lsmo</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-                       <KEYWORD3>pyra</KEYWORD3>\r
-                       <KEYWORD3>timp</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-\r
-                       <!-- MOVE command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- MP, MPDATA commands -->\r
-                       <KEYWORD3>ex</KEYWORD3>\r
-                       <KEYWORD3>ey</KEYWORD3>\r
-                       <KEYWORD3>ez</KEYWORD3>\r
-                       <KEYWORD3>alpx</KEYWORD3>\r
-                       <KEYWORD3>alpy</KEYWORD3>\r
-                       <KEYWORD3>alpz</KEYWORD3>\r
-                       <KEYWORD3>reft</KEYWORD3>\r
-                       <KEYWORD3>prxy</KEYWORD3>\r
-                       <KEYWORD3>pryz</KEYWORD3>\r
-                       <KEYWORD3>prxz</KEYWORD3>\r
-                       <KEYWORD3>nuxy</KEYWORD3>\r
-                       <KEYWORD3>nuyz</KEYWORD3>\r
-                       <KEYWORD3>nuzx</KEYWORD3>\r
-                       <KEYWORD3>gxy</KEYWORD3>\r
-                       <KEYWORD3>gyz</KEYWORD3>\r
-                       <KEYWORD3>gxz</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-                       <KEYWORD3>mu</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>c</KEYWORD3>\r
-                       <KEYWORD3>enth</KEYWORD3>\r
-                       <KEYWORD3>kxx</KEYWORD3>\r
-                       <KEYWORD3>kyy</KEYWORD3>\r
-                       <KEYWORD3>kzz</KEYWORD3>\r
-                       <KEYWORD3>hf</KEYWORD3>\r
-                       <KEYWORD3>emis</KEYWORD3>\r
-                       <KEYWORD3>qrate</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>sonc</KEYWORD3>\r
-                       <KEYWORD3>rsvx</KEYWORD3>\r
-                       <KEYWORD3>rsvy</KEYWORD3>\r
-                       <KEYWORD3>rsvz</KEYWORD3>\r
-                       <KEYWORD3>perx</KEYWORD3>\r
-                       <KEYWORD3>pery</KEYWORD3>\r
-                       <KEYWORD3>perz</KEYWORD3>\r
-                       <KEYWORD3>murx</KEYWORD3>\r
-                       <KEYWORD3>mury</KEYWORD3>\r
-                       <KEYWORD3>murz</KEYWORD3>\r
-                       <KEYWORD3>mgxx</KEYWORD3>\r
-                       <KEYWORD3>mgyy</KEYWORD3>\r
-                       <KEYWORD3>mgzz</KEYWORD3>\r
-                       <KEYWORD3>lsst</KEYWORD3>\r
-\r
-                       <!-- MPCHG, MPDELE commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /MPLIB command -->\r
-                       <KEYWORD3>read</KEYWORD3>\r
-                       <KEYWORD3>write</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- MPLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>evlt</KEYWORD3>\r
-\r
-                       <!-- MSADV command -->\r
-                       <KEYWORD3>msu</KEYWORD3>\r
-                       <KEYWORD3>supg</KEYWORD3>\r
-\r
-                       <!-- MSCAP command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- *MSG command -->\r
-                       <KEYWORD3>info</KEYWORD3>\r
-                       <KEYWORD3>note</KEYWORD3>\r
-                       <KEYWORD3>warn</KEYWORD3>\r
-                       <KEYWORD3>error</KEYWORD3>\r
-                       <KEYWORD3>fatal</KEYWORD3>\r
-                       <KEYWORD3>ui</KEYWORD3>\r
-\r
-                       <!-- MSHAPE command -->\r
-                       <KEYWORD3>2d</KEYWORD3>\r
-                       <KEYWORD3>3d</KEYWORD3>\r
-\r
-                       <!-- MSPROP command -->\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>mdif</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>constant</KEYWORD3>\r
-                       <KEYWORD3>liquid</KEYWORD3>\r
-                       <KEYWORD3>gas</KEYWORD3>\r
-\r
-                       <!-- /MSTART command -->\r
-                       <KEYWORD3>main</KEYWORD3>\r
-                       <KEYWORD3>input</KEYWORD3>\r
-                       <KEYWORD3>grph</KEYWORD3>\r
-                       <KEYWORD3>tool</KEYWORD3>\r
-                       <KEYWORD3>zoom</KEYWORD3>\r
-                       <KEYWORD3>work</KEYWORD3>\r
-                       <KEYWORD3>wpset</KEYWORD3>\r
-                       <KEYWORD3>abbr</KEYWORD3>\r
-                       <KEYWORD3>parm</KEYWORD3>\r
-                       <KEYWORD3>sele</KEYWORD3>\r
-                       <KEYWORD3>anno</KEYWORD3>\r
-                       <KEYWORD3>hard</KEYWORD3>\r
-                       <KEYWORD3>help</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- MSVARY command -->\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>mdif</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- MXPAND command -->\r
-                       <KEYWORD3>no</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-\r
-                       <!-- N, NDELE, NDIST, NGEN, NKPT commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- NLGEOM, NOORDER commands -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- NLIST, NMODIF commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>coord</KEYWORD3>\r
-\r
-                       <!-- NREFINE, NROTAT, NSCALE commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>smooth</KEYWORD3>\r
-                       <KEYWORD3>clean</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- NRLSUM command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- NROPT command -->\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>modi</KEYWORD3>\r
-                       <KEYWORD3>init</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- NSEL, NSOL, NSORT commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>ext</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>ang</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>,cp</KEYWORD3>\r
-                       <KEYWORD3>,ce</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>ax</KEYWORD3>\r
-                       <KEYWORD3>ay</KEYWORD3>\r
-                       <KEYWORD3>az</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>csgx</KEYWORD3>\r
-                       <KEYWORD3>csgy</KEYWORD3>\r
-                       <KEYWORD3>csgz</KEYWORD3>\r
-                       <KEYWORD3>chrg</KEYWORD3>\r
-                       <KEYWORD3>chrgd</KEYWORD3>\r
-                       <KEYWORD3>,bf</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>flue</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jsx</KEYWORD3>\r
-                       <KEYWORD3>jsy</KEYWORD3>\r
-                       <KEYWORD3>jsz</KEYWORD3>\r
-                       <KEYWORD3>mvdi</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>pene</KEYWORD3>\r
-                       <KEYWORD3>sfric</KEYWORD3>\r
-                       <KEYWORD3>stot</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-\r
-                       <!-- NSLA, NSLE, NSLK, NSLL, NSLV commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>inactive</KEYWORD3>\r
-                       <KEYWORD3>corner</KEYWORD3>\r
-                       <KEYWORD3>mid</KEYWORD3>\r
-\r
-                       <!-- NSUBST command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- NSYM command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- NUMCMP, NUMMRG, NUMOFF, NUMSTR commands -->\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,cp</KEYWORD3>\r
-                       <KEYWORD3>,ce</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>low</KEYWORD3>\r
-                       <KEYWORD3>high</KEYWORD3>\r
-                       <KEYWORD3>,csys</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-\r
-                       <!-- NUMEXP command -->\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-\r
-                       <!-- NWPLAN command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- OPDEL, OPLIST, OPRFA, OPRGR, OPRSW commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- OPFACT command -->\r
-                       <KEYWORD3>full</KEYWORD3>\r
-\r
-                       <!-- OPGRAD, OPSWEEP commands -->\r
-                       <KEYWORD3>best</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>,n</KEYWORD3>\r
-\r
-                       <!-- OPKEEP commmand -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- OPLFA command -->\r
-                       <KEYWORD3>main</KEYWORD3>\r
-                       <KEYWORD3>2fac</KEYWORD3>\r
-                       <KEYWORD3>3fac</KEYWORD3>\r
-\r
-                       <!-- OPLOOP command -->\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>prep</KEYWORD3>\r
-                       <KEYWORD3>ignore</KEYWORD3>\r
-                       <KEYWORD3>process</KEYWORD3>\r
-                       <KEYWORD3>scalar</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- OPNCONTROL command -->\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-\r
-                       <!-- OPPRNT command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-\r
-                       <!-- OPTYPE command -->\r
-                       <KEYWORD3>subp</KEYWORD3>\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>rand</KEYWORD3>\r
-                       <KEYWORD3>run</KEYWORD3>\r
-                       <KEYWORD3>fact</KEYWORD3>\r
-                       <KEYWORD3>grad</KEYWORD3>\r
-                       <KEYWORD3>sweep</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-\r
-                       <!-- OPVAR command -->\r
-                       <KEYWORD3>dv</KEYWORD3>\r
-                       <KEYWORD3>sv</KEYWORD3>\r
-                       <KEYWORD3>obj</KEYWORD3>\r
-                       <KEYWORD3>del</KEYWORD3>\r
-\r
-                       <!-- OUTPR command -->\r
-                       <KEYWORD3>basic</KEYWORD3>\r
-                       <KEYWORD3>nsol</KEYWORD3>\r
-                       <KEYWORD3>rsol</KEYWORD3>\r
-                       <KEYWORD3>esol</KEYWORD3>\r
-                       <KEYWORD3>nload</KEYWORD3>\r
-                       <KEYWORD3>veng</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>erase</KEYWORD3>\r
-\r
-                       <!-- /OUTPUT command -->\r
-                       <KEYWORD3>term</KEYWORD3>\r
-                       <KEYWORD3>append</KEYWORD3>\r
-\r
-                       <!-- OUTRES command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>basic</KEYWORD3>\r
-                       <KEYWORD3>nsol</KEYWORD3>\r
-                       <KEYWORD3>rsol</KEYWORD3>\r
-                       <KEYWORD3>esol</KEYWORD3>\r
-                       <KEYWORD3>nload</KEYWORD3>\r
-                       <KEYWORD3>strs</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>fgrad</KEYWORD3>\r
-                       <KEYWORD3>fflux</KEYWORD3>\r
-                       <KEYWORD3>misc</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-\r
-                       <!-- PADELE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>name</KEYWORD3>\r
-\r
-                       <!-- PAGET, PAPUT commands -->\r
-                       <KEYWORD3>points</KEYWORD3>\r
-                       <KEYWORD3>table</KEYWORD3>\r
-                       <KEYWORD3>label</KEYWORD3>\r
-\r
-                       <!-- PARESU command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>path</KEYWORD3>\r
-\r
-                       <!-- PARRES command -->\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>change</KEYWORD3>\r
-\r
-                       <!-- PARSAV command -->\r
-                       <KEYWORD3>scalar</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- PASAVE command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /PBC command -->\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>vx</KEYWORD3>\r
-                       <KEYWORD3>vy</KEYWORD3>\r
-                       <KEYWORD3>vz</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>chrg</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>mome</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>my</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>mast</KEYWORD3>\r
-                       <KEYWORD3>,cp</KEYWORD3>\r
-                       <KEYWORD3>,ce</KEYWORD3>\r
-                       <KEYWORD3>nfor</KEYWORD3>\r
-                       <KEYWORD3>nmom</KEYWORD3>\r
-                       <KEYWORD3>rfor</KEYWORD3>\r
-                       <KEYWORD3>rmom</KEYWORD3>\r
-                       <KEYWORD3>path</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-                       <KEYWORD3>acelx</KEYWORD3>\r
-                       <KEYWORD3>acely</KEYWORD3>\r
-                       <KEYWORD3>acelz</KEYWORD3>\r
-                       <KEYWORD3>omeg</KEYWORD3>\r
-                       <KEYWORD3>omegx</KEYWORD3>\r
-                       <KEYWORD3>omegy</KEYWORD3>\r
-                       <KEYWORD3>omegz</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /PBF command -->\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>flue</KEYWORD3>\r
-                       <KEYWORD3>hgen</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jsx</KEYWORD3>\r
-                       <KEYWORD3>jsy</KEYWORD3>\r
-                       <KEYWORD3>jsz</KEYWORD3>\r
-                       <KEYWORD3>phase</KEYWORD3>\r
-                       <KEYWORD3>mvdi</KEYWORD3>\r
-                       <KEYWORD3>chrgd</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-\r
-                       <!-- PCALC command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>mult</KEYWORD3>\r
-                       <KEYWORD3>div</KEYWORD3>\r
-                       <KEYWORD3>exp</KEYWORD3>\r
-                       <KEYWORD3>deri</KEYWORD3>\r
-                       <KEYWORD3>intg</KEYWORD3>\r
-                       <KEYWORD3>sin</KEYWORD3>\r
-                       <KEYWORD3>cos</KEYWORD3>\r
-                       <KEYWORD3>asin</KEYWORD3>\r
-                       <KEYWORD3>acos</KEYWORD3>\r
-                       <KEYWORD3>log</KEYWORD3>\r
-\r
-                       <!-- PCONV command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>erase</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-                       <KEYWORD3>se</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>mid</KEYWORD3>\r
-                       <KEYWORD3>bot</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-\r
-                       <!-- /PCOPY command -->\r
-                       <KEYWORD3>now</KEYWORD3>\r
-\r
-                       <!-- PDEF command -->\r
-                       <KEYWORD3>avg</KEYWORD3>\r
-                       <KEYWORD3>noav</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-\r
-                       <!-- PDRAG command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- PEXCLUDE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- PFACT command -->\r
-                       <KEYWORD3>base</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>wave</KEYWORD3>\r
-                       <KEYWORD3>spat</KEYWORD3>\r
-\r
-                       <!-- PHYSICS command -->\r
-                       <KEYWORD3>write</KEYWORD3>\r
-                       <KEYWORD3>read</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-\r
-                       <!-- PINCLUDE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- PIVCHECK command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- PLCONV command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>se</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>mid</KEYWORD3>\r
-                       <KEYWORD3>bot</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-\r
-                       <!-- PLESOL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>pene</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>sfric</KEYWORD3>\r
-                       <KEYWORD3>stot</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>gap</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>serr</KEYWORD3>\r
-                       <KEYWORD3>sdsg</KEYWORD3>\r
-                       <KEYWORD3>terr</KEYWORD3>\r
-                       <KEYWORD3>tdsg</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>sene</KEYWORD3>\r
-                       <KEYWORD3>tene</KEYWORD3>\r
-                       <KEYWORD3>kene</KEYWORD3>\r
-                       <KEYWORD3>jheat</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-                       <KEYWORD3>mre</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>smisc</KEYWORD3>\r
-                       <KEYWORD3>nmisc</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-\r
-                       <!-- PLETAB command -->\r
-                       <KEYWORD3>noav</KEYWORD3>\r
-                       <KEYWORD3>avg</KEYWORD3>\r
-\r
-                       <!-- PLNSOL command -->\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>pene</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>sfric</KEYWORD3>\r
-                       <KEYWORD3>stot</KEYWORD3>\r
-                       <KEYWORD3>slide</KEYWORD3>\r
-                       <KEYWORD3>gap</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>lmd1</KEYWORD3>\r
-                       <KEYWORD3>lmd2</KEYWORD3>\r
-                       <KEYWORD3>lmd3</KEYWORD3>\r
-                       <KEYWORD3>lmd4</KEYWORD3>\r
-                       <KEYWORD3>lmd5</KEYWORD3>\r
-                       <KEYWORD3>lmd6</KEYWORD3>\r
-                       <KEYWORD3>emd1</KEYWORD3>\r
-                       <KEYWORD3>emd2</KEYWORD3>\r
-                       <KEYWORD3>emd3</KEYWORD3>\r
-                       <KEYWORD3>emd4</KEYWORD3>\r
-                       <KEYWORD3>emd5</KEYWORD3>\r
-                       <KEYWORD3>emd6</KEYWORD3>\r
-\r
-                       <!-- /PLOPTS command -->\r
-                       <KEYWORD3>leg1</KEYWORD3>\r
-                       <KEYWORD3>leg2</KEYWORD3>\r
-                       <KEYWORD3>info</KEYWORD3>\r
-                       <KEYWORD3>frame</KEYWORD3>\r
-                       <KEYWORD3>title</KEYWORD3>\r
-                       <KEYWORD3>minm</KEYWORD3>\r
-                       <KEYWORD3>logo</KEYWORD3>\r
-                       <KEYWORD3>wins</KEYWORD3>\r
-                       <KEYWORD3>wp</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-\r
-                       <!-- PLOT command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- PLPAGM command -->\r
-                       <KEYWORD3>node</KEYWORD3>\r
-\r
-                       <!-- PLPATH command -->\r
-                       <KEYWORD3>xg</KEYWORD3>\r
-                       <KEYWORD3>yg</KEYWORD3>\r
-                       <KEYWORD3>zg</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-\r
-                       <!-- PLSECT command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-\r
-                       <!-- PLTRAC command -->\r
-                       <KEYWORD3>fluid</KEYWORD3>\r
-                       <KEYWORD3>elec</KEYWORD3>\r
-                       <KEYWORD3>magn</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-\r
-                       <!-- PLVECT command -->\r
-                       <KEYWORD3>rast</KEYWORD3>\r
-                       <KEYWORD3>vect</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-\r
-                       <!-- PMAP command -->\r
-                       <KEYWORD3>uniform</KEYWORD3>\r
-                       <KEYWORD3>accurate</KEYWORD3>\r
-\r
-                       <!-- /PMETH command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- /PNUM command -->\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>sval</KEYWORD3>\r
-                       <KEYWORD3>tabnam</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- POPT command -->\r
-                       <KEYWORD3>b31.1</KEYWORD3>\r
-                       <KEYWORD3>nc</KEYWORD3>\r
-\r
-                       <!-- PORTOPT command -->\r
-                       <KEYWORD3>coax</KEYWORD3>\r
-                       <KEYWORD3>te10</KEYWORD3>\r
-                       <KEYWORD3>te11circ</KEYWORD3>\r
-                       <KEYWORD3>tm01circ</KEYWORD3>\r
-\r
-                       <!-- PPATH command -->\r
-                       <KEYWORD3>pick</KEYWORD3>\r
-\r
-                       <!-- PRED command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- PRESOL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>serr</KEYWORD3>\r
-                       <KEYWORD3>sdsg</KEYWORD3>\r
-                       <KEYWORD3>terr</KEYWORD3>\r
-                       <KEYWORD3>tdsg</KEYWORD3>\r
-                       <KEYWORD3>sene</KEYWORD3>\r
-                       <KEYWORD3>tene</KEYWORD3>\r
-                       <KEYWORD3>kene</KEYWORD3>\r
-                       <KEYWORD3>jheat</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-                       <KEYWORD3>mre</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>smisc</KEYWORD3>\r
-                       <KEYWORD3>nmisc</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-\r
-                       <!-- PRNLD, PRRFOR, PRRSOL commands -->\r
-                       <KEYWORD3>fx</KEYWORD3>\r
-                       <KEYWORD3>fy</KEYWORD3>\r
-                       <KEYWORD3>fz</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>mx</KEYWORD3>\r
-                       <KEYWORD3>ym</KEYWORD3>\r
-                       <KEYWORD3>mz</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>vfx</KEYWORD3>\r
-                       <KEYWORD3>vfy</KEYWORD3>\r
-                       <KEYWORD3>vfz</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>curt</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>csgx</KEYWORD3>\r
-                       <KEYWORD3>csgy</KEYWORD3>\r
-                       <KEYWORD3>csgz</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-\r
-                       <!-- PRNSOL, PRSSOL commands -->\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>sp01</KEYWORD3>\r
-                       <KEYWORD3>sp02</KEYWORD3>\r
-                       <KEYWORD3>sp03</KEYWORD3>\r
-                       <KEYWORD3>sp04</KEYWORD3>\r
-                       <KEYWORD3>sp05</KEYWORD3>\r
-                       <KEYWORD3>sp06</KEYWORD3>\r
-                       <KEYWORD3>dof</KEYWORD3>\r
-\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>prin</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>cont</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>topo</KEYWORD3>\r
-\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>spht</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>cmuv</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-                       <KEYWORD3>lmd</KEYWORD3>\r
-                       <KEYWORD3>emd</KEYWORD3>\r
-\r
-                       <!-- PRVECT command -->\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>js</KEYWORD3>\r
-                       <KEYWORD3>jt</KEYWORD3>\r
-\r
-                       <!-- PSCR command -->\r
-                       <KEYWORD3>cmap</KEYWORD3>\r
-                       <KEYWORD3>lwid</KEYWORD3>\r
-                       <KEYWORD3>color</KEYWORD3>\r
-                       <KEYWORD3>tranx</KEYWORD3>\r
-                       <KEYWORD3>trany</KEYWORD3>\r
-                       <KEYWORD3>rotate</KEYWORD3>\r
-                       <KEYWORD3>scale</KEYWORD3>\r
-                       <KEYWORD3>tiff</KEYWORD3>\r
-                       <KEYWORD3>epsi</KEYWORD3>\r
-\r
-                       <!-- PSDRES command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-                       <KEYWORD3>rel</KEYWORD3>\r
-                       <KEYWORD3>abs</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- PSDUNIT command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-                       <KEYWORD3>accg</KEYWORD3>\r
-                       <KEYWORD3>forc</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-\r
-                       <!-- /PSEARCH command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- PSEL command -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inv</KEYWORD3>\r
-\r
-                       <!-- /PSF command -->\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>norm</KEYWORD3>\r
-                       <KEYWORD3>tanx</KEYWORD3>\r
-                       <KEYWORD3>tany</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hcoef</KEYWORD3>\r
-                       <KEYWORD3>tbulk</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>emis</KEYWORD3>\r
-                       <KEYWORD3>tamb</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>mur</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-\r
-                       <!-- PSOLVE command -->\r
-                       <KEYWORD3>cgsol</KEYWORD3>\r
-                       <KEYWORD3>eigdamp</KEYWORD3>\r
-                       <KEYWORD3>eigexp</KEYWORD3>\r
-                       <KEYWORD3>eigfull</KEYWORD3>\r
-                       <KEYWORD3>eigreduc</KEYWORD3>\r
-                       <KEYWORD3>eigunsym</KEYWORD3>\r
-                       <KEYWORD3>elform</KEYWORD3>\r
-                       <KEYWORD3>elprep</KEYWORD3>\r
-                       <KEYWORD3>redwrite</KEYWORD3>\r
-                       <KEYWORD3>triang</KEYWORD3>\r
-\r
-                       <!-- PSPRNG command -->\r
-                       <KEYWORD3>tran</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-\r
-                       <!-- PSTRES command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- /PSYMB command -->\r
-                       <KEYWORD3>cs</KEYWORD3>\r
-                       <KEYWORD3>ndir</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-                       <KEYWORD3>ldir</KEYWORD3>\r
-                       <KEYWORD3>layr</KEYWORD3>\r
-                       <KEYWORD3>pcon</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>dot</KEYWORD3>\r
-                       <KEYWORD3>xnod</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- PTEMP command -->\r
-                       <KEYWORD3>none</KEYWORD3>\r
-\r
-                       <!-- PTXY command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- PUNIT command -->\r
-                       <KEYWORD3>ftin</KEYWORD3>\r
-                       <KEYWORD3>metric</KEYWORD3>\r
-\r
-                       <!-- PVECT command -->\r
-                       <KEYWORD3>norm</KEYWORD3>\r
-                       <KEYWORD3>tang</KEYWORD3>\r
-                       <KEYWORD3>radi</KEYWORD3>\r
-\r
-                       <!-- QUAD command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- /RATIO command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- RBE3 command -->\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>uxyz</KEYWORD3>\r
-                       <KEYWORD3>rxyz</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- RDELE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /REPLOT command -->\r
-                       <KEYWORD3>resize</KEYWORD3>\r
-                       <KEYWORD3>fast</KEYWORD3>\r
-\r
-                       <!-- REXPORT command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>dyna</KEYWORD3>\r
-\r
-                       <!-- RFORCE command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>,f</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>,m</KEYWORD3>\r
-                       <KEYWORD3>heat</KEYWORD3>\r
-                       <KEYWORD3>flow</KEYWORD3>\r
-                       <KEYWORD3>amps</KEYWORD3>\r
-                       <KEYWORD3>flux</KEYWORD3>\r
-                       <KEYWORD3>vf</KEYWORD3>\r
-                       <KEYWORD3>csg</KEYWORD3>\r
-                       <KEYWORD3>vltg</KEYWORD3>\r
-                       <KEYWORD3>durt</KEYWORD3>\r
-\r
-                       <!-- /RGB command -->\r
-                       <KEYWORD3>index</KEYWORD3>\r
-                       <KEYWORD3>cntr</KEYWORD3>\r
-\r
-                       <!-- RIGID command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>ux</KEYWORD3>\r
-                       <KEYWORD3>uy</KEYWORD3>\r
-                       <KEYWORD3>uz</KEYWORD3>\r
-                       <KEYWORD3>rotx</KEYWORD3>\r
-                       <KEYWORD3>roty</KEYWORD3>\r
-                       <KEYWORD3>rotz</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- RIMPORT command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>dyna</KEYWORD3>\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>stress</KEYWORD3>\r
-\r
-                       <!-- RLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- RSYS command -->\r
-                       <KEYWORD3>solu</KEYWORD3>\r
-\r
-                       <!-- SARPLOT command -->\r
-                       <KEYWORD3>factor</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>narrow</KEYWORD3>\r
-\r
-                       <!-- /SECLIB command -->\r
-                       <KEYWORD3>read</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-\r
-                       <!-- SECOFFSET command -->\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>shrc</KEYWORD3>\r
-                       <KEYWORD3>origin</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-\r
-                       <!-- SECREAD, SECWRITE commands -->\r
-                       <KEYWORD3>library</KEYWORD3>\r
-                       <KEYWORD3>mesh</KEYWORD3>\r
-\r
-                       <!-- SECTYPE command -->\r
-                       <KEYWORD3>beam</KEYWORD3>\r
-                       <KEYWORD3>rect</KEYWORD3>\r
-                       <KEYWORD3>quad</KEYWORD3>\r
-                       <KEYWORD3>csolid</KEYWORD3>\r
-                       <KEYWORD3>ctube</KEYWORD3>\r
-                       <KEYWORD3>chan</KEYWORD3>\r
-                       <KEYWORD3>i</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>,l</KEYWORD3>\r
-                       <KEYWORD3>t</KEYWORD3>\r
-                       <KEYWORD3>hats</KEYWORD3>\r
-                       <KEYWORD3>hrec</KEYWORD3>\r
-                       <KEYWORD3>asec</KEYWORD3>\r
-                       <KEYWORD3>mesh</KEYWORD3>\r
-\r
-                       <!-- SEDLIST command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- SEEXP command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- /SEG command -->\r
-                       <KEYWORD3>singl</KEYWORD3>\r
-                       <KEYWORD3>multi</KEYWORD3>\r
-                       <KEYWORD3>delet</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>pc</KEYWORD3>\r
-\r
-                       <!-- SESYMM command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- *SET command -->\r
-\r
-                       <!-- SET command -->\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>next</KEYWORD3>\r
-                       <KEYWORD3>near</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-\r
-                       <!-- SF command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>port</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-\r
-                       <!-- SFA command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>port</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-\r
-                       <!-- SFACT command -->\r
-                       <KEYWORD3>,sf</KEYWORD3>\r
-                       <KEYWORD3>ms</KEYWORD3>\r
-\r
-                       <!-- SFADELE, SFALIST, SFBEAM commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- SFCUM command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>selv</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>repl</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>igno</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-\r
-                       <!-- SFDELE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>selv</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>port</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-\r
-                       <!-- SFE, SFEDELE, SFELIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>selv</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>port</KEYWORD3>\r
-                       <KEYWORD3>shld</KEYWORD3>\r
-\r
-                       <!-- SFFUN, SFGRAD commands -->\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-\r
-                       <!-- SFL, SFLDELE, SFLIST, SFLLIST, SFSCALE commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>conv</KEYWORD3>\r
-                       <KEYWORD3>hflux</KEYWORD3>\r
-                       <KEYWORD3>rad</KEYWORD3>\r
-                       <KEYWORD3>fsi</KEYWORD3>\r
-                       <KEYWORD3>impd</KEYWORD3>\r
-                       <KEYWORD3>mci</KEYWORD3>\r
-                       <KEYWORD3>mxwf</KEYWORD3>\r
-                       <KEYWORD3>chrgs</KEYWORD3>\r
-                       <KEYWORD3>inf</KEYWORD3>\r
-                       <KEYWORD3>port</KEYWORD3>\r
-                       <KEYWORD3>shdl</KEYWORD3>\r
-                       <KEYWORD3>selv</KEYWORD3>\r
-\r
-                       <!-- /SHADE command -->\r
-                       <KEYWORD3>facet</KEYWORD3>\r
-                       <KEYWORD3>gouraud</KEYWORD3>\r
-                       <KEYWORD3>phong</KEYWORD3>\r
-\r
-                       <!-- SHELL command -->\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>mid</KEYWORD3>\r
-                       <KEYWORD3>bot</KEYWORD3>\r
-\r
-                       <!-- /SHOW command -->\r
-                       <KEYWORD3>term</KEYWORD3>\r
-                       <KEYWORD3>file</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>pscr</KEYWORD3>\r
-                       <KEYWORD3>hpgl</KEYWORD3>\r
-                       <KEYWORD3>hpgl2</KEYWORD3>\r
-                       <KEYWORD3>vrml</KEYWORD3>\r
-\r
-                       <!-- /SHOWDISP command -->\r
-                       <KEYWORD3>hpgl</KEYWORD3>\r
-                       <KEYWORD3>hpgl2</KEYWORD3>\r
-                       <KEYWORD3>interleaf</KEYWORD3>\r
-                       <KEYWORD3>postscript</KEYWORD3>\r
-                       <KEYWORD3>dump</KEYWORD3>\r
-\r
-                       <!-- SHPP command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>warn</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>silent</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-                       <KEYWORD3>summary</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>object</KEYWORD3>\r
-                       <KEYWORD3>modify</KEYWORD3>\r
-                       <KEYWORD3>angd</KEYWORD3>\r
-                       <KEYWORD3>aspect</KEYWORD3>\r
-                       <KEYWORD3>paral</KEYWORD3>\r
-                       <KEYWORD3>maxang</KEYWORD3>\r
-                       <KEYWORD3>jacrat</KEYWORD3>\r
-                       <KEYWORD3>warp</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-\r
-                       <!-- SLPPLOT, SLSPLOT commands -->\r
-                       <KEYWORD3>factor</KEYWORD3>\r
-                       <KEYWORD3>radius</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-\r
-                       <!-- SMRTSIZE command -->\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- SOLCONTROL command -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-\r
-                       <!-- SOLU command -->\r
-                       <KEYWORD3>allf</KEYWORD3>\r
-                       <KEYWORD3>aldlf</KEYWORD3>\r
-                       <KEYWORD3>arcl</KEYWORD3>\r
-                       <KEYWORD3>cnvg</KEYWORD3>\r
-                       <KEYWORD3>crprat</KEYWORD3>\r
-                       <KEYWORD3>cscv</KEYWORD3>\r
-                       <KEYWORD3>cucv</KEYWORD3>\r
-                       <KEYWORD3>dicv</KEYWORD3>\r
-                       <KEYWORD3>dsprm</KEYWORD3>\r
-                       <KEYWORD3>dtime</KEYWORD3>\r
-                       <KEYWORD3>eqit</KEYWORD3>\r
-                       <KEYWORD3>ffcv</KEYWORD3>\r
-                       <KEYWORD3>focv</KEYWORD3>\r
-                       <KEYWORD3>hfcv</KEYWORD3>\r
-                       <KEYWORD3>nc48</KEYWORD3>\r
-                       <KEYWORD3>nc49</KEYWORD3>\r
-                       <KEYWORD3>ncmit</KEYWORD3>\r
-                       <KEYWORD3>ncmls</KEYWORD3>\r
-                       <KEYWORD3>ncmss</KEYWORD3>\r
-                       <KEYWORD3>mfcv</KEYWORD3>\r
-                       <KEYWORD3>mocv</KEYWORD3>\r
-                       <KEYWORD3>mxdvl</KEYWORD3>\r
-                       <KEYWORD3>prcv</KEYWORD3>\r
-                       <KEYWORD3>psinc</KEYWORD3>\r
-                       <KEYWORD3>resfrq</KEYWORD3>\r
-                       <KEYWORD3>reseig</KEYWORD3>\r
-                       <KEYWORD3>rocv</KEYWORD3>\r
-                       <KEYWORD3>smcv</KEYWORD3>\r
-                       <KEYWORD3>tecv</KEYWORD3>\r
-                       <KEYWORD3>vecv</KEYWORD3>\r
-                       <KEYWORD3>vocv</KEYWORD3>\r
-                       <KEYWORD3>vmcv</KEYWORD3>\r
-\r
-                       <!-- SPOPT command -->\r
-                       <KEYWORD3>sprs</KEYWORD3>\r
-                       <KEYWORD3>mprs</KEYWORD3>\r
-                       <KEYWORD3>ddam</KEYWORD3>\r
-                       <KEYWORD3>psd</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-\r
-                       <!-- SRSS command -->\r
-                       <KEYWORD3>disp</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- /SSCALE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- SSTIF command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- *STATUS command -->\r
-                       <KEYWORD3>argx</KEYWORD3>\r
-\r
-                       <!-- /STATUS command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>title</KEYWORD3>\r
-                       <KEYWORD3>units</KEYWORD3>\r
-                       <KEYWORD3>mem</KEYWORD3>\r
-                       <KEYWORD3>db</KEYWORD3>\r
-                       <KEYWORD3>config</KEYWORD3>\r
-                       <KEYWORD3>global</KEYWORD3>\r
-                       <KEYWORD3>solu</KEYWORD3>\r
-                       <KEYWORD3>phys</KEYWORD3>\r
-\r
-                       <!-- STORE command -->\r
-                       <KEYWORD3>merge</KEYWORD3>\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>appen</KEYWORD3>\r
-                       <KEYWORD3>alloc</KEYWORD3>\r
-                       <KEYWORD3>psd</KEYWORD3>\r
-\r
-                       <!-- SUBOPT command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>part</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-\r
-                       <!-- SUBSET command -->\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>next</KEYWORD3>\r
-                       <KEYWORD3>near</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>velo</KEYWORD3>\r
-                       <KEYWORD3>acel</KEYWORD3>\r
-\r
-                       <!-- SUMTYPE command -->\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>prin</KEYWORD3>\r
-\r
-                       <!-- TB command -->\r
-                       <KEYWORD3>bkin</KEYWORD3>\r
-                       <KEYWORD3>mkin</KEYWORD3>\r
-                       <KEYWORD3>miso</KEYWORD3>\r
-                       <KEYWORD3>biso</KEYWORD3>\r
-                       <KEYWORD3>aniso</KEYWORD3>\r
-                       <KEYWORD3>dp</KEYWORD3>\r
-                       <KEYWORD3>melas</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-                       <KEYWORD3>kinh</KEYWORD3>\r
-                       <KEYWORD3>anand</KEYWORD3>\r
-                       <KEYWORD3>creep</KEYWORD3>\r
-                       <KEYWORD3>swell</KEYWORD3>\r
-                       <KEYWORD3>bh</KEYWORD3>\r
-                       <KEYWORD3>piez</KEYWORD3>\r
-                       <KEYWORD3>fail</KEYWORD3>\r
-                       <KEYWORD3>mooney</KEYWORD3>\r
-                       <KEYWORD3>water</KEYWORD3>\r
-                       <KEYWORD3>anel</KEYWORD3>\r
-                       <KEYWORD3>concr</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>fcon</KEYWORD3>\r
-                       <KEYWORD3>pflow</KEYWORD3>\r
-                       <KEYWORD3>evisc</KEYWORD3>\r
-                       <KEYWORD3>plaw</KEYWORD3>\r
-                       <KEYWORD3>foam</KEYWORD3>\r
-                       <KEYWORD3>honey</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>eos</KEYWORD3>\r
-\r
-                       <!-- TBDELE, TBLIST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- TBPLOT command -->\r
-                       <KEYWORD3>mkin</KEYWORD3>\r
-                       <KEYWORD3>kinh</KEYWORD3>\r
-                       <KEYWORD3>melas</KEYWORD3>\r
-                       <KEYWORD3>miso</KEYWORD3>\r
-                       <KEYWORD3>bkin</KEYWORD3>\r
-                       <KEYWORD3>biso</KEYWORD3>\r
-                       <KEYWORD3>bh</KEYWORD3>\r
-                       <KEYWORD3>nb</KEYWORD3>\r
-                       <KEYWORD3>mh</KEYWORD3>\r
-                       <KEYWORD3>sbh</KEYWORD3>\r
-                       <KEYWORD3>snb</KEYWORD3>\r
-                       <KEYWORD3>smh</KEYWORD3>\r
-\r
-                       <!-- TBPT command -->\r
-                       <KEYWORD3>defi</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- TEE command -->\r
-                       <KEYWORD3>wt</KEYWORD3>\r
-                       <KEYWORD3>uft</KEYWORD3>\r
-\r
-                       <!-- TERM command -->\r
-                       <KEYWORD3>copy</KEYWORD3>\r
-                       <KEYWORD3>loop</KEYWORD3>\r
-                       <KEYWORD3>noprom</KEYWORD3>\r
-\r
-                       <!-- TIMINT command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>struc</KEYWORD3>\r
-                       <KEYWORD3>therm</KEYWORD3>\r
-                       <KEYWORD3>elect</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>fluid</KEYWORD3>\r
-\r
-                       <!-- TIMP command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- TRANSFER command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- /TRIAD command -->\r
-                       <KEYWORD3>orig</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>lbot</KEYWORD3>\r
-                       <KEYWORD3>rbot</KEYWORD3>\r
-                       <KEYWORD3>ltop</KEYWORD3>\r
-                       <KEYWORD3>rtop</KEYWORD3>\r
-\r
-                       <!-- /TRLCY command -->\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>isurf</KEYWORD3>\r
-                       <KEYWORD3>cm</KEYWORD3>\r
-                       <KEYWORD3>curve</KEYWORD3>\r
-\r
-                       <!-- TRNOPT command -->\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>reduc</KEYWORD3>\r
-                       <KEYWORD3>msup</KEYWORD3>\r
-                       <KEYWORD3>damp</KEYWORD3>\r
-                       <KEYWORD3>nodamp</KEYWORD3>\r
-\r
-                       <!-- TRPDEL, TRPLIS, TRPOIN commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- TSHAP command -->\r
-                       <KEYWORD3>iine</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>para</KEYWORD3>\r
-                       <KEYWORD3>arc</KEYWORD3>\r
-                       <KEYWORD3>carc</KEYWORD3>\r
-                       <KEYWORD3>circ</KEYWORD3>\r
-                       <KEYWORD3>tria</KEYWORD3>\r
-                       <KEYWORD3>tri6</KEYWORD3>\r
-                       <KEYWORD3>quad</KEYWORD3>\r
-                       <KEYWORD3>qua8</KEYWORD3>\r
-                       <KEYWORD3>cyli</KEYWORD3>\r
-                       <KEYWORD3>cone</KEYWORD3>\r
-                       <KEYWORD3>sphe</KEYWORD3>\r
-                       <KEYWORD3>pilo</KEYWORD3>\r
-\r
-                       <!-- /TYPE command -->\r
-                       <KEYWORD3>basic</KEYWORD3>\r
-                       <KEYWORD3>sect</KEYWORD3>\r
-                       <KEYWORD3>hidc</KEYWORD3>\r
-                       <KEYWORD3>hidd</KEYWORD3>\r
-                       <KEYWORD3>hidp</KEYWORD3>\r
-                       <KEYWORD3>cap</KEYWORD3>\r
-                       <KEYWORD3>zbuf</KEYWORD3>\r
-                       <KEYWORD3>zcap</KEYWORD3>\r
-                       <KEYWORD3>zqsl</KEYWORD3>\r
-                       <KEYWORD3>hqsl</KEYWORD3>\r
-\r
-                       <!-- /UI command -->\r
-                       <KEYWORD3>help</KEYWORD3>\r
-                       <KEYWORD3>view</KEYWORD3>\r
-                       <KEYWORD3>wpse</KEYWORD3>\r
-                       <KEYWORD3>wpvi</KEYWORD3>\r
-                       <KEYWORD3>result</KEYWORD3>\r
-                       <KEYWORD3>query</KEYWORD3>\r
-                       <KEYWORD3>copy</KEYWORD3>\r
-                       <KEYWORD3>anno</KEYWORD3>\r
-                       <KEYWORD3>select</KEYWORD3>\r
-                       <KEYWORD3>,nsel</KEYWORD3>\r
-                       <KEYWORD3>,esel</KEYWORD3>\r
-                       <KEYWORD3>,ksel</KEYWORD3>\r
-                       <KEYWORD3>,lsel</KEYWORD3>\r
-                       <KEYWORD3>,asel</KEYWORD3>\r
-                       <KEYWORD3>,vsel</KEYWORD3>\r
-                       <KEYWORD3>refresh</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>element</KEYWORD3>\r
-                       <KEYWORD3>grid</KEYWORD3>\r
-                       <KEYWORD3>format</KEYWORD3>\r
-                       <KEYWORD3>pscr</KEYWORD3>\r
-                       <KEYWORD3>tiff</KEYWORD3>\r
-                       <KEYWORD3>epsi</KEYWORD3>\r
-                       <KEYWORD3>bmp</KEYWORD3>\r
-                       <KEYWORD3>wmf</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>screen</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>graph</KEYWORD3>\r
-                       <KEYWORD3>color</KEYWORD3>\r
-                       <KEYWORD3>mono</KEYWORD3>\r
-                       <KEYWORD3>grey</KEYWORD3>\r
-                       <KEYWORD3>krev</KEYWORD3>\r
-                       <KEYWORD3>norm</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>orient</KEYWORD3>\r
-                       <KEYWORD3>landscape</KEYWORD3>\r
-                       <KEYWORD3>portrait</KEYWORD3>\r
-                       <KEYWORD3>compress</KEYWORD3>\r
-                       <KEYWORD3>yes</KEYWORD3>\r
-                       <KEYWORD3>no</KEYWORD3>\r
-\r
-                       <!-- /UIS command -->\r
-                       <KEYWORD3>msgpop</KEYWORD3>\r
-                       <KEYWORD3>replot</KEYWORD3>\r
-                       <KEYWORD3>abort</KEYWORD3>\r
-                       <KEYWORD3>dyna</KEYWORD3>\r
-                       <KEYWORD3>pick</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>defa</KEYWORD3>\r
-\r
-                       <!-- /UNITS command -->\r
-                       <KEYWORD3>user</KEYWORD3>\r
-                       <KEYWORD3>si</KEYWORD3>\r
-                       <KEYWORD3>cgs</KEYWORD3>\r
-                       <KEYWORD3>bft</KEYWORD3>\r
-                       <KEYWORD3>bin</KEYWORD3>\r
-\r
-                       <!-- UPCOORD command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-\r
-                       <!-- /USER command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- USRCAL command -->\r
-                       <KEYWORD3>usrefl</KEYWORD3>\r
-                       <KEYWORD3>userfl</KEYWORD3>\r
-                       <KEYWORD3>usercv</KEYWORD3>\r
-                       <KEYWORD3>userpr</KEYWORD3>\r
-                       <KEYWORD3>userfx</KEYWORD3>\r
-                       <KEYWORD3>userch</KEYWORD3>\r
-                       <KEYWORD3>userfd</KEYWORD3>\r
-                       <KEYWORD3>userou</KEYWORD3>\r
-                       <KEYWORD3>usermc</KEYWORD3>\r
-                       <KEYWORD3>usolbeg</KEYWORD3>\r
-                       <KEYWORD3>uldbeg</KEYWORD3>\r
-                       <KEYWORD3>ussbeg</KEYWORD3>\r
-                       <KEYWORD3>uitbeg</KEYWORD3>\r
-                       <KEYWORD3>uitfin</KEYWORD3>\r
-                       <KEYWORD3>ussfin</KEYWORD3>\r
-                       <KEYWORD3>uldfin</KEYWORD3>\r
-                       <KEYWORD3>usolfin</KEYWORD3>\r
-                       <KEYWORD3>uanbeg</KEYWORD3>\r
-                       <KEYWORD3>uanfin</KEYWORD3>\r
-                       <KEYWORD3>uelmatx</KEYWORD3>\r
-\r
-                       <!-- VA, VADD, VCLEAR, /VCONE, VCVFILL, VDELE, VDGL, VDRAG, VEXT commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- *VFILL command -->\r
-                       <KEYWORD3>data</KEYWORD3>\r
-                       <KEYWORD3>ramp</KEYWORD3>\r
-                       <KEYWORD3>rand</KEYWORD3>\r
-                       <KEYWORD3>gdis</KEYWORD3>\r
-                       <KEYWORD3>tria</KEYWORD3>\r
-                       <KEYWORD3>beta</KEYWORD3>\r
-                       <KEYWORD3>gamm</KEYWORD3>\r
-\r
-                       <!-- *VFUN command -->\r
-                       <KEYWORD3>acos</KEYWORD3>\r
-                       <KEYWORD3>asin</KEYWORD3>\r
-                       <KEYWORD3>asort</KEYWORD3>\r
-                       <KEYWORD3>atan</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>copy</KEYWORD3>\r
-                       <KEYWORD3>cos</KEYWORD3>\r
-                       <KEYWORD3>cosh</KEYWORD3>\r
-                       <KEYWORD3>dircos</KEYWORD3>\r
-                       <KEYWORD3>dsort</KEYWORD3>\r
-                       <KEYWORD3>euler</KEYWORD3>\r
-                       <KEYWORD3>exp</KEYWORD3>\r
-                       <KEYWORD3>expa</KEYWORD3>\r
-                       <KEYWORD3>log</KEYWORD3>\r
-                       <KEYWORD3>log10</KEYWORD3>\r
-                       <KEYWORD3>nint</KEYWORD3>\r
-                       <KEYWORD3>not</KEYWORD3>\r
-                       <KEYWORD3>pwr</KEYWORD3>\r
-                       <KEYWORD3>sin</KEYWORD3>\r
-                       <KEYWORD3>sinh</KEYWORD3>\r
-                       <KEYWORD3>sqrt</KEYWORD3>\r
-                       <KEYWORD3>tan</KEYWORD3>\r
-                       <KEYWORD3>tanh</KEYWORD3>\r
-                       <KEYWORD3>tang</KEYWORD3>\r
-                       <KEYWORD3>norm</KEYWORD3>\r
-                       <KEYWORD3>local</KEYWORD3>\r
-                       <KEYWORD3>global</KEYWORD3>\r
-\r
-                       <!-- VGEN command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- *VGET command -->\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>ang</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>zx</KEYWORD3>\r
-                       <KEYWORD3>,nsel</KEYWORD3>\r
-\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>cent</KEYWORD3>\r
-                       <KEYWORD3>adj</KEYWORD3>\r
-                       <KEYWORD3>attr</KEYWORD3>\r
-                       <KEYWORD3>geom</KEYWORD3>\r
-                       <KEYWORD3>,esel</KEYWORD3>\r
-                       <KEYWORD3>shpar</KEYWORD3>\r
-\r
-                       <KEYWORD3>kp</KEYWORD3>\r
-                       <KEYWORD3>div</KEYWORD3>\r
-                       <KEYWORD3>,ksel</KEYWORD3>\r
-\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>leng</KEYWORD3>\r
-                       <KEYWORD3>,lsel</KEYWORD3>\r
-\r
-                       <KEYWORD3>area</KEYWORD3>\r
-                       <KEYWORD3>loop</KEYWORD3>\r
-                       <KEYWORD3>,asel</KEYWORD3>\r
-\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>shell</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>,vsel</KEYWORD3>\r
-\r
-                       <KEYWORD3>cdsy</KEYWORD3>\r
-\r
-                       <KEYWORD3>rcon</KEYWORD3>\r
-                       <KEYWORD3>const</KEYWORD3>\r
-\r
-                       <KEYWORD3>const</KEYWORD3>\r
-                       <KEYWORD3>bkin</KEYWORD3>\r
-                       <KEYWORD3>mkin</KEYWORD3>\r
-                       <KEYWORD3>miso</KEYWORD3>\r
-                       <KEYWORD3>biso</KEYWORD3>\r
-                       <KEYWORD3>aniso</KEYWORD3>\r
-                       <KEYWORD3>dp</KEYWORD3>\r
-                       <KEYWORD3>melas</KEYWORD3>\r
-                       <KEYWORD3>user</KEYWORD3>\r
-                       <KEYWORD3>kinh</KEYWORD3>\r
-                       <KEYWORD3>anand</KEYWORD3>\r
-                       <KEYWORD3>creep</KEYWORD3>\r
-                       <KEYWORD3>swell</KEYWORD3>\r
-                       <KEYWORD3>bh</KEYWORD3>\r
-                       <KEYWORD3>piez</KEYWORD3>\r
-                       <KEYWORD3>fail</KEYWORD3>\r
-                       <KEYWORD3>mooney</KEYWORD3>\r
-                       <KEYWORD3>water</KEYWORD3>\r
-                       <KEYWORD3>anel</KEYWORD3>\r
-                       <KEYWORD3>concr</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>fcon</KEYWORD3>\r
-                       <KEYWORD3>pflow</KEYWORD3>\r
-                       <KEYWORD3>evisc</KEYWORD3>\r
-                       <KEYWORD3>plaw</KEYWORD3>\r
-                       <KEYWORD3>foam</KEYWORD3>\r
-                       <KEYWORD3>honey</KEYWORD3>\r
-                       <KEYWORD3>comp</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>eos</KEYWORD3>\r
-\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>hs</KEYWORD3>\r
-                       <KEYWORD3>bfe</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-\r
-                       <!-- VGLUE, VIMP, VINP, VINV, VLIST, VLSCALE, VMESH, VOFFST commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- /VIEW command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>wp</KEYWORD3>\r
-\r
-                       <!-- *VOPER command -->\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>sub</KEYWORD3>\r
-                       <KEYWORD3>mult</KEYWORD3>\r
-                       <KEYWORD3>div</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>lt</KEYWORD3>\r
-                       <KEYWORD3>le</KEYWORD3>\r
-                       <KEYWORD3>eq</KEYWORD3>\r
-                       <KEYWORD3>ne</KEYWORD3>\r
-                       <KEYWORD3>ge</KEYWORD3>\r
-                       <KEYWORD3>gt</KEYWORD3>\r
-                       <KEYWORD3>der1</KEYWORD3>\r
-                       <KEYWORD3>der2</KEYWORD3>\r
-                       <KEYWORD3>int1</KEYWORD3>\r
-                       <KEYWORD3>int2</KEYWORD3>\r
-                       <KEYWORD3>dot</KEYWORD3>\r
-                       <KEYWORD3>cross</KEYWORD3>\r
-                       <KEYWORD3>gath</KEYWORD3>\r
-                       <KEYWORD3>scat</KEYWORD3>\r
-\r
-                       <!-- VOVLAP, VPTN commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- VPLOT command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>dege</KEYWORD3>\r
-\r
-                       <!-- *VPUT command -->\r
-                       <KEYWORD3>node</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>rot</KEYWORD3>\r
-                       <KEYWORD3>temp</KEYWORD3>\r
-                       <KEYWORD3>pres</KEYWORD3>\r
-                       <KEYWORD3>volt</KEYWORD3>\r
-                       <KEYWORD3>mag</KEYWORD3>\r
-                       <KEYWORD3>v</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>curr</KEYWORD3>\r
-                       <KEYWORD3>emf</KEYWORD3>\r
-                       <KEYWORD3>enke</KEYWORD3>\r
-                       <KEYWORD3>ends</KEYWORD3>\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>xy</KEYWORD3>\r
-                       <KEYWORD3>yz</KEYWORD3>\r
-                       <KEYWORD3>xz</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>eqv</KEYWORD3>\r
-                       <KEYWORD3>epto</KEYWORD3>\r
-                       <KEYWORD3>epel</KEYWORD3>\r
-                       <KEYWORD3>eppl</KEYWORD3>\r
-                       <KEYWORD3>epcr</KEYWORD3>\r
-                       <KEYWORD3>epth</KEYWORD3>\r
-                       <KEYWORD3>epsw</KEYWORD3>\r
-                       <KEYWORD3>nl</KEYWORD3>\r
-                       <KEYWORD3>sepl</KEYWORD3>\r
-                       <KEYWORD3>srat</KEYWORD3>\r
-                       <KEYWORD3>hpres</KEYWORD3>\r
-                       <KEYWORD3>epeq</KEYWORD3>\r
-                       <KEYWORD3>psv</KEYWORD3>\r
-                       <KEYWORD3>plwk</KEYWORD3>\r
-                       <KEYWORD3>tg</KEYWORD3>\r
-                       <KEYWORD3>tf</KEYWORD3>\r
-                       <KEYWORD3>pg</KEYWORD3>\r
-                       <KEYWORD3>ef</KEYWORD3>\r
-                       <KEYWORD3>,d</KEYWORD3>\r
-                       <KEYWORD3>h</KEYWORD3>\r
-                       <KEYWORD3>b</KEYWORD3>\r
-                       <KEYWORD3>fmag</KEYWORD3>\r
-                       <KEYWORD3>ttot</KEYWORD3>\r
-                       <KEYWORD3>hflu</KEYWORD3>\r
-                       <KEYWORD3>hflm</KEYWORD3>\r
-                       <KEYWORD3>cond</KEYWORD3>\r
-                       <KEYWORD3>pcoe</KEYWORD3>\r
-                       <KEYWORD3>ptot</KEYWORD3>\r
-                       <KEYWORD3>mach</KEYWORD3>\r
-                       <KEYWORD3>strm</KEYWORD3>\r
-                       <KEYWORD3>dens</KEYWORD3>\r
-                       <KEYWORD3>visc</KEYWORD3>\r
-                       <KEYWORD3>evis</KEYWORD3>\r
-                       <KEYWORD3>econ</KEYWORD3>\r
-                       <KEYWORD3>yplu</KEYWORD3>\r
-                       <KEYWORD3>tauw</KEYWORD3>\r
-\r
-                       <KEYWORD3>elem</KEYWORD3>\r
-                       <KEYWORD3>etab</KEYWORD3>\r
-\r
-                       <!-- VROTAT command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- VSBA, VSBV, VSBW commands -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>sepo</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-\r
-                       <!-- *VSCFUN command -->\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>lmax</KEYWORD3>\r
-                       <KEYWORD3>lmin</KEYWORD3>\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>medi</KEYWORD3>\r
-                       <KEYWORD3>mean</KEYWORD3>\r
-                       <KEYWORD3>vari</KEYWORD3>\r
-                       <KEYWORD3>stdv</KEYWORD3>\r
-                       <KEYWORD3>rms</KEYWORD3>\r
-                       <KEYWORD3>num</KEYWORD3>\r
-\r
-                       <!-- VSEL, VSLA commands -->\r
-                       <KEYWORD3>s</KEYWORD3>\r
-                       <KEYWORD3>,r</KEYWORD3>\r
-                       <KEYWORD3>,a</KEYWORD3>\r
-                       <KEYWORD3>u</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>inve</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>volu</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>,mat</KEYWORD3>\r
-                       <KEYWORD3>,type</KEYWORD3>\r
-                       <KEYWORD3>,real</KEYWORD3>\r
-                       <KEYWORD3>,esys</KEYWORD3>\r
-\r
-                       <!-- VSUM command -->\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>fine</KEYWORD3>\r
-\r
-                       <!-- VSWEEP command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- VSYMM, VTRAN, /VUP commands -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>p</KEYWORD3>\r
-                       <KEYWORD3>-x</KEYWORD3>\r
-                       <KEYWORD3>-y</KEYWORD3>\r
-                       <KEYWORD3>-z</KEYWORD3>\r
-\r
-                       <!-- WAVES command -->\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>rms</KEYWORD3>\r
-\r
-                       <!-- /WINDOW command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>full</KEYWORD3>\r
-                       <KEYWORD3>left</KEYWORD3>\r
-                       <KEYWORD3>righ</KEYWORD3>\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>bot</KEYWORD3>\r
-                       <KEYWORD3>ltop</KEYWORD3>\r
-                       <KEYWORD3>lbot</KEYWORD3>\r
-                       <KEYWORD3>rtop</KEYWORD3>\r
-                       <KEYWORD3>rbot</KEYWORD3>\r
-                       <KEYWORD3>squa</KEYWORD3>\r
-                       <KEYWORD3>dele</KEYWORD3>\r
-\r
-                       <!-- WPAVE command -->\r
-                       <KEYWORD3>p</KEYWORD3>\r
-\r
-                       <!-- WSORT command -->\r
-                       <KEYWORD3>x</KEYWORD3>\r
-                       <KEYWORD3>y</KEYWORD3>\r
-                       <KEYWORD3>z</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>rms</KEYWORD3>\r
-\r
-                       <!-- WSTART command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /YRANGE command -->\r
-                       <KEYWORD3>all</KEYWORD3>\r
-\r
-                       <!-- /ZOOM command -->\r
-                       <KEYWORD3>off</KEYWORD3>\r
-                       <KEYWORD3>back</KEYWORD3>\r
-                       <KEYWORD3>scrn</KEYWORD3>\r
-                       <KEYWORD3>rect</KEYWORD3>\r
-                       \r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/applescript.xml b/extra/xmode/modes/applescript.xml
deleted file mode 100644 (file)
index f4d18e0..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- AppleScript mode by Kris Kopicki (21/8/2002) -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-               <PROPERTY NAME="commentStart" VALUE="(*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*)" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>(*</BEGIN>\r
-                       <END>*)</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               \r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">­</SEQ>\r
-\r
-       <!-- Constants -->\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="application"\r
-                       AT_WORD_START="TRUE"\r
-               >application[\t\s]+responses</SEQ_REGEXP>\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="current"\r
-                       AT_WORD_START="TRUE"\r
-               >current[\t\s]+application</SEQ_REGEXP>\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="white"\r
-                       AT_WORD_START="TRUE"\r
-               >white[\t\s]+space</SEQ_REGEXP>\r
-               \r
-               <!-- Text Styles -->\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="all"\r
-               >all[\t\s]+caps</SEQ_REGEXP>\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="all"\r
-                       AT_WORD_START="TRUE"\r
-               >all[\t\s]+lowercase</SEQ_REGEXP>\r
-               <SEQ_REGEXP\r
-                       TYPE="LITERAL2"\r
-                       HASH_CHAR="small"\r
-                       AT_WORD_START="TRUE"\r
-               >small[\t\s]+caps</SEQ_REGEXP>\r
-       \r
-       <!-- Predefined Variables -->\r
-               <SEQ_REGEXP\r
-                       TYPE="KEYWORD3"\r
-                       HASH_CHAR="missing"\r
-                       AT_WORD_START="TRUE"\r
-               >missing[\t\s]+value</SEQ_REGEXP>\r
-               \r
-               <KEYWORDS>\r
-               <!-- Keywords -->\r
-                       <KEYWORD1>script</KEYWORD1>\r
-                       <KEYWORD1>property</KEYWORD1>\r
-                       <KEYWORD1>prop</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-                       <KEYWORD1>global</KEYWORD1>\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>on</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>given</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>without</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>tell</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>times</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>from</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>error</KEYWORD1>\r
-                       <KEYWORD1>considering</KEYWORD1>\r
-                       <KEYWORD1>ignoring</KEYWORD1>\r
-                       <KEYWORD1>timeout</KEYWORD1>\r
-                       <KEYWORD1>transaction</KEYWORD1>\r
-                       <KEYWORD1>my</KEYWORD1>\r
-                       <KEYWORD1>get</KEYWORD1>\r
-                       <KEYWORD1>put</KEYWORD1>\r
-                       <KEYWORD1>into</KEYWORD1>\r
-                       <KEYWORD1>is</KEYWORD1>\r
-               \r
-               <!-- References -->\r
-                       <KEYWORD2>each</KEYWORD2>\r
-                       <KEYWORD2>some</KEYWORD2>\r
-                       <KEYWORD2>every</KEYWORD2>\r
-                       <KEYWORD2>whose</KEYWORD2>\r
-                       <KEYWORD2>where</KEYWORD2>\r
-                       <KEYWORD2>id</KEYWORD2>\r
-                       <KEYWORD2>index</KEYWORD2>\r
-                       <KEYWORD2>first</KEYWORD2>\r
-                       <KEYWORD2>second</KEYWORD2>\r
-                       <KEYWORD2>third</KEYWORD2>\r
-                       <KEYWORD2>fourth</KEYWORD2>\r
-                       <KEYWORD2>fifth</KEYWORD2>\r
-                       <KEYWORD2>sixth</KEYWORD2>\r
-                       <KEYWORD2>seventh</KEYWORD2>\r
-                       <KEYWORD2>eighth</KEYWORD2>\r
-                       <KEYWORD2>ninth</KEYWORD2>\r
-                       <KEYWORD2>tenth</KEYWORD2>\r
-                       <KEYWORD2>last</KEYWORD2>\r
-                       <KEYWORD2>front</KEYWORD2>\r
-                       <KEYWORD2>back</KEYWORD2>\r
-                       <KEYWORD2>st</KEYWORD2>\r
-                       <KEYWORD2>nd</KEYWORD2>\r
-                       <KEYWORD2>rd</KEYWORD2>\r
-                       <KEYWORD2>th</KEYWORD2>\r
-                       <KEYWORD2>middle</KEYWORD2>\r
-                       <KEYWORD2>named</KEYWORD2>\r
-                       <KEYWORD2>through</KEYWORD2>\r
-                       <KEYWORD2>thru</KEYWORD2>\r
-                       <KEYWORD2>before</KEYWORD2>\r
-                       <KEYWORD2>after</KEYWORD2>\r
-                       <KEYWORD2>beginning</KEYWORD2>\r
-                       <KEYWORD2>the</KEYWORD2>\r
-               \r
-               <!-- Commands -->\r
-                       <KEYWORD3>close</KEYWORD3>\r
-                       <KEYWORD3>copy</KEYWORD3>\r
-                       <KEYWORD3>count</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>duplicate</KEYWORD3>\r
-                       <KEYWORD3>exists</KEYWORD3>\r
-                       <KEYWORD3>launch</KEYWORD3>\r
-                       <KEYWORD3>make</KEYWORD3>\r
-                       <KEYWORD3>move</KEYWORD3>\r
-                       <KEYWORD3>open</KEYWORD3>\r
-                       <KEYWORD3>print</KEYWORD3>\r
-                       <KEYWORD3>quit</KEYWORD3>\r
-                       <KEYWORD3>reopen</KEYWORD3>\r
-                       <KEYWORD3>run</KEYWORD3>\r
-                       <KEYWORD3>save</KEYWORD3>\r
-                       <KEYWORD3>saving</KEYWORD3>\r
-               \r
-               <!-- Predefined Variables -->\r
-                       <LITERAL2>it</LITERAL2>\r
-                       <LITERAL2>me</LITERAL2>\r
-                       <LITERAL2>version</LITERAL2>\r
-                       <LITERAL2>pi</LITERAL2>\r
-                       <LITERAL2>result</LITERAL2>\r
-                       <LITERAL2>space</LITERAL2>\r
-                       <LITERAL2>tab</LITERAL2>\r
-                       <LITERAL2>anything</LITERAL2>\r
-               \r
-               <!-- Constants -->\r
-                       <LITERAL2>case</LITERAL2>\r
-                       <LITERAL2>diacriticals</LITERAL2>\r
-                       <LITERAL2>expansion</LITERAL2>\r
-                       <LITERAL2>hyphens</LITERAL2>\r
-                       <LITERAL2>punctuation</LITERAL2>\r
-                       \r
-                       <!-- Text Styles -->\r
-                       <LITERAL2>bold</LITERAL2>\r
-                       <LITERAL2>condensed</LITERAL2>\r
-                       <LITERAL2>expanded</LITERAL2>\r
-                       <LITERAL2>hidden</LITERAL2>\r
-                       <LITERAL2>italic</LITERAL2>\r
-                       <LITERAL2>outline</LITERAL2>\r
-                       <LITERAL2>plain</LITERAL2>\r
-                       <LITERAL2>shadow</LITERAL2>\r
-                       <LITERAL2>strikethrough</LITERAL2>\r
-                       <LITERAL2>subscript</LITERAL2>\r
-                       <LITERAL2>superscript</LITERAL2>\r
-                       <LITERAL2>underline</LITERAL2>\r
-                       \r
-                       <!-- Save options -->\r
-                       <LITERAL2>ask</LITERAL2>\r
-                       <LITERAL2>no</LITERAL2>\r
-                       <LITERAL2>yes</LITERAL2>\r
-                       \r
-                       <!-- Booleans -->\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-                       \r
-                       <!-- Date & Time -->\r
-                       <LITERAL2>weekday</LITERAL2>\r
-                       <LITERAL2>monday</LITERAL2>\r
-                       <LITERAL2>mon</LITERAL2>\r
-                       <LITERAL2>tuesday</LITERAL2>\r
-                       <LITERAL2>tue</LITERAL2>\r
-                       <LITERAL2>wednesday</LITERAL2>\r
-                       <LITERAL2>wed</LITERAL2>\r
-                       <LITERAL2>thursday</LITERAL2>\r
-                       <LITERAL2>thu</LITERAL2>\r
-                       <LITERAL2>friday</LITERAL2>\r
-                       <LITERAL2>fri</LITERAL2>\r
-                       <LITERAL2>saturday</LITERAL2>\r
-                       <LITERAL2>sat</LITERAL2>\r
-                       <LITERAL2>sunday</LITERAL2>\r
-                       <LITERAL2>sun</LITERAL2>\r
-                       \r
-                       <LITERAL2>month</LITERAL2>\r
-                       <LITERAL2>january</LITERAL2>\r
-                       <LITERAL2>jan</LITERAL2>\r
-                       <LITERAL2>february</LITERAL2>\r
-                       <LITERAL2>feb</LITERAL2>\r
-                       <LITERAL2>march</LITERAL2>\r
-                       <LITERAL2>mar</LITERAL2>\r
-                       <LITERAL2>april</LITERAL2>\r
-                       <LITERAL2>apr</LITERAL2>\r
-                       <LITERAL2>may</LITERAL2>\r
-                       <LITERAL2>june</LITERAL2>\r
-                       <LITERAL2>jun</LITERAL2>\r
-                       <LITERAL2>july</LITERAL2>\r
-                       <LITERAL2>jul</LITERAL2>\r
-                       <LITERAL2>august</LITERAL2>\r
-                       <LITERAL2>aug</LITERAL2>\r
-                       <LITERAL2>september</LITERAL2>\r
-                       <LITERAL2>sep</LITERAL2>\r
-                       <LITERAL2>october</LITERAL2>\r
-                       <LITERAL2>oct</LITERAL2>\r
-                       <LITERAL2>november</LITERAL2>\r
-                       <LITERAL2>nov</LITERAL2>\r
-                       <LITERAL2>december</LITERAL2>\r
-                       <LITERAL2>dec</LITERAL2>\r
-                       \r
-                       <LITERAL2>minutes</LITERAL2>\r
-                       <LITERAL2>hours</LITERAL2>\r
-                       <LITERAL2>days</LITERAL2>\r
-                       <LITERAL2>weeks</LITERAL2>\r
-                       \r
-               <!-- Operators -->\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <OPERATOR>not</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>as</OPERATOR>\r
-                       <OPERATOR>contains</OPERATOR>\r
-                       <OPERATOR>equal</OPERATOR>\r
-                       <OPERATOR>equals</OPERATOR>\r
-                       <OPERATOR>isn't</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/asp.xml b/extra/xmode/modes/asp.xml
deleted file mode 100644 (file)
index 01735ba..0000000
+++ /dev/null
@@ -1,518 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- ASP mode by Andre Kaplan\r
-        Updated by Simon Ruggier       -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <SEQ TYPE="MARKUP" DELEGATE="ASPVB">&lt;%@LANGUAGE="VBSCRIPT"%</SEQ>\r
-               <SEQ TYPE="MARKUP" DELEGATE="ASPJS">&lt;%@LANGUAGE="JSCRIPT"%</SEQ>\r
-               <SEQ TYPE="MARKUP" DELEGATE="ASPJS">&lt;%@LANGUAGE="JAVASCRIPT"%</SEQ>\r
-               <SEQ TYPE="MARKUP" DELEGATE="ASPPL">&lt;%@LANGUAGE="PERLSCRIPT"%</SEQ>\r
-\r
-               <!-- Inlined server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side Javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Client-side javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script language="jscript"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script language="javascript"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-Side include -->\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="ASPVB_SGML">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_STYLE">\r
-                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ******************************************************************\r
-            ASP with VBScript as default script engine\r
-            ****************************************************************** -->\r
-       <RULES SET="ASPVB" IGNORE_CASE="TRUE">\r
-               <!-- Inlined server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side Javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Client-side javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_CSJS">\r
-                       <BEGIN>&lt;script&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-Side include -->\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="ASPVB_SGML">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_STYLE">\r
-                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
-                       <BEGIN>&lt;/</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPVB_TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ******************************************************************\r
-            ASP with JScript as default script engine\r
-            ****************************************************************** -->\r
-       <RULES SET="ASPJS" IGNORE_CASE="TRUE">\r
-               <!-- Inlined server-side Javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side Javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="javascript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Client-side javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
-                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
-                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_CSJS">\r
-                       <BEGIN>&lt;script&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-Side include -->\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="ASPJS_SGML">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_STYLE">\r
-                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_TAGS">\r
-                       <BEGIN>&lt;/</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPJS_TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ******************************************************************\r
-            ASP with PerlScript as default script engine\r
-            ****************************************************************** -->\r
-       <RULES SET="ASPPL" IGNORE_CASE="TRUE">\r
-               <!-- Inlined server-side Perlscript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;script language="vbscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side Javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="jscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="javascript" runat="server"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;script language="perlscript" runat="server"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Client-side javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
-                       <BEGIN>&lt;script language="jscript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
-                       <BEGIN>&lt;script language="javascript"</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_CSJS">\r
-                       <BEGIN>&lt;script&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-Side include -->\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="ASPPL_SGML">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_STYLE">\r
-                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_TAGS">\r
-                       <BEGIN>&lt;/</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="ASPPL_TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ******************************************************************\r
-            HTML Tags\r
-            ****************************************************************** -->\r
-       <RULES SET="ASPVB_TAGS" DEFAULT="MARKUP">\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPVB_LIT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPVB_LIT1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>            \r
-       </RULES>\r
-\r
-       <RULES SET="ASPVB_LIT1" DEFAULT="LITERAL1">\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPJS_TAGS" DEFAULT="MARKUP">\r
-               <!-- Server-side JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPJS_LIT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPJS_LIT1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>            \r
-       </RULES>\r
-       \r
-       <RULES SET="ASPJS_LIT1" DEFAULT="LITERAL1">\r
-               <!-- Server-side JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPPL_TAGS" DEFAULT="MARKUP">\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPPL_LIT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE ="ASPPL_LIT1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>            \r
-       </RULES>\r
-\r
-       <RULES SET="ASPPL_LIT1" DEFAULT="LITERAL1">\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-       \r
-       <!-- These three rules sets handle server side scripts being mixed into client side javascript -->\r
-       <RULES SET="ASPVB_CSJS">\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="javascript::MAIN"/>\r
-       </RULES>\r
-       \r
-       <RULES SET="ASPJS_CSJS">\r
-               <!-- Server-side JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="javascript::MAIN"/>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPPL_CSJS">\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="javascript::MAIN"/>\r
-       </RULES>\r
-       \r
-       <!-- These three rules sets handle server side scripts being mixed into stylesheets -->\r
-       <RULES SET="ASPVB_STYLE">\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="css::MAIN"/>\r
-       </RULES>\r
-       \r
-       <RULES SET="ASPJS_STYLE">\r
-               <!-- Server-side JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="css::MAIN"/>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPPL_STYLE">\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="css::MAIN"/>\r
-       </RULES>\r
-\r
-       <!-- These three rules sets handle server side scripts being mixed into SGML Comments -->\r
-       <RULES SET="ASPVB_SGML" DEFAULT="COMMENT1">\r
-               <!-- Server-side VBScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="vbscript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPJS_SGML" DEFAULT="COMMENT1">\r
-               <!-- Server-side JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="ASPPL_SGML" DEFAULT="COMMENT1">\r
-               <!-- Server-side PerlScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="perl::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/aspect-j.xml b/extra/xmode/modes/aspect-j.xml
deleted file mode 100644 (file)
index 8c7609a..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-        <PROPS>\r
-                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-                <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-                <PROPERTY NAME="indentPrevLine"\r
-                        VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-                <!-- set this to 'true' if you want to use GNU coding style -->\r
-                <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-                <PROPERTY NAME="commentStart" VALUE="/*" />\r
-                <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-                <PROPERTY NAME="lineComment" VALUE="//" />\r
-                <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-        </PROPS>\r
-        <RULES ESCAPE="\"\r
-                IGNORE_CASE="FALSE"\r
-                HIGHLIGHT_DIGITS="TRUE"\r
-                DIGIT_RE="(0x)?[\p{XDigit}]+[lLdDfF]?">\r
-\r
-                <!-- Silly comment -->\r
-                <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-                <!-- Javadoc comment -->\r
-                <SPAN TYPE="COMMENT3" DELEGATE="java::JAVADOC">\r
-                        <BEGIN>/**</BEGIN>\r
-                        <END>*/</END>\r
-                </SPAN>\r
-\r
-                <!-- Java comment (C style) -->\r
-                <SPAN TYPE="COMMENT1">\r
-                        <BEGIN>/*</BEGIN>\r
-                        <END>*/</END>\r
-                </SPAN>\r
-\r
-                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                        <BEGIN>"</BEGIN>\r
-                        <END>"</END>\r
-                </SPAN>\r
-                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                        <BEGIN>'</BEGIN>\r
-                        <END>'</END>\r
-                </SPAN>\r
-\r
-                <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-                <SEQ TYPE="OPERATOR">=</SEQ>\r
-                <SEQ TYPE="OPERATOR">!</SEQ>\r
-                <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-                <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-                <SEQ TYPE="OPERATOR">+</SEQ>\r
-                <SEQ TYPE="OPERATOR">-</SEQ>\r
-                <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-                <!-- workaround to stop "*" from being colorized\r
-                     in import statements. -->\r
-                <SEQ TYPE="NULL">.*</SEQ>\r
-\r
-                <SEQ TYPE="OPERATOR">*</SEQ>\r
-                <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-                <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-                <SEQ TYPE="OPERATOR">%</SEQ>\r
-                <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-                <SEQ TYPE="OPERATOR">|</SEQ>\r
-                <SEQ TYPE="OPERATOR">^</SEQ>\r
-                <SEQ TYPE="OPERATOR">~</SEQ>\r
-                <SEQ TYPE="OPERATOR">}</SEQ>\r
-                <SEQ TYPE="OPERATOR">{</SEQ>\r
-                <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                        AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
-\r
-                <!-- Function calls -->\r
-                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-                               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-                <KEYWORDS>\r
-                        <KEYWORD1>abstract</KEYWORD1>\r
-                                               <KEYWORD1>break</KEYWORD1>\r
-                                               <KEYWORD1>case</KEYWORD1>\r
-                                               <KEYWORD1>catch</KEYWORD1>\r
-                                               <KEYWORD1>continue</KEYWORD1>\r
-                                               <KEYWORD1>default</KEYWORD1>\r
-                                               <KEYWORD1>do</KEYWORD1>\r
-                                               <KEYWORD1>else</KEYWORD1>\r
-                                               <KEYWORD1>extends</KEYWORD1>\r
-                                               <KEYWORD1>final</KEYWORD1>\r
-                                               <KEYWORD1>finally</KEYWORD1>\r
-                                               <KEYWORD1>for</KEYWORD1>\r
-                                               <KEYWORD1>if</KEYWORD1>\r
-                                               <KEYWORD1>implements</KEYWORD1>\r
-                                               <KEYWORD1>instanceof</KEYWORD1>\r
-                                               <KEYWORD1>native</KEYWORD1>\r
-                                               <KEYWORD1>new</KEYWORD1>\r
-                                               <KEYWORD1>private</KEYWORD1>\r
-                                               <KEYWORD1>protected</KEYWORD1>\r
-                                               <KEYWORD1>public</KEYWORD1>\r
-                                               <KEYWORD1>return</KEYWORD1>\r
-                                               <KEYWORD1>static</KEYWORD1>\r
-                                               <KEYWORD1>switch</KEYWORD1>\r
-                                               <KEYWORD1>synchronized</KEYWORD1>\r
-                                               <KEYWORD1>throw</KEYWORD1>\r
-                                               <KEYWORD1>throws</KEYWORD1>\r
-                                               <KEYWORD1>transient</KEYWORD1>\r
-                                               <KEYWORD1>try</KEYWORD1>\r
-                                               <KEYWORD1>volatile</KEYWORD1>\r
-                                               <KEYWORD1>while</KEYWORD1>\r
-\r
-                                               <KEYWORD2>package</KEYWORD2>\r
-                                               <KEYWORD2>import</KEYWORD2>\r
-\r
-                                               <KEYWORD3>boolean</KEYWORD3>\r
-                                               <KEYWORD3>byte</KEYWORD3>\r
-                                               <KEYWORD3>char</KEYWORD3>\r
-                                               <KEYWORD3>class</KEYWORD3>\r
-                                               <KEYWORD3>double</KEYWORD3>\r
-                                               <KEYWORD3>float</KEYWORD3>\r
-                                               <KEYWORD3>int</KEYWORD3>\r
-                                               <KEYWORD3>interface</KEYWORD3>\r
-                                               <KEYWORD3>long</KEYWORD3>\r
-                                               <KEYWORD3>short</KEYWORD3>\r
-                                               <KEYWORD3>void</KEYWORD3>\r
-\r
-                                               <FUNCTION>assert</FUNCTION>\r
-                                               <KEYWORD1>strictfp</KEYWORD1>\r
-\r
-                                               <LITERAL2>false</LITERAL2>\r
-                                               <LITERAL2>null</LITERAL2>\r
-                                               <LITERAL2>super</LITERAL2>\r
-                                               <LITERAL2>this</LITERAL2>\r
-                                               <LITERAL2>true</LITERAL2>\r
-\r
-                                               <INVALID>goto</INVALID>\r
-                                               <INVALID>const</INVALID>\r
-\r
-                        <KEYWORD4>args</KEYWORD4>\r
-                        <KEYWORD4>percflow</KEYWORD4>\r
-                        <KEYWORD4>get</KEYWORD4>\r
-                        <KEYWORD4>set</KEYWORD4>\r
-                        <KEYWORD4>preinitialization</KEYWORD4>\r
-                        <KEYWORD4>handler</KEYWORD4>\r
-                        <KEYWORD4>adviceexecution</KEYWORD4>\r
-                        <KEYWORD4>cflow</KEYWORD4>\r
-                        <KEYWORD4>target</KEYWORD4>\r
-                        <KEYWORD4>cflowbelow</KEYWORD4>\r
-                        <KEYWORD4>withincode</KEYWORD4>\r
-                        <KEYWORD4>declare</KEYWORD4>\r
-                        <KEYWORD4>precedence</KEYWORD4>\r
-                        <KEYWORD4>issingleton</KEYWORD4>\r
-                        <KEYWORD4>perthis</KEYWORD4>\r
-                        <KEYWORD4>pertarget</KEYWORD4>\r
-                        <KEYWORD4>privileged</KEYWORD4>\r
-                        <KEYWORD4>after</KEYWORD4>\r
-                        <KEYWORD4>around</KEYWORD4>\r
-                        <KEYWORD4>aspect</KEYWORD4>\r
-                        <KEYWORD4>before</KEYWORD4>\r
-                        <KEYWORD4>call</KEYWORD4>\r
-                        <KEYWORD4>execution</KEYWORD4>\r
-                        <KEYWORD4>initialization</KEYWORD4>\r
-                        <KEYWORD4>pointcut</KEYWORD4>\r
-                        <KEYWORD4>proceed</KEYWORD4>\r
-                        <KEYWORD4>staticinitialization</KEYWORD4>\r
-                        <KEYWORD4>within</KEYWORD4>\r
-                        <KEYWORD4>..</KEYWORD4>\r
-                </KEYWORDS>\r
-        </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-m68k.xml b/extra/xmode/modes/assembly-m68k.xml
deleted file mode 100644 (file)
index 03a6c4c..0000000
+++ /dev/null
@@ -1,508 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       M68000 Assembly mode by Igor Lesik (curoles@yahoo.com)\r
-       version 0.2 (July 24, 2006)\r
-       TODO: i)add missing size qualifiers, ii)add Xcc like instructions\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x\p{XDigit}+|\d+)">\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">*</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">$</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-\r
-               <KEYWORDS>\r
-\r
-                       <!-- ************************* REGISTERS ********************************* -->\r
-                       <!-- For sake of commonality with existing asm86 mode we use Keyword3 for registers-->\r
-\r
-                       <!-- General-purpose data registers -->\r
-                       <KEYWORD3>D0</KEYWORD3>\r
-                       <KEYWORD3>D1</KEYWORD3>\r
-                       <KEYWORD3>D2</KEYWORD3>\r
-                       <KEYWORD3>D3</KEYWORD3>\r
-                       <KEYWORD3>D4</KEYWORD3>\r
-                       <KEYWORD3>D5</KEYWORD3>\r
-                       <KEYWORD3>D6</KEYWORD3>\r
-                       <KEYWORD3>D7</KEYWORD3>\r
-\r
-                       <!-- Address registers -->\r
-                       <KEYWORD3>A0</KEYWORD3>\r
-                       <KEYWORD3>A1</KEYWORD3>\r
-                       <KEYWORD3>A2</KEYWORD3>\r
-                       <KEYWORD3>A3</KEYWORD3>\r
-                       <KEYWORD3>A4</KEYWORD3>\r
-                       <KEYWORD3>A5</KEYWORD3>\r
-                       <KEYWORD3>A6</KEYWORD3>\r
-                       <KEYWORD3>A7</KEYWORD3>\r
-\r
-                       <!-- Floating-point data registers -->\r
-                       <KEYWORD3>FP0</KEYWORD3>\r
-                       <KEYWORD3>FP1</KEYWORD3>\r
-                       <KEYWORD3>FP2</KEYWORD3>\r
-                       <KEYWORD3>FP3</KEYWORD3>\r
-                       <KEYWORD3>FP4</KEYWORD3>\r
-                       <KEYWORD3>FP5</KEYWORD3>\r
-                       <KEYWORD3>FP6</KEYWORD3>\r
-                       <KEYWORD3>FP7</KEYWORD3>\r
-\r
-                       <KEYWORD3>SP</KEYWORD3>\r
-                       <KEYWORD3>CCR</KEYWORD3>\r
-\r
-                       <!-- ************************** DIRECTIVES ********************************** -->\r
-\r
-                       <!-- Assembler directives give instructions to the assembler (not the 68000 chip which will execute\r
-                       your program) on how to assemble your program.\r
-                       These directives may be grouped into the following categories.-->\r
-\r
-                       <!-- Miscellaneous  -->\r
-                       <KEYWORD1>OPT</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>FAIL</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>REG</KEYWORD1>\r
-\r
-                       <!-- Listing Control -->\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>LIST</KEYWORD1>\r
-                       <KEYWORD1>NOLIST</KEYWORD1>\r
-                       <KEYWORD1>SPC</KEYWORD1>\r
-                       <KEYWORD1>TTL</KEYWORD1>\r
-\r
-                       <!-- Section Control -->\r
-                       <KEYWORD1>ORG</KEYWORD1>\r
-\r
-                       <!-- Symbol Definition  -->\r
-                       <KEYWORD1>EQU</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-\r
-                       <!-- Data Definition -->\r
-                       <KEYWORD1>DS</KEYWORD1>\r
-                       <KEYWORD1>DC</KEYWORD1>\r
-\r
-                       <!-- Structured Programming Constructs -->\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>ENDF</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>ENDI</KEYWORD1>\r
-                       <KEYWORD1>REPEAT</KEYWORD1>\r
-                       <KEYWORD1>UNTIL</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>DO</KEYWORD1>\r
-                       <KEYWORD1>ENDW</KEYWORD1>\r
-\r
-                       <KEYWORD1>MACRO</KEYWORD1>\r
-\r
-\r
-                       <!-- *************************** INSTRUCTIONS **************************************** -->\r
-                       <FUNCTION>ABCD</FUNCTION>\r
-                       <FUNCTION>ADD</FUNCTION>\r
-                               <FUNCTION>ADD.B</FUNCTION>\r
-                               <FUNCTION>ADD.W</FUNCTION>\r
-                               <FUNCTION>ADD.L</FUNCTION>\r
-                       <FUNCTION>ADDA</FUNCTION>\r
-                               <FUNCTION>ADDA.W</FUNCTION>\r
-                               <FUNCTION>ADDA.L</FUNCTION>\r
-                       <FUNCTION>ADDI</FUNCTION>\r
-                               <FUNCTION>ADDI.B</FUNCTION>\r
-                               <FUNCTION>ADDI.W</FUNCTION>\r
-                               <FUNCTION>ADDI.L</FUNCTION>\r
-                       <FUNCTION>ADDQ</FUNCTION>\r
-                               <FUNCTION>ADDQ.B</FUNCTION>\r
-                               <FUNCTION>ADDQ.W</FUNCTION>\r
-                               <FUNCTION>ADDQ.L</FUNCTION>\r
-                       <FUNCTION>ADDX</FUNCTION>\r
-                               <FUNCTION>ADDX.B</FUNCTION>\r
-                               <FUNCTION>ADDX.W</FUNCTION>\r
-                               <FUNCTION>ADDX.L</FUNCTION>\r
-                       <FUNCTION>AND</FUNCTION>\r
-                               <FUNCTION>AND.B</FUNCTION>\r
-                               <FUNCTION>AND.W</FUNCTION>\r
-                               <FUNCTION>AND.L</FUNCTION>\r
-                       <FUNCTION>ANDI</FUNCTION>\r
-                               <FUNCTION>ANDI.B</FUNCTION>\r
-                               <FUNCTION>ANDI.W</FUNCTION>\r
-                               <FUNCTION>ANDI.L</FUNCTION>\r
-                       <FUNCTION>ASL</FUNCTION>\r
-                               <FUNCTION>ASL.B</FUNCTION>\r
-                               <FUNCTION>ASL.W</FUNCTION>\r
-                               <FUNCTION>ASL.L</FUNCTION>\r
-                       <FUNCTION>ASR</FUNCTION>\r
-                               <FUNCTION>ASR.B</FUNCTION>\r
-                               <FUNCTION>ASR.W</FUNCTION>\r
-                               <FUNCTION>ASR.L</FUNCTION>\r
-                       <!-- Bcc -->\r
-                               <FUNCTION>BCC</FUNCTION>\r
-                               <FUNCTION>BCS</FUNCTION>\r
-                               <FUNCTION>BEQ</FUNCTION>\r
-                               <FUNCTION>BGE</FUNCTION>\r
-                               <FUNCTION>BGT</FUNCTION>\r
-                               <FUNCTION>BHI</FUNCTION>\r
-                               <FUNCTION>BLE</FUNCTION>\r
-                               <FUNCTION>BLS</FUNCTION>\r
-                               <FUNCTION>BLT</FUNCTION>\r
-                               <FUNCTION>BMI</FUNCTION>\r
-                               <FUNCTION>BNE</FUNCTION>\r
-                               <FUNCTION>BPL</FUNCTION>\r
-                               <FUNCTION>BVC</FUNCTION>\r
-                               <FUNCTION>BVS</FUNCTION>\r
-                       <FUNCTION>BCHG</FUNCTION>\r
-                       <FUNCTION>BCLR</FUNCTION>\r
-                       <FUNCTION>BFCHG</FUNCTION>\r
-                       <FUNCTION>BFCLR</FUNCTION>\r
-                       <FUNCTION>BFEXTS</FUNCTION>\r
-                       <FUNCTION>BFEXTU</FUNCTION>\r
-                       <FUNCTION>BFFF0</FUNCTION>\r
-                       <FUNCTION>BFINS</FUNCTION>\r
-                       <FUNCTION>BFSET</FUNCTION>\r
-                       <FUNCTION>BFTST</FUNCTION>\r
-                       <FUNCTION>BGND</FUNCTION>\r
-                       <FUNCTION>BKPT</FUNCTION>\r
-                       <FUNCTION>BRA</FUNCTION>\r
-                       <FUNCTION>BSET</FUNCTION>\r
-                       <FUNCTION>BSR</FUNCTION>\r
-                       <FUNCTION>BTST</FUNCTION>\r
-                       <FUNCTION>CALLM</FUNCTION>\r
-                       <FUNCTION>CAS</FUNCTION>\r
-                       <FUNCTION>CAS2</FUNCTION>\r
-                       <FUNCTION>CHK</FUNCTION>\r
-                       <FUNCTION>CHK2</FUNCTION>\r
-                       <FUNCTION>CINV</FUNCTION>\r
-                       <FUNCTION>CLR</FUNCTION>\r
-                               <FUNCTION>CLR.B</FUNCTION>\r
-                               <FUNCTION>CLR.W</FUNCTION>\r
-                               <FUNCTION>CLR.L</FUNCTION>\r
-                       <FUNCTION>CMP</FUNCTION>\r
-                               <FUNCTION>CMP.B</FUNCTION>\r
-                               <FUNCTION>CMP.W</FUNCTION>\r
-                               <FUNCTION>CMP.L</FUNCTION>\r
-                       <FUNCTION>CMPA</FUNCTION>\r
-                               <FUNCTION>CMPA.W</FUNCTION>\r
-                               <FUNCTION>CMPA.L</FUNCTION>\r
-                       <FUNCTION>CMPI</FUNCTION>\r
-                               <FUNCTION>CMPI.B</FUNCTION>\r
-                               <FUNCTION>CMPI.W</FUNCTION>\r
-                               <FUNCTION>CMPI.L</FUNCTION>\r
-                       <FUNCTION>CMPM</FUNCTION>\r
-                               <FUNCTION>CMPM.B</FUNCTION>\r
-                               <FUNCTION>CMPM.W</FUNCTION>\r
-                               <FUNCTION>CMPM.L</FUNCTION>\r
-                       <FUNCTION>CMP2</FUNCTION>\r
-                               <FUNCTION>CMP2.B</FUNCTION>\r
-                               <FUNCTION>CMP2.W</FUNCTION>\r
-                               <FUNCTION>CMP2.L</FUNCTION>\r
-                       <!-- FUNCTION>cpBcc</FUNCTION>\r
-                       <FUNCTION>cpDBcc</FUNCTION>\r
-                       <FUNCTION>cpGEN</FUNCTION>\r
-                       <FUNCTION>cpRESTORE</FUNCTION>\r
-                       <FUNCTION>cpSAVE</FUNCTION>\r
-                       <FUNCTION>cpScc</FUNCTION>\r
-                       <FUNCTION>cpTRAPcc</FUNCTION -->\r
-                       <FUNCTION>CPUSH</FUNCTION>\r
-                       <!-- DBcc -->\r
-                               <FUNCTION>DBCC</FUNCTION>\r
-                               <FUNCTION>DBCS</FUNCTION>\r
-                               <FUNCTION>DBEQ</FUNCTION>\r
-                               <FUNCTION>DBGE</FUNCTION>\r
-                               <FUNCTION>DBGT</FUNCTION>\r
-                               <FUNCTION>DBHI</FUNCTION>\r
-                               <FUNCTION>DBLE</FUNCTION>\r
-                               <FUNCTION>DBLS</FUNCTION>\r
-                               <FUNCTION>DBLT</FUNCTION>\r
-                               <FUNCTION>DBMI</FUNCTION>\r
-                               <FUNCTION>DBNE</FUNCTION>\r
-                               <FUNCTION>DBPL</FUNCTION>\r
-                               <FUNCTION>DBVC</FUNCTION>\r
-                               <FUNCTION>DBVS</FUNCTION>\r
-\r
-                       <FUNCTION>DIVS</FUNCTION>\r
-                       <FUNCTION>DIVSL</FUNCTION>\r
-                       <FUNCTION>DIVU</FUNCTION>\r
-                       <FUNCTION>DIVUL</FUNCTION>\r
-                       <FUNCTION>EOR</FUNCTION>\r
-                               <FUNCTION>EOR.B</FUNCTION>\r
-                               <FUNCTION>EOR.W</FUNCTION>\r
-                               <FUNCTION>EOR.L</FUNCTION>\r
-                       <FUNCTION>EORI</FUNCTION>\r
-                               <FUNCTION>EORI.B</FUNCTION>\r
-                               <FUNCTION>EORI.W</FUNCTION>\r
-                               <FUNCTION>EORI.L</FUNCTION>\r
-                       <FUNCTION>EXG</FUNCTION>\r
-                       <FUNCTION>EXT</FUNCTION>\r
-                       <FUNCTION>EXTB</FUNCTION>\r
-                       <FUNCTION>FABS</FUNCTION>\r
-                       <FUNCTION>FSABS</FUNCTION>\r
-                       <FUNCTION>FDABS</FUNCTION>\r
-                       <FUNCTION>FACOS</FUNCTION>\r
-                       <FUNCTION>FADD</FUNCTION>\r
-                       <FUNCTION>FSADD</FUNCTION>\r
-                       <FUNCTION>FDADD</FUNCTION>\r
-                       <FUNCTION>FASIN</FUNCTION>\r
-                       <FUNCTION>FATAN</FUNCTION>\r
-                       <FUNCTION>FATANH</FUNCTION>\r
-                       <!--FUNCTION>FBcc</FUNCTION-->\r
-                       <FUNCTION>FCMP</FUNCTION>\r
-                       <FUNCTION>FCOS</FUNCTION>\r
-                       <FUNCTION>FCOSH</FUNCTION>\r
-                       <!--FUNCTION>FDBcc</FUNCTION-->\r
-                       <FUNCTION>FDIV</FUNCTION>\r
-                       <FUNCTION>FSDIV</FUNCTION>\r
-                       <FUNCTION>FDDIV</FUNCTION>\r
-                       <FUNCTION>FETOX</FUNCTION>\r
-                       <FUNCTION>FETOXM1</FUNCTION>\r
-                       <FUNCTION>FGETEXP</FUNCTION>\r
-                       <FUNCTION>FGETMAN</FUNCTION>\r
-                       <FUNCTION>FINT</FUNCTION>\r
-                       <FUNCTION>FINTRZ</FUNCTION>\r
-                       <FUNCTION>FLOG10</FUNCTION>\r
-                       <FUNCTION>FLOG2</FUNCTION>\r
-                       <FUNCTION>FLOGN</FUNCTION>\r
-                       <FUNCTION>FLOGNP1</FUNCTION>\r
-                       <FUNCTION>FMOD</FUNCTION>\r
-                       <FUNCTION>FMOVE</FUNCTION>\r
-                       <FUNCTION>FSMOVE</FUNCTION>\r
-                       <FUNCTION>FDMOVE</FUNCTION>\r
-                       <FUNCTION>FMOVECR</FUNCTION>\r
-                       <FUNCTION>FMOVEM</FUNCTION>\r
-                       <FUNCTION>FMUL</FUNCTION>\r
-                       <FUNCTION>FSMUL</FUNCTION>\r
-                       <FUNCTION>FDMUL</FUNCTION>\r
-                       <FUNCTION>FNEG</FUNCTION>\r
-                       <FUNCTION>FSNEG</FUNCTION>\r
-                       <FUNCTION>FDNEG</FUNCTION>\r
-                       <FUNCTION>FNOP</FUNCTION>\r
-                       <FUNCTION>FREM</FUNCTION>\r
-                       <FUNCTION>FRESTORE</FUNCTION>\r
-                       <FUNCTION>FSAVE</FUNCTION>\r
-                       <FUNCTION>FSCALE</FUNCTION>\r
-                       <!--FUNCTION>FScc</FUNCTION-->\r
-                       <FUNCTION>FSGLMUL</FUNCTION>\r
-                       <FUNCTION>FSIN</FUNCTION>\r
-                       <FUNCTION>FSINCOS</FUNCTION>\r
-                       <FUNCTION>FSINH</FUNCTION>\r
-                       <FUNCTION>FSQRT</FUNCTION>\r
-                       <FUNCTION>FSSQRT</FUNCTION>\r
-                       <FUNCTION>FDSQRT</FUNCTION>\r
-                       <FUNCTION>FSUB</FUNCTION>\r
-                       <FUNCTION>FSSUB</FUNCTION>\r
-                       <FUNCTION>FDSUB</FUNCTION>\r
-                       <FUNCTION>FTAN</FUNCTION>\r
-                       <FUNCTION>FTANH</FUNCTION>\r
-                       <FUNCTION>FTENTOX</FUNCTION>\r
-                       <!--FUNCTION>FTRAPcc</FUNCTION-->\r
-                       <FUNCTION>FTST</FUNCTION>\r
-                       <FUNCTION>FTWOTOX</FUNCTION>\r
-                       <FUNCTION>ILLEGAL</FUNCTION>\r
-                       <FUNCTION>JMP</FUNCTION>\r
-                       <FUNCTION>JSR</FUNCTION>\r
-                       <FUNCTION>LEA</FUNCTION>\r
-                       <FUNCTION>LINK</FUNCTION>\r
-                       <FUNCTION>LPSTOP</FUNCTION>\r
-                       <FUNCTION>LSL</FUNCTION>\r
-                               <FUNCTION>LSL.B</FUNCTION>\r
-                               <FUNCTION>LSL.W</FUNCTION>\r
-                               <FUNCTION>LSL.L</FUNCTION>\r
-                       <FUNCTION>LSR</FUNCTION>\r
-                               <FUNCTION>LSR.B</FUNCTION>\r
-                               <FUNCTION>LSR.W</FUNCTION>\r
-                               <FUNCTION>LSR.L</FUNCTION>\r
-                       <FUNCTION>MOVE</FUNCTION>\r
-                               <FUNCTION>MOVE.B</FUNCTION>\r
-                               <FUNCTION>MOVE.W</FUNCTION>\r
-                               <FUNCTION>MOVE.L</FUNCTION>\r
-                       <FUNCTION>MOVEA</FUNCTION>\r
-                               <FUNCTION>MOVEA.W</FUNCTION>\r
-                               <FUNCTION>MOVEA.L</FUNCTION>\r
-                       <FUNCTION>MOVE16</FUNCTION>\r
-                       <FUNCTION>MOVEC</FUNCTION>\r
-                       <FUNCTION>MOVEM</FUNCTION>\r
-                       <FUNCTION>MOVEP</FUNCTION>\r
-                       <FUNCTION>MOVEQ</FUNCTION>\r
-                       <FUNCTION>MOVES</FUNCTION>\r
-                       <FUNCTION>MULS</FUNCTION>\r
-                       <FUNCTION>MULU</FUNCTION>\r
-                       <FUNCTION>NBCD</FUNCTION>\r
-                       <FUNCTION>NEG</FUNCTION>\r
-                               <FUNCTION>NEG.B</FUNCTION>\r
-                               <FUNCTION>NEG.W</FUNCTION>\r
-                               <FUNCTION>NEG.L</FUNCTION>\r
-                       <FUNCTION>NEGX</FUNCTION>\r
-                               <FUNCTION>NEGX.B</FUNCTION>\r
-                               <FUNCTION>NEGX.W</FUNCTION>\r
-                               <FUNCTION>NEGX.L</FUNCTION>\r
-                       <FUNCTION>NOP</FUNCTION>\r
-                       <FUNCTION>NOT</FUNCTION>\r
-                               <FUNCTION>NOT.B</FUNCTION>\r
-                               <FUNCTION>NOT.W</FUNCTION>\r
-                               <FUNCTION>NOT.L</FUNCTION>\r
-                       <FUNCTION>OR</FUNCTION>\r
-                               <FUNCTION>OR.B</FUNCTION>\r
-                               <FUNCTION>OR.W</FUNCTION>\r
-                               <FUNCTION>OR.L</FUNCTION>\r
-                       <FUNCTION>ORI</FUNCTION>\r
-                               <FUNCTION>ORI.B</FUNCTION>\r
-                               <FUNCTION>ORI.W</FUNCTION>\r
-                               <FUNCTION>ORI.L</FUNCTION>\r
-                       <FUNCTION>PACK</FUNCTION>\r
-                       <!--FUNCTION>PBcc</FUNCTION-->\r
-                       <!--FUNCTION>PDBcc</FUNCTION-->\r
-                       <FUNCTION>PEA</FUNCTION>\r
-                       <FUNCTION>PFLUSH</FUNCTION>\r
-                       <FUNCTION>PFLUSHA</FUNCTION>\r
-                       <FUNCTION>PFLUSHR</FUNCTION>\r
-                       <FUNCTION>PFLUSHS</FUNCTION>\r
-                       <FUNCTION>PLOAD</FUNCTION>\r
-                       <FUNCTION>PMOVE</FUNCTION>\r
-                       <FUNCTION>PRESTORE</FUNCTION>\r
-                       <FUNCTION>PSAVE</FUNCTION>\r
-                       <!--FUNCTION>PScc</FUNCTION-->\r
-                       <FUNCTION>PTEST</FUNCTION>\r
-                       <!--FUNCTION>PTRAPcc</FUNCTION-->\r
-                       <FUNCTION>PVALID</FUNCTION>\r
-                       <FUNCTION>RESET</FUNCTION>\r
-                       <FUNCTION>ROL</FUNCTION>\r
-                               <FUNCTION>ROL.B</FUNCTION>\r
-                               <FUNCTION>ROL.W</FUNCTION>\r
-                               <FUNCTION>ROL.L</FUNCTION>\r
-                       <FUNCTION>ROR</FUNCTION>\r
-                               <FUNCTION>ROR.B</FUNCTION>\r
-                               <FUNCTION>ROR.W</FUNCTION>\r
-                               <FUNCTION>ROR.L</FUNCTION>\r
-                       <FUNCTION>ROXL</FUNCTION>\r
-                               <FUNCTION>ROXL.B</FUNCTION>\r
-                               <FUNCTION>ROXL.W</FUNCTION>\r
-                               <FUNCTION>ROXL.L</FUNCTION>\r
-                       <FUNCTION>ROXR</FUNCTION>\r
-                               <FUNCTION>ROXR.B</FUNCTION>\r
-                               <FUNCTION>ROXR.W</FUNCTION>\r
-                               <FUNCTION>ROXR.L</FUNCTION>\r
-                       <FUNCTION>RTD</FUNCTION>\r
-                       <FUNCTION>RTE</FUNCTION>\r
-                       <FUNCTION>RTM</FUNCTION>\r
-                       <FUNCTION>RTR</FUNCTION>\r
-                       <FUNCTION>RTS</FUNCTION>\r
-                       <FUNCTION>SBCD</FUNCTION>\r
-                       <!--Scc-->\r
-                               <FUNCTION>SCC</FUNCTION>\r
-                               <FUNCTION>SCS</FUNCTION>\r
-                               <FUNCTION>SEQ</FUNCTION>\r
-                               <FUNCTION>SF</FUNCTION>\r
-                               <FUNCTION>SGE</FUNCTION>\r
-                               <FUNCTION>SGT</FUNCTION>\r
-                               <FUNCTION>SHI</FUNCTION>\r
-                               <FUNCTION>SLE</FUNCTION>\r
-                               <FUNCTION>SLS</FUNCTION>\r
-                               <FUNCTION>SLT</FUNCTION>\r
-                               <FUNCTION>SMI</FUNCTION>\r
-                               <FUNCTION>SNE</FUNCTION>\r
-                               <FUNCTION>SPL</FUNCTION>\r
-                               <FUNCTION>ST</FUNCTION>\r
-                               <FUNCTION>SVC</FUNCTION>\r
-                               <FUNCTION>SVS</FUNCTION>\r
-\r
-                       <FUNCTION>STOP</FUNCTION>\r
-                       <FUNCTION>SUB</FUNCTION>\r
-                               <FUNCTION>SUB.B</FUNCTION>\r
-                               <FUNCTION>SUB.W</FUNCTION>\r
-                               <FUNCTION>SUB.L</FUNCTION>\r
-                       <FUNCTION>SUBA</FUNCTION>\r
-                       <FUNCTION>SUBI</FUNCTION>\r
-                               <FUNCTION>SUBI.B</FUNCTION>\r
-                               <FUNCTION>SUBI.W</FUNCTION>\r
-                               <FUNCTION>SUBI.L</FUNCTION>\r
-                       <FUNCTION>SUBQ</FUNCTION>\r
-                               <FUNCTION>SUBQ.B</FUNCTION>\r
-                               <FUNCTION>SUBQ.W</FUNCTION>\r
-                               <FUNCTION>SUBQ.L</FUNCTION>\r
-                       <FUNCTION>SUBX</FUNCTION>\r
-                               <FUNCTION>SUBX.B</FUNCTION>\r
-                               <FUNCTION>SUBX.W</FUNCTION>\r
-                               <FUNCTION>SUBX.L</FUNCTION>\r
-                       <FUNCTION>SWAP</FUNCTION>\r
-                       <FUNCTION>TAS</FUNCTION>\r
-                       <FUNCTION>TBLS</FUNCTION>\r
-                       <FUNCTION>TBLSN</FUNCTION>\r
-                       <FUNCTION>TBLU</FUNCTION>\r
-                       <FUNCTION>TBLUN</FUNCTION>\r
-                       <FUNCTION>TRAP</FUNCTION>\r
-                       <!--TRAPcc-->\r
-                               <FUNCTION>TRAPCC</FUNCTION>\r
-                               <FUNCTION>TRAPCS</FUNCTION>\r
-                               <FUNCTION>TRAPEQ</FUNCTION>\r
-                               <FUNCTION>TRAPF</FUNCTION>\r
-                               <FUNCTION>TRAPGE</FUNCTION>\r
-                               <FUNCTION>TRAPGT</FUNCTION>\r
-                               <FUNCTION>TRAPHI</FUNCTION>\r
-                               <FUNCTION>TRAPLE</FUNCTION>\r
-                               <FUNCTION>TRAPLS</FUNCTION>\r
-                               <FUNCTION>TRAPLT</FUNCTION>\r
-                               <FUNCTION>TRAPMI</FUNCTION>\r
-                               <FUNCTION>TRAPNE</FUNCTION>\r
-                               <FUNCTION>TRAPPL</FUNCTION>\r
-                               <FUNCTION>TRAPT</FUNCTION>\r
-                               <FUNCTION>TRAPVC</FUNCTION>\r
-                               <FUNCTION>TRAPVS</FUNCTION>\r
-\r
-                       <FUNCTION>TRAPV</FUNCTION>\r
-                       <FUNCTION>TST</FUNCTION>\r
-                               <FUNCTION>TST.B</FUNCTION>\r
-                               <FUNCTION>TST.W</FUNCTION>\r
-                               <FUNCTION>TST.L</FUNCTION>\r
-                       <FUNCTION>UNLK</FUNCTION>\r
-                       <FUNCTION>UNPK</FUNCTION>\r
-\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-macro32.xml b/extra/xmode/modes/assembly-macro32.xml
deleted file mode 100644 (file)
index 763d17e..0000000
+++ /dev/null
@@ -1,577 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-  VAX Macro32 Assembly mode by Mark Wickens (m.wickens@rhodium-consulting.com)\r
-       based on\r
-       x86 Assembly mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- NASM: label inside a macro -->\r
-               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">%</MARK_FOLLOWING>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <!-- Unary Operators -->\r
-               <SEQ TYPE="OPERATOR">B^</SEQ>\r
-               <SEQ TYPE="OPERATOR">D^</SEQ>\r
-               <SEQ TYPE="OPERATOR">O^</SEQ>\r
-               <SEQ TYPE="OPERATOR">X^</SEQ>\r
-               <SEQ TYPE="OPERATOR">A^</SEQ>\r
-               <SEQ TYPE="OPERATOR">M^</SEQ>\r
-               <SEQ TYPE="OPERATOR">F^</SEQ>\r
-               <SEQ TYPE="OPERATOR">C^</SEQ>\r
-               <SEQ TYPE="OPERATOR">L^</SEQ>\r
-               <SEQ TYPE="OPERATOR">G^</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-\r
-               <!-- Binary Operators -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">#</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Directives -->\r
-                       <KEYWORD1>.ADDRESS</KEYWORD1>\r
-                       <KEYWORD1>.ALIGN</KEYWORD1>\r
-                       <KEYWORD1>.ALIGN</KEYWORD1>\r
-                       <KEYWORD1>.ASCIC</KEYWORD1>\r
-                       <KEYWORD1>.ASCID</KEYWORD1>\r
-                       <KEYWORD1>.ASCII</KEYWORD1>\r
-                       <KEYWORD1>.ASCIZ</KEYWORD1>\r
-                       <KEYWORD1>.BLKA</KEYWORD1>\r
-                       <KEYWORD1>.BLKB</KEYWORD1>\r
-                       <KEYWORD1>.BLKD</KEYWORD1>\r
-                       <KEYWORD1>.BLKF</KEYWORD1>\r
-                       <KEYWORD1>.BLKG</KEYWORD1>\r
-                       <KEYWORD1>.BLKH</KEYWORD1>\r
-                       <KEYWORD1>.BLKL</KEYWORD1>\r
-                       <KEYWORD1>.BLKO</KEYWORD1>\r
-                       <KEYWORD1>.BLKQ</KEYWORD1>\r
-                       <KEYWORD1>.BLKW</KEYWORD1>\r
-                       <KEYWORD1>.BYTE</KEYWORD1>\r
-                       <KEYWORD1>.CROSS</KEYWORD1>\r
-                       <KEYWORD1>.CROSS</KEYWORD1>\r
-                       <KEYWORD1>.DEBUG</KEYWORD1>\r
-                       <KEYWORD1>.DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>.D_FLOATING</KEYWORD1>\r
-                       <KEYWORD1>.DISABLE</KEYWORD1>\r
-                       <KEYWORD1>.DOUBLE</KEYWORD1>\r
-                       <KEYWORD1>.DSABL</KEYWORD1>\r
-                       <KEYWORD1>.ENABL</KEYWORD1>\r
-                       <KEYWORD1>.ENABLE</KEYWORD1>\r
-                       <KEYWORD1>.END</KEYWORD1>\r
-                       <KEYWORD1>.ENDC</KEYWORD1>\r
-                       <KEYWORD1>.ENDM</KEYWORD1>\r
-                       <KEYWORD1>.ENDR</KEYWORD1>\r
-                       <KEYWORD1>.ENTRY</KEYWORD1>\r
-                       <KEYWORD1>.ERROR</KEYWORD1>\r
-                       <KEYWORD1>.EVEN</KEYWORD1>\r
-                       <KEYWORD1>.EXTERNAL</KEYWORD1>\r
-                       <KEYWORD1>.EXTRN</KEYWORD1>\r
-                       <KEYWORD1>.F_FLOATING</KEYWORD1>\r
-                       <KEYWORD1>.FLOAT</KEYWORD1>\r
-                       <KEYWORD1>.G_FLOATING</KEYWORD1>\r
-                       <KEYWORD1>.GLOBAL</KEYWORD1>\r
-                       <KEYWORD1>.GLOBL</KEYWORD1>\r
-                       <KEYWORD1>.H_FLOATING</KEYWORD1>\r
-                       <KEYWORD1>.IDENT</KEYWORD1>\r
-                       <KEYWORD1>.IF</KEYWORD1>\r
-                       <KEYWORD1>.IFF</KEYWORD1>\r
-                       <KEYWORD1>.IF_FALSE</KEYWORD1>\r
-                       <KEYWORD1>.IFT</KEYWORD1>\r
-                       <KEYWORD1>.IFTF</KEYWORD1>\r
-                       <KEYWORD1>.IF_TRUE</KEYWORD1>\r
-                       <KEYWORD1>.IF_TRUE_FALSE</KEYWORD1>\r
-                       <KEYWORD1>.IIF</KEYWORD1>\r
-                       <KEYWORD1>.IRP</KEYWORD1>\r
-                       <KEYWORD1>.IRPC</KEYWORD1>\r
-                       <KEYWORD1>.LIBRARY</KEYWORD1>\r
-                       <KEYWORD1>.LINK</KEYWORD1>\r
-                       <KEYWORD1>.LIST</KEYWORD1>\r
-                       <KEYWORD1>.LONG</KEYWORD1>\r
-                       <KEYWORD1>.MACRO</KEYWORD1>\r
-                       <KEYWORD1>.MASK</KEYWORD1>\r
-                       <KEYWORD1>.MCALL</KEYWORD1>\r
-                       <KEYWORD1>.MDELETE</KEYWORD1>\r
-                       <KEYWORD1>.MEXIT</KEYWORD1>\r
-                       <KEYWORD1>.NARG</KEYWORD1>\r
-                       <KEYWORD1>.NCHR</KEYWORD1>\r
-                       <KEYWORD1>.NLIST</KEYWORD1>\r
-                       <KEYWORD1>.NOCROSS</KEYWORD1>\r
-                       <KEYWORD1>.NOCROSS</KEYWORD1>\r
-                       <KEYWORD1>.NOSHOW</KEYWORD1>\r
-                       <KEYWORD1>.NOSHOW</KEYWORD1>\r
-                       <KEYWORD1>.NTYPE</KEYWORD1>\r
-                       <KEYWORD1>.OCTA</KEYWORD1>\r
-                       <KEYWORD1>.OCTA</KEYWORD1>\r
-                       <KEYWORD1>.ODD</KEYWORD1>\r
-                       <KEYWORD1>.OPDEF</KEYWORD1>\r
-                       <KEYWORD1>.PACKED</KEYWORD1>\r
-                       <KEYWORD1>.PAGE</KEYWORD1>\r
-                       <KEYWORD1>.PRINT</KEYWORD1>\r
-                       <KEYWORD1>.PSECT</KEYWORD1>\r
-                       <KEYWORD1>.PSECT</KEYWORD1>\r
-                       <KEYWORD1>.QUAD</KEYWORD1>\r
-                       <KEYWORD1>.QUAD</KEYWORD1>\r
-                       <KEYWORD1>.REF1</KEYWORD1>\r
-                       <KEYWORD1>.REF2</KEYWORD1>\r
-                       <KEYWORD1>.REF4</KEYWORD1>\r
-                       <KEYWORD1>.REF8</KEYWORD1>\r
-                       <KEYWORD1>.REF16</KEYWORD1>\r
-                       <KEYWORD1>.REPEAT</KEYWORD1>\r
-                       <KEYWORD1>.REPT</KEYWORD1>\r
-                       <KEYWORD1>.RESTORE</KEYWORD1>\r
-                       <KEYWORD1>.RESTORE_PSECT</KEYWORD1>\r
-                       <KEYWORD1>.SAVE</KEYWORD1>\r
-                       <KEYWORD1>.SAVE_PSECT</KEYWORD1>\r
-                       <KEYWORD1>.SBTTL</KEYWORD1>\r
-                       <KEYWORD1>.SHOW</KEYWORD1>\r
-                       <KEYWORD1>.SHOW</KEYWORD1>\r
-                       <KEYWORD1>.SIGNED_BYTE</KEYWORD1>\r
-                       <KEYWORD1>.SIGNED_WORD</KEYWORD1>\r
-                       <KEYWORD1>.SUBTITLE</KEYWORD1>\r
-                       <KEYWORD1>.TITLE</KEYWORD1>\r
-                       <KEYWORD1>.TRANSFER</KEYWORD1>\r
-                       <KEYWORD1>.WARN</KEYWORD1>\r
-                       <KEYWORD1>.WEAK</KEYWORD1>\r
-                       <KEYWORD1>.WORD</KEYWORD1>\r
-\r
-                       <!-- Registers -->\r
-                       <KEYWORD3>R0</KEYWORD3>\r
-                       <KEYWORD3>R1</KEYWORD3>\r
-                       <KEYWORD3>R2</KEYWORD3>\r
-                       <KEYWORD3>R3</KEYWORD3>\r
-                       <KEYWORD3>R4</KEYWORD3>\r
-                       <KEYWORD3>R5</KEYWORD3>\r
-                       <KEYWORD3>R6</KEYWORD3>\r
-                       <KEYWORD3>R7</KEYWORD3>\r
-                       <KEYWORD3>R8</KEYWORD3>\r
-                       <KEYWORD3>R9</KEYWORD3>\r
-                       <KEYWORD3>R10</KEYWORD3>\r
-                       <KEYWORD3>R11</KEYWORD3>\r
-                       <KEYWORD3>R12</KEYWORD3>\r
-                       <KEYWORD3>AP</KEYWORD3>\r
-                       <KEYWORD3>FP</KEYWORD3>\r
-                       <KEYWORD3>SP</KEYWORD3>\r
-                       <KEYWORD3>PC</KEYWORD3>\r
-\r
-                       <!-- Instructions -->\r
-                       <FUNCTION>ACBB</FUNCTION>\r
-                       <FUNCTION>ACBD</FUNCTION>\r
-                       <FUNCTION>ACBF</FUNCTION>\r
-                       <FUNCTION>ACBG</FUNCTION>\r
-                       <FUNCTION>ACBH</FUNCTION>\r
-                       <FUNCTION>ACBL</FUNCTION>\r
-                       <FUNCTION>ACBW</FUNCTION>\r
-                       <FUNCTION>ADAWI</FUNCTION>\r
-                       <FUNCTION>ADDB2</FUNCTION>\r
-                       <FUNCTION>ADDB3</FUNCTION>\r
-                       <FUNCTION>ADDD2</FUNCTION>\r
-                       <FUNCTION>ADDD3</FUNCTION>\r
-                       <FUNCTION>ADDF2</FUNCTION>\r
-                       <FUNCTION>ADDF3</FUNCTION>\r
-                       <FUNCTION>ADDG2</FUNCTION>\r
-                       <FUNCTION>ADDG3</FUNCTION>\r
-                       <FUNCTION>ADDH2</FUNCTION>\r
-                       <FUNCTION>ADDH3</FUNCTION>\r
-                       <FUNCTION>ADDL2</FUNCTION>\r
-                       <FUNCTION>ADDL3</FUNCTION>\r
-                       <FUNCTION>ADDP4</FUNCTION>\r
-                       <FUNCTION>ADDP6</FUNCTION>\r
-                       <FUNCTION>ADDW2</FUNCTION>\r
-                       <FUNCTION>ADDW3</FUNCTION>\r
-                       <FUNCTION>ADWC</FUNCTION>\r
-                       <FUNCTION>AOBLEQ</FUNCTION>\r
-                       <FUNCTION>AOBLSS</FUNCTION>\r
-                       <FUNCTION>ASHL</FUNCTION>\r
-                       <FUNCTION>ASHP</FUNCTION>\r
-                       <FUNCTION>ASHQ</FUNCTION>\r
-                       <FUNCTION>BBC</FUNCTION>\r
-                       <FUNCTION>BBCC</FUNCTION>\r
-                       <FUNCTION>BBCCI</FUNCTION>\r
-                       <FUNCTION>BBCS</FUNCTION>\r
-                       <FUNCTION>BBS</FUNCTION>\r
-                       <FUNCTION>BBSC</FUNCTION>\r
-                       <FUNCTION>BBSS</FUNCTION>\r
-                       <FUNCTION>BBSSI</FUNCTION>\r
-                       <FUNCTION>BCC</FUNCTION>\r
-                       <FUNCTION>BCS</FUNCTION>\r
-                       <FUNCTION>BEQL</FUNCTION>\r
-                       <FUNCTION>BEQLU</FUNCTION>\r
-                       <FUNCTION>BGEQ</FUNCTION>\r
-                       <FUNCTION>BGEQU</FUNCTION>\r
-                       <FUNCTION>BGTR</FUNCTION>\r
-                       <FUNCTION>BGTRU</FUNCTION>\r
-                       <FUNCTION>BICB2</FUNCTION>\r
-                       <FUNCTION>BICB3</FUNCTION>\r
-                       <FUNCTION>BICL2</FUNCTION>\r
-                       <FUNCTION>BICL3</FUNCTION>\r
-                       <FUNCTION>BICPSW</FUNCTION>\r
-                       <FUNCTION>BICW2</FUNCTION>\r
-                       <FUNCTION>BICW3</FUNCTION>\r
-                       <FUNCTION>BISB2</FUNCTION>\r
-                       <FUNCTION>BISB3</FUNCTION>\r
-                       <FUNCTION>BISL2</FUNCTION>\r
-                       <FUNCTION>BISL3</FUNCTION>\r
-                       <FUNCTION>BISPSW</FUNCTION>\r
-                       <FUNCTION>BISW2</FUNCTION>\r
-                       <FUNCTION>BISW3</FUNCTION>\r
-                       <FUNCTION>BITB</FUNCTION>\r
-                       <FUNCTION>BITL</FUNCTION>\r
-                       <FUNCTION>BITW</FUNCTION>\r
-                       <FUNCTION>BLBC</FUNCTION>\r
-                       <FUNCTION>BLBS</FUNCTION>\r
-                       <FUNCTION>BLEQ</FUNCTION>\r
-                       <FUNCTION>BLEQU</FUNCTION>\r
-                       <FUNCTION>BLSS</FUNCTION>\r
-                       <FUNCTION>BLSSU</FUNCTION>\r
-                       <FUNCTION>BNEQ</FUNCTION>\r
-                       <FUNCTION>BNEQU</FUNCTION>\r
-                       <FUNCTION>BPT</FUNCTION>\r
-                       <FUNCTION>BRB</FUNCTION>\r
-                       <FUNCTION>BRW</FUNCTION>\r
-                       <FUNCTION>BSBB</FUNCTION>\r
-                       <FUNCTION>BSBW</FUNCTION>\r
-                       <FUNCTION>BVC</FUNCTION>\r
-                       <FUNCTION>BVS</FUNCTION>\r
-                       <FUNCTION>CALLG</FUNCTION>\r
-                       <FUNCTION>CALLS</FUNCTION>\r
-                       <FUNCTION>CASEB</FUNCTION>\r
-                       <FUNCTION>CASEL</FUNCTION>\r
-                       <FUNCTION>CASEW</FUNCTION>\r
-                       <FUNCTION>CHME</FUNCTION>\r
-                       <FUNCTION>CHMK</FUNCTION>\r
-                       <FUNCTION>CHMS</FUNCTION>\r
-                       <FUNCTION>CHMU</FUNCTION>\r
-                       <FUNCTION>CLRB</FUNCTION>\r
-                       <FUNCTION>CLRD</FUNCTION>\r
-                       <FUNCTION>CLRF</FUNCTION>\r
-                       <FUNCTION>CLRG</FUNCTION>\r
-                       <FUNCTION>CLRH</FUNCTION>\r
-                       <FUNCTION>CLRL</FUNCTION>\r
-                       <FUNCTION>CLRO</FUNCTION>\r
-                       <FUNCTION>CLRQ</FUNCTION>\r
-                       <FUNCTION>CLRW</FUNCTION>\r
-                       <FUNCTION>CMPB</FUNCTION>\r
-                       <FUNCTION>CMPC3</FUNCTION>\r
-                       <FUNCTION>CMPC5</FUNCTION>\r
-                       <FUNCTION>CMPD</FUNCTION>\r
-                       <FUNCTION>CMPF</FUNCTION>\r
-                       <FUNCTION>CMPG</FUNCTION>\r
-                       <FUNCTION>CMPH</FUNCTION>\r
-                       <FUNCTION>CMPL</FUNCTION>\r
-                       <FUNCTION>CMPP3</FUNCTION>\r
-                       <FUNCTION>CMPP4</FUNCTION>\r
-                       <FUNCTION>CMPV</FUNCTION>\r
-                       <FUNCTION>CMPW</FUNCTION>\r
-                       <FUNCTION>CMPZV</FUNCTION>\r
-                       <FUNCTION>CRC</FUNCTION>\r
-                       <FUNCTION>CVTBD</FUNCTION>\r
-                       <FUNCTION>CVTBF</FUNCTION>\r
-                       <FUNCTION>CVTBG</FUNCTION>\r
-                       <FUNCTION>CVTBH</FUNCTION>\r
-                       <FUNCTION>CVTBL</FUNCTION>\r
-                       <FUNCTION>CVTBW</FUNCTION>\r
-                       <FUNCTION>CVTDB</FUNCTION>\r
-                       <FUNCTION>CVTDF</FUNCTION>\r
-                       <FUNCTION>CVTDH</FUNCTION>\r
-                       <FUNCTION>CVTDL</FUNCTION>\r
-                       <FUNCTION>CVTDW</FUNCTION>\r
-                       <FUNCTION>CVTFB</FUNCTION>\r
-                       <FUNCTION>CVTFD</FUNCTION>\r
-                       <FUNCTION>CVTFG</FUNCTION>\r
-                       <FUNCTION>CVTFH</FUNCTION>\r
-                       <FUNCTION>CVTFL</FUNCTION>\r
-                       <FUNCTION>CVTFW</FUNCTION>\r
-                       <FUNCTION>CVTGB</FUNCTION>\r
-                       <FUNCTION>CVTGF</FUNCTION>\r
-                       <FUNCTION>CVTGH</FUNCTION>\r
-                       <FUNCTION>CVTGL</FUNCTION>\r
-                       <FUNCTION>CVTGW</FUNCTION>\r
-                       <FUNCTION>CVTHB</FUNCTION>\r
-                       <FUNCTION>CVTHD</FUNCTION>\r
-                       <FUNCTION>CVTHF</FUNCTION>\r
-                       <FUNCTION>CVTHG</FUNCTION>\r
-                       <FUNCTION>CVTHL</FUNCTION>\r
-                       <FUNCTION>CVTHW</FUNCTION>\r
-                       <FUNCTION>CVTLB</FUNCTION>\r
-                       <FUNCTION>CVTLD</FUNCTION>\r
-                       <FUNCTION>CVTLF</FUNCTION>\r
-                       <FUNCTION>CVTLG</FUNCTION>\r
-                       <FUNCTION>CVTLH</FUNCTION>\r
-                       <FUNCTION>CVTLP</FUNCTION>\r
-                       <FUNCTION>CVTLW</FUNCTION>\r
-                       <FUNCTION>CVTPL</FUNCTION>\r
-                       <FUNCTION>CVTPS</FUNCTION>\r
-                       <FUNCTION>CVTPT</FUNCTION>\r
-                       <FUNCTION>CVTRDL</FUNCTION>\r
-                       <FUNCTION>CVTRFL</FUNCTION>\r
-                       <FUNCTION>CVTRGL</FUNCTION>\r
-                       <FUNCTION>CVTRHL</FUNCTION>\r
-                       <FUNCTION>CVTSP</FUNCTION>\r
-                       <FUNCTION>CVTTP</FUNCTION>\r
-                       <FUNCTION>CVTWB</FUNCTION>\r
-                       <FUNCTION>CVTWD</FUNCTION>\r
-                       <FUNCTION>CVTWF</FUNCTION>\r
-                       <FUNCTION>CVTWG</FUNCTION>\r
-                       <FUNCTION>CVTWH</FUNCTION>\r
-                       <FUNCTION>CVTWL</FUNCTION>\r
-                       <FUNCTION>DECB</FUNCTION>\r
-                       <FUNCTION>DECL</FUNCTION>\r
-                       <FUNCTION>DECW</FUNCTION>\r
-                       <FUNCTION>DIVB2</FUNCTION>\r
-                       <FUNCTION>DIVB3</FUNCTION>\r
-                       <FUNCTION>DIVD2</FUNCTION>\r
-                       <FUNCTION>DIVD3</FUNCTION>\r
-                       <FUNCTION>DIVF2</FUNCTION>\r
-                       <FUNCTION>DIVF3</FUNCTION>\r
-                       <FUNCTION>DIVG2</FUNCTION>\r
-                       <FUNCTION>DIVG3</FUNCTION>\r
-                       <FUNCTION>DIVH2</FUNCTION>\r
-                       <FUNCTION>DIVH3</FUNCTION>\r
-                       <FUNCTION>DIVL2</FUNCTION>\r
-                       <FUNCTION>DIVL3</FUNCTION>\r
-                       <FUNCTION>DIVP</FUNCTION>\r
-                       <FUNCTION>DIVW2</FUNCTION>\r
-                       <FUNCTION>DIVW3</FUNCTION>\r
-                       <FUNCTION>EDITPC</FUNCTION>\r
-                       <FUNCTION>EDIV</FUNCTION>\r
-                       <FUNCTION>EMODD</FUNCTION>\r
-                       <FUNCTION>EMODF</FUNCTION>\r
-                       <FUNCTION>EMODG</FUNCTION>\r
-                       <FUNCTION>EMODH</FUNCTION>\r
-                       <FUNCTION>EMUL</FUNCTION>\r
-                       <FUNCTION>EXTV</FUNCTION>\r
-                       <FUNCTION>EXTZV</FUNCTION>\r
-                       <FUNCTION>FFC</FUNCTION>\r
-                       <FUNCTION>FFS</FUNCTION>\r
-                       <FUNCTION>HALT</FUNCTION>\r
-                       <FUNCTION>INCB</FUNCTION>\r
-                       <FUNCTION>INCL</FUNCTION>\r
-                       <FUNCTION>INCW</FUNCTION>\r
-                       <FUNCTION>INDEX</FUNCTION>\r
-                       <FUNCTION>INSQHI</FUNCTION>\r
-                       <FUNCTION>INSQTI</FUNCTION>\r
-                       <FUNCTION>INSQUE</FUNCTION>\r
-                       <FUNCTION>INSV</FUNCTION>\r
-                       <FUNCTION>IOTA</FUNCTION>\r
-                       <FUNCTION>JMP</FUNCTION>\r
-                       <FUNCTION>JSB</FUNCTION>\r
-                       <FUNCTION>LDPCTX</FUNCTION>\r
-                       <FUNCTION>LOCC</FUNCTION>\r
-                       <FUNCTION>MATCHC</FUNCTION>\r
-                       <FUNCTION>MCOMB</FUNCTION>\r
-                       <FUNCTION>MCOML</FUNCTION>\r
-                       <FUNCTION>MCOMW</FUNCTION>\r
-                       <FUNCTION>MFPR</FUNCTION>\r
-                       <FUNCTION>MFVP</FUNCTION>\r
-                       <FUNCTION>MNEGB</FUNCTION>\r
-                       <FUNCTION>MNEGD</FUNCTION>\r
-                       <FUNCTION>MNEGF</FUNCTION>\r
-                       <FUNCTION>MNEGG</FUNCTION>\r
-                       <FUNCTION>MNEGH</FUNCTION>\r
-                       <FUNCTION>MNEGL</FUNCTION>\r
-                       <FUNCTION>MNEGW</FUNCTION>\r
-                       <FUNCTION>MOVAB</FUNCTION>\r
-                       <FUNCTION>MOVAD</FUNCTION>\r
-                       <FUNCTION>MOVAF</FUNCTION>\r
-                       <FUNCTION>MOVAG</FUNCTION>\r
-                       <FUNCTION>MOVAH</FUNCTION>\r
-                       <FUNCTION>MOVAL</FUNCTION>\r
-                       <FUNCTION>MOVAO</FUNCTION>\r
-                       <FUNCTION>MOVAQ</FUNCTION>\r
-                       <FUNCTION>MOVAW</FUNCTION>\r
-                       <FUNCTION>MOVB</FUNCTION>\r
-                       <FUNCTION>MOVC3</FUNCTION>\r
-                       <FUNCTION>MOVC5</FUNCTION>\r
-                       <FUNCTION>MOVD</FUNCTION>\r
-                       <FUNCTION>MOVF</FUNCTION>\r
-                       <FUNCTION>MOVG</FUNCTION>\r
-                       <FUNCTION>MOVH</FUNCTION>\r
-                       <FUNCTION>MOVL</FUNCTION>\r
-                       <FUNCTION>MOVO</FUNCTION>\r
-                       <FUNCTION>MOVP</FUNCTION>\r
-                       <FUNCTION>MOVPSL</FUNCTION>\r
-                       <FUNCTION>MOVQ</FUNCTION>\r
-                       <FUNCTION>MOVTC</FUNCTION>\r
-                       <FUNCTION>MOVTUC</FUNCTION>\r
-                       <FUNCTION>MOVW</FUNCTION>\r
-                       <FUNCTION>MOVZBL</FUNCTION>\r
-                       <FUNCTION>MOVZBW</FUNCTION>\r
-                       <FUNCTION>MOVZWL</FUNCTION>\r
-                       <FUNCTION>MTPR</FUNCTION>\r
-                       <FUNCTION>MTVP</FUNCTION>\r
-                       <FUNCTION>MULB2</FUNCTION>\r
-                       <FUNCTION>MULB3</FUNCTION>\r
-                       <FUNCTION>MULD2</FUNCTION>\r
-                       <FUNCTION>MULD3</FUNCTION>\r
-                       <FUNCTION>MULF2</FUNCTION>\r
-                       <FUNCTION>MULF3</FUNCTION>\r
-                       <FUNCTION>MULG2</FUNCTION>\r
-                       <FUNCTION>MULG3</FUNCTION>\r
-                       <FUNCTION>MULH2</FUNCTION>\r
-                       <FUNCTION>MULH3</FUNCTION>\r
-                       <FUNCTION>MULL2</FUNCTION>\r
-                       <FUNCTION>MULL3</FUNCTION>\r
-                       <FUNCTION>MULP</FUNCTION>\r
-                       <FUNCTION>MULW2</FUNCTION>\r
-                       <FUNCTION>MULW3</FUNCTION>\r
-                       <FUNCTION>NOP</FUNCTION>\r
-                       <FUNCTION>POLYD</FUNCTION>\r
-                       <FUNCTION>POLYF</FUNCTION>\r
-                       <FUNCTION>POLYG</FUNCTION>\r
-                       <FUNCTION>POLYH</FUNCTION>\r
-                       <FUNCTION>POPR</FUNCTION>\r
-                       <FUNCTION>PROBER</FUNCTION>\r
-                       <FUNCTION>PROBEW</FUNCTION>\r
-                       <FUNCTION>PUSHAB</FUNCTION>\r
-                       <FUNCTION>PUSHABL</FUNCTION>\r
-                       <FUNCTION>PUSHAL</FUNCTION>\r
-                       <FUNCTION>PUSHAD</FUNCTION>\r
-                       <FUNCTION>PUSHAF</FUNCTION>\r
-                       <FUNCTION>PUSHAG</FUNCTION>\r
-                       <FUNCTION>PUSHAH</FUNCTION>\r
-                       <FUNCTION>PUSHAL</FUNCTION>\r
-                       <FUNCTION>PUSHAO</FUNCTION>\r
-                       <FUNCTION>PUSHAQ</FUNCTION>\r
-                       <FUNCTION>PUSHAW</FUNCTION>\r
-                       <FUNCTION>PUSHL</FUNCTION>\r
-                       <FUNCTION>PUSHR</FUNCTION>\r
-                       <FUNCTION>REI</FUNCTION>\r
-                       <FUNCTION>REMQHI</FUNCTION>\r
-                       <FUNCTION>REMQTI</FUNCTION>\r
-                       <FUNCTION>REMQUE</FUNCTION>\r
-                       <FUNCTION>RET</FUNCTION>\r
-                       <FUNCTION>ROTL</FUNCTION>\r
-                       <FUNCTION>RSB</FUNCTION>\r
-                       <FUNCTION>SBWC</FUNCTION>\r
-                       <FUNCTION>SCANC</FUNCTION>\r
-                       <FUNCTION>SKPC</FUNCTION>\r
-                       <FUNCTION>SOBGEQ</FUNCTION>\r
-                       <FUNCTION>SOBGTR</FUNCTION>\r
-                       <FUNCTION>SPANC</FUNCTION>\r
-                       <FUNCTION>SUBB2</FUNCTION>\r
-                       <FUNCTION>SUBB3</FUNCTION>\r
-                       <FUNCTION>SUBD2</FUNCTION>\r
-                       <FUNCTION>SUBD3</FUNCTION>\r
-                       <FUNCTION>SUBF2</FUNCTION>\r
-                       <FUNCTION>SUBF3</FUNCTION>\r
-                       <FUNCTION>SUBG2</FUNCTION>\r
-                       <FUNCTION>SUBG3</FUNCTION>\r
-                       <FUNCTION>SUBH2</FUNCTION>\r
-                       <FUNCTION>SUBH3</FUNCTION>\r
-                       <FUNCTION>SUBL2</FUNCTION>\r
-                       <FUNCTION>SUBL3</FUNCTION>\r
-                       <FUNCTION>SUBP4</FUNCTION>\r
-                       <FUNCTION>SUBP6</FUNCTION>\r
-                       <FUNCTION>SUBW2</FUNCTION>\r
-                       <FUNCTION>SUBW3</FUNCTION>\r
-                       <FUNCTION>SVPCTX</FUNCTION>\r
-                       <FUNCTION>TSTB</FUNCTION>\r
-                       <FUNCTION>TSTD</FUNCTION>\r
-                       <FUNCTION>TSTF</FUNCTION>\r
-                       <FUNCTION>TSTG</FUNCTION>\r
-                       <FUNCTION>TSTH</FUNCTION>\r
-                       <FUNCTION>TSTL</FUNCTION>\r
-                       <FUNCTION>TSTW</FUNCTION>\r
-                       <FUNCTION>VGATHL</FUNCTION>\r
-                       <FUNCTION>VGATHQ</FUNCTION>\r
-                       <FUNCTION>VLDL</FUNCTION>\r
-                       <FUNCTION>VLDQ</FUNCTION>\r
-                       <FUNCTION>VSADDD</FUNCTION>\r
-                       <FUNCTION>VSADDF</FUNCTION>\r
-                       <FUNCTION>VSADDG</FUNCTION>\r
-                       <FUNCTION>VSADDL</FUNCTION>\r
-                       <FUNCTION>VSBICL</FUNCTION>\r
-                       <FUNCTION>VSBISL</FUNCTION>\r
-                       <FUNCTION>VSCATL</FUNCTION>\r
-                       <FUNCTION>VSCATQ</FUNCTION>\r
-                       <FUNCTION>VSCMPD</FUNCTION>\r
-                       <FUNCTION>VSCMPF</FUNCTION>\r
-                       <FUNCTION>VSCMPG</FUNCTION>\r
-                       <FUNCTION>VSCMPL</FUNCTION>\r
-                       <FUNCTION>VSDIVD</FUNCTION>\r
-                       <FUNCTION>VSDIVF</FUNCTION>\r
-                       <FUNCTION>VSDIVG</FUNCTION>\r
-                       <FUNCTION>VSMERGE</FUNCTION>\r
-                       <FUNCTION>VSMULD</FUNCTION>\r
-                       <FUNCTION>VSMULF</FUNCTION>\r
-                       <FUNCTION>VSMULG</FUNCTION>\r
-                       <FUNCTION>VSMULL</FUNCTION>\r
-                       <FUNCTION>VSSLLL</FUNCTION>\r
-                       <FUNCTION>VSSRLL</FUNCTION>\r
-                       <FUNCTION>VSSUBD</FUNCTION>\r
-                       <FUNCTION>VSSUBF</FUNCTION>\r
-                       <FUNCTION>VSSUBG</FUNCTION>\r
-                       <FUNCTION>VSSUBL</FUNCTION>\r
-                       <FUNCTION>VSTL</FUNCTION>\r
-                       <FUNCTION>VSTQ</FUNCTION>\r
-                       <FUNCTION>VSXORL</FUNCTION>\r
-                       <FUNCTION>VSYNC</FUNCTION>\r
-                       <FUNCTION>VVADDD</FUNCTION>\r
-                       <FUNCTION>VVADDF</FUNCTION>\r
-                       <FUNCTION>VVADDG</FUNCTION>\r
-                       <FUNCTION>VVADDL</FUNCTION>\r
-                       <FUNCTION>VVBICL</FUNCTION>\r
-                       <FUNCTION>VVBISL</FUNCTION>\r
-                       <FUNCTION>VVCMPD</FUNCTION>\r
-                       <FUNCTION>VVCMPF</FUNCTION>\r
-                       <FUNCTION>VVCMPG</FUNCTION>\r
-                       <FUNCTION>VVCMPL</FUNCTION>\r
-                       <FUNCTION>VVCVT</FUNCTION>\r
-                       <FUNCTION>VVDIVD</FUNCTION>\r
-                       <FUNCTION>VVDIVF</FUNCTION>\r
-                       <FUNCTION>VVDIVG</FUNCTION>\r
-                       <FUNCTION>VVMERGE</FUNCTION>\r
-                       <FUNCTION>VVMULD</FUNCTION>\r
-                       <FUNCTION>VVMULF</FUNCTION>\r
-                       <FUNCTION>VVMULG</FUNCTION>\r
-                       <FUNCTION>VVMULL</FUNCTION>\r
-                       <FUNCTION>VVSLLL</FUNCTION>\r
-                       <FUNCTION>VVSRLL</FUNCTION>\r
-                       <FUNCTION>VVSUBD</FUNCTION>\r
-                       <FUNCTION>VVSUBF</FUNCTION>\r
-                       <FUNCTION>VVSUBG</FUNCTION>\r
-                       <FUNCTION>VVSUBL</FUNCTION>\r
-                       <FUNCTION>VVXORL</FUNCTION>\r
-                       <FUNCTION>XFC</FUNCTION>\r
-                       <FUNCTION>XORB2</FUNCTION>\r
-                       <FUNCTION>XORB3</FUNCTION>\r
-                       <FUNCTION>XORL2</FUNCTION>\r
-                       <FUNCTION>XORL3</FUNCTION>\r
-                       <FUNCTION>XORW2</FUNCTION>\r
-                       <FUNCTION>XORW3</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-mcs51.xml b/extra/xmode/modes/assembly-mcs51.xml
deleted file mode 100644 (file)
index 113e196..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       MCS51 Assembly mode by Mirco Bova (mirco.bova@libero.it)\r
-\r
-       - KEIL syntax\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- NASM: label inside a macro -->\r
-               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">$</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>MOD</KEYWORD1>\r
-                       <KEYWORD1>SHR</KEYWORD1>\r
-                       <KEYWORD1>SHL</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>XOR</KEYWORD1>\r
-                       <KEYWORD1>HIGH</KEYWORD1>\r
-                       <KEYWORD1>LOW</KEYWORD1>\r
-                       <KEYWORD1>LT</KEYWORD1>\r
-                       <KEYWORD1>LE</KEYWORD1>\r
-                       <KEYWORD1>NE</KEYWORD1>\r
-                       <KEYWORD1>EQ</KEYWORD1>\r
-                       <KEYWORD1>GE</KEYWORD1>\r
-                       <KEYWORD1>GT</KEYWORD1>\r
-                       <KEYWORD1>DPTR</KEYWORD1>\r
-                       <KEYWORD1>PC</KEYWORD1>\r
-                       <KEYWORD1>EQU</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>NUMBER</KEYWORD1>\r
-                       <KEYWORD1>CSEG</KEYWORD1>\r
-                       <KEYWORD1>XSEG</KEYWORD1>\r
-                       <KEYWORD1>DSEG</KEYWORD1>\r
-                       <KEYWORD1>ISEG</KEYWORD1>\r
-                       <KEYWORD1>BSEG</KEYWORD1>\r
-                       <KEYWORD1>RSEG</KEYWORD1>\r
-                       <KEYWORD1>NUL</KEYWORD1>\r
-                       <KEYWORD1>DB</KEYWORD1>\r
-                       <KEYWORD1>DW</KEYWORD1>\r
-                       <KEYWORD1>DWR</KEYWORD1>\r
-                       <KEYWORD1>DS</KEYWORD1>\r
-                       <KEYWORD1>DBIT</KEYWORD1>\r
-                       <KEYWORD1>ORG</KEYWORD1>\r
-                       <KEYWORD1>USING</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>NAME</KEYWORD1>\r
-                       <KEYWORD1>PUBLIC</KEYWORD1>\r
-                       <KEYWORD1>EXTRN</KEYWORD1>\r
-                       <KEYWORD1>SEGMENT</KEYWORD1>\r
-                       <KEYWORD1>UNIT</KEYWORD1>\r
-                       <KEYWORD1>BITADDRESSABLE</KEYWORD1>\r
-                       <KEYWORD1>INPAGE</KEYWORD1>\r
-                       <KEYWORD1>INBLOCK</KEYWORD1>\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>OVERLAYABLE</KEYWORD1>\r
-                       <KEYWORD1>AT</KEYWORD1>\r
-                       <KEYWORD1>STACKLEN</KEYWORD1>\r
-                       <KEYWORD1>SBIT</KEYWORD1>\r
-                       <KEYWORD1>SFR</KEYWORD1>\r
-                       <KEYWORD1>SFR16</KEYWORD1>\r
-                       <KEYWORD1>__ERROR__</KEYWORD1>\r
-                       <KEYWORD1>ACALL</KEYWORD1>\r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ADDC</KEYWORD1>\r
-                       <KEYWORD1>AJMP</KEYWORD1>\r
-                       <KEYWORD1>ANL</KEYWORD1>\r
-                       <KEYWORD1>CALL</KEYWORD1>\r
-                       <KEYWORD1>CJNE</KEYWORD1>\r
-                       <KEYWORD1>CLR</KEYWORD1>\r
-                       <KEYWORD1>CPL</KEYWORD1>\r
-                       <KEYWORD1>DA</KEYWORD1>\r
-                       <KEYWORD1>DEC</KEYWORD1>\r
-                       <KEYWORD1>DIV</KEYWORD1>\r
-                       <KEYWORD1>DJNZ</KEYWORD1>\r
-                       <KEYWORD1>INC</KEYWORD1>\r
-                       <KEYWORD1>JB</KEYWORD1>\r
-                       <KEYWORD1>JBC</KEYWORD1>\r
-                       <KEYWORD1>JC</KEYWORD1>\r
-                       <KEYWORD1>JMP</KEYWORD1>\r
-                       <KEYWORD1>JNB</KEYWORD1>\r
-                       <KEYWORD1>JNC</KEYWORD1>\r
-                       <KEYWORD1>JNZ</KEYWORD1>\r
-                       <KEYWORD1>JZ</KEYWORD1>\r
-                       <KEYWORD1>LCALL</KEYWORD1>\r
-                       <KEYWORD1>LJMP</KEYWORD1>\r
-                       <KEYWORD1>MOV</KEYWORD1>\r
-                       <KEYWORD1>MOVC</KEYWORD1>\r
-                       <KEYWORD1>MOVX</KEYWORD1>\r
-                       <KEYWORD1>MUL</KEYWORD1>\r
-                       <KEYWORD1>NOP</KEYWORD1>\r
-                       <KEYWORD1>ORL</KEYWORD1>\r
-                       <KEYWORD1>POP</KEYWORD1>\r
-                       <KEYWORD1>PUSH</KEYWORD1>\r
-                       <KEYWORD1>RET</KEYWORD1>\r
-                       <KEYWORD1>RETI</KEYWORD1>\r
-                       <KEYWORD1>RL</KEYWORD1>\r
-                       <KEYWORD1>RLC</KEYWORD1>\r
-                       <KEYWORD1>RR</KEYWORD1>\r
-                       <KEYWORD1>RRC</KEYWORD1>\r
-                       <KEYWORD1>SETB</KEYWORD1>\r
-                       <KEYWORD1>SJMP</KEYWORD1>\r
-                       <KEYWORD1>SUBB</KEYWORD1>\r
-                       <KEYWORD1>SWAP</KEYWORD1>\r
-                       <KEYWORD1>XCH</KEYWORD1>\r
-                       <KEYWORD1>XCHD</KEYWORD1>\r
-                       <KEYWORD1>XRL</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>ELSEIF</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>ENDIF</KEYWORD1>\r
-                       <KEYWORD1>MACRO</KEYWORD1>\r
-                       <KEYWORD1>REPT</KEYWORD1>\r
-                       <KEYWORD1>IRP</KEYWORD1>\r
-                       <KEYWORD1>IRPC</KEYWORD1>\r
-                       <KEYWORD1>ENDM</KEYWORD1>\r
-                       <KEYWORD1>EXITM</KEYWORD1>\r
-                       <KEYWORD1>LOCAL</KEYWORD1>\r
-                       <KEYWORD1>DPTX</KEYWORD1>\r
-                       <KEYWORD1>DPTN</KEYWORD1>\r
-                       <KEYWORD1>DPTR8</KEYWORD1>\r
-                       <KEYWORD1>DPTR16</KEYWORD1>\r
-                       <KEYWORD1>WR0</KEYWORD1>\r
-                       <KEYWORD1>WR2</KEYWORD1>\r
-                       <KEYWORD1>WR4</KEYWORD1>\r
-                       <KEYWORD1>WR6</KEYWORD1>\r
-                       <KEYWORD1>DR0</KEYWORD1>\r
-                       <KEYWORD1>DR4</KEYWORD1>\r
-                       <KEYWORD1>RJC</KEYWORD1>\r
-                       <KEYWORD1>RJNC</KEYWORD1>\r
-                       <KEYWORD1>RJZ</KEYWORD1>\r
-                       <KEYWORD1>RJNZ</KEYWORD1>\r
-                       <KEYWORD1>JMPI</KEYWORD1>\r
-                       <KEYWORD1>MOVB</KEYWORD1>\r
-                       <KEYWORD1>PUSHA</KEYWORD1>\r
-                       <KEYWORD1>POPA</KEYWORD1>\r
-                       <KEYWORD1>SUB</KEYWORD1>\r
-                       <KEYWORD1>ADDM</KEYWORD1>\r
-                       <KEYWORD1>SUBM</KEYWORD1>\r
-                       <KEYWORD1>SLEEP</KEYWORD1>\r
-                       <KEYWORD1>SYNC</KEYWORD1>\r
-                       <KEYWORD1>DEFINE</KEYWORD1>\r
-                       <KEYWORD1>SUBSTR</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>LEN</KEYWORD1>\r
-                       <KEYWORD1>EQS</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>FI</KEYWORD1>\r
-\r
-                       <KEYWORD2>$IF</KEYWORD2>\r
-                       <KEYWORD2>$ELSEIF</KEYWORD2>\r
-                       <KEYWORD2>$ELSE</KEYWORD2>\r
-                       <KEYWORD2>$ENDIF</KEYWORD2>\r
-                       <KEYWORD2>$MOD167</KEYWORD2>\r
-                       <KEYWORD2>$CASE</KEYWORD2>\r
-                       <KEYWORD2>$SEGMENTED</KEYWORD2>\r
-                       <KEYWORD2>$INCLUDE</KEYWORD2>\r
-\r
-                       <!-- memory types -->\r
-                       <KEYWORD2>CODE</KEYWORD2>\r
-                       <KEYWORD2>XDATA</KEYWORD2>\r
-                       <KEYWORD2>DATA</KEYWORD2>\r
-                       <KEYWORD2>IDATA</KEYWORD2>\r
-                       <KEYWORD2>BIT</KEYWORD2>\r
-\r
-                       <!-- Registers -->\r
-                       <KEYWORD3>R0</KEYWORD3>\r
-                       <KEYWORD3>R1</KEYWORD3>\r
-                       <KEYWORD3>R2</KEYWORD3>\r
-                       <KEYWORD3>R3</KEYWORD3>\r
-                       <KEYWORD3>R4</KEYWORD3>\r
-                       <KEYWORD3>R5</KEYWORD3>\r
-                       <KEYWORD3>R6</KEYWORD3>\r
-                       <KEYWORD3>R7</KEYWORD3>\r
-\r
-                       <KEYWORD3>SP</KEYWORD3>\r
-                       <KEYWORD3>A</KEYWORD3>\r
-                       <KEYWORD3>C</KEYWORD3>\r
-                       <KEYWORD3>AB</KEYWORD3>\r
-\r
-                       <!-- Instructions -->\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-parrot.xml b/extra/xmode/modes/assembly-parrot.xml
deleted file mode 100644 (file)
index 212e182..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-        <PROPS>\r
-                <PROPERTY NAME="lineComment" VALUE="#" />\r
-        </PROPS>\r
-        <RULES IGNORE_CASE="FALSE"\r
-                HIGHLIGHT_DIGITS="TRUE"\r
-                DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+)"\r
-        >\r
-\r
-                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                        <BEGIN>"</BEGIN>\r
-                        <END>"</END>\r
-                </SPAN>\r
-\r
-                <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-                <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                                AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-                <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-                <SEQ_REGEXP TYPE="LITERAL2"\r
-                        HASH_CHARS="ISNP"\r
-                        AT_WORD_START="TRUE"\r
-                >[ISNP]\d{1,2}</SEQ_REGEXP>\r
-\r
-                <KEYWORDS>\r
-                        <KEYWORD1>abs</KEYWORD1>\r
-                        <KEYWORD1>acos</KEYWORD1>\r
-                        <KEYWORD1>add</KEYWORD1>\r
-                        <KEYWORD1>and</KEYWORD1>\r
-                        <KEYWORD1>asec</KEYWORD1>\r
-                        <KEYWORD1>asin</KEYWORD1>\r
-                        <KEYWORD1>atan</KEYWORD1>\r
-                        <KEYWORD1>bounds</KEYWORD1>\r
-                        <KEYWORD1>branch</KEYWORD1>\r
-                        <KEYWORD1>bsr</KEYWORD1>\r
-                        <KEYWORD1>chopm</KEYWORD1>\r
-                        <KEYWORD1>cleari</KEYWORD1>\r
-                        <KEYWORD1>clearn</KEYWORD1>\r
-                        <KEYWORD1>clearp</KEYWORD1>\r
-                        <KEYWORD1>clears</KEYWORD1>\r
-                        <KEYWORD1>clone</KEYWORD1>\r
-                        <KEYWORD1>close</KEYWORD1>\r
-                        <KEYWORD1>cmod</KEYWORD1>\r
-                        <KEYWORD1>concat</KEYWORD1>\r
-                        <KEYWORD1>cos</KEYWORD1>\r
-                        <KEYWORD1>cosh</KEYWORD1>\r
-                        <KEYWORD1>debug</KEYWORD1>\r
-                        <KEYWORD1>dec</KEYWORD1>\r
-                        <KEYWORD1>div</KEYWORD1>\r
-                        <KEYWORD1>end</KEYWORD1>\r
-                        <KEYWORD1>entrytype</KEYWORD1>\r
-                        <KEYWORD1>eq</KEYWORD1>\r
-                        <KEYWORD1>err</KEYWORD1>\r
-                        <KEYWORD1>exp</KEYWORD1>\r
-                        <KEYWORD1>find_global</KEYWORD1>\r
-                        <KEYWORD1>find_type</KEYWORD1>\r
-                        <KEYWORD1>ge</KEYWORD1>\r
-                        <KEYWORD1>getfile</KEYWORD1>\r
-                        <KEYWORD1>getline</KEYWORD1>\r
-                        <KEYWORD1>getpackage</KEYWORD1>\r
-                        <KEYWORD1>gt</KEYWORD1>\r
-                        <KEYWORD1>if</KEYWORD1>\r
-                        <KEYWORD1>inc</KEYWORD1>\r
-                        <KEYWORD1>index</KEYWORD1>\r
-                        <KEYWORD1>jsr</KEYWORD1>\r
-                        <KEYWORD1>jump</KEYWORD1>\r
-                        <KEYWORD1>le</KEYWORD1>\r
-                        <KEYWORD1>length</KEYWORD1>\r
-                        <KEYWORD1>ln</KEYWORD1>\r
-                        <KEYWORD1>log2</KEYWORD1>\r
-                        <KEYWORD1>log10</KEYWORD1>\r
-                        <KEYWORD1>lt</KEYWORD1>\r
-                        <KEYWORD1>mod</KEYWORD1>\r
-                        <KEYWORD1>mul</KEYWORD1>\r
-                        <KEYWORD1>ne</KEYWORD1>\r
-                        <KEYWORD1>new</KEYWORD1>\r
-                        <KEYWORD1>newinterp</KEYWORD1>\r
-                        <KEYWORD1>noop</KEYWORD1>\r
-                        <KEYWORD1>not</KEYWORD1>\r
-                        <KEYWORD1>not</KEYWORD1>\r
-                        <KEYWORD1>open</KEYWORD1>\r
-                        <KEYWORD1>or</KEYWORD1>\r
-                        <KEYWORD1>ord</KEYWORD1>\r
-                        <KEYWORD1>pack</KEYWORD1>\r
-                        <KEYWORD1>pop</KEYWORD1>\r
-                        <KEYWORD1>popi</KEYWORD1>\r
-                        <KEYWORD1>popn</KEYWORD1>\r
-                        <KEYWORD1>popp</KEYWORD1>\r
-                        <KEYWORD1>pops</KEYWORD1>\r
-                        <KEYWORD1>pow</KEYWORD1>\r
-                        <KEYWORD1>print</KEYWORD1>\r
-                        <KEYWORD1>profile</KEYWORD1>\r
-                        <KEYWORD1>push</KEYWORD1>\r
-                        <KEYWORD1>pushi</KEYWORD1>\r
-                        <KEYWORD1>pushn</KEYWORD1>\r
-                        <KEYWORD1>pushp</KEYWORD1>\r
-                        <KEYWORD1>pushs</KEYWORD1>\r
-                        <KEYWORD1>read</KEYWORD1>\r
-                        <KEYWORD1>readline</KEYWORD1>\r
-                        <KEYWORD1>repeat</KEYWORD1>\r
-                        <KEYWORD1>restore</KEYWORD1>\r
-                        <KEYWORD1>ret</KEYWORD1>\r
-                        <KEYWORD1>rotate_up</KEYWORD1>\r
-                        <KEYWORD1>runinterp</KEYWORD1>\r
-                        <KEYWORD1>save</KEYWORD1>\r
-                        <KEYWORD1>sec</KEYWORD1>\r
-                        <KEYWORD1>sech</KEYWORD1>\r
-                        <KEYWORD1>set</KEYWORD1>\r
-                        <KEYWORD1>set_keyed</KEYWORD1>\r
-                        <KEYWORD1>setfile</KEYWORD1>\r
-                        <KEYWORD1>setline</KEYWORD1>\r
-                        <KEYWORD1>setpackage</KEYWORD1>\r
-                        <KEYWORD1>shl</KEYWORD1>\r
-                        <KEYWORD1>shr</KEYWORD1>\r
-                        <KEYWORD1>sin</KEYWORD1>\r
-                        <KEYWORD1>sinh</KEYWORD1>\r
-                        <KEYWORD1>sleep</KEYWORD1>\r
-                        <KEYWORD1>sub</KEYWORD1>\r
-                        <KEYWORD1>substr</KEYWORD1>\r
-                        <KEYWORD1>tan</KEYWORD1>\r
-                        <KEYWORD1>tanh</KEYWORD1>\r
-                        <KEYWORD1>time</KEYWORD1>\r
-                        <KEYWORD1>trace</KEYWORD1>\r
-                        <KEYWORD1>typeof</KEYWORD1>\r
-                        <KEYWORD1>unless</KEYWORD1>\r
-                        <KEYWORD1>warningsoff</KEYWORD1>\r
-                        <KEYWORD1>warningson</KEYWORD1>\r
-                        <KEYWORD1>write</KEYWORD1>\r
-                        <KEYWORD1>xor</KEYWORD1>\r
-                </KEYWORDS>\r
-        </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-r2000.xml b/extra/xmode/modes/assembly-r2000.xml
deleted file mode 100644 (file)
index 4023f54..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- MIPS/SPIM Assembly Mode from\r
-       Marc Rummel marc.rummel@stud.uni-karlsruhe.de \r
-       SIPM Homepage: http://www.cs.wisc.edu/~larus/spim.html\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="blockComment" VALUE="#" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",()" />\r
-       </PROPS>\r
-       \r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-               <!-- Comment --> \r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-               \r
-               <!-- Strings -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               \r
-               <!-- Labels -->\r
-               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-               \r
-               <!-- Assembler directives -->\r
-               <KEYWORDS>\r
-                       <KEYWORD1>.align</KEYWORD1>\r
-                       <KEYWORD1>.ascii</KEYWORD1>\r
-                       <KEYWORD1>.asciiz</KEYWORD1>\r
-                       <KEYWORD1>.byte</KEYWORD1>\r
-                       <KEYWORD1>.data</KEYWORD1>\r
-                       <KEYWORD1>.double</KEYWORD1>\r
-                       <KEYWORD1>.extern</KEYWORD1>\r
-                       <KEYWORD1>.float</KEYWORD1>\r
-                       <KEYWORD1>.globl</KEYWORD1>\r
-                       <KEYWORD1>.half</KEYWORD1>\r
-                       <KEYWORD1>.kdata</KEYWORD1>\r
-                       <KEYWORD1>.ktext</KEYWORD1>\r
-                       <KEYWORD1>.space</KEYWORD1>\r
-                       <KEYWORD1>.text</KEYWORD1>\r
-                       <KEYWORD1>.word</KEYWORD1>\r
-                       \r
-               <!-- MIPS/SPIM Operations -->\r
-                       <FUNCTION>add</FUNCTION>\r
-                       <FUNCTION>addi</FUNCTION>\r
-                       <FUNCTION>addu</FUNCTION>\r
-                       <FUNCTION>addiu</FUNCTION>\r
-                       <FUNCTION>and</FUNCTION>\r
-                       <FUNCTION>andi</FUNCTION>\r
-                       <FUNCTION>div</FUNCTION>\r
-                       <FUNCTION>divu</FUNCTION>\r
-                       <FUNCTION>mul</FUNCTION>\r
-                       <FUNCTION>mulo</FUNCTION>\r
-                       <FUNCTION>mulou</FUNCTION>\r
-                       <FUNCTION>mult</FUNCTION>\r
-                       <FUNCTION>multu</FUNCTION>\r
-                       <FUNCTION>neg</FUNCTION>\r
-                       <FUNCTION>negu</FUNCTION>\r
-                       <FUNCTION>nor</FUNCTION>\r
-                       <FUNCTION>not</FUNCTION>\r
-                       <FUNCTION>or</FUNCTION>\r
-                       <FUNCTION>ori</FUNCTION>\r
-                       <FUNCTION>rem</FUNCTION>\r
-                       <FUNCTION>remu</FUNCTION>\r
-                       <FUNCTION>rol</FUNCTION>\r
-                       <FUNCTION>ror</FUNCTION>\r
-                       <FUNCTION>sll</FUNCTION>\r
-                       <FUNCTION>sllv</FUNCTION>\r
-                       <FUNCTION>sra</FUNCTION>\r
-                       <FUNCTION>srav</FUNCTION>\r
-                       <FUNCTION>srl</FUNCTION>\r
-                       <FUNCTION>srlv</FUNCTION>\r
-                       <FUNCTION>sub</FUNCTION>\r
-                       <FUNCTION>subu</FUNCTION>\r
-                       <FUNCTION>xor</FUNCTION>\r
-                       <FUNCTION>xori</FUNCTION>\r
-                       <FUNCTION>li</FUNCTION>\r
-                       <FUNCTION>lui</FUNCTION>\r
-                       <FUNCTION>seq</FUNCTION>\r
-                       <FUNCTION>sge</FUNCTION>\r
-                       <FUNCTION>sgt</FUNCTION>\r
-                       <FUNCTION>sgtu</FUNCTION>\r
-                       <FUNCTION>sle</FUNCTION>\r
-                       <FUNCTION>sleu</FUNCTION>\r
-                       <FUNCTION>slt</FUNCTION>\r
-                       <FUNCTION>slti</FUNCTION>\r
-                       <FUNCTION>sltu</FUNCTION>\r
-                       <FUNCTION>sltiu</FUNCTION>\r
-                       <FUNCTION>sne</FUNCTION>\r
-                       <FUNCTION>b</FUNCTION>\r
-                       <FUNCTION>bczt</FUNCTION>\r
-                       <FUNCTION>bczf</FUNCTION>\r
-                       <FUNCTION>beq</FUNCTION>\r
-                       <FUNCTION>beqz</FUNCTION>\r
-                       <FUNCTION>bge</FUNCTION>\r
-                       <FUNCTION>bgeu</FUNCTION>\r
-                       <FUNCTION>bgez</FUNCTION>\r
-                       <FUNCTION>bgezal</FUNCTION>\r
-                       <FUNCTION>bgt</FUNCTION>\r
-                       <FUNCTION>bgtu</FUNCTION>\r
-                       <FUNCTION>bgtz</FUNCTION>\r
-                       <FUNCTION>ble</FUNCTION>\r
-                       <FUNCTION>bleu</FUNCTION>\r
-                       <FUNCTION>blez</FUNCTION>\r
-                       <FUNCTION>bgezal</FUNCTION>\r
-                       <FUNCTION>bltzal</FUNCTION>\r
-                       <FUNCTION>blt</FUNCTION>\r
-                       <FUNCTION>bltu</FUNCTION>\r
-                       <FUNCTION>bltz</FUNCTION>\r
-                       <FUNCTION>bne</FUNCTION>\r
-                       <FUNCTION>bnez</FUNCTION>\r
-                       <FUNCTION>j</FUNCTION>\r
-                       <FUNCTION>jal</FUNCTION>\r
-                       <FUNCTION>jalr</FUNCTION>\r
-                       <FUNCTION>jr</FUNCTION>\r
-                       <FUNCTION>la</FUNCTION>\r
-                       <FUNCTION>lb</FUNCTION>\r
-                       <FUNCTION>blu</FUNCTION>\r
-                       <FUNCTION>lh</FUNCTION>\r
-                       <FUNCTION>lhu</FUNCTION>\r
-                       <FUNCTION>lw</FUNCTION>\r
-                       <FUNCTION>lwcz</FUNCTION>\r
-                       <FUNCTION>lwl</FUNCTION>\r
-                       <FUNCTION>lwr</FUNCTION>\r
-                       <FUNCTION>ulh</FUNCTION>\r
-                       <FUNCTION>ulhu</FUNCTION>\r
-                       <FUNCTION>ulw</FUNCTION>\r
-                       <FUNCTION>sb</FUNCTION>\r
-                       <FUNCTION>sd</FUNCTION>\r
-                       <FUNCTION>sh</FUNCTION>\r
-                       <FUNCTION>sw</FUNCTION>\r
-                       <FUNCTION>swcz</FUNCTION>\r
-                       <FUNCTION>swl</FUNCTION>\r
-                       <FUNCTION>swr</FUNCTION>\r
-                       <FUNCTION>ush</FUNCTION>\r
-                       <FUNCTION>usw</FUNCTION>\r
-                       <FUNCTION>move</FUNCTION>\r
-                       <FUNCTION>mfhi</FUNCTION>\r
-                       <FUNCTION>mflo</FUNCTION>\r
-                       <FUNCTION>mthi</FUNCTION>\r
-                       <FUNCTION>mtlo</FUNCTION>\r
-                       <FUNCTION>mfcz</FUNCTION>\r
-                       <FUNCTION>mfc1.d</FUNCTION>\r
-                       <FUNCTION>mtcz</FUNCTION>\r
-                       <FUNCTION>abs.d</FUNCTION>\r
-                       <FUNCTION>abs.s</FUNCTION>\r
-                       <FUNCTION>add.d</FUNCTION>\r
-                       <FUNCTION>add.s</FUNCTION>\r
-                       <FUNCTION>c.eq.d</FUNCTION>\r
-                       <FUNCTION>c.eq.s</FUNCTION>\r
-                       <FUNCTION>c.le.d</FUNCTION>\r
-                       <FUNCTION>c.le.s</FUNCTION>\r
-                       <FUNCTION>c.lt.d</FUNCTION>\r
-                       <FUNCTION>c.lt.s</FUNCTION>\r
-                       <FUNCTION>cvt.d.s</FUNCTION>\r
-                       <FUNCTION>cbt.d.w</FUNCTION>\r
-                       <FUNCTION>cvt.s.d</FUNCTION>\r
-                       <FUNCTION>cvt.s.w</FUNCTION>\r
-                       <FUNCTION>cvt.w.d</FUNCTION>\r
-                       <FUNCTION>cvt.w.s</FUNCTION>\r
-                       <FUNCTION>div.d</FUNCTION>\r
-                       <FUNCTION>div.s</FUNCTION>\r
-                       <FUNCTION>l.d</FUNCTION>\r
-                       <FUNCTION>l.s</FUNCTION>\r
-                       <FUNCTION>mov.d</FUNCTION>\r
-                       <FUNCTION>mov.s</FUNCTION>\r
-                       <FUNCTION>mul.d</FUNCTION>\r
-                       <FUNCTION>mul.s</FUNCTION>\r
-                       <FUNCTION>neg.d</FUNCTION>\r
-                       <FUNCTION>neg.s</FUNCTION>\r
-                       <FUNCTION>s.d</FUNCTION>\r
-                       <FUNCTION>s.s</FUNCTION>\r
-                       <FUNCTION>sub.d</FUNCTION>\r
-                       <FUNCTION>sub.s</FUNCTION>\r
-                       <FUNCTION>rfe</FUNCTION>\r
-                       <FUNCTION>syscall</FUNCTION>\r
-                       <FUNCTION>break</FUNCTION>\r
-                       <FUNCTION>nop</FUNCTION>\r
-\r
-               <!-- Integer Registers -->\r
-                       <KEYWORD2>$zero</KEYWORD2>\r
-                       <KEYWORD2>$at</KEYWORD2>\r
-                       <KEYWORD2>$v0</KEYWORD2>\r
-                       <KEYWORD2>$v1</KEYWORD2>\r
-                       <KEYWORD2>$a0</KEYWORD2>\r
-                       <KEYWORD2>$a1</KEYWORD2>\r
-                       <KEYWORD2>$a2</KEYWORD2>\r
-                       <KEYWORD2>$a3</KEYWORD2>\r
-            <KEYWORD2>$t0</KEYWORD2>\r
-                       <KEYWORD2>$t1</KEYWORD2>\r
-                       <KEYWORD2>$t2</KEYWORD2>\r
-                       <KEYWORD2>$t3</KEYWORD2>\r
-                       <KEYWORD2>$t4</KEYWORD2>\r
-                       <KEYWORD2>$t5</KEYWORD2>\r
-                       <KEYWORD2>$t6</KEYWORD2>\r
-                       <KEYWORD2>$t7</KEYWORD2>\r
-                       <KEYWORD2>$s0</KEYWORD2>\r
-                       <KEYWORD2>$s1</KEYWORD2>\r
-                       <KEYWORD2>$s2</KEYWORD2>\r
-                       <KEYWORD2>$s3</KEYWORD2>\r
-                       <KEYWORD2>$s4</KEYWORD2>\r
-                       <KEYWORD2>$s5</KEYWORD2>\r
-                       <KEYWORD2>$s6</KEYWORD2>\r
-                       <KEYWORD2>$s7</KEYWORD2>\r
-                       <KEYWORD2>$t8</KEYWORD2>\r
-                       <KEYWORD2>$t9</KEYWORD2>\r
-                       <KEYWORD2>$k0</KEYWORD2>\r
-                       <KEYWORD2>$k1</KEYWORD2>\r
-            <KEYWORD2>$gp</KEYWORD2>\r
-                       <KEYWORD2>$sp</KEYWORD2>\r
-                       <KEYWORD2>$fp</KEYWORD2>\r
-                       <KEYWORD2>$ra</KEYWORD2>\r
-                       \r
-               <!-- Floating Point Registers -->\r
-                       <KEYWORD3>$f0</KEYWORD3>\r
-                       <KEYWORD3>$f1</KEYWORD3>\r
-                       <KEYWORD3>$f2</KEYWORD3>\r
-                       <KEYWORD3>$f3</KEYWORD3>\r
-                       <KEYWORD3>$f4</KEYWORD3>\r
-                       <KEYWORD3>$f5</KEYWORD3>\r
-                       <KEYWORD3>$f6</KEYWORD3>\r
-                       <KEYWORD3>$f7</KEYWORD3>\r
-                       <KEYWORD3>$f8</KEYWORD3>\r
-                       <KEYWORD3>$f9</KEYWORD3>\r
-                       <KEYWORD3>$f10</KEYWORD3>\r
-                       <KEYWORD3>$f11</KEYWORD3>\r
-                       <KEYWORD3>$f12</KEYWORD3>\r
-                       <KEYWORD3>$f13</KEYWORD3>\r
-                       <KEYWORD3>$f14</KEYWORD3>\r
-                       <KEYWORD3>$f15</KEYWORD3>\r
-                       <KEYWORD3>$f16</KEYWORD3>\r
-                       <KEYWORD3>$f17</KEYWORD3>\r
-                       <KEYWORD3>$f18</KEYWORD3>\r
-                       <KEYWORD3>$f19</KEYWORD3>\r
-                       <KEYWORD3>$f20</KEYWORD3>\r
-                       <KEYWORD3>$f21</KEYWORD3>\r
-                       <KEYWORD3>$f22</KEYWORD3>\r
-                       <KEYWORD3>$f23</KEYWORD3>\r
-                       <KEYWORD3>$f24</KEYWORD3>\r
-                       <KEYWORD3>$f25</KEYWORD3>\r
-                       <KEYWORD3>$f26</KEYWORD3>\r
-                       <KEYWORD3>$f27</KEYWORD3>\r
-                       <KEYWORD3>$f28</KEYWORD3>\r
-                       <KEYWORD3>$f29</KEYWORD3>\r
-                       <KEYWORD3>$f30</KEYWORD3>\r
-                       <KEYWORD3>$f31</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/assembly-x86.xml b/extra/xmode/modes/assembly-x86.xml
deleted file mode 100644 (file)
index 76882ae..0000000
+++ /dev/null
@@ -1,863 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       x86 Assembly mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
-\r
-       - Intel syntax\r
-       - Instructions and registers of Pentium III/Athlon\r
-         (including FPU, MMX, 3DNow! and SSE)\r
-       - Full NASM 0.98 & MASM 6.15 keyword support, partial TASM support\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- NASM: label inside a macro -->\r
-               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">%%</MARK_FOLLOWING>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">%</MARK_FOLLOWING>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>.186</KEYWORD1>\r
-                       <KEYWORD1>.286</KEYWORD1>\r
-                       <KEYWORD1>.286P</KEYWORD1>\r
-                       <KEYWORD1>.287</KEYWORD1>\r
-                       <KEYWORD1>.386</KEYWORD1>\r
-                       <KEYWORD1>.386P</KEYWORD1>\r
-                       <KEYWORD1>.387</KEYWORD1>\r
-                       <KEYWORD1>.486</KEYWORD1>\r
-                       <KEYWORD1>.486P</KEYWORD1>\r
-                       <KEYWORD1>.586</KEYWORD1>\r
-                       <KEYWORD1>.586P</KEYWORD1>\r
-                       <KEYWORD1>.686</KEYWORD1>\r
-                       <KEYWORD1>.686P</KEYWORD1>\r
-                       <KEYWORD1>.8086</KEYWORD1>\r
-                       <KEYWORD1>.8087</KEYWORD1>\r
-                       <KEYWORD1>.ALPHA</KEYWORD1>\r
-                       <KEYWORD1>.BREAK</KEYWORD1>\r
-                       <KEYWORD1>.BSS</KEYWORD1>\r
-                       <KEYWORD1>.CODE</KEYWORD1>\r
-                       <KEYWORD1>.CONST</KEYWORD1>\r
-                       <KEYWORD1>.CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>.CREF</KEYWORD1>\r
-                       <KEYWORD1>.DATA</KEYWORD1>\r
-                       <KEYWORD1>.DATA?</KEYWORD1>\r
-                       <KEYWORD1>.DOSSEG</KEYWORD1>\r
-                       <KEYWORD1>.ELSE</KEYWORD1>\r
-                       <KEYWORD1>.ELSEIF</KEYWORD1>\r
-                       <KEYWORD1>.ENDIF</KEYWORD1>\r
-                       <KEYWORD1>.ENDW</KEYWORD1>\r
-                       <KEYWORD1>.ERR</KEYWORD1>\r
-                       <KEYWORD1>.ERR1</KEYWORD1>\r
-                       <KEYWORD1>.ERR2</KEYWORD1>\r
-                       <KEYWORD1>.ERRB</KEYWORD1>\r
-                       <KEYWORD1>.ERRDEF</KEYWORD1>\r
-                       <KEYWORD1>.ERRDIF</KEYWORD1>\r
-                       <KEYWORD1>.ERRDIFI</KEYWORD1>\r
-                       <KEYWORD1>.ERRE</KEYWORD1>\r
-                       <KEYWORD1>.ERRIDN</KEYWORD1>\r
-                       <KEYWORD1>.ERRIDNI</KEYWORD1>\r
-                       <KEYWORD1>.ERRNB</KEYWORD1>\r
-                       <KEYWORD1>.ERRNDEF</KEYWORD1>\r
-                       <KEYWORD1>.ERRNZ</KEYWORD1>\r
-                       <KEYWORD1>.EXIT</KEYWORD1>\r
-                       <KEYWORD1>.FARDATA</KEYWORD1>\r
-                       <KEYWORD1>.FARDATA?</KEYWORD1>\r
-                       <KEYWORD1>.IF</KEYWORD1>\r
-                       <KEYWORD1>.K3D</KEYWORD1>\r
-                       <KEYWORD1>.LALL</KEYWORD1>\r
-                       <KEYWORD1>.LFCOND</KEYWORD1>\r
-                       <KEYWORD1>.LIST</KEYWORD1>\r
-                       <KEYWORD1>.LISTALL</KEYWORD1>\r
-                       <KEYWORD1>.LISTIF</KEYWORD1>\r
-                       <KEYWORD1>.LISTMACRO</KEYWORD1>\r
-                       <KEYWORD1>.LISTMACROALL</KEYWORD1>\r
-                       <KEYWORD1>.MMX</KEYWORD1>\r
-                       <KEYWORD1>.MODEL</KEYWORD1>\r
-                       <KEYWORD1>.MSFLOAT</KEYWORD1>\r
-                       <KEYWORD1>.NO87</KEYWORD1>\r
-                       <KEYWORD1>.NOCREF</KEYWORD1>\r
-                       <KEYWORD1>.NOLIST</KEYWORD1>\r
-                       <KEYWORD1>.NOLISTIF</KEYWORD1>\r
-                       <KEYWORD1>.NOLISTMACRO</KEYWORD1>\r
-                       <KEYWORD1>.RADIX</KEYWORD1>\r
-                       <KEYWORD1>.REPEAT</KEYWORD1>\r
-                       <KEYWORD1>.SALL</KEYWORD1>\r
-                       <KEYWORD1>.SEQ</KEYWORD1>\r
-                       <KEYWORD1>.SFCOND</KEYWORD1>\r
-                       <KEYWORD1>.STACK</KEYWORD1>\r
-                       <KEYWORD1>.STARTUP</KEYWORD1>\r
-                       <KEYWORD1>.TEXT</KEYWORD1>\r
-                       <KEYWORD1>.TFCOND</KEYWORD1>\r
-                       <KEYWORD1>.UNTIL</KEYWORD1>\r
-                       <KEYWORD1>.UNTILCXZ</KEYWORD1>\r
-                       <KEYWORD1>.WHILE</KEYWORD1>\r
-                       <KEYWORD1>.XALL</KEYWORD1>\r
-                       <KEYWORD1>.XCREF</KEYWORD1>\r
-                       <KEYWORD1>.XLIST</KEYWORD1>\r
-                       <KEYWORD1>.XMM</KEYWORD1>\r
-                       <KEYWORD1>__FILE__</KEYWORD1>\r
-                       <KEYWORD1>__LINE__</KEYWORD1>\r
-                       <KEYWORD1>A16</KEYWORD1>\r
-                       <KEYWORD1>A32</KEYWORD1>\r
-                       <KEYWORD1>ADDR</KEYWORD1>\r
-                       <KEYWORD1>ALIGN</KEYWORD1>\r
-                       <KEYWORD1>ALIGNB</KEYWORD1>\r
-                       <KEYWORD1>ASSUME</KEYWORD1>\r
-                       <KEYWORD1>BITS</KEYWORD1>\r
-                       <KEYWORD1>CARRY?</KEYWORD1>\r
-                       <KEYWORD1>CATSTR</KEYWORD1>\r
-                       <KEYWORD1>CODESEG</KEYWORD1>\r
-                       <KEYWORD1>COMM</KEYWORD1>\r
-                       <KEYWORD1>COMMENT</KEYWORD1>\r
-                       <KEYWORD1>COMMON</KEYWORD1>\r
-                       <KEYWORD1>DATASEG</KEYWORD1>\r
-                       <KEYWORD1>DOSSEG</KEYWORD1>\r
-                       <KEYWORD1>ECHO</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>ELSEIF</KEYWORD1>\r
-                       <KEYWORD1>ELSEIF1</KEYWORD1>\r
-                       <KEYWORD1>ELSEIF2</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFB</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFDEF</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFE</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFIDN</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFNB</KEYWORD1>\r
-                       <KEYWORD1>ELSEIFNDEF</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>ENDIF</KEYWORD1>\r
-                       <KEYWORD1>ENDM</KEYWORD1>\r
-                       <KEYWORD1>ENDP</KEYWORD1>\r
-                       <KEYWORD1>ENDS</KEYWORD1>\r
-                       <KEYWORD1>ENDSTRUC</KEYWORD1>\r
-                       <KEYWORD1>EVEN</KEYWORD1>\r
-                       <KEYWORD1>EXITM</KEYWORD1>\r
-                       <KEYWORD1>EXPORT</KEYWORD1>\r
-                       <KEYWORD1>EXTERN</KEYWORD1>\r
-                       <KEYWORD1>EXTERNDEF</KEYWORD1>\r
-                       <KEYWORD1>EXTRN</KEYWORD1>\r
-                       <KEYWORD1>FAR</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>FORC</KEYWORD1>\r
-                       <KEYWORD1>GLOBAL</KEYWORD1>\r
-                       <KEYWORD1>GOTO</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-                       <KEYWORD1>HIGH</KEYWORD1>\r
-                       <KEYWORD1>HIGHWORD</KEYWORD1>\r
-                       <KEYWORD1>IEND</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>IF1</KEYWORD1>\r
-                       <KEYWORD1>IF2</KEYWORD1>\r
-                       <KEYWORD1>IFB</KEYWORD1>\r
-                       <KEYWORD1>IFDEF</KEYWORD1>\r
-                       <KEYWORD1>IFDIF</KEYWORD1>\r
-                       <KEYWORD1>IFDIFI</KEYWORD1>\r
-                       <KEYWORD1>IFE</KEYWORD1>\r
-                       <KEYWORD1>IFIDN</KEYWORD1>\r
-                       <KEYWORD1>IFIDNI</KEYWORD1>\r
-                       <KEYWORD1>IFNB</KEYWORD1>\r
-                       <KEYWORD1>IFNDEF</KEYWORD1>\r
-                       <KEYWORD1>IMPORT</KEYWORD1>\r
-                       <KEYWORD1>INCBIN</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>INCLUDELIB</KEYWORD1>\r
-                       <KEYWORD1>INSTR</KEYWORD1>\r
-                       <KEYWORD1>INVOKE</KEYWORD1>\r
-                       <KEYWORD1>IRP</KEYWORD1>\r
-                       <KEYWORD1>IRPC</KEYWORD1>\r
-                       <KEYWORD1>ISTRUC</KEYWORD1>\r
-                       <KEYWORD1>LABEL</KEYWORD1>\r
-                       <KEYWORD1>LENGTH</KEYWORD1>\r
-                       <KEYWORD1>LENGTHOF</KEYWORD1>\r
-                       <KEYWORD1>LOCAL</KEYWORD1>\r
-                       <KEYWORD1>LOW</KEYWORD1>\r
-                       <KEYWORD1>LOWWORD</KEYWORD1>\r
-                       <KEYWORD1>LROFFSET</KEYWORD1>\r
-                       <KEYWORD1>MACRO</KEYWORD1>\r
-                       <KEYWORD1>NAME</KEYWORD1>\r
-                       <KEYWORD1>NEAR</KEYWORD1>\r
-                       <KEYWORD1>NOSPLIT</KEYWORD1>\r
-                       <KEYWORD1>O16</KEYWORD1>\r
-                       <KEYWORD1>O32</KEYWORD1>\r
-                       <KEYWORD1>OFFSET</KEYWORD1>\r
-                       <KEYWORD1>OPATTR</KEYWORD1>\r
-                       <KEYWORD1>OPTION</KEYWORD1>\r
-                       <KEYWORD1>ORG</KEYWORD1>\r
-                       <KEYWORD1>OVERFLOW?</KEYWORD1>\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>PARITY?</KEYWORD1>\r
-                       <KEYWORD1>POPCONTEXT</KEYWORD1>\r
-                       <KEYWORD1>PRIVATE</KEYWORD1>\r
-                       <KEYWORD1>PROC</KEYWORD1>\r
-                       <KEYWORD1>PROTO</KEYWORD1>\r
-                       <KEYWORD1>PTR</KEYWORD1>\r
-                       <KEYWORD1>PUBLIC</KEYWORD1>\r
-                       <KEYWORD1>PURGE</KEYWORD1>\r
-                       <KEYWORD1>PUSHCONTEXT</KEYWORD1>\r
-                       <KEYWORD1>RECORD</KEYWORD1>\r
-                       <KEYWORD1>REPEAT</KEYWORD1>\r
-                       <KEYWORD1>REPT</KEYWORD1>\r
-                       <KEYWORD1>SECTION</KEYWORD1>\r
-                       <KEYWORD1>SEG</KEYWORD1>\r
-                       <KEYWORD1>SEGMENT</KEYWORD1>\r
-                       <KEYWORD1>SHORT</KEYWORD1>\r
-                       <KEYWORD1>SIGN?</KEYWORD1>\r
-                       <KEYWORD1>SIZE</KEYWORD1>\r
-                       <KEYWORD1>SIZEOF</KEYWORD1>\r
-                       <KEYWORD1>SIZESTR</KEYWORD1>\r
-                       <KEYWORD1>STACK</KEYWORD1>\r
-                       <KEYWORD1>STRUC</KEYWORD1>\r
-                       <KEYWORD1>STRUCT</KEYWORD1>\r
-                       <KEYWORD1>SUBSTR</KEYWORD1>\r
-                       <KEYWORD1>SUBTITLE</KEYWORD1>\r
-                       <KEYWORD1>SUBTTL</KEYWORD1>\r
-                       <KEYWORD1>THIS</KEYWORD1>\r
-                       <KEYWORD1>TITLE</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>TYPEDEF</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>USE16</KEYWORD1>\r
-                       <KEYWORD1>USE32</KEYWORD1>\r
-                       <KEYWORD1>USES</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>WRT</KEYWORD1>\r
-                       <KEYWORD1>ZERO?</KEYWORD1>\r
-\r
-                       <KEYWORD2>DB</KEYWORD2>\r
-                       <KEYWORD2>DW</KEYWORD2>\r
-                       <KEYWORD2>DD</KEYWORD2>\r
-                       <KEYWORD2>DF</KEYWORD2>\r
-                       <KEYWORD2>DQ</KEYWORD2>\r
-                       <KEYWORD2>DT</KEYWORD2>\r
-                       <KEYWORD2>RESB</KEYWORD2>\r
-                       <KEYWORD2>RESW</KEYWORD2>\r
-                       <KEYWORD2>RESD</KEYWORD2>\r
-                       <KEYWORD2>RESQ</KEYWORD2>\r
-                       <KEYWORD2>REST</KEYWORD2>\r
-                       <KEYWORD2>EQU</KEYWORD2>\r
-                       <KEYWORD2>TEXTEQU</KEYWORD2>\r
-                       <KEYWORD2>TIMES</KEYWORD2>\r
-                       <KEYWORD2>DUP</KEYWORD2>\r
-\r
-                       <KEYWORD2>BYTE</KEYWORD2>\r
-                       <KEYWORD2>WORD</KEYWORD2>\r
-                       <KEYWORD2>DWORD</KEYWORD2>\r
-                       <KEYWORD2>FWORD</KEYWORD2>\r
-                       <KEYWORD2>QWORD</KEYWORD2>\r
-                       <KEYWORD2>TBYTE</KEYWORD2>\r
-                       <KEYWORD2>SBYTE</KEYWORD2>\r
-                       <KEYWORD2>TWORD</KEYWORD2>\r
-                       <KEYWORD2>SWORD</KEYWORD2>\r
-                       <KEYWORD2>SDWORD</KEYWORD2>\r
-                       <KEYWORD2>REAL4</KEYWORD2>\r
-                       <KEYWORD2>REAL8</KEYWORD2>\r
-                       <KEYWORD2>REAL10</KEYWORD2>\r
-\r
-                       <!-- Registers -->\r
-                       <KEYWORD3>AL</KEYWORD3>\r
-                       <KEYWORD3>BL</KEYWORD3>\r
-                       <KEYWORD3>CL</KEYWORD3>\r
-                       <KEYWORD3>DL</KEYWORD3>\r
-                       <KEYWORD3>AH</KEYWORD3>\r
-                       <KEYWORD3>BH</KEYWORD3>\r
-                       <KEYWORD3>CH</KEYWORD3>\r
-                       <KEYWORD3>DH</KEYWORD3>\r
-                       <KEYWORD3>AX</KEYWORD3>\r
-                       <KEYWORD3>BX</KEYWORD3>\r
-                       <KEYWORD3>CX</KEYWORD3>\r
-                       <KEYWORD3>DX</KEYWORD3>\r
-                       <KEYWORD3>SI</KEYWORD3>\r
-                       <KEYWORD3>DI</KEYWORD3>\r
-                       <KEYWORD3>SP</KEYWORD3>\r
-                       <KEYWORD3>BP</KEYWORD3>\r
-                       <KEYWORD3>EAX</KEYWORD3>\r
-                       <KEYWORD3>EBX</KEYWORD3>\r
-                       <KEYWORD3>ECX</KEYWORD3>\r
-                       <KEYWORD3>EDX</KEYWORD3>\r
-                       <KEYWORD3>ESI</KEYWORD3>\r
-                       <KEYWORD3>EDI</KEYWORD3>\r
-                       <KEYWORD3>ESP</KEYWORD3>\r
-                       <KEYWORD3>EBP</KEYWORD3>\r
-                       <KEYWORD3>CS</KEYWORD3>\r
-                       <KEYWORD3>DS</KEYWORD3>\r
-                       <KEYWORD3>SS</KEYWORD3>\r
-                       <KEYWORD3>ES</KEYWORD3>\r
-                       <KEYWORD3>FS</KEYWORD3>\r
-                       <KEYWORD3>GS</KEYWORD3>\r
-                       <KEYWORD3>ST</KEYWORD3>\r
-                       <KEYWORD3>ST0</KEYWORD3>\r
-                       <KEYWORD3>ST1</KEYWORD3>\r
-                       <KEYWORD3>ST2</KEYWORD3>\r
-                       <KEYWORD3>ST3</KEYWORD3>\r
-                       <KEYWORD3>ST4</KEYWORD3>\r
-                       <KEYWORD3>ST5</KEYWORD3>\r
-                       <KEYWORD3>ST6</KEYWORD3>\r
-                       <KEYWORD3>ST7</KEYWORD3>\r
-                       <KEYWORD3>MM0</KEYWORD3>\r
-                       <KEYWORD3>MM1</KEYWORD3>\r
-                       <KEYWORD3>MM2</KEYWORD3>\r
-                       <KEYWORD3>MM3</KEYWORD3>\r
-                       <KEYWORD3>MM4</KEYWORD3>\r
-                       <KEYWORD3>MM5</KEYWORD3>\r
-                       <KEYWORD3>MM6</KEYWORD3>\r
-                       <KEYWORD3>MM7</KEYWORD3>\r
-                       <KEYWORD3>XMM0</KEYWORD3>\r
-                       <KEYWORD3>XMM1</KEYWORD3>\r
-                       <KEYWORD3>XMM2</KEYWORD3>\r
-                       <KEYWORD3>XMM3</KEYWORD3>\r
-                       <KEYWORD3>XMM4</KEYWORD3>\r
-                       <KEYWORD3>XMM5</KEYWORD3>\r
-                       <KEYWORD3>XMM6</KEYWORD3>\r
-                       <KEYWORD3>XMM7</KEYWORD3>\r
-                       <KEYWORD3>CR0</KEYWORD3>\r
-                       <KEYWORD3>CR2</KEYWORD3>\r
-                       <KEYWORD3>CR3</KEYWORD3>\r
-                       <KEYWORD3>CR4</KEYWORD3>\r
-                       <KEYWORD3>DR0</KEYWORD3>\r
-                       <KEYWORD3>DR1</KEYWORD3>\r
-                       <KEYWORD3>DR2</KEYWORD3>\r
-                       <KEYWORD3>DR3</KEYWORD3>\r
-                       <KEYWORD3>DR4</KEYWORD3>\r
-                       <KEYWORD3>DR5</KEYWORD3>\r
-                       <KEYWORD3>DR6</KEYWORD3>\r
-                       <KEYWORD3>DR7</KEYWORD3>\r
-                       <KEYWORD3>TR3</KEYWORD3>\r
-                       <KEYWORD3>TR4</KEYWORD3>\r
-                       <KEYWORD3>TR5</KEYWORD3>\r
-                       <KEYWORD3>TR6</KEYWORD3>\r
-                       <KEYWORD3>TR7</KEYWORD3>\r
-\r
-                       <!-- Instructions: Pentium III/MMX/SSE -->\r
-                       <FUNCTION>AAA</FUNCTION>\r
-                       <FUNCTION>AAD</FUNCTION>\r
-                       <FUNCTION>AAM</FUNCTION>\r
-                       <FUNCTION>AAS</FUNCTION>\r
-                       <FUNCTION>ADC</FUNCTION>\r
-                       <FUNCTION>ADD</FUNCTION>\r
-                       <FUNCTION>ADDPS</FUNCTION>\r
-                       <FUNCTION>ADDSS</FUNCTION>\r
-                       <FUNCTION>AND</FUNCTION>\r
-                       <FUNCTION>ANDNPS</FUNCTION>\r
-                       <FUNCTION>ANDPS</FUNCTION>\r
-                       <FUNCTION>ARPL</FUNCTION>\r
-                       <FUNCTION>BOUND</FUNCTION>\r
-                       <FUNCTION>BSF</FUNCTION>\r
-                       <FUNCTION>BSR</FUNCTION>\r
-                       <FUNCTION>BSWAP</FUNCTION>\r
-                       <FUNCTION>BT</FUNCTION>\r
-                       <FUNCTION>BTC</FUNCTION>\r
-                       <FUNCTION>BTR</FUNCTION>\r
-                       <FUNCTION>BTS</FUNCTION>\r
-                       <FUNCTION>CALL</FUNCTION>\r
-                       <FUNCTION>CBW</FUNCTION>\r
-                       <FUNCTION>CDQ</FUNCTION>\r
-                       <FUNCTION>CLC</FUNCTION>\r
-                       <FUNCTION>CLD</FUNCTION>\r
-                       <FUNCTION>CLI</FUNCTION>\r
-                       <FUNCTION>CLTS</FUNCTION>\r
-                       <FUNCTION>CMC</FUNCTION>\r
-                       <FUNCTION>CMOVA</FUNCTION>\r
-                       <FUNCTION>CMOVAE</FUNCTION>\r
-                       <FUNCTION>CMOVB</FUNCTION>\r
-                       <FUNCTION>CMOVBE</FUNCTION>\r
-                       <FUNCTION>CMOVC</FUNCTION>\r
-                       <FUNCTION>CMOVE</FUNCTION>\r
-                       <FUNCTION>CMOVG</FUNCTION>\r
-                       <FUNCTION>CMOVGE</FUNCTION>\r
-                       <FUNCTION>CMOVL</FUNCTION>\r
-                       <FUNCTION>CMOVLE</FUNCTION>\r
-                       <FUNCTION>CMOVNA</FUNCTION>\r
-                       <FUNCTION>CMOVNAE</FUNCTION>\r
-                       <FUNCTION>CMOVNB</FUNCTION>\r
-                       <FUNCTION>CMOVNBE</FUNCTION>\r
-                       <FUNCTION>CMOVNC</FUNCTION>\r
-                       <FUNCTION>CMOVNE</FUNCTION>\r
-                       <FUNCTION>CMOVNG</FUNCTION>\r
-                       <FUNCTION>CMOVNGE</FUNCTION>\r
-                       <FUNCTION>CMOVNL</FUNCTION>\r
-                       <FUNCTION>CMOVNLE</FUNCTION>\r
-                       <FUNCTION>CMOVNO</FUNCTION>\r
-                       <FUNCTION>CMOVNP</FUNCTION>\r
-                       <FUNCTION>CMOVNS</FUNCTION>\r
-                       <FUNCTION>CMOVNZ</FUNCTION>\r
-                       <FUNCTION>CMOVO</FUNCTION>\r
-                       <FUNCTION>CMOVP</FUNCTION>\r
-                       <FUNCTION>CMOVPE</FUNCTION>\r
-                       <FUNCTION>CMOVPO</FUNCTION>\r
-                       <FUNCTION>CMOVS</FUNCTION>\r
-                       <FUNCTION>CMOVZ</FUNCTION>\r
-                       <FUNCTION>CMP</FUNCTION>\r
-                       <FUNCTION>CMPPS</FUNCTION>\r
-                       <FUNCTION>CMPS</FUNCTION>\r
-                       <FUNCTION>CMPSB</FUNCTION>\r
-                       <FUNCTION>CMPSD</FUNCTION>\r
-                       <FUNCTION>CMPSS</FUNCTION>\r
-                       <FUNCTION>CMPSW</FUNCTION>\r
-                       <FUNCTION>CMPXCHG</FUNCTION>\r
-                       <FUNCTION>CMPXCHGB</FUNCTION>\r
-                       <FUNCTION>COMISS</FUNCTION>\r
-                       <FUNCTION>CPUID</FUNCTION>\r
-                       <FUNCTION>CWD</FUNCTION>\r
-                       <FUNCTION>CWDE</FUNCTION>\r
-                       <FUNCTION>CVTPI2PS</FUNCTION>\r
-                       <FUNCTION>CVTPS2PI</FUNCTION>\r
-                       <FUNCTION>CVTSI2SS</FUNCTION>\r
-                       <FUNCTION>CVTSS2SI</FUNCTION>\r
-                       <FUNCTION>CVTTPS2PI</FUNCTION>\r
-                       <FUNCTION>CVTTSS2SI</FUNCTION>\r
-                       <FUNCTION>DAA</FUNCTION>\r
-                       <FUNCTION>DAS</FUNCTION>\r
-                       <FUNCTION>DEC</FUNCTION>\r
-                       <FUNCTION>DIV</FUNCTION>\r
-                       <FUNCTION>DIVPS</FUNCTION>\r
-                       <FUNCTION>DIVSS</FUNCTION>\r
-                       <FUNCTION>EMMS</FUNCTION>\r
-                       <FUNCTION>ENTER</FUNCTION>\r
-                       <FUNCTION>F2XM1</FUNCTION>\r
-                       <FUNCTION>FABS</FUNCTION>\r
-                       <FUNCTION>FADD</FUNCTION>\r
-                       <FUNCTION>FADDP</FUNCTION>\r
-                       <FUNCTION>FBLD</FUNCTION>\r
-                       <FUNCTION>FBSTP</FUNCTION>\r
-                       <FUNCTION>FCHS</FUNCTION>\r
-                       <FUNCTION>FCLEX</FUNCTION>\r
-                       <FUNCTION>FCMOVB</FUNCTION>\r
-                       <FUNCTION>FCMOVBE</FUNCTION>\r
-                       <FUNCTION>FCMOVE</FUNCTION>\r
-                       <FUNCTION>FCMOVNB</FUNCTION>\r
-                       <FUNCTION>FCMOVNBE</FUNCTION>\r
-                       <FUNCTION>FCMOVNE</FUNCTION>\r
-                       <FUNCTION>FCMOVNU</FUNCTION>\r
-                       <FUNCTION>FCMOVU</FUNCTION>\r
-                       <FUNCTION>FCOM</FUNCTION>\r
-                       <FUNCTION>FCOMI</FUNCTION>\r
-                       <FUNCTION>FCOMIP</FUNCTION>\r
-                       <FUNCTION>FCOMP</FUNCTION>\r
-                       <FUNCTION>FCOMPP</FUNCTION>\r
-                       <FUNCTION>FCOS</FUNCTION>\r
-                       <FUNCTION>FDECSTP</FUNCTION>\r
-                       <FUNCTION>FDIV</FUNCTION>\r
-                       <FUNCTION>FDIVP</FUNCTION>\r
-                       <FUNCTION>FDIVR</FUNCTION>\r
-                       <FUNCTION>FDIVRP</FUNCTION>\r
-                       <FUNCTION>FFREE</FUNCTION>\r
-                       <FUNCTION>FIADD</FUNCTION>\r
-                       <FUNCTION>FICOM</FUNCTION>\r
-                       <FUNCTION>FICOMP</FUNCTION>\r
-                       <FUNCTION>FIDIV</FUNCTION>\r
-                       <FUNCTION>FIDIVR</FUNCTION>\r
-                       <FUNCTION>FILD</FUNCTION>\r
-                       <FUNCTION>FIMUL</FUNCTION>\r
-                       <FUNCTION>FINCSTP</FUNCTION>\r
-                       <FUNCTION>FINIT</FUNCTION>\r
-                       <FUNCTION>FIST</FUNCTION>\r
-                       <FUNCTION>FISTP</FUNCTION>\r
-                       <FUNCTION>FISUB</FUNCTION>\r
-                       <FUNCTION>FISUBR</FUNCTION>\r
-                       <FUNCTION>FLD1</FUNCTION>\r
-                       <FUNCTION>FLDCW</FUNCTION>\r
-                       <FUNCTION>FLDENV</FUNCTION>\r
-                       <FUNCTION>FLDL2E</FUNCTION>\r
-                       <FUNCTION>FLDL2T</FUNCTION>\r
-                       <FUNCTION>FLDLG2</FUNCTION>\r
-                       <FUNCTION>FLDLN2</FUNCTION>\r
-                       <FUNCTION>FLDPI</FUNCTION>\r
-                       <FUNCTION>FLDZ</FUNCTION>\r
-                       <FUNCTION>FMUL</FUNCTION>\r
-                       <FUNCTION>FMULP</FUNCTION>\r
-                       <FUNCTION>FNCLEX</FUNCTION>\r
-                       <FUNCTION>FNINIT</FUNCTION>\r
-                       <FUNCTION>FNOP</FUNCTION>\r
-                       <FUNCTION>FNSAVE</FUNCTION>\r
-                       <FUNCTION>FNSTCW</FUNCTION>\r
-                       <FUNCTION>FNSTENV</FUNCTION>\r
-                       <FUNCTION>FNSTSW</FUNCTION>\r
-                       <FUNCTION>FPATAN</FUNCTION>\r
-                       <FUNCTION>FPREM</FUNCTION>\r
-                       <FUNCTION>FPREMI</FUNCTION>\r
-                       <FUNCTION>FPTAN</FUNCTION>\r
-                       <FUNCTION>FRNDINT</FUNCTION>\r
-                       <FUNCTION>FRSTOR</FUNCTION>\r
-                       <FUNCTION>FSAVE</FUNCTION>\r
-                       <FUNCTION>FSCALE</FUNCTION>\r
-                       <FUNCTION>FSIN</FUNCTION>\r
-                       <FUNCTION>FSINCOS</FUNCTION>\r
-                       <FUNCTION>FSQRT</FUNCTION>\r
-                       <FUNCTION>FST</FUNCTION>\r
-                       <FUNCTION>FSTCW</FUNCTION>\r
-                       <FUNCTION>FSTENV</FUNCTION>\r
-                       <FUNCTION>FSTP</FUNCTION>\r
-                       <FUNCTION>FSTSW</FUNCTION>\r
-                       <FUNCTION>FSUB</FUNCTION>\r
-                       <FUNCTION>FSUBP</FUNCTION>\r
-                       <FUNCTION>FSUBR</FUNCTION>\r
-                       <FUNCTION>FSUBRP</FUNCTION>\r
-                       <FUNCTION>FTST</FUNCTION>\r
-                       <FUNCTION>FUCOM</FUNCTION>\r
-                       <FUNCTION>FUCOMI</FUNCTION>\r
-                       <FUNCTION>FUCOMIP</FUNCTION>\r
-                       <FUNCTION>FUCOMP</FUNCTION>\r
-                       <FUNCTION>FUCOMPP</FUNCTION>\r
-                       <FUNCTION>FWAIT</FUNCTION>\r
-                       <FUNCTION>FXAM</FUNCTION>\r
-                       <FUNCTION>FXCH</FUNCTION>\r
-                       <FUNCTION>FXRSTOR</FUNCTION>\r
-                       <FUNCTION>FXSAVE</FUNCTION>\r
-                       <FUNCTION>FXTRACT</FUNCTION>\r
-                       <FUNCTION>FYL2X</FUNCTION>\r
-                       <FUNCTION>FYL2XP1</FUNCTION>\r
-                       <FUNCTION>HLT</FUNCTION>\r
-                       <FUNCTION>IDIV</FUNCTION>\r
-                       <FUNCTION>IMUL</FUNCTION>\r
-                       <FUNCTION>IN</FUNCTION>\r
-                       <FUNCTION>INC</FUNCTION>\r
-                       <FUNCTION>INS</FUNCTION>\r
-                       <FUNCTION>INSB</FUNCTION>\r
-                       <FUNCTION>INSD</FUNCTION>\r
-                       <FUNCTION>INSW</FUNCTION>\r
-                       <FUNCTION>INT</FUNCTION>\r
-                       <FUNCTION>INTO</FUNCTION>\r
-                       <FUNCTION>INVD</FUNCTION>\r
-                       <FUNCTION>INVLPG</FUNCTION>\r
-                       <FUNCTION>IRET</FUNCTION>\r
-                       <FUNCTION>JA</FUNCTION>\r
-                       <FUNCTION>JAE</FUNCTION>\r
-                       <FUNCTION>JB</FUNCTION>\r
-                       <FUNCTION>JBE</FUNCTION>\r
-                       <FUNCTION>JC</FUNCTION>\r
-                       <FUNCTION>JCXZ</FUNCTION>\r
-                       <FUNCTION>JE</FUNCTION>\r
-                       <FUNCTION>JECXZ</FUNCTION>\r
-                       <FUNCTION>JG</FUNCTION>\r
-                       <FUNCTION>JGE</FUNCTION>\r
-                       <FUNCTION>JL</FUNCTION>\r
-                       <FUNCTION>JLE</FUNCTION>\r
-                       <FUNCTION>JMP</FUNCTION>\r
-                       <FUNCTION>JNA</FUNCTION>\r
-                       <FUNCTION>JNAE</FUNCTION>\r
-                       <FUNCTION>JNB</FUNCTION>\r
-                       <FUNCTION>JNBE</FUNCTION>\r
-                       <FUNCTION>JNC</FUNCTION>\r
-                       <FUNCTION>JNE</FUNCTION>\r
-                       <FUNCTION>JNG</FUNCTION>\r
-                       <FUNCTION>JNGE</FUNCTION>\r
-                       <FUNCTION>JNL</FUNCTION>\r
-                       <FUNCTION>JNLE</FUNCTION>\r
-                       <FUNCTION>JNO</FUNCTION>\r
-                       <FUNCTION>JNP</FUNCTION>\r
-                       <FUNCTION>JNS</FUNCTION>\r
-                       <FUNCTION>JNZ</FUNCTION>\r
-                       <FUNCTION>JO</FUNCTION>\r
-                       <FUNCTION>JP</FUNCTION>\r
-                       <FUNCTION>JPE</FUNCTION>\r
-                       <FUNCTION>JPO</FUNCTION>\r
-                       <FUNCTION>JS</FUNCTION>\r
-                       <FUNCTION>JZ</FUNCTION>\r
-                       <FUNCTION>LAHF</FUNCTION>\r
-                       <FUNCTION>LAR</FUNCTION>\r
-                       <FUNCTION>LDMXCSR</FUNCTION>\r
-                       <FUNCTION>LDS</FUNCTION>\r
-                       <FUNCTION>LEA</FUNCTION>\r
-                       <FUNCTION>LEAVE</FUNCTION>\r
-                       <FUNCTION>LES</FUNCTION>\r
-                       <FUNCTION>LFS</FUNCTION>\r
-                       <FUNCTION>LGDT</FUNCTION>\r
-                       <FUNCTION>LGS</FUNCTION>\r
-                       <FUNCTION>LIDT</FUNCTION>\r
-                       <FUNCTION>LLDT</FUNCTION>\r
-                       <FUNCTION>LMSW</FUNCTION>\r
-                       <FUNCTION>LOCK</FUNCTION>\r
-                       <FUNCTION>LODS</FUNCTION>\r
-                       <FUNCTION>LODSB</FUNCTION>\r
-                       <FUNCTION>LODSD</FUNCTION>\r
-                       <FUNCTION>LODSW</FUNCTION>\r
-                       <FUNCTION>LOOP</FUNCTION>\r
-                       <FUNCTION>LOOPE</FUNCTION>\r
-                       <FUNCTION>LOOPNE</FUNCTION>\r
-                       <FUNCTION>LOOPNZ</FUNCTION>\r
-                       <FUNCTION>LOOPZ</FUNCTION>\r
-                       <FUNCTION>LSL</FUNCTION>\r
-                       <FUNCTION>LSS</FUNCTION>\r
-                       <FUNCTION>LTR</FUNCTION>\r
-                       <FUNCTION>MASKMOVQ</FUNCTION>\r
-                       <FUNCTION>MAXPS</FUNCTION>\r
-                       <FUNCTION>MAXSS</FUNCTION>\r
-                       <FUNCTION>MINPS</FUNCTION>\r
-                       <FUNCTION>MINSS</FUNCTION>\r
-                       <FUNCTION>MOV</FUNCTION>\r
-                       <FUNCTION>MOVAPS</FUNCTION>\r
-                       <FUNCTION>MOVD</FUNCTION>\r
-                       <FUNCTION>MOVHLPS</FUNCTION>\r
-                       <FUNCTION>MOVHPS</FUNCTION>\r
-                       <FUNCTION>MOVLHPS</FUNCTION>\r
-                       <FUNCTION>MOVLPS</FUNCTION>\r
-                       <FUNCTION>MOVMSKPS</FUNCTION>\r
-                       <FUNCTION>MOVNTPS</FUNCTION>\r
-                       <FUNCTION>MOVNTQ</FUNCTION>\r
-                       <FUNCTION>MOVQ</FUNCTION>\r
-                       <FUNCTION>MOVS</FUNCTION>\r
-                       <FUNCTION>MOVSB</FUNCTION>\r
-                       <FUNCTION>MOVSD</FUNCTION>\r
-                       <FUNCTION>MOVSS</FUNCTION>\r
-                       <FUNCTION>MOVSW</FUNCTION>\r
-                       <FUNCTION>MOVSX</FUNCTION>\r
-                       <FUNCTION>MOVUPS</FUNCTION>\r
-                       <FUNCTION>MOVZX</FUNCTION>\r
-                       <FUNCTION>MUL</FUNCTION>\r
-                       <FUNCTION>MULPS</FUNCTION>\r
-                       <FUNCTION>MULSS</FUNCTION>\r
-                       <FUNCTION>NEG</FUNCTION>\r
-                       <FUNCTION>NOP</FUNCTION>\r
-                       <FUNCTION>NOT</FUNCTION>\r
-                       <FUNCTION>OR</FUNCTION>\r
-                       <FUNCTION>ORPS</FUNCTION>\r
-                       <FUNCTION>OUT</FUNCTION>\r
-                       <FUNCTION>OUTS</FUNCTION>\r
-                       <FUNCTION>OUTSB</FUNCTION>\r
-                       <FUNCTION>OUTSD</FUNCTION>\r
-                       <FUNCTION>OUTSW</FUNCTION>\r
-                       <FUNCTION>PACKSSDW</FUNCTION>\r
-                       <FUNCTION>PACKSSWB</FUNCTION>\r
-                       <FUNCTION>PACKUSWB</FUNCTION>\r
-                       <FUNCTION>PADDB</FUNCTION>\r
-                       <FUNCTION>PADDD</FUNCTION>\r
-                       <FUNCTION>PADDSB</FUNCTION>\r
-                       <FUNCTION>PADDSW</FUNCTION>\r
-                       <FUNCTION>PADDUSB</FUNCTION>\r
-                       <FUNCTION>PADDUSW</FUNCTION>\r
-                       <FUNCTION>PADDW</FUNCTION>\r
-                       <FUNCTION>PAND</FUNCTION>\r
-                       <FUNCTION>PANDN</FUNCTION>\r
-                       <FUNCTION>PAVGB</FUNCTION>\r
-                       <FUNCTION>PAVGW</FUNCTION>\r
-                       <FUNCTION>PCMPEQB</FUNCTION>\r
-                       <FUNCTION>PCMPEQD</FUNCTION>\r
-                       <FUNCTION>PCMPEQW</FUNCTION>\r
-                       <FUNCTION>PCMPGTB</FUNCTION>\r
-                       <FUNCTION>PCMPGTD</FUNCTION>\r
-                       <FUNCTION>PCMPGTW</FUNCTION>\r
-                       <FUNCTION>PEXTRW</FUNCTION>\r
-                       <FUNCTION>PINSRW</FUNCTION>\r
-                       <FUNCTION>PMADDWD</FUNCTION>\r
-                       <FUNCTION>PMAXSW</FUNCTION>\r
-                       <FUNCTION>PMAXUB</FUNCTION>\r
-                       <FUNCTION>PMINSW</FUNCTION>\r
-                       <FUNCTION>PMINUB</FUNCTION>\r
-                       <FUNCTION>PMOVMSKB</FUNCTION>\r
-                       <FUNCTION>PMULHUW</FUNCTION>\r
-                       <FUNCTION>PMULHW</FUNCTION>\r
-                       <FUNCTION>PMULLW</FUNCTION>\r
-                       <FUNCTION>POP</FUNCTION>\r
-                       <FUNCTION>POPA</FUNCTION>\r
-                       <FUNCTION>POPAD</FUNCTION>\r
-                       <FUNCTION>POPAW</FUNCTION>\r
-                       <FUNCTION>POPF</FUNCTION>\r
-                       <FUNCTION>POPFD</FUNCTION>\r
-                       <FUNCTION>POPFW</FUNCTION>\r
-                       <FUNCTION>POR</FUNCTION>\r
-                       <FUNCTION>PREFETCH</FUNCTION>\r
-                       <FUNCTION>PSADBW</FUNCTION>\r
-                       <FUNCTION>PSHUFW</FUNCTION>\r
-                       <FUNCTION>PSLLD</FUNCTION>\r
-                       <FUNCTION>PSLLQ</FUNCTION>\r
-                       <FUNCTION>PSLLW</FUNCTION>\r
-                       <FUNCTION>PSRAD</FUNCTION>\r
-                       <FUNCTION>PSRAW</FUNCTION>\r
-                       <FUNCTION>PSRLD</FUNCTION>\r
-                       <FUNCTION>PSRLQ</FUNCTION>\r
-                       <FUNCTION>PSRLW</FUNCTION>\r
-                       <FUNCTION>PSUBB</FUNCTION>\r
-                       <FUNCTION>PSUBD</FUNCTION>\r
-                       <FUNCTION>PSUBSB</FUNCTION>\r
-                       <FUNCTION>PSUBSW</FUNCTION>\r
-                       <FUNCTION>PSUBUSB</FUNCTION>\r
-                       <FUNCTION>PSUBUSW</FUNCTION>\r
-                       <FUNCTION>PSUBW</FUNCTION>\r
-                       <FUNCTION>PUNPCKHBW</FUNCTION>\r
-                       <FUNCTION>PUNPCKHDQ</FUNCTION>\r
-                       <FUNCTION>PUNPCKHWD</FUNCTION>\r
-                       <FUNCTION>PUNPCKLBW</FUNCTION>\r
-                       <FUNCTION>PUNPCKLDQ</FUNCTION>\r
-                       <FUNCTION>PUNPCKLWD</FUNCTION>\r
-                       <FUNCTION>PUSH</FUNCTION>\r
-                       <FUNCTION>PUSHA</FUNCTION>\r
-                       <FUNCTION>PUSHAD</FUNCTION>\r
-                       <FUNCTION>PUSHAW</FUNCTION>\r
-                       <FUNCTION>PUSHF</FUNCTION>\r
-                       <FUNCTION>PUSHFD</FUNCTION>\r
-                       <FUNCTION>PUSHFW</FUNCTION>\r
-                       <FUNCTION>PXOR</FUNCTION>\r
-                       <FUNCTION>RCL</FUNCTION>\r
-                       <FUNCTION>RCR</FUNCTION>\r
-                       <FUNCTION>RDMSR</FUNCTION>\r
-                       <FUNCTION>RDPMC</FUNCTION>\r
-                       <FUNCTION>RDTSC</FUNCTION>\r
-                       <FUNCTION>REP</FUNCTION>\r
-                       <FUNCTION>REPE</FUNCTION>\r
-                       <FUNCTION>REPNE</FUNCTION>\r
-                       <FUNCTION>REPNZ</FUNCTION>\r
-                       <FUNCTION>REPZ</FUNCTION>\r
-                       <FUNCTION>RET</FUNCTION>\r
-                       <FUNCTION>RETF</FUNCTION>\r
-                       <FUNCTION>RETN</FUNCTION>\r
-                       <FUNCTION>ROL</FUNCTION>\r
-                       <FUNCTION>ROR</FUNCTION>\r
-                       <FUNCTION>RSM</FUNCTION>\r
-                       <FUNCTION>SAHF</FUNCTION>\r
-                       <FUNCTION>SAL</FUNCTION>\r
-                       <FUNCTION>SAR</FUNCTION>\r
-                       <FUNCTION>SBB</FUNCTION>\r
-                       <FUNCTION>SCAS</FUNCTION>\r
-                       <FUNCTION>SCASB</FUNCTION>\r
-                       <FUNCTION>SCASD</FUNCTION>\r
-                       <FUNCTION>SCASW</FUNCTION>\r
-                       <FUNCTION>SETA</FUNCTION>\r
-                       <FUNCTION>SETAE</FUNCTION>\r
-                       <FUNCTION>SETB</FUNCTION>\r
-                       <FUNCTION>SETBE</FUNCTION>\r
-                       <FUNCTION>SETC</FUNCTION>\r
-                       <FUNCTION>SETE</FUNCTION>\r
-                       <FUNCTION>SETG</FUNCTION>\r
-                       <FUNCTION>SETGE</FUNCTION>\r
-                       <FUNCTION>SETL</FUNCTION>\r
-                       <FUNCTION>SETLE</FUNCTION>\r
-                       <FUNCTION>SETNA</FUNCTION>\r
-                       <FUNCTION>SETNAE</FUNCTION>\r
-                       <FUNCTION>SETNB</FUNCTION>\r
-                       <FUNCTION>SETNBE</FUNCTION>\r
-                       <FUNCTION>SETNC</FUNCTION>\r
-                       <FUNCTION>SETNE</FUNCTION>\r
-                       <FUNCTION>SETNG</FUNCTION>\r
-                       <FUNCTION>SETNGE</FUNCTION>\r
-                       <FUNCTION>SETNL</FUNCTION>\r
-                       <FUNCTION>SETNLE</FUNCTION>\r
-                       <FUNCTION>SETNO</FUNCTION>\r
-                       <FUNCTION>SETNP</FUNCTION>\r
-                       <FUNCTION>SETNS</FUNCTION>\r
-                       <FUNCTION>SETNZ</FUNCTION>\r
-                       <FUNCTION>SETO</FUNCTION>\r
-                       <FUNCTION>SETP</FUNCTION>\r
-                       <FUNCTION>SETPE</FUNCTION>\r
-                       <FUNCTION>SETPO</FUNCTION>\r
-                       <FUNCTION>SETS</FUNCTION>\r
-                       <FUNCTION>SETZ</FUNCTION>\r
-                       <FUNCTION>SFENCE</FUNCTION>\r
-                       <FUNCTION>SGDT</FUNCTION>\r
-                       <FUNCTION>SHL</FUNCTION>\r
-                       <FUNCTION>SHLD</FUNCTION>\r
-                       <FUNCTION>SHR</FUNCTION>\r
-                       <FUNCTION>SHRD</FUNCTION>\r
-                       <FUNCTION>SHUFPS</FUNCTION>\r
-                       <FUNCTION>SIDT</FUNCTION>\r
-                       <FUNCTION>SLDT</FUNCTION>\r
-                       <FUNCTION>SMSW</FUNCTION>\r
-                       <FUNCTION>SQRTPS</FUNCTION>\r
-                       <FUNCTION>SQRTSS</FUNCTION>\r
-                       <FUNCTION>STC</FUNCTION>\r
-                       <FUNCTION>STD</FUNCTION>\r
-                       <FUNCTION>STI</FUNCTION>\r
-                       <FUNCTION>STMXCSR</FUNCTION>\r
-                       <FUNCTION>STOS</FUNCTION>\r
-                       <FUNCTION>STOSB</FUNCTION>\r
-                       <FUNCTION>STOSD</FUNCTION>\r
-                       <FUNCTION>STOSW</FUNCTION>\r
-                       <FUNCTION>STR</FUNCTION>\r
-                       <FUNCTION>SUB</FUNCTION>\r
-                       <FUNCTION>SUBPS</FUNCTION>\r
-                       <FUNCTION>SUBSS</FUNCTION>\r
-                       <FUNCTION>SYSENTER</FUNCTION>\r
-                       <FUNCTION>SYSEXIT</FUNCTION>\r
-                       <FUNCTION>TEST</FUNCTION>\r
-                       <FUNCTION>UB2</FUNCTION>\r
-                       <FUNCTION>UCOMISS</FUNCTION>\r
-                       <FUNCTION>UNPCKHPS</FUNCTION>\r
-                       <FUNCTION>UNPCKLPS</FUNCTION>\r
-                       <FUNCTION>WAIT</FUNCTION>\r
-                       <FUNCTION>WBINVD</FUNCTION>\r
-                       <FUNCTION>VERR</FUNCTION>\r
-                       <FUNCTION>VERW</FUNCTION>\r
-                       <FUNCTION>WRMSR</FUNCTION>\r
-                       <FUNCTION>XADD</FUNCTION>\r
-                       <FUNCTION>XCHG</FUNCTION>\r
-                       <FUNCTION>XLAT</FUNCTION>\r
-                       <FUNCTION>XLATB</FUNCTION>\r
-                       <FUNCTION>XOR</FUNCTION>\r
-                       <FUNCTION>XORPS</FUNCTION>\r
-\r
-                       <!-- Instructions: 3DNow! -->\r
-                       <FUNCTION>FEMMS</FUNCTION>\r
-                       <FUNCTION>PAVGUSB</FUNCTION>\r
-                       <FUNCTION>PF2ID</FUNCTION>\r
-                       <FUNCTION>PFACC</FUNCTION>\r
-                       <FUNCTION>PFADD</FUNCTION>\r
-                       <FUNCTION>PFCMPEQ</FUNCTION>\r
-                       <FUNCTION>PFCMPGE</FUNCTION>\r
-                       <FUNCTION>PFCMPGT</FUNCTION>\r
-                       <FUNCTION>PFMAX</FUNCTION>\r
-                       <FUNCTION>PFMIN</FUNCTION>\r
-                       <FUNCTION>PFMUL</FUNCTION>\r
-                       <FUNCTION>PFRCP</FUNCTION>\r
-                       <FUNCTION>PFRCPIT1</FUNCTION>\r
-                       <FUNCTION>PFRCPIT2</FUNCTION>\r
-                       <FUNCTION>PFRSQIT1</FUNCTION>\r
-                       <FUNCTION>PFRSQRT</FUNCTION>\r
-                       <FUNCTION>PFSUB</FUNCTION>\r
-                       <FUNCTION>PFSUBR</FUNCTION>\r
-                       <FUNCTION>PI2FD</FUNCTION>\r
-                       <FUNCTION>PMULHRW</FUNCTION>\r
-                       <FUNCTION>PREFETCHW</FUNCTION>\r
-\r
-                       <!-- Instructions: 3DNow! (Athlon extensions) -->\r
-                       <FUNCTION>PF2IW</FUNCTION>\r
-                       <FUNCTION>PFNACC</FUNCTION>\r
-                       <FUNCTION>PFPNACC</FUNCTION>\r
-                       <FUNCTION>PI2FW</FUNCTION>\r
-                       <FUNCTION>PSWAPD</FUNCTION>\r
-\r
-                       <!-- Instructions: MMX (Athlon extensions) -->\r
-                       <FUNCTION>PREFETCHNTA</FUNCTION>\r
-                       <FUNCTION>PREFETCHT0</FUNCTION>\r
-                       <FUNCTION>PREFETCHT1</FUNCTION>\r
-                       <FUNCTION>PREFETCHT2</FUNCTION>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/awk.xml b/extra/xmode/modes/awk.xml
deleted file mode 100644 (file)
index 2be33ea..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- AWK mode, by Matthias M. Schneider -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>close</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>fflush</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>huge</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <KEYWORD1>nextfile</KEYWORD1>\r
-                       <KEYWORD1>print</KEYWORD1>\r
-                       <KEYWORD1>printf</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD2>atan2</KEYWORD2>\r
-                       <KEYWORD2>cos</KEYWORD2>\r
-                       <KEYWORD2>exp</KEYWORD2>\r
-                       <KEYWORD2>gensub</KEYWORD2>\r
-                       <KEYWORD2>getline</KEYWORD2>\r
-                       <KEYWORD2>gsub</KEYWORD2>\r
-                       <KEYWORD2>index</KEYWORD2>\r
-                       <KEYWORD2>int</KEYWORD2>\r
-                       <KEYWORD2>length</KEYWORD2>\r
-                       <KEYWORD2>log</KEYWORD2>\r
-                       <KEYWORD2>match</KEYWORD2>\r
-                       <KEYWORD2>rand</KEYWORD2>\r
-                       <KEYWORD2>sin</KEYWORD2>\r
-                       <KEYWORD2>split</KEYWORD2>\r
-                       <KEYWORD2>sprintf</KEYWORD2>\r
-                       <KEYWORD2>sqrt</KEYWORD2>\r
-                       <KEYWORD2>srand</KEYWORD2>\r
-                       <KEYWORD2>sub</KEYWORD2>\r
-                       <KEYWORD2>substr</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>tolower</KEYWORD2>\r
-                       <KEYWORD2>toupper</KEYWORD2>\r
-\r
-                       <KEYWORD3>BEGIN</KEYWORD3>\r
-                       <KEYWORD3>END</KEYWORD3>\r
-                       <KEYWORD3>$0</KEYWORD3>\r
-                       <KEYWORD3>ARGC</KEYWORD3>\r
-                       <KEYWORD3>ARGIND</KEYWORD3>\r
-                       <KEYWORD3>ARGV</KEYWORD3>\r
-                       <KEYWORD3>CONVFMT</KEYWORD3>\r
-                       <KEYWORD3>ENVIRON</KEYWORD3>\r
-                       <KEYWORD3>ERRNO</KEYWORD3>\r
-                       <KEYWORD3>FIELDSWIDTH</KEYWORD3>\r
-                       <KEYWORD3>FILENAME</KEYWORD3>\r
-                       <KEYWORD3>FNR</KEYWORD3>\r
-                       <KEYWORD3>FS</KEYWORD3>\r
-                       <KEYWORD3>IGNORECASE</KEYWORD3>\r
-                       <KEYWORD3>NF</KEYWORD3>\r
-                       <KEYWORD3>NR</KEYWORD3>\r
-                       <KEYWORD3>OFMT</KEYWORD3>\r
-                       <KEYWORD3>OFS</KEYWORD3>\r
-                       <KEYWORD3>ORS</KEYWORD3>\r
-                       <KEYWORD3>RLENGTH</KEYWORD3>\r
-                       <KEYWORD3>RS</KEYWORD3>\r
-                       <KEYWORD3>RSTART</KEYWORD3>\r
-                       <KEYWORD3>RT</KEYWORD3>\r
-                       <KEYWORD3>SUBSEP</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/b.xml b/extra/xmode/modes/b.xml
deleted file mode 100644 (file)
index 6609b19..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLine" VALUE="\s*(((ANY|ASSERT|CASE|CHOICE|IF|LET|PRE|SELECT|VAR|WHILE|WHEN)\s*\(|ELSE|ELSEIF|EITHER|OR|VARIANT|INVARIANT)[^;]*|for\s*\(.*)" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- B style comment -->\r
-               <SPAN TYPE="COMMENT3">\r
-                       <BEGIN>/*?</BEGIN>\r
-                       <END>?*/</END>\r
-               </SPAN>\r
-               \r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-                               \r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               \r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">#</SEQ>\r
-               <SEQ TYPE="OPERATOR">$0</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <!-- pour le & -->\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <!-- pour le < et  > -->\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               \r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               \r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-\r
-               <KEYWORDS>\r
-               \r
-                       <!-- clauses -->\r
-                       <KEYWORD2>ABSTRACT_CONSTANTS</KEYWORD2>\r
-                       <KEYWORD2>ABSTRACT_VARIABLES</KEYWORD2>\r
-                       <KEYWORD2>CONCRETE_CONSTANTS</KEYWORD2>\r
-                       <KEYWORD2>CONCRETE_VARIABLES</KEYWORD2>\r
-                       <KEYWORD2>CONSTANTS</KEYWORD2>\r
-                       <KEYWORD2>VARIABLES</KEYWORD2>\r
-                       <KEYWORD2>ASSERTIONS</KEYWORD2>\r
-                       <KEYWORD2>CONSTRAINTS</KEYWORD2>\r
-                       <KEYWORD2>DEFINITIONS</KEYWORD2>\r
-                       <KEYWORD2>EXTENDS</KEYWORD2>\r
-                       <KEYWORD2>IMPLEMENTATION</KEYWORD2>\r
-                       <KEYWORD2>IMPORTS</KEYWORD2>\r
-                       <KEYWORD2>INCLUDES</KEYWORD2>\r
-                       <KEYWORD2>INITIALISATION</KEYWORD2>\r
-                       <KEYWORD2>INVARIANT</KEYWORD2>\r
-                       <KEYWORD2>LOCAL_OPERATIONS</KEYWORD2>\r
-                       <KEYWORD2>MACHINE</KEYWORD2>\r
-                       <KEYWORD2>OPERATIONS</KEYWORD2>\r
-                       <KEYWORD2>PROMOTES</KEYWORD2>\r
-                       <KEYWORD2>PROPERTIES</KEYWORD2>\r
-                       <KEYWORD2>REFINES</KEYWORD2>\r
-                       <KEYWORD2>REFINEMENT</KEYWORD2>\r
-                       <KEYWORD2>SEES</KEYWORD2>\r
-                       <KEYWORD2>SETS</KEYWORD2>\r
-                       <KEYWORD2>USES</KEYWORD2>\r
-                       <KEYWORD2>VALUES</KEYWORD2>\r
-\r
-       \r
-                       <!-- substitutions -->\r
-                       <KEYWORD2>ANY</KEYWORD2>\r
-                       <KEYWORD2>ASSERT</KEYWORD2>\r
-                       <KEYWORD2>BE</KEYWORD2>\r
-                       <KEYWORD2>BEGIN</KEYWORD2>\r
-                       <KEYWORD2>CASE</KEYWORD2>\r
-                       <KEYWORD2>CHOICE</KEYWORD2>\r
-                       <KEYWORD2>DO</KEYWORD2>\r
-                       <KEYWORD2>EITHER</KEYWORD2>\r
-                       <KEYWORD2>ELSE</KEYWORD2>\r
-                       <KEYWORD2>ELSIF</KEYWORD2>\r
-                       <!-- voir pour le end -->\r
-                       <KEYWORD2>END</KEYWORD2>\r
-                       <KEYWORD2>IF</KEYWORD2>\r
-                       <KEYWORD2>IN</KEYWORD2>\r
-                       <KEYWORD2>LET</KEYWORD2>\r
-                       <KEYWORD2>OF</KEYWORD2>\r
-                       <KEYWORD2>OR</KEYWORD2>\r
-                       <KEYWORD2>PRE</KEYWORD2>\r
-                       <KEYWORD2>SELECT</KEYWORD2>\r
-                       <KEYWORD2>THEN</KEYWORD2>\r
-                       <KEYWORD2>VAR</KEYWORD2>\r
-                       <KEYWORD2>VARIANT</KEYWORD2>\r
-                       <KEYWORD2>WHEN</KEYWORD2>\r
-                       <KEYWORD2>WHERE</KEYWORD2>\r
-                       <KEYWORD2>WHILE</KEYWORD2>\r
-                       \r
-                       \r
-                       <KEYWORD3>FIN</KEYWORD3>\r
-                       <KEYWORD3>FIN1</KEYWORD3>\r
-                       <KEYWORD3>INT</KEYWORD3>\r
-                       <KEYWORD3>INTEGER</KEYWORD3>\r
-                       <KEYWORD3>INTER</KEYWORD3>\r
-                       <KEYWORD3>MAXINT</KEYWORD3>\r
-                       <KEYWORD3>MININT</KEYWORD3>\r
-                       <KEYWORD3>NAT</KEYWORD3>\r
-                       <KEYWORD3>NAT1</KEYWORD3>\r
-                       <KEYWORD3>NATURAL</KEYWORD3>\r
-                       <KEYWORD3>NATURAL1</KEYWORD3>\r
-                       <KEYWORD3>PI</KEYWORD3>\r
-                       <KEYWORD3>POW</KEYWORD3>\r
-                       <KEYWORD3>POW1</KEYWORD3>\r
-                       <KEYWORD3>SIGMA</KEYWORD3>\r
-                       <KEYWORD3>UNION</KEYWORD3>\r
-\r
-                       <FUNCTION>arity</FUNCTION>\r
-                       <FUNCTION>bin</FUNCTION>\r
-                       <FUNCTION>bool</FUNCTION>\r
-                       <FUNCTION>btree</FUNCTION>\r
-                       <FUNCTION>card</FUNCTION>\r
-                       <FUNCTION>closure</FUNCTION>\r
-                       <FUNCTION>closure1</FUNCTION>\r
-                       <FUNCTION>conc</FUNCTION>\r
-                       <FUNCTION>const</FUNCTION>\r
-                       <FUNCTION>dom</FUNCTION>\r
-                       <FUNCTION>father</FUNCTION>\r
-                       <FUNCTION>first</FUNCTION>\r
-                       <FUNCTION>fnc</FUNCTION>\r
-                       <FUNCTION>front</FUNCTION>\r
-                       <FUNCTION>id</FUNCTION>\r
-                       <FUNCTION>infix</FUNCTION>\r
-                       <FUNCTION>inter</FUNCTION>\r
-                       <FUNCTION>iseq</FUNCTION>\r
-                       <FUNCTION>iseq1</FUNCTION>\r
-                       <FUNCTION>iterate</FUNCTION>\r
-                       <FUNCTION>last</FUNCTION>\r
-                       <FUNCTION>left</FUNCTION>\r
-                       <FUNCTION>max</FUNCTION>\r
-                       <FUNCTION>min</FUNCTION>\r
-                       <FUNCTION>mirror</FUNCTION>\r
-                       <FUNCTION>mod</FUNCTION>\r
-                       <FUNCTION>not</FUNCTION>\r
-                       <FUNCTION>or</FUNCTION>\r
-                       <FUNCTION>perm</FUNCTION>\r
-                       <FUNCTION>postfix</FUNCTION>\r
-                       <FUNCTION>pred</FUNCTION>\r
-                       <FUNCTION>prefix</FUNCTION>\r
-                       <FUNCTION>prj1</FUNCTION>\r
-                       <FUNCTION>prj2</FUNCTION>\r
-                       <FUNCTION>r~</FUNCTION>\r
-                       <FUNCTION>ran</FUNCTION>\r
-                       <FUNCTION>rank</FUNCTION>\r
-                       <FUNCTION>rec</FUNCTION>\r
-                       <FUNCTION>rel</FUNCTION>\r
-                       <FUNCTION>rev</FUNCTION>\r
-                       <FUNCTION>right</FUNCTION>\r
-                       <FUNCTION>seq</FUNCTION>\r
-                       <FUNCTION>seq1</FUNCTION>\r
-                       <FUNCTION>size</FUNCTION>\r
-                       <FUNCTION>sizet</FUNCTION>\r
-                       <FUNCTION>skip</FUNCTION>\r
-                       <FUNCTION>son</FUNCTION>\r
-                       <FUNCTION>sons</FUNCTION>\r
-                       <FUNCTION>struct</FUNCTION>\r
-                       <FUNCTION>subtree</FUNCTION>\r
-                       <FUNCTION>succ</FUNCTION>\r
-                       <FUNCTION>tail</FUNCTION>\r
-                       <FUNCTION>top</FUNCTION>\r
-                       <FUNCTION>tree</FUNCTION>\r
-                       <FUNCTION>union</FUNCTION>\r
-\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/batch.xml b/extra/xmode/modes/batch.xml
deleted file mode 100644 (file)
index ebfe13a..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       09-10-2003 - Mirco Bova\r
-       Added some new batch commands using win2K help as reference.\r
-\r
-       04-12-2001 - Mirco Bova\r
-       this file is based on the original JEdit batch.xml mode.\r
-       The main upgrade consisting in adding the standard MS-DOS\r
-       commands as keywords and functions:\r
-       - keywords =            internal shell commands;\r
-       -       functions =             standard MS-DOS commands (.exe or .com in DOS or\r
-                                                                       windows\command directory).\r
-\r
-       Minor enhancements by Alex Jacoby on 28-feb-2003\r
--->\r
-\r
-<!-- The keywords and functions here defined are those of MS-DOS 6.22,\r
-                plus a few as of Windows XP.\r
- -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="rem" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE=")" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-               <!-- 'echo off' statements -->\r
-               <SEQ TYPE="KEYWORD3">@</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-               <!-- labels - eg ":test" or "goto :test" -->\r
-               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="LABEL">:</MARK_FOLLOWING>\r
-\r
-               <!-- comments -->\r
-               <EOL_SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="REM" TYPE="COMMENT1">REM\s</EOL_SPAN_REGEXP>\r
-\r
-               <!-- literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- variables -->\r
-               <SEQ TYPE="KEYWORD2">%0</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%1</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%2</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%3</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%4</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%5</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%6</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%7</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%8</SEQ>\r
-               <SEQ TYPE="KEYWORD2">%9</SEQ>\r
-               <!-- for-loop variable (one char after %%) -->\r
-               <SEQ_REGEXP TYPE="KEYWORD2"\r
-                                       HASH_CHAR="%%"\r
-                                       AT_WORD_START="TRUE"\r
-                                       >%%[\p{Alpha}]</SEQ_REGEXP>\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>%</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <!-- KEYWORD1 are internal MS-DOS shell commands -->\r
-                       <KEYWORD1>cd</KEYWORD1>\r
-                       <KEYWORD1>chdir</KEYWORD1>\r
-                       <KEYWORD1>md</KEYWORD1>\r
-                       <KEYWORD1>mkdir</KEYWORD1>\r
-\r
-                       <KEYWORD1>cls</KEYWORD1>\r
-\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-\r
-                       <KEYWORD1>echo</KEYWORD1>\r
-                       <KEYWORD1>echo.</KEYWORD1>\r
-\r
-                       <KEYWORD1>move</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>move</KEYWORD1>\r
-                       <KEYWORD1>ren</KEYWORD1>\r
-                       <KEYWORD1>del</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-\r
-                       <!-- new KEYWORDS from Win2K help -->\r
-                       <KEYWORD1>call</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>setlocal</KEYWORD1>\r
-                       <KEYWORD1>shift</KEYWORD1>\r
-                       <KEYWORD1>endlocal</KEYWORD1>\r
-                       <KEYWORD1>pause</KEYWORD1>\r
-\r
-                       <!-- KEYWORD2 are commands options -->\r
-\r
-                       <KEYWORD2>defined</KEYWORD2>\r
-                       <KEYWORD2>exist</KEYWORD2>\r
-                       <KEYWORD2>errorlevel</KEYWORD2>\r
-\r
-                       <!-- new KEYWORD options from Win2K help -->\r
-                       <KEYWORD2>else</KEYWORD2>\r
-\r
-                       <KEYWORD2>in</KEYWORD2>\r
-                       <KEYWORD2>do</KEYWORD2>\r
-\r
-                       <KEYWORD2>NUL</KEYWORD2>\r
-                       <KEYWORD2>AUX</KEYWORD2>\r
-                       <KEYWORD2>PRN</KEYWORD2>\r
-\r
-                       <KEYWORD1>not</KEYWORD1>\r
-\r
-                       <!-- goto is a special case we want to distinguish it -->\r
-                       <KEYWORD3>goto</KEYWORD3>\r
-\r
-                       <!-- FUNCTION are standard MS-DOS commands -->\r
-                       <!-- (those you find as stand-alone .exe or .com) in win95 %windows_root%\command folder -->\r
-                       <FUNCTION>APPEND</FUNCTION>\r
-                       <FUNCTION>ATTRIB</FUNCTION>\r
-                       <FUNCTION>CHKDSK</FUNCTION>\r
-                       <FUNCTION>CHOICE</FUNCTION>\r
-                       <FUNCTION>DEBUG</FUNCTION>\r
-                       <FUNCTION>DEFRAG</FUNCTION>\r
-                       <FUNCTION>DELTREE</FUNCTION>\r
-                       <FUNCTION>DISKCOMP</FUNCTION>\r
-                       <FUNCTION>DISKCOPY</FUNCTION>\r
-                       <FUNCTION>DOSKEY</FUNCTION>\r
-                       <FUNCTION>DRVSPACE</FUNCTION>\r
-                       <FUNCTION>EMM386</FUNCTION>\r
-                       <FUNCTION>EXPAND</FUNCTION>\r
-                       <FUNCTION>FASTOPEN</FUNCTION>\r
-                       <FUNCTION>FC</FUNCTION>\r
-                       <FUNCTION>FDISK</FUNCTION>\r
-                       <FUNCTION>FIND</FUNCTION>\r
-                       <FUNCTION>FORMAT</FUNCTION>\r
-                       <FUNCTION>GRAPHICS</FUNCTION>\r
-                       <FUNCTION>KEYB</FUNCTION>\r
-                       <FUNCTION>LABEL</FUNCTION>\r
-                       <FUNCTION>LOADFIX</FUNCTION>\r
-                       <FUNCTION>MEM</FUNCTION>\r
-                       <FUNCTION>MODE</FUNCTION>\r
-                       <FUNCTION>MORE</FUNCTION>\r
-                       <FUNCTION>MOVE</FUNCTION>\r
-                       <FUNCTION>MSCDEX</FUNCTION>\r
-                       <FUNCTION>NLSFUNC</FUNCTION>\r
-                       <FUNCTION>POWER</FUNCTION>\r
-                       <FUNCTION>PRINT</FUNCTION>\r
-                       <FUNCTION>RD</FUNCTION>\r
-                       <FUNCTION>REPLACE</FUNCTION>\r
-                       <FUNCTION>RESTORE</FUNCTION>\r
-                       <FUNCTION>SETVER</FUNCTION>\r
-                       <FUNCTION>SHARE</FUNCTION>\r
-                       <FUNCTION>SORT</FUNCTION>\r
-                       <FUNCTION>SUBST</FUNCTION>\r
-                       <FUNCTION>SYS</FUNCTION>\r
-                       <FUNCTION>TREE</FUNCTION>\r
-                       <FUNCTION>UNDELETE</FUNCTION>\r
-                       <FUNCTION>UNFORMAT</FUNCTION>\r
-                       <FUNCTION>VSAFE</FUNCTION>\r
-                       <FUNCTION>XCOPY</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/bbj.xml b/extra/xmode/modes/bbj.xml
deleted file mode 100644 (file)
index 91f684c..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- enhancement if using some preprocessor -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">REM </EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR"> and </SEQ>\r
-               <SEQ TYPE="OPERATOR"> or </SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>ABS</KEYWORD1>\r
-                       <KEYWORD1>ADJN</KEYWORD1>\r
-                       <KEYWORD1>ARGC</KEYWORD1>\r
-                       <KEYWORD1>ARGV</KEYWORD1>\r
-                       <KEYWORD1>ASC</KEYWORD1>\r
-                       <KEYWORD1>ATH</KEYWORD1>\r
-                       <KEYWORD1>ATN</KEYWORD1>\r
-                       <KEYWORD1>BACKGROUND</KEYWORD1>\r
-                       <KEYWORD1>BIN</KEYWORD1>\r
-                       <KEYWORD1>BSZ</KEYWORD1>\r
-                       <KEYWORD1>CALLBACK</KEYWORD1>\r
-                       <KEYWORD1>CHANOPT</KEYWORD1>\r
-                       <KEYWORD1>CHR</KEYWORD1>\r
-                       <KEYWORD1>CLIPCLEAR</KEYWORD1>\r
-                       <KEYWORD1>CLIPFROMFILE</KEYWORD1>\r
-                       <KEYWORD1>CLIPFROMSTR</KEYWORD1>\r
-                       <KEYWORD1>CLIPISFORMAT</KEYWORD1>\r
-                       <KEYWORD1>CLIPLOCK</KEYWORD1>\r
-                       <KEYWORD1>CLIPREGFORMAT</KEYWORD1>\r
-                       <KEYWORD1>CLIPTOFILE</KEYWORD1>\r
-                       <KEYWORD1>CLIPTOSTR</KEYWORD1>\r
-                       <KEYWORD1>CLIPUNLOCK</KEYWORD1>\r
-                       <KEYWORD1>COS</KEYWORD1>\r
-                       <KEYWORD1>CPL</KEYWORD1>\r
-                       <KEYWORD1>CRC</KEYWORD1>\r
-                       <KEYWORD1>CRC16</KEYWORD1>\r
-                       <KEYWORD1>CTRL</KEYWORD1>\r
-                       <KEYWORD1>CVS</KEYWORD1>\r
-                       <KEYWORD1>CVT</KEYWORD1>\r
-                       <KEYWORD1>DATE</KEYWORD1>\r
-                       <KEYWORD1>DEC</KEYWORD1>\r
-                       <KEYWORD1>DIMS</KEYWORD1>\r
-                       <KEYWORD1>DSK</KEYWORD1>\r
-                       <KEYWORD1>DSZ</KEYWORD1>\r
-                       <KEYWORD1>EPT</KEYWORD1>\r
-                       <KEYWORD1>ERRMES</KEYWORD1>\r
-                       <KEYWORD1>FATTR</KEYWORD1>\r
-                       <KEYWORD1>FBIN</KEYWORD1>\r
-                       <KEYWORD1>FDEC</KEYWORD1>\r
-                       <KEYWORD1>FIELD</KEYWORD1>\r
-                       <KEYWORD1>FILEOPT</KEYWORD1>\r
-                       <KEYWORD1>FILL</KEYWORD1>\r
-                       <KEYWORD1>FLOATINGPOINT</KEYWORD1>\r
-                       <KEYWORD1>FPT</KEYWORD1>\r
-                       <KEYWORD1>GAP</KEYWORD1>\r
-                       <KEYWORD1>HSA</KEYWORD1>\r
-                       <KEYWORD1>HSH</KEYWORD1>\r
-                       <KEYWORD1>HTA</KEYWORD1>\r
-                       <KEYWORD1>IMP</KEYWORD1>\r
-                       <KEYWORD1>INFO</KEYWORD1>\r
-                       <KEYWORD1>INT</KEYWORD1>\r
-                       <KEYWORD1>JUL</KEYWORD1>\r
-                       <KEYWORD1>LCHECKIN</KEYWORD1>\r
-                       <KEYWORD1>LCHECKOUT</KEYWORD1>\r
-                       <KEYWORD1>LEN</KEYWORD1>\r
-                       <KEYWORD1>LINFO</KEYWORD1>\r
-                       <KEYWORD1>LOG</KEYWORD1>\r
-                       <KEYWORD1>LRC</KEYWORD1>\r
-                       <KEYWORD1>LST</KEYWORD1>\r
-                       <KEYWORD1>MASK</KEYWORD1>\r
-                       <KEYWORD1>MAX</KEYWORD1>\r
-                       <KEYWORD1>MENUINFO</KEYWORD1>\r
-                       <KEYWORD1>MIN</KEYWORD1>\r
-                       <KEYWORD1>MOD</KEYWORD1>\r
-                       <KEYWORD1>MSGBOX</KEYWORD1>\r
-                       <KEYWORD1>NEVAL</KEYWORD1>\r
-                       <KEYWORD1>NFIELD</KEYWORD1>\r
-                       <KEYWORD1>NOTICE</KEYWORD1>\r
-                       <KEYWORD1>NOTICETPL</KEYWORD1>\r
-                       <KEYWORD1>NUM</KEYWORD1>\r
-                       <KEYWORD1>PAD</KEYWORD1>\r
-                       <KEYWORD1>PCK</KEYWORD1>\r
-                       <KEYWORD1>PGM</KEYWORD1>\r
-                       <KEYWORD1>POS</KEYWORD1>\r
-                       <KEYWORD1>PROCESS_EVENTS</KEYWORD1>\r
-                       <KEYWORD1>PROGRAM</KEYWORD1>\r
-                       <KEYWORD1>PSZ</KEYWORD1>\r
-                       <KEYWORD1>PUB</KEYWORD1>\r
-                       <KEYWORD1>REMOVE_CALLBACK</KEYWORD1>\r
-                       <KEYWORD1>RESERVE</KEYWORD1>\r
-                       <KEYWORD1>RND</KEYWORD1>\r
-                       <KEYWORD1>ROUND</KEYWORD1>\r
-                       <KEYWORD1>SCALL</KEYWORD1>\r
-                       <KEYWORD1>SENDMSG</KEYWORD1>\r
-                       <KEYWORD1>SEVAL</KEYWORD1>\r
-                       <KEYWORD1>SGN</KEYWORD1>\r
-                       <KEYWORD1>SIN</KEYWORD1>\r
-                       <KEYWORD1>SQR</KEYWORD1>\r
-                       <KEYWORD1>SSORT</KEYWORD1>\r
-                       <KEYWORD1>SSZ</KEYWORD1>\r
-                       <KEYWORD1>STBL</KEYWORD1>\r
-                       <KEYWORD1>STR</KEYWORD1>\r
-                       <KEYWORD1>SWAP</KEYWORD1>\r
-                       <KEYWORD1>SYS</KEYWORD1>\r
-                       <KEYWORD1>TCB</KEYWORD1>\r
-                       <KEYWORD1>TMPL</KEYWORD1>\r
-                       <KEYWORD1>TSK</KEYWORD1>\r
-                       <KEYWORD1>UPK</KEYWORD1>\r
-                       <KEYWORD1>WINFIRST</KEYWORD1>\r
-                       <KEYWORD1>WININFO</KEYWORD1>\r
-                       <KEYWORD1>WINNEXT</KEYWORD1>\r
-\r
-                       <KEYWORD2>CHDIR</KEYWORD2>\r
-                       <KEYWORD2>CISAM</KEYWORD2>\r
-                       <KEYWORD2>CLOSE</KEYWORD2>\r
-                       <KEYWORD2>CONTINUE</KEYWORD2>\r
-                       <KEYWORD2>DIRECT</KEYWORD2>\r
-                       <KEYWORD2>DIR</KEYWORD2>\r
-                       <KEYWORD2>DISABLE</KEYWORD2>\r
-                       <KEYWORD2>DOM</KEYWORD2>\r
-                       <KEYWORD2>DUMP</KEYWORD2>\r
-                       <KEYWORD2>ENABLE</KEYWORD2>\r
-                       <KEYWORD2>END</KEYWORD2>\r
-                       <KEYWORD2>ENDTRACE</KEYWORD2>\r
-                       <KEYWORD2>ERASE</KEYWORD2>\r
-                       <KEYWORD2>EXTRACT</KEYWORD2>\r
-                       <KEYWORD2>FID</KEYWORD2>\r
-                       <KEYWORD2>FILE</KEYWORD2>\r
-                       <KEYWORD2>FIN</KEYWORD2>\r
-                       <KEYWORD2>FIND</KEYWORD2>\r
-                       <KEYWORD2>FROM</KEYWORD2>\r
-                       <KEYWORD2>IND</KEYWORD2>\r
-                       <KEYWORD2>INDEXED</KEYWORD2>\r
-                       <KEYWORD2>INPUT</KEYWORD2>\r
-                       <KEYWORD2>INPUTE</KEYWORD2>\r
-                       <KEYWORD2>INPUTN</KEYWORD2>\r
-                       <KEYWORD2>IOL</KEYWORD2>\r
-                       <KEYWORD2>IOLIST</KEYWORD2>\r
-                       <KEYWORD2>KEY</KEYWORD2>\r
-                       <KEYWORD2>KEYF</KEYWORD2>\r
-                       <KEYWORD2>KEYL</KEYWORD2>\r
-                       <KEYWORD2>KEYN</KEYWORD2>\r
-                       <KEYWORD2>KEYP</KEYWORD2>\r
-                       <KEYWORD2>KGEN</KEYWORD2>\r
-                       <KEYWORD2>KNUM</KEYWORD2>\r
-                       <KEYWORD2>LIST</KEYWORD2>\r
-                       <KEYWORD2>LOAD</KEYWORD2>\r
-                       <KEYWORD2>LOCK</KEYWORD2>\r
-                       <KEYWORD2>MERGE</KEYWORD2>\r
-                       <KEYWORD2>MKDIR</KEYWORD2>\r
-                       <KEYWORD2>MKEYED</KEYWORD2>\r
-                       <KEYWORD2>OPEN</KEYWORD2>\r
-                       <KEYWORD2>PREFIX</KEYWORD2>\r
-                       <KEYWORD2>PRINT</KEYWORD2>\r
-                       <KEYWORD2>READ_RESOURCE</KEYWORD2>\r
-                       <KEYWORD2>READ</KEYWORD2>\r
-                       <KEYWORD2>RECORD</KEYWORD2>\r
-                       <KEYWORD2>REMOVE</KEYWORD2>\r
-                       <KEYWORD2>RENAME</KEYWORD2>\r
-                       <KEYWORD2>RESCLOSE</KEYWORD2>\r
-                       <KEYWORD2>RESFIRST</KEYWORD2>\r
-                       <KEYWORD2>RESGET</KEYWORD2>\r
-                       <KEYWORD2>RESINFO</KEYWORD2>\r
-                       <KEYWORD2>RESNEXT</KEYWORD2>\r
-                       <KEYWORD2>RESOPEN</KEYWORD2>\r
-                       <KEYWORD2>REV</KEYWORD2>\r
-                       <KEYWORD2>RMDIR</KEYWORD2>\r
-                       <KEYWORD2>SAVE</KEYWORD2>\r
-                       <KEYWORD2>SELECT</KEYWORD2>\r
-                       <KEYWORD2>SERIAL</KEYWORD2>\r
-                       <KEYWORD2>SETDAY</KEYWORD2>\r
-                       <KEYWORD2>SETDRIVE</KEYWORD2>\r
-                       <KEYWORD2>SETTRACE</KEYWORD2>\r
-                       <KEYWORD2>SIZ</KEYWORD2>\r
-                       <KEYWORD2>SORT</KEYWORD2>\r
-                       <KEYWORD2>SQLCHN</KEYWORD2>\r
-                       <KEYWORD2>SQLCLOSE</KEYWORD2>\r
-                       <KEYWORD2>SQLERR</KEYWORD2>\r
-                       <KEYWORD2>SQLEXEC</KEYWORD2>\r
-                       <KEYWORD2>SQLFETCH</KEYWORD2>\r
-                       <KEYWORD2>SQLLIST</KEYWORD2>\r
-                       <KEYWORD2>SQLOPEN</KEYWORD2>\r
-                       <KEYWORD2>SQLPREP</KEYWORD2>\r
-                       <KEYWORD2>SQLSET</KEYWORD2>\r
-                       <KEYWORD2>SQLTABLES</KEYWORD2>\r
-                       <KEYWORD2>SQLTMPL</KEYWORD2>\r
-                       <KEYWORD2>SQLUNT</KEYWORD2>\r
-                       <KEYWORD2>STRING</KEYWORD2>\r
-                       <KEYWORD2>TABLE</KEYWORD2>\r
-                       <KEYWORD2>TBL</KEYWORD2>\r
-                       <KEYWORD2>TIM</KEYWORD2>\r
-                       <KEYWORD2>UNLOCK</KEYWORD2>\r
-                       <KEYWORD2>WHERE</KEYWORD2>\r
-                       <KEYWORD2>WRITE</KEYWORD2>\r
-                       <KEYWORD2>XFID</KEYWORD2>\r
-                       <KEYWORD2>XFILE</KEYWORD2>\r
-                       <KEYWORD2>XFIN</KEYWORD2>\r
-\r
-                       <KEYWORD3>ADDR</KEYWORD3>\r
-                       <KEYWORD3>ALL</KEYWORD3>\r
-                       <KEYWORD3>AUTO</KEYWORD3>\r
-                       <KEYWORD3>BEGIN</KEYWORD3>\r
-                       <KEYWORD3>BREAK</KEYWORD3>\r
-                       <KEYWORD3>CALL</KEYWORD3>\r
-                       <KEYWORD3>CASE</KEYWORD3>\r
-                       <KEYWORD3>CHN</KEYWORD3>\r
-                       <KEYWORD3>CLEAR</KEYWORD3>\r
-                       <KEYWORD3>CTL</KEYWORD3>\r
-                       <KEYWORD3>DATA</KEYWORD3>\r
-                       <KEYWORD3>DAY</KEYWORD3>\r
-                       <KEYWORD3>DEF</KEYWORD3>\r
-                       <KEYWORD3>DEFAULT</KEYWORD3>\r
-                       <KEYWORD3>DEFEND</KEYWORD3>\r
-                       <KEYWORD3>DELETE</KEYWORD3>\r
-                       <KEYWORD3>DIM</KEYWORD3>\r
-                       <KEYWORD3>DREAD</KEYWORD3>\r
-                       <KEYWORD3>DROP</KEYWORD3>\r
-                       <KEYWORD3>EDIT</KEYWORD3>\r
-                       <KEYWORD3>ELSE</KEYWORD3>\r
-                       <KEYWORD3>ENDIF</KEYWORD3>\r
-                       <KEYWORD3>ENTER</KEYWORD3>\r
-                       <KEYWORD3>ERR</KEYWORD3>\r
-                       <KEYWORD3>ESCAPE</KEYWORD3>\r
-                       <KEYWORD3>ESCOFF</KEYWORD3>\r
-                       <KEYWORD3>ESCON</KEYWORD3>\r
-                       <KEYWORD3>EXECUTE</KEYWORD3>\r
-                       <KEYWORD3>EXIT</KEYWORD3>\r
-                       <KEYWORD3>EXITTO</KEYWORD3>\r
-                       <KEYWORD3>FI</KEYWORD3>\r
-                       <KEYWORD3>FOR</KEYWORD3>\r
-                       <KEYWORD3>GOSUB</KEYWORD3>\r
-                       <KEYWORD3>GOTO</KEYWORD3>\r
-                       <KEYWORD3>IF</KEYWORD3>\r
-                       <KEYWORD3>IFF</KEYWORD3>\r
-                       <KEYWORD3>INITFILE</KEYWORD3>\r
-                       <KEYWORD3>IOR</KEYWORD3>\r
-                       <KEYWORD3>LET</KEYWORD3>\r
-                       <KEYWORD3>NEXT</KEYWORD3>\r
-                       <KEYWORD3>NOT</KEYWORD3>\r
-                       <KEYWORD3>ON</KEYWORD3>\r
-                       <KEYWORD3>OPTS</KEYWORD3>\r
-                       <KEYWORD3>OR</KEYWORD3>\r
-                       <KEYWORD3>PFX</KEYWORD3>\r
-                       <KEYWORD3>PRECISION</KEYWORD3>\r
-                       <KEYWORD3>RELEASE</KEYWORD3>\r
-                       <KEYWORD3>RENUM</KEYWORD3>\r
-                       <KEYWORD3>REPEAT</KEYWORD3>\r
-                       <KEYWORD3>RESET</KEYWORD3>\r
-                       <KEYWORD3>RESTORE</KEYWORD3>\r
-                       <KEYWORD3>RETRY</KEYWORD3>\r
-                       <KEYWORD3>RETURN</KEYWORD3>\r
-                       <KEYWORD3>RUN</KEYWORD3>\r
-                       <KEYWORD3>SET_CASE_SENSITIVE_OFF</KEYWORD3>\r
-                       <KEYWORD3>SET_CASE_SENSITIVE_ON</KEYWORD3>\r
-                       <KEYWORD3>SETERR</KEYWORD3>\r
-                       <KEYWORD3>SETESC</KEYWORD3>\r
-                       <KEYWORD3>SETOPTS</KEYWORD3>\r
-                       <KEYWORD3>SETTIME</KEYWORD3>\r
-                       <KEYWORD3>SSN</KEYWORD3>\r
-                       <KEYWORD3>START</KEYWORD3>\r
-                       <KEYWORD3>STEP</KEYWORD3>\r
-                       <KEYWORD3>STOP</KEYWORD3>\r
-                       <KEYWORD3>SWEND</KEYWORD3>\r
-                       <KEYWORD3>SWITCH</KEYWORD3>\r
-                       <KEYWORD3>THEN</KEYWORD3>\r
-                       <KEYWORD3>TO</KEYWORD3>\r
-                       <KEYWORD3>UNT</KEYWORD3>\r
-                       <KEYWORD3>UNTIL</KEYWORD3>\r
-                       <KEYWORD3>WAIT</KEYWORD3>\r
-                       <KEYWORD3>WEND</KEYWORD3>\r
-                       <KEYWORD3>WHILE</KEYWORD3>\r
-                       <KEYWORD3>XOR</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/bcel.xml b/extra/xmode/modes/bcel.xml
deleted file mode 100644 (file)
index 628911f..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-    Java bytecode mode. Used by Andre Kaplan's JavaInsight plugin.\r
--->\r
-\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-    </PROPS>\r
-\r
-\r
-    <RULES HIGHLIGHT_DIGITS="TRUE">\r
-        <!-- Silly comment -->\r
-        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-        <!-- Javadoc comment -->\r
-        <SPAN TYPE="COMMENT3">\r
-            <BEGIN>/**</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <!-- Java comment (C style) -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>/*</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-\r
-        <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="FALSE">%</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="FALSE">#</MARK_FOLLOWING>\r
-\r
-        <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-            AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <!-- Some java keywords -->\r
-            <KEYWORD1>abstract</KEYWORD1>\r
-            <!-- <KEYWORD1>break</KEYWORD1> -->\r
-            <!-- <KEYWORD1>case</KEYWORD1> -->\r
-            <!-- <KEYWORD1>catch</KEYWORD1> -->\r
-            <!-- <KEYWORD1>continue</KEYWORD1> -->\r
-            <!-- <KEYWORD1>default</KEYWORD1> -->\r
-            <!-- <KEYWORD1>do</KEYWORD1> -->\r
-            <!-- <KEYWORD1>else</KEYWORD1> -->\r
-            <KEYWORD1>extends</KEYWORD1>\r
-            <KEYWORD1>final</KEYWORD1>\r
-            <!-- <KEYWORD1>finally</KEYWORD1> -->\r
-            <!-- <KEYWORD1>for</KEYWORD1> -->\r
-            <!-- <KEYWORD1>if</KEYWORD1> -->\r
-            <KEYWORD1>implements</KEYWORD1>\r
-            <!-- <KEYWORD1>instanceof</KEYWORD1> -->\r
-            <KEYWORD1>native</KEYWORD1>\r
-            <!-- <KEYWORD1>new</KEYWORD1> -->\r
-            <KEYWORD1>private</KEYWORD1>\r
-            <KEYWORD1>protected</KEYWORD1>\r
-            <KEYWORD1>public</KEYWORD1>\r
-            <!-- <KEYWORD1>return</KEYWORD1> -->\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <!-- <KEYWORD1>switch</KEYWORD1> -->\r
-            <KEYWORD1>synchronized</KEYWORD1>\r
-            <KEYWORD1>throw</KEYWORD1>\r
-            <KEYWORD1>throws</KEYWORD1>\r
-            <KEYWORD1>transient</KEYWORD1>\r
-            <!-- <KEYWORD1>try</KEYWORD1> -->\r
-            <KEYWORD1>volatile</KEYWORD1>\r
-            <!-- <KEYWORD1>while</KEYWORD1> -->\r
-\r
-            <!-- <KEYWORD2>package</KEYWORD2> -->\r
-            <!-- <KEYWORD2>import</KEYWORD2> -->\r
-\r
-            <KEYWORD3>boolean</KEYWORD3>\r
-            <KEYWORD3>byte</KEYWORD3>\r
-            <KEYWORD3>char</KEYWORD3>\r
-            <KEYWORD3>class</KEYWORD3>\r
-            <KEYWORD3>double</KEYWORD3>\r
-            <KEYWORD3>float</KEYWORD3>\r
-            <KEYWORD3>int</KEYWORD3>\r
-            <KEYWORD3>interface</KEYWORD3>\r
-            <KEYWORD3>long</KEYWORD3>\r
-            <KEYWORD3>short</KEYWORD3>\r
-            <KEYWORD3>void</KEYWORD3>\r
-\r
-            <!-- <LITERAL2>false</LITERAL2> -->\r
-            <!-- <LITERAL2>null</LITERAL2> -->\r
-            <!-- <LITERAL2>super</LITERAL2> -->\r
-            <!-- <LITERAL2>this</LITERAL2> -->\r
-            <!-- <LITERAL2>true</LITERAL2> -->\r
-\r
-            <KEYWORD1>clinit</KEYWORD1>\r
-            <KEYWORD1>init</KEYWORD1>\r
-\r
-            <!-- 00 (0x00) --><KEYWORD1>nop</KEYWORD1>\r
-            <!-- 01 (0x01) --><KEYWORD1>aconst_null</KEYWORD1>\r
-            <!-- 02 (0x02) --><KEYWORD1>iconst_m1</KEYWORD1>\r
-            <!-- 03 (0x03) --><KEYWORD1>iconst_0</KEYWORD1>\r
-            <!-- 04 (0x04) --><KEYWORD1>iconst_1</KEYWORD1>\r
-            <!-- 05 (0x05) --><KEYWORD1>iconst_2</KEYWORD1>\r
-            <!-- 06 (0x06) --><KEYWORD1>iconst_3</KEYWORD1>\r
-            <!-- 07 (0x07) --><KEYWORD1>iconst_4</KEYWORD1>\r
-            <!-- 08 (0x08) --><KEYWORD1>iconst_5</KEYWORD1>\r
-            <!-- 09 (0x09) --><KEYWORD1>lconst_0</KEYWORD1>\r
-            <!-- 10 (0x0a) --><KEYWORD1>lconst_1</KEYWORD1>\r
-            <!-- 11 (0x0b) --><KEYWORD1>fconst_0</KEYWORD1>\r
-            <!-- 12 (0x0c) --><KEYWORD1>fconst_1</KEYWORD1>\r
-            <!-- 13 (0x0d) --><KEYWORD1>fconst_2</KEYWORD1>\r
-            <!-- 14 (0x0e) --><KEYWORD1>dconst_0</KEYWORD1>\r
-            <!-- 15 (0x0f) --><KEYWORD1>dconst_1</KEYWORD1>\r
-            <!-- 16 (0x10) --><KEYWORD1>bipush</KEYWORD1>\r
-            <!-- 17 (0x11) --><KEYWORD1>sipush</KEYWORD1>\r
-            <!-- 18 (0x12) --><KEYWORD1>ldc</KEYWORD1>\r
-            <!-- 19 (0x13) --><KEYWORD1>ldc_w</KEYWORD1>\r
-            <!-- 20 (0x14) --><KEYWORD1>ldc2_w</KEYWORD1>\r
-            <!-- 21 (0x15) --><KEYWORD1>iload</KEYWORD1>\r
-            <!-- 22 (0x16) --><KEYWORD1>lload</KEYWORD1>\r
-            <!-- 23 (0x17) --><KEYWORD1>fload</KEYWORD1>\r
-            <!-- 24 (0x18) --><KEYWORD1>dload</KEYWORD1>\r
-            <!-- 25 (0x19) --><KEYWORD1>aload</KEYWORD1>\r
-            <!-- 26 (0x1a) --><KEYWORD1>iload_0</KEYWORD1>\r
-            <!-- 27 (0x1b) --><KEYWORD1>iload_1</KEYWORD1>\r
-            <!-- 28 (0x1c) --><KEYWORD1>iload_2</KEYWORD1>\r
-            <!-- 29 (0x1d) --><KEYWORD1>iload_3</KEYWORD1>\r
-            <!-- 30 (0x1e) --><KEYWORD1>lload_0</KEYWORD1>\r
-            <!-- 31 (0x1f) --><KEYWORD1>lload_1</KEYWORD1>\r
-            <!-- 32 (0x20) --><KEYWORD1>lload_2</KEYWORD1>\r
-            <!-- 33 (0x21) --><KEYWORD1>lload_3</KEYWORD1>\r
-            <!-- 34 (0x22) --><KEYWORD1>fload_0</KEYWORD1>\r
-            <!-- 35 (0x23) --><KEYWORD1>fload_1</KEYWORD1>\r
-            <!-- 36 (0x24) --><KEYWORD1>fload_2</KEYWORD1>\r
-            <!-- 37 (0x25) --><KEYWORD1>fload_3</KEYWORD1>\r
-            <!-- 38 (0x26) --><KEYWORD1>dload_0</KEYWORD1>\r
-            <!-- 39 (0x27) --><KEYWORD1>dload_1</KEYWORD1>\r
-            <!-- 40 (0x28) --><KEYWORD1>dload_2</KEYWORD1>\r
-            <!-- 41 (0x29) --><KEYWORD1>dload_3</KEYWORD1>\r
-            <!-- 42 (0x2a) --><KEYWORD1>aload_0</KEYWORD1>\r
-            <!-- 43 (0x2b) --><KEYWORD1>aload_1</KEYWORD1>\r
-            <!-- 44 (0x2c) --><KEYWORD1>aload_2</KEYWORD1>\r
-            <!-- 45 (0x2d) --><KEYWORD1>aload_3</KEYWORD1>\r
-            <!-- 46 (0x2e) --><KEYWORD1>iaload</KEYWORD1>\r
-            <!-- 47 (0x2f) --><KEYWORD1>laload</KEYWORD1>\r
-            <!-- 48 (0x30) --><KEYWORD1>faload</KEYWORD1>\r
-            <!-- 49 (0x31) --><KEYWORD1>daload</KEYWORD1>\r
-            <!-- 50 (0x32) --><KEYWORD1>aaload</KEYWORD1>\r
-            <!-- 51 (0x33) --><KEYWORD1>baload</KEYWORD1>\r
-            <!-- 52 (0x34) --><KEYWORD1>caload</KEYWORD1>\r
-            <!-- 53 (0x35) --><KEYWORD1>saload</KEYWORD1>\r
-            <!-- 54 (0x36) --><KEYWORD1>istore</KEYWORD1>\r
-            <!-- 55 (0x37) --><KEYWORD1>lstore</KEYWORD1>\r
-            <!-- 56 (0x38) --><KEYWORD1>fstore</KEYWORD1>\r
-            <!-- 57 (0x39) --><KEYWORD1>dstore</KEYWORD1>\r
-            <!-- 58 (0x3a) --><KEYWORD1>astore</KEYWORD1>\r
-            <!-- 59 (0x3b) --><KEYWORD1>istore_0</KEYWORD1>\r
-            <!-- 60 (0x3c) --><KEYWORD1>istore_1</KEYWORD1>\r
-            <!-- 61 (0x3d) --><KEYWORD1>istore_2</KEYWORD1>\r
-            <!-- 62 (0x3e) --><KEYWORD1>istore_3</KEYWORD1>\r
-            <!-- 63 (0x3f) --><KEYWORD1>lstore_0</KEYWORD1>\r
-            <!-- 64 (0x40) --><KEYWORD1>lstore_1</KEYWORD1>\r
-            <!-- 65 (0x41) --><KEYWORD1>lstore_2</KEYWORD1>\r
-            <!-- 66 (0x42) --><KEYWORD1>lstore_3</KEYWORD1>\r
-            <!-- 67 (0x43) --><KEYWORD1>fstore_0</KEYWORD1>\r
-            <!-- 68 (0x44) --><KEYWORD1>fstore_1</KEYWORD1>\r
-            <!-- 69 (0x45) --><KEYWORD1>fstore_2</KEYWORD1>\r
-            <!-- 70 (0x46) --><KEYWORD1>fstore_3</KEYWORD1>\r
-            <!-- 71 (0x47) --><KEYWORD1>dstore_0</KEYWORD1>\r
-            <!-- 72 (0x48) --><KEYWORD1>dstore_1</KEYWORD1>\r
-            <!-- 73 (0x49) --><KEYWORD1>dstore_2</KEYWORD1>\r
-            <!-- 74 (0x4a) --><KEYWORD1>dstore_3</KEYWORD1>\r
-            <!-- 75 (0x4b) --><KEYWORD1>astore_0</KEYWORD1>\r
-            <!-- 76 (0x4c) --><KEYWORD1>astore_1</KEYWORD1>\r
-            <!-- 77 (0x4d) --><KEYWORD1>astore_2</KEYWORD1>\r
-            <!-- 78 (0x4e) --><KEYWORD1>astore_3</KEYWORD1>\r
-            <!-- 79 (0x4f) --><KEYWORD1>iastore</KEYWORD1>\r
-            <!-- 80 (0x50) --><KEYWORD1>lastore</KEYWORD1>\r
-            <!-- 81 (0x51) --><KEYWORD1>fastore</KEYWORD1>\r
-            <!-- 82 (0x52) --><KEYWORD1>dastore</KEYWORD1>\r
-            <!-- 83 (0x53) --><KEYWORD1>aastore</KEYWORD1>\r
-            <!-- 84 (0x54) --><KEYWORD1>bastore</KEYWORD1>\r
-            <!-- 85 (0x55) --><KEYWORD1>castore</KEYWORD1>\r
-            <!-- 86 (0x56) --><KEYWORD1>sastore</KEYWORD1>\r
-            <!-- 87 (0x57) --><KEYWORD1>pop</KEYWORD1>\r
-            <!-- 88 (0x58) --><KEYWORD1>pop2</KEYWORD1>\r
-            <!-- 089 (0x59) --><KEYWORD1>dup</KEYWORD1>\r
-            <!-- 090 (0x5a) --><KEYWORD1>dup_x1</KEYWORD1>\r
-            <!-- 091 (0x5b) --><KEYWORD1>dup_x2</KEYWORD1>\r
-            <!-- 092 (0x5c) --><KEYWORD1>dup2</KEYWORD1>\r
-            <!-- 093 (0x5d) --><KEYWORD1>dup2_x1</KEYWORD1>\r
-            <!-- 094 (0x5e) --><KEYWORD1>dup2_x2</KEYWORD1>\r
-            <!-- 095 (0x5f) --><KEYWORD1>swap</KEYWORD1>\r
-            <!-- 096 (0x60) --><KEYWORD1>iadd</KEYWORD1>\r
-            <!-- 097 (0x61) --><KEYWORD1>ladd</KEYWORD1>\r
-            <!-- 098 (0x62) --><KEYWORD1>fadd</KEYWORD1>\r
-            <!-- 099 (0x63) --><KEYWORD1>dadd</KEYWORD1>\r
-            <!-- 100 (0x64) --><KEYWORD1>isub</KEYWORD1>\r
-            <!-- 101 (0x65) --><KEYWORD1>lsub</KEYWORD1>\r
-            <!-- 102 (0x66) --><KEYWORD1>fsub</KEYWORD1>\r
-            <!-- 103 (0x67) --><KEYWORD1>dsub</KEYWORD1>\r
-            <!-- 104 (0x68) --><KEYWORD1>imul</KEYWORD1>\r
-            <!-- 105 (0x69) --><KEYWORD1>lmul</KEYWORD1>\r
-            <!-- 106 (0x6a) --><KEYWORD1>fmul</KEYWORD1>\r
-            <!-- 107 (0x6b) --><KEYWORD1>dmul</KEYWORD1>\r
-            <!-- 108 (0x6c) --><KEYWORD1>idiv</KEYWORD1>\r
-            <!-- 109 (0x6d) --><KEYWORD1>ldiv</KEYWORD1>\r
-            <!-- 110 (0x6e) --><KEYWORD1>fdiv</KEYWORD1>\r
-            <!-- 111 (0x6f) --><KEYWORD1>ddiv</KEYWORD1>\r
-            <!-- 112 (0x70) --><KEYWORD1>irem</KEYWORD1>\r
-            <!-- 113 (0x71) --><KEYWORD1>lrem</KEYWORD1>\r
-            <!-- 114 (0x72) --><KEYWORD1>frem</KEYWORD1>\r
-            <!-- 115 (0x73) --><KEYWORD1>drem</KEYWORD1>\r
-            <!-- 116 (0x74) --><KEYWORD1>ineg</KEYWORD1>\r
-            <!-- 117 (0x75) --><KEYWORD1>lneg</KEYWORD1>\r
-            <!-- 118 (0x76) --><KEYWORD1>fneg</KEYWORD1>\r
-            <!-- 119 (0x77) --><KEYWORD1>dneg</KEYWORD1>\r
-            <!-- 120 (0x78) --><KEYWORD1>ishl</KEYWORD1>\r
-            <!-- 121 (0x79) --><KEYWORD1>lshl</KEYWORD1>\r
-            <!-- 122 (0x7a) --><KEYWORD1>ishr</KEYWORD1>\r
-            <!-- 123 (0x7b) --><KEYWORD1>lshr</KEYWORD1>\r
-            <!-- 124 (0x7c) --><KEYWORD1>iushr</KEYWORD1>\r
-            <!-- 125 (0x7d) --><KEYWORD1>lushr</KEYWORD1>\r
-            <!-- 126 (0x7e) --><KEYWORD1>iand</KEYWORD1>\r
-            <!-- 127 (0x7f) --><KEYWORD1>land</KEYWORD1>\r
-            <!-- 128 (0x80) --><KEYWORD1>ior</KEYWORD1>\r
-            <!-- 129 (0x81) --><KEYWORD1>lor</KEYWORD1>\r
-            <!-- 130 (0x82) --><KEYWORD1>ixor</KEYWORD1>\r
-            <!-- 131 (0x83) --><KEYWORD1>lxor</KEYWORD1>\r
-            <!-- 132 (0x84) --><KEYWORD1>iinc</KEYWORD1>\r
-            <!-- 133 (0x85) --><KEYWORD1>i2l</KEYWORD1>\r
-            <!-- 134 (0x86) --><KEYWORD1>i2f</KEYWORD1>\r
-            <!-- 135 (0x87) --><KEYWORD1>i2d</KEYWORD1>\r
-            <!-- 136 (0x88) --><KEYWORD1>l2i</KEYWORD1>\r
-            <!-- 137 (0x89) --><KEYWORD1>l2f</KEYWORD1>\r
-            <!-- 138 (0x8a) --><KEYWORD1>l2d</KEYWORD1>\r
-            <!-- 139 (0x8b) --><KEYWORD1>f2i</KEYWORD1>\r
-            <!-- 140 (0x8c) --><KEYWORD1>f2l</KEYWORD1>\r
-            <!-- 141 (0x8d) --><KEYWORD1>f2d</KEYWORD1>\r
-            <!-- 142 (0x8e) --><KEYWORD1>d2i</KEYWORD1>\r
-            <!-- 143 (0x8f) --><KEYWORD1>d2l</KEYWORD1>\r
-            <!-- 144 (0x90) --><KEYWORD1>d2f</KEYWORD1>\r
-            <!-- 145 (0x91) --><KEYWORD1>i2b</KEYWORD1>\r
-            <!-- 146 (0x92) --><KEYWORD1>i2c</KEYWORD1>\r
-            <!-- 147 (0x93) --><KEYWORD1>i2s</KEYWORD1>\r
-            <!-- 148 (0x94) --><KEYWORD1>lcmp</KEYWORD1>\r
-            <!-- 149 (0x95) --><KEYWORD1>fcmpl</KEYWORD1>\r
-            <!-- 150 (0x96) --><KEYWORD1>fcmpg</KEYWORD1>\r
-            <!-- 151 (0x97) --><KEYWORD1>dcmpl</KEYWORD1>\r
-            <!-- 152 (0x98) --><KEYWORD1>dcmpg</KEYWORD1>\r
-            <!-- 153 (0x99) --><KEYWORD1>ifeq</KEYWORD1>\r
-            <!-- 154 (0x9a) --><KEYWORD1>ifne</KEYWORD1>\r
-            <!-- 155 (0x9b) --><KEYWORD1>iflt</KEYWORD1>\r
-            <!-- 156 (0x9c) --><KEYWORD1>ifge</KEYWORD1>\r
-            <!-- 157 (0x9d) --><KEYWORD1>ifgt</KEYWORD1>\r
-            <!-- 158 (0x9e) --><KEYWORD1>ifle</KEYWORD1>\r
-            <!-- 159 (0x9f) --><KEYWORD1>if_icmpeq</KEYWORD1>\r
-            <!-- 160 (0xa0) --><KEYWORD1>if_icmpne</KEYWORD1>\r
-            <!-- 161 (0xa1) --><KEYWORD1>if_icmplt</KEYWORD1>\r
-            <!-- 162 (0xa2) --><KEYWORD1>if_icmpge</KEYWORD1>\r
-            <!-- 163 (0xa3) --><KEYWORD1>if_icmpgt</KEYWORD1>\r
-            <!-- 164 (0xa4) --><KEYWORD1>if_icmple</KEYWORD1>\r
-            <!-- 165 (0xa5) --><KEYWORD1>if_acmpeq</KEYWORD1>\r
-            <!-- 166 (0xa6) --><KEYWORD1>if_acmpne</KEYWORD1>\r
-            <!-- 167 (0xa7) --><KEYWORD1>goto</KEYWORD1>\r
-            <!-- 168 (0xa8) --><KEYWORD1>jsr</KEYWORD1>\r
-            <!-- 169 (0xa9) --><KEYWORD1>ret</KEYWORD1>\r
-            <!-- 170 (0xaa) --><KEYWORD1>tableswitch</KEYWORD1>\r
-            <!-- 171 (0xab) --><KEYWORD1>lookupswitch</KEYWORD1>\r
-            <!-- 172 (0xac) --><KEYWORD1>ireturn</KEYWORD1>\r
-            <!-- 173 (0xad) --><KEYWORD1>lreturn</KEYWORD1>\r
-            <!-- 174 (0xae) --><KEYWORD1>freturn</KEYWORD1>\r
-            <!-- 175 (0xaf) --><KEYWORD1>dreturn</KEYWORD1>\r
-            <!-- 176 (0xb0) --><KEYWORD1>areturn</KEYWORD1>\r
-            <!-- 177 (0xb1) --><KEYWORD1>return</KEYWORD1>\r
-            <!-- 178 (0xb2) --><KEYWORD1>getstatic</KEYWORD1>\r
-            <!-- 179 (0xb3) --><KEYWORD1>putstatic</KEYWORD1>\r
-            <!-- 180 (0xb4) --><KEYWORD1>getfield</KEYWORD1>\r
-            <!-- 181 (0xb5) --><KEYWORD1>putfield</KEYWORD1>\r
-            <!-- 182 (0xb6) --><KEYWORD1>invokevirtual</KEYWORD1>\r
-            <!-- 183 (0xb7) --><KEYWORD1>invokespecial</KEYWORD1>\r
-            <!-- 184 (0xb8) --><KEYWORD1>invokestatic</KEYWORD1>\r
-            <!-- 185 (0xb9) --><KEYWORD1>invokeinterface</KEYWORD1>\r
-            <!-- 186 (0xba) --><!-- xxxunusedxxx -->\r
-            <!-- 187 (0xbb) --><KEYWORD1>new</KEYWORD1>\r
-            <!-- 188 (0xbc) --><KEYWORD1>newarray</KEYWORD1>\r
-            <!-- 189 (0xbd) --><KEYWORD1>anewarray</KEYWORD1>\r
-            <!-- 190 (0xbe) --><KEYWORD1>arraylength</KEYWORD1>\r
-            <!-- 191 (0xbf) --><KEYWORD1>athrow</KEYWORD1>\r
-            <!-- 192 (0xc0) --><KEYWORD1>checkcast</KEYWORD1>\r
-            <!-- 193 (0xc1) --><KEYWORD1>instanceof</KEYWORD1>\r
-            <!-- 194 (0xc2) --><KEYWORD1>monitorenter</KEYWORD1>\r
-            <!-- 195 (0xc3) --><KEYWORD1>monitorexit</KEYWORD1>\r
-            <!-- 196 (0xc4) --><KEYWORD1>wide</KEYWORD1>\r
-            <!-- 197 (0xc5) --><KEYWORD1>multianewarray</KEYWORD1>\r
-            <!-- 198 (0xc6) --><KEYWORD1>ifnull</KEYWORD1>\r
-            <!-- 199 (0xc7) --><KEYWORD1>ifnonnull</KEYWORD1>\r
-            <!-- 200 (0xc8) --><KEYWORD1>goto_w</KEYWORD1>\r
-            <!-- 201 (0xc9) --><KEYWORD1>jsr_w</KEYWORD1>\r
-\r
-            <!-- Reserved opcodes: -->\r
-            <!-- 202 (0xca) --><KEYWORD1>breakpoint</KEYWORD1>\r
-            <!-- 254 (0xfe) --><KEYWORD1>impdep1</KEYWORD1>\r
-            <!-- 255 (0xff) --><KEYWORD1>impdep2</KEYWORD1>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/bibtex.xml b/extra/xmode/modes/bibtex.xml
deleted file mode 100644 (file)
index d9211c0..0000000
+++ /dev/null
@@ -1,960 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--  BibTeX mode, by Thomas Alspaugh alspaugh@ics.uci.edu, 2004Mar25  v1.1  -->\r
-<!--  Catalog entry (suggested)\r
-<MODE NAME="BibTeX"            FILE="bibtex.xml"\r
-                               FILE_NAME_GLOB="*.bib" />\r
-  -->\r
-<!--\r
-      This BibTeX mode highlights the fields for each entry type to distinguish\r
-      required, optional, or other fields from Lamport.  \r
-      I have added several commonly-accepted fields (highlighted in yet another\r
-      color);  these are\r
-\r
-        abstract\r
-        annotation\r
-        day\r
-        keywords\r
-        lccn\r
-        location\r
-        references\r
-        url\r
-\r
-      The month name abbreviations are highlighted (jan, feb, mar, ...).\r
-      Escaped quotes (as in {\"o}) are treated correctly.\r
-      Text may be quoted "" or braced {} and may contain \{\}.\r
-      Entries may be braced {} or parenthesized ().\r
-      @strings are highlighted correctly.\r
-      .\r
-      Comments and suggestions are welcome.\r
-      Enjoy!\r
-  -->\r
-<!--  Things BibTeX mode does not do:\r
-        - highlight keys, which must appear after the { or ( \r
-          and match [a-zA-Z0-9.:;?!`'()[\]\-/*@]+\r
-  -->\r
-<!--  Use of token types:\r
-        COMMENT1   % comments\r
-        FUNCTION   entries\r
-        KEYWORD1   additional fields\r
-        KEYWORD2   Lamport fields neither required nor optional\r
-        KEYWORD3   Lamport fields optional\r
-        KEYWORD4   Lamport fields required\r
-        LITERAL1   "text", months, unquoted numbers\r
-        LITERAL2   {text}\r
-        LITERAL3  \{text\}\r
-        OPERATOR   = ,\r
-  -->\r
-<!--  bibtex.xml is generated automatically from a summary of Lamport \r
-      "LaTeX : A document preparation system : User guide and reference manual",\r
-      1994 (LaTeX2e) edition, appendix B, using a Perl scripts.  -->\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="lineComment" VALUE="%"/>\r
-  </PROPS>\r
-\r
-  <RULES IGNORE_CASE="TRUE">\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-    \r
-    <!-- Entry types.  Each entry type has its own ruleset. -->\r
-    <!-- entry: FUNCTION -->\r
-    <SPAN TYPE="FUNCTION" DELEGATE="article"      ><BEGIN>@article{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="article"      ><BEGIN>@article(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="book"         ><BEGIN>@book{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="book"         ><BEGIN>@book(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="booklet"      ><BEGIN>@booklet{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="booklet"      ><BEGIN>@booklet(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="conference"   ><BEGIN>@conference{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="conference"   ><BEGIN>@conference(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="inbook"       ><BEGIN>@inbook{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="inbook"       ><BEGIN>@inbook(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="incollection" ><BEGIN>@incollection{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="incollection" ><BEGIN>@incollection(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="inproceedings"><BEGIN>@inproceedings{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="inproceedings"><BEGIN>@inproceedings(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="manual"       ><BEGIN>@manual{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="manual"       ><BEGIN>@manual(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="mastersthesis"><BEGIN>@mastersthesis{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="mastersthesis"><BEGIN>@mastersthesis(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="misc"         ><BEGIN>@misc{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="misc"         ><BEGIN>@misc(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="phdthesis"    ><BEGIN>@phdthesis{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="phdthesis"    ><BEGIN>@phdthesis(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="proceedings"  ><BEGIN>@proceedings{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="proceedings"  ><BEGIN>@proceedings(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="techreport"   ><BEGIN>@techreport{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="techreport"   ><BEGIN>@techreport(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="unpublished"  ><BEGIN>@unpublished{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="unpublished"  ><BEGIN>@unpublished(</BEGIN><END>)</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="string"       ><BEGIN>@string{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="FUNCTION" DELEGATE="string"       ><BEGIN>@string(</BEGIN><END>)</END></SPAN>\r
-    \r
-  </RULES>\r
-\r
-<RULES SET="article">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>journal</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>pages</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>address</KEYWORD2>\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="book">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>editor</KEYWORD4>\r
-      <KEYWORD4>publisher</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>edition</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="booklet">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>author</KEYWORD3>\r
-      <KEYWORD3>howpublished</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>year</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="conference">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>booktitle</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>editor</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>organization</KEYWORD3>\r
-      <KEYWORD3>pages</KEYWORD3>\r
-      <KEYWORD3>publisher</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="inbook">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>chapter</KEYWORD4>\r
-      <KEYWORD4>editor</KEYWORD4>\r
-      <KEYWORD4>pages</KEYWORD4>\r
-      <KEYWORD4>publisher</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>edition</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>type</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="incollection">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>booktitle</KEYWORD4>\r
-      <KEYWORD4>publisher</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>chapter</KEYWORD3>\r
-      <KEYWORD3>edition</KEYWORD3>\r
-      <KEYWORD3>editor</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>pages</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>type</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="inproceedings">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>booktitle</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>editor</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>organization</KEYWORD3>\r
-      <KEYWORD3>pages</KEYWORD3>\r
-      <KEYWORD3>publisher</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="manual">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>author</KEYWORD3>\r
-      <KEYWORD3>edition</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>organization</KEYWORD3>\r
-      <KEYWORD3>year</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="mastersthesis">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>school</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>type</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="misc">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <!-- optional -->\r
-      <KEYWORD3>author</KEYWORD3>\r
-      <KEYWORD3>howpublished</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>title</KEYWORD3>\r
-      <KEYWORD3>year</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>address</KEYWORD2>\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="phdthesis">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>school</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>type</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="proceedings">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>editor</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>organization</KEYWORD3>\r
-      <KEYWORD3>publisher</KEYWORD3>\r
-      <KEYWORD3>series</KEYWORD3>\r
-      <KEYWORD3>volume</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>author</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="techreport">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>institution</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <KEYWORD4>year</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>address</KEYWORD3>\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>note</KEYWORD3>\r
-      <KEYWORD3>number</KEYWORD3>\r
-      <KEYWORD3>type</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-<RULES SET="unpublished">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ_REGEXP TYPE="LITERAL1" HASH_CHARS="123456789" AT_WORD_START="TRUE">[1-9][0-9]*</SEQ_REGEXP>\r
-    <KEYWORDS>\r
-      <!-- required -->\r
-      <KEYWORD4>author</KEYWORD4>\r
-      <KEYWORD4>note</KEYWORD4>\r
-      <KEYWORD4>title</KEYWORD4>\r
-      <!-- optional -->\r
-      <KEYWORD3>month</KEYWORD3>\r
-      <KEYWORD3>year</KEYWORD3>\r
-      <!-- others -->\r
-      <KEYWORD2>address</KEYWORD2>\r
-      <KEYWORD2>annote</KEYWORD2>\r
-      <KEYWORD2>booktitle</KEYWORD2>\r
-      <KEYWORD2>chapter</KEYWORD2>\r
-      <KEYWORD2>crossref</KEYWORD2>\r
-      <KEYWORD2>edition</KEYWORD2>\r
-      <KEYWORD2>editor</KEYWORD2>\r
-      <KEYWORD2>howpublished</KEYWORD2>\r
-      <KEYWORD2>institution</KEYWORD2>\r
-      <KEYWORD2>journal</KEYWORD2>\r
-      <KEYWORD2>key</KEYWORD2>\r
-      <KEYWORD2>number</KEYWORD2>\r
-      <KEYWORD2>organization</KEYWORD2>\r
-      <KEYWORD2>pages</KEYWORD2>\r
-      <KEYWORD2>publisher</KEYWORD2>\r
-      <KEYWORD2>school</KEYWORD2>\r
-      <KEYWORD2>series</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <KEYWORD2>volume</KEYWORD2>\r
-      <!-- not in Lamport but widely accepted -->\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>annotation</KEYWORD1>\r
-      <KEYWORD1>day</KEYWORD1>\r
-      <KEYWORD1>keywords</KEYWORD1>\r
-      <KEYWORD1>lccn</KEYWORD1>\r
-      <KEYWORD1>location</KEYWORD1>\r
-      <KEYWORD1>references</KEYWORD1>\r
-      <KEYWORD1>url</KEYWORD1>\r
-      <!-- total: 32 fields -->\r
-      <LITERAL1>jan</LITERAL1>\r
-      <LITERAL1>feb</LITERAL1>\r
-      <LITERAL1>mar</LITERAL1>\r
-      <LITERAL1>apr</LITERAL1>\r
-      <LITERAL1>may</LITERAL1>\r
-      <LITERAL1>jun</LITERAL1>\r
-      <LITERAL1>jul</LITERAL1>\r
-      <LITERAL1>aug</LITERAL1>\r
-      <LITERAL1>sep</LITERAL1>\r
-      <LITERAL1>oct</LITERAL1>\r
-      <LITERAL1>nov</LITERAL1>\r
-      <LITERAL1>dec</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-  <RULES SET="textbraced" DEFAULT="LITERAL2">\r
-    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SEQ  TYPE="LITERAL3">\"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="textquoted" DEFAULT="LITERAL1">\r
-    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SEQ  TYPE="LITERAL3">\"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="string" DEFAULT="LITERAL1">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="textquoted" NO_LINE_BREAK="FALSE"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <SPAN TYPE="LITERAL2" DELEGATE="textbraced" NO_LINE_BREAK="FALSE"><BEGIN>{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE"><BEGIN>\{</BEGIN><END>\}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-    <SEQ TYPE="LITERAL3">\"</SEQ>\r
-  </RULES>\r
-\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/c.xml b/extra/xmode/modes/c.xml
deleted file mode 100644 (file)
index a4a9469..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- This is based on ISO C++ Standard, 2003 and ISO C Standard, 1999.\r
-     The C++ keywords have been removed from this mode file, though. -->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-        <!-- Auto indent -->\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-        <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-        <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-        <PROPERTY NAME="indentNextLine"\r
-            VALUE="(?!^\s*(#|//)).*(\b(if|while|for)\s*\(.*\)|\b(else|do)\b)[^{;]*$" />\r
-        <PROPERTY NAME="unindentThisLine"\r
-            VALUE="^\s*((case\b.*|[\p{Alpha}_][\p{Alnum}_]*)\s*:(?!:)).*$" />\r
-        <PROPERTY NAME="electricKeys" VALUE=":" />\r
-    </PROPS>\r
-\r
-    <RULES\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
-\r
-        <IMPORT DELEGATE="LEX"/>\r
-        <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-    <!-- Comments, Trigraph, Alternate-Tokens -->\r
-    <RULES SET="LEX"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <!-- Doxygen comment, Javadoc style -->\r
-        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/**&lt;</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/**</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">///&lt;</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">///</EOL_SPAN>\r
-\r
-        <!-- Doxygen comment, Qt style -->\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/*!&lt;</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/*!</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">//!&lt;</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">//!</EOL_SPAN>\r
-\r
-        <!-- C style comment -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>/*</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-        <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>L"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>L'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <!-- Trigraphs -->\r
-        <SEQ TYPE="LITERAL4">??(</SEQ>\r
-        <SEQ TYPE="LITERAL4">??/</SEQ>\r
-        <SEQ TYPE="LITERAL4">??)</SEQ>\r
-        <SEQ TYPE="LITERAL4">??'</SEQ>\r
-        <SEQ TYPE="LITERAL4">??&lt;</SEQ>\r
-        <SEQ TYPE="LITERAL4">??!</SEQ>\r
-        <SEQ TYPE="LITERAL4">??&gt;</SEQ>\r
-        <SEQ TYPE="LITERAL4">??-</SEQ>\r
-        <SEQ TYPE="LITERAL4">??=</SEQ>\r
-\r
-        <!-- Alternate tokens -->\r
-        <SEQ TYPE="LITERAL4">&lt;:</SEQ>\r
-        <SEQ TYPE="LITERAL4">:&gt;</SEQ>\r
-        <SEQ TYPE="LITERAL4">&lt;%</SEQ>\r
-        <SEQ TYPE="LITERAL4">%&gt;</SEQ>\r
-        <SEQ TYPE="LITERAL4">%:</SEQ>\r
-\r
-        <!-- Labels.\r
-            This is a part of core language syntax, but must be here\r
-            because it can't work after SEQ for ':'. -->\r
-        <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-            MATCH_TYPE="OPERATOR"\r
-            TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-        <!-- Function-like macro or function calls.\r
-            This can't work after SEQ for '('. -->\r
-        <MARK_PREVIOUS\r
-            TYPE="FUNCTION"\r
-            MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">?</SEQ>\r
-        <SEQ TYPE="OPERATOR">:</SEQ>\r
-        <SEQ TYPE="OPERATOR">.</SEQ>\r
-        <SEQ TYPE="OPERATOR">,</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <SEQ TYPE="OPERATOR">;</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <!-- Predefined macro names from ISO C++ Standard 2003 -->\r
-            <LITERAL2>__DATE__</LITERAL2>\r
-            <LITERAL2>__FILE__</LITERAL2>\r
-            <LITERAL2>__LINE__</LITERAL2>\r
-            <LITERAL2>__STDC_HOSTED__</LITERAL2>\r
-            <LITERAL2>__STDC_ISO_10646__</LITERAL2>\r
-            <LITERAL2>__STDC_VERSION__</LITERAL2>\r
-            <LITERAL2>__STDC__</LITERAL2>\r
-            <LITERAL2>__TIME__</LITERAL2>\r
-            <LITERAL2>__cplusplus</LITERAL2>\r
-            <!-- Standard library macro names from ISO C++ Standard 2003 -->\r
-            <!-- Hilight these to indicate accidental use of them\r
-                in user source. They may be valid, but should cause\r
-                future conflicts. -->\r
-            <LITERAL2>BUFSIZ</LITERAL2>\r
-            <LITERAL2>CLOCKS_PER_SEC</LITERAL2>\r
-            <LITERAL2>EDOM</LITERAL2>\r
-            <LITERAL2>EILSEQ</LITERAL2>\r
-            <LITERAL2>EOF</LITERAL2>\r
-            <LITERAL2>ERANGE</LITERAL2>\r
-            <LITERAL2>EXIT_FAILURE</LITERAL2>\r
-            <LITERAL2>EXIT_SUCCESS</LITERAL2>\r
-            <LITERAL2>FILENAME_MAX</LITERAL2>\r
-            <LITERAL2>FOPEN_MAX</LITERAL2>\r
-            <LITERAL2>HUGE_VAL</LITERAL2>\r
-            <LITERAL2>LC_ALL</LITERAL2>\r
-            <LITERAL2>LC_COLLATE</LITERAL2>\r
-            <LITERAL2>LC_CTYPE</LITERAL2>\r
-            <LITERAL2>LC_MONETARY</LITERAL2>\r
-            <LITERAL2>LC_NUMERIC</LITERAL2>\r
-            <LITERAL2>LC_TIME</LITERAL2>\r
-            <LITERAL2>L_tmpnam</LITERAL2>\r
-            <LITERAL2>MB_CUR_MAX</LITERAL2>\r
-            <LITERAL2>NULL</LITERAL2>\r
-            <LITERAL2>RAND_MAX</LITERAL2>\r
-            <LITERAL2>SEEK_CUR</LITERAL2>\r
-            <LITERAL2>SEEK_END</LITERAL2>\r
-            <LITERAL2>SEEK_SET</LITERAL2>\r
-            <LITERAL2>SIGABRT</LITERAL2>\r
-            <LITERAL2>SIGFPE</LITERAL2>\r
-            <LITERAL2>SIGILL</LITERAL2>\r
-            <LITERAL2>SIGINT</LITERAL2>\r
-            <LITERAL2>SIGSEGV</LITERAL2>\r
-            <LITERAL2>SIGTERM</LITERAL2>\r
-            <LITERAL2>SIG_DFL</LITERAL2>\r
-            <LITERAL2>SIG_ERR</LITERAL2>\r
-            <LITERAL2>SIG_IGN</LITERAL2>\r
-            <LITERAL2>TMP_MAX</LITERAL2>\r
-            <LITERAL2>WCHAR_MAX</LITERAL2>\r
-            <LITERAL2>WCHAR_MIN</LITERAL2>\r
-            <LITERAL2>WEOF</LITERAL2>\r
-            <LITERAL2>_IOFBF</LITERAL2>\r
-            <LITERAL2>_IOLBF</LITERAL2>\r
-            <LITERAL2>_IONBF</LITERAL2>\r
-            <LITERAL2>assert</LITERAL2>\r
-            <LITERAL2>errno</LITERAL2>\r
-            <LITERAL2>offsetof</LITERAL2>\r
-            <LITERAL2>setjmp</LITERAL2>\r
-            <LITERAL2>stderr</LITERAL2>\r
-            <LITERAL2>stdin</LITERAL2>\r
-            <LITERAL2>stdout</LITERAL2>\r
-            <LITERAL2>va_arg</LITERAL2>\r
-            <LITERAL2>va_end</LITERAL2>\r
-            <LITERAL2>va_start</LITERAL2>\r
-            <!-- Standard C library values from ISO C++ Standard 2003 -->\r
-            <!-- These are not explicitly defined as macro. But they like\r
-                to be due to compatibility with C library implementation.\r
-                So, treat them like standard library macro names. -->\r
-            <LITERAL2>CHAR_BIT</LITERAL2>\r
-            <LITERAL2>CHAR_MAX</LITERAL2>\r
-            <LITERAL2>CHAR_MIN</LITERAL2>\r
-            <LITERAL2>DBL_DIG</LITERAL2>\r
-            <LITERAL2>DBL_EPSILON</LITERAL2>\r
-            <LITERAL2>DBL_MANT_DIG</LITERAL2>\r
-            <LITERAL2>DBL_MAX</LITERAL2>\r
-            <LITERAL2>DBL_MAX_10_EXP</LITERAL2>\r
-            <LITERAL2>DBL_MAX_EXP</LITERAL2>\r
-            <LITERAL2>DBL_MIN</LITERAL2>\r
-            <LITERAL2>DBL_MIN_10_EXP</LITERAL2>\r
-            <LITERAL2>DBL_MIN_EXP</LITERAL2>\r
-            <LITERAL2>FLT_DIG</LITERAL2>\r
-            <LITERAL2>FLT_EPSILON</LITERAL2>\r
-            <LITERAL2>FLT_MANT_DIG</LITERAL2>\r
-            <LITERAL2>FLT_MAX</LITERAL2>\r
-            <LITERAL2>FLT_MAX_10_EXP</LITERAL2>\r
-            <LITERAL2>FLT_MAX_EXP</LITERAL2>\r
-            <LITERAL2>FLT_MIN</LITERAL2>\r
-            <LITERAL2>FLT_MIN_10_EXP</LITERAL2>\r
-            <LITERAL2>FLT_MIN_EXP</LITERAL2>\r
-            <LITERAL2>FLT_RADIX</LITERAL2>\r
-            <LITERAL2>FLT_ROUNDS</LITERAL2>\r
-            <LITERAL2>INT_MAX</LITERAL2>\r
-            <LITERAL2>INT_MIN</LITERAL2>\r
-            <LITERAL2>LDBL_DIG</LITERAL2>\r
-            <LITERAL2>LDBL_EPSILON</LITERAL2>\r
-            <LITERAL2>LDBL_MANT_DIG</LITERAL2>\r
-            <LITERAL2>LDBL_MAX</LITERAL2>\r
-            <LITERAL2>LDBL_MAX_10_EXP</LITERAL2>\r
-            <LITERAL2>LDBL_MAX_EXP</LITERAL2>\r
-            <LITERAL2>LDBL_MIN</LITERAL2>\r
-            <LITERAL2>LDBL_MIN_10_EXP</LITERAL2>\r
-            <LITERAL2>LDBL_MIN_EXP</LITERAL2>\r
-            <LITERAL2>LONG_MAX</LITERAL2>\r
-            <LITERAL2>LONG_MIN</LITERAL2>\r
-            <LITERAL2>MB_LEN_MAX</LITERAL2>\r
-            <LITERAL2>SCHAR_MAX</LITERAL2>\r
-            <LITERAL2>SCHAR_MIN</LITERAL2>\r
-            <LITERAL2>SHRT_MAX</LITERAL2>\r
-            <LITERAL2>SHRT_MIN</LITERAL2>\r
-            <LITERAL2>UCHAR_MAX</LITERAL2>\r
-            <LITERAL2>UINT_MAX</LITERAL2>\r
-            <LITERAL2>ULONG_MAX</LITERAL2>\r
-            <LITERAL2>USRT_MAX</LITERAL2>\r
-            <!-- Alternative representations of some operators\r
-                from ISO C++ Standard 2003 -->\r
-            <!-- These are separated from CORE because they are\r
-                available in the constant expressions after\r
-                #if and #elif preprocessor directives. -->\r
-            <KEYWORD3>and</KEYWORD3>\r
-            <KEYWORD3>and_eq</KEYWORD3>\r
-            <KEYWORD3>bitand</KEYWORD3>\r
-            <KEYWORD3>bitor</KEYWORD3>\r
-            <KEYWORD3>compl</KEYWORD3>\r
-            <KEYWORD3>not</KEYWORD3>\r
-            <KEYWORD3>not_eq</KEYWORD3>\r
-            <KEYWORD3>or</KEYWORD3>\r
-            <KEYWORD3>or_eq</KEYWORD3>\r
-            <KEYWORD3>xor</KEYWORD3>\r
-            <KEYWORD3>xor_eq</KEYWORD3>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- Core language -->\r
-    <RULES SET="CORE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <KEYWORDS>\r
-            <!-- Types -->\r
-            <KEYWORD3>bool</KEYWORD3>\r
-            <KEYWORD3>char</KEYWORD3>\r
-            <KEYWORD3>double</KEYWORD3>\r
-            <KEYWORD3>enum</KEYWORD3>\r
-            <KEYWORD3>float</KEYWORD3>\r
-            <KEYWORD3>int</KEYWORD3>\r
-            <KEYWORD3>long</KEYWORD3>\r
-            <KEYWORD3>short</KEYWORD3>\r
-            <KEYWORD3>signed</KEYWORD3>\r
-            <KEYWORD3>struct</KEYWORD3>\r
-            <KEYWORD3>union</KEYWORD3>\r
-            <KEYWORD3>unsigned</KEYWORD3>\r
-            <!-- Keywords from ISO C++ Standard 2003 -->\r
-            <KEYWORD2>asm</KEYWORD2>\r
-            <KEYWORD1>auto</KEYWORD1>\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>const</KEYWORD1>\r
-            <KEYWORD1>continue</KEYWORD1>\r
-            <KEYWORD1>default</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD2>extern</KEYWORD2>\r
-            <LITERAL2>false</LITERAL2>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>goto</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD1>inline</KEYWORD1>\r
-            <KEYWORD1>register</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>sizeof</KEYWORD1>\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <LITERAL2>true</LITERAL2>\r
-            <KEYWORD3>typedef</KEYWORD3>\r
-            <KEYWORD1>void</KEYWORD1>\r
-            <KEYWORD1>volatile</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-            <!-- Additional keywords from ISO C Standard(C99) -->\r
-            <KEYWORD3>restrict</KEYWORD3>\r
-            <KEYWORD3>_Bool</KEYWORD3>\r
-            <KEYWORD3>_Complex</KEYWORD3>\r
-            <KEYWORD3>_Pragma</KEYWORD3>\r
-            <KEYWORD3>_Imaginary</KEYWORD3>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- Preprocessor specific rules -->\r
-    <RULES SET="CPP"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="INCLUDE">include\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="LEX">endif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="CONDITION">elif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="CONDITION">if\b</EOL_SPAN_REGEXP>\r
-\r
-        <IMPORT DELEGATE="LEX"/>\r
-\r
-        <!-- Directives -->\r
-        <KEYWORDS>\r
-            <MARKUP>ifdef</MARKUP>\r
-            <MARKUP>ifndef</MARKUP>\r
-            <MARKUP>else</MARKUP>\r
-            <MARKUP>error</MARKUP>\r
-            <MARKUP>line</MARKUP>\r
-            <MARKUP>pragma</MARKUP>\r
-            <MARKUP>undef</MARKUP>\r
-            <MARKUP>warning</MARKUP>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- After #include directive -->\r
-    <!-- "\"s are not escaped. -->\r
-    <RULES SET="INCLUDE"\r
-        IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <IMPORT DELEGATE="LEX"/>\r
-    </RULES>\r
-\r
-    <!-- After #define directive -->\r
-    <!-- Almost same as the normal code,\r
-        except two additional operators # and ##. -->\r
-    <RULES SET="DEFINE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <SEQ TYPE="OPERATOR">#</SEQ>\r
-        <IMPORT DELEGATE="LEX"/>\r
-        <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-    <!-- After #if or #elif directive -->\r
-    <!-- All constant expressions and a special operator\r
-        'defined' is available. But the core language elements\r
-        (such as operator 'sizeof', type casting, etc...) are not. -->\r
-    <RULES SET="CONDITION"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <IMPORT DELEGATE="LEX"/>\r
-        <KEYWORDS>\r
-            <KEYWORD2>defined</KEYWORD2>\r
-            <!-- Both true and false are specially permitted by\r
-                ISO C++ Standard 2003 16.1p4 -->\r
-            <KEYWORD2>true</KEYWORD2>\r
-            <KEYWORD2>false</KEYWORD2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/catalog b/extra/xmode/modes/catalog
deleted file mode 100644 (file)
index f4300b4..0000000
+++ /dev/null
@@ -1,486 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- This is a mode catalog. Edit modes must be listed here, -->\r
-<!-- otherwise they will not be available to jEdit. -->\r
-\r
-<!DOCTYPE MODES SYSTEM "catalog.dtd">\r
-\r
-<MODES>\r
-\r
-<MODE NAME="actionscript"      FILE="actionscript.xml"\r
-                               FILE_NAME_GLOB="*.as" />\r
-\r
-<MODE NAME="ada95"             FILE="ada95.xml"\r
-                               FILE_NAME_GLOB="*.{ada,adb,ads}" />\r
-\r
-<MODE NAME="antlr"             FILE="antlr.xml"\r
-                               FILE_NAME_GLOB="*.g" />\r
-\r
-<MODE NAME="apacheconf"                FILE="apacheconf.xml"\r
-                               FILE_NAME_GLOB="*httpd.conf" />\r
-\r
-\r
-<MODE NAME="apdl"              FILE="apdl.xml"\r
-                               FILE_NAME_GLOB="*.{ans,inp,mak,mac}" />\r
-\r
-<MODE NAME="applescript"       FILE="applescript.xml"\r
-                               FILE_NAME_GLOB="*.applescript" />\r
-\r
-<MODE NAME="asp"               FILE="asp.xml"\r
-                               FILE_NAME_GLOB="*.{asp,asa}" />\r
-\r
-<MODE NAME="aspect-j"          FILE="aspect-j.xml"\r
-                               FILE_NAME_GLOB="*.aj" />\r
-\r
-<MODE NAME="assembly-m68k"     FILE="assembly-m68k.xml" />\r
-\r
-<MODE NAME="assembly-macro32"  FILE="assembly-macro32.xml"\r
-                               FILE_NAME_GLOB="*.mar" />\r
-\r
-<MODE NAME="assembly-r2000"    FILE="assembly-r2000.xml"\r
-                               FILE_NAME_GLOB="*.mips" />\r
-\r
-<MODE NAME="assembly-parrot"   FILE="assembly-parrot.xml"\r
-                               FILE_NAME_GLOB="*.pasm" />\r
-\r
-<MODE NAME="assembly-x86"      FILE="assembly-x86.xml"\r
-                               FILE_NAME_GLOB="*.asm" />\r
-\r
-<MODE NAME="awk"               FILE="awk.xml"\r
-                               FILE_NAME_GLOB="*.awk"\r
-                               FIRST_LINE_GLOB="#!*awk*" />\r
-\r
-<MODE NAME="b"                 FILE="b.xml"\r
-                               FILE_NAME_GLOB="*.{imp,ref,mch}" />\r
-\r
-<MODE NAME="batch"             FILE="batch.xml"\r
-                               FILE_NAME_GLOB="*.{bat,cmd}" />\r
-\r
-<MODE NAME="bbj"               FILE="bbj.xml"\r
-                               FILE_NAME_GLOB="*.bbj" />\r
-\r
-<!-- if anyone knows a file name glob that can be used with this mode,\r
-     please let me know -->\r
-<MODE NAME="bcel"              FILE="bcel.xml" />\r
-\r
-<!-- Now that BeanShell 2.0 supports class declarations, its syntax is\r
-     almost identical to Java. -->\r
-<MODE NAME="beanshell"         FILE="java.xml"\r
-                               FILE_NAME_GLOB="*.bsh" />\r
-\r
-<MODE NAME="bibtex"            FILE="bibtex.xml"\r
-                               FILE_NAME_GLOB="*.bib" />\r
-\r
-<!--  We let Objective C mode highlight .h files -->\r
-<MODE NAME="c"                 FILE="c.xml"\r
-                               FILE_NAME_GLOB="*.c" />\r
-\r
-<MODE NAME="chill"             FILE="chill.xml"\r
-                               FILE_NAME_GLOB="*.{chl,mpol}" />\r
-\r
-<MODE NAME="cil"               FILE="cil.xml"\r
-                               FILE_NAME_GLOB="*.il" />\r
-\r
-<MODE NAME="clips"             FILE="clips.xml"\r
-                               FILE_NAME_GLOB="*.clp" />\r
-\r
-<MODE NAME="cobol"             FILE="cobol.xml"\r
-                               FILE_NAME_GLOB="*.cbl" />\r
-\r
-<MODE NAME="coldfusion"                FILE="coldfusion.xml"\r
-                               FILE_NAME_GLOB="*.{cfm,dbm,cfc}" />\r
-\r
-<MODE NAME="c++"               FILE="cplusplus.xml"\r
-                               FILE_NAME_GLOB="*.{cc,cpp,hh,hpp,cxx}" />\r
-\r
-<MODE NAME="c#"                        FILE="csharp.xml"\r
-                               FILE_NAME_GLOB="*.cs" />\r
-\r
-<MODE NAME="css"               FILE="css.xml"\r
-                               FILE_NAME_GLOB="*.css" />\r
-\r
-<MODE NAME="csv"               FILE="csv.xml"\r
-                               FILE_NAME_GLOB="*.csv" />\r
-\r
-<MODE NAME="cvs-commit"                FILE="cvs-commit.xml"\r
-                               FILE_NAME_GLOB="cvs*.tmp"/>\r
-\r
-<MODE NAME="d"                 FILE="d.xml"\r
-                               FILE_NAME_GLOB="*.d" />\r
-\r
-<MODE NAME="django"            FILE="django.xml"/>\r
-\r
-<MODE NAME="doxygen"           FILE="doxygen.xml"\r
-                               FILE_NAME_GLOB="doxyfile*" />\r
-\r
-<MODE NAME="dsssl"             FILE="dsssl.xml"\r
-                               FILE_NAME_GLOB="*.dsl" />\r
-\r
-<MODE NAME="embperl"           FILE="embperl.xml"\r
-                               FILE_NAME_GLOB="*.epl"/>\r
-\r
-<MODE NAME="erlang"            FILE="erlang.xml"\r
-                               FILE_NAME_GLOB="*.erl"/>\r
-\r
-<MODE NAME="eiffel"            FILE="eiffel.xml"\r
-                               FILE_NAME_GLOB="*.e" />\r
-\r
-<MODE NAME="fhtml"             FILE="fhtml.xml"\r
-                               FILE_NAME_GLOB="*.{furnace,fhtml}" />\r
-\r
-<MODE NAME="factor"            FILE="factor.xml"\r
-                               FILE_NAME_GLOB="*.factor"/>\r
-\r
-<MODE NAME="forth"             FILE="forth.xml"\r
-                               FILE_NAME_GLOB="*.f" />\r
-\r
-<MODE NAME="fortran"           FILE="fortran.xml"\r
-                               FILE_NAME_GLOB="*.{for,fort,f77,f90}" />\r
-\r
-<MODE NAME="foxpro"            FILE="foxpro.xml"\r
-                               FILE_NAME_GLOB="*.prg" />\r
-\r
-<MODE NAME="freemarker"                FILE="freemarker.xml"\r
-                               FILE_NAME_GLOB="*.ftl"\r
-                               FIRST_LINE_GLOB="&lt;\#ftl*"/>\r
-\r
-<MODE NAME="gettext"           FILE="gettext.xml"\r
-                               FILE_NAME_GLOB="*.{po,pot}" />\r
-\r
-<MODE NAME="gnuplot"           FILE="gnuplot.xml"\r
-                               FILE_NAME_GLOB="*.{dem,plt}" />\r
-\r
-<MODE NAME="groovy"            FILE="groovy.xml"\r
-                               FILE_NAME_GLOB="*.{groovy,grv}"/>\r
-\r
-<MODE NAME="haskell"           FILE="haskell.xml"\r
-                               FILE_NAME_GLOB="*.hs" />\r
-\r
-<!-- Used by Andre Kaplan's Hex plugin -->\r
-<MODE NAME="hex"               FILE="hex.xml" />\r
-\r
-<MODE NAME="hlsl"              FILE="hlsl.xml"\r
-                               FILE_NAME_GLOB="*.fx" />\r
-\r
-<MODE NAME="htaccess"                  FILE="htaccess.xml"\r
-                               FILE_NAME_GLOB=".htaccess" />\r
-\r
-<MODE NAME="html"              FILE="html.xml"\r
-                               FILE_NAME_GLOB="*.{html,htm,hta}" />\r
-\r
-<MODE NAME="i4gl"              FILE="i4gl.xml"\r
-                               FILE_NAME_GLOB="*.4gl" />\r
-\r
-<MODE NAME="icon"              FILE="icon.xml"\r
-                               FILE_NAME_GLOB="*.icn" />\r
-\r
-<MODE NAME="idl"               FILE="idl.xml"\r
-                               FILE_NAME_GLOB="*.idl" />\r
-\r
-<MODE NAME="inform"            FILE="inform.xml"\r
-                               FILE_NAME_GLOB="*.inf" />\r
-\r
-<MODE NAME="inno-setup"                FILE="inno-setup.xml"\r
-                               FILE_NAME_GLOB="*.iss" />\r
-\r
-<MODE NAME="ini"               FILE="ini.xml"\r
-                               FILE_NAME_GLOB="*.{ini,reg}" />\r
-\r
-<MODE NAME="interlis"          FILE="interlis.xml"\r
-                               FILE_NAME_GLOB="*.ili" />\r
-\r
-<MODE NAME="io"                        FILE="io.xml"\r
-                               FILE_NAME_GLOB="*.io" />\r
-\r
-<MODE NAME="javacc" FILE="javacc.xml"\r
-        FILE_NAME_GLOB="*.{jj,jjt}"/>\r
-\r
-<MODE NAME="java"              FILE="java.xml"\r
-                               FILE_NAME_GLOB="*.java" />\r
-\r
-<MODE NAME="javascript"                FILE="javascript.xml"\r
-                               FILE_NAME_GLOB="*.js" />\r
-\r
-<MODE NAME="jcl"               FILE="jcl.xml"\r
-                               FILE_NAME_GLOB="*.jcl" />\r
-\r
-<MODE NAME="jhtml"             FILE="jhtml.xml"\r
-                               FILE_NAME_GLOB="*.jhtml" />\r
-\r
-<MODE NAME="jmk"               FILE="jmk.xml"\r
-                               FILE_NAME_GLOB="*.jmk" />\r
-\r
-<MODE NAME="jsp"               FILE="jsp.xml"\r
-                               FILE_NAME_GLOB="*.{jsp,jsf,jspf}" />\r
-\r
-<!-- Note that a generic 'tex.xml' is included as well, for minimal\r
-     plain TeX/AMSTeX highlighting. -->\r
-\r
-<MODE NAME="latex"             FILE="latex.xml"\r
-                               FILE_NAME_GLOB="*.{tex,sty,ltx}" />\r
-\r
-<MODE NAME="lilypond"          FILE="lilypond.xml"\r
-                               FILE_NAME_GLOB="*.ly" />\r
-\r
-<MODE NAME="lisp"              FILE="lisp.xml"\r
-                               FILE_NAME_GLOB="*.{lisp,lsp,el}" />\r
-\r
-<MODE NAME="literate-haskell"  FILE="literate-haskell.xml"\r
-                               FILE_NAME_GLOB="*.lhs" />\r
-\r
-<MODE NAME="lotos"             FILE="lotos.xml"\r
-                               FILE_NAME_GLOB="*.{lot,lotos}"/>\r
-\r
-<MODE NAME="lua"               FILE="lua.xml"\r
-                               FILE_NAME_GLOB="*.lua" />\r
-\r
-<MODE NAME="mail"              FILE="mail.xml" />\r
-\r
-<MODE NAME="makefile"          FILE="makefile.xml"\r
-                               FILE_NAME_GLOB="*makefile" />\r
-\r
-<MODE NAME="maple"             FILE="maple.xml"\r
-                               FILE_NAME_GLOB="*.{mpl,mws}" />\r
-\r
-<MODE NAME="ml"                        FILE="ml.xml"\r
-                               FILE_NAME_GLOB="*.{sml,ml}" />\r
-\r
-<MODE NAME="modula3"           FILE="modula3.xml"\r
-                               FILE_NAME_GLOB="*.[im]3" />\r
-\r
-<MODE NAME="moin"              FILE="moin.xml"\r
-                               FILE_NAME_GLOB="*.moin" />\r
-\r
-<MODE NAME="mqsc"              FILE="mqsc.xml"\r
-                               FILE_NAME_GLOB="*.mqsc" />\r
-\r
-<MODE NAME="myghty"                    FILE="myghty.xml"\r
-                               FILE_NAME_GLOB="{autohandler,dhandler,*.myt}"/>\r
-\r
-<MODE NAME="mysql"             FILE="mysql.xml" />\r
-\r
-<MODE NAME="netrexx"           FILE="netrexx.xml"\r
-                               FILE_NAME_GLOB="*.nrx" />\r
-\r
-<MODE NAME="nqc"               FILE="nqc.xml"\r
-                               FILE_NAME_GLOB="*.nqc" />\r
-\r
-<MODE NAME="nsis2"             FILE="nsis2.xml"\r
-                               FILE_NAME_GLOB="*.{nsi,nsh}" />\r
-\r
-<MODE NAME="objective-c"       FILE="objective-c.xml"\r
-                               FILE_NAME_GLOB="*.[mh]" />\r
-\r
-<MODE NAME="objectrexx"                FILE="objectrexx.xml"\r
-                               FILE_NAME_GLOB="*.{rex,orx}" />\r
-\r
-<MODE NAME="occam"             FILE="occam.xml"\r
-                               FILE_NAME_GLOB="*.icc" />\r
-\r
-<MODE NAME="omnimark"          FILE="omnimark.xml"\r
-                               FILE_NAME_GLOB="*.x{om,in}" />\r
-\r
-<MODE NAME="pascal"            FILE="pascal.xml"\r
-                               FILE_NAME_GLOB="*.{pas,dpr,dpk}" />\r
-\r
-<MODE NAME="patch"             FILE="patch.xml"\r
-                               FILE_NAME_GLOB="*.{diff,patch}" />\r
-\r
-<MODE NAME="perl"              FILE="perl.xml"\r
-                               FILE_NAME_GLOB="*.p[lm]"\r
-                               FIRST_LINE_GLOB="#!/*perl*" />\r
-\r
-<MODE NAME="php"               FILE="php.xml"\r
-                               FILE_NAME_GLOB="*.{php3,php4,php,phtml,inc}"\r
-                               FIRST_LINE_GLOB="{&lt;?php*,#!/*php*}" />\r
-\r
-<MODE NAME="pike"              FILE="pike.xml"\r
-                               FILE_NAME_GLOB="*.{pike,pmod}" />\r
-\r
-<MODE NAME="pl-sql"            FILE="pl-sql.xml"\r
-                               FILE_NAME_GLOB="*.pls" />\r
-\r
-<MODE NAME="pl1"               FILE="pl1.xml"\r
-                               FILE_NAME_GLOB="*.pl[i1]" />\r
-\r
-<MODE NAME="pop11"             FILE="pop11.xml"\r
-                               FILE_NAME_GLOB="*.{p,pop11,p11}" />\r
-\r
-<MODE NAME="postscript"                FILE="postscript.xml"\r
-                               FILE_NAME_GLOB="*.{ps,eps}" />\r
-\r
-<MODE NAME="powerdynamo"       FILE="powerdynamo.xml"\r
-                               FILE_NAME_GLOB="*.{ssc,stm}" />\r
-\r
-<MODE NAME="povray"            FILE="povray.xml"\r
-                               FILE_NAME_GLOB="*.{pov,povray}" />\r
-\r
-<MODE NAME="prolog"             FILE="prolog.xml"\r
-                                FILE_NAME_GLOB="*.pro" />\r
-\r
-<MODE NAME="progress"           FILE="progress.xml"\r
-                                FILE_NAME_GLOB="*.[piw]" />\r
-\r
-<MODE NAME="properties"                FILE="props.xml"\r
-                               FILE_NAME_GLOB="*{properties,props}" />\r
-\r
-<MODE NAME="psp"               FILE="psp.xml"\r
-                               FILE_NAME_GLOB="*.psp" />\r
-\r
-<MODE NAME="ptl"               FILE="ptl.xml"\r
-                               FILE_NAME_GLOB="*.ptl"/>\r
-\r
-<MODE NAME="pvwave"            FILE="pvwave.xml"\r
-                               FILE_NAME_GLOB="*.jou" />\r
-\r
-<MODE NAME="pyrex"             FILE="pyrex.xml"\r
-                               FILE_NAME_GLOB="*.{pyx}" />\r
-\r
-<MODE NAME="python"            FILE="python.xml"\r
-                               FILE_NAME_GLOB="*.{py,pyw,sc}"\r
-                               FIRST_LINE_GLOB="#!*/*python*" />\r
-\r
-<MODE NAME="rebol"             FILE="rebol.xml"\r
-                               FILE_NAME_GLOB="*.r" />\r
-\r
-<MODE NAME="redcode"           FILE="redcode.xml"\r
-                               FILE_NAME_GLOB="*.{red,rc}" />\r
-\r
-<MODE NAME="relax-ng-compact"  FILE="relax-ng-compact.xml"\r
-                               FILE_NAME_GLOB="*.rnc" />\r
-\r
-<MODE NAME="renderman-rib"     FILE="rib.xml"\r
-                               FILE_NAME_GLOB="*.rib" />\r
-\r
-<MODE NAME="rd"                        FILE="rd.xml"\r
-                               FILE_NAME_GLOB="*.rd" />\r
-\r
-<MODE NAME="rest"              FILE="rest.xml"\r
-                               FILE_NAME_GLOB="*.{rst,rest}"\r
-                               FIRST_LINE_GLOB="{===,~~~}*"/>\r
-\r
-<MODE NAME="rhtml"             FILE="rhtml.xml"\r
-                               FILE_NAME_GLOB="*.rhtml" />\r
-\r
-<MODE NAME="rpm-spec"          FILE="rpmspec.xml"\r
-                               FILE_NAME_GLOB="*.spec" />\r
-\r
-<MODE NAME="rtf"               FILE="rtf.xml"\r
-                               FILE_NAME_GLOB="*.rtf" />\r
-\r
-<MODE NAME="ruby"              FILE="ruby.xml"\r
-                               FILE_NAME_GLOB="*.{rb,rbw}"\r
-                   FIRST_LINE_GLOB="#!*/*ruby*" />\r
-\r
-<MODE NAME="rview"             FILE="rview.xml"\r
-                               FILE_NAME_GLOB="*.rvw" />\r
-\r
-<MODE NAME="s+"                        FILE="splus.xml"\r
-                               FILE_NAME_GLOB="*.ssc" />\r
-\r
-<MODE NAME="s#"                        FILE="ssharp.xml"\r
-                               FILE_NAME_GLOB="*.{ss,ssc,ssi,ssw,sts,aml}"  />\r
-\r
-<MODE NAME="sas"               FILE="sas.xml"\r
-                               FILE_NAME_GLOB="*.sas" />\r
-\r
-<MODE NAME="scheme"            FILE="scheme.xml"\r
-                               FILE_NAME_GLOB="*.scm" />\r
-\r
-<MODE NAME="sgml"              FILE="sgml.xml"\r
-                               FILE_NAME_GLOB="*.{sgml,sgm,dtd}" />\r
-\r
-<MODE NAME="rcp" FILE="rcp.xml" FILE_NAME_GLOB="*.rcp" />\r
-\r
-<MODE NAME="shellscript"       FILE="shellscript.xml"\r
-                               FILE_NAME_GLOB="*.{csh,sh,bash}"\r
-                               FIRST_LINE_GLOB="#!/*sh*" />\r
-\r
-<MODE NAME="shtml"             FILE="shtml.xml"\r
-                               FILE_NAME_GLOB="*.{shtml,shtm,ssi}" />\r
-\r
-<MODE NAME="slate"             FILE="slate.xml"\r
-                               FILE_NAME_GLOB="*.slate" />\r
-\r
-<MODE NAME="smalltalk"         FILE="smalltalk.xml"\r
-                               FILE_NAME_GLOB="*.{st,sources,changes}" />\r
-\r
-<MODE NAME="sdl/pr"            FILE="sdl_pr.xml"\r
-                               FILE_NAME_GLOB="*.pr"/>\r
-\r
-<MODE NAME="sql-loader"        FILE="sql-loader.xml"\r
-                               FILE_NAME_GLOB="*.ctl" />\r
-\r
-<MODE NAME="smi-mib"           FILE="smi-mib.xml"\r
-                               FILE_NAME_GLOB="*{.mib,-MIB.txt}" />\r
-\r
-<MODE NAME="sqr"                FILE="sqr.xml"\r
-                                FILE_NAME_GLOB="*.{sqr,sqc}" />\r
-\r
-<MODE NAME="squidconf"         FILE="squidconf.xml"\r
-                               FILE_NAME_GLOB="squid.conf" />\r
-\r
-<MODE NAME="svn-commit"         FILE="svn-commit.xml"\r
-                               FILE_NAME_GLOB="svn-commit*.tmp" />\r
-\r
-<MODE NAME="swig"              FILE="swig.xml"\r
-                               FILE_NAME_GLOB="*.{i,swg}" />\r
-\r
-<MODE NAME="tcl"               FILE="tcl.xml"\r
-                               FILE_NAME_GLOB="*.{tcl,tsh}" />\r
-\r
-<MODE NAME="texinfo"           FILE="texinfo.xml"\r
-                               FILE_NAME_GLOB="*.texi" />\r
-\r
-<MODE NAME="tex"               FILE="tex.xml" />\r
-\r
-<MODE NAME="text"              FILE="text.xml"\r
-                               FILE_NAME_GLOB="*.txt" />\r
-\r
-<MODE NAME="tpl"               FILE="tpl.xml"\r
-                               FILE_NAME_GLOB="*.tpl" />\r
-\r
-<MODE NAME="transact-sql"      FILE="tsql.xml"\r
-                               FILE_NAME_GLOB="*.sql" />\r
-\r
-<MODE NAME="template-toolkit"  FILE="tthtml.xml"\r
-                               FILE_NAME_GLOB="*.tt{html,css,js}" />\r
-\r
-<MODE NAME="twiki"             FILE="twiki.xml"\r
-                               FILE_NAME_GLOB="*.twiki"/>\r
-\r
-<MODE NAME="typoscript"         FILE="typoscript.xml"\r
-                                FILE_NAME_GLOB="*.ts"/>\r
-\r
-<MODE NAME="uscript"           FILE="uscript.xml"\r
-                               FILE_NAME_GLOB="*.uc" />\r
-\r
-<MODE NAME="vbscript"          FILE="vbscript.xml"\r
-                               FILE_NAME_GLOB="*.{vbs,bas,cls}" />\r
-\r
-<MODE NAME="velocity"          FILE="velocity.xml"\r
-                               FILE_NAME_GLOB="*.vm" />\r
-\r
-<MODE NAME="verilog"           FILE="verilog.xml"\r
-                               FILE_NAME_GLOB="*.{ver,v}" />\r
-\r
-<MODE NAME="vhdl"              FILE="vhdl.xml"\r
-                               FILE_NAME_GLOB="*.vh*" />\r
-\r
-<!-- Great. AElfred doesn't support entities in attribute values,\r
-     but all other XML parsers complain if < appears. -->\r
-<MODE NAME="xml"               FILE="xml.xml"\r
-                               FILE_NAME_GLOB="*.{xml,xhtml,xsd}"\r
-                               FIRST_LINE_GLOB="&lt;\?xml*" />\r
-\r
-<MODE NAME="xq"                        FILE="xq.xml"\r
-                               FILE_NAME_GLOB="*.x{q,qm,ql}" />\r
-\r
-<MODE NAME="xsl"               FILE="xsl.xml"\r
-                               FILE_NAME_GLOB="*.xsl" />\r
-\r
-<MODE NAME="zpt"               FILE="zpt.xml"\r
-                               FILE_NAME_GLOB="*.{pt,zpt}"/>\r
-\r
-<MODE NAME="rfc" FILE="rfc.xml" FILE_NAME_GLOB="rfc*.txt" />\r
-</MODES>\r
diff --git a/extra/xmode/modes/chill.xml b/extra/xmode/modes/chill.xml
deleted file mode 100644 (file)
index 2ef3b8f..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- CHILL mode by Rudolf Widmann (Rudi.Widmann@web.de)\r
-     CHILL = "CCITT High Level Programming Language" used for telecommunication programming\r
-     Pascal was used as reference.\r
-     Keywords   = KEYWORD1\r
-     Directives = KEYWORD2.\r
-     Everything else as is-->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-    </PROPS>\r
-\r
-    <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-        <!-- Compiler directives. -->\r
-        <SPAN TYPE="COMMENT2">\r
-            <BEGIN>&lt;&gt;</BEGIN>\r
-            <END>&lt;&gt;</END>\r
-        </SPAN>\r
-        <!-- Normal comments. -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>/*</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>H'</BEGIN>\r
-            <END>;</END>\r
-        </SPAN>\r
-\r
-        <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <SEQ TYPE="OPERATOR">(</SEQ>\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">.</SEQ>\r
-        <SEQ TYPE="OPERATOR">,</SEQ>\r
-        <SEQ TYPE="OPERATOR">;</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">:=</SEQ>\r
-        <SEQ TYPE="OPERATOR">:</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">/=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <!-- Reserved words -->\r
-            <KEYWORD1>AND</KEYWORD1>\r
-            <KEYWORD1>BEGIN</KEYWORD1>\r
-            <KEYWORD1>CASE</KEYWORD1>\r
-            <KEYWORD1>DIV</KEYWORD1>\r
-            <KEYWORD1>DO</KEYWORD1>\r
-            <KEYWORD1>ELSE</KEYWORD1>\r
-            <KEYWORD1>ELSIF</KEYWORD1>\r
-            <KEYWORD1>END</KEYWORD1>\r
-            <KEYWORD1>ESAC</KEYWORD1>\r
-            <KEYWORD1>EXIT</KEYWORD1>\r
-            <KEYWORD1>FI</KEYWORD1>\r
-            <KEYWORD1>FOR</KEYWORD1>\r
-            <KEYWORD1>GOTO</KEYWORD1>\r
-            <KEYWORD1>IF</KEYWORD1>\r
-            <KEYWORD1>IN</KEYWORD1>\r
-            <KEYWORD1>MOD</KEYWORD1>\r
-            <KEYWORD1>NOT</KEYWORD1>\r
-            <KEYWORD1>OD</KEYWORD1>\r
-            <KEYWORD1>OF</KEYWORD1>\r
-            <KEYWORD1>ON</KEYWORD1>\r
-            <KEYWORD1>OR</KEYWORD1>\r
-            <KEYWORD1>OUT</KEYWORD1>\r
-            <KEYWORD1>RESULT</KEYWORD1>\r
-            <KEYWORD1>RETURN</KEYWORD1>\r
-            <KEYWORD1>THEN</KEYWORD1>\r
-            <KEYWORD1>THEN</KEYWORD1>\r
-            <KEYWORD1>TO</KEYWORD1>\r
-            <KEYWORD1>UNTIL</KEYWORD1>\r
-            <KEYWORD1>USES</KEYWORD1>\r
-            <KEYWORD1>WHILE</KEYWORD1>\r
-            <KEYWORD1>WITH</KEYWORD1>\r
-            <KEYWORD1>XOR</KEYWORD1>\r
-            <!-- DEFINITIONS. -->\r
-            <KEYWORD2>ARRAY</KEYWORD2>\r
-            <KEYWORD2>DCL</KEYWORD2>\r
-            <KEYWORD2>GRANT</KEYWORD2>\r
-            <KEYWORD2>LABEL</KEYWORD2>\r
-            <KEYWORD2>MODULE</KEYWORD2>\r
-            <KEYWORD2>NEWMODE</KEYWORD2>\r
-            <KEYWORD2>PROC</KEYWORD2>\r
-            <KEYWORD2>POWERSET</KEYWORD2>\r
-            <KEYWORD2>SEIZE</KEYWORD2>\r
-            <KEYWORD2>SET</KEYWORD2>\r
-            <KEYWORD2>STRUCT</KEYWORD2>\r
-            <KEYWORD2>SYN</KEYWORD2>\r
-            <KEYWORD2>SYNMODE</KEYWORD2>\r
-            <KEYWORD2>TYPE</KEYWORD2>\r
-            <KEYWORD2>PACK</KEYWORD2>\r
-            <!-- ORDINAL TYPES. -->\r
-            <KEYWORD3>BIN</KEYWORD3>\r
-            <KEYWORD3>CHAR</KEYWORD3>\r
-            <KEYWORD3>INT</KEYWORD3>\r
-            <KEYWORD3>RANGE</KEYWORD3>\r
-            <!-- BOOLEAN TYPES. -->\r
-            <KEYWORD3>BOOL</KEYWORD3>\r
-            <!-- UNTYPED POINTER. -->\r
-            <KEYWORD3>PTR</KEYWORD3>\r
-            <KEYWORD3>REF</KEYWORD3>\r
-            \r
-            <LABEL>MODULE_DESCRIPTION_HEADER</LABEL>\r
-            <LABEL>PATCH_INFOS</LABEL>\r
-            <LABEL>LIO_INFOS</LABEL>\r
-            <LABEL>SWSG_INFOS</LABEL>\r
-            <LABEL>MSG_XREF</LABEL>            \r
-            <LABEL>EJECT</LABEL>            \r
-\r
-            <LITERAL2>FALSE</LITERAL2>\r
-            <LITERAL2>NULL</LITERAL2>\r
-            <LITERAL2>TRUE</LITERAL2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/cil.xml b/extra/xmode/modes/cil.xml
deleted file mode 100644 (file)
index 93b3816..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       .NET CIL by Cullen Linn (linnc@cs.arizona.edu)\r
-    (pg102 or 198 of PartitionII)\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+\\" />\r
-       </PROPS>\r
-\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-        <KEYWORD1>public</KEYWORD1>\r
-            <KEYWORD1>private</KEYWORD1>\r
-            <KEYWORD1>family</KEYWORD1>\r
-            <KEYWORD1>assembly</KEYWORD1>\r
-            <KEYWORD1>famandassem</KEYWORD1>\r
-            <KEYWORD1>famorassem</KEYWORD1>\r
-            <KEYWORD1>autochar</KEYWORD1>\r
-            <KEYWORD1>abstract</KEYWORD1>\r
-            <KEYWORD1>ansi</KEYWORD1>\r
-            <KEYWORD1>beforefieldinit</KEYWORD1>\r
-            <KEYWORD1>explicit</KEYWORD1>\r
-            <KEYWORD1>interface</KEYWORD1>\r
-            <KEYWORD1>nested</KEYWORD1>\r
-            <KEYWORD1>rtspecialname</KEYWORD1>\r
-            <KEYWORD1>sealed</KEYWORD1>\r
-            <KEYWORD1>sequential</KEYWORD1>\r
-            <KEYWORD1>serializable</KEYWORD1>\r
-            <KEYWORD1>specialname</KEYWORD1>\r
-            <KEYWORD1>unicode</KEYWORD1>\r
-            <KEYWORD1>final</KEYWORD1>\r
-            <KEYWORD1>hidebysig</KEYWORD1>\r
-            <KEYWORD1>newslot</KEYWORD1>\r
-            <KEYWORD1>pinvokeimpl</KEYWORD1>\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <KEYWORD1>virtual</KEYWORD1>\r
-            <KEYWORD1>cil</KEYWORD1>\r
-            <KEYWORD1>forwardref</KEYWORD1>\r
-            <KEYWORD1>internalcall</KEYWORD1>\r
-            <KEYWORD1>managed</KEYWORD1>\r
-            <KEYWORD1>native</KEYWORD1>\r
-            <KEYWORD1>noinlining</KEYWORD1>\r
-            <KEYWORD1>runtime</KEYWORD1>\r
-            <KEYWORD1>synchronized</KEYWORD1>\r
-            <KEYWORD1>unmanaged</KEYWORD1>\r
-            <KEYWORD1>typedref</KEYWORD1>\r
-            <KEYWORD1>cdecl</KEYWORD1>\r
-            <KEYWORD1>fastcall</KEYWORD1>\r
-            <KEYWORD1>stdcall</KEYWORD1>\r
-            <KEYWORD1>thiscall</KEYWORD1>\r
-            <KEYWORD1>platformapi</KEYWORD1>\r
-            <KEYWORD1>initonly</KEYWORD1>\r
-            <KEYWORD1>literal</KEYWORD1>\r
-            <KEYWORD1>marshal</KEYWORD1>\r
-            <KEYWORD1>notserialized</KEYWORD1>\r
-            <KEYWORD1>addon</KEYWORD1>\r
-            <KEYWORD1>removeon</KEYWORD1>\r
-            <KEYWORD1>catch</KEYWORD1>\r
-            <KEYWORD1>fault</KEYWORD1>\r
-            <KEYWORD1>filter</KEYWORD1>\r
-            <KEYWORD1>handler</KEYWORD1>\r
-\r
-            <!--Assembly Directives (Meta-Data)-->\r
-            <KEYWORD2>.assembly</KEYWORD2>\r
-            <KEYWORD2>.assembly extern</KEYWORD2>\r
-            <KEYWORD2>.class</KEYWORD2>\r
-            <KEYWORD2>.class extern</KEYWORD2>\r
-            <KEYWORD2>.field</KEYWORD2>\r
-            <KEYWORD2>.method</KEYWORD2>\r
-            <KEYWORD2>.property</KEYWORD2>\r
-            <KEYWORD2>.get</KEYWORD2>\r
-            <KEYWORD2>.set</KEYWORD2>\r
-            <KEYWORD2>.other</KEYWORD2>\r
-            <KEYWORD2>.ctor</KEYWORD2>\r
-            <KEYWORD2>.corflags</KEYWORD2>\r
-            <KEYWORD2>.custom</KEYWORD2>\r
-            <KEYWORD2>.data</KEYWORD2>\r
-            <KEYWORD2>.file</KEYWORD2>\r
-            <KEYWORD2>.mresource</KEYWORD2>\r
-            <KEYWORD2>.module</KEYWORD2>\r
-            <KEYWORD2>.module extern</KEYWORD2>\r
-            <KEYWORD2>.subsystem</KEYWORD2>\r
-            <KEYWORD2>.vtfixup</KEYWORD2>\r
-            <KEYWORD2>.publickeytoken</KEYWORD2>\r
-            <KEYWORD2>.ver</KEYWORD2>\r
-            <KEYWORD2>.hash algorithm</KEYWORD2>\r
-            <KEYWORD2>.culture</KEYWORD2>\r
-            <KEYWORD2>.namespace</KEYWORD2>\r
-            <KEYWORD2>.event</KEYWORD2>\r
-            <KEYWORD2>.fire</KEYWORD2>\r
-            <KEYWORD2>.override</KEYWORD2>\r
-            <KEYWORD2>.try</KEYWORD2>\r
-            <KEYWORD2>.catch</KEYWORD2>\r
-            <KEYWORD2>.finally</KEYWORD2>\r
-            <KEYWORD2>.locals</KEYWORD2>\r
-            <KEYWORD2>.maxstack</KEYWORD2>\r
-            <KEYWORD2>.entrypoint</KEYWORD2>\r
-            <KEYWORD2>.pack</KEYWORD2>\r
-            <KEYWORD2>.size</KEYWORD2>\r
-\r
-            <!--Implementation Specific Metadata-->\r
-            <KEYWORD2>.file alignment</KEYWORD2>\r
-            <KEYWORD2>.imagebase</KEYWORD2>\r
-            <KEYWORD2>.language</KEYWORD2>\r
-            <KEYWORD2>.namespace</KEYWORD2>\r
-\r
-\r
-            <KEYWORD3>string</KEYWORD3>\r
-            <KEYWORD3>object</KEYWORD3>\r
-            <KEYWORD3>bool</KEYWORD3>\r
-            <KEYWORD3>true</KEYWORD3>\r
-            <KEYWORD3>false</KEYWORD3>\r
-            <KEYWORD3>bytearray</KEYWORD3>\r
-            <KEYWORD3>char</KEYWORD3>\r
-            <KEYWORD3>float32</KEYWORD3>\r
-            <KEYWORD3>float64</KEYWORD3>\r
-            <KEYWORD3>int8</KEYWORD3>\r
-            <KEYWORD3>int16</KEYWORD3>\r
-            <KEYWORD3>int32</KEYWORD3>\r
-            <KEYWORD3>int64</KEYWORD3>\r
-            <KEYWORD3>nullref</KEYWORD3>\r
-\r
-\r
-            <OPERATOR>&amp;</OPERATOR>\r
-            <OPERATOR>*</OPERATOR>\r
-            <OPERATOR>}</OPERATOR>\r
-            <OPERATOR>{</OPERATOR>\r
-\r
-            <!--arithmetic opcodes-->\r
-            <FUNCTION>add</FUNCTION>\r
-            <FUNCTION>add.ovf</FUNCTION>\r
-            <FUNCTION>add.ovf.un</FUNCTION>\r
-            <FUNCTION>div</FUNCTION>\r
-            <FUNCTION>div.un</FUNCTION>\r
-            <FUNCTION>mul</FUNCTION>\r
-            <FUNCTION>mul.ovf</FUNCTION>\r
-            <FUNCTION>mul.ovf.un</FUNCTION>\r
-            <FUNCTION>sub</FUNCTION>\r
-            <FUNCTION>sub.ovf</FUNCTION>\r
-            <FUNCTION>sub.ovf.un</FUNCTION>\r
-\r
-            <!--logical-->\r
-            <FUNCTION>and</FUNCTION>\r
-            <FUNCTION>not</FUNCTION>\r
-            <FUNCTION>or</FUNCTION>\r
-            <FUNCTION>xor</FUNCTION>\r
-\r
-            <!--Branches-->\r
-            <FUNCTION>beq</FUNCTION>\r
-            <FUNCTION>beq.s</FUNCTION>\r
-            <FUNCTION>bge</FUNCTION>\r
-            <FUNCTION>bge.s</FUNCTION>\r
-            <FUNCTION>bge.un</FUNCTION>\r
-            <FUNCTION>bge.un.s</FUNCTION>\r
-            <FUNCTION>bgt</FUNCTION>\r
-            <FUNCTION>bgt.s</FUNCTION>\r
-            <FUNCTION>bgt.un</FUNCTION>\r
-            <FUNCTION>bgt.un.s</FUNCTION>\r
-            <FUNCTION>ble</FUNCTION>\r
-            <FUNCTION>ble.s</FUNCTION>\r
-            <FUNCTION>ble.un</FUNCTION>\r
-            <FUNCTION>ble.un.s</FUNCTION>\r
-            <FUNCTION>blt</FUNCTION>\r
-            <FUNCTION>blt.s</FUNCTION>\r
-            <FUNCTION>blt.un</FUNCTION>\r
-            <FUNCTION>blt.un.s</FUNCTION>\r
-            <FUNCTION>bne.un</FUNCTION>\r
-            <FUNCTION>bne.un.s</FUNCTION>\r
-            <FUNCTION>br</FUNCTION>\r
-            <FUNCTION>brfalse</FUNCTION>\r
-            <FUNCTION>brfalse.s</FUNCTION>\r
-            <FUNCTION>brtrue</FUNCTION>\r
-            <FUNCTION>brtrue.s</FUNCTION>\r
-            <FUNCTION>br.s</FUNCTION>\r
-\r
-            <!--Conversions-->\r
-            <FUNCTION>conv.i</FUNCTION>\r
-            <FUNCTION>conv.i1</FUNCTION>\r
-            <FUNCTION>conv.i2</FUNCTION>\r
-            <FUNCTION>conv.i4</FUNCTION>\r
-            <FUNCTION>conv.i8</FUNCTION>\r
-            <FUNCTION>conv.ovf.i</FUNCTION>\r
-            <FUNCTION>conv.ovf.i1</FUNCTION>\r
-            <FUNCTION>conv.ovf.i1.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.i2</FUNCTION>\r
-            <FUNCTION>conv.ovf.i2.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.i4</FUNCTION>\r
-            <FUNCTION>conv.ovf.i4.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.i8</FUNCTION>\r
-            <FUNCTION>conv.ovf.i8.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.i.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.u</FUNCTION>\r
-            <FUNCTION>conv.ovf.u1</FUNCTION>\r
-            <FUNCTION>conv.ovf.u1.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.u2</FUNCTION>\r
-            <FUNCTION>conv.ovf.u2.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.u4</FUNCTION>\r
-            <FUNCTION>conv.ovf.u4.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.u8</FUNCTION>\r
-            <FUNCTION>conv.ovf.u8.un</FUNCTION>\r
-            <FUNCTION>conv.ovf.u.un</FUNCTION>\r
-            <FUNCTION>conv.r4</FUNCTION>\r
-            <FUNCTION>conv.r8</FUNCTION>\r
-            <FUNCTION>conv.r.un</FUNCTION>\r
-            <FUNCTION>conv.u</FUNCTION>\r
-            <FUNCTION>conv.u1</FUNCTION>\r
-            <FUNCTION>conv.u2</FUNCTION>\r
-            <FUNCTION>conv.u4</FUNCTION>\r
-            <FUNCTION>conv.u8</FUNCTION>\r
-\r
-            <!--Loads and Stores-->\r
-            <FUNCTION>ldarg</FUNCTION>\r
-            <FUNCTION>ldarga</FUNCTION>\r
-            <FUNCTION>ldarga.s</FUNCTION>\r
-            <FUNCTION>ldarg.0</FUNCTION>\r
-            <FUNCTION>ldarg.1</FUNCTION>\r
-            <FUNCTION>ldarg.2</FUNCTION>\r
-            <FUNCTION>ldarg.3</FUNCTION>\r
-            <FUNCTION>ldarg.s</FUNCTION>\r
-            <FUNCTION>ldc.i4</FUNCTION>\r
-            <FUNCTION>ldc.i4.0</FUNCTION>\r
-            <FUNCTION>ldc.i4.1</FUNCTION>\r
-            <FUNCTION>ldc.i4.2</FUNCTION>\r
-            <FUNCTION>ldc.i4.3</FUNCTION>\r
-            <FUNCTION>ldc.i4.4</FUNCTION>\r
-            <FUNCTION>ldc.i4.5</FUNCTION>\r
-            <FUNCTION>ldc.i4.6</FUNCTION>\r
-            <FUNCTION>ldc.i4.7</FUNCTION>\r
-            <FUNCTION>ldc.i4.8</FUNCTION>\r
-            <FUNCTION>ldc.i4.m1</FUNCTION>\r
-            <FUNCTION>ldc.i4.s</FUNCTION>\r
-            <FUNCTION>ldc.i8</FUNCTION>\r
-            <FUNCTION>ldc.r4</FUNCTION>\r
-            <FUNCTION>ldc.r8</FUNCTION>\r
-            <FUNCTION>ldelema</FUNCTION>\r
-            <FUNCTION>ldelem.i</FUNCTION>\r
-            <FUNCTION>ldelem.i1</FUNCTION>\r
-            <FUNCTION>ldelem.i2</FUNCTION>\r
-            <FUNCTION>ldelem.i4</FUNCTION>\r
-            <FUNCTION>ldelem.i8</FUNCTION>\r
-            <FUNCTION>ldelem.r4</FUNCTION>\r
-            <FUNCTION>ldelem.r8</FUNCTION>\r
-            <FUNCTION>ldelem.ref</FUNCTION>\r
-            <FUNCTION>ldelem.u1</FUNCTION>\r
-            <FUNCTION>ldelem.u2</FUNCTION>\r
-            <FUNCTION>ldelem.u4</FUNCTION>\r
-            <FUNCTION>ldfld</FUNCTION>\r
-            <FUNCTION>ldflda</FUNCTION>\r
-            <FUNCTION>ldftn</FUNCTION>\r
-            <FUNCTION>ldind.i</FUNCTION>\r
-            <FUNCTION>ldind.i1</FUNCTION>\r
-            <FUNCTION>ldind.i2</FUNCTION>\r
-            <FUNCTION>ldind.i4</FUNCTION>\r
-            <FUNCTION>ldind.i8</FUNCTION>\r
-            <FUNCTION>ldind.r4</FUNCTION>\r
-            <FUNCTION>ldind.r8</FUNCTION>\r
-            <FUNCTION>ldind.ref</FUNCTION>\r
-            <FUNCTION>ldind.u1</FUNCTION>\r
-            <FUNCTION>ldind.u2</FUNCTION>\r
-            <FUNCTION>ldind.u4</FUNCTION>\r
-            <FUNCTION>ldlen</FUNCTION>\r
-            <FUNCTION>ldloc</FUNCTION>\r
-            <FUNCTION>ldloca</FUNCTION>\r
-            <FUNCTION>ldloca.s</FUNCTION>\r
-            <FUNCTION>ldloc.0</FUNCTION>\r
-            <FUNCTION>ldloc.1</FUNCTION>\r
-            <FUNCTION>ldloc.2</FUNCTION>\r
-            <FUNCTION>ldloc.3</FUNCTION>\r
-            <FUNCTION>ldloc.s</FUNCTION>\r
-            <FUNCTION>ldnull</FUNCTION>\r
-            <FUNCTION>ldobj</FUNCTION>\r
-            <FUNCTION>ldsfld</FUNCTION>\r
-            <FUNCTION>ldsflda</FUNCTION>\r
-            <FUNCTION>ldstr</FUNCTION>\r
-            <FUNCTION>ldtoken</FUNCTION>\r
-            <FUNCTION>ldvirtftn</FUNCTION>\r
-            <FUNCTION>starg</FUNCTION>\r
-            <FUNCTION>starg.s</FUNCTION>\r
-            <FUNCTION>stelem.i</FUNCTION>\r
-            <FUNCTION>stelem.i1</FUNCTION>\r
-            <FUNCTION>stelem.i2</FUNCTION>\r
-            <FUNCTION>stelem.i4</FUNCTION>\r
-            <FUNCTION>stelem.i8</FUNCTION>\r
-            <FUNCTION>stelem.r4</FUNCTION>\r
-            <FUNCTION>stelem.r8</FUNCTION>\r
-            <FUNCTION>stelem.ref</FUNCTION>\r
-            <FUNCTION>stfld</FUNCTION>\r
-            <FUNCTION>stind.i</FUNCTION>\r
-            <FUNCTION>stind.i1</FUNCTION>\r
-            <FUNCTION>stind.i2</FUNCTION>\r
-            <FUNCTION>stind.i4</FUNCTION>\r
-            <FUNCTION>stind.i8</FUNCTION>\r
-            <FUNCTION>stind.r4</FUNCTION>\r
-            <FUNCTION>stind.r8</FUNCTION>\r
-            <FUNCTION>stind.ref</FUNCTION>\r
-            <FUNCTION>stloc</FUNCTION>\r
-            <FUNCTION>stloc.0</FUNCTION>\r
-            <FUNCTION>stloc.1</FUNCTION>\r
-            <FUNCTION>stloc.2</FUNCTION>\r
-            <FUNCTION>stloc.3</FUNCTION>\r
-            <FUNCTION>stloc.s</FUNCTION>\r
-            <FUNCTION>stobj</FUNCTION>\r
-            <FUNCTION>stsfld</FUNCTION>\r
-\r
-            <FUNCTION>call</FUNCTION>\r
-            <FUNCTION>calli</FUNCTION>\r
-            <FUNCTION>callvirt</FUNCTION>\r
-            <FUNCTION>castclass</FUNCTION>\r
-            <FUNCTION>ceq</FUNCTION>\r
-            <FUNCTION>cgt</FUNCTION>\r
-            <FUNCTION>cgt.un</FUNCTION>\r
-            <FUNCTION>ckfinite</FUNCTION>\r
-            <FUNCTION>clt</FUNCTION>\r
-            <FUNCTION>clt.un</FUNCTION>\r
-            <FUNCTION>cpblk</FUNCTION>\r
-            <FUNCTION>cpobj</FUNCTION>\r
-\r
-            <FUNCTION>initblk</FUNCTION>\r
-            <FUNCTION>initobj</FUNCTION>\r
-            <FUNCTION>newarr</FUNCTION>\r
-            <FUNCTION>newobj</FUNCTION>\r
-\r
-            <FUNCTION>dup</FUNCTION>\r
-            <FUNCTION>endfilter</FUNCTION>\r
-            <FUNCTION>isinst</FUNCTION>\r
-            <FUNCTION>box</FUNCTION>\r
-            <FUNCTION>unbox</FUNCTION>\r
-            <FUNCTION>arglist</FUNCTION>\r
-            <FUNCTION>break</FUNCTION>\r
-            <FUNCTION>jmp</FUNCTION>\r
-            <FUNCTION>ret</FUNCTION>\r
-            <FUNCTION>leave</FUNCTION>\r
-            <FUNCTION>leave.s</FUNCTION>\r
-            <FUNCTION>localloc</FUNCTION>\r
-            <FUNCTION>mkrefany</FUNCTION>\r
-            <FUNCTION>neg</FUNCTION>\r
-            <FUNCTION>switch</FUNCTION>\r
-            <FUNCTION>nop</FUNCTION>\r
-            <FUNCTION>pop</FUNCTION>\r
-            <FUNCTION>refanytype</FUNCTION>\r
-            <FUNCTION>refanyval</FUNCTION>\r
-            <FUNCTION>rem</FUNCTION>\r
-            <FUNCTION>rem.un</FUNCTION>\r
-            <FUNCTION>throw</FUNCTION>\r
-            <FUNCTION>rethrow</FUNCTION>\r
-            <FUNCTION>endfinally</FUNCTION>\r
-            <FUNCTION>shl</FUNCTION>\r
-            <FUNCTION>shr</FUNCTION>\r
-            <FUNCTION>shr.un</FUNCTION>\r
-            <FUNCTION>sizeof</FUNCTION>\r
-            <FUNCTION>tailcall</FUNCTION>\r
-            <FUNCTION>unaligned</FUNCTION>\r
-            <FUNCTION>volatile</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/clips.xml b/extra/xmode/modes/clips.xml
deleted file mode 100644 (file)
index 51d89d0..0000000
+++ /dev/null
@@ -1,434 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--   jEdit CLIPS syntax file\r
-       \r
-       written by      Orhan Alkan\r
-       version         1.0\r
-       created on      30 June 2007\r
-       last revised    01 July 2007\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-\r
-       <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
-       \r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-               \r
-               <!-- String literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               \r
-               <!-- List literals -->\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               \r
-               <!-- Operators -->\r
-               <SEQ TYPE="OPERATOR">=></SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;-</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ> \r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">**</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">$</SEQ>\r
-               \r
-               <!-- Parentheses -->\r
-               <SEQ TYPE="MARKUP">(</SEQ>\r
-               <SEQ TYPE="MARKUP">)</SEQ>\r
-               <SEQ TYPE="MARKUP">[</SEQ>\r
-               <SEQ TYPE="MARKUP">]</SEQ>\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               \r
-               <KEYWORDS>\r
-               \r
-                       <KEYWORD1>deffacts</KEYWORD1>\r
-                       <KEYWORD1>deftemplate</KEYWORD1>\r
-                       <KEYWORD1>defglobal</KEYWORD1>\r
-                       <KEYWORD1>defrule</KEYWORD1>\r
-                       <KEYWORD1>deffunction</KEYWORD1>\r
-                       <KEYWORD1>defgeneric</KEYWORD1>\r
-                       <KEYWORD1>defmethod</KEYWORD1>\r
-                       <KEYWORD1>defclass</KEYWORD1>\r
-                       <KEYWORD1>definstance</KEYWORD1>\r
-                       <KEYWORD1>defmessage</KEYWORD1>\r
-                       <KEYWORD1>defmodule</KEYWORD1>\r
-                       <KEYWORD1>deffacts-module</KEYWORD1>\r
-                       <KEYWORD1>deffunction-module</KEYWORD1>\r
-                       <KEYWORD1>defgeneric-module</KEYWORD1>\r
-                       <KEYWORD1>defglobal-module</KEYWORD1>\r
-                       <KEYWORD1>definstances-module</KEYWORD1>\r
-                       <KEYWORD1>slot</KEYWORD1>\r
-                       <KEYWORD1>multislot</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>default-dynamic</KEYWORD1>\r
-                       <KEYWORD1>declare</KEYWORD1>\r
-                       <KEYWORD1>salience</KEYWORD1>\r
-                       <KEYWORD1>auto-focus</KEYWORD1>\r
-                       <KEYWORD1>object</KEYWORD1>\r
-                       <KEYWORD1>is-a</KEYWORD1>\r
-                       <KEYWORD1>pattern-match</KEYWORD1>\r
-                       <KEYWORD1>single-slot</KEYWORD1>\r
-                       <KEYWORD1>reactive</KEYWORD1>\r
-                       <KEYWORD1>non-reactive</KEYWORD1>\r
-                       <KEYWORD1>storage</KEYWORD1>\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>shared</KEYWORD1>\r
-                       <KEYWORD1>access</KEYWORD1>\r
-                       <KEYWORD1>read-write</KEYWORD1>\r
-                       <KEYWORD1>read-only</KEYWORD1>\r
-                       <KEYWORD1>initialize-only</KEYWORD1>\r
-                       <KEYWORD1>propagation</KEYWORD1>\r
-                       <KEYWORD1>inherit</KEYWORD1>\r
-                       <KEYWORD1>non-inherit</KEYWORD1>\r
-                       <KEYWORD1>source</KEYWORD1>\r
-                       <KEYWORD1>exclusive</KEYWORD1>\r
-                       <KEYWORD1>composite</KEYWORD1>\r
-                       <KEYWORD1>visibility</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>create-accessor</KEYWORD1>\r
-                       <KEYWORD1>?NONE</KEYWORD1>\r
-                       <KEYWORD1>read</KEYWORD1>\r
-                       <KEYWORD1>write</KEYWORD1>\r
-                       <KEYWORD1>?DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>primary</KEYWORD1>\r
-                       <KEYWORD1>around</KEYWORD1>\r
-                       <KEYWORD1>before</KEYWORD1>\r
-                       <KEYWORD1>after</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-                       <KEYWORD1>export</KEYWORD1>\r
-                       <KEYWORD1>?ALL</KEYWORD1>\r
-                       <KEYWORD1>type</KEYWORD1>\r
-                       <KEYWORD1>allowed-symbols</KEYWORD1>\r
-                       <KEYWORD1>allowed-strings</KEYWORD1>\r
-                       <KEYWORD1>allowed-lexemes</KEYWORD1>\r
-                       <KEYWORD1>allowed-integers</KEYWORD1>\r
-                       <KEYWORD1>allowed-floats</KEYWORD1>\r
-                       <KEYWORD1>allowed-numbers</KEYWORD1>\r
-                       <KEYWORD1>allowed-instance-names</KEYWORD1>\r
-                       <KEYWORD1>allowed-values</KEYWORD1>\r
-                       <KEYWORD1>?VARIABLE</KEYWORD1>\r
-                       \r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>while</KEYWORD2>\r
-                       <KEYWORD2>then</KEYWORD2>\r
-                       <KEYWORD2>else</KEYWORD2>\r
-                       <KEYWORD2>or</KEYWORD2>\r
-                       <KEYWORD2>and</KEYWORD2>\r
-                       <KEYWORD2>eq</KEYWORD2>\r
-                       <KEYWORD2>evenp</KEYWORD2>\r
-                       <KEYWORD2>floatp</KEYWORD2>\r
-                       <KEYWORD2>integerp</KEYWORD2>\r
-                       <KEYWORD2>lexemep</KEYWORD2>\r
-                       <KEYWORD2>multifieldp</KEYWORD2>\r
-                       <KEYWORD2>neq</KEYWORD2>\r
-                       <KEYWORD2>not</KEYWORD2>\r
-                       <KEYWORD2>numberp</KEYWORD2>\r
-                       <KEYWORD2>oddp</KEYWORD2>\r
-                       <KEYWORD2>pointerp</KEYWORD2>\r
-                       <KEYWORD2>stringp</KEYWORD2>\r
-                       <KEYWORD2>symbolp</KEYWORD2>\r
-                       <KEYWORD2>switch</KEYWORD2>\r
-                       <KEYWORD2>while</KEYWORD2>\r
-                       \r
-                       <KEYWORD3>assert</KEYWORD3>\r
-                       <KEYWORD3>bind</KEYWORD3>\r
-                       <KEYWORD3>class-abstractp</KEYWORD3>\r
-                       <KEYWORD3>class-existp</KEYWORD3>\r
-                       <KEYWORD3>class-subclasses</KEYWORD3>\r
-                       <KEYWORD3>class-superclasses</KEYWORD3>\r
-                       <KEYWORD3>defclass-module</KEYWORD3>\r
-                       <KEYWORD3>describe-classes</KEYWORD3>\r
-                       <KEYWORD3>get-class-defaults-mode</KEYWORD3>\r
-                       <KEYWORD3>get-defclass-list</KEYWORD3>\r
-                       <KEYWORD3>agenda</KEYWORD3>\r
-                       <KEYWORD3>list-defclasses</KEYWORD3>\r
-                       <KEYWORD3>ppdefclass</KEYWORD3>\r
-                       <KEYWORD3>set-class-defaults-mode</KEYWORD3>\r
-                       <KEYWORD3>slot-allowed-values</KEYWORD3>\r
-                       <KEYWORD3>slot-cardinality</KEYWORD3>\r
-                       <KEYWORD3>slot-default-value</KEYWORD3>\r
-                       <KEYWORD3>slot-direct-accessp</KEYWORD3>\r
-                       <KEYWORD3>slot-existp</KEYWORD3>\r
-                       <KEYWORD3>slot-facest</KEYWORD3>\r
-                       <KEYWORD3>slot-initablep</KEYWORD3>\r
-                       <KEYWORD3>slot-publicp</KEYWORD3>\r
-                       <KEYWORD3>slot-range</KEYWORD3>\r
-                       <KEYWORD3>slot-sources</KEYWORD3>\r
-                       <KEYWORD3>slot-types</KEYWORD3>\r
-                       <KEYWORD3>slot-writablep</KEYWORD3>\r
-                       <KEYWORD3>subsclassp</KEYWORD3>\r
-                       <KEYWORD3>undefclass</KEYWORD3>\r
-                       <KEYWORD3>get-deffacts-list</KEYWORD3>\r
-                       <KEYWORD3>list-deffacts</KEYWORD3>\r
-                       <KEYWORD3>ppdeffacts</KEYWORD3>\r
-                       <KEYWORD3>undeffacts</KEYWORD3>\r
-                       <KEYWORD3>get-deffunction-list</KEYWORD3>\r
-                       <KEYWORD3>list-deffunction</KEYWORD3>\r
-                       <KEYWORD3>ppdeffunction</KEYWORD3>\r
-                       <KEYWORD3>undeffunction</KEYWORD3>\r
-                       <KEYWORD3>get-defgeneric-list</KEYWORD3>\r
-                       <KEYWORD3>list-defgenerics</KEYWORD3>\r
-                       <KEYWORD3>ppdefgeneric</KEYWORD3>\r
-                       <KEYWORD3>preview-generic</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>undefgeneric</KEYWORD3>\r
-                       <KEYWORD3>get-defglobal-list</KEYWORD3>\r
-                       <KEYWORD3>get-reset-globals</KEYWORD3>\r
-                       <KEYWORD3>list-defglobals</KEYWORD3>\r
-                       <KEYWORD3>ppdefglobal</KEYWORD3>\r
-                       <KEYWORD3>set-reset-globals</KEYWORD3>\r
-                       <KEYWORD3>undefglobal</KEYWORD3>\r
-                       <KEYWORD3>get-definstances-list</KEYWORD3>\r
-                       <KEYWORD3>list-definstances</KEYWORD3>\r
-                       <KEYWORD3>ppdefinstances</KEYWORD3>\r
-                       <KEYWORD3>undefinstances</KEYWORD3>\r
-                       <KEYWORD3>call-next-handler</KEYWORD3>\r
-                       <KEYWORD3>get-defmessage-handler</KEYWORD3>\r
-                       <KEYWORD3>list-defmessage-handlers</KEYWORD3>\r
-                       <KEYWORD3>message-handler-existp</KEYWORD3>\r
-                       <KEYWORD3>handler-type</KEYWORD3>\r
-                       <KEYWORD3>next-handlerp</KEYWORD3>\r
-                       <KEYWORD3>override-next-handler</KEYWORD3>\r
-                       <KEYWORD3>ppdefmessage-handler</KEYWORD3>\r
-                       <KEYWORD3>undefmessage-handler</KEYWORD3>\r
-                       <KEYWORD3>call-next-method</KEYWORD3>\r
-                       <KEYWORD3>call-specific-method</KEYWORD3>\r
-                       <KEYWORD3>get-defmethod-list</KEYWORD3>\r
-                       <KEYWORD3>get-method-restrictions</KEYWORD3>\r
-                       <KEYWORD3>list-defmethods</KEYWORD3>\r
-                       <KEYWORD3>next-methodp</KEYWORD3>\r
-                       <KEYWORD3>override-next-method</KEYWORD3>\r
-                       <KEYWORD3>undefmethod</KEYWORD3>\r
-                       <KEYWORD3>preview-generic</KEYWORD3>\r
-                       <KEYWORD3>get-current-module</KEYWORD3>\r
-                       <KEYWORD3>get-defmodule-list</KEYWORD3>\r
-                       <KEYWORD3>list-defmodules</KEYWORD3>\r
-                       <KEYWORD3>ppdefmodules</KEYWORD3>\r
-                       <KEYWORD3>set-current-module</KEYWORD3>\r
-                       <KEYWORD3>defrule-module</KEYWORD3>\r
-                       <KEYWORD3>get-defrule-list</KEYWORD3>\r
-                       <KEYWORD3>get-incremental-reset</KEYWORD3>\r
-                       <KEYWORD3>list-defrules</KEYWORD3>\r
-                       <KEYWORD3>matches</KEYWORD3>\r
-                       <KEYWORD3>ppdefrule</KEYWORD3>\r
-                       <KEYWORD3>refresh</KEYWORD3>\r
-                       <KEYWORD3>remove-break</KEYWORD3>\r
-                       <KEYWORD3>set-break</KEYWORD3>\r
-                       <KEYWORD3>set-incremental-reset</KEYWORD3>\r
-                       <KEYWORD3>show-breaks</KEYWORD3>\r
-                       <KEYWORD3>undefrule</KEYWORD3>\r
-                       <KEYWORD3>deftemplate-module</KEYWORD3>\r
-                       <KEYWORD3>get-deftemaplate-list</KEYWORD3>\r
-                       <KEYWORD3>list-deftemplates</KEYWORD3>\r
-                       <KEYWORD3>ppdeftemplate</KEYWORD3>\r
-                       <KEYWORD3>undeftemplate</KEYWORD3>\r
-                       <KEYWORD3>apropos</KEYWORD3>\r
-                       <KEYWORD3>bacth</KEYWORD3>\r
-                       <KEYWORD3>batch*</KEYWORD3>\r
-                       <KEYWORD3>bload</KEYWORD3>\r
-                       <KEYWORD3>bsave</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-                       <KEYWORD3>exit</KEYWORD3>\r
-                       <KEYWORD3>get-auto-float-dividend</KEYWORD3>\r
-                       <KEYWORD3>get-dynamic-constraints-checking</KEYWORD3>\r
-                       <KEYWORD3>get-static-constraints-checking</KEYWORD3>\r
-                       <KEYWORD3>load</KEYWORD3>\r
-                       <KEYWORD3>load*</KEYWORD3>\r
-                       <KEYWORD3>options</KEYWORD3>\r
-                       <KEYWORD3>reset</KEYWORD3>\r
-                       <KEYWORD3>save</KEYWORD3>\r
-                       <KEYWORD3>set-auto-float-dividend</KEYWORD3>\r
-                       <KEYWORD3>set-dynamic-constriants-checking</KEYWORD3>\r
-                       <KEYWORD3>set-static-constriants-checking</KEYWORD3>\r
-                       <KEYWORD3>system</KEYWORD3>\r
-                       <KEYWORD3>assert-string</KEYWORD3>\r
-                       <KEYWORD3>dependencies</KEYWORD3>\r
-                       <KEYWORD3>dependents</KEYWORD3>\r
-                       <KEYWORD3>duplicate</KEYWORD3>\r
-                       <KEYWORD3>facts</KEYWORD3>\r
-                       <KEYWORD3>fact-existp</KEYWORD3>\r
-                       <KEYWORD3>fact-index</KEYWORD3>\r
-                       <KEYWORD3>fact-relation</KEYWORD3>\r
-                       <KEYWORD3>fact-slot-names</KEYWORD3>\r
-                       <KEYWORD3>fact-slot-value</KEYWORD3>\r
-                       <KEYWORD3>get-fact-duplication</KEYWORD3>\r
-                       <KEYWORD3>get-fact-list</KEYWORD3>\r
-                       <KEYWORD3>load-facts</KEYWORD3>\r
-                       <KEYWORD3>modify</KEYWORD3>\r
-                       <KEYWORD3>retract</KEYWORD3>\r
-                       <KEYWORD3>save-facts</KEYWORD3>\r
-                       <KEYWORD3>set-fact-duplication</KEYWORD3>\r
-                       <KEYWORD3>any-instancep</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>delayed-do-for-all-instances</KEYWORD3>\r
-                       <KEYWORD3>delete-instance</KEYWORD3>\r
-                       <KEYWORD3>direct-slot-delete$</KEYWORD3>\r
-                       <KEYWORD3>direct-slot-insert$</KEYWORD3>\r
-                       <KEYWORD3>direct-slot-replace$</KEYWORD3>\r
-                       <KEYWORD3>do-for-instance</KEYWORD3>\r
-                       <KEYWORD3>do-for-all-instances</KEYWORD3>\r
-                       <KEYWORD3>dynamic-get</KEYWORD3>\r
-                       <KEYWORD3>dynamic-put</KEYWORD3>\r
-                       <KEYWORD3>find-instance</KEYWORD3>\r
-                       <KEYWORD3>find-all-instances</KEYWORD3>\r
-                       <KEYWORD3>init-slot</KEYWORD3>\r
-                       <KEYWORD3>instance-address</KEYWORD3>\r
-                       <KEYWORD3>instance-addressp</KEYWORD3>\r
-                       <KEYWORD3>instance-existp</KEYWORD3>\r
-                       <KEYWORD3>instance-name</KEYWORD3>\r
-                       <KEYWORD3>instance-namep</KEYWORD3>\r
-                       <KEYWORD3>instance-name-to-symbol</KEYWORD3>\r
-                       <KEYWORD3>instancep</KEYWORD3>\r
-                       <KEYWORD3>instances</KEYWORD3>\r
-                       <KEYWORD3>load-instances</KEYWORD3>\r
-                       <KEYWORD3>make-intance</KEYWORD3>\r
-                       <KEYWORD3>ppinstance</KEYWORD3>\r
-                       <KEYWORD3>restore-instances</KEYWORD3>\r
-                       <KEYWORD3>save-instances</KEYWORD3>\r
-                       <KEYWORD3>send</KEYWORD3>\r
-                       <KEYWORD3>slot-delete$</KEYWORD3>\r
-                       <KEYWORD3>slot-insert$</KEYWORD3>\r
-                       <KEYWORD3>slot-replace$</KEYWORD3>\r
-                       <KEYWORD3>symbol-to-instance-name</KEYWORD3>\r
-                       <KEYWORD3>unmake-instance</KEYWORD3>\r
-                       <KEYWORD3>create$</KEYWORD3>\r
-                       <KEYWORD3>delete$</KEYWORD3>\r
-                       <KEYWORD3>delete-member$</KEYWORD3>\r
-                       <KEYWORD3>explode$</KEYWORD3>\r
-                       <KEYWORD3>first$</KEYWORD3>\r
-                       <KEYWORD3>implode$</KEYWORD3>\r
-                       <KEYWORD3>insert$</KEYWORD3>\r
-                       <KEYWORD3>length$</KEYWORD3>\r
-                       <KEYWORD3>member$</KEYWORD3>\r
-                       <KEYWORD3>nth$</KEYWORD3>\r
-                       <KEYWORD3>replace$</KEYWORD3>\r
-                       <KEYWORD3>rest$</KEYWORD3>\r
-                       <KEYWORD3>subseq$</KEYWORD3>\r
-                       <KEYWORD3>subsetp</KEYWORD3>\r
-                       <KEYWORD3>break</KEYWORD3>\r
-                       <KEYWORD3>loop-for-count</KEYWORD3>\r
-                       <KEYWORD3>progn</KEYWORD3>\r
-                       <KEYWORD3>progn$</KEYWORD3>\r
-                       <KEYWORD3>return</KEYWORD3>\r
-                       <KEYWORD3>get-profile-percent-threshold</KEYWORD3>\r
-                       <KEYWORD3>profile-contructs</KEYWORD3>\r
-                       <KEYWORD3>profile-info</KEYWORD3>\r
-                       <KEYWORD3>profile-reset</KEYWORD3>\r
-                       <KEYWORD3>set-profile-percent-threshold</KEYWORD3>\r
-                       <KEYWORD3>expand$</KEYWORD3>\r
-                       <KEYWORD3>get-sequence-operator-recognition</KEYWORD3>\r
-                       <KEYWORD3>aet-sequence-operator-recognition</KEYWORD3>\r
-                       <KEYWORD3>build</KEYWORD3>\r
-                       <KEYWORD3>check-syntax</KEYWORD3>\r
-                       <KEYWORD3>eval</KEYWORD3>\r
-                       <KEYWORD3>lowcase</KEYWORD3>\r
-                       <KEYWORD3>str-cat</KEYWORD3>\r
-                       <KEYWORD3>str-compare</KEYWORD3>\r
-                       <KEYWORD3>str-index</KEYWORD3>\r
-                       <KEYWORD3>str-length</KEYWORD3>\r
-                       <KEYWORD3>string-to-field</KEYWORD3>\r
-                       <KEYWORD3>sub-string</KEYWORD3>\r
-                       <KEYWORD3>sym-cat</KEYWORD3>\r
-                       <KEYWORD3>upcase</KEYWORD3>\r
-                       <KEYWORD3>fetch</KEYWORD3>\r
-                       <KEYWORD3>print-region</KEYWORD3>\r
-                       <KEYWORD3>toss</KEYWORD3>\r
-                       \r
-                       <KEYWORD4>abs</KEYWORD4>\r
-                       <KEYWORD4>div</KEYWORD4>\r
-                       <KEYWORD4>float</KEYWORD4>\r
-                       <KEYWORD4>integer</KEYWORD4>\r
-                       <KEYWORD4>max</KEYWORD4>\r
-                       <KEYWORD4>min</KEYWORD4>\r
-                       <KEYWORD4>deg-grad</KEYWORD4>\r
-                       <KEYWORD4>deg-rad</KEYWORD4>\r
-                       <KEYWORD4>exp</KEYWORD4>\r
-                       <KEYWORD4>grad-deg</KEYWORD4>\r
-                       <KEYWORD4>log</KEYWORD4>\r
-                       <KEYWORD4>log10</KEYWORD4>\r
-                       <KEYWORD4>mod</KEYWORD4>\r
-                       <KEYWORD4>pi</KEYWORD4>\r
-                       <KEYWORD4>rad-deg</KEYWORD4>\r
-                       <KEYWORD4>round</KEYWORD4>\r
-                       <KEYWORD4>sqrt</KEYWORD4>\r
-                       <KEYWORD4>close</KEYWORD4>\r
-                       <KEYWORD4>format</KEYWORD4>\r
-                       <KEYWORD4>open</KEYWORD4>\r
-                       <KEYWORD4>printout</KEYWORD4>\r
-                       <KEYWORD4>read</KEYWORD4>\r
-                       <KEYWORD4>readline</KEYWORD4>\r
-                       <KEYWORD4>remove</KEYWORD4>\r
-                       <KEYWORD4>rename</KEYWORD4>\r
-                       <KEYWORD4>conserve-mem</KEYWORD4>\r
-                       <KEYWORD4>mem-used</KEYWORD4>\r
-                       <KEYWORD4>mem-requests</KEYWORD4>\r
-                       <KEYWORD4>release-mem</KEYWORD4>\r
-                       <KEYWORD4>funcall</KEYWORD4>\r
-                       <KEYWORD4>gensym</KEYWORD4>\r
-                       <KEYWORD4>gemsym*</KEYWORD4>\r
-                       <KEYWORD4>get-function-restriction</KEYWORD4>\r
-                       <KEYWORD4>length</KEYWORD4>\r
-                       <KEYWORD4>random</KEYWORD4>\r
-                       <KEYWORD4>seed</KEYWORD4>\r
-                       <KEYWORD4>setgen</KEYWORD4>\r
-                       <KEYWORD4>sort</KEYWORD4>\r
-                       <KEYWORD4>time</KEYWORD4>\r
-                       <KEYWORD4>timer</KEYWORD4>\r
-                       <KEYWORD4>acos</KEYWORD4>\r
-                       <KEYWORD4>acosh</KEYWORD4>\r
-                       <KEYWORD4>acot</KEYWORD4>\r
-                       <KEYWORD4>acoth</KEYWORD4>\r
-                       <KEYWORD4>acsc</KEYWORD4>\r
-                       <KEYWORD4>acsch</KEYWORD4>\r
-                       <KEYWORD4>asec</KEYWORD4>\r
-                       <KEYWORD4>asin</KEYWORD4>\r
-                       <KEYWORD4>asinh</KEYWORD4>\r
-                       <KEYWORD4>atan</KEYWORD4>\r
-                       <KEYWORD4>atanh</KEYWORD4>\r
-                       <KEYWORD4>cos</KEYWORD4>\r
-                       <KEYWORD4>cosh</KEYWORD4>\r
-                       <KEYWORD4>cot</KEYWORD4>\r
-                       <KEYWORD4>coth</KEYWORD4>\r
-                       <KEYWORD4>csc</KEYWORD4>\r
-                       <KEYWORD4>sec</KEYWORD4>\r
-                       <KEYWORD4>sech</KEYWORD4>\r
-                       <KEYWORD4>sin</KEYWORD4>\r
-                       <KEYWORD4>sinh</KEYWORD4>\r
-                       <KEYWORD4>tan</KEYWORD4>\r
-                       <KEYWORD4>tanh</KEYWORD4>\r
-                                                                       \r
-               </KEYWORDS>\r
-               \r
-       </RULES>\r
-       \r
-</MODE>\r
diff --git a/extra/xmode/modes/cobol.xml b/extra/xmode/modes/cobol.xml
deleted file mode 100644 (file)
index 31339bc..0000000
+++ /dev/null
@@ -1,998 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- COBOL mode, by Matthias M. Schneider -->\r
-<MODE>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <EOL_SPAN_REGEXP TYPE="COMMENT1" AT_LINE_START="TRUE">.{6}(\*|/)</EOL_SPAN_REGEXP>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR"> = </SEQ>\r
-               <SEQ TYPE="OPERATOR"> &gt;= </SEQ>\r
-               <SEQ TYPE="OPERATOR"> &lt;= </SEQ>\r
-               <SEQ TYPE="OPERATOR"> + </SEQ>\r
-               <SEQ TYPE="OPERATOR"> - </SEQ>\r
-               <SEQ TYPE="OPERATOR"> / </SEQ>\r
-               <SEQ TYPE="OPERATOR"> * </SEQ>\r
-               <SEQ TYPE="OPERATOR"> ** </SEQ>\r
-               <SEQ TYPE="OPERATOR"> &gt; </SEQ>\r
-               <SEQ TYPE="OPERATOR"> &lt; </SEQ>\r
-               <SEQ TYPE="OPERATOR"> % </SEQ>\r
-               <SEQ TYPE="OPERATOR"> &amp; </SEQ>\r
-               <SEQ TYPE="OPERATOR"> | </SEQ>\r
-               <SEQ TYPE="OPERATOR"> ^ </SEQ>\r
-               <SEQ TYPE="OPERATOR"> ~ </SEQ>\r
-\r
-               <SPAN TYPE="COMMENT2" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>EXEC SQL</BEGIN>\r
-                       <END>END-EXEC</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>ACCEPT</KEYWORD1>\r
-                       <KEYWORD1>ACCESS</KEYWORD1>\r
-                       <KEYWORD1>ACTUAL</KEYWORD1>\r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ADDRESS</KEYWORD1>\r
-                       <KEYWORD1>ADVANCING</KEYWORD1>\r
-                       <KEYWORD1>AFTER</KEYWORD1>\r
-                       <KEYWORD1>ALL</KEYWORD1>\r
-                       <KEYWORD1>ALPHABET</KEYWORD1>\r
-                       <KEYWORD1>ALPHABETIC</KEYWORD1>\r
-                       <KEYWORD1>ALPHABETIC-LOWER</KEYWORD1>\r
-                       <KEYWORD1>ALPHABETIC-UPPER</KEYWORD1>\r
-                       <KEYWORD1>ALPHANUMERIC</KEYWORD1>\r
-                       <KEYWORD1>ALPHANUMERIC-EDITED</KEYWORD1>\r
-                       <KEYWORD1>ALSO</KEYWORD1>\r
-                       <KEYWORD1>ALTER</KEYWORD1>\r
-                       <KEYWORD1>ALTERNATE</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>API</KEYWORD1>\r
-                       <KEYWORD1>APPLY</KEYWORD1>\r
-                       <KEYWORD1>ARE</KEYWORD1>\r
-                       <KEYWORD1>AREA</KEYWORD1>\r
-                       <KEYWORD1>AREAS</KEYWORD1>\r
-                       <KEYWORD1>ASCENDING</KEYWORD1>\r
-                       <KEYWORD1>ASSIGN</KEYWORD1>\r
-                       <KEYWORD1>AT</KEYWORD1>\r
-                       <KEYWORD1>AUTHOR</KEYWORD1>\r
-                       <KEYWORD1>AUTO</KEYWORD1>\r
-                       <KEYWORD1>AUTO-SKIP</KEYWORD1>\r
-                       <KEYWORD1>AUTOMATIC</KEYWORD1>\r
-\r
-                       <KEYWORD1>BACKGROUND-COLOR</KEYWORD1>\r
-                       <KEYWORD1>BACKGROUND-COLOUR</KEYWORD1>\r
-                       <KEYWORD1>BACKWARD</KEYWORD1>\r
-                       <KEYWORD1>BASIS</KEYWORD1>\r
-                       <KEYWORD1>BEEP</KEYWORD1>\r
-                       <KEYWORD1>BEFORE</KEYWORD1>\r
-                       <KEYWORD1>BEGINNING</KEYWORD1>\r
-                       <KEYWORD1>BELL</KEYWORD1>\r
-                       <KEYWORD1>BINARY</KEYWORD1>\r
-                       <KEYWORD1>BLANK</KEYWORD1>\r
-                       <KEYWORD1>BLINK</KEYWORD1>\r
-                       <KEYWORD1>BLOCK</KEYWORD1>\r
-                       <KEYWORD1>BOTTOM</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-\r
-                       <KEYWORD1>C01</KEYWORD1>\r
-                       <KEYWORD1>C02</KEYWORD1>\r
-                       <KEYWORD1>C03</KEYWORD1>\r
-                       <KEYWORD1>C04</KEYWORD1>\r
-                       <KEYWORD1>C05</KEYWORD1>\r
-                       <KEYWORD1>C06</KEYWORD1>\r
-                       <KEYWORD1>C07</KEYWORD1>\r
-                       <KEYWORD1>C08</KEYWORD1>\r
-                       <KEYWORD1>C09</KEYWORD1>\r
-                       <KEYWORD1>C10</KEYWORD1>\r
-                       <KEYWORD1>C11</KEYWORD1>\r
-                       <KEYWORD1>C12</KEYWORD1>\r
-                       <KEYWORD1>CALL</KEYWORD1>\r
-                       <KEYWORD1>CALL-CONVENTION</KEYWORD1>\r
-                       <KEYWORD1>CANCEL</KEYWORD1>\r
-                       <KEYWORD1>CBL</KEYWORD1>\r
-                       <KEYWORD1>CD</KEYWORD1>\r
-                       <KEYWORD1>CF</KEYWORD1>\r
-                       <KEYWORD1>CH</KEYWORD1>\r
-                       <KEYWORD1>CHAIN</KEYWORD1>\r
-                       <KEYWORD1>CHAINING</KEYWORD1>\r
-                       <KEYWORD1>CHANGED</KEYWORD1>\r
-                       <KEYWORD1>CHARACTER</KEYWORD1>\r
-                       <KEYWORD1>CHARACTERS</KEYWORD1>\r
-                       <KEYWORD1>CLASS</KEYWORD1>\r
-                       <KEYWORD1>CLOCK-UNITS</KEYWORD1>\r
-                       <KEYWORD1>CLOSE</KEYWORD1>\r
-                       <KEYWORD1>COBOL</KEYWORD1>\r
-                       <KEYWORD1>CODE</KEYWORD1>\r
-                       <KEYWORD1>CODE-SET</KEYWORD1>\r
-                       <KEYWORD1>COL</KEYWORD1>\r
-                       <KEYWORD1>COLLATING</KEYWORD1>\r
-                       <KEYWORD1>COLUMN</KEYWORD1>\r
-                       <KEYWORD1>COM-REG</KEYWORD1>\r
-                       <KEYWORD1>COMMA</KEYWORD1>\r
-                       <KEYWORD1>COMMIT</KEYWORD1>\r
-                       <KEYWORD1>COMMON</KEYWORD1>\r
-                       <KEYWORD1>COMMUNICATION</KEYWORD1>\r
-                       <KEYWORD1>COMP</KEYWORD1>\r
-                       <KEYWORD1>COMP-0</KEYWORD1>\r
-                       <KEYWORD1>COMP-1</KEYWORD1>\r
-                       <KEYWORD1>COMP-2</KEYWORD1>\r
-                       <KEYWORD1>COMP-3</KEYWORD1>\r
-                       <KEYWORD1>COMP-4</KEYWORD1>\r
-                       <KEYWORD1>COMP-5</KEYWORD1>\r
-                       <KEYWORD1>COMP-6</KEYWORD1>\r
-                       <KEYWORD1>COMP-X</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-0</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-1</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-2</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-3</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-4</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-5</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-6</KEYWORD1>\r
-                       <KEYWORD1>COMPUTATIONAL-X</KEYWORD1>\r
-                       <KEYWORD1>COMPUTE</KEYWORD1>\r
-                       <KEYWORD1>CONFIGURATION</KEYWORD1>\r
-                       <KEYWORD1>CONSOLE</KEYWORD1>\r
-                       <KEYWORD1>CONTAINS</KEYWORD1>\r
-                       <KEYWORD1>CONTENT</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>CONTROL</KEYWORD1>\r
-                       <KEYWORD1>CONTROLS</KEYWORD1>\r
-                       <KEYWORD1>CONVERTING</KEYWORD1>\r
-                       <KEYWORD1>COPY</KEYWORD1>\r
-                       <KEYWORD1>CORE-INDEX</KEYWORD1>\r
-                       <KEYWORD1>CORR</KEYWORD1>\r
-                       <KEYWORD1>CORRESPONDING</KEYWORD1>\r
-                       <KEYWORD1>COUNT</KEYWORD1>\r
-                       <KEYWORD1>CRT</KEYWORD1>\r
-                       <KEYWORD1>CRT-UNDER</KEYWORD1>\r
-                       <KEYWORD1>CURRENCY</KEYWORD1>\r
-                       <KEYWORD1>CURRENT-DATE</KEYWORD1>\r
-                       <KEYWORD1>CURSOR</KEYWORD1>\r
-                       <KEYWORD1>CYCLE</KEYWORD1>\r
-                       <KEYWORD1>CYL-INDEX</KEYWORD1>\r
-                       <KEYWORD1>CYL-OVERFLOW</KEYWORD1>\r
-\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>DATE</KEYWORD1>\r
-                       <KEYWORD1>DATE-COMPILED</KEYWORD1>\r
-                       <KEYWORD1>DATE-WRITTEN</KEYWORD1>\r
-                       <KEYWORD1>DAY</KEYWORD1>\r
-                       <KEYWORD1>DAY-OF-WEEK</KEYWORD1>\r
-                       <KEYWORD1>DBCS</KEYWORD1>\r
-                       <KEYWORD1>DE</KEYWORD1>\r
-                       <KEYWORD1>DEBUG</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-CONTENTS</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-ITEM</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-LINE</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-NAME</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-SUB-1</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-SUB-2</KEYWORD1>\r
-                       <KEYWORD1>DEBUG-SUB-3</KEYWORD1>\r
-                       <KEYWORD1>DEBUGGING</KEYWORD1>\r
-                       <KEYWORD1>DECIMAL-POINT</KEYWORD1>\r
-                       <KEYWORD1>DECLARATIVES</KEYWORD1>\r
-                       <KEYWORD1>DELETE</KEYWORD1>\r
-                       <KEYWORD1>DELIMITED</KEYWORD1>\r
-                       <KEYWORD1>DELIMITER</KEYWORD1>\r
-                       <KEYWORD1>DEPENDING</KEYWORD1>\r
-                       <KEYWORD1>DESCENDING</KEYWORD1>\r
-                       <KEYWORD1>DESTINATION</KEYWORD1>\r
-                       <KEYWORD1>DETAIL</KEYWORD1>\r
-                       <KEYWORD1>DISABLE</KEYWORD1>\r
-                       <KEYWORD1>DISK</KEYWORD1>\r
-                       <KEYWORD1>DISP</KEYWORD1>\r
-                       <KEYWORD1>DISPLAY</KEYWORD1>\r
-                       <KEYWORD1>DISPLAY-1</KEYWORD1>\r
-                       <KEYWORD1>DISPLAY-ST</KEYWORD1>\r
-                       <KEYWORD1>DIVIDE</KEYWORD1>\r
-                       <KEYWORD1>DIVISION</KEYWORD1>\r
-                       <KEYWORD1>DOWN</KEYWORD1>\r
-                       <KEYWORD1>DUPLICATES</KEYWORD1>\r
-                       <KEYWORD1>DYNAMIC</KEYWORD1>\r
-\r
-                       <KEYWORD1>ECHO</KEYWORD1>\r
-                       <KEYWORD1>EGCS</KEYWORD1>\r
-                       <KEYWORD1>EGI</KEYWORD1>\r
-                       <KEYWORD1>EJECT</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>EMI</KEYWORD1>\r
-                       <KEYWORD1>EMPTY-CHECK</KEYWORD1>\r
-                       <KEYWORD1>ENABLE</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>END-ACCEPT</KEYWORD1>\r
-                       <KEYWORD1>END-ADD</KEYWORD1>\r
-                       <KEYWORD1>END-CALL</KEYWORD1>\r
-                       <KEYWORD1>END-CHAIN</KEYWORD1>\r
-                       <KEYWORD1>END-COMPUTE</KEYWORD1>\r
-                       <KEYWORD1>END-DELETE</KEYWORD1>\r
-                       <KEYWORD1>END-DISPLAY</KEYWORD1>\r
-                       <KEYWORD1>END-DIVIDE</KEYWORD1>\r
-                       <KEYWORD1>END-EVALUATE</KEYWORD1>\r
-                       <KEYWORD1>END-IF</KEYWORD1>\r
-                       <KEYWORD1>END-INVOKE</KEYWORD1>\r
-                       <KEYWORD1>END-MULTIPLY</KEYWORD1>\r
-                       <KEYWORD1>END-OF-PAGE</KEYWORD1>\r
-                       <KEYWORD1>END-PERFORM</KEYWORD1>\r
-                       <KEYWORD1>END-READ</KEYWORD1>\r
-                       <KEYWORD1>END-RECEIVE</KEYWORD1>\r
-                       <KEYWORD1>END-RETURN</KEYWORD1>\r
-                       <KEYWORD1>END-REWRITE</KEYWORD1>\r
-                       <KEYWORD1>END-SEARCH</KEYWORD1>\r
-                       <KEYWORD1>END-START</KEYWORD1>\r
-                       <KEYWORD1>END-STRING</KEYWORD1>\r
-                       <KEYWORD1>END-SUBTRACT</KEYWORD1>\r
-                       <KEYWORD1>END-UNSTRING</KEYWORD1>\r
-                       <KEYWORD1>END-WRITE</KEYWORD1>\r
-                       <KEYWORD1>ENDING</KEYWORD1>\r
-                       <KEYWORD1>ENTER</KEYWORD1>\r
-                       <KEYWORD1>ENTRY</KEYWORD1>\r
-                       <KEYWORD1>ENVIRONMENT</KEYWORD1>\r
-                       <KEYWORD1>EOL</KEYWORD1>\r
-                       <KEYWORD1>EOP</KEYWORD1>\r
-                       <KEYWORD1>EOS</KEYWORD1>\r
-                       <KEYWORD1>EQUAL</KEYWORD1>\r
-                       <KEYWORD1>EQUALS</KEYWORD1>\r
-                       <KEYWORD1>ERASE</KEYWORD1>\r
-                       <KEYWORD1>ERROR</KEYWORD1>\r
-                       <KEYWORD1>ESCAPE</KEYWORD1>\r
-                       <KEYWORD1>ESI</KEYWORD1>\r
-                       <KEYWORD1>EVALUATE</KEYWORD1>\r
-                       <KEYWORD1>EVERY</KEYWORD1>\r
-                       <KEYWORD1>EXAMINE</KEYWORD1>\r
-                       <KEYWORD1>EXCEEDS</KEYWORD1>\r
-                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
-                       <KEYWORD1>EXCESS-3</KEYWORD1>\r
-                       <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
-                       <KEYWORD1>EXEC</KEYWORD1>\r
-                       <KEYWORD1>EXECUTE</KEYWORD1>\r
-                       <KEYWORD1>EXHIBIT</KEYWORD1>\r
-                       <KEYWORD1>EXIT</KEYWORD1>\r
-                       <KEYWORD1>EXTEND</KEYWORD1>\r
-                       <KEYWORD1>EXTENDED-SEARCH</KEYWORD1>\r
-                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
-\r
-                       <KEYWORD1>FACTORY</KEYWORD1>\r
-                       <KEYWORD1>FALSE</KEYWORD1>\r
-                       <KEYWORD1>FD</KEYWORD1>\r
-                       <KEYWORD1>FH-FCD</KEYWORD1>\r
-                       <KEYWORD1>FH-KEYDEF</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILE-CONTROL</KEYWORD1>\r
-                       <KEYWORD1>FILE-ID</KEYWORD1>\r
-                       <KEYWORD1>FILE-LIMIT</KEYWORD1>\r
-                       <KEYWORD1>FILE-LIMITS</KEYWORD1>\r
-                       <KEYWORD1>FILLER</KEYWORD1>\r
-                       <KEYWORD1>FINAL</KEYWORD1>\r
-                       <KEYWORD1>FIRST</KEYWORD1>\r
-                       <KEYWORD1>FIXED</KEYWORD1>\r
-                       <KEYWORD1>FOOTING</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>FOREGROUND-COLOR</KEYWORD1>\r
-                       <KEYWORD1>FOREGROUND-COLOUR</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>FULL</KEYWORD1>\r
-                       <KEYWORD1>FUNCTION</KEYWORD1>\r
-\r
-                       <KEYWORD1>GENERATE</KEYWORD1>\r
-                       <KEYWORD1>GIVING</KEYWORD1>\r
-                       <KEYWORD1>GLOBAL</KEYWORD1>\r
-                       <KEYWORD1>GO</KEYWORD1>\r
-                       <KEYWORD1>GOBACK</KEYWORD1>\r
-                       <KEYWORD1>GREATER</KEYWORD1>\r
-                       <KEYWORD1>GRID</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-\r
-                       <KEYWORD1>HEADING</KEYWORD1>\r
-                       <KEYWORD1>HIGH</KEYWORD1>\r
-                       <KEYWORD1>HIGH-VALUE</KEYWORD1>\r
-                       <KEYWORD1>HIGH-VALUES</KEYWORD1>\r
-                       <KEYWORD1>HIGHLIGHT</KEYWORD1>\r
-\r
-                       <KEYWORD1>I-O</KEYWORD1>\r
-                       <KEYWORD1>I-O-CONTROL</KEYWORD1>\r
-                       <KEYWORD1>ID</KEYWORD1>\r
-                       <KEYWORD1>IDENTIFICATION</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>IGNORE</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>INDEX</KEYWORD1>\r
-                       <KEYWORD1>INDEXED</KEYWORD1>\r
-                       <KEYWORD1>INDICATE</KEYWORD1>\r
-                       <KEYWORD1>INHERITING</KEYWORD1>\r
-                       <KEYWORD1>INITIAL</KEYWORD1>\r
-                       <KEYWORD1>INITIALIZE</KEYWORD1>\r
-                       <KEYWORD1>INITIATE</KEYWORD1>\r
-                       <KEYWORD1>INPUT</KEYWORD1>\r
-                       <KEYWORD1>INPUT-OUTPUT</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>INSPECT</KEYWORD1>\r
-                       <KEYWORD1>INSTALLATION</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>INVALID</KEYWORD1>\r
-                       <KEYWORD1>INVOKE</KEYWORD1>\r
-                       <KEYWORD1>IS</KEYWORD1>\r
-\r
-                       <KEYWORD1>JAPANESE</KEYWORD1>\r
-                       <KEYWORD1>JUST</KEYWORD1>\r
-                       <KEYWORD1>JUSTIFIED</KEYWORD1>\r
-\r
-                       <KEYWORD1>KANJI</KEYWORD1>\r
-                       <KEYWORD1>KEPT</KEYWORD1>\r
-                       <KEYWORD1>KEY</KEYWORD1>\r
-                       <KEYWORD1>KEYBOARD</KEYWORD1>\r
-\r
-                       <KEYWORD1>LABEL</KEYWORD1>\r
-                       <KEYWORD1>LAST</KEYWORD1>\r
-                       <KEYWORD1>LEADING</KEYWORD1>\r
-                       <KEYWORD1>LEAVE</KEYWORD1>\r
-                       <KEYWORD1>LEFT</KEYWORD1>\r
-                       <KEYWORD1>LEFT-JUSTIFY</KEYWORD1>\r
-                       <KEYWORD1>LEFTLINE</KEYWORD1>\r
-                       <KEYWORD1>LENGTH</KEYWORD1>\r
-                       <KEYWORD1>LENGTH-CHECK</KEYWORD1>\r
-                       <KEYWORD1>LESS</KEYWORD1>\r
-                       <KEYWORD1>LIMIT</KEYWORD1>\r
-                       <KEYWORD1>LIMITS</KEYWORD1>\r
-                       <KEYWORD1>LIN</KEYWORD1>\r
-                       <KEYWORD1>LINAGE</KEYWORD1>\r
-                       <KEYWORD1>LINAGE-COUNTER</KEYWORD1>\r
-                       <KEYWORD1>LINE</KEYWORD1>\r
-                       <KEYWORD1>LINE-COUNTER</KEYWORD1>\r
-                       <KEYWORD1>LINES</KEYWORD1>\r
-                       <KEYWORD1>LINKAGE</KEYWORD1>\r
-                       <KEYWORD1>LOCAL-STORAGE</KEYWORD1>\r
-                       <KEYWORD1>LOCK</KEYWORD1>\r
-                       <KEYWORD1>LOCKING</KEYWORD1>\r
-                       <KEYWORD1>LOW</KEYWORD1>\r
-                       <KEYWORD1>LOW-VALUE</KEYWORD1>\r
-                       <KEYWORD1>LOW-VALUES</KEYWORD1>\r
-                       <KEYWORD1>LOWER</KEYWORD1>\r
-                       <KEYWORD1>LOWLIGHT</KEYWORD1>\r
-\r
-                       <KEYWORD1>MANUAL</KEYWORD1>\r
-                       <KEYWORD1>MASTER-INDEX</KEYWORD1>\r
-                       <KEYWORD1>MEMORY</KEYWORD1>\r
-                       <KEYWORD1>MERGE</KEYWORD1>\r
-                       <KEYWORD1>MESSAGE</KEYWORD1>\r
-                       <KEYWORD1>METHOD</KEYWORD1>\r
-                       <KEYWORD1>MODE</KEYWORD1>\r
-                       <KEYWORD1>MODULES</KEYWORD1>\r
-                       <KEYWORD1>MORE-LABELS</KEYWORD1>\r
-                       <KEYWORD1>MOVE</KEYWORD1>\r
-                       <KEYWORD1>MULTIPLE</KEYWORD1>\r
-                       <KEYWORD1>MULTIPLY</KEYWORD1>\r
-\r
-                       <KEYWORD1>NAME</KEYWORD1>\r
-                       <KEYWORD1>NAMED</KEYWORD1>\r
-                       <KEYWORD1>NATIONAL</KEYWORD1>\r
-                       <KEYWORD1>NATIONAL-EDITED</KEYWORD1>\r
-                       <KEYWORD1>NATIVE</KEYWORD1>\r
-                       <KEYWORD1>NCHAR</KEYWORD1>\r
-                       <KEYWORD1>NEGATIVE</KEYWORD1>\r
-                       <KEYWORD1>NEXT</KEYWORD1>\r
-                       <KEYWORD1>NO</KEYWORD1>\r
-                       <KEYWORD1>NO-ECHO</KEYWORD1>\r
-                       <KEYWORD1>NOMINAL</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>NOTE</KEYWORD1>\r
-                       <KEYWORD1>NSTD-REELS</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>NULLS</KEYWORD1>\r
-                       <KEYWORD1>NUMBER</KEYWORD1>\r
-                       <KEYWORD1>NUMERIC</KEYWORD1>\r
-                       <KEYWORD1>NUMERIC-EDITED</KEYWORD1>\r
-\r
-                       <KEYWORD1>OBJECT</KEYWORD1>\r
-                       <KEYWORD1>OBJECT-COMPUTER</KEYWORD1>\r
-                       <KEYWORD1>OBJECT-STORAGE</KEYWORD1>\r
-                       <KEYWORD1>OCCURS</KEYWORD1>\r
-                       <KEYWORD1>OF</KEYWORD1>\r
-                       <KEYWORD1>OFF</KEYWORD1>\r
-                       <KEYWORD1>OMITTED</KEYWORD1>\r
-                       <KEYWORD1>ON</KEYWORD1>\r
-                       <KEYWORD1>OOSTACKPTR</KEYWORD1>\r
-                       <KEYWORD1>OPEN</KEYWORD1>\r
-                       <KEYWORD1>OPTIONAL</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>ORDER</KEYWORD1>\r
-                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
-                       <KEYWORD1>OTHER</KEYWORD1>\r
-                       <KEYWORD1>OTHERWISE</KEYWORD1>\r
-                       <KEYWORD1>OUTPUT</KEYWORD1>\r
-                       <KEYWORD1>OVERFLOW</KEYWORD1>\r
-                       <KEYWORD1>OVERLINE</KEYWORD1>\r
-\r
-                       <KEYWORD1>PACKED-DECIMAL</KEYWORD1>\r
-                       <KEYWORD1>PADDING</KEYWORD1>\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>PAGE-COUNTER</KEYWORD1>\r
-                       <KEYWORD1>PARAGRAPH</KEYWORD1>\r
-                       <KEYWORD1>PASSWORD</KEYWORD1>\r
-                       <KEYWORD1>PERFORM</KEYWORD1>\r
-                       <KEYWORD1>PF</KEYWORD1>\r
-                       <KEYWORD1>PH</KEYWORD1>\r
-                       <KEYWORD1>PIC</KEYWORD1>\r
-                       <KEYWORD1>PICTURE</KEYWORD1>\r
-                       <KEYWORD1>PLUS</KEYWORD1>\r
-                       <KEYWORD1>POINTER</KEYWORD1>\r
-                       <KEYWORD1>POS</KEYWORD1>\r
-                       <KEYWORD1>POSITION</KEYWORD1>\r
-                       <KEYWORD1>POSITIONING</KEYWORD1>\r
-                       <KEYWORD1>POSITIVE</KEYWORD1>\r
-                       <KEYWORD1>PREVIOUS</KEYWORD1>\r
-                       <KEYWORD1>PRINT</KEYWORD1>\r
-                       <KEYWORD1>PRINT-SWITCH</KEYWORD1>\r
-                       <KEYWORD1>PRINTER</KEYWORD1>\r
-                       <KEYWORD1>PRINTER-1</KEYWORD1>\r
-                       <KEYWORD1>PRINTING</KEYWORD1>\r
-                       <KEYWORD1>PRIVATE</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE-POINTER</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURES</KEYWORD1>\r
-                       <KEYWORD1>PROCEED</KEYWORD1>\r
-                       <KEYWORD1>PROCESSING</KEYWORD1>\r
-                       <KEYWORD1>PROGRAM</KEYWORD1>\r
-                       <KEYWORD1>PROGRAM-ID</KEYWORD1>\r
-                       <KEYWORD1>PROMPT</KEYWORD1>\r
-                       <KEYWORD1>PROTECTED</KEYWORD1>\r
-                       <KEYWORD1>PUBLIC</KEYWORD1>\r
-                       <KEYWORD1>PURGE</KEYWORD1>\r
-\r
-                       <KEYWORD1>QUEUE</KEYWORD1>\r
-                       <KEYWORD1>QUOTE</KEYWORD1>\r
-                       <KEYWORD1>QUOTES</KEYWORD1>\r
-\r
-                       <KEYWORD1>RANDOM</KEYWORD1>\r
-                       <KEYWORD1>RANGE</KEYWORD1>\r
-                       <KEYWORD1>RD</KEYWORD1>\r
-                       <KEYWORD1>READ</KEYWORD1>\r
-                       <KEYWORD1>READY</KEYWORD1>\r
-                       <KEYWORD1>RECEIVE</KEYWORD1>\r
-                       <KEYWORD1>RECORD</KEYWORD1>\r
-                       <KEYWORD1>RECORD-OVERFLOW</KEYWORD1>\r
-                       <KEYWORD1>RECORDING</KEYWORD1>\r
-                       <KEYWORD1>RECORDS</KEYWORD1>\r
-                       <KEYWORD1>REDEFINES</KEYWORD1>\r
-                       <KEYWORD1>REEL</KEYWORD1>\r
-                       <KEYWORD1>REFERENCE</KEYWORD1>\r
-                       <KEYWORD1>REFERENCES</KEYWORD1>\r
-                       <KEYWORD1>RELATIVE</KEYWORD1>\r
-                       <KEYWORD1>RELEASE</KEYWORD1>\r
-                       <KEYWORD1>RELOAD</KEYWORD1>\r
-                       <KEYWORD1>REMAINDER</KEYWORD1>\r
-                       <KEYWORD1>REMARKS</KEYWORD1>\r
-                       <KEYWORD1>REMOVAL</KEYWORD1>\r
-                       <KEYWORD1>RENAMES</KEYWORD1>\r
-                       <KEYWORD1>REORG-CRITERIA</KEYWORD1>\r
-                       <KEYWORD1>REPLACE</KEYWORD1>\r
-                       <KEYWORD1>REPLACING</KEYWORD1>\r
-                       <KEYWORD1>REPORT</KEYWORD1>\r
-                       <KEYWORD1>REPORTING</KEYWORD1>\r
-                       <KEYWORD1>REPORTS</KEYWORD1>\r
-                       <KEYWORD1>REQUIRED</KEYWORD1>\r
-                       <KEYWORD1>REREAD</KEYWORD1>\r
-                       <KEYWORD1>RERUN</KEYWORD1>\r
-                       <KEYWORD1>RESERVE</KEYWORD1>\r
-                       <KEYWORD1>RESET</KEYWORD1>\r
-                       <KEYWORD1>RETURN</KEYWORD1>\r
-                       <KEYWORD1>RETURN-CODE</KEYWORD1>\r
-                       <KEYWORD1>RETURNING</KEYWORD1>\r
-                       <KEYWORD1>REVERSE</KEYWORD1>\r
-                       <KEYWORD1>REVERSE-VIDEO</KEYWORD1>\r
-                       <KEYWORD1>REVERSED</KEYWORD1>\r
-                       <KEYWORD1>REWIND</KEYWORD1>\r
-                       <KEYWORD1>REWRITE</KEYWORD1>\r
-                       <KEYWORD1>RF</KEYWORD1>\r
-                       <KEYWORD1>RH</KEYWORD1>\r
-                       <KEYWORD1>RIGHT</KEYWORD1>\r
-                       <KEYWORD1>RIGHT-JUSTIFY</KEYWORD1>\r
-                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
-                       <KEYWORD1>ROUNDED</KEYWORD1>\r
-                       <KEYWORD1>RUN</KEYWORD1>\r
-\r
-                       <KEYWORD1>S01</KEYWORD1>\r
-                       <KEYWORD1>S02</KEYWORD1>\r
-                       <KEYWORD1>S03</KEYWORD1>\r
-                       <KEYWORD1>S04</KEYWORD1>\r
-                       <KEYWORD1>S05</KEYWORD1>\r
-                       <KEYWORD1>SAME</KEYWORD1>\r
-                       <KEYWORD1>SCREEN</KEYWORD1>\r
-                       <KEYWORD1>SD</KEYWORD1>\r
-                       <KEYWORD1>SEARCH</KEYWORD1>\r
-                       <KEYWORD1>SECTION</KEYWORD1>\r
-                       <KEYWORD1>SECURE</KEYWORD1>\r
-                       <KEYWORD1>SECURITY</KEYWORD1>\r
-                       <KEYWORD1>SEEK</KEYWORD1>\r
-                       <KEYWORD1>SEGMENT</KEYWORD1>\r
-                       <KEYWORD1>SEGMENT-LIMIT</KEYWORD1>\r
-                       <KEYWORD1>SELECT</KEYWORD1>\r
-                       <KEYWORD1>SELECTIVE</KEYWORD1>\r
-                       <KEYWORD1>SEND</KEYWORD1>\r
-                       <KEYWORD1>SENTENCE</KEYWORD1>\r
-                       <KEYWORD1>SEPARATE</KEYWORD1>\r
-                       <KEYWORD1>SEQUENCE</KEYWORD1>\r
-                       <KEYWORD1>SEQUENTIAL</KEYWORD1>\r
-                       <KEYWORD1>SERVICE</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SHIFT-IN</KEYWORD1>\r
-                       <KEYWORD1>SHIFT-OUT</KEYWORD1>\r
-                       <KEYWORD1>SIGN</KEYWORD1>\r
-                       <KEYWORD1>SIZE</KEYWORD1>\r
-                       <KEYWORD1>SKIP1</KEYWORD1>\r
-                       <KEYWORD1>SKIP2</KEYWORD1>\r
-                       <KEYWORD1>SKIP3</KEYWORD1>\r
-                       <KEYWORD1>SORT</KEYWORD1>\r
-                       <KEYWORD1>SORT-CONTROL</KEYWORD1>\r
-                       <KEYWORD1>SORT-CORE-SIZE</KEYWORD1>\r
-                       <KEYWORD1>SORT-FILE-SIZE</KEYWORD1>\r
-                       <KEYWORD1>SORT-MERGE</KEYWORD1>\r
-                       <KEYWORD1>SORT-MESSAGE</KEYWORD1>\r
-                       <KEYWORD1>SORT-MODE-SIZE</KEYWORD1>\r
-                       <KEYWORD1>SORT-OPTION</KEYWORD1>\r
-                       <KEYWORD1>SORT-RETURN</KEYWORD1>\r
-                       <KEYWORD1>SOURCE</KEYWORD1>\r
-                       <KEYWORD1>SOURCE-COMPUTER</KEYWORD1>\r
-                       <KEYWORD1>SPACE</KEYWORD1>\r
-                       <KEYWORD1>SPACE-FILL</KEYWORD1>\r
-                       <KEYWORD1>SPACES</KEYWORD1>\r
-                       <KEYWORD1>SPECIAL-NAMES</KEYWORD1>\r
-                       <KEYWORD1>STANDARD</KEYWORD1>\r
-                       <KEYWORD1>STANDARD-1</KEYWORD1>\r
-                       <KEYWORD1>STANDARD-2</KEYWORD1>\r
-                       <KEYWORD1>START</KEYWORD1>\r
-                       <KEYWORD1>STATUS</KEYWORD1>\r
-                       <KEYWORD1>STOP</KEYWORD1>\r
-                       <KEYWORD1>STORE</KEYWORD1>\r
-                       <KEYWORD1>STRING</KEYWORD1>\r
-                       <KEYWORD1>SUB-QUEUE-1</KEYWORD1>\r
-                       <KEYWORD1>SUB-QUEUE-2</KEYWORD1>\r
-                       <KEYWORD1>SUB-QUEUE-3</KEYWORD1>\r
-                       <KEYWORD1>SUBTRACT</KEYWORD1>\r
-                       <KEYWORD1>SUM</KEYWORD1>\r
-                       <KEYWORD1>SUPER</KEYWORD1>\r
-                       <KEYWORD1>SUPPRESS</KEYWORD1>\r
-                       <KEYWORD1>SYMBOLIC</KEYWORD1>\r
-                       <KEYWORD1>SYNC</KEYWORD1>\r
-                       <KEYWORD1>SYNCHRONIZED</KEYWORD1>\r
-                       <KEYWORD1>SYSIN</KEYWORD1>\r
-                       <KEYWORD1>SYSIPT</KEYWORD1>\r
-                       <KEYWORD1>SYSLST</KEYWORD1>\r
-                       <KEYWORD1>SYSOUT</KEYWORD1>\r
-                       <KEYWORD1>SYSPCH</KEYWORD1>\r
-                       <KEYWORD1>SYSPUNCH</KEYWORD1>\r
-\r
-                       <KEYWORD1>TAB</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>TALLY</KEYWORD1>\r
-                       <KEYWORD1>TALLYING</KEYWORD1>\r
-                       <KEYWORD1>TAPE</KEYWORD1>\r
-                       <KEYWORD1>TERMINAL</KEYWORD1>\r
-                       <KEYWORD1>TERMINATE</KEYWORD1>\r
-                       <KEYWORD1>TEST</KEYWORD1>\r
-                       <KEYWORD1>TEXT</KEYWORD1>\r
-                       <KEYWORD1>THAN</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>THROUGH</KEYWORD1>\r
-                       <KEYWORD1>THRU</KEYWORD1>\r
-                       <KEYWORD1>TIME</KEYWORD1>\r
-                       <KEYWORD1>TIME-OF-DAY</KEYWORD1>\r
-                       <KEYWORD1>TIME-OUT</KEYWORD1>\r
-                       <KEYWORD1>TIMEOUT</KEYWORD1>\r
-                       <KEYWORD1>TIMES</KEYWORD1>\r
-                       <KEYWORD1>TITLE</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>TOP</KEYWORD1>\r
-                       <KEYWORD1>TOTALED</KEYWORD1>\r
-                       <KEYWORD1>TOTALING</KEYWORD1>\r
-                       <KEYWORD1>TRACE</KEYWORD1>\r
-                       <KEYWORD1>TRACK-AREA</KEYWORD1>\r
-                       <KEYWORD1>TRACK-LIMIT</KEYWORD1>\r
-                       <KEYWORD1>TRACKS</KEYWORD1>\r
-                       <KEYWORD1>TRAILING</KEYWORD1>\r
-                       <KEYWORD1>TRAILING-SIGN</KEYWORD1>\r
-                       <KEYWORD1>TRANSFORM</KEYWORD1>\r
-                       <KEYWORD1>TRUE</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>TYPEDEF</KEYWORD1>\r
-\r
-                       <KEYWORD1>UNDERLINE</KEYWORD1>\r
-                       <KEYWORD1>UNEQUAL</KEYWORD1>\r
-                       <KEYWORD1>UNIT</KEYWORD1>\r
-                       <KEYWORD1>UNLOCK</KEYWORD1>\r
-                       <KEYWORD1>UNSTRING</KEYWORD1>\r
-                       <KEYWORD1>UNTIL</KEYWORD1>\r
-                       <KEYWORD1>UP</KEYWORD1>\r
-                       <KEYWORD1>UPDATE</KEYWORD1>\r
-                       <KEYWORD1>UPON</KEYWORD1>\r
-                       <KEYWORD1>UPPER</KEYWORD1>\r
-                       <KEYWORD1>UPSI-0</KEYWORD1>\r
-                       <KEYWORD1>UPSI-1</KEYWORD1>\r
-                       <KEYWORD1>UPSI-2</KEYWORD1>\r
-                       <KEYWORD1>UPSI-3</KEYWORD1>\r
-                       <KEYWORD1>UPSI-4</KEYWORD1>\r
-                       <KEYWORD1>UPSI-5</KEYWORD1>\r
-                       <KEYWORD1>UPSI-6</KEYWORD1>\r
-                       <KEYWORD1>UPSI-7</KEYWORD1>\r
-                       <KEYWORD1>USAGE</KEYWORD1>\r
-                       <KEYWORD1>USE</KEYWORD1>\r
-                       <KEYWORD1>USER</KEYWORD1>\r
-                       <KEYWORD1>USING</KEYWORD1>\r
-\r
-                       <KEYWORD1>VALUE</KEYWORD1>\r
-                       <KEYWORD1>VALUES</KEYWORD1>\r
-                       <KEYWORD1>VARIABLE</KEYWORD1>\r
-                       <KEYWORD1>VARYING</KEYWORD1>\r
-\r
-                       <KEYWORD1>WAIT</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>WHEN-COMPILED</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WORDS</KEYWORD1>\r
-                       <KEYWORD1>WORKING-STORAGE</KEYWORD1>\r
-                       <KEYWORD1>WRITE</KEYWORD1>\r
-                       <KEYWORD1>WRITE-ONLY</KEYWORD1>\r
-                       <KEYWORD1>WRITE-VERIFY</KEYWORD1>\r
-\r
-                       <KEYWORD1>ZERO</KEYWORD1>\r
-                       <KEYWORD1>ZERO-FILL</KEYWORD1>\r
-                       <KEYWORD1>ZEROES</KEYWORD1>\r
-                       <KEYWORD1>ZEROS</KEYWORD1>\r
-\r
-                       <KEYWORD2>ACOS</KEYWORD2>\r
-                       <KEYWORD2>ANNUITY</KEYWORD2>\r
-                       <KEYWORD2>ASIN</KEYWORD2>\r
-                       <KEYWORD2>ATAN</KEYWORD2>\r
-                       <KEYWORD2>CHAR</KEYWORD2>\r
-                       <KEYWORD2>COS</KEYWORD2>\r
-                       <KEYWORD2>CURRENT-DATE</KEYWORD2>\r
-                       <KEYWORD2>DATE-OF-INTEGER</KEYWORD2>\r
-                       <KEYWORD2>DAY-OF-INTEGER</KEYWORD2>\r
-                       <KEYWORD2>FACTORIAL</KEYWORD2>\r
-                       <KEYWORD2>INTEGER</KEYWORD2>\r
-                       <KEYWORD2>INTEGER-OF-DATE</KEYWORD2>\r
-                       <KEYWORD2>INTEGER-OF-DAY</KEYWORD2>\r
-                       <KEYWORD2>INTEGER-PART</KEYWORD2>\r
-                       <!-- <KEYWORD2>LENGTH</KEYWORD2> -->\r
-                       <KEYWORD2>LOG</KEYWORD2>\r
-                       <KEYWORD2>LOG10</KEYWORD2>\r
-                       <KEYWORD2>LOWER-CASE</KEYWORD2>\r
-                       <KEYWORD2>MAX</KEYWORD2>\r
-                       <KEYWORD2>MEAN</KEYWORD2>\r
-                       <KEYWORD2>MEDIAN</KEYWORD2>\r
-                       <KEYWORD2>MIDRANGE</KEYWORD2>\r
-                       <KEYWORD2>MIN</KEYWORD2>\r
-                       <KEYWORD2>MOD</KEYWORD2>\r
-                       <KEYWORD2>NUMVAL</KEYWORD2>\r
-                       <KEYWORD2>NUMVAL-C</KEYWORD2>\r
-                       <KEYWORD2>ORD</KEYWORD2>\r
-                       <KEYWORD2>ORD-MAX</KEYWORD2>\r
-                       <KEYWORD2>ORD-MIN</KEYWORD2>\r
-                       <KEYWORD2>PRESENT-VALUE</KEYWORD2>\r
-                       <KEYWORD2>RANDOM</KEYWORD2>\r
-                       <KEYWORD2>RANGE</KEYWORD2>\r
-                       <KEYWORD2>REM</KEYWORD2>\r
-                       <KEYWORD2>REVERSE</KEYWORD2>\r
-                       <KEYWORD2>SIN</KEYWORD2>\r
-                       <KEYWORD2>SQRT</KEYWORD2>\r
-                       <KEYWORD2>STANDARD-DEVIATION</KEYWORD2>\r
-                       <KEYWORD2>SUM</KEYWORD2>\r
-                       <KEYWORD2>TAN</KEYWORD2>\r
-                       <KEYWORD2>UPPER-CASE</KEYWORD2>\r
-                       <KEYWORD2>VARIANCE</KEYWORD2>\r
-                       <KEYWORD2>WHEN-COMPILED</KEYWORD2>\r
-\r
-                       <!-- Oracle/SQL - Reserved Words\r
-                       <KEYWORD3>ACCESS</KEYWORD3>\r
-                       <KEYWORD3>ADD</KEYWORD3>\r
-                       <KEYWORD3>ALL</KEYWORD3>\r
-                       <KEYWORD3>ALTER</KEYWORD3>\r
-                       <KEYWORD3>AND</KEYWORD3>\r
-                       <KEYWORD3>ANY</KEYWORD3>\r
-                       <KEYWORD3>ARRAYLEN</KEYWORD3>\r
-                       <KEYWORD3>AS</KEYWORD3>\r
-                       <KEYWORD3>ASC</KEYWORD3>\r
-                       <KEYWORD3>AUDIT</KEYWORD3>\r
-                       <KEYWORD3>BETWEEN</KEYWORD3>\r
-                       <KEYWORD3>BY</KEYWORD3>\r
-                       <KEYWORD3>CHAR</KEYWORD3>\r
-                       <KEYWORD3>CHECK</KEYWORD3>\r
-                       <KEYWORD3>CLUSTER</KEYWORD3>\r
-                       <KEYWORD3>COLUMN</KEYWORD3>\r
-                       <KEYWORD3>COMMENT</KEYWORD3>\r
-                       <KEYWORD3>COMPRESS</KEYWORD3>\r
-                       <KEYWORD3>CONNECT</KEYWORD3>\r
-                       <KEYWORD3>CREATE</KEYWORD3>\r
-                       <KEYWORD3>CURRENT</KEYWORD3>\r
-                       <KEYWORD3>DATE</KEYWORD3>\r
-                       <KEYWORD3>DECIMAL</KEYWORD3>\r
-                       <KEYWORD3>DEFAULT</KEYWORD3>\r
-                       <KEYWORD3>DELETE</KEYWORD3>\r
-                       <KEYWORD3>DESC</KEYWORD3>\r
-                       <KEYWORD3>DISTINCT</KEYWORD3>\r
-                       <KEYWORD3>DROP</KEYWORD3>\r
-                       <KEYWORD3>ELSE</KEYWORD3>\r
-                       <KEYWORD3>EXCLUSIVE</KEYWORD3>\r
-                       <KEYWORD3>EXEC</KEYWORD3>\r
-                       <KEYWORD3>END-EXEC</KEYWORD3>\r
-                       <KEYWORD3>EXISTS</KEYWORD3>\r
-                       <KEYWORD3>FILE</KEYWORD3>\r
-                       <KEYWORD3>FLOAT</KEYWORD3>\r
-                       <KEYWORD3>FOR</KEYWORD3>\r
-                       <KEYWORD3>FROM</KEYWORD3>\r
-                       <KEYWORD3>GRANT</KEYWORD3>\r
-                       <KEYWORD3>GROUP</KEYWORD3>\r
-                       <KEYWORD3>HAVING</KEYWORD3>\r
-                       <KEYWORD3>IDENTIFIED</KEYWORD3>\r
-                       <KEYWORD3>IMMEDIATE</KEYWORD3>\r
-                       <KEYWORD3>IN</KEYWORD3>\r
-                       <KEYWORD3>INCREMENT</KEYWORD3>\r
-                       <KEYWORD3>INDEX</KEYWORD3>\r
-                       <KEYWORD3>INITIAL</KEYWORD3>\r
-                       <KEYWORD3>INSERT</KEYWORD3>\r
-                       <KEYWORD3>INTEGER</KEYWORD3>\r
-                       <KEYWORD3>INTERSECT</KEYWORD3>\r
-                       <KEYWORD3>INTO</KEYWORD3>\r
-                       <KEYWORD3>IS</KEYWORD3>\r
-                       <KEYWORD3>LEVEL</KEYWORD3>\r
-                       <KEYWORD3>LIKE</KEYWORD3>\r
-                       <KEYWORD3>LOCK</KEYWORD3>\r
-                       <KEYWORD3>LONG</KEYWORD3>\r
-                       <KEYWORD3>MAXEXTENTS</KEYWORD3>\r
-                       <KEYWORD3>MINUS</KEYWORD3>\r
-                       <KEYWORD3>MODE</KEYWORD3>\r
-                       <KEYWORD3>MODIFY</KEYWORD3>\r
-                       <KEYWORD3>NOAUDIT</KEYWORD3>\r
-                       <KEYWORD3>NOCOMPRESS</KEYWORD3>\r
-                       <KEYWORD3>NOT</KEYWORD3>\r
-                       <KEYWORD3>NOTFOUND</KEYWORD3>\r
-                       <KEYWORD3>NOWAIT</KEYWORD3>\r
-                       <KEYWORD3>NULL</KEYWORD3>\r
-                       <KEYWORD3>NUMBER</KEYWORD3>\r
-                       <KEYWORD3>OF</KEYWORD3>\r
-                       <KEYWORD3>OFFLINE</KEYWORD3>\r
-                       <KEYWORD3>ON</KEYWORD3>\r
-                       <KEYWORD3>ONLINE</KEYWORD3>\r
-                       <KEYWORD3>OPTION</KEYWORD3>\r
-                       <KEYWORD3>OR</KEYWORD3>\r
-                       <KEYWORD3>ORDER</KEYWORD3>\r
-                       <KEYWORD3>PCTFREE</KEYWORD3>\r
-                       <KEYWORD3>PRIOR</KEYWORD3>\r
-                       <KEYWORD3>PRIVILEGES</KEYWORD3>\r
-                       <KEYWORD3>PUBLIC</KEYWORD3>\r
-                       <KEYWORD3>RAW</KEYWORD3>\r
-                       <KEYWORD3>RENAME</KEYWORD3>\r
-                       <KEYWORD3>RESOURCE</KEYWORD3>\r
-                       <KEYWORD3>REVOKE</KEYWORD3>\r
-                       <KEYWORD3>ROW</KEYWORD3>\r
-                       <KEYWORD3>ROWID</KEYWORD3>\r
-                       <KEYWORD3>ROWLABEL</KEYWORD3>\r
-                       <KEYWORD3>ROWNUM</KEYWORD3>\r
-                       <KEYWORD3>ROWS</KEYWORD3>\r
-                       <KEYWORD3>START</KEYWORD3>\r
-                       <KEYWORD3>SELECT</KEYWORD3>\r
-                       <KEYWORD3>SESSION</KEYWORD3>\r
-                       <KEYWORD3>SET</KEYWORD3>\r
-                       <KEYWORD3>SHARE</KEYWORD3>\r
-                       <KEYWORD3>SIZE</KEYWORD3>\r
-                       <KEYWORD3>SMALLINT</KEYWORD3>\r
-                       <KEYWORD3>SQLBUF</KEYWORD3>\r
-                       <KEYWORD3>SUCCESSFUL</KEYWORD3>\r
-                       <KEYWORD3>SYNONYM</KEYWORD3>\r
-                       <KEYWORD3>SYSDATE</KEYWORD3>\r
-                       <KEYWORD3>TABLE</KEYWORD3>\r
-                       <KEYWORD3>THEN</KEYWORD3>\r
-                       <KEYWORD3>TO</KEYWORD3>\r
-                       <KEYWORD3>TRIGGER</KEYWORD3>\r
-                       <KEYWORD3>UID</KEYWORD3>\r
-                       <KEYWORD3>UNION</KEYWORD3>\r
-                       <KEYWORD3>UNIQUE</KEYWORD3>\r
-                       <KEYWORD3>UPDATE</KEYWORD3>\r
-                       <KEYWORD3>USER</KEYWORD3>\r
-                       <KEYWORD3>VALIDATE</KEYWORD3>\r
-                       <KEYWORD3>VALUES</KEYWORD3>\r
-                       <KEYWORD3>VARCHAR</KEYWORD3>\r
-                       <KEYWORD3>VARCHAR2</KEYWORD3>\r
-                       <KEYWORD3>VIEW</KEYWORD3>\r
-                       <KEYWORD3>WHENEVER</KEYWORD3>\r
-                       <KEYWORD3>WHERE</KEYWORD3>\r
-                       <KEYWORD3>WITH</KEYWORD3>\r
-                       -->\r
-\r
-                       <!-- Oracle/SQL - Keywords\r
-                       <KEYWORD3>ADMIN</KEYWORD3>\r
-                       <KEYWORD3>AFTER</KEYWORD3>\r
-                       <KEYWORD3>ALLOCATE</KEYWORD3>\r
-                       <KEYWORD3>ANALYZE</KEYWORD3>\r
-                       <KEYWORD3>ARCHIVE</KEYWORD3>\r
-                       <KEYWORD3>ARCHIVELOG</KEYWORD3>\r
-                       <KEYWORD3>AUTHORIZATION</KEYWORD3>\r
-                       <KEYWORD3>AVG</KEYWORD3>\r
-                       <KEYWORD3>BACKUP</KEYWORD3>\r
-                       <KEYWORD3>BEGIN</KEYWORD3>\r
-                       <KEYWORD3>BECOME</KEYWORD3>\r
-                       <KEYWORD3>BEFORE</KEYWORD3>\r
-                       <KEYWORD3>BLOCK</KEYWORD3>\r
-                       <KEYWORD3>BODY</KEYWORD3>\r
-                       <KEYWORD3>CACHE</KEYWORD3>\r
-                       <KEYWORD3>CANCEL</KEYWORD3>\r
-                       <KEYWORD3>CASCADE</KEYWORD3>\r
-                       <KEYWORD3>CHANGE</KEYWORD3>\r
-                       <KEYWORD3>CHARACTER</KEYWORD3>\r
-                       <KEYWORD3>CHECKPOINT</KEYWORD3>\r
-                       <KEYWORD3>CLOSE</KEYWORD3>\r
-                       <KEYWORD3>COBOL</KEYWORD3>\r
-                       <KEYWORD3>COMMIT</KEYWORD3>\r
-                       <KEYWORD3>COMPILE</KEYWORD3>\r
-                       <KEYWORD3>CONSTRAINT</KEYWORD3>\r
-                       <KEYWORD3>CONSTRAINTS</KEYWORD3>\r
-                       <KEYWORD3>CONTENTS</KEYWORD3>\r
-                       <KEYWORD3>CONTINUE</KEYWORD3>\r
-                       <KEYWORD3>CONTROLFILE</KEYWORD3>\r
-                       <KEYWORD3>COUNT</KEYWORD3>\r
-                       <KEYWORD3>DBA</KEYWORD3>\r
-                       <KEYWORD3>CURSOR</KEYWORD3>\r
-                       <KEYWORD3>CYCLE</KEYWORD3>\r
-                       <KEYWORD3>DATABASE</KEYWORD3>\r
-                       <KEYWORD3>DATAFILE</KEYWORD3>\r
-                       <KEYWORD3>DEC</KEYWORD3>\r
-                       <KEYWORD3>DECLARE</KEYWORD3>\r
-                       <KEYWORD3>DISABLE</KEYWORD3>\r
-                       <KEYWORD3>DISMOUNT</KEYWORD3>\r
-                       <KEYWORD3>DOUBLE</KEYWORD3>\r
-                       <KEYWORD3>DUMP</KEYWORD3>\r
-                       <KEYWORD3>EACH</KEYWORD3>\r
-                       <KEYWORD3>ENABLE</KEYWORD3>\r
-                       <KEYWORD3>END</KEYWORD3>\r
-                       <KEYWORD3>ESCAPE</KEYWORD3>\r
-                       <KEYWORD3>EVENTS</KEYWORD3>\r
-                       <KEYWORD3>EXCEPT</KEYWORD3>\r
-                       <KEYWORD3>EXCEPTIONS</KEYWORD3>\r
-                       <KEYWORD3>EXEC</KEYWORD3>\r
-                       <KEYWORD3>EXPLAIN</KEYWORD3>\r
-                       <KEYWORD3>EXECUTE</KEYWORD3>\r
-                       <KEYWORD3>EXTENT</KEYWORD3>\r
-                       <KEYWORD3>EXTERNALLY</KEYWORD3>\r
-                       <KEYWORD3>FETCH</KEYWORD3>\r
-                       <KEYWORD3>FLUSH</KEYWORD3>\r
-                       <KEYWORD3>FREELIST</KEYWORD3>\r
-                       <KEYWORD3>FREELISTS</KEYWORD3>\r
-                       <KEYWORD3>FORCE</KEYWORD3>\r
-                       <KEYWORD3>FOREIGN</KEYWORD3>\r
-                       <KEYWORD3>FORTRAN</KEYWORD3>\r
-                       <KEYWORD3>FOUND</KEYWORD3>\r
-                       <KEYWORD3>FUNCTION</KEYWORD3>\r
-                       <KEYWORD3>GO</KEYWORD3>\r
-                       <KEYWORD3>GOTO</KEYWORD3>\r
-                       <KEYWORD3>GROUPS</KEYWORD3>\r
-                       <KEYWORD3>INCLUDING</KEYWORD3>\r
-                       <KEYWORD3>INDICATOR</KEYWORD3>\r
-                       <KEYWORD3>INITRANS</KEYWORD3>\r
-                       <KEYWORD3>INSTANCE</KEYWORD3>\r
-                       <KEYWORD3>INT</KEYWORD3>\r
-                       <KEYWORD3>KEY</KEYWORD3>\r
-                       <KEYWORD3>LANGUAGE</KEYWORD3>\r
-                       <KEYWORD3>LAYER</KEYWORD3>\r
-                       <KEYWORD3>LINK</KEYWORD3>\r
-                       <KEYWORD3>LISTS</KEYWORD3>\r
-                       <KEYWORD3>LOGFILE</KEYWORD3>\r
-                       <KEYWORD3>MANAGE</KEYWORD3>\r
-                       <KEYWORD3>MANUAL</KEYWORD3>\r
-                       <KEYWORD3>MAX</KEYWORD3>\r
-                       <KEYWORD3>MAXDATAFILES</KEYWORD3>\r
-                       <KEYWORD3>MAXINSTANCES</KEYWORD3>\r
-                       <KEYWORD3>MAXLOGFILES</KEYWORD3>\r
-                       <KEYWORD3>MAXLOGHISTORY</KEYWORD3>\r
-                       <KEYWORD3>MAXLOGMEMBERS</KEYWORD3>\r
-                       <KEYWORD3>MAXTRANS</KEYWORD3>\r
-                       <KEYWORD3>MAXVALUE</KEYWORD3>\r
-                       <KEYWORD3>MIN</KEYWORD3>\r
-                       <KEYWORD3>MINEXTENTS</KEYWORD3>\r
-                       <KEYWORD3>MINVALUE</KEYWORD3>\r
-                       <KEYWORD3>MODULE</KEYWORD3>\r
-                       <KEYWORD3>MOUNT</KEYWORD3>\r
-                       <KEYWORD3>NEXT</KEYWORD3>\r
-                       <KEYWORD3>NEW</KEYWORD3>\r
-                       <KEYWORD3>NOARCHIVELOG</KEYWORD3>\r
-                       <KEYWORD3>NOCACHE</KEYWORD3>\r
-                       <KEYWORD3>NOCYCLE</KEYWORD3>\r
-                       <KEYWORD3>NOMAXVALUE</KEYWORD3>\r
-                       <KEYWORD3>NOMINVALUE</KEYWORD3>\r
-                       <KEYWORD3>NONE</KEYWORD3>\r
-                       <KEYWORD3>NOORDER</KEYWORD3>\r
-                       <KEYWORD3>NORESETLOGS</KEYWORD3>\r
-                       <KEYWORD3>NORMAL</KEYWORD3>\r
-                       <KEYWORD3>NOSORT</KEYWORD3>\r
-                       <KEYWORD3>NUMERIC</KEYWORD3>\r
-                       <KEYWORD3>OFF</KEYWORD3>\r
-                       <KEYWORD3>OLD</KEYWORD3>\r
-                       <KEYWORD3>ONLY</KEYWORD3>\r
-                       <KEYWORD3>OPEN</KEYWORD3>\r
-                       <KEYWORD3>OPTIMAL</KEYWORD3>\r
-                       <KEYWORD3>OWN</KEYWORD3>\r
-                       <KEYWORD3>PACKAGE</KEYWORD3>\r
-                       <KEYWORD3>PARALLEL</KEYWORD3>\r
-                       <KEYWORD3>PCTINCREASE</KEYWORD3>\r
-                       <KEYWORD3>PCTUSED</KEYWORD3>\r
-                       <KEYWORD3>PLAN</KEYWORD3>\r
-                       <KEYWORD3>PLI</KEYWORD3>\r
-                       <KEYWORD3>PRECISION</KEYWORD3>\r
-                       <KEYWORD3>PRIMARY</KEYWORD3>\r
-                       <KEYWORD3>PRIVATE</KEYWORD3>\r
-                       <KEYWORD3>PROCEDURE</KEYWORD3>\r
-                       <KEYWORD3>PROFILE</KEYWORD3>\r
-                       <KEYWORD3>QUOTA</KEYWORD3>\r
-                       <KEYWORD3>READ</KEYWORD3>\r
-                       <KEYWORD3>REAL</KEYWORD3>\r
-                       <KEYWORD3>RECOVER</KEYWORD3>\r
-                       <KEYWORD3>REFERENCES</KEYWORD3>\r
-                       <KEYWORD3>REFERENCING</KEYWORD3>\r
-                       <KEYWORD3>RESETLOGS</KEYWORD3>\r
-                       <KEYWORD3>RESTRICTED</KEYWORD3>\r
-                       <KEYWORD3>REUSE</KEYWORD3>\r
-                       <KEYWORD3>ROLE</KEYWORD3>\r
-                       <KEYWORD3>ROLES</KEYWORD3>\r
-                       <KEYWORD3>ROLLBACK</KEYWORD3>\r
-                       <KEYWORD3>SAVEPOINT</KEYWORD3>\r
-                       <KEYWORD3>SCHEMA</KEYWORD3>\r
-                       <KEYWORD3>SCN</KEYWORD3>\r
-                       <KEYWORD3>SECTION</KEYWORD3>\r
-                       <KEYWORD3>SEGMENT</KEYWORD3>\r
-                       <KEYWORD3>SEQUENCE</KEYWORD3>\r
-                       <KEYWORD3>SHARED</KEYWORD3>\r
-                       <KEYWORD3>SNAPSHOT</KEYWORD3>\r
-                       <KEYWORD3>SOME</KEYWORD3>\r
-                       <KEYWORD3>SORT</KEYWORD3>\r
-                       <KEYWORD3>SQL</KEYWORD3>\r
-                       <KEYWORD3>SQLCODE</KEYWORD3>\r
-                       <KEYWORD3>SQLERROR</KEYWORD3>\r
-                       <KEYWORD3>SQLSTATE</KEYWORD3>\r
-                       <KEYWORD3>STATEMENT_ID</KEYWORD3>\r
-                       <KEYWORD3>STATISTICS</KEYWORD3>\r
-                       <KEYWORD3>STOP</KEYWORD3>\r
-                       <KEYWORD3>STORAGE</KEYWORD3>\r
-                       <KEYWORD3>SUM</KEYWORD3>\r
-                       <KEYWORD3>SWITCH</KEYWORD3>\r
-                       <KEYWORD3>SYSTEM</KEYWORD3>\r
-                       <KEYWORD3>TABLES</KEYWORD3>\r
-                       <KEYWORD3>TABLESPACE</KEYWORD3>\r
-                       <KEYWORD3>TEMPORARY</KEYWORD3>\r
-                       <KEYWORD3>THREAD</KEYWORD3>\r
-                       <KEYWORD3>TIME</KEYWORD3>\r
-                       <KEYWORD3>TRACING</KEYWORD3>\r
-                       <KEYWORD3>TRANSACTION</KEYWORD3>\r
-                       <KEYWORD3>TRIGGERS</KEYWORD3>\r
-                       <KEYWORD3>TRUNCATE</KEYWORD3>\r
-                       <KEYWORD3>UNDER</KEYWORD3>\r
-                       <KEYWORD3>UNLIMITED</KEYWORD3>\r
-                       <KEYWORD3>UNTIL</KEYWORD3>\r
-                       <KEYWORD3>USE</KEYWORD3>\r
-                       <KEYWORD3>USING</KEYWORD3>\r
-                       <KEYWORD3>WHEN</KEYWORD3>\r
-                       <KEYWORD3>WRITE</KEYWORD3>\r
-                       <KEYWORD3>WORK</KEYWORD3>\r
-                       -->\r
-\r
-                       <LITERAL2>[COPY-PREFIX]</LITERAL2>\r
-                       <LITERAL2>[COUNT]</LITERAL2>\r
-                       <LITERAL2>[DISPLAY]</LITERAL2>\r
-                       <LITERAL2>[EXECUTE]</LITERAL2>\r
-                       <LITERAL2>[PG]</LITERAL2>\r
-                       <LITERAL2>[PREFIX]</LITERAL2>\r
-                       <LITERAL2>[PROGRAM]</LITERAL2>\r
-                       <LITERAL2>[SPECIAL-PREFIX]</LITERAL2>\r
-                       <LITERAL2>[TESTCASE]</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/coldfusion.xml b/extra/xmode/modes/coldfusion.xml
deleted file mode 100644 (file)
index 8385df7..0000000
+++ /dev/null
@@ -1,645 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- CFML comment -->\r
-               <SPAN TYPE="COMMENT4">\r
-                       <BEGIN>&lt;!---</BEGIN>\r
-                       <END>---&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFSCRIPT multi-line comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- CFSCRIPT single-line comment -->\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT3">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFScript -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFSCRIPT">\r
-                       <BEGIN>&lt;CFSCRIPT</BEGIN>\r
-                       <END>&lt;/CFSCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFML markup start tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
-                       <BEGIN>&lt;CF</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFML markup end tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
-                       <BEGIN>&lt;/CF</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <!-- CFML markup start tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
-                       <BEGIN>&lt;CF</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFML markup end tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFTAGS">\r
-                       <BEGIN>&lt;/CF</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CFML markup start tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CFSCRIPT">\r
-                       <BEGIN>&lt;CFSCRIPT</BEGIN>\r
-                       <END>&lt;/CFSCRIPT&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="CFSCRIPT" DEFAULT="KEYWORD1" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <!-- CFSCRIPT multi-line comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- CFSCRIPT single-line comment -->\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LABEL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="LITERAL2">(</SEQ>\r
-               <SEQ TYPE="LITERAL2">)</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">!!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <FUNCTION>{</FUNCTION>\r
-                       <FUNCTION>}</FUNCTION>\r
-                       <FUNCTION>for</FUNCTION>\r
-                       <FUNCTION>while</FUNCTION>\r
-                       <FUNCTION>if</FUNCTION>\r
-                       <FUNCTION>}else</FUNCTION>\r
-                       <FUNCTION>}else{</FUNCTION>\r
-                       <FUNCTION>if(</FUNCTION>\r
-                       <FUNCTION>else</FUNCTION>\r
-                       <FUNCTION>break</FUNCTION>\r
-\r
-                       <FUNCTION>ArrayAppend</FUNCTION>\r
-                       <FUNCTION>ArrayAvg</FUNCTION>\r
-                       <FUNCTION>ArrayClear</FUNCTION>\r
-                       <FUNCTION>ArrayDeleteAt</FUNCTION>\r
-                       <FUNCTION>ArrayInsertAt</FUNCTION>\r
-                       <FUNCTION>ArrayIsEmpty</FUNCTION>\r
-                       <FUNCTION>ArrayLen</FUNCTION>\r
-                       <FUNCTION>ArrayMax</FUNCTION>\r
-                       <FUNCTION>ArrayMin</FUNCTION>\r
-                       <FUNCTION>ArrayNew</FUNCTION>\r
-                       <FUNCTION>ArrayPrepend</FUNCTION>\r
-                       <FUNCTION>ArrayResize</FUNCTION>\r
-                       <FUNCTION>ArraySet</FUNCTION>\r
-                       <FUNCTION>ArraySort</FUNCTION>\r
-                       <FUNCTION>ArraySum</FUNCTION>\r
-                       <FUNCTION>ArraySwap</FUNCTION>\r
-                       <FUNCTION>ArrayToList</FUNCTION>\r
-                       <FUNCTION>IsArray</FUNCTION>\r
-                       <FUNCTION>ListToArray</FUNCTION>\r
-\r
-                       <FUNCTION>CreateDate</FUNCTION>\r
-                       <FUNCTION>CreateDateTime</FUNCTION>\r
-                       <FUNCTION>CreateODBCTime</FUNCTION>\r
-                       <FUNCTION>CreateODBCDate</FUNCTION>\r
-                       <FUNCTION>CreateODBCDateTime</FUNCTION>\r
-                       <FUNCTION>CreateTime</FUNCTION>\r
-                       <FUNCTION>CreateTimeSpan</FUNCTION>\r
-                       <FUNCTION>DateAdd</FUNCTION>\r
-                       <FUNCTION>DateCompare</FUNCTION>\r
-                       <FUNCTION>DateDiff</FUNCTION>\r
-                       <FUNCTION>DatePart</FUNCTION>\r
-                       <FUNCTION>Day</FUNCTION>\r
-                       <FUNCTION>DayOfWeek</FUNCTION>\r
-                       <FUNCTION>DayOfWeekAsString</FUNCTION>\r
-                       <FUNCTION>DayOfYear</FUNCTION>\r
-                       <FUNCTION>DaysInMonth</FUNCTION>\r
-                       <FUNCTION>DaysInYear</FUNCTION>\r
-                       <FUNCTION>FirstDayOfMonth</FUNCTION>\r
-                       <FUNCTION>Hour</FUNCTION>\r
-                       <FUNCTION>Minute</FUNCTION>\r
-                       <FUNCTION>Month</FUNCTION>\r
-                       <FUNCTION>MonthAsString</FUNCTION>\r
-                       <FUNCTION>Now</FUNCTION>\r
-                       <FUNCTION>ParseDateTime</FUNCTION>\r
-                       <FUNCTION>Quarter</FUNCTION>\r
-                       <FUNCTION>Second</FUNCTION>\r
-                       <FUNCTION>Week</FUNCTION>\r
-                       <FUNCTION>Year</FUNCTION>\r
-\r
-                       <FUNCTION>IsArray</FUNCTION>\r
-                       <FUNCTION>IsAuthenticated</FUNCTION>\r
-                       <FUNCTION>IsAuthorized</FUNCTION>\r
-                       <FUNCTION>IsBoolean</FUNCTION>\r
-                       <FUNCTION>IsDate</FUNCTION>\r
-                       <FUNCTION>IsDebugMode</FUNCTION>\r
-                       <FUNCTION>IsDefined</FUNCTION>\r
-                       <FUNCTION>IsLeapYear</FUNCTION>\r
-                       <FUNCTION>IsNumeric</FUNCTION>\r
-                       <FUNCTION>IsNumericDate</FUNCTION>\r
-                       <FUNCTION>IsQuery</FUNCTION>\r
-                       <FUNCTION>IsSimpleValue</FUNCTION>\r
-                       <FUNCTION>IsStruct</FUNCTION>\r
-\r
-                       <FUNCTION>DateFormat</FUNCTION>\r
-                       <FUNCTION>DecimalFormat</FUNCTION>\r
-                       <FUNCTION>DollarFormat</FUNCTION>\r
-                       <FUNCTION>FormatBaseN</FUNCTION>\r
-                       <FUNCTION>HTMLCodeFormat</FUNCTION>\r
-                       <FUNCTION>HTMLEditFormat</FUNCTION>\r
-                       <FUNCTION>NumberFormat</FUNCTION>\r
-                       <FUNCTION>ParagraphFormat</FUNCTION>\r
-                       <FUNCTION>TimeFormat</FUNCTION>\r
-                       <FUNCTION>YesNoFormat</FUNCTION>\r
-\r
-                       <FUNCTION>DE</FUNCTION>\r
-                       <FUNCTION>Evaluate</FUNCTION>\r
-                       <FUNCTION>IIf</FUNCTION>\r
-                       <FUNCTION>SetVariable</FUNCTION>\r
-\r
-                       <FUNCTION>ArrayToList</FUNCTION>\r
-                       <FUNCTION>ListAppend</FUNCTION>\r
-                       <FUNCTION>ListChangeDelims</FUNCTION>\r
-                       <FUNCTION>ListContains</FUNCTION>\r
-                       <FUNCTION>ListContainsNoCase</FUNCTION>\r
-                       <FUNCTION>ListDeleteAt</FUNCTION>\r
-                       <FUNCTION>ListFind</FUNCTION>\r
-                       <FUNCTION>ListFindNoCase</FUNCTION>\r
-                       <FUNCTION>ListFirst</FUNCTION>\r
-                       <FUNCTION>ListGetAt</FUNCTION>\r
-                       <FUNCTION>ListInsertAt</FUNCTION>\r
-                       <FUNCTION>ListLast</FUNCTION>\r
-                       <FUNCTION>ListLen</FUNCTION>\r
-                       <FUNCTION>ListPrepend</FUNCTION>\r
-                       <FUNCTION>ListRest</FUNCTION>\r
-                       <FUNCTION>ListSetAt</FUNCTION>\r
-                       <FUNCTION>ListToArray</FUNCTION>\r
-\r
-                       <FUNCTION>StructClear</FUNCTION>\r
-                       <FUNCTION>StructCopy</FUNCTION>\r
-                       <FUNCTION>StructCount</FUNCTION>\r
-                       <FUNCTION>StructDelete</FUNCTION>\r
-                       <FUNCTION>StructFind</FUNCTION>\r
-                       <FUNCTION>StructInsert</FUNCTION>\r
-                       <FUNCTION>StructIsEmpty</FUNCTION>\r
-                       <FUNCTION>StructKeyExists</FUNCTION>\r
-                       <FUNCTION>StructNew</FUNCTION>\r
-                       <FUNCTION>StructUpdate</FUNCTION>\r
-\r
-                       <FUNCTION>GetLocale</FUNCTION>\r
-                       <FUNCTION>LSCurrencyFormat</FUNCTION>\r
-                       <FUNCTION>LSDateFormat</FUNCTION>\r
-                       <FUNCTION>LSIsCurrency</FUNCTION>\r
-                       <FUNCTION>LSIsDate</FUNCTION>\r
-                       <FUNCTION>LSIsNumeric</FUNCTION>\r
-                       <FUNCTION>LSNumberFormat</FUNCTION>\r
-                       <FUNCTION>LSParseCurrency</FUNCTION>\r
-                       <FUNCTION>LSParseDateTime</FUNCTION>\r
-                       <FUNCTION>LSParseNumber</FUNCTION>\r
-                       <FUNCTION>LSTimeFormat</FUNCTION>\r
-                       <FUNCTION>SetLocale</FUNCTION>\r
-\r
-                       <FUNCTION>Abs</FUNCTION>\r
-                       <FUNCTION>Atn</FUNCTION>\r
-                       <FUNCTION>BitAnd</FUNCTION>\r
-                       <FUNCTION>BitMaskClear</FUNCTION>\r
-                       <FUNCTION>BitMaskRead</FUNCTION>\r
-                       <FUNCTION>BitMaskSet</FUNCTION>\r
-                       <FUNCTION>BitNot</FUNCTION>\r
-                       <FUNCTION>BitOr</FUNCTION>\r
-                       <FUNCTION>BitSHLN</FUNCTION>\r
-                       <FUNCTION>BitSHRN</FUNCTION>\r
-                       <FUNCTION>BitXor</FUNCTION>\r
-                       <FUNCTION>Ceiling</FUNCTION>\r
-                       <FUNCTION>Cos</FUNCTION>\r
-                       <FUNCTION>DecrementValue</FUNCTION>\r
-                       <FUNCTION>Exp</FUNCTION>\r
-                       <FUNCTION>Fix</FUNCTION>\r
-                       <FUNCTION>IncrementValue</FUNCTION>\r
-                       <FUNCTION>InputBaseN</FUNCTION>\r
-                       <FUNCTION>Int</FUNCTION>\r
-                       <FUNCTION>Log</FUNCTION>\r
-                       <FUNCTION>Log10</FUNCTION>\r
-                       <FUNCTION>Max</FUNCTION>\r
-                       <FUNCTION>Min</FUNCTION>\r
-                       <FUNCTION>Pi</FUNCTION>\r
-                       <FUNCTION>Rand</FUNCTION>\r
-                       <FUNCTION>Randomize</FUNCTION>\r
-                       <FUNCTION>RandRange</FUNCTION>\r
-                       <FUNCTION>Round</FUNCTION>\r
-                       <FUNCTION>Sgn</FUNCTION>\r
-                       <FUNCTION>Sin</FUNCTION>\r
-                       <FUNCTION>Sqr</FUNCTION>\r
-                       <FUNCTION>Tan</FUNCTION>\r
-\r
-                       <FUNCTION>Asc</FUNCTION>\r
-                       <FUNCTION>Chr</FUNCTION>\r
-                       <FUNCTION>CJustify</FUNCTION>\r
-                       <FUNCTION>Compare</FUNCTION>\r
-                       <FUNCTION>CompareNoCase</FUNCTION>\r
-                       <FUNCTION>Find</FUNCTION>\r
-                       <FUNCTION>FindNoCase</FUNCTION>\r
-                       <FUNCTION>FindOneOf</FUNCTION>\r
-                       <FUNCTION>GetToken</FUNCTION>\r
-                       <FUNCTION>Insert</FUNCTION>\r
-                       <FUNCTION>LCase</FUNCTION>\r
-                       <FUNCTION>Left</FUNCTION>\r
-                       <FUNCTION>Len</FUNCTION>\r
-                       <FUNCTION>LJustify</FUNCTION>\r
-                       <FUNCTION>LTrim</FUNCTION>\r
-                       <FUNCTION>Mid</FUNCTION>\r
-                       <FUNCTION>REFind</FUNCTION>\r
-                       <FUNCTION>REFindNoCase</FUNCTION>\r
-                       <FUNCTION>RemoveChars</FUNCTION>\r
-                       <FUNCTION>RepeatString</FUNCTION>\r
-                       <FUNCTION>Replace</FUNCTION>\r
-                       <FUNCTION>ReplaceList</FUNCTION>\r
-                       <FUNCTION>ReplaceNoCase</FUNCTION>\r
-                       <FUNCTION>REReplace</FUNCTION>\r
-                       <FUNCTION>REReplaceNoCase</FUNCTION>\r
-                       <FUNCTION>Reverse</FUNCTION>\r
-                       <FUNCTION>Right</FUNCTION>\r
-                       <FUNCTION>RJustify</FUNCTION>\r
-                       <FUNCTION>RTrim</FUNCTION>\r
-                       <FUNCTION>SpanExcluding</FUNCTION>\r
-                       <FUNCTION>SpanIncluding</FUNCTION>\r
-                       <FUNCTION>Trim</FUNCTION>\r
-                       <FUNCTION>UCase</FUNCTION>\r
-                       <FUNCTION>Val</FUNCTION>\r
-\r
-                       <FUNCTION>DirectoryExists</FUNCTION>\r
-                       <FUNCTION>ExpandPath</FUNCTION>\r
-                       <FUNCTION>FileExists</FUNCTION>\r
-                       <FUNCTION>GetDirectoryFromPath</FUNCTION>\r
-                       <FUNCTION>GetFileFromPath</FUNCTION>\r
-                       <FUNCTION>GetTempDirectory</FUNCTION>\r
-                       <FUNCTION>GetTempFile</FUNCTION>\r
-                       <FUNCTION>GetTemplatePath</FUNCTION>\r
-\r
-                       <FUNCTION>QueryAddRow</FUNCTION>\r
-                       <FUNCTION>QueryNew</FUNCTION>\r
-                       <FUNCTION>QuerySetCell</FUNCTION>\r
-\r
-                       <FUNCTION>Decrypt</FUNCTION>\r
-                       <FUNCTION>DeleteClientVariable</FUNCTION>\r
-                       <FUNCTION>Encrypt</FUNCTION>\r
-                       <FUNCTION>GetBaseTagData</FUNCTION>\r
-                       <FUNCTION>GetBaseTagList</FUNCTION>\r
-                       <FUNCTION>GetClientVariablesList</FUNCTION>\r
-                       <FUNCTION>GetTickCount</FUNCTION>\r
-                       <FUNCTION>PreserveSingleQuotes</FUNCTION>\r
-                       <FUNCTION>QuotedValueList</FUNCTION>\r
-                       <FUNCTION>StripCR</FUNCTION>\r
-                       <FUNCTION>URLEncodedFormat</FUNCTION>\r
-                       <FUNCTION>ValueList</FUNCTION>\r
-                       <FUNCTION>WriteOutput</FUNCTION>\r
-\r
-                       <FUNCTION>ParameterExists</FUNCTION>\r
-\r
-                       <OPERATOR>IS</OPERATOR>\r
-                       <OPERATOR>EQ</OPERATOR>\r
-                       <OPERATOR>NEQ</OPERATOR>\r
-                       <OPERATOR>GT</OPERATOR>\r
-                       <OPERATOR>GTE</OPERATOR>\r
-                       <OPERATOR>LT</OPERATOR>\r
-                       <OPERATOR>LTE</OPERATOR>\r
-\r
-                       <OPERATOR>LESS</OPERATOR>\r
-                       <OPERATOR>GREATER</OPERATOR>\r
-                       <OPERATOR>THAN</OPERATOR>\r
-\r
-                       <OPERATOR>AND</OPERATOR>\r
-                       <OPERATOR>OR</OPERATOR>\r
-                       <OPERATOR>NOT</OPERATOR>\r
-                       <OPERATOR>XOR</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="CFTAGS" DEFAULT="KEYWORD3">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="KEYWORD3">##</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>#</BEGIN>\r
-                       <END>#</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>ArrayAppend</KEYWORD2>\r
-                       <KEYWORD2>ArrayAvg</KEYWORD2>\r
-                       <KEYWORD2>ArrayClear</KEYWORD2>\r
-                       <KEYWORD2>ArrayDeleteAt</KEYWORD2>\r
-                       <KEYWORD2>ArrayInsertAt</KEYWORD2>\r
-                       <KEYWORD2>ArrayIsEmpty</KEYWORD2>\r
-                       <KEYWORD2>ArrayLen</KEYWORD2>\r
-                       <KEYWORD2>ArrayMax</KEYWORD2>\r
-                       <KEYWORD2>ArrayMin</KEYWORD2>\r
-                       <KEYWORD2>ArrayNew</KEYWORD2>\r
-                       <KEYWORD2>ArrayPrepend</KEYWORD2>\r
-                       <KEYWORD2>ArrayResize</KEYWORD2>\r
-                       <KEYWORD2>ArraySet</KEYWORD2>\r
-                       <KEYWORD2>ArraySort</KEYWORD2>\r
-                       <KEYWORD2>ArraySum</KEYWORD2>\r
-                       <KEYWORD2>ArraySwap</KEYWORD2>\r
-                       <KEYWORD2>ArrayToList</KEYWORD2>\r
-                       <KEYWORD2>IsArray</KEYWORD2>\r
-                       <KEYWORD2>ListToArray</KEYWORD2>\r
-\r
-                       <KEYWORD2>CreateDate</KEYWORD2>\r
-                       <KEYWORD2>CreateDateTime</KEYWORD2>\r
-                       <KEYWORD2>CreateODBCTime</KEYWORD2>\r
-                       <KEYWORD2>CreateODBCDate</KEYWORD2>\r
-                       <KEYWORD2>CreateODBCDateTime</KEYWORD2>\r
-                       <KEYWORD2>CreateTime</KEYWORD2>\r
-                       <KEYWORD2>CreateTimeSpan</KEYWORD2>\r
-                       <KEYWORD2>DateAdd</KEYWORD2>\r
-                       <KEYWORD2>DateCompare</KEYWORD2>\r
-                       <KEYWORD2>DateDiff</KEYWORD2>\r
-                       <KEYWORD2>DatePart</KEYWORD2>\r
-                       <KEYWORD2>Day</KEYWORD2>\r
-                       <KEYWORD2>DayOfWeek</KEYWORD2>\r
-                       <KEYWORD2>DayOfWeekAsString</KEYWORD2>\r
-                       <KEYWORD2>DayOfYear</KEYWORD2>\r
-                       <KEYWORD2>DaysInMonth</KEYWORD2>\r
-                       <KEYWORD2>DaysInYear</KEYWORD2>\r
-                       <KEYWORD2>FirstDayOfMonth</KEYWORD2>\r
-                       <KEYWORD2>Hour</KEYWORD2>\r
-                       <KEYWORD2>Minute</KEYWORD2>\r
-                       <KEYWORD2>Month</KEYWORD2>\r
-                       <KEYWORD2>MonthAsString</KEYWORD2>\r
-                       <KEYWORD2>Now</KEYWORD2>\r
-                       <KEYWORD2>ParseDateTime</KEYWORD2>\r
-                       <KEYWORD2>Quarter</KEYWORD2>\r
-                       <KEYWORD2>Second</KEYWORD2>\r
-                       <KEYWORD2>Week</KEYWORD2>\r
-                       <KEYWORD2>Year</KEYWORD2>\r
-\r
-                       <KEYWORD2>IsArray</KEYWORD2>\r
-                       <KEYWORD2>IsAuthenticated</KEYWORD2>\r
-                       <KEYWORD2>IsAuthorized</KEYWORD2>\r
-                       <KEYWORD2>IsBoolean</KEYWORD2>\r
-                       <KEYWORD2>IsDate</KEYWORD2>\r
-                       <KEYWORD2>IsDebugMode</KEYWORD2>\r
-                       <KEYWORD2>IsDefined</KEYWORD2>\r
-                       <KEYWORD2>IsLeapYear</KEYWORD2>\r
-                       <KEYWORD2>IsNumeric</KEYWORD2>\r
-                       <KEYWORD2>IsNumericDate</KEYWORD2>\r
-                       <KEYWORD2>IsQuery</KEYWORD2>\r
-                       <KEYWORD2>IsSimpleValue</KEYWORD2>\r
-                       <KEYWORD2>IsStruct</KEYWORD2>\r
-\r
-                       <KEYWORD2>DateFormat</KEYWORD2>\r
-                       <KEYWORD2>DecimalFormat</KEYWORD2>\r
-                       <KEYWORD2>DollarFormat</KEYWORD2>\r
-                       <KEYWORD2>FormatBaseN</KEYWORD2>\r
-                       <KEYWORD2>HTMLCodeFormat</KEYWORD2>\r
-                       <KEYWORD2>HTMLEditFormat</KEYWORD2>\r
-                       <KEYWORD2>NumberFormat</KEYWORD2>\r
-                       <KEYWORD2>ParagraphFormat</KEYWORD2>\r
-                       <KEYWORD2>TimeFormat</KEYWORD2>\r
-                       <KEYWORD2>YesNoFormat</KEYWORD2>\r
-\r
-                       <KEYWORD2>DE</KEYWORD2>\r
-                       <KEYWORD2>Evaluate</KEYWORD2>\r
-                       <KEYWORD2>IIf</KEYWORD2>\r
-                       <KEYWORD2>SetVariable</KEYWORD2>\r
-\r
-                       <KEYWORD2>ArrayToList</KEYWORD2>\r
-                       <KEYWORD2>ListAppend</KEYWORD2>\r
-                       <KEYWORD2>ListChangeDelims</KEYWORD2>\r
-                       <KEYWORD2>ListContains</KEYWORD2>\r
-                       <KEYWORD2>ListContainsNoCase</KEYWORD2>\r
-                       <KEYWORD2>ListDeleteAt</KEYWORD2>\r
-                       <KEYWORD2>ListFind</KEYWORD2>\r
-                       <KEYWORD2>ListFindNoCase</KEYWORD2>\r
-                       <KEYWORD2>ListFirst</KEYWORD2>\r
-                       <KEYWORD2>ListGetAt</KEYWORD2>\r
-                       <KEYWORD2>ListInsertAt</KEYWORD2>\r
-                       <KEYWORD2>ListLast</KEYWORD2>\r
-                       <KEYWORD2>ListLen</KEYWORD2>\r
-                       <KEYWORD2>ListPrepend</KEYWORD2>\r
-                       <KEYWORD2>ListRest</KEYWORD2>\r
-                       <KEYWORD2>ListSetAt</KEYWORD2>\r
-                       <KEYWORD2>ListToArray</KEYWORD2>\r
-\r
-                       <KEYWORD2>StructClear</KEYWORD2>\r
-                       <KEYWORD2>StructCopy</KEYWORD2>\r
-                       <KEYWORD2>StructCount</KEYWORD2>\r
-                       <KEYWORD2>StructDelete</KEYWORD2>\r
-                       <KEYWORD2>StructFind</KEYWORD2>\r
-                       <KEYWORD2>StructInsert</KEYWORD2>\r
-                       <KEYWORD2>StructIsEmpty</KEYWORD2>\r
-                       <KEYWORD2>StructKeyExists</KEYWORD2>\r
-                       <KEYWORD2>StructNew</KEYWORD2>\r
-                       <KEYWORD2>StructUpdate</KEYWORD2>\r
-\r
-                       <KEYWORD2>GetLocale</KEYWORD2>\r
-                       <KEYWORD2>LSCurrencyFormat</KEYWORD2>\r
-                       <KEYWORD2>LSDateFormat</KEYWORD2>\r
-                       <KEYWORD2>LSIsCurrency</KEYWORD2>\r
-                       <KEYWORD2>LSIsDate</KEYWORD2>\r
-                       <KEYWORD2>LSIsNumeric</KEYWORD2>\r
-                       <KEYWORD2>LSNumberFormat</KEYWORD2>\r
-                       <KEYWORD2>LSParseCurrency</KEYWORD2>\r
-                       <KEYWORD2>LSParseDateTime</KEYWORD2>\r
-                       <KEYWORD2>LSParseNumber</KEYWORD2>\r
-                       <KEYWORD2>LSTimeFormat</KEYWORD2>\r
-                       <KEYWORD2>SetLocale</KEYWORD2>\r
-\r
-                       <KEYWORD2>Abs</KEYWORD2>\r
-                       <KEYWORD2>Atn</KEYWORD2>\r
-                       <KEYWORD2>BitAnd</KEYWORD2>\r
-                       <KEYWORD2>BitMaskClear</KEYWORD2>\r
-                       <KEYWORD2>BitMaskRead</KEYWORD2>\r
-                       <KEYWORD2>BitMaskSet</KEYWORD2>\r
-                       <KEYWORD2>BitNot</KEYWORD2>\r
-                       <KEYWORD2>BitOr</KEYWORD2>\r
-                       <KEYWORD2>BitSHLN</KEYWORD2>\r
-                       <KEYWORD2>BitSHRN</KEYWORD2>\r
-                       <KEYWORD2>BitXor</KEYWORD2>\r
-                       <KEYWORD2>Ceiling</KEYWORD2>\r
-                       <KEYWORD2>Cos</KEYWORD2>\r
-                       <KEYWORD2>DecrementValue</KEYWORD2>\r
-                       <KEYWORD2>Exp</KEYWORD2>\r
-                       <KEYWORD2>Fix</KEYWORD2>\r
-                       <KEYWORD2>IncrementValue</KEYWORD2>\r
-                       <KEYWORD2>InputBaseN</KEYWORD2>\r
-                       <KEYWORD2>Int</KEYWORD2>\r
-                       <KEYWORD2>Log</KEYWORD2>\r
-                       <KEYWORD2>Log10</KEYWORD2>\r
-                       <KEYWORD2>Max</KEYWORD2>\r
-                       <KEYWORD2>Min</KEYWORD2>\r
-                       <KEYWORD2>Pi</KEYWORD2>\r
-                       <KEYWORD2>Rand</KEYWORD2>\r
-                       <KEYWORD2>Randomize</KEYWORD2>\r
-                       <KEYWORD2>RandRange</KEYWORD2>\r
-                       <KEYWORD2>Round</KEYWORD2>\r
-                       <KEYWORD2>Sgn</KEYWORD2>\r
-                       <KEYWORD2>Sin</KEYWORD2>\r
-                       <KEYWORD2>Sqr</KEYWORD2>\r
-                       <KEYWORD2>Tan</KEYWORD2>\r
-\r
-                       <KEYWORD2>Asc</KEYWORD2>\r
-                       <KEYWORD2>Chr</KEYWORD2>\r
-                       <KEYWORD2>CJustify</KEYWORD2>\r
-                       <KEYWORD2>Compare</KEYWORD2>\r
-                       <KEYWORD2>CompareNoCase</KEYWORD2>\r
-                       <KEYWORD2>Find</KEYWORD2>\r
-                       <KEYWORD2>FindNoCase</KEYWORD2>\r
-                       <KEYWORD2>FindOneOf</KEYWORD2>\r
-                       <KEYWORD2>GetToken</KEYWORD2>\r
-                       <KEYWORD2>Insert</KEYWORD2>\r
-                       <KEYWORD2>LCase</KEYWORD2>\r
-                       <KEYWORD2>Left</KEYWORD2>\r
-                       <KEYWORD2>Len</KEYWORD2>\r
-                       <KEYWORD2>LJustify</KEYWORD2>\r
-                       <KEYWORD2>LTrim</KEYWORD2>\r
-                       <KEYWORD2>Mid</KEYWORD2>\r
-                       <KEYWORD2>REFind</KEYWORD2>\r
-                       <KEYWORD2>REFindNoCase</KEYWORD2>\r
-                       <KEYWORD2>RemoveChars</KEYWORD2>\r
-                       <KEYWORD2>RepeatString</KEYWORD2>\r
-                       <KEYWORD2>Replace</KEYWORD2>\r
-                       <KEYWORD2>ReplaceList</KEYWORD2>\r
-                       <KEYWORD2>ReplaceNoCase</KEYWORD2>\r
-                       <KEYWORD2>REReplace</KEYWORD2>\r
-                       <KEYWORD2>REReplaceNoCase</KEYWORD2>\r
-                       <KEYWORD2>Reverse</KEYWORD2>\r
-                       <KEYWORD2>Right</KEYWORD2>\r
-                       <KEYWORD2>RJustify</KEYWORD2>\r
-                       <KEYWORD2>RTrim</KEYWORD2>\r
-                       <KEYWORD2>SpanExcluding</KEYWORD2>\r
-                       <KEYWORD2>SpanIncluding</KEYWORD2>\r
-                       <KEYWORD2>Trim</KEYWORD2>\r
-                       <KEYWORD2>UCase</KEYWORD2>\r
-                       <KEYWORD2>Val</KEYWORD2>\r
-\r
-                       <KEYWORD2>DirectoryExists</KEYWORD2>\r
-                       <KEYWORD2>ExpandPath</KEYWORD2>\r
-                       <KEYWORD2>FileExists</KEYWORD2>\r
-                       <KEYWORD2>GetDirectoryFromPath</KEYWORD2>\r
-                       <KEYWORD2>GetFileFromPath</KEYWORD2>\r
-                       <KEYWORD2>GetTempDirectory</KEYWORD2>\r
-                       <KEYWORD2>GetTempFile</KEYWORD2>\r
-                       <KEYWORD2>GetTemplatePath</KEYWORD2>\r
-\r
-                       <KEYWORD2>QueryAddRow</KEYWORD2>\r
-                       <KEYWORD2>QueryNew</KEYWORD2>\r
-                       <KEYWORD2>QuerySetCell</KEYWORD2>\r
-\r
-                       <KEYWORD2>Decrypt</KEYWORD2>\r
-                       <KEYWORD2>DeleteClientVariable</KEYWORD2>\r
-                       <KEYWORD2>Encrypt</KEYWORD2>\r
-                       <KEYWORD2>GetBaseTagData</KEYWORD2>\r
-                       <KEYWORD2>GetBaseTagList</KEYWORD2>\r
-                       <KEYWORD2>GetClientVariablesList</KEYWORD2>\r
-                       <KEYWORD2>GetTickCount</KEYWORD2>\r
-                       <KEYWORD2>PreserveSingleQuotes</KEYWORD2>\r
-                       <KEYWORD2>QuotedValueList</KEYWORD2>\r
-                       <KEYWORD2>StripCR</KEYWORD2>\r
-                       <KEYWORD2>URLEncodedFormat</KEYWORD2>\r
-                       <KEYWORD2>ValueList</KEYWORD2>\r
-                       <KEYWORD2>WriteOutput</KEYWORD2>\r
-\r
-                       <KEYWORD2>ParameterExists</KEYWORD2>\r
-\r
-                       <OPERATOR>IS</OPERATOR>\r
-                       <OPERATOR>EQ</OPERATOR>\r
-                       <OPERATOR>NEQ</OPERATOR>\r
-                       <OPERATOR>GT</OPERATOR>\r
-                       <OPERATOR>GTE</OPERATOR>\r
-                       <OPERATOR>LT</OPERATOR>\r
-                       <OPERATOR>LTE</OPERATOR>\r
-\r
-                       <OPERATOR>LESS</OPERATOR>\r
-                       <OPERATOR>GREATER</OPERATOR>\r
-                       <OPERATOR>THAN</OPERATOR>\r
-\r
-                       <OPERATOR>AND</OPERATOR>\r
-                       <OPERATOR>OR</OPERATOR>\r
-                       <OPERATOR>NOT</OPERATOR>\r
-                       <OPERATOR>XOR</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>
\ No newline at end of file
diff --git a/extra/xmode/modes/cplusplus.xml b/extra/xmode/modes/cplusplus.xml
deleted file mode 100644 (file)
index b781056..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Extension of c.xml to add C++ specific syntax. -->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-\r
-        <!-- Auto indent -->\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-        <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-        <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-        <PROPERTY NAME="indentNextLine"\r
-            VALUE="(?!^\s*(#|//)).*(\b(if|while|for)\s*\(.*\)|\b(else|do)\b)[^{;]*$" />\r
-        <PROPERTY NAME="unindentThisLine"\r
-            VALUE="^\s*((case\b.*|[\p{Alpha}_][\p{Alnum}_]*)\s*:(?!:)).*$" />\r
-        <PROPERTY NAME="electricKeys" VALUE=":" />\r
-    </PROPS>\r
-\r
-    <RULES\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
-\r
-        <IMPORT DELEGATE="LEX"/>\r
-        <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-    <!-- Core C++ language -->\r
-    <RULES SET="LEX"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <!-- A hack not to mark namespace qualification like "std::"\r
-            as labels. -->\r
-        <SEQ TYPE="OPERATOR">::</SEQ>\r
-\r
-        <IMPORT DELEGATE="c::LEX"/>\r
-    </RULES>\r
-\r
-    <!-- Core C++ language -->\r
-    <RULES SET="CORE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <IMPORT DELEGATE="c::CORE"/>\r
-\r
-        <KEYWORDS>\r
-            <KEYWORD3>catch</KEYWORD3>\r
-            <KEYWORD3>class</KEYWORD3>\r
-            <KEYWORD3>const_cast</KEYWORD3>\r
-            <KEYWORD1>delete</KEYWORD1>\r
-            <KEYWORD3>dynamic_cast</KEYWORD3>\r
-            <KEYWORD1>explicit</KEYWORD1>\r
-            <KEYWORD2>export</KEYWORD2>\r
-            <KEYWORD1>friend</KEYWORD1>\r
-            <KEYWORD3>mutable</KEYWORD3>\r
-            <KEYWORD2>namespace</KEYWORD2>\r
-            <KEYWORD1>new</KEYWORD1>\r
-            <KEYWORD3>operator</KEYWORD3>\r
-            <KEYWORD1>private</KEYWORD1>\r
-            <KEYWORD1>protected</KEYWORD1>\r
-            <KEYWORD1>public</KEYWORD1>\r
-            <KEYWORD3>reinterpret_cast</KEYWORD3>\r
-            <KEYWORD3>static_assert</KEYWORD3>\r
-            <KEYWORD3>static_cast</KEYWORD3>\r
-            <KEYWORD3>template</KEYWORD3>\r
-            <LITERAL2>this</LITERAL2>\r
-            <KEYWORD1>throw</KEYWORD1>\r
-            <KEYWORD1>try</KEYWORD1>\r
-            <KEYWORD3>typeid</KEYWORD3>\r
-            <KEYWORD3>typename</KEYWORD3>\r
-            <KEYWORD2>using</KEYWORD2>\r
-            <KEYWORD1>virtual</KEYWORD1>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- Preprocessor specific rules -->\r
-    <RULES SET="CPP"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>\r
-\r
-        <IMPORT DELEGATE="LEX"/>\r
-\r
-        <!-- Directives -->\r
-        <KEYWORDS>\r
-            <MARKUP>ifdef</MARKUP>\r
-            <MARKUP>ifndef</MARKUP>\r
-            <MARKUP>else</MARKUP>\r
-            <MARKUP>error</MARKUP>\r
-            <MARKUP>line</MARKUP>\r
-            <MARKUP>pragma</MARKUP>\r
-            <MARKUP>undef</MARKUP>\r
-            <MARKUP>warning</MARKUP>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- After #define directive -->\r
-    <!-- Almost same as the normal code,\r
-        except two additional operators # and ##. -->\r
-    <RULES SET="DEFINE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <SEQ TYPE="OPERATOR">#</SEQ>\r
-        <IMPORT DELEGATE="LEX"/>\r
-        <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/csharp.xml b/extra/xmode/modes/csharp.xml
deleted file mode 100644 (file)
index f28d238..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- DocComments may have XML in them -->\r
-               <EOL_SPAN TYPE="COMMENT3" DELEGATE="DOC_COMMENT">///</EOL_SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <!-- verbatim strings -->\r
-               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE" NO_ESCAPE="TRUE">\r
-                       <BEGIN>@"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#elif</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#endif</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#define</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#undef</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#warning</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#error</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#line</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#region</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#endregion</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>base</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>checked</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>decimal</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>delegate</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>explicit</KEYWORD1>\r
-                       <KEYWORD1>extern</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>fixed</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implicit</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>internal</KEYWORD1>\r
-                       <KEYWORD1>is</KEYWORD1>\r
-                       <KEYWORD1>lock</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>operator</KEYWORD1>\r
-                       <KEYWORD1>out</KEYWORD1>\r
-                       <KEYWORD1>override</KEYWORD1>\r
-                       <KEYWORD1>params</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>readonly</KEYWORD1>\r
-                       <KEYWORD1>ref</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>sealed</KEYWORD1>\r
-                       <KEYWORD1>sizeof</KEYWORD1>\r
-                       <KEYWORD1>stackalloc</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>typeof</KEYWORD1>\r
-                       <KEYWORD1>unchecked</KEYWORD1>\r
-                       <KEYWORD1>unsafe</KEYWORD1>\r
-                       <KEYWORD1>virtual</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD2>using</KEYWORD2>\r
-                       <KEYWORD2>namespace</KEYWORD2>\r
-\r
-                       <KEYWORD3>bool</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD3>enum</KEYWORD3>\r
-                       <KEYWORD3>event</KEYWORD3>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>interface</KEYWORD3>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD3>object</KEYWORD3>\r
-                       <KEYWORD3>sbyte</KEYWORD3>\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>struct</KEYWORD3>\r
-                       <KEYWORD3>uint</KEYWORD3>\r
-                       <KEYWORD3>ulong</KEYWORD3>\r
-                       <KEYWORD3>ushort</KEYWORD3>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="DOC_COMMENT" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
-               <!-- XML comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               <!-- XML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/css.xml b/extra/xmode/modes/css.xml
deleted file mode 100644 (file)
index 5f8708f..0000000
+++ /dev/null
@@ -1,679 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="noWordSep" VALUE="-" />\r
-               <PROPERTY NAME="noWordSep" VALUE="_" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="TRUE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="-?[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
-               NO_WORD_SEP="-_%">\r
-\r
-               <!-- classes: -->\r
-               <MARK_FOLLOWING TYPE="LITERAL1">.</MARK_FOLLOWING>\r
-               <!-- IDs: -->\r
-               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-\r
-               <!-- TODO: selectors, see http://www.w3.org/TR/REC-CSS2/selector.html -->\r
-\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PSEUDO">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <!-- property blocks: -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="PROPERTIES">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <IMPORT DELEGATE="GLOBAL" />\r
-               <IMPORT DELEGATE="html::TAGS" />\r
-       </RULES>\r
-\r
-\r
-       <!-- Pseudo classes like ":active" -->\r
-       <RULES SET="PSEUDO">\r
-               <!-- Delegate back: -->\r
-               <SEQ TYPE="NULL" DELEGATE="MAIN"> </SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">,</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PROPERTIES">{</SEQ>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="lang" TYPE="KEYWORD4">\r
-                       <BEGIN>lang\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="lang" TYPE="KEYWORD4">\r
-                       <BEGIN>lang\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- For delegating to PROPERTIES: -->\r
-               <IMPORT DELEGATE="GLOBAL" />\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD4>after</KEYWORD4>\r
-                       <KEYWORD4>before</KEYWORD4>\r
-                       <KEYWORD4>first-child</KEYWORD4>\r
-                       <KEYWORD4>link</KEYWORD4>\r
-                       <KEYWORD4>visited</KEYWORD4>\r
-                       <KEYWORD4>active</KEYWORD4>\r
-                       <KEYWORD4>hover</KEYWORD4>\r
-                       <KEYWORD4>focus</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
-       </RULES>\r
-\r
-       <!-- Properties: -->\r
-       <RULES SET="PROPERTIES" ESCAPE="\">\r
-               <!-- Delegate back -->\r
-               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">}</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PROP_VALUE">:</SEQ>\r
-\r
-               <IMPORT DELEGATE="GLOBAL" />\r
-\r
-               <KEYWORDS>\r
-                       <!-- CSS2 properties -->\r
-\r
-                       <!-- Color and background properties -->\r
-                       <KEYWORD2>background</KEYWORD2>\r
-                       <KEYWORD2>background-attachment</KEYWORD2>\r
-                       <KEYWORD2>background-color</KEYWORD2>\r
-                       <KEYWORD2>background-image</KEYWORD2>\r
-                       <KEYWORD2>background-position</KEYWORD2>\r
-                       <KEYWORD2>background-repeat</KEYWORD2>\r
-                       <KEYWORD2>color</KEYWORD2>\r
-\r
-                       <!-- Font properties -->\r
-                       <KEYWORD2>font</KEYWORD2>\r
-                       <KEYWORD2>font-family</KEYWORD2>\r
-                       <KEYWORD2>font-size</KEYWORD2>\r
-                       <KEYWORD2>font-size-adjust</KEYWORD2>\r
-                       <KEYWORD2>font-style</KEYWORD2>\r
-                       <KEYWORD2>font-variant</KEYWORD2>\r
-                       <KEYWORD2>font-weight</KEYWORD2>\r
-                       <KEYWORD2>font-stretch</KEYWORD2>\r
-                       <KEYWORD2>src</KEYWORD2>\r
-                       <KEYWORD2>definition-src</KEYWORD2>\r
-                       <KEYWORD2>unicode-range</KEYWORD2>\r
-                       <KEYWORD2>panose-1</KEYWORD2>\r
-                       <KEYWORD2>stemv</KEYWORD2>\r
-                       <KEYWORD2>stemh</KEYWORD2>\r
-                       <KEYWORD2>units-per-em</KEYWORD2>\r
-                       <KEYWORD2>slope</KEYWORD2>\r
-                       <KEYWORD2>cap-height</KEYWORD2>\r
-                       <KEYWORD2>x-height</KEYWORD2>\r
-                       <KEYWORD2>ascent</KEYWORD2>\r
-                       <KEYWORD2>descent</KEYWORD2>\r
-                       <KEYWORD2>baseline</KEYWORD2>\r
-                       <KEYWORD2>centerline</KEYWORD2>\r
-                       <KEYWORD2>mathline</KEYWORD2>\r
-                       <KEYWORD2>topline</KEYWORD2>\r
-\r
-                       <!-- Text properties -->\r
-                       <KEYWORD2>letter-spacing</KEYWORD2>\r
-                       <KEYWORD2>text-align</KEYWORD2>\r
-                       <KEYWORD2>text-shadow</KEYWORD2>\r
-                       <KEYWORD2>text-decoration</KEYWORD2>\r
-                       <KEYWORD2>text-indent</KEYWORD2>\r
-                       <KEYWORD2>text-transform</KEYWORD2>\r
-                       <KEYWORD2>word-spacing</KEYWORD2>\r
-                       <KEYWORD2>letter-spacing</KEYWORD2>\r
-                       <KEYWORD2>white-space</KEYWORD2>\r
-\r
-                       <!-- Box properties -->\r
-                       <KEYWORD2>border</KEYWORD2>\r
-                       <KEYWORD2>bottom</KEYWORD2>\r
-                       <KEYWORD2>border-collapse</KEYWORD2>\r
-                       <KEYWORD2>border-spacing</KEYWORD2>\r
-                       <KEYWORD2>border-bottom</KEYWORD2>\r
-                       <KEYWORD2>border-bottom-style</KEYWORD2>\r
-                       <KEYWORD2>border-bottom-width</KEYWORD2>\r
-                       <KEYWORD2>border-bottom-color</KEYWORD2>\r
-                       <KEYWORD2>border-left</KEYWORD2>\r
-                       <KEYWORD2>border-left-style</KEYWORD2>\r
-                       <KEYWORD2>border-left-width</KEYWORD2>\r
-                       <KEYWORD2>border-left-color</KEYWORD2>\r
-                       <KEYWORD2>border-right</KEYWORD2>\r
-                       <KEYWORD2>border-right-style</KEYWORD2>\r
-                       <KEYWORD2>border-right-width</KEYWORD2>\r
-                       <KEYWORD2>border-right-color</KEYWORD2>\r
-                       <KEYWORD2>border-top</KEYWORD2>\r
-                       <KEYWORD2>border-top-style</KEYWORD2>\r
-                       <KEYWORD2>border-top-width</KEYWORD2>\r
-                       <KEYWORD2>border-top-color</KEYWORD2>\r
-                       <KEYWORD2>border-color</KEYWORD2>\r
-                       <KEYWORD2>border-style</KEYWORD2>\r
-                       <KEYWORD2>border-width</KEYWORD2>\r
-                       <KEYWORD2>clear</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>height</KEYWORD2>\r
-                       <KEYWORD2>margin</KEYWORD2>\r
-                       <KEYWORD2>margin-bottom</KEYWORD2>\r
-                       <KEYWORD2>margin-left</KEYWORD2>\r
-                       <KEYWORD2>margin-right</KEYWORD2>\r
-                       <KEYWORD2>margin-top</KEYWORD2>\r
-                       <KEYWORD2>padding</KEYWORD2>\r
-                       <KEYWORD2>padding-bottom</KEYWORD2>\r
-                       <KEYWORD2>padding-left</KEYWORD2>\r
-                       <KEYWORD2>padding-right</KEYWORD2>\r
-                       <KEYWORD2>padding-top</KEYWORD2>\r
-                       <KEYWORD2>clear</KEYWORD2>\r
-\r
-                       <!-- Visual formatting properties -->\r
-                       <KEYWORD2>display</KEYWORD2>\r
-                       <KEYWORD2>position</KEYWORD2>\r
-                       <KEYWORD2>top</KEYWORD2>\r
-                       <KEYWORD2>right</KEYWORD2>\r
-                       <KEYWORD2>bottom</KEYWORD2>\r
-                       <KEYWORD2>left</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>z-index</KEYWORD2>\r
-                       <KEYWORD2>direction</KEYWORD2>\r
-                       <KEYWORD2>unicode-bidi</KEYWORD2>\r
-                       <KEYWORD2>width</KEYWORD2>\r
-                       <KEYWORD2>min-width</KEYWORD2>\r
-                       <KEYWORD2>max-width</KEYWORD2>\r
-                       <KEYWORD2>height</KEYWORD2>\r
-                       <KEYWORD2>min-height</KEYWORD2>\r
-                       <KEYWORD2>max-height</KEYWORD2>\r
-                       <KEYWORD2>line-height</KEYWORD2>\r
-                       <KEYWORD2>vertical-align</KEYWORD2>\r
-\r
-                       <!-- Visual effects -->\r
-                       <KEYWORD2>overflow</KEYWORD2>\r
-                       <KEYWORD2>clip</KEYWORD2>\r
-                       <KEYWORD2>visibility</KEYWORD2>\r
-\r
-                       <!-- Page properties -->\r
-                       <KEYWORD2>size</KEYWORD2>\r
-                       <KEYWORD2>marks</KEYWORD2>\r
-                       <KEYWORD2>page-break-before</KEYWORD2>\r
-                       <KEYWORD2>page-break-after</KEYWORD2>\r
-                       <KEYWORD2>page-break-inside</KEYWORD2>\r
-                       <KEYWORD2>page</KEYWORD2>\r
-                       <KEYWORD2>orphans</KEYWORD2>\r
-                       <KEYWORD2>widows</KEYWORD2>\r
-\r
-                       <!-- Table properties -->\r
-                       <KEYWORD2>caption-side</KEYWORD2>\r
-                       <KEYWORD2>table-layout</KEYWORD2>\r
-                       <KEYWORD2>border-collapse</KEYWORD2>\r
-                       <KEYWORD2>border-spacing</KEYWORD2>\r
-                       <KEYWORD2>empty-cells</KEYWORD2>\r
-                       <KEYWORD2>speak-headers</KEYWORD2>\r
-\r
-                       <!-- User interface -->\r
-                       <KEYWORD2>cursor</KEYWORD2>\r
-                       <KEYWORD2>outline</KEYWORD2>\r
-                       <KEYWORD2>outline-width</KEYWORD2>\r
-                       <KEYWORD2>outline-style</KEYWORD2>\r
-                       <KEYWORD2>outline-color</KEYWORD2>\r
-\r
-                       <!-- Aural properties -->\r
-                       <KEYWORD2>azimuth</KEYWORD2>\r
-                       <KEYWORD2>volume</KEYWORD2>\r
-                       <KEYWORD2>speak</KEYWORD2>\r
-                       <KEYWORD2>pause</KEYWORD2>\r
-                       <KEYWORD2>pause-before</KEYWORD2>\r
-                       <KEYWORD2>pause-after</KEYWORD2>\r
-                       <KEYWORD2>cue</KEYWORD2>\r
-                       <KEYWORD2>cue-before</KEYWORD2>\r
-                       <KEYWORD2>cue-after</KEYWORD2>\r
-                       <KEYWORD2>play-during</KEYWORD2>\r
-                       <KEYWORD2>elevation</KEYWORD2>\r
-                       <KEYWORD2>speech-rate</KEYWORD2>\r
-                       <KEYWORD2>voice-family</KEYWORD2>\r
-                       <KEYWORD2>pitch</KEYWORD2>\r
-                       <KEYWORD2>pitch-range</KEYWORD2>\r
-                       <KEYWORD2>stress</KEYWORD2>\r
-                       <KEYWORD2>richness</KEYWORD2>\r
-                       <KEYWORD2>speak-punctuation</KEYWORD2>\r
-                       <KEYWORD2>speak-numeral</KEYWORD2>\r
-                       <KEYWORD2>speak-header-cell</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <!-- Values: -->\r
-       <RULES SET="PROP_VALUE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="-?[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
-               NO_WORD_SEP="-_%"\r
-               ESCAPE="\">\r
-\r
-               <SPAN DELEGATE="LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- "functions" -->\r
-               <SPAN_REGEXP DELEGATE="LITERAL" HASH_CHARS="RU" TYPE="KEYWORD1">\r
-                       <BEGIN>(rgb|url)\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- <SEQ DELEGATE="PROP_VALUE_COLOR">#</SEQ> -->\r
-               <MARK_FOLLOWING TYPE="DIGIT">#</MARK_FOLLOWING>\r
-\r
-               <SEQ_REGEXP HASH_CHAR="!" TYPE="KEYWORD2">!\s*important</SEQ_REGEXP>\r
-\r
-               <!-- proprietary IE function: -->\r
-               <SPAN_REGEXP TYPE="FUNCTION" DELEGATE="javascript::MAIN" HASH_CHAR="expression">\r
-                       <BEGIN>expression\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Delegate back: -->\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PROPERTIES">;</SEQ>\r
-               <SEQ TYPE="INVALID" DELEGATE="MAIN">}</SEQ> <!-- end properties block, but it's invalid -->\r
-\r
-               <IMPORT DELEGATE="GLOBAL" />\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD3>left</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>below</KEYWORD3>\r
-                       <KEYWORD3>level</KEYWORD3>\r
-                       <KEYWORD3>above</KEYWORD3>\r
-                       <KEYWORD3>higher</KEYWORD3>\r
-                       <KEYWORD3>lower</KEYWORD3>\r
-                       <KEYWORD3>show</KEYWORD3>\r
-                       <KEYWORD3>hide</KEYWORD3>\r
-                       <KEYWORD3>normal</KEYWORD3>\r
-                       <KEYWORD3>wider</KEYWORD3>\r
-                       <KEYWORD3>narrower</KEYWORD3>\r
-                       <KEYWORD3>ultra-condensed</KEYWORD3>\r
-                       <KEYWORD3>extra-condensed</KEYWORD3>\r
-                       <KEYWORD3>condensed</KEYWORD3>\r
-                       <KEYWORD3>semi-condensed</KEYWORD3>\r
-                       <KEYWORD3>semi-expanded</KEYWORD3>\r
-                       <KEYWORD3>expanded</KEYWORD3>\r
-                       <KEYWORD3>extra-expanded</KEYWORD3>\r
-                       <KEYWORD3>ultra-expanded</KEYWORD3>\r
-                       <KEYWORD3>normal</KEYWORD3>\r
-                       <KEYWORD3>italic</KEYWORD3>\r
-                       <KEYWORD3>oblique</KEYWORD3>\r
-                       <KEYWORD3>normal</KEYWORD3>\r
-                       <KEYWORD3>xx-small</KEYWORD3>\r
-                       <KEYWORD3>x-small</KEYWORD3>\r
-                       <KEYWORD3>small</KEYWORD3>\r
-                       <KEYWORD3>large</KEYWORD3>\r
-                       <KEYWORD3>x-large</KEYWORD3>\r
-                       <KEYWORD3>xx-large</KEYWORD3>\r
-                       <KEYWORD3>thin</KEYWORD3>\r
-                       <KEYWORD3>thick</KEYWORD3>\r
-                       <KEYWORD3>smaller</KEYWORD3>\r
-                       <KEYWORD3>larger</KEYWORD3>\r
-                       <KEYWORD3>small-caps</KEYWORD3>\r
-                       <KEYWORD3>inherit</KEYWORD3>\r
-                       <KEYWORD3>bold</KEYWORD3>\r
-                       <KEYWORD3>bolder</KEYWORD3>\r
-                       <KEYWORD3>lighter</KEYWORD3>\r
-                       <KEYWORD3>inside</KEYWORD3>\r
-                       <KEYWORD3>outside</KEYWORD3>\r
-                       <KEYWORD3>disc</KEYWORD3>\r
-                       <KEYWORD3>circle</KEYWORD3>\r
-                       <KEYWORD3>square</KEYWORD3>\r
-                       <KEYWORD3>decimal</KEYWORD3>\r
-                       <KEYWORD3>decimal-leading-zero</KEYWORD3>\r
-                       <KEYWORD3>lower-roman</KEYWORD3>\r
-                       <KEYWORD3>upper-roman</KEYWORD3>\r
-                       <KEYWORD3>lower-greek</KEYWORD3>\r
-                       <KEYWORD3>lower-alpha</KEYWORD3>\r
-                       <KEYWORD3>lower-latin</KEYWORD3>\r
-                       <KEYWORD3>upper-alpha</KEYWORD3>\r
-                       <KEYWORD3>upper-latin</KEYWORD3>\r
-                       <KEYWORD3>hebrew</KEYWORD3>\r
-                       <KEYWORD3>armenian</KEYWORD3>\r
-                       <KEYWORD3>georgian</KEYWORD3>\r
-                       <KEYWORD3>cjk-ideographic</KEYWORD3>\r
-                       <KEYWORD3>hiragana</KEYWORD3>\r
-                       <KEYWORD3>katakana</KEYWORD3>\r
-                       <KEYWORD3>hiragana-iroha</KEYWORD3>\r
-                       <KEYWORD3>katakana-iroha</KEYWORD3>\r
-                       <KEYWORD3>crop</KEYWORD3>\r
-                       <KEYWORD3>cross</KEYWORD3>\r
-                       <KEYWORD3>invert</KEYWORD3>\r
-                       <KEYWORD3>hidden</KEYWORD3>\r
-                       <KEYWORD3>always</KEYWORD3>\r
-                       <KEYWORD3>avoid</KEYWORD3>\r
-                       <KEYWORD3>x-low</KEYWORD3>\r
-                       <KEYWORD3>low</KEYWORD3>\r
-                       <KEYWORD3>high</KEYWORD3>\r
-                       <KEYWORD3>x-high</KEYWORD3>\r
-                       <KEYWORD3>absolute</KEYWORD3>\r
-                       <KEYWORD3>fixed</KEYWORD3>\r
-                       <KEYWORD3>relative</KEYWORD3>\r
-                       <KEYWORD3>static</KEYWORD3>\r
-                       <KEYWORD3>portrait</KEYWORD3>\r
-                       <KEYWORD3>landscape</KEYWORD3>\r
-                       <KEYWORD3>spell-out</KEYWORD3>\r
-                       <KEYWORD3>digits</KEYWORD3>\r
-                       <KEYWORD3>continuous</KEYWORD3>\r
-                       <KEYWORD3>x-slow</KEYWORD3>\r
-                       <KEYWORD3>slow</KEYWORD3>\r
-                       <KEYWORD3>fast</KEYWORD3>\r
-                       <KEYWORD3>x-fast</KEYWORD3>\r
-                       <KEYWORD3>faster</KEYWORD3>\r
-                       <KEYWORD3>slower</KEYWORD3>\r
-                       <KEYWORD3>underline</KEYWORD3>\r
-                       <KEYWORD3>overline</KEYWORD3>\r
-                       <KEYWORD3>line-through</KEYWORD3>\r
-                       <KEYWORD3>blink</KEYWORD3>\r
-                       <KEYWORD3>capitalize</KEYWORD3>\r
-                       <KEYWORD3>uppercase</KEYWORD3>\r
-                       <KEYWORD3>lowercase</KEYWORD3>\r
-                       <KEYWORD3>embed</KEYWORD3>\r
-                       <KEYWORD3>bidi-override</KEYWORD3>\r
-                       <KEYWORD3>baseline</KEYWORD3>\r
-                       <KEYWORD3>sub</KEYWORD3>\r
-                       <KEYWORD3>super</KEYWORD3>\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>text-top</KEYWORD3>\r
-                       <KEYWORD3>middle</KEYWORD3>\r
-                       <KEYWORD3>bottom</KEYWORD3>\r
-                       <KEYWORD3>text-bottom</KEYWORD3>\r
-                       <KEYWORD3>visible</KEYWORD3>\r
-                       <KEYWORD3>hidden</KEYWORD3>\r
-                       <KEYWORD3>collapse</KEYWORD3>\r
-                       <KEYWORD3>soft</KEYWORD3>\r
-                       <KEYWORD3>loud</KEYWORD3>\r
-                       <KEYWORD3>x-loud</KEYWORD3>\r
-                       <KEYWORD3>pre</KEYWORD3>\r
-                       <KEYWORD3>nowrap</KEYWORD3>\r
-                       <KEYWORD3>dotted</KEYWORD3>\r
-                       <KEYWORD3>dashed</KEYWORD3>\r
-                       <KEYWORD3>solid</KEYWORD3>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD3>groove</KEYWORD3>\r
-                       <KEYWORD3>ridge</KEYWORD3>\r
-                       <KEYWORD3>inset</KEYWORD3>\r
-                       <KEYWORD3>outset</KEYWORD3>\r
-                       <KEYWORD3>once</KEYWORD3>\r
-                       <KEYWORD3>both</KEYWORD3>\r
-                       <KEYWORD3>silent</KEYWORD3>\r
-                       <KEYWORD3>medium</KEYWORD3>\r
-                       <KEYWORD3>mix</KEYWORD3>\r
-                       <KEYWORD3>male</KEYWORD3>\r
-                       <KEYWORD3>female</KEYWORD3>\r
-                       <KEYWORD3>child</KEYWORD3>\r
-                       <KEYWORD3>code</KEYWORD3>\r
-\r
-                       <!-- measurement units -->\r
-                       <KEYWORD3>left-side</KEYWORD3>\r
-                       <KEYWORD3>far-left</KEYWORD3>\r
-                       <KEYWORD3>center-left</KEYWORD3>\r
-                       <KEYWORD3>center</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>center-right</KEYWORD3>\r
-                       <KEYWORD3>far-right</KEYWORD3>\r
-                       <KEYWORD3>right-side</KEYWORD3>\r
-                       <KEYWORD3>justify</KEYWORD3>\r
-                       <KEYWORD3>behind</KEYWORD3>\r
-                       <KEYWORD3>leftwards</KEYWORD3>\r
-                       <KEYWORD3>rightwards</KEYWORD3>\r
-                       <KEYWORD3>inherit</KEYWORD3>\r
-                       <KEYWORD3>scroll</KEYWORD3>\r
-                       <KEYWORD3>fixed</KEYWORD3>\r
-                       <KEYWORD3>transparent</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>repeat</KEYWORD3>\r
-                       <KEYWORD3>repeat-x</KEYWORD3>\r
-                       <KEYWORD3>repeat-y</KEYWORD3>\r
-                       <KEYWORD3>no-repeat</KEYWORD3>\r
-                       <KEYWORD3>collapse</KEYWORD3>\r
-                       <KEYWORD3>separate</KEYWORD3>\r
-                       <KEYWORD3>auto</KEYWORD3>\r
-                       <KEYWORD3>open-quote</KEYWORD3>\r
-                       <KEYWORD3>close-quote</KEYWORD3>\r
-                       <KEYWORD3>no-open-quote</KEYWORD3>\r
-                       <KEYWORD3>no-close-quote</KEYWORD3>\r
-                       <KEYWORD3>cue-before</KEYWORD3>\r
-                       <KEYWORD3>cue-after</KEYWORD3>\r
-                       <KEYWORD3>crosshair</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>pointer</KEYWORD3>\r
-                       <KEYWORD3>move</KEYWORD3>\r
-                       <KEYWORD3>e-resize</KEYWORD3>\r
-                       <KEYWORD3>ne-resize</KEYWORD3>\r
-                       <KEYWORD3>nw-resize</KEYWORD3>\r
-                       <KEYWORD3>n-resize</KEYWORD3>\r
-                       <KEYWORD3>se-resize</KEYWORD3>\r
-                       <KEYWORD3>sw-resize</KEYWORD3>\r
-                       <KEYWORD3>s-resize</KEYWORD3>\r
-                       <KEYWORD3>w-resize</KEYWORD3>\r
-                       <KEYWORD3>text</KEYWORD3>\r
-                       <KEYWORD3>wait</KEYWORD3>\r
-                       <KEYWORD3>help</KEYWORD3>\r
-                       <KEYWORD3>ltr</KEYWORD3>\r
-                       <KEYWORD3>rtl</KEYWORD3>\r
-                       <KEYWORD3>inline</KEYWORD3>\r
-                       <KEYWORD3>block</KEYWORD3>\r
-                       <KEYWORD3>list-item</KEYWORD3>\r
-                       <KEYWORD3>run-in</KEYWORD3>\r
-                       <KEYWORD3>compact</KEYWORD3>\r
-                       <KEYWORD3>marker</KEYWORD3>\r
-                       <KEYWORD3>table</KEYWORD3>\r
-                       <KEYWORD3>inline-table</KEYWORD3>\r
-                       <KEYWORD3>inline-block</KEYWORD3>\r
-                       <KEYWORD3>table-row-group</KEYWORD3>\r
-                       <KEYWORD3>table-header-group</KEYWORD3>\r
-                       <KEYWORD3>table-footer-group</KEYWORD3>\r
-                       <KEYWORD3>table-row</KEYWORD3>\r
-                       <KEYWORD3>table-column-group</KEYWORD3>\r
-                       <KEYWORD3>table-column</KEYWORD3>\r
-                       <KEYWORD3>table-cell</KEYWORD3>\r
-                       <KEYWORD3>table-caption</KEYWORD3>\r
-\r
-                       <!-- Colors -->\r
-                       <KEYWORD4>aliceblue</KEYWORD4>\r
-                       <KEYWORD4>antiquewhite</KEYWORD4>\r
-                       <KEYWORD4>aqua</KEYWORD4>\r
-                       <KEYWORD4>aquamarine</KEYWORD4>\r
-                       <KEYWORD4>azure</KEYWORD4>\r
-                       <KEYWORD4>beige</KEYWORD4>\r
-                       <KEYWORD4>bisque</KEYWORD4>\r
-                       <KEYWORD4>black</KEYWORD4>\r
-                       <KEYWORD4>blanchedalmond</KEYWORD4>\r
-                       <KEYWORD4>blue</KEYWORD4>\r
-                       <KEYWORD4>blueviolet</KEYWORD4>\r
-                       <KEYWORD4>brown</KEYWORD4>\r
-                       <KEYWORD4>burlywood</KEYWORD4>\r
-                       <KEYWORD4>cadetblue</KEYWORD4>\r
-                       <KEYWORD4>chartreuse</KEYWORD4>\r
-                       <KEYWORD4>chocolate</KEYWORD4>\r
-                       <KEYWORD4>coral</KEYWORD4>\r
-                       <KEYWORD4>cornflowerblue</KEYWORD4>\r
-                       <KEYWORD4>cornsilk</KEYWORD4>\r
-                       <KEYWORD4>crimson</KEYWORD4>\r
-                       <KEYWORD4>cyan</KEYWORD4>\r
-                       <KEYWORD4>darkblue</KEYWORD4>\r
-                       <KEYWORD4>darkcyan</KEYWORD4>\r
-                       <KEYWORD4>darkgoldenrod</KEYWORD4>\r
-                       <KEYWORD4>darkgray</KEYWORD4>\r
-                       <KEYWORD4>darkgreen</KEYWORD4>\r
-                       <KEYWORD4>darkgrey</KEYWORD4>\r
-                       <KEYWORD4>darkkhaki</KEYWORD4>\r
-                       <KEYWORD4>darkmagenta</KEYWORD4>\r
-                       <KEYWORD4>darkolivegreen</KEYWORD4>\r
-                       <KEYWORD4>darkorange</KEYWORD4>\r
-                       <KEYWORD4>darkorchid</KEYWORD4>\r
-                       <KEYWORD4>darkred</KEYWORD4>\r
-                       <KEYWORD4>darksalmon</KEYWORD4>\r
-                       <KEYWORD4>darkseagreen</KEYWORD4>\r
-                       <KEYWORD4>darkslateblue</KEYWORD4>\r
-                       <KEYWORD4>darkslategray</KEYWORD4>\r
-                       <KEYWORD4>darkslategrey</KEYWORD4>\r
-                       <KEYWORD4>darkturquoise</KEYWORD4>\r
-                       <KEYWORD4>darkviolet</KEYWORD4>\r
-                       <KEYWORD4>darkpink</KEYWORD4>\r
-                       <KEYWORD4>deepskyblue</KEYWORD4>\r
-                       <KEYWORD4>dimgray</KEYWORD4>\r
-                       <KEYWORD4>dimgrey</KEYWORD4>\r
-                       <KEYWORD4>dodgerblue</KEYWORD4>\r
-                       <KEYWORD4>firebrick</KEYWORD4>\r
-                       <KEYWORD4>floralwhite</KEYWORD4>\r
-                       <KEYWORD4>forestgreen</KEYWORD4>\r
-                       <KEYWORD4>fushia</KEYWORD4>\r
-                       <KEYWORD4>gainsboro</KEYWORD4>\r
-                       <KEYWORD4>ghostwhite</KEYWORD4>\r
-                       <KEYWORD4>gold</KEYWORD4>\r
-                       <KEYWORD4>goldenrod</KEYWORD4>\r
-                       <KEYWORD4>gray</KEYWORD4>\r
-                       <KEYWORD4>green</KEYWORD4>\r
-                       <KEYWORD4>greenyellow</KEYWORD4>\r
-                       <KEYWORD4>grey</KEYWORD4>\r
-                       <KEYWORD4>honeydew</KEYWORD4>\r
-                       <KEYWORD4>hotpink</KEYWORD4>\r
-                       <KEYWORD4>indianred</KEYWORD4>\r
-                       <KEYWORD4>indigo</KEYWORD4>\r
-                       <KEYWORD4>ivory</KEYWORD4>\r
-                       <KEYWORD4>khaki</KEYWORD4>\r
-                       <KEYWORD4>lavender</KEYWORD4>\r
-                       <KEYWORD4>lavenderblush</KEYWORD4>\r
-                       <KEYWORD4>lawngreen</KEYWORD4>\r
-                       <KEYWORD4>lemonchiffon</KEYWORD4>\r
-                       <KEYWORD4>lightblue</KEYWORD4>\r
-                       <KEYWORD4>lightcoral</KEYWORD4>\r
-                       <KEYWORD4>lightcyan</KEYWORD4>\r
-                       <KEYWORD4>lightgoldenrodyellow</KEYWORD4>\r
-                       <KEYWORD4>lightgray</KEYWORD4>\r
-                       <KEYWORD4>lightgreen</KEYWORD4>\r
-                       <KEYWORD4>lightgrey</KEYWORD4>\r
-                       <KEYWORD4>lightpink</KEYWORD4>\r
-                       <KEYWORD4>lightsalmon</KEYWORD4>\r
-                       <KEYWORD4>lightseagreen</KEYWORD4>\r
-                       <KEYWORD4>lightskyblue</KEYWORD4>\r
-                       <KEYWORD4>lightslategray</KEYWORD4>\r
-                       <KEYWORD4>lightslategrey</KEYWORD4>\r
-                       <KEYWORD4>lightsteelblue</KEYWORD4>\r
-                       <KEYWORD4>lightyellow</KEYWORD4>\r
-                       <KEYWORD4>lime</KEYWORD4>\r
-                       <KEYWORD4>limegreen</KEYWORD4>\r
-                       <KEYWORD4>linen</KEYWORD4>\r
-                       <KEYWORD4>magenta</KEYWORD4>\r
-                       <KEYWORD4>maroon</KEYWORD4>\r
-                       <KEYWORD4>mediumaquamarine</KEYWORD4>\r
-                       <KEYWORD4>mediumblue</KEYWORD4>\r
-                       <KEYWORD4>mediumorchid</KEYWORD4>\r
-                       <KEYWORD4>mediumpurple</KEYWORD4>\r
-                       <KEYWORD4>mediumseagreen</KEYWORD4>\r
-                       <KEYWORD4>mediumslateblue</KEYWORD4>\r
-                       <KEYWORD4>mediumspringgreen</KEYWORD4>\r
-                       <KEYWORD4>mediumturquoise</KEYWORD4>\r
-                       <KEYWORD4>mediumvioletred</KEYWORD4>\r
-                       <KEYWORD4>midnightblue</KEYWORD4>\r
-                       <KEYWORD4>mintcream</KEYWORD4>\r
-                       <KEYWORD4>mistyrose</KEYWORD4>\r
-                       <KEYWORD4>mocassin</KEYWORD4>\r
-                       <KEYWORD4>navawhite</KEYWORD4>\r
-                       <KEYWORD4>navy</KEYWORD4>\r
-                       <KEYWORD4>oldlace</KEYWORD4>\r
-                       <KEYWORD4>olive</KEYWORD4>\r
-                       <KEYWORD4>olidrab</KEYWORD4>\r
-                       <KEYWORD4>orange</KEYWORD4>\r
-                       <KEYWORD4>orangered</KEYWORD4>\r
-                       <KEYWORD4>orchid</KEYWORD4>\r
-                       <KEYWORD4>palegoldenrod</KEYWORD4>\r
-                       <KEYWORD4>palegreen</KEYWORD4>\r
-                       <KEYWORD4>paleturquoise</KEYWORD4>\r
-                       <KEYWORD4>paletvioletred</KEYWORD4>\r
-                       <KEYWORD4>papayawhip</KEYWORD4>\r
-                       <KEYWORD4>peachpuff</KEYWORD4>\r
-                       <KEYWORD4>peru</KEYWORD4>\r
-                       <KEYWORD4>pink</KEYWORD4>\r
-                       <KEYWORD4>plum</KEYWORD4>\r
-                       <KEYWORD4>powderblue</KEYWORD4>\r
-                       <KEYWORD4>purple</KEYWORD4>\r
-                       <KEYWORD4>red</KEYWORD4>\r
-                       <KEYWORD4>rosybrown</KEYWORD4>\r
-                       <KEYWORD4>royalblue</KEYWORD4>\r
-                       <KEYWORD4>saddlebrown</KEYWORD4>\r
-                       <KEYWORD4>salmon</KEYWORD4>\r
-                       <KEYWORD4>sandybrown</KEYWORD4>\r
-                       <KEYWORD4>seagreen</KEYWORD4>\r
-                       <KEYWORD4>seashell</KEYWORD4>\r
-                       <KEYWORD4>sienna</KEYWORD4>\r
-                       <KEYWORD4>silver</KEYWORD4>\r
-                       <KEYWORD4>skyblue</KEYWORD4>\r
-                       <KEYWORD4>slateblue</KEYWORD4>\r
-                       <KEYWORD4>slategray</KEYWORD4>\r
-                       <KEYWORD4>slategrey</KEYWORD4>\r
-                       <KEYWORD4>snow</KEYWORD4>\r
-                       <KEYWORD4>springgreen</KEYWORD4>\r
-                       <KEYWORD4>steelblue</KEYWORD4>\r
-                       <KEYWORD4>tan</KEYWORD4>\r
-                       <KEYWORD4>teal</KEYWORD4>\r
-                       <KEYWORD4>thistle</KEYWORD4>\r
-                       <KEYWORD4>tomato</KEYWORD4>\r
-                       <KEYWORD4>turquoise</KEYWORD4>\r
-                       <KEYWORD4>violet</KEYWORD4>\r
-                       <KEYWORD4>wheat</KEYWORD4>\r
-                       <KEYWORD4>white</KEYWORD4>\r
-                       <KEYWORD4>whitesmoke</KEYWORD4>\r
-                       <KEYWORD4>yellow</KEYWORD4>\r
-                       <KEYWORD4>yellowgreen</KEYWORD4>\r
-\r
-                       <!-- "functions", here for autocomplete: -->\r
-                       <KEYWORD1>rgb</KEYWORD1>\r
-                       <KEYWORD1>url</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="GLOBAL">\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SPAN TYPE="NULL" DELEGATE="LITERAL">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Generated content, automatic listing -->\r
-                       <KEYWORD2>content</KEYWORD2>\r
-                       <KEYWORD2>quotes</KEYWORD2>\r
-                       <KEYWORD2>counter-reset</KEYWORD2>\r
-                       <KEYWORD2>counter-increment</KEYWORD2>\r
-                       <KEYWORD2>marker-offset</KEYWORD2>\r
-                       <KEYWORD2>list-style</KEYWORD2>\r
-                       <KEYWORD2>list-style-image</KEYWORD2>\r
-                       <KEYWORD2>list-style-position</KEYWORD2>\r
-                       <KEYWORD2>list-style-type</KEYWORD2>\r
-\r
-                       <KEYWORD2>@import</KEYWORD2>\r
-                       <KEYWORD2>@media</KEYWORD2>\r
-                       <KEYWORD2>@page</KEYWORD2>\r
-                       <KEYWORD2>@font-face</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
-\r
-\r
diff --git a/extra/xmode/modes/csv.xml b/extra/xmode/modes/csv.xml
deleted file mode 100644 (file)
index 2e6c773..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-\r
-Author: Jaco de Groot\r
-Version: 2.2 20070213\r
-\r
-Comma Separated Values specification used for this mode:\r
-\r
-A file containing table data where the fields are sperated by commas. Fields\r
-containing commas (,) or newlines must be quoted (surrounded by quotes (")).\r
-Quotes in quoted fields must be escaped with two quotes.\r
-\r
-Highlighted are:\r
-- Even columns\r
-- Commas seperating values\r
-- Quotes surrounding values\r
-- Escaped quotes are highlighted.\r
-\r
-It is also possible that semicolons are used instead of commas. Therefor the\r
-first rules check if the first separator found is a comma or a semicolon and\r
-then switch to the comma or semicolon rules.\r
-\r
--->\r
-\r
-<MODE>\r
-\r
-  <!-- Switch rules -->\r
-\r
-  <RULES>\r
-    <SEQ TYPE="MARKUP" DELEGATE="ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">,"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">;"</SEQ>\r
-    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR="," DELEGATE="COMMA_LAST_COLUMN">,(?=[^,]*$)</EOL_SPAN_REGEXP>\r
-    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR=";" DELEGATE="SEMICOLON_LAST_COLUMN">;(?=[^;]*$)</EOL_SPAN_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">,</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">;</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="ODD_QUOTED">\r
-    <SEQ TYPE="MARKUP" DELEGATE="ODD_QUOTED">""</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"(?=,[^"][^,]*$)</SEQ_REGEXP>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"(?=;[^"][^;]*$)</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">","</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">";"</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;," DELEGATE="COMMA_MAIN">",$</SEQ_REGEXP>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;;" DELEGATE="SEMICOLON_MAIN">";$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">",</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">";</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="MAIN">"$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="EVEN">"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES DEFAULT="COMMENT1" SET="EVEN">\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">,"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">;"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">,</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">;</SEQ>\r
-  </RULES>\r
-\r
-  <RULES DEFAULT="COMMENT1" SET="EVEN_QUOTED">\r
-    <SEQ TYPE="MARKUP" DELEGATE="EVEN_QUOTED">""</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">","</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">";"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">",</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">";</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="MAIN">"</SEQ>\r
-  </RULES>\r
-\r
-  <!-- Comma rules -->\r
-\r
-  <RULES SET="COMMA_MAIN">\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">,"</SEQ>\r
-    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR="," DELEGATE="COMMA_LAST_COLUMN">,(?=[^,]*$)</EOL_SPAN_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">,</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMA_ODD_QUOTED">\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">""</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"(?=,[^"][^,]*$)</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">","</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;," DELEGATE="COMMA_MAIN">",$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">",</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="COMMA_MAIN">"$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN">"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMA_EVEN" DEFAULT="COMMENT1">\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">,"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">,</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMA_EVEN_QUOTED" DEFAULT="COMMENT1">\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_EVEN_QUOTED">""</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_ODD_QUOTED">","</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">",</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="COMMA_MAIN">"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMA_LAST_COLUMN" DEFAULT="COMMENT1">\r
-  </RULES>\r
-\r
-  <!-- Semicolon rules -->\r
-\r
-  <RULES SET="SEMICOLON_MAIN">\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED" AT_LINE_START="TRUE">"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">;"</SEQ>\r
-    <EOL_SPAN_REGEXP TYPE="MARKUP" HASH_CHAR=";" DELEGATE="SEMICOLON_LAST_COLUMN">;(?=[^;]*$)</EOL_SPAN_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">;</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="SEMICOLON_ODD_QUOTED">\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">""</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"(?=;[^"][^;]*$)</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">";"</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;;" DELEGATE="SEMICOLON_MAIN">";$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">";</SEQ>\r
-    <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="&quot;" DELEGATE="SEMICOLON_MAIN">"$</SEQ_REGEXP>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN">"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="SEMICOLON_EVEN" DEFAULT="COMMENT1">\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">;"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">;</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="SEMICOLON_EVEN_QUOTED" DEFAULT="COMMENT1">\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_EVEN_QUOTED">""</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_ODD_QUOTED">";"</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">";</SEQ>\r
-    <SEQ TYPE="MARKUP" DELEGATE="SEMICOLON_MAIN">"</SEQ>\r
-  </RULES>\r
-\r
-  <RULES SET="SEMICOLON_LAST_COLUMN" DEFAULT="COMMENT1">\r
-  </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/cvs-commit.xml b/extra/xmode/modes/cvs-commit.xml
deleted file mode 100644 (file)
index d89eee4..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="cvs-commit"                FILE="cvs-commit.xml"\r
-                               FILE_NAME_GLOB="cvs*.tmp"/>\r
--->\r
-\r
-<MODE>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-               <EOL_SPAN TYPE="COMMENT1" \r
-                       DELEGATE="CHANGED" \r
-                       AT_LINE_START="TRUE"\r
-               >CVS:</EOL_SPAN>\r
-       </RULES>\r
-       <RULES SET="CHANGED" DEFAULT="COMMENT2">\r
-               <SEQ TYPE="COMMENT1" AT_LINE_START="TRUE">CVS:</SEQ>\r
-               <SEQ TYPE="KEYWORD1">Committing in</SEQ>\r
-               <SEQ TYPE="KEYWORD1">Added Files:</SEQ>\r
-               <SEQ TYPE="KEYWORD1">Modified Files:</SEQ>\r
-               <SEQ TYPE="KEYWORD1">Removed Files:</SEQ>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/d.xml b/extra/xmode/modes/d.xml
deleted file mode 100644 (file)
index 8b8e710..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-       <!-- Auto indent -->\r
-       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-       <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-       <PROPERTY NAME="indentNextLine"\r
-               VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-       <PROPERTY NAME="unindentThisLine"\r
-               VALUE="^.*(default:\s*|case.*:.*)$" />\r
-       <PROPERTY NAME="electricKeys" VALUE=":" />\r
-    </PROPS>\r
-\r
-    <RULES ESCAPE="\"\r
-        IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE"\r
-        DIGIT_RE="(0x[0-9a-fA-F_]+[uUlL]?|[0-9_]+(e[0-9_]*)?[uUlLdDfF]?)">\r
-\r
-        <!-- Silly comment -->\r
-        <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-        <!-- Doxygen comment, Javadoc style -->\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/**</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <!-- Doxygen comment, Qt style -->\r
-        <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">\r
-            <BEGIN>/*!</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <!-- C style comment -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>/*</BEGIN>\r
-            <END>*/</END>\r
-        </SPAN>\r
-\r
-        <!-- Nested comment -->\r
-        <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">\r
-            <BEGIN>/+</BEGIN>\r
-            <END>+/</END>\r
-        </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-        <!-- Wysiwyg string literal -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">\r
-            <BEGIN>r"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <!-- Alternate Wysiwyg string literal -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">\r
-            <BEGIN>`</BEGIN>\r
-            <END>`</END>\r
-        </SPAN>\r
-        <!-- Doublequoted string literal -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <!-- Hex string literal -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>x"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <!-- Character literal -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-        <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-            AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
-\r
-        <!-- Function calls -->\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-        <!-- Annotation types -->\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
-\r
-        <KEYWORDS>\r
-            <KEYWORD1>abstract</KEYWORD1>\r
-            <KEYWORD3>alias</KEYWORD3>\r
-            <KEYWORD4>align</KEYWORD4>\r
-            <KEYWORD2>asm</KEYWORD2>\r
-            <KEYWORD2>assert</KEYWORD2>\r
-            <KEYWORD3>auto</KEYWORD3>\r
-            <KEYWORD3>bit</KEYWORD3>\r
-            <KEYWORD4>body</KEYWORD4>\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD3>byte</KEYWORD3>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD3>cast</KEYWORD3>\r
-            <KEYWORD1>catch</KEYWORD1>\r
-            <KEYWORD3>cent</KEYWORD3>\r
-            <KEYWORD3>char</KEYWORD3>\r
-            <KEYWORD3>class</KEYWORD3>\r
-            <KEYWORD3>cfloat</KEYWORD3>\r
-            <KEYWORD3>cdouble</KEYWORD3>\r
-            <KEYWORD3>creal</KEYWORD3>\r
-            <INVALID>const</INVALID>\r
-            <KEYWORD1>continue</KEYWORD1>\r
-            <KEYWORD3>dchar</KEYWORD3>\r
-            <KEYWORD2>debug</KEYWORD2>\r
-            <KEYWORD1>default</KEYWORD1>\r
-            <KEYWORD4>delegate</KEYWORD4>\r
-            <KEYWORD1>delete</KEYWORD1>\r
-            <KEYWORD2>deprecated</KEYWORD2>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD3>double</KEYWORD3>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD3>enum</KEYWORD3>\r
-            <KEYWORD2>export</KEYWORD2>\r
-            <KEYWORD2>extern</KEYWORD2>\r
-            <LITERAL2>false</LITERAL2>\r
-            <KEYWORD1>final</KEYWORD1>\r
-            <KEYWORD1>finally</KEYWORD1>\r
-            <KEYWORD3>float</KEYWORD3>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>foreach</KEYWORD1>\r
-            <KEYWORD4>function</KEYWORD4>\r
-            <INVALID>goto</INVALID>\r
-            <KEYWORD3>idouble</KEYWORD3>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD3>ifloat</KEYWORD3>\r
-            <KEYWORD2>import</KEYWORD2>\r
-            <INVALID>in</INVALID>\r
-            <INVALID>inout</INVALID>\r
-            <KEYWORD3>int</KEYWORD3>\r
-            <KEYWORD2>interface</KEYWORD2>\r
-            <KEYWORD2>invariant</KEYWORD2>\r
-            <KEYWORD3>ireal</KEYWORD3>\r
-            <OPERATOR>is</OPERATOR>\r
-            <KEYWORD3>long</KEYWORD3>\r
-            <KEYWORD4>module</KEYWORD4>\r
-            <KEYWORD1>new</KEYWORD1>\r
-            <LITERAL2>null</LITERAL2>\r
-            <INVALID>out</INVALID>\r
-            <KEYWORD4>override</KEYWORD4>\r
-            <KEYWORD2>package</KEYWORD2>\r
-            <KEYWORD2>pragma</KEYWORD2>\r
-            <KEYWORD1>private</KEYWORD1>\r
-            <KEYWORD1>protected</KEYWORD1>\r
-            <KEYWORD1>public</KEYWORD1>\r
-            <KEYWORD3>real</KEYWORD3>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD3>short</KEYWORD3>\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <KEYWORD3>struct</KEYWORD3>\r
-            <LITERAL2>super</LITERAL2>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <KEYWORD1>synchronized</KEYWORD1>\r
-            <KEYWORD3>template</KEYWORD3>\r
-            <LITERAL2>this</LITERAL2>\r
-            <KEYWORD1>throw</KEYWORD1>\r
-            <LITERAL2>true</LITERAL2>\r
-            <KEYWORD1>try</KEYWORD1>\r
-            <KEYWORD3>typedef</KEYWORD3>\r
-            <KEYWORD1>typeof</KEYWORD1>\r
-            <KEYWORD3>ubyte</KEYWORD3>\r
-            <KEYWORD3>ucent</KEYWORD3>\r
-            <KEYWORD3>uint</KEYWORD3>\r
-            <KEYWORD3>ulong</KEYWORD3>\r
-            <KEYWORD3>union</KEYWORD3>\r
-            <KEYWORD2>unittest</KEYWORD2>\r
-            <KEYWORD3>ushort</KEYWORD3>\r
-            <KEYWORD2>version</KEYWORD2>\r
-            <KEYWORD3>void</KEYWORD3>\r
-            <KEYWORD1>volatile</KEYWORD1>\r
-            <KEYWORD3>wchar</KEYWORD3>\r
-            <KEYWORD1>while</KEYWORD1>\r
-            <KEYWORD2>with</KEYWORD2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-    <RULES SET="NESTED_COMMENT" DEFAULT="COMMENT1" ESCAPE="\">\r
-        <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">\r
-            <BEGIN>/+</BEGIN>\r
-            <END>+/</END>\r
-        </SPAN>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/django.xml b/extra/xmode/modes/django.xml
deleted file mode 100644 (file)
index e9162d5..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="{% comment %}" />\r
-               <PROPERTY NAME="commentEnd" VALUE="{% endcomment %}" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <IMPORT DELEGATE="html::MAIN"/>\r
-\r
-               <SPAN TYPE="COMMENT3">\r
-                       <BEGIN>{% comment %}</BEGIN>\r
-                       <END>{% endcomment %}</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="DJANGO_BLOCK">\r
-                       <BEGIN>{%</BEGIN>\r
-                       <END>%}</END>\r
-               </SPAN>\r
-               <!-- variable -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="DJANGO_VARIABLE">\r
-                       <BEGIN>{{</BEGIN>\r
-                       <END>}}</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="DJANGO_VARIABLE" DEFAULT="LITERAL4">\r
-               <IMPORT DELEGATE="DJANGO_CORE"/>\r
-       </RULES>\r
-\r
-       <RULES SET="DJANGO_BLOCK" DEFAULT="LITERAL4">\r
-               <IMPORT DELEGATE="DJANGO_CORE"/>\r
-               <KEYWORDS>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>block</KEYWORD1>\r
-                       <KEYWORD1>blocktrans</KEYWORD1>\r
-                       <KEYWORD1>by</KEYWORD1>\r
-                       <KEYWORD1>endblock</KEYWORD1>\r
-                       <KEYWORD1>endblocktrans</KEYWORD1>\r
-                       <KEYWORD1>comment</KEYWORD1>\r
-                       <KEYWORD1>endcomment</KEYWORD1>\r
-                       <KEYWORD1>cycle</KEYWORD1>\r
-                       <KEYWORD1>date</KEYWORD1>\r
-                       <KEYWORD1>debug</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>filter</KEYWORD1>\r
-                       <KEYWORD1>endfilter</KEYWORD1>\r
-                       <KEYWORD1>firstof</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>endfor</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>endif</KEYWORD1>\r
-                       <KEYWORD1>ifchanged</KEYWORD1>\r
-                       <KEYWORD1>endifchanged</KEYWORD1>\r
-                       <KEYWORD1>ifnotequal</KEYWORD1>\r
-                       <KEYWORD1>endifnotequal</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>load</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>now</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>parsed</KEYWORD1>\r
-                       <KEYWORD1>regroup</KEYWORD1>\r
-                       <KEYWORD1>ssi</KEYWORD1>\r
-                       <KEYWORD1>trans</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>widthratio</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="DJANGO_CORE">\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <KEYWORDS>\r
-                       <LITERAL3>openblock</LITERAL3>\r
-                       <LITERAL3>closeblock</LITERAL3>\r
-                       <LITERAL3>openvariable</LITERAL3>\r
-                       <LITERAL3>closevariable</LITERAL3>\r
-\r
-                       <FUNCTION>add</FUNCTION>\r
-                       <FUNCTION>addslashes</FUNCTION>\r
-                       <FUNCTION>capfirst</FUNCTION>\r
-                       <FUNCTION>center</FUNCTION>\r
-                       <FUNCTION>cut</FUNCTION>\r
-                       <FUNCTION>date</FUNCTION>\r
-                       <FUNCTION>default</FUNCTION>\r
-                       <FUNCTION>dictsort</FUNCTION>\r
-                       <FUNCTION>dictsortreversed</FUNCTION>\r
-                       <FUNCTION>divisibleby</FUNCTION>\r
-                       <FUNCTION>escape</FUNCTION>\r
-                       <FUNCTION>filesizeformat</FUNCTION>\r
-                       <FUNCTION>first</FUNCTION>\r
-                       <FUNCTION>fix_ampersands</FUNCTION>\r
-                       <FUNCTION>floatformat</FUNCTION>\r
-                       <FUNCTION>get_digit</FUNCTION>\r
-                       <FUNCTION>join</FUNCTION>\r
-                       <FUNCTION>length</FUNCTION>\r
-                       <FUNCTION>length_is</FUNCTION>\r
-                       <FUNCTION>linebreaks</FUNCTION>\r
-                       <FUNCTION>linebreaksbr</FUNCTION>\r
-                       <FUNCTION>linenumbers</FUNCTION>\r
-                       <FUNCTION>ljust</FUNCTION>\r
-                       <FUNCTION>lower</FUNCTION>\r
-                       <FUNCTION>make_list</FUNCTION>\r
-                       <FUNCTION>phone2numeric</FUNCTION>\r
-                       <FUNCTION>pluralize</FUNCTION>\r
-                       <FUNCTION>pprint</FUNCTION>\r
-                       <FUNCTION>random</FUNCTION>\r
-                       <FUNCTION>removetags</FUNCTION>\r
-                       <FUNCTION>rjust</FUNCTION>\r
-                       <FUNCTION>slice</FUNCTION>\r
-                       <FUNCTION>slugify</FUNCTION>\r
-                       <FUNCTION>stringformat</FUNCTION>\r
-                       <FUNCTION>striptags</FUNCTION>\r
-                       <FUNCTION>time</FUNCTION>\r
-                       <FUNCTION>timesince</FUNCTION>\r
-                       <FUNCTION>title</FUNCTION>\r
-                       <FUNCTION>truncatewords</FUNCTION>\r
-                       <FUNCTION>unordered_list</FUNCTION>\r
-                       <FUNCTION>upper</FUNCTION>\r
-                       <FUNCTION>urlencode</FUNCTION>\r
-                       <FUNCTION>urlize</FUNCTION>\r
-                       <FUNCTION>urlizetrunc</FUNCTION>\r
-                       <FUNCTION>wordcount</FUNCTION>\r
-                       <FUNCTION>wordwrap</FUNCTION>\r
-                       <FUNCTION>yesno</FUNCTION>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/doxygen.xml b/extra/xmode/modes/doxygen.xml
deleted file mode 100644 (file)
index a1e448a..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="lineComment" VALUE="#" />\r
-    </PROPS>\r
-    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-        <!-- Comment -->\r
-        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-        <MARK_PREVIOUS TYPE="KEYWORD1"\r
-            AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
-        <MARK_PREVIOUS TYPE="KEYWORD1"\r
-            AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">+=</MARK_PREVIOUS>\r
-\r
-        <!-- Literals -->\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>`</BEGIN>\r
-            <END>`</END>\r
-        </SPAN>\r
-        <KEYWORDS>\r
-            <KEYWORD2>YES</KEYWORD2>\r
-            <KEYWORD3>NO</KEYWORD3>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <RULES SET="DOXYGEN" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
-        <!-- so that *@param is highlighted -->\r
-        <SEQ TYPE="COMMENT3">*</SEQ>\r
-\r
-        <!-- HTML comments -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>&lt;!--</BEGIN>\r
-            <END>--&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- Doxygen allows this -->\r
-        <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
-        <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
-        <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
-\r
-        <!-- HTML tags -->\r
-        <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
-            NO_LINE_BREAK="TRUE">\r
-            <BEGIN>&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <KEYWORDS>\r
-            <LABEL>\a</LABEL>\r
-            <LABEL>\addindex</LABEL>\r
-            <LABEL>\addtogroup</LABEL>\r
-            <LABEL>\anchor</LABEL>\r
-            <LABEL>\arg</LABEL>\r
-            <LABEL>\attention</LABEL>\r
-            <LABEL>\author</LABEL>\r
-            <LABEL>\b</LABEL>\r
-            <LABEL>\brief</LABEL>\r
-            <LABEL>\bug</LABEL>\r
-            <LABEL>\c</LABEL>\r
-            <LABEL>\callgraph</LABEL>\r
-            <LABEL>\category</LABEL>\r
-            <LABEL>\class</LABEL>\r
-            <LABEL>\code</LABEL>\r
-            <LABEL>\copydoc</LABEL>\r
-            <LABEL>\date</LABEL>\r
-            <LABEL>\def</LABEL>\r
-            <LABEL>\defgroup</LABEL>\r
-            <LABEL>\deprecated</LABEL>\r
-            <LABEL>\dontinclude</LABEL>\r
-            <LABEL>\dot</LABEL>\r
-            <LABEL>\dotfile</LABEL>\r
-            <LABEL>\e</LABEL>\r
-            <LABEL>\else</LABEL>\r
-            <LABEL>\elseif</LABEL>\r
-            <LABEL>\em</LABEL>\r
-            <LABEL>\endcode</LABEL>\r
-            <LABEL>\enddot</LABEL>\r
-            <LABEL>\endhtmlonly</LABEL>\r
-            <LABEL>\endif</LABEL>\r
-            <LABEL>\endlatexonly</LABEL>\r
-            <LABEL>\endlink</LABEL>\r
-            <LABEL>\endmanonly</LABEL>\r
-            <LABEL>\endverbatim</LABEL>\r
-            <LABEL>\endxmlonly</LABEL>\r
-            <LABEL>\enum</LABEL>\r
-            <LABEL>\example</LABEL>\r
-            <LABEL>\exception</LABEL>\r
-            <LABEL>\f$</LABEL>\r
-            <LABEL>\f[</LABEL>\r
-            <LABEL>\f]</LABEL>\r
-            <LABEL>\file</LABEL>\r
-            <LABEL>\fn</LABEL>\r
-            <LABEL>\hideinitializer</LABEL>\r
-            <LABEL>\htmlinclude</LABEL>\r
-            <LABEL>\htmlonly</LABEL>\r
-            <LABEL>\if</LABEL>\r
-            <LABEL>\ifnot</LABEL>\r
-            <LABEL>\image</LABEL>\r
-            <LABEL>\include</LABEL>\r
-            <LABEL>\includelineno</LABEL>\r
-            <LABEL>\ingroup</LABEL>\r
-            <LABEL>\internal</LABEL>\r
-            <LABEL>\invariant</LABEL>\r
-            <LABEL>\interface</LABEL>\r
-            <LABEL>\latexonly</LABEL>\r
-            <LABEL>\li</LABEL>\r
-            <LABEL>\line</LABEL>\r
-            <LABEL>\link</LABEL>\r
-            <LABEL>\mainpage</LABEL>\r
-            <LABEL>\manonly</LABEL>\r
-            <LABEL>\n</LABEL>\r
-            <LABEL>\name</LABEL>\r
-            <LABEL>\namespace</LABEL>\r
-            <LABEL>\nosubgrouping</LABEL>\r
-            <LABEL>\note</LABEL>\r
-            <LABEL>\overload</LABEL>\r
-            <LABEL>\p</LABEL>\r
-            <LABEL>\package</LABEL>\r
-            <LABEL>\page</LABEL>\r
-            <LABEL>\par</LABEL>\r
-            <LABEL>\paragraph</LABEL>\r
-            <LABEL>\param</LABEL>\r
-            <LABEL>\param[in]</LABEL>\r
-            <LABEL>\param[out]</LABEL>\r
-            <LABEL>\param[in,out]</LABEL>\r
-            <LABEL>\post</LABEL>\r
-            <LABEL>\pre</LABEL>\r
-            <LABEL>\private</LABEL>\r
-            <LABEL>\privatesection</LABEL>\r
-            <LABEL>\property</LABEL>\r
-            <LABEL>\protected</LABEL>\r
-            <LABEL>\protectedsection</LABEL>\r
-            <LABEL>\protocol</LABEL>\r
-            <LABEL>\public</LABEL>\r
-            <LABEL>\publicsection</LABEL>\r
-            <LABEL>\ref</LABEL>\r
-            <LABEL>\relates</LABEL>\r
-            <LABEL>\relatesalso</LABEL>\r
-            <LABEL>\remarks</LABEL>\r
-            <LABEL>\return</LABEL>\r
-            <LABEL>\retval</LABEL>\r
-            <LABEL>\sa</LABEL>\r
-            <LABEL>\section</LABEL>\r
-            <LABEL>\showinitializer</LABEL>\r
-            <LABEL>\since</LABEL>\r
-            <LABEL>\skip</LABEL>\r
-            <LABEL>\skipline</LABEL>\r
-            <LABEL>\struct</LABEL>\r
-            <LABEL>\subsection</LABEL>\r
-            <LABEL>\subsubsection</LABEL>\r
-            <LABEL>\test</LABEL>\r
-            <LABEL>\throw</LABEL>\r
-            <LABEL>\todo</LABEL>\r
-            <LABEL>\typedef</LABEL>\r
-            <LABEL>\union</LABEL>\r
-            <LABEL>\until</LABEL>\r
-            <LABEL>\var</LABEL>\r
-            <LABEL>\verbatim</LABEL>\r
-            <LABEL>\verbinclude</LABEL>\r
-            <LABEL>\version</LABEL>\r
-            <LABEL>\warning</LABEL>\r
-            <LABEL>\weakgroup</LABEL>\r
-            <LABEL>\xmlonly</LABEL>\r
-            <LABEL>\xrefitem</LABEL>\r
-            <LABEL>\$</LABEL>\r
-            <LABEL>\@</LABEL>\r
-            <LABEL>\\</LABEL>\r
-            <LABEL>\&amp;</LABEL>\r
-            <LABEL>\~</LABEL>\r
-            <LABEL>\&lt;</LABEL>\r
-            <LABEL>\&gt;</LABEL>\r
-            <LABEL>\#</LABEL>\r
-            <LABEL>\%</LABEL>\r
-            <LABEL>@a</LABEL>\r
-            <LABEL>@addindex</LABEL>\r
-            <LABEL>@addtogroup</LABEL>\r
-            <LABEL>@anchor</LABEL>\r
-            <LABEL>@arg</LABEL>\r
-            <LABEL>@attention</LABEL>\r
-            <LABEL>@author</LABEL>\r
-            <LABEL>@b</LABEL>\r
-            <LABEL>@brief</LABEL>\r
-            <LABEL>@bug</LABEL>\r
-            <LABEL>@c</LABEL>\r
-            <LABEL>@callgraph</LABEL>\r
-            <LABEL>@category</LABEL>\r
-            <LABEL>@class</LABEL>\r
-            <LABEL>@code</LABEL>\r
-            <LABEL>@copydoc</LABEL>\r
-            <LABEL>@date</LABEL>\r
-            <LABEL>@def</LABEL>\r
-            <LABEL>@defgroup</LABEL>\r
-            <LABEL>@deprecated</LABEL>\r
-            <LABEL>@dontinclude</LABEL>\r
-            <LABEL>@dot</LABEL>\r
-            <LABEL>@dotfile</LABEL>\r
-            <LABEL>@e</LABEL>\r
-            <LABEL>@else</LABEL>\r
-            <LABEL>@elseif</LABEL>\r
-            <LABEL>@em</LABEL>\r
-            <LABEL>@endcode</LABEL>\r
-            <LABEL>@enddot</LABEL>\r
-            <LABEL>@endhtmlonly</LABEL>\r
-            <LABEL>@endif</LABEL>\r
-            <LABEL>@endlatexonly</LABEL>\r
-            <LABEL>@endlink</LABEL>\r
-            <LABEL>@endmanonly</LABEL>\r
-            <LABEL>@endverbatim</LABEL>\r
-            <LABEL>@endxmlonly</LABEL>\r
-            <LABEL>@enum</LABEL>\r
-            <LABEL>@example</LABEL>\r
-            <LABEL>@exception</LABEL>\r
-            <LABEL>@f$</LABEL>\r
-            <LABEL>@f[</LABEL>\r
-            <LABEL>@f]</LABEL>\r
-            <LABEL>@file</LABEL>\r
-            <LABEL>@fn</LABEL>\r
-            <LABEL>@hideinitializer</LABEL>\r
-            <LABEL>@htmlinclude</LABEL>\r
-            <LABEL>@htmlonly</LABEL>\r
-            <LABEL>@if</LABEL>\r
-            <LABEL>@ifnot</LABEL>\r
-            <LABEL>@image</LABEL>\r
-            <LABEL>@include</LABEL>\r
-            <LABEL>@includelineno</LABEL>\r
-            <LABEL>@ingroup</LABEL>\r
-            <LABEL>@internal</LABEL>\r
-            <LABEL>@invariant</LABEL>\r
-            <LABEL>@interface</LABEL>\r
-            <LABEL>@latexonly</LABEL>\r
-            <LABEL>@li</LABEL>\r
-            <LABEL>@line</LABEL>\r
-            <LABEL>@link</LABEL>\r
-            <LABEL>@mainpage</LABEL>\r
-            <LABEL>@manonly</LABEL>\r
-            <LABEL>@n</LABEL>\r
-            <LABEL>@name</LABEL>\r
-            <LABEL>@namespace</LABEL>\r
-            <LABEL>@nosubgrouping</LABEL>\r
-            <LABEL>@note</LABEL>\r
-            <LABEL>@overload</LABEL>\r
-            <LABEL>@p</LABEL>\r
-            <LABEL>@package</LABEL>\r
-            <LABEL>@page</LABEL>\r
-            <LABEL>@par</LABEL>\r
-            <LABEL>@paragraph</LABEL>\r
-            <LABEL>@param</LABEL>\r
-            <LABEL>@param[in]</LABEL>\r
-            <LABEL>@param[out]</LABEL>\r
-            <LABEL>@param[in,out]</LABEL>\r
-            <LABEL>@post</LABEL>\r
-            <LABEL>@pre</LABEL>\r
-            <LABEL>@private</LABEL>\r
-            <LABEL>@privatesection</LABEL>\r
-            <LABEL>@property</LABEL>\r
-            <LABEL>@protected</LABEL>\r
-            <LABEL>@protectedsection</LABEL>\r
-            <LABEL>@protocol</LABEL>\r
-            <LABEL>@public</LABEL>\r
-            <LABEL>@publicsection</LABEL>\r
-            <LABEL>@ref</LABEL>\r
-            <LABEL>@relates</LABEL>\r
-            <LABEL>@relatesalso</LABEL>\r
-            <LABEL>@remarks</LABEL>\r
-            <LABEL>@return</LABEL>\r
-            <LABEL>@retval</LABEL>\r
-            <LABEL>@sa</LABEL>\r
-            <LABEL>@section</LABEL>\r
-            <LABEL>@showinitializer</LABEL>\r
-            <LABEL>@since</LABEL>\r
-            <LABEL>@skip</LABEL>\r
-            <LABEL>@skipline</LABEL>\r
-            <LABEL>@struct</LABEL>\r
-            <LABEL>@subsection</LABEL>\r
-            <LABEL>@subsubsection</LABEL>\r
-            <LABEL>@test</LABEL>\r
-            <LABEL>@throw</LABEL>\r
-            <LABEL>@todo</LABEL>\r
-            <LABEL>@typedef</LABEL>\r
-            <LABEL>@union</LABEL>\r
-            <LABEL>@until</LABEL>\r
-            <LABEL>@var</LABEL>\r
-            <LABEL>@verbatim</LABEL>\r
-            <LABEL>@verbinclude</LABEL>\r
-            <LABEL>@version</LABEL>\r
-            <LABEL>@warning</LABEL>\r
-            <LABEL>@weakgroup</LABEL>\r
-            <LABEL>@xmlonly</LABEL>\r
-            <LABEL>@xrefitem</LABEL>\r
-            <LABEL>@$</LABEL>\r
-            <LABEL>@@</LABEL>\r
-            <LABEL>@\</LABEL>\r
-            <LABEL>@&amp;</LABEL>\r
-            <LABEL>@~</LABEL>\r
-            <LABEL>@&lt;</LABEL>\r
-            <LABEL>@&gt;</LABEL>\r
-            <LABEL>@#</LABEL>\r
-            <LABEL>@%</LABEL>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/dsssl.xml b/extra/xmode/modes/dsssl.xml
deleted file mode 100644 (file)
index 789c5c0..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- DSSSL is the Document Style Semantics Specification Language,\r
-     used by the Jade SGML documentation generation tool -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- EOL comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- LISP stuff -->\r
-               <SEQ TYPE="NULL">'(</SEQ>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- DSSSL stuff -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>$</BEGIN>\r
-                       <END>$</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>%</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
-\r
-               <!-- DTD Entity declarations -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::ENTITY-TAGS">\r
-                       <BEGIN>&lt;!ENTITY</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA sections -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SEQ TYPE="NULL">&lt;=</SEQ>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;/style-specification</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;/style-sheet</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;style-specification</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;external-specification</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;style-sheet</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>cond</KEYWORD1>\r
-                       <KEYWORD1>define</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>lambda</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>quote</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>let*</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>list</KEYWORD1>\r
-                       <KEYWORD1>append</KEYWORD1>\r
-                       <KEYWORD1>children</KEYWORD1>\r
-                       <KEYWORD1>normalize</KEYWORD1>\r
-\r
-                       <KEYWORD2>car</KEYWORD2>\r
-                       <KEYWORD2>cdr</KEYWORD2>\r
-                       <KEYWORD2>cons</KEYWORD2>\r
-                       <KEYWORD2>node-list-first</KEYWORD2>\r
-                       <KEYWORD2>node-list-rest</KEYWORD2>\r
-\r
-                       <KEYWORD3>eq?</KEYWORD3>\r
-                       <KEYWORD3>null?</KEYWORD3>\r
-                       <KEYWORD3>pair?</KEYWORD3>\r
-                       <KEYWORD3>zero?</KEYWORD3>\r
-                       <KEYWORD3>equal?</KEYWORD3>\r
-                       <KEYWORD3>node-list-empty?</KEYWORD3>\r
-\r
-                       <FUNCTION>external-procedure</FUNCTION>\r
-                       <FUNCTION>root</FUNCTION>\r
-                       <FUNCTION>make</FUNCTION>\r
-                       <FUNCTION>process-children</FUNCTION>\r
-                       <FUNCTION>current-node</FUNCTION>\r
-                       <FUNCTION>node</FUNCTION>\r
-                       <FUNCTION>empty-sosofo</FUNCTION>\r
-                       <FUNCTION>default</FUNCTION>\r
-                       <FUNCTION>attribute-string</FUNCTION>\r
-                       <FUNCTION>select-elements</FUNCTION>\r
-                       <FUNCTION>with-mode</FUNCTION>\r
-                       <FUNCTION>literal</FUNCTION>\r
-                       <FUNCTION>process-node-list</FUNCTION>\r
-                       <FUNCTION>element</FUNCTION>\r
-                       <FUNCTION>mode</FUNCTION>\r
-                       <FUNCTION>gi</FUNCTION>\r
-                       <FUNCTION>sosofo-append</FUNCTION>\r
-                       <FUNCTION>sequence</FUNCTION>\r
-\r
-                       <LABEL>attributes:</LABEL>\r
-                       <LABEL>gi:</LABEL>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/eiffel.xml b/extra/xmode/modes/eiffel.xml
deleted file mode 100644 (file)
index 41ed1bd..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Eiffel mode, by Slava Pestov. Based on EiffelTokenMarker by\r
-     Artur Biesiadowski -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- some of these should be marked OPERATOR -->\r
-               <!-- <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">=</SEQ>\r
-               <SEQ TYPE="NULL">!</SEQ>\r
-               <SEQ TYPE="NULL">&gt;=</SEQ>\r
-               <SEQ TYPE="NULL">&lt;=</SEQ>\r
-               <SEQ TYPE="NULL">+</SEQ>\r
-               <SEQ TYPE="NULL">-</SEQ>\r
-               <SEQ TYPE="NULL">/</SEQ>\r
-               <SEQ TYPE="NULL">*</SEQ>\r
-               <SEQ TYPE="NULL">&gt;</SEQ>\r
-               <SEQ TYPE="NULL">&lt;</SEQ>\r
-               <SEQ TYPE="NULL">%</SEQ>\r
-               <SEQ TYPE="NULL">&amp;</SEQ>\r
-               <SEQ TYPE="NULL">|</SEQ>\r
-               <SEQ TYPE="NULL">^</SEQ>\r
-               <SEQ TYPE="NULL">~</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               <SEQ TYPE="NULL">.</SEQ>\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">?</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ> -->\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>alias</KEYWORD1>\r
-                       <KEYWORD1>all</KEYWORD1>\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>check</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>creation</KEYWORD1>\r
-                       <KEYWORD1>debug</KEYWORD1>\r
-                       <KEYWORD1>deferred</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>elseif</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>ensure</KEYWORD1>\r
-                       <KEYWORD1>expanded</KEYWORD1>\r
-                       <KEYWORD1>export</KEYWORD1>\r
-                       <KEYWORD1>external</KEYWORD1>\r
-                       <KEYWORD1>feature</KEYWORD1>\r
-                       <KEYWORD1>from</KEYWORD1>\r
-                       <KEYWORD1>frozen</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implies</KEYWORD1>\r
-                       <KEYWORD1>indexing</KEYWORD1>\r
-                       <KEYWORD1>infix</KEYWORD1>\r
-                       <KEYWORD1>inherit</KEYWORD1>\r
-                       <KEYWORD1>inspect</KEYWORD1>\r
-                       <KEYWORD1>invariant</KEYWORD1>\r
-                       <KEYWORD1>is</KEYWORD1>\r
-                       <KEYWORD1>like</KEYWORD1>\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>obsolete</KEYWORD1>\r
-                       <KEYWORD1>old</KEYWORD1>\r
-                       <KEYWORD1>once</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>prefix</KEYWORD1>\r
-                       <KEYWORD1>redefine</KEYWORD1>\r
-                       <KEYWORD1>rename</KEYWORD1>\r
-                       <KEYWORD1>require</KEYWORD1>\r
-                       <KEYWORD1>rescue</KEYWORD1>\r
-                       <KEYWORD1>retry</KEYWORD1>\r
-                       <KEYWORD1>select</KEYWORD1>\r
-                       <KEYWORD1>separate</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>undefine</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>variant</KEYWORD1>\r
-                       <KEYWORD1>when</KEYWORD1>\r
-                       <KEYWORD1>xor</KEYWORD1>\r
-\r
-                       <LITERAL2>current</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>precursor</LITERAL2>\r
-                       <LITERAL2>result</LITERAL2>\r
-                       <LITERAL2>strip</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>unique</LITERAL2>\r
-                       <LITERAL2>void</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/embperl.xml b/extra/xmode/modes/embperl.xml
deleted file mode 100644 (file)
index 4dcc35e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-catalog entry:\r
-\r
-<MODE NAME="embperl"           FILE="embperl.xml"\r
-                               FILE_NAME_GLOB="*.epl"/>\r
-\r
-sidekick parser entry:\r
-mode.embperl.sidekick.parser=html\r
-\r
-xml completion entry:\r
-mode.embperl.xml.completion-info=jeditresource:/XML.jar!/xml/completion/html-complete.xml\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>[#</BEGIN>\r
-                       <END>#]</END>\r
-               </SPAN>\r
-               <!-- output result -->\r
-               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
-                       <BEGIN>[+</BEGIN>\r
-                       <END>+]</END>\r
-               </SPAN>\r
-               <!-- execute code -->\r
-               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
-                       <BEGIN>[-</BEGIN>\r
-                       <END>-]</END>\r
-               </SPAN>\r
-               <!-- control flow -->\r
-               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
-                       <BEGIN>[$</BEGIN>\r
-                       <END>$]</END>\r
-               </SPAN>\r
-               <!-- execute once -->\r
-               <SPAN DELEGATE="perl::MAIN" TYPE="LITERAL3">\r
-                       <BEGIN>[!</BEGIN>\r
-                       <END>!]</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="html::MAIN"/>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/erlang.xml b/extra/xmode/modes/erlang.xml
deleted file mode 100644 (file)
index eaf39e1..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="%"/>\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
-               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="LITERAL2" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-\r
-               <SEQ_REGEXP HASH_CHAR="$"\r
-                       TYPE="LITERAL3"\r
-                       AT_WORD_START="TRUE"\r
-               >\$.\w*</SEQ_REGEXP>\r
-\r
-               <SEQ TYPE="LITERAL3">badarg</SEQ>\r
-               <SEQ TYPE="LITERAL3">nocookie</SEQ>\r
-               <SEQ TYPE="LITERAL3">false</SEQ>\r
-               <SEQ TYPE="LITERAL3">true</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">#</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <!--\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               -->\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <!-- div -->\r
-               <SEQ_REGEXP HASH_CHAR="div"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bdiv\b</SEQ_REGEXP>\r
-               <!-- rem -->\r
-               <SEQ_REGEXP HASH_CHAR="rem"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\brem\b</SEQ_REGEXP>\r
-               <!-- or -->\r
-               <SEQ_REGEXP HASH_CHAR="or"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bor\b</SEQ_REGEXP>\r
-               <!-- xor -->\r
-               <SEQ_REGEXP HASH_CHAR="xor"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bxor\b</SEQ_REGEXP>\r
-               <!-- bor -->\r
-               <SEQ_REGEXP HASH_CHAR="bor"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bbor\b</SEQ_REGEXP>\r
-               <!-- bxor -->\r
-               <SEQ_REGEXP HASH_CHAR="bxor"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bbxor\b</SEQ_REGEXP>\r
-               <!-- bsl -->\r
-               <SEQ_REGEXP HASH_CHAR="bsl"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bbsl\b</SEQ_REGEXP>\r
-               <!-- bsr -->\r
-               <SEQ_REGEXP HASH_CHAR="bsr"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bbsr\b</SEQ_REGEXP>\r
-               <!-- and -->\r
-               <SEQ_REGEXP HASH_CHAR="and"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\band\b</SEQ_REGEXP>\r
-               <!-- band -->\r
-               <SEQ_REGEXP HASH_CHAR="band"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bband\b</SEQ_REGEXP>\r
-               <!-- not -->\r
-               <SEQ_REGEXP HASH_CHAR="not"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bnot\b</SEQ_REGEXP>\r
-               <!-- bnot -->\r
-               <SEQ_REGEXP HASH_CHAR="bnot"\r
-                       TYPE="OPERATOR"\r
-                       AT_WORD_START="TRUE"\r
-               >\bbnot\b</SEQ_REGEXP>\r
-\r
-               <KEYWORDS>\r
-                       <!-- keywords -->\r
-                       <KEYWORD1>after</KEYWORD1>\r
-                       <KEYWORD1>begin</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>cond</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>fun</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>query</KEYWORD1>\r
-                       <KEYWORD1>receive</KEYWORD1>\r
-                       <KEYWORD1>when</KEYWORD1>\r
-\r
-                       <!-- built-in-functions BIFs -->\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>alive</KEYWORD2>\r
-                       <KEYWORD2>apply</KEYWORD2>\r
-                       <KEYWORD2>atom_to_list</KEYWORD2>\r
-                       <KEYWORD2>binary_to_list</KEYWORD2>\r
-                       <KEYWORD2>binary_to_term</KEYWORD2>\r
-                       <KEYWORD2>concat_binary</KEYWORD2>\r
-                       <KEYWORD2>date</KEYWORD2>\r
-                       <KEYWORD2>disconnect_node</KEYWORD2>\r
-                       <KEYWORD2>element</KEYWORD2>\r
-                       <KEYWORD2>erase</KEYWORD2>\r
-                       <KEYWORD2>exit</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>float_to_list</KEYWORD2>\r
-                       <KEYWORD2>get</KEYWORD2>\r
-                       <KEYWORD2>get_keys</KEYWORD2>\r
-                       <KEYWORD2>group_leader</KEYWORD2>\r
-                       <KEYWORD2>halt</KEYWORD2>\r
-                       <KEYWORD2>hd</KEYWORD2>\r
-                       <KEYWORD2>integer_to_list</KEYWORD2>\r
-                       <KEYWORD2>is_alive</KEYWORD2>\r
-                       <KEYWORD2>length</KEYWORD2>\r
-                       <KEYWORD2>link</KEYWORD2>\r
-                       <KEYWORD2>list_to_atom</KEYWORD2>\r
-                       <KEYWORD2>list_to_binary</KEYWORD2>\r
-                       <KEYWORD2>list_to_float</KEYWORD2>\r
-                       <KEYWORD2>list_to_integer</KEYWORD2>\r
-                       <KEYWORD2>list_to_pid</KEYWORD2>\r
-                       <KEYWORD2>list_to_tuple</KEYWORD2>\r
-                       <KEYWORD2>load_module</KEYWORD2>\r
-                       <KEYWORD2>make_ref</KEYWORD2>\r
-                       <KEYWORD2>monitor_node</KEYWORD2>\r
-                       <KEYWORD2>node</KEYWORD2>\r
-                       <KEYWORD2>nodes</KEYWORD2>\r
-                       <KEYWORD2>now</KEYWORD2>\r
-                       <KEYWORD2>open_port</KEYWORD2>\r
-                       <KEYWORD2>pid_to_list</KEYWORD2>\r
-                       <KEYWORD2>process_flag</KEYWORD2>\r
-                       <KEYWORD2>process_info</KEYWORD2>\r
-                       <KEYWORD2>process</KEYWORD2>\r
-                       <KEYWORD2>put</KEYWORD2>\r
-                       <KEYWORD2>register</KEYWORD2>\r
-                       <KEYWORD2>registered</KEYWORD2>\r
-                       <KEYWORD2>round</KEYWORD2>\r
-                       <KEYWORD2>self</KEYWORD2>\r
-                       <KEYWORD2>setelement</KEYWORD2>\r
-                       <KEYWORD2>size</KEYWORD2>\r
-                       <KEYWORD2>spawn</KEYWORD2>\r
-                       <KEYWORD2>spawn_link</KEYWORD2>\r
-                       <KEYWORD2>split_binary</KEYWORD2>\r
-                       <KEYWORD2>statistics</KEYWORD2>\r
-                       <KEYWORD2>term_to_binary</KEYWORD2>\r
-                       <KEYWORD2>throw</KEYWORD2>\r
-                       <KEYWORD2>time</KEYWORD2>\r
-                       <KEYWORD2>tl</KEYWORD2>\r
-                       <KEYWORD2>trunc</KEYWORD2>\r
-                       <KEYWORD2>tuple_to_list</KEYWORD2>\r
-                       <KEYWORD2>unlink</KEYWORD2>\r
-                       <KEYWORD2>unregister</KEYWORD2>\r
-                       <KEYWORD2>whereis</KEYWORD2>\r
-\r
-                       <!-- other BIFs -->\r
-                       <KEYWORD2>atom</KEYWORD2>\r
-                       <KEYWORD2>binary</KEYWORD2>\r
-                       <KEYWORD2>constant</KEYWORD2>\r
-                       <KEYWORD2>function</KEYWORD2>\r
-                       <KEYWORD2>integer</KEYWORD2>\r
-                       <KEYWORD2>list</KEYWORD2>\r
-                       <KEYWORD2>number</KEYWORD2>\r
-                       <KEYWORD2>pid</KEYWORD2>\r
-                       <KEYWORD2>ports</KEYWORD2>\r
-                       <KEYWORD2>port_close</KEYWORD2>\r
-                       <KEYWORD2>port_info</KEYWORD2>\r
-                       <KEYWORD2>reference</KEYWORD2>\r
-                       <KEYWORD2>record</KEYWORD2>\r
-\r
-                       <!-- erlang:BIFs -->\r
-                       <KEYWORD2>check_process_code</KEYWORD2>\r
-                       <KEYWORD2>delete_module</KEYWORD2>\r
-                       <KEYWORD2>get_cookie</KEYWORD2>\r
-                       <KEYWORD2>hash</KEYWORD2>\r
-                       <KEYWORD2>math</KEYWORD2>\r
-                       <KEYWORD2>module_loaded</KEYWORD2>\r
-                       <KEYWORD2>preloaded</KEYWORD2>\r
-                       <KEYWORD2>processes</KEYWORD2>\r
-                       <KEYWORD2>purge_module</KEYWORD2>\r
-                       <KEYWORD2>set_cookie</KEYWORD2>\r
-                       <KEYWORD2>set_node</KEYWORD2>\r
-\r
-                       <!-- math functions -->\r
-                       <KEYWORD2>acos</KEYWORD2>\r
-                       <KEYWORD2>asin</KEYWORD2>\r
-                       <KEYWORD2>atan</KEYWORD2>\r
-                       <KEYWORD2>atan2</KEYWORD2>\r
-                       <KEYWORD2>cos</KEYWORD2>\r
-                       <KEYWORD2>cosh</KEYWORD2>\r
-                       <KEYWORD2>exp</KEYWORD2>\r
-                       <KEYWORD2>log</KEYWORD2>\r
-                       <KEYWORD2>log10</KEYWORD2>\r
-                       <KEYWORD2>pi</KEYWORD2>\r
-                       <KEYWORD2>pow</KEYWORD2>\r
-                       <KEYWORD2>power</KEYWORD2>\r
-                       <KEYWORD2>sin</KEYWORD2>\r
-                       <KEYWORD2>sinh</KEYWORD2>\r
-                       <KEYWORD2>sqrt</KEYWORD2>\r
-                       <KEYWORD2>tan</KEYWORD2>\r
-                       <KEYWORD2>tanh</KEYWORD2>\r
-\r
-                       <!-- directives -->\r
-                       <KEYWORD3>-behaviour</KEYWORD3>\r
-                       <KEYWORD3>-compile</KEYWORD3>\r
-                       <KEYWORD3>-define</KEYWORD3>\r
-                       <KEYWORD3>-else</KEYWORD3>\r
-                       <KEYWORD3>-endif</KEYWORD3>\r
-                       <KEYWORD3>-export</KEYWORD3>\r
-                       <KEYWORD3>-file</KEYWORD3>\r
-                       <KEYWORD3>-ifdef</KEYWORD3>\r
-                       <KEYWORD3>-ifndef</KEYWORD3>\r
-                       <KEYWORD3>-import</KEYWORD3>\r
-                       <KEYWORD3>-include</KEYWORD3>\r
-                       <KEYWORD3>-include_lib</KEYWORD3>\r
-                       <KEYWORD3>-module</KEYWORD3>\r
-                       <KEYWORD3>-record</KEYWORD3>\r
-                       <KEYWORD3>-undef</KEYWORD3>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/factor.xml b/extra/xmode/modes/factor.xml
deleted file mode 100644 (file)
index 9aa545e..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="[{"/>\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="]}"/>\r
-               <PROPERTY NAME="indentNextLines" VALUE="^(:|M:|C:|PREDICATE:)[^;]*"/>\r
-               <PROPERTY NAME="unindentNextLines" VALUE="^.*;.*$"/>\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>\r
-               <PROPERTY NAME="commentStart" VALUE="("/>\r
-               <PROPERTY NAME="commentEnd" VALUE=")"/>\r
-               <PROPERTY NAME="lineComment" VALUE="!"/>\r
-               <PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|"/>\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE" ESCAPE="\" NO_WORD_SEP="+-*=&gt;&lt;;.?/'()%,_"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">\r
-               <EOL_SPAN TYPE="COMMENT2" AT_WORD_START="TRUE"\r
-                       DELEGATE="COMMENT">#! </EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE"\r
-                       DELEGATE="COMMENT">! </EOL_SPAN>\r
-\r
-               <!-- parsing words -->\r
-               <SEQ_REGEXP TYPE="MARKUP"\r
-                       HASH_CHAR="\"\r
-                       AT_WORD_START="TRUE">\\\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="MARKUP"\r
-                       HASH_CHAR=":"\r
-                       AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="MARKUP"\r
-                       HASH_CHAR="IN:"\r
-                       AT_WORD_START="TRUE">IN:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="MARKUP"\r
-                       HASH_CHAR="USE:"\r
-                       AT_WORD_START="TRUE">USE:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="LITERAL2"\r
-                       HASH_CHAR="CHAR:"\r
-                       AT_WORD_START="TRUE">CHAR:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="LITERAL2"\r
-                       HASH_CHAR="BIN:"\r
-                       AT_WORD_START="TRUE">BIN:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="LITERAL2"\r
-                       HASH_CHAR="OCT:"\r
-                       AT_WORD_START="TRUE">OCT:\s+(\S+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="LITERAL2"\r
-                       HASH_CHAR="HEX:"\r
-                       AT_WORD_START="TRUE">HEX:\s+(\S+)</SEQ_REGEXP>\r
-\r
-               <SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>( </BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
-                       DELEGATE="LITERAL">\r
-                       <BEGIN>SBUF" </BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
-                       DELEGATE="LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="MARKUP" DELEGATE="USING">\r
-                       <BEGIN>USING: </BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>&gt;r</KEYWORD1>\r
-                       <KEYWORD1>r&gt;</KEYWORD1>\r
-\r
-                       <MARKUP>;</MARKUP>\r
-\r
-                       <LITERAL3>t</LITERAL3>\r
-                       <LITERAL4>f</LITERAL4>\r
-                       \r
-                       <COMMENT2>#!</COMMENT2>\r
-                       <COMMENT1>!</COMMENT1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">\r
-               <SEQ TYPE="COMMENT3">--</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1">\r
-       </RULES>\r
-\r
-       <RULES SET="COMMENT" DEFAULT="COMMENT1">\r
-       </RULES>\r
-\r
-       <RULES SET="USING" DEFAULT="LITERAL2">\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/fhtml.xml b/extra/xmode/modes/fhtml.xml
deleted file mode 100644 (file)
index 68646e2..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE MODE SYSTEM "xmode.dtd">
-
-<!-- fhtml (factor+html) mode -->
-
-<MODE>
-       <PROPS>
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
-               <PROPERTY NAME="commentStart" VALUE="&lt;%#" />
-               <PROPERTY NAME="commentEnd" VALUE="%&gt;" />
-               <PROPERTY NAME="tabSize" VALUE="4" />
-               <PROPERTY NAME="noTabs" VALUE="true" />
-       </PROPS>
-       <RULES IGNORE_CASE="TRUE">
-               <SPAN TYPE="MARKUP" DELEGATE="factor::MAIN">
-                       <BEGIN>&lt;%</BEGIN>
-                       <END>%&gt;</END>
-               </SPAN>
-
-               <IMPORT DELEGATE="html::MAIN" />
-       </RULES>
-</MODE>
diff --git a/extra/xmode/modes/forth.xml b/extra/xmode/modes/forth.xml
deleted file mode 100644 (file)
index 450676b..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- RetroForth is one of the nicest Forth implementations, so we\r
-support that one. You can extend this to your own Forth's vocabulary\r
-easily. -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLines" VALUE="^:[^;]*" />\r
-               <PROPERTY NAME="unindentNextLines" VALUE="^.*;$" />\r
-               <PROPERTY NAME="commentStart" VALUE="(" />\r
-               <PROPERTY NAME="commentEnd" VALUE=")" />\r
-               <PROPERTY NAME="lineComment" VALUE="|" />\r
-               <PROPERTY NAME="noWordSep" VALUE="+-*=&gt;&lt;;.?/'()%,_|$" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE"\r
-               NO_WORD_SEP="+-*=&gt;&lt;;.?/'&quot;()%,_$"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="|-?\d+([./]\d+)?">\r
-\r
-               <EOL_SPAN TYPE="COMMENT1" AT_WORD_START="TRUE">| </EOL_SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="DIGIT" AT_WORD_START="TRUE">$</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL3" AT_WORD_START="TRUE">'</MARK_FOLLOWING>\r
-\r
-               <!-- parsing words -->\r
-               <SEQ_REGEXP TYPE="MARKUP"\r
-                       HASH_CHAR=":"\r
-                       AT_WORD_START="TRUE">:\s+(\S+)</SEQ_REGEXP>\r
-\r
-               <SPAN TYPE="COMMENT3" DELEGATE="STACK_EFFECT">\r
-                       <BEGIN>( </BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE"\r
-                       AT_WORD_START="TRUE">\r
-                       <BEGIN>s"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE"\r
-                       AT_WORD_START="TRUE">\r
-                       <BEGIN>."</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="TRUE"\r
-                       AT_WORD_START="TRUE">\r
-                       <BEGIN>f"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL3" NO_LINE_BREAK="TRUE"\r
-                       AT_WORD_START="TRUE">\r
-                       <BEGIN>m"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL4" NO_LINE_BREAK="TRUE"\r
-                       AT_WORD_START="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <MARKUP>;</MARKUP>\r
-                       <MARKUP>;;</MARKUP>\r
-                       <MARKUP>0;</MARKUP>\r
-\r
-                       <KEYWORD1>swap</KEYWORD1>\r
-                       <KEYWORD1>drop</KEYWORD1>\r
-                       <KEYWORD1>dup</KEYWORD1>\r
-                       <KEYWORD1>nip</KEYWORD1>\r
-                       <KEYWORD1>over</KEYWORD1>\r
-                       <KEYWORD1>rot</KEYWORD1>\r
-                       <KEYWORD1>-rot</KEYWORD1>\r
-                       <KEYWORD1>2dup</KEYWORD1>\r
-                       <KEYWORD1>2drop</KEYWORD1>\r
-                       <KEYWORD1>2over</KEYWORD1>\r
-                       <KEYWORD1>2swap</KEYWORD1>\r
-                       <KEYWORD1>&gt;r</KEYWORD1>\r
-                       <KEYWORD1>r&gt;</KEYWORD1>\r
-\r
-                       <KEYWORD2>and</KEYWORD2>\r
-                       <KEYWORD2>or</KEYWORD2>\r
-                       <KEYWORD2>xor</KEYWORD2>\r
-                       <KEYWORD2>&gt;&gt;</KEYWORD2>\r
-                       <KEYWORD2>&lt;&lt;</KEYWORD2>\r
-                       <KEYWORD2>not</KEYWORD2>\r
-                       <KEYWORD2>+</KEYWORD2>\r
-                       <KEYWORD2>*</KEYWORD2>\r
-                       <KEYWORD2>negate</KEYWORD2>\r
-                       <KEYWORD2>-</KEYWORD2>\r
-                       <KEYWORD2>/</KEYWORD2>\r
-                       <KEYWORD2>mod</KEYWORD2>\r
-                       <KEYWORD2>/mod</KEYWORD2>\r
-                       <KEYWORD2>*/</KEYWORD2>\r
-                       <KEYWORD2>1+</KEYWORD2>\r
-                       <KEYWORD2>1-</KEYWORD2>\r
-                       <KEYWORD2>base</KEYWORD2>\r
-                       <KEYWORD2>hex</KEYWORD2>\r
-                       <KEYWORD2>decimal</KEYWORD2>\r
-                       <KEYWORD2>binary</KEYWORD2>\r
-                       <KEYWORD2>octal</KEYWORD2>\r
-\r
-                       <KEYWORD3>@</KEYWORD3>\r
-                       <KEYWORD3>!</KEYWORD3>\r
-                       <KEYWORD3>c@</KEYWORD3>\r
-                       <KEYWORD3>c!</KEYWORD3>\r
-                       <KEYWORD3>+!</KEYWORD3>\r
-                       <KEYWORD3>cell+</KEYWORD3>\r
-                       <KEYWORD3>cells</KEYWORD3>\r
-                       <KEYWORD3>char+</KEYWORD3>\r
-                       <KEYWORD3>chars</KEYWORD3>\r
-\r
-                       <KEYWORD4>[</KEYWORD4>\r
-                       <KEYWORD4>]</KEYWORD4>\r
-                       <KEYWORD4>create</KEYWORD4>\r
-                       <KEYWORD4>does&gt;</KEYWORD4>\r
-                       <KEYWORD4>variable</KEYWORD4>\r
-                       <KEYWORD4>variable,</KEYWORD4>\r
-                       <KEYWORD4>literal</KEYWORD4>\r
-                       <KEYWORD4>last</KEYWORD4>\r
-                       <KEYWORD4>1,</KEYWORD4>\r
-                       <KEYWORD4>2,</KEYWORD4>\r
-                       <KEYWORD4>3,</KEYWORD4>\r
-                       <KEYWORD4>,</KEYWORD4>\r
-                       <KEYWORD4>here</KEYWORD4>\r
-                       <KEYWORD4>allot</KEYWORD4>\r
-                       <KEYWORD4>parse</KEYWORD4>\r
-                       <KEYWORD4>find</KEYWORD4>\r
-                       <KEYWORD4>compile</KEYWORD4>\r
-\r
-                       <OPERATOR>if</OPERATOR>\r
-                       <OPERATOR>=if</OPERATOR>\r
-                       <OPERATOR>&lt;if</OPERATOR>\r
-                       <OPERATOR>&gt;if</OPERATOR>\r
-                       <OPERATOR>&lt;&gt;if</OPERATOR>\r
-                       <OPERATOR>then</OPERATOR>\r
-                       <OPERATOR>repeat</OPERATOR>\r
-                       <OPERATOR>until</OPERATOR>\r
-\r
-                       <OPERATOR>forth</OPERATOR>\r
-                       <OPERATOR>macro</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="STACK_EFFECT" DEFAULT="COMMENT4">\r
-               <SEQ TYPE="COMMENT3">--</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/fortran.xml b/extra/xmode/modes/fortran.xml
deleted file mode 100644 (file)
index 1bc2626..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--  FORTRAN edit mode\r
-      Version $Id: fortran.xml 10573 2007-09-14 02:04:59Z ezust $\r
--->\r
-<!-- This is a mode for FORTRAN source files.  In general, this supports\r
-common features of the F90 specification.  This may however contain some\r
-platform or vendor specific keywords (in paticular COMPAQ(Digital) FORTRAN).\r
--->\r
-<!-- Suggested catalog file entry:\r
-\r
-<MODE NAME="FORTRAN"           FILE="FORTRAN.xml"\r
-                               FILE_NAME_GLOB="*.{f,for,fort,f77,f90}" />\r
- -->\r
-<MODE>\r
-    <PROPS>\r
-         <!-- To get the line comment inserted correctly at line start:\r
-              use the "toggle-line-comment"-action of TextTools plugin \r
-              with the active option "Insert line comments at start of line" -->\r
-         <PROPERTY NAME="lineComment"    VALUE="C" />\r
-         \r
-         <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-         <PROPERTY NAME="indentNextLine" VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />\r
-    </PROPS>\r
-\r
-    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-<!-- In fixed form, column 72 is the last column parsed, unless the\r
-\extend_source option is invoked -->\r
-    <!-- TERMINATE AT_CHAR="72" / -->\r
-\r
-<!-- comment either !, C, or * can be used as a comment in the first column\r
-in either free or fixed form FORTRAN-->\r
-<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">C</EOL_SPAN>\r
-<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">!</EOL_SPAN>\r
-<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>\r
-<EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-<EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">D</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-<!-- Highlighted Operators -->\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">/=</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">.lt.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.gt.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.eq.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.ne.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.le.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.ge.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.AND.</SEQ>\r
-               <SEQ TYPE="OPERATOR">.OR.</SEQ>\r
-\r
-<KEYWORDS>\r
-<!-- unclassified keywords -->\r
-<KEYWORD1>INCLUDE</KEYWORD1>\r
-<!-- Program units and calling them -->\r
-<KEYWORD1>PROGRAM</KEYWORD1>\r
-<KEYWORD1>MODULE</KEYWORD1>\r
-<KEYWORD1>SUBROUTINE</KEYWORD1>\r
-<KEYWORD1>FUNCTION</KEYWORD1>\r
-<KEYWORD1>CONTAINS</KEYWORD1>\r
-<KEYWORD1>USE</KEYWORD1>\r
-<KEYWORD1>CALL</KEYWORD1>\r
-<KEYWORD1>RETURN</KEYWORD1>\r
-<!-- data types, declaration, and allocation keywords -->\r
-<KEYWORD1>IMPLICIT</KEYWORD1>\r
-<KEYWORD1>EXPLICIT</KEYWORD1>\r
-<KEYWORD1>NONE</KEYWORD1>\r
-<KEYWORD1>DATA</KEYWORD1>\r
-<KEYWORD1>PARAMETER</KEYWORD1>\r
-<KEYWORD1>ALLOCATE</KEYWORD1>\r
-<KEYWORD1>ALLOCATABLE</KEYWORD1>\r
-<KEYWORD1>ALLOCATED</KEYWORD1>\r
-<KEYWORD1>DEALLOCATE</KEYWORD1>\r
-<KEYWORD1>INTEGER</KEYWORD1>\r
-<KEYWORD1>REAL</KEYWORD1>\r
-<KEYWORD1>DOUBLE</KEYWORD1>\r
-<KEYWORD1>PRECISION</KEYWORD1>\r
-<KEYWORD1>COMPLEX</KEYWORD1>\r
-<KEYWORD1>LOGICAL</KEYWORD1>\r
-<KEYWORD1>CHARACTER</KEYWORD1>\r
-<KEYWORD1>DIMENSION</KEYWORD1>\r
-<KEYWORD1>KIND</KEYWORD1>\r
-<!-- FORTRAN Statements -->\r
-<KEYWORD1>CASE</KEYWORD1>\r
-<KEYWORD1>SELECT</KEYWORD1>\r
-<KEYWORD1>DEFAULT</KEYWORD1>\r
-<KEYWORD1>CONTINUE</KEYWORD1>\r
-<KEYWORD1>CYCLE</KEYWORD1>\r
-<KEYWORD1>DO</KEYWORD1>\r
-<KEYWORD1>WHILE</KEYWORD1>\r
-<KEYWORD1>ELSE</KEYWORD1>\r
-<KEYWORD1>IF</KEYWORD1>\r
-<KEYWORD1>ELSEIF</KEYWORD1>\r
-<KEYWORD1>THEN</KEYWORD1>\r
-<KEYWORD1>ELSEWHERE</KEYWORD1>\r
-<KEYWORD1>END</KEYWORD1>\r
-<KEYWORD1>ENDIF</KEYWORD1>\r
-<KEYWORD1>ENDDO</KEYWORD1>\r
-<KEYWORD1>FORALL</KEYWORD1>\r
-<KEYWORD1>WHERE</KEYWORD1>\r
-<KEYWORD1>EXIT</KEYWORD1>\r
-<KEYWORD1>GOTO</KEYWORD1>\r
-<KEYWORD1>PAUSE</KEYWORD1>\r
-<KEYWORD1>STOP</KEYWORD1>\r
-<!-- i/o keywords -->\r
-<KEYWORD1>BACKSPACE</KEYWORD1>\r
-<KEYWORD1>CLOSE</KEYWORD1>\r
-<KEYWORD1>ENDFILE</KEYWORD1>\r
-<KEYWORD1>INQUIRE</KEYWORD1>\r
-<KEYWORD1>OPEN</KEYWORD1>\r
-<KEYWORD1>PRINT</KEYWORD1>\r
-<KEYWORD1>READ</KEYWORD1>\r
-<KEYWORD1>REWIND</KEYWORD1>\r
-<KEYWORD1>WRITE</KEYWORD1>\r
-<KEYWORD1>FORMAT</KEYWORD1>\r
-<!-- Type conversion and utility functions -->\r
-<KEYWORD1>AIMAG</KEYWORD1>\r
-<KEYWORD1>AINT</KEYWORD1>\r
-<KEYWORD1>AMAX0</KEYWORD1>\r
-<KEYWORD1>AMIN0</KEYWORD1>\r
-<KEYWORD1>ANINT</KEYWORD1>\r
-<KEYWORD1>CEILING</KEYWORD1>\r
-<KEYWORD1>CMPLX</KEYWORD1>\r
-<KEYWORD1>CONJG</KEYWORD1>\r
-<KEYWORD1>DBLE</KEYWORD1>\r
-<KEYWORD1>DCMPLX</KEYWORD1>\r
-<KEYWORD1>DFLOAT</KEYWORD1>\r
-<KEYWORD1>DIM</KEYWORD1>\r
-<KEYWORD1>DPROD</KEYWORD1>\r
-<KEYWORD1>FLOAT</KEYWORD1>\r
-<KEYWORD1>FLOOR</KEYWORD1>\r
-<KEYWORD1>IFIX</KEYWORD1>\r
-<KEYWORD1>IMAG</KEYWORD1>\r
-<KEYWORD1>INT</KEYWORD1>\r
-<KEYWORD1>LOGICAL</KEYWORD1>\r
-<KEYWORD1>MODULO</KEYWORD1>\r
-<KEYWORD1>NINT</KEYWORD1>\r
-<KEYWORD1>REAL</KEYWORD1>\r
-<KEYWORD1>SIGN</KEYWORD1>\r
-<KEYWORD1>SNGL</KEYWORD1>\r
-<KEYWORD1>TRANSFER</KEYWORD1>\r
-<KEYWORD1>ZEXT</KEYWORD1>\r
-<!-- More Functions -->\r
-<KEYWORD1>ABS</KEYWORD1>\r
-<KEYWORD1>ACOS</KEYWORD1>\r
-<KEYWORD1>AIMAG</KEYWORD1>\r
-<KEYWORD1>AINT</KEYWORD1>\r
-<KEYWORD1>ALOG</KEYWORD1>\r
-<KEYWORD1>ALOG10</KEYWORD1>\r
-<KEYWORD1>AMAX0</KEYWORD1>\r
-<KEYWORD1>AMAX1</KEYWORD1>\r
-<KEYWORD1>AMIN0</KEYWORD1>\r
-<KEYWORD1>AMIN1</KEYWORD1>\r
-<KEYWORD1>AMOD</KEYWORD1>\r
-<KEYWORD1>ANINT</KEYWORD1>\r
-<KEYWORD1>ASIN</KEYWORD1>\r
-<KEYWORD1>ATAN</KEYWORD1>\r
-<KEYWORD1>ATAN2</KEYWORD1>\r
-<KEYWORD1>CABS</KEYWORD1>\r
-<KEYWORD1>CCOS</KEYWORD1>\r
-<KEYWORD1>CHAR</KEYWORD1>\r
-<KEYWORD1>CLOG</KEYWORD1>\r
-<KEYWORD1>CMPLX</KEYWORD1>\r
-<KEYWORD1>CONJG</KEYWORD1>\r
-<KEYWORD1>COS</KEYWORD1>\r
-<KEYWORD1>COSH</KEYWORD1>\r
-<KEYWORD1>CSIN</KEYWORD1>\r
-<KEYWORD1>CSQRT</KEYWORD1>\r
-<KEYWORD1>DABS</KEYWORD1>\r
-<KEYWORD1>DACOS</KEYWORD1>\r
-<KEYWORD1>DASIN</KEYWORD1>\r
-<KEYWORD1>DATAN</KEYWORD1>\r
-<KEYWORD1>DATAN2</KEYWORD1>\r
-<KEYWORD1>DBLE</KEYWORD1>\r
-<KEYWORD1>DCOS</KEYWORD1>\r
-<KEYWORD1>DCOSH</KEYWORD1>\r
-<KEYWORD1>DDIM</KEYWORD1>\r
-<KEYWORD1>DEXP</KEYWORD1>\r
-<KEYWORD1>DIM</KEYWORD1>\r
-<KEYWORD1>DINT</KEYWORD1>\r
-<KEYWORD1>DLOG</KEYWORD1>\r
-<KEYWORD1>DLOG10</KEYWORD1>\r
-<KEYWORD1>DMAX1</KEYWORD1>\r
-<KEYWORD1>DMIN1</KEYWORD1>\r
-<KEYWORD1>DMOD</KEYWORD1>\r
-<KEYWORD1>DNINT</KEYWORD1>\r
-<KEYWORD1>DPROD</KEYWORD1>\r
-<KEYWORD1>DREAL</KEYWORD1>\r
-<KEYWORD1>DSIGN</KEYWORD1>\r
-<KEYWORD1>DSIN</KEYWORD1>\r
-<KEYWORD1>DSINH</KEYWORD1>\r
-<KEYWORD1>DSQRT</KEYWORD1>\r
-<KEYWORD1>DTAN</KEYWORD1>\r
-<KEYWORD1>DTANH</KEYWORD1>\r
-<KEYWORD1>EXP</KEYWORD1>\r
-<KEYWORD1>FLOAT</KEYWORD1>\r
-<KEYWORD1>IABS</KEYWORD1>\r
-<KEYWORD1>ICHAR</KEYWORD1>\r
-<KEYWORD1>IDIM</KEYWORD1>\r
-<KEYWORD1>IDINT</KEYWORD1>\r
-<KEYWORD1>IDNINT</KEYWORD1>\r
-<KEYWORD1>IFIX</KEYWORD1>\r
-<KEYWORD1>INDEX</KEYWORD1>\r
-<KEYWORD1>INT</KEYWORD1>\r
-<KEYWORD1>ISIGN</KEYWORD1>\r
-<KEYWORD1>LEN</KEYWORD1>\r
-<KEYWORD1>LGE</KEYWORD1>\r
-<KEYWORD1>LGT</KEYWORD1>\r
-<KEYWORD1>LLE</KEYWORD1>\r
-<KEYWORD1>LLT</KEYWORD1>\r
-<KEYWORD1>LOG</KEYWORD1>\r
-<KEYWORD1>LOG10</KEYWORD1>\r
-<KEYWORD1>MAX</KEYWORD1>\r
-<KEYWORD1>MAX0</KEYWORD1>\r
-<KEYWORD1>MAX1</KEYWORD1>\r
-<KEYWORD1>MIN</KEYWORD1>\r
-<KEYWORD1>MIN0</KEYWORD1>\r
-<KEYWORD1>MIN1</KEYWORD1>\r
-<KEYWORD1>MOD</KEYWORD1>\r
-<KEYWORD1>NINT</KEYWORD1>\r
-<KEYWORD1>REAL</KEYWORD1>\r
-<KEYWORD1>SIGN</KEYWORD1>\r
-<KEYWORD1>SIN</KEYWORD1>\r
-<KEYWORD1>SINH</KEYWORD1>\r
-<KEYWORD1>SNGL</KEYWORD1>\r
-<KEYWORD1>SQRT</KEYWORD1>\r
-<KEYWORD1>TAN</KEYWORD1>\r
-<KEYWORD1>TANH</KEYWORD1>\r
-<!-- logical values -->\r
-<KEYWORD1>.false.</KEYWORD1>\r
-<KEYWORD1>.true.</KEYWORD1>\r
-\r
-</KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/foxpro.xml b/extra/xmode/modes/foxpro.xml
deleted file mode 100644 (file)
index b49b233..0000000
+++ /dev/null
@@ -1,1858 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <!-- Created by Matthew J. Price (Matt@SoWaky.com) -->\r
-       <PROPS>\r
-               <PROPERTY NAME="blockComment" VALUE="&amp;&amp;" />\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|do\swhile|do\scase|try)\s*\(|else\s*|elseif\s*\|case|catch(|for\s*\(.*\))[^{;]*)" />\r
-\r
-               <PROPERTY NAME="lineComment" VALUE="&amp;&amp;" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- String Literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- conditional compilation -->\r
-               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#end</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#define</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#include</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Elif</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Else</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Endif</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#If</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Itsexpression</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Readclauses</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Region</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Section</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Undef</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#Wname</EOL_SPAN>\r
-\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="FALSE">&amp;&amp;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_WHITESPACE_END="TRUE">*</EOL_SPAN>\r
-\r
-               <!-- Comparison operators -->\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <!-- See in keywords: is -->\r
-\r
-               <!-- Arithmetic operators -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <!-- See in keywords: mod -->\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-\r
-               <!-- Concatenation operators -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-\r
-               <!-- Logical operators -->\r
-               <!-- See in keywords: and, or, not, xor, eqv -->\r
-\r
-               <!-- EOL Continuation -->\r
-               <!-- <SEQ TYPE="NULL">_</SEQ>-->\r
-               <!-- Instruction separator -->\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <FUNCTION>Function</FUNCTION>\r
-                       <FUNCTION>Procedure</FUNCTION>\r
-                       <FUNCTION>EndFunc</FUNCTION>\r
-                       <FUNCTION>EndProc</FUNCTION>\r
-\r
-                       <!-- Conditional Statements -->\r
-                       <KEYWORD3>if</KEYWORD3>\r
-                       <KEYWORD3>then</KEYWORD3>\r
-                       <KEYWORD3>else</KEYWORD3>\r
-                       <KEYWORD3>elseif</KEYWORD3>\r
-                       <KEYWORD3>select</KEYWORD3>\r
-                       <KEYWORD3>case</KEYWORD3>\r
-\r
-                       <!-- Loop Statements -->\r
-                       <!-- For..Next -->\r
-                       <KEYWORD3>for</KEYWORD3>\r
-                       <KEYWORD3>to</KEYWORD3>\r
-                       <KEYWORD3>step</KEYWORD3>\r
-                       <KEYWORD3>next</KEYWORD3>\r
-                       <!-- For Each..Next -->\r
-                       <KEYWORD3>each</KEYWORD3>\r
-                       <KEYWORD3>in</KEYWORD3>\r
-                       <!-- Do..Loop -->\r
-                       <KEYWORD3>do</KEYWORD3>\r
-                       <KEYWORD3>while</KEYWORD3>\r
-                       <KEYWORD3>until</KEYWORD3>\r
-                       <KEYWORD3>loop</KEYWORD3>\r
-                       <!-- While..Wend -->\r
-                       <KEYWORD3>wend</KEYWORD3>\r
-\r
-                       <!-- Closing, Exit Statements -->\r
-                       <KEYWORD3>exit</KEYWORD3>\r
-                       <KEYWORD3>end</KEYWORD3>\r
-                       <KEYWORD3>endif</KEYWORD3>\r
-\r
-                       <!-- Methods, Functions, Class, Properties, Variables -->\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>property</KEYWORD3>\r
-                       <KEYWORD3>get</KEYWORD3>\r
-                       <KEYWORD3>let</KEYWORD3>\r
-                       <KEYWORD3>set</KEYWORD3>\r
-\r
-                       <!-- Parameters passing -->\r
-                       <KEYWORD3>byval</KEYWORD3>\r
-                       <KEYWORD3>byref</KEYWORD3>\r
-\r
-                       <!-- Declaration -->\r
-                       <KEYWORD3>const</KEYWORD3>\r
-                       <KEYWORD3>dim</KEYWORD3>\r
-                       <KEYWORD3>redim</KEYWORD3>\r
-                       <KEYWORD3>preserve</KEYWORD3>\r
-                       <KEYWORD3>as</KEYWORD3>\r
-\r
-                       <!-- Object Assignement/Instantiation -->\r
-                       <KEYWORD3>set</KEYWORD3>\r
-                       <KEYWORD3>with</KEYWORD3>\r
-                       <KEYWORD3>new</KEYWORD3>\r
-\r
-                       <!-- Visibility -->\r
-                       <KEYWORD3>public</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>private</KEYWORD3>\r
-\r
-                       <!-- Comments -->\r
-                       <KEYWORD3>rem</KEYWORD3>\r
-\r
-                       <!-- Function Call - Dynamic Evaluation -->\r
-                       <KEYWORD3>call</KEYWORD3>\r
-                       <KEYWORD3>execute</KEYWORD3>\r
-                       <KEYWORD3>eval</KEYWORD3>\r
-\r
-                       <!-- Miscellaneous -->\r
-                       <KEYWORD3>on</KEYWORD3>\r
-                       <KEYWORD3>error</KEYWORD3>\r
-                       <KEYWORD3>goto</KEYWORD3>\r
-                       <KEYWORD3>resume</KEYWORD3>\r
-                       <KEYWORD3>option</KEYWORD3>\r
-                       <KEYWORD3>explicit</KEYWORD3>\r
-                       <KEYWORD3>erase</KEYWORD3>\r
-                       <KEYWORD3>randomize</KEYWORD3>\r
-\r
-                       <!-- Operators -->\r
-                       <!-- Comparison operators -->\r
-                       <OPERATOR>is</OPERATOR>\r
-                       <!-- Arithmetic operators -->\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <!-- Logical operators -->\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>not</OPERATOR>\r
-                       <OPERATOR>xor</OPERATOR>\r
-                       <OPERATOR>imp</OPERATOR>\r
-                       <OPERATOR>?</OPERATOR>\r
-\r
-                       <!-- Datatypes Constants/Literals -->\r
-                       <KEYWORD3>false</KEYWORD3>\r
-                       <KEYWORD3>true</KEYWORD3>\r
-                       <KEYWORD3>empty</KEYWORD3>\r
-                       <KEYWORD3>nothing</KEYWORD3>\r
-                       <KEYWORD3>null</KEYWORD3>\r
-\r
-                       <!-- FoxPro's Methods -->\r
-                       <KEYWORD3>Activate</KEYWORD3>\r
-                       <KEYWORD3>ActivateCell</KEYWORD3>\r
-                       <KEYWORD3>AddColumn</KEYWORD3>\r
-                       <KEYWORD3>AddItem</KEYWORD3>\r
-                       <KEYWORD3>AddListItem</KEYWORD3>\r
-                       <KEYWORD3>AddObject</KEYWORD3>\r
-                       <KEYWORD3>AfterCloseTables</KEYWORD3>\r
-                       <KEYWORD3>AfterDock</KEYWORD3>\r
-                       <KEYWORD3>AfterRowColChange</KEYWORD3>\r
-                       <KEYWORD3>BeforeDock</KEYWORD3>\r
-                       <KEYWORD3>BeforeOpenTables</KEYWORD3>\r
-                       <KEYWORD3>BeforeRowColChange</KEYWORD3>\r
-                       <KEYWORD3>Box</KEYWORD3>\r
-                       <KEYWORD3>Circle</KEYWORD3>\r
-                       <KEYWORD3>Clear</KEYWORD3>\r
-                       <KEYWORD3>Click</KEYWORD3>\r
-                       <KEYWORD3>CloneObject</KEYWORD3>\r
-                       <KEYWORD3>CloseEditor</KEYWORD3>\r
-                       <KEYWORD3>CloseTables</KEYWORD3>\r
-                       <KEYWORD3>Cls</KEYWORD3>\r
-                       <KEYWORD3>DblClick</KEYWORD3>\r
-                       <KEYWORD3>Deactivate</KEYWORD3>\r
-                       <KEYWORD3>Delete</KEYWORD3>\r
-                       <KEYWORD3>DeleteColumn</KEYWORD3>\r
-                       <KEYWORD3>Deleted</KEYWORD3>\r
-                       <KEYWORD3>Destroy</KEYWORD3>\r
-                       <KEYWORD3>Dock</KEYWORD3>\r
-                       <KEYWORD3>DoScroll</KEYWORD3>\r
-                       <KEYWORD3>DoVerb</KEYWORD3>\r
-                       <KEYWORD3>DownClick</KEYWORD3>\r
-                       <KEYWORD3>Drag</KEYWORD3>\r
-                       <KEYWORD3>DragDrop</KEYWORD3>\r
-                       <KEYWORD3>DragOver</KEYWORD3>\r
-                       <KEYWORD3>Draw</KEYWORD3>\r
-                       <KEYWORD3>DropDown</KEYWORD3>\r
-                       <KEYWORD3>Error</KEYWORD3>\r
-                       <KEYWORD3>ErrorMessage</KEYWORD3>\r
-                       <KEYWORD3>FormatChange</KEYWORD3>\r
-                       <KEYWORD3>GotFocus</KEYWORD3>\r
-                       <KEYWORD3>Hide</KEYWORD3>\r
-                       <KEYWORD3>IndexToItemId</KEYWORD3>\r
-                       <KEYWORD3>Init</KEYWORD3>\r
-                       <KEYWORD3>InteractiveChange</KEYWORD3>\r
-                       <KEYWORD3>ItemIdToIndex</KEYWORD3>\r
-                       <KEYWORD3>KeyPress</KEYWORD3>\r
-                       <KEYWORD3>Line</KEYWORD3>\r
-                       <KEYWORD3>Load</KEYWORD3>\r
-                       <KEYWORD3>LostFocus</KEYWORD3>\r
-                       <KEYWORD3>Message</KEYWORD3>\r
-                       <KEYWORD3>MouseDown</KEYWORD3>\r
-                       <KEYWORD3>MouseMove</KEYWORD3>\r
-                       <KEYWORD3>MouseUp</KEYWORD3>\r
-                       <KEYWORD3>Move</KEYWORD3>\r
-                       <KEYWORD3>Moved</KEYWORD3>\r
-                       <KEYWORD3>OpenEditor</KEYWORD3>\r
-                       <KEYWORD3>OpenTables</KEYWORD3>\r
-                       <KEYWORD3>Paint</KEYWORD3>\r
-                       <KEYWORD3>Point</KEYWORD3>\r
-                       <KEYWORD3>Print</KEYWORD3>\r
-                       <KEYWORD3>ProgrammaticChange</KEYWORD3>\r
-                       <KEYWORD3>PSet</KEYWORD3>\r
-                       <KEYWORD3>QueryUnload</KEYWORD3>\r
-                       <KEYWORD3>RangeHigh</KEYWORD3>\r
-                       <KEYWORD3>RangeLow</KEYWORD3>\r
-                       <KEYWORD3>ReadActivate</KEYWORD3>\r
-                       <KEYWORD3>ReadDeactivate</KEYWORD3>\r
-                       <KEYWORD3>ReadExpression</KEYWORD3>\r
-                       <KEYWORD3>ReadMethod</KEYWORD3>\r
-                       <KEYWORD3>ReadShow</KEYWORD3>\r
-                       <KEYWORD3>ReadValid</KEYWORD3>\r
-                       <KEYWORD3>ReadWhen</KEYWORD3>\r
-                       <KEYWORD3>Refresh</KEYWORD3>\r
-                       <KEYWORD3>Release</KEYWORD3>\r
-                       <KEYWORD3>RemoveItem</KEYWORD3>\r
-                       <KEYWORD3>RemoveListItem</KEYWORD3>\r
-                       <KEYWORD3>RemoveObject</KEYWORD3>\r
-                       <KEYWORD3>Requery</KEYWORD3>\r
-                       <KEYWORD3>Reset</KEYWORD3>\r
-                       <KEYWORD3>Resize</KEYWORD3>\r
-                       <KEYWORD3>RightClick</KEYWORD3>\r
-                       <KEYWORD3>SaveAs</KEYWORD3>\r
-                       <KEYWORD3>SaveAsClass</KEYWORD3>\r
-                       <KEYWORD3>Scrolled</KEYWORD3>\r
-                       <KEYWORD3>SetAll</KEYWORD3>\r
-                       <KEYWORD3>SetFocus</KEYWORD3>\r
-                       <KEYWORD3>Show</KEYWORD3>\r
-                       <KEYWORD3>TextHeight</KEYWORD3>\r
-                       <KEYWORD3>TextWidth</KEYWORD3>\r
-                       <KEYWORD3>Timer</KEYWORD3>\r
-                       <KEYWORD3>UIEnable</KEYWORD3>\r
-                       <KEYWORD3>UnDock</KEYWORD3>\r
-                       <KEYWORD3>Unload</KEYWORD3>\r
-                       <KEYWORD3>UpClick</KEYWORD3>\r
-                       <KEYWORD3>Valid</KEYWORD3>\r
-                       <KEYWORD3>When</KEYWORD3>\r
-                       <KEYWORD3>WriteExpression</KEYWORD3>\r
-                       <KEYWORD3>WriteMethod</KEYWORD3>\r
-                       <KEYWORD3>ZOrder</KEYWORD3>\r
-                       <KEYWORD3>DataToClip</KEYWORD3>\r
-                       <KEYWORD3>DoCmd</KEYWORD3>\r
-                       <KEYWORD3>MiddleClick</KEYWORD3>\r
-                       <KEYWORD3>MouseWheel</KEYWORD3>\r
-                       <KEYWORD3>RequestData</KEYWORD3>\r
-                       <KEYWORD3>SetVar</KEYWORD3>\r
-                       <KEYWORD3>ShowWhatsThis</KEYWORD3>\r
-                       <KEYWORD3>WhatsThisMode</KEYWORD3>\r
-                       <KEYWORD3>AddProperty</KEYWORD3>\r
-                       <KEYWORD3>NewObject</KEYWORD3>\r
-                       <KEYWORD3>CommandTargetExec</KEYWORD3>\r
-                       <KEYWORD3>CommandTargetQueryStas</KEYWORD3>\r
-                       <KEYWORD3>ContainerRelease</KEYWORD3>\r
-                       <KEYWORD3>EnterFocus</KEYWORD3>\r
-                       <KEYWORD3>ExitFocus</KEYWORD3>\r
-                       <KEYWORD3>HideDoc</KEYWORD3>\r
-                       <KEYWORD3>Run</KEYWORD3>\r
-                       <KEYWORD3>ShowDoc</KEYWORD3>\r
-                       <KEYWORD3>ClearData</KEYWORD3>\r
-                       <KEYWORD3>GetData</KEYWORD3>\r
-                       <KEYWORD3>GetFormat</KEYWORD3>\r
-                       <KEYWORD3>SetData</KEYWORD3>\r
-                       <KEYWORD3>SetFormat</KEYWORD3>\r
-                       <KEYWORD3>OLECompleteDrag</KEYWORD3>\r
-                       <KEYWORD3>OLEGiveFeedback</KEYWORD3>\r
-                       <KEYWORD3>OLESetData</KEYWORD3>\r
-                       <KEYWORD3>OLEStartDrag</KEYWORD3>\r
-                       <KEYWORD3>OLEDrag</KEYWORD3>\r
-                       <KEYWORD3>OLEDragDrop</KEYWORD3>\r
-                       <KEYWORD3>OLEDragOver</KEYWORD3>\r
-                       <KEYWORD3>SetMain</KEYWORD3>\r
-                       <KEYWORD3>AfterBuild</KEYWORD3>\r
-                       <KEYWORD3>BeforeBuild</KEYWORD3>\r
-                       <KEYWORD3>QueryAddFile</KEYWORD3>\r
-                       <KEYWORD3>QueryModifyFile</KEYWORD3>\r
-                       <KEYWORD3>QueryRemoveFile</KEYWORD3>\r
-                       <KEYWORD3>QueryRunFile</KEYWORD3>\r
-                       <KEYWORD3>Add</KEYWORD3>\r
-                       <KEYWORD3>AddToSCC</KEYWORD3>\r
-                       <KEYWORD3>CheckIn</KEYWORD3>\r
-                       <KEYWORD3>CheckOut</KEYWORD3>\r
-                       <KEYWORD3>GetLatestVersion</KEYWORD3>\r
-                       <KEYWORD3>RemoveFromSCC</KEYWORD3>\r
-                       <KEYWORD3>UndoCheckOut</KEYWORD3>\r
-                       <KEYWORD3>Modify</KEYWORD3>\r
-\r
-                       <!-- FoxPro's Properties -->\r
-                       <KEYWORD3>Accelerate</KEYWORD3>\r
-                       <KEYWORD3>ActiveColumn</KEYWORD3>\r
-                       <KEYWORD3>ActiveControl</KEYWORD3>\r
-                       <KEYWORD3>ActiveForm</KEYWORD3>\r
-                       <KEYWORD3>ActiveObjectId</KEYWORD3>\r
-                       <KEYWORD3>ActivePage</KEYWORD3>\r
-                       <KEYWORD3>ActiveRow</KEYWORD3>\r
-                       <KEYWORD3>Alias</KEYWORD3>\r
-                       <KEYWORD3>Alignment</KEYWORD3>\r
-                       <KEYWORD3>AllowResize</KEYWORD3>\r
-                       <KEYWORD3>AllowTabs</KEYWORD3>\r
-                       <KEYWORD3>AlwaysOnTop</KEYWORD3>\r
-                       <KEYWORD3>ATGetColors</KEYWORD3>\r
-                       <KEYWORD3>ATListColors</KEYWORD3>\r
-                       <KEYWORD3>AutoActivate</KEYWORD3>\r
-                       <KEYWORD3>AutoCenter</KEYWORD3>\r
-                       <KEYWORD3>AutoCloseTables</KEYWORD3>\r
-                       <KEYWORD3>AutoOpenTables</KEYWORD3>\r
-                       <KEYWORD3>AutoRelease</KEYWORD3>\r
-                       <KEYWORD3>AutoSize</KEYWORD3>\r
-                       <KEYWORD3>AvailNum</KEYWORD3>\r
-                       <KEYWORD3>BackColor</KEYWORD3>\r
-                       <KEYWORD3>BackStyle</KEYWORD3>\r
-                       <KEYWORD3>BaseClass</KEYWORD3>\r
-                       <KEYWORD3>BorderColor</KEYWORD3>\r
-                       <KEYWORD3>BorderStyle</KEYWORD3>\r
-                       <KEYWORD3>BorderWidth</KEYWORD3>\r
-                       <KEYWORD3>Bound</KEYWORD3>\r
-                       <KEYWORD3>BoundColumn</KEYWORD3>\r
-                       <KEYWORD3>BrowseAlignment</KEYWORD3>\r
-                       <KEYWORD3>BrowseCellMarg</KEYWORD3>\r
-                       <KEYWORD3>BrowseDestWidth</KEYWORD3>\r
-                       <KEYWORD3>BufferMode</KEYWORD3>\r
-                       <KEYWORD3>BufferModeOverride</KEYWORD3>\r
-                       <KEYWORD3>ButtonCount</KEYWORD3>\r
-                       <KEYWORD3>ButtonIndex</KEYWORD3>\r
-                       <KEYWORD3>Buttons</KEYWORD3>\r
-                       <KEYWORD3>CanAccelerate</KEYWORD3>\r
-                       <KEYWORD3>Cancel</KEYWORD3>\r
-                       <KEYWORD3>CanGetFocus</KEYWORD3>\r
-                       <KEYWORD3>CanLoseFocus</KEYWORD3>\r
-                       <KEYWORD3>Caption</KEYWORD3>\r
-                       <KEYWORD3>ChildAlias</KEYWORD3>\r
-                       <KEYWORD3>ChildOrder</KEYWORD3>\r
-                       <KEYWORD3>Class</KEYWORD3>\r
-                       <KEYWORD3>ClassLibrary</KEYWORD3>\r
-                       <KEYWORD3>ClipControls</KEYWORD3>\r
-                       <KEYWORD3>ClipRect</KEYWORD3>\r
-                       <KEYWORD3>Closable</KEYWORD3>\r
-                       <KEYWORD3>ColorScheme</KEYWORD3>\r
-                       <KEYWORD3>ColorSource</KEYWORD3>\r
-                       <KEYWORD3>ColumnCount</KEYWORD3>\r
-                       <KEYWORD3>ColumnHeaders</KEYWORD3>\r
-                       <KEYWORD3>ColumnLines</KEYWORD3>\r
-                       <KEYWORD3>ColumnOrder</KEYWORD3>\r
-                       <KEYWORD3>Columns</KEYWORD3>\r
-                       <KEYWORD3>ColumnWidths</KEYWORD3>\r
-                       <KEYWORD3>Comment</KEYWORD3>\r
-                       <KEYWORD3>ControlBox</KEYWORD3>\r
-                       <KEYWORD3>ControlCount</KEYWORD3>\r
-                       <KEYWORD3>ControlIndex</KEYWORD3>\r
-                       <KEYWORD3>Controls</KEYWORD3>\r
-                       <KEYWORD3>ControlSource</KEYWORD3>\r
-                       <KEYWORD3>CurrentControl</KEYWORD3>\r
-                       <KEYWORD3>CurrentX</KEYWORD3>\r
-                       <KEYWORD3>CurrentY</KEYWORD3>\r
-                       <KEYWORD3>CursorSource</KEYWORD3>\r
-                       <KEYWORD3>Curvature</KEYWORD3>\r
-                       <KEYWORD3>Database</KEYWORD3>\r
-                       <KEYWORD3>DataSession</KEYWORD3>\r
-                       <KEYWORD3>DataSessionId</KEYWORD3>\r
-                       <KEYWORD3>DataSourceObj</KEYWORD3>\r
-                       <KEYWORD3>DataType</KEYWORD3>\r
-                       <KEYWORD3>Default</KEYWORD3>\r
-                       <KEYWORD3>DefButton</KEYWORD3>\r
-                       <KEYWORD3>DefButtonOrig</KEYWORD3>\r
-                       <KEYWORD3>DefHeight</KEYWORD3>\r
-                       <KEYWORD3>DefineWindows</KEYWORD3>\r
-                       <KEYWORD3>DefLeft</KEYWORD3>\r
-                       <KEYWORD3>DefTop</KEYWORD3>\r
-                       <KEYWORD3>DefWidth</KEYWORD3>\r
-                       <KEYWORD3>DeleteMark</KEYWORD3>\r
-                       <KEYWORD3>Desktop</KEYWORD3>\r
-                       <KEYWORD3>Dirty</KEYWORD3>\r
-                       <KEYWORD3>DisabledBackColor</KEYWORD3>\r
-                       <KEYWORD3>DisabledByEOF</KEYWORD3>\r
-                       <KEYWORD3>DisabledForeColor</KEYWORD3>\r
-                       <KEYWORD3>DisabledItemBackColor</KEYWORD3>\r
-                       <KEYWORD3>DisabledItemForeColor</KEYWORD3>\r
-                       <KEYWORD3>DisabledPicture</KEYWORD3>\r
-                       <KEYWORD3>DisplayValue</KEYWORD3>\r
-                       <KEYWORD3>DispPageHeight</KEYWORD3>\r
-                       <KEYWORD3>DispPageWidth</KEYWORD3>\r
-                       <KEYWORD3>Docked</KEYWORD3>\r
-                       <KEYWORD3>DockPosition</KEYWORD3>\r
-                       <KEYWORD3>DoCreate</KEYWORD3>\r
-                       <KEYWORD3>DocumentFile</KEYWORD3>\r
-                       <KEYWORD3>DownPicture</KEYWORD3>\r
-                       <KEYWORD3>DragIcon</KEYWORD3>\r
-                       <KEYWORD3>DragMode</KEYWORD3>\r
-                       <KEYWORD3>DragState</KEYWORD3>\r
-                       <KEYWORD3>DrawMode</KEYWORD3>\r
-                       <KEYWORD3>DrawStyle</KEYWORD3>\r
-                       <KEYWORD3>DrawWidth</KEYWORD3>\r
-                       <KEYWORD3>DynamicAlignment</KEYWORD3>\r
-                       <KEYWORD3>DynamicBackColor</KEYWORD3>\r
-                       <KEYWORD3>DynamicCurrentControl</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontBold</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontItalic</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontName</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontOutline</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontShadow</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontSize</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontStrikethru</KEYWORD3>\r
-                       <KEYWORD3>DynamicFontUnderline</KEYWORD3>\r
-                       <KEYWORD3>DynamicForeColor</KEYWORD3>\r
-                       <KEYWORD3>EditFlags</KEYWORD3>\r
-                       <KEYWORD3>Enabled</KEYWORD3>\r
-                       <KEYWORD3>EnabledByReadLock</KEYWORD3>\r
-                       <KEYWORD3>EnvLevel</KEYWORD3>\r
-                       <KEYWORD3>ErasePage</KEYWORD3>\r
-                       <KEYWORD3>FillColor</KEYWORD3>\r
-                       <KEYWORD3>FillStyle</KEYWORD3>\r
-                       <KEYWORD3>Filter</KEYWORD3>\r
-                       <KEYWORD3>FirstElement</KEYWORD3>\r
-                       <KEYWORD3>FontBold</KEYWORD3>\r
-                       <KEYWORD3>FontItalic</KEYWORD3>\r
-                       <KEYWORD3>FontName</KEYWORD3>\r
-                       <KEYWORD3>FontOutline</KEYWORD3>\r
-                       <KEYWORD3>FontShadow</KEYWORD3>\r
-                       <KEYWORD3>FontSize</KEYWORD3>\r
-                       <KEYWORD3>FontStrikethru</KEYWORD3>\r
-                       <KEYWORD3>FontUnderline</KEYWORD3>\r
-                       <KEYWORD3>ForceFocus</KEYWORD3>\r
-                       <KEYWORD3>ForeColor</KEYWORD3>\r
-                       <KEYWORD3>Format</KEYWORD3>\r
-                       <KEYWORD3>FormCount</KEYWORD3>\r
-                       <KEYWORD3>FormIndex</KEYWORD3>\r
-                       <KEYWORD3>FormPageCount</KEYWORD3>\r
-                       <KEYWORD3>FormPageIndex</KEYWORD3>\r
-                       <KEYWORD3>Forms</KEYWORD3>\r
-                       <KEYWORD3>FoxFont</KEYWORD3>\r
-                       <KEYWORD3>GoFirst</KEYWORD3>\r
-                       <KEYWORD3>GoLast</KEYWORD3>\r
-                       <KEYWORD3>GridLineColor</KEYWORD3>\r
-                       <KEYWORD3>GridLines</KEYWORD3>\r
-                       <KEYWORD3>GridLineWidth</KEYWORD3>\r
-                       <KEYWORD3>HalfHeightCaption</KEYWORD3>\r
-                       <KEYWORD3>HasClip</KEYWORD3>\r
-                       <KEYWORD3>HeaderGap</KEYWORD3>\r
-                       <KEYWORD3>HeaderHeight</KEYWORD3>\r
-                       <KEYWORD3>Height</KEYWORD3>\r
-                       <KEYWORD3>HelpContextID</KEYWORD3>\r
-                       <KEYWORD3>HideSelection</KEYWORD3>\r
-                       <KEYWORD3>Highlight</KEYWORD3>\r
-                       <KEYWORD3>HostName</KEYWORD3>\r
-                       <KEYWORD3>HotKey</KEYWORD3>\r
-                       <KEYWORD3>HPROJ</KEYWORD3>\r
-                       <KEYWORD3>HWnd</KEYWORD3>\r
-                       <KEYWORD3>Icon</KEYWORD3>\r
-                       <KEYWORD3>IgnoreInsert</KEYWORD3>\r
-                       <KEYWORD3>Increment</KEYWORD3>\r
-                       <KEYWORD3>IncrementalSearch</KEYWORD3>\r
-                       <KEYWORD3>InitialSelectedAlias</KEYWORD3>\r
-                       <KEYWORD3>InputMask</KEYWORD3>\r
-                       <KEYWORD3>InResize</KEYWORD3>\r
-                       <KEYWORD3>Interval</KEYWORD3>\r
-                       <KEYWORD3>ItemBackColor</KEYWORD3>\r
-                       <KEYWORD3>ItemData</KEYWORD3>\r
-                       <KEYWORD3>ItemForeColor</KEYWORD3>\r
-                       <KEYWORD3>ItemIDData</KEYWORD3>\r
-                       <KEYWORD3>JustReadLocked</KEYWORD3>\r
-                       <KEYWORD3>KeyboardHighValue</KEYWORD3>\r
-                       <KEYWORD3>KeyboardLowValue</KEYWORD3>\r
-                       <KEYWORD3>KeyPreview</KEYWORD3>\r
-                       <KEYWORD3>Left</KEYWORD3>\r
-                       <KEYWORD3>LeftColumn</KEYWORD3>\r
-                       <KEYWORD3>LineSlant</KEYWORD3>\r
-                       <KEYWORD3>LinkMaster</KEYWORD3>\r
-                       <KEYWORD3>List</KEYWORD3>\r
-                       <KEYWORD3>ListCount</KEYWORD3>\r
-                       <KEYWORD3>ListIndex</KEYWORD3>\r
-                       <KEYWORD3>ListItem</KEYWORD3>\r
-                       <KEYWORD3>ListItemId</KEYWORD3>\r
-                       <KEYWORD3>LockDataSource</KEYWORD3>\r
-                       <KEYWORD3>LockScreen</KEYWORD3>\r
-                       <KEYWORD3>Margin</KEYWORD3>\r
-                       <KEYWORD3>MaxButton</KEYWORD3>\r
-                       <KEYWORD3>MaxHeight</KEYWORD3>\r
-                       <KEYWORD3>MaxLeft</KEYWORD3>\r
-                       <KEYWORD3>MaxLength</KEYWORD3>\r
-                       <KEYWORD3>MaxTop</KEYWORD3>\r
-                       <KEYWORD3>MaxWidth</KEYWORD3>\r
-                       <KEYWORD3>MDIForm</KEYWORD3>\r
-                       <KEYWORD3>MemoWindow</KEYWORD3>\r
-                       <KEYWORD3>MinButton</KEYWORD3>\r
-                       <KEYWORD3>MinHeight</KEYWORD3>\r
-                       <KEYWORD3>MinWidth</KEYWORD3>\r
-                       <KEYWORD3>MousePointer</KEYWORD3>\r
-                       <KEYWORD3>Movable</KEYWORD3>\r
-                       <KEYWORD3>MoverBars</KEYWORD3>\r
-                       <KEYWORD3>MultiSelect</KEYWORD3>\r
-                       <KEYWORD3>Name</KEYWORD3>\r
-                       <KEYWORD3>NapTime</KEYWORD3>\r
-                       <KEYWORD3>NewIndex</KEYWORD3>\r
-                       <KEYWORD3>NewItemId</KEYWORD3>\r
-                       <KEYWORD3>NoDataOnLoad</KEYWORD3>\r
-                       <KEYWORD3>NoDefine</KEYWORD3>\r
-                       <KEYWORD3>NotifyContainer</KEYWORD3>\r
-                       <KEYWORD3>NumberOfElements</KEYWORD3>\r
-                       <KEYWORD3>OleClass</KEYWORD3>\r
-                       <KEYWORD3>OleClassId</KEYWORD3>\r
-                       <KEYWORD3>OleControlContainer</KEYWORD3>\r
-                       <KEYWORD3>OleIDispatchIncoming</KEYWORD3>\r
-                       <KEYWORD3>OleIDispatchOutgoing</KEYWORD3>\r
-                       <KEYWORD3>OleIDispInValue</KEYWORD3>\r
-                       <KEYWORD3>OleIDispOutValue</KEYWORD3>\r
-                       <KEYWORD3>OLETypeAllowed</KEYWORD3>\r
-                       <KEYWORD3>OneToMany</KEYWORD3>\r
-                       <KEYWORD3>OnResize</KEYWORD3>\r
-                       <KEYWORD3>OpenWindow</KEYWORD3>\r
-                       <KEYWORD3>PageCount</KEYWORD3>\r
-                       <KEYWORD3>PageHeight</KEYWORD3>\r
-                       <KEYWORD3>PageOrder</KEYWORD3>\r
-                       <KEYWORD3>Pages</KEYWORD3>\r
-                       <KEYWORD3>PageWidth</KEYWORD3>\r
-                       <KEYWORD3>Panel</KEYWORD3>\r
-                       <KEYWORD3>PanelLink</KEYWORD3>\r
-                       <KEYWORD3>Parent</KEYWORD3>\r
-                       <KEYWORD3>ParentAlias</KEYWORD3>\r
-                       <KEYWORD3>ParentClass</KEYWORD3>\r
-                       <KEYWORD3>Partition</KEYWORD3>\r
-                       <KEYWORD3>PasswordChar</KEYWORD3>\r
-                       <KEYWORD3>Picture</KEYWORD3>\r
-                       <KEYWORD3>ReadColors</KEYWORD3>\r
-                       <KEYWORD3>ReadCycle</KEYWORD3>\r
-                       <KEYWORD3>ReadFiller</KEYWORD3>\r
-                       <KEYWORD3>ReadLock</KEYWORD3>\r
-                       <KEYWORD3>ReadMouse</KEYWORD3>\r
-                       <KEYWORD3>ReadOnly</KEYWORD3>\r
-                       <KEYWORD3>ReadSave</KEYWORD3>\r
-                       <KEYWORD3>ReadSize</KEYWORD3>\r
-                       <KEYWORD3>ReadTimeout</KEYWORD3>\r
-                       <KEYWORD3>RecordMark</KEYWORD3>\r
-                       <KEYWORD3>RecordSource</KEYWORD3>\r
-                       <KEYWORD3>RecordSourceType</KEYWORD3>\r
-                       <KEYWORD3>Rect</KEYWORD3>\r
-                       <KEYWORD3>RelationalExpr</KEYWORD3>\r
-                       <KEYWORD3>RelativeColumn</KEYWORD3>\r
-                       <KEYWORD3>RelativeRow</KEYWORD3>\r
-                       <KEYWORD3>ReleaseErase</KEYWORD3>\r
-                       <KEYWORD3>ReleaseType</KEYWORD3>\r
-                       <KEYWORD3>ReleaseWindows</KEYWORD3>\r
-                       <KEYWORD3>Resizable</KEYWORD3>\r
-                       <KEYWORD3>RowHeight</KEYWORD3>\r
-                       <KEYWORD3>RowSource</KEYWORD3>\r
-                       <KEYWORD3>RowSourceType</KEYWORD3>\r
-                       <KEYWORD3>ScaleMode</KEYWORD3>\r
-                       <KEYWORD3>ScrollBars</KEYWORD3>\r
-                       <KEYWORD3>Selected</KEYWORD3>\r
-                       <KEYWORD3>SelectedBackColor</KEYWORD3>\r
-                       <KEYWORD3>SelectedForeColor</KEYWORD3>\r
-                       <KEYWORD3>SelectedID</KEYWORD3>\r
-                       <KEYWORD3>SelectedItemBackColor</KEYWORD3>\r
-                       <KEYWORD3>SelectedItemForeColor</KEYWORD3>\r
-                       <KEYWORD3>SelectOnEntry</KEYWORD3>\r
-                       <KEYWORD3>SelfEdit</KEYWORD3>\r
-                       <KEYWORD3>SelLength</KEYWORD3>\r
-                       <KEYWORD3>SelStart</KEYWORD3>\r
-                       <KEYWORD3>SelText</KEYWORD3>\r
-                       <KEYWORD3>ShowTips</KEYWORD3>\r
-                       <KEYWORD3>Sizable</KEYWORD3>\r
-                       <KEYWORD3>Skip</KEYWORD3>\r
-                       <KEYWORD3>SkipForm</KEYWORD3>\r
-                       <KEYWORD3>Sorted</KEYWORD3>\r
-                       <KEYWORD3>SourceType</KEYWORD3>\r
-                       <KEYWORD3>Sparse</KEYWORD3>\r
-                       <KEYWORD3>SpecialEffect</KEYWORD3>\r
-                       <KEYWORD3>SpinnerHighValue</KEYWORD3>\r
-                       <KEYWORD3>SpinnerLowValue</KEYWORD3>\r
-                       <KEYWORD3>StatusBarText</KEYWORD3>\r
-                       <KEYWORD3>Stretch</KEYWORD3>\r
-                       <KEYWORD3>Style</KEYWORD3>\r
-                       <KEYWORD3>SystemRefCount</KEYWORD3>\r
-                       <KEYWORD3>Tabhit</KEYWORD3>\r
-                       <KEYWORD3>TabIndex</KEYWORD3>\r
-                       <KEYWORD3>Tabs</KEYWORD3>\r
-                       <KEYWORD3>TabStop</KEYWORD3>\r
-                       <KEYWORD3>TabStretch</KEYWORD3>\r
-                       <KEYWORD3>Tag</KEYWORD3>\r
-                       <KEYWORD3>TerminateRead</KEYWORD3>\r
-                       <KEYWORD3>ToolTipText</KEYWORD3>\r
-                       <KEYWORD3>Top</KEYWORD3>\r
-                       <KEYWORD3>TopIndex</KEYWORD3>\r
-                       <KEYWORD3>TopItemId</KEYWORD3>\r
-                       <KEYWORD3>UnlockDataSource</KEYWORD3>\r
-                       <KEYWORD3>Value</KEYWORD3>\r
-                       <KEYWORD3>ValueDirty</KEYWORD3>\r
-                       <KEYWORD3>View</KEYWORD3>\r
-                       <KEYWORD3>Visible</KEYWORD3>\r
-                       <KEYWORD3>WasActive</KEYWORD3>\r
-                       <KEYWORD3>WasOpen</KEYWORD3>\r
-                       <KEYWORD3>Width</KEYWORD3>\r
-                       <KEYWORD3>WindowList</KEYWORD3>\r
-                       <KEYWORD3>WindowNTIList</KEYWORD3>\r
-                       <KEYWORD3>WindowState</KEYWORD3>\r
-                       <KEYWORD3>WindowType</KEYWORD3>\r
-                       <KEYWORD3>WordWrap</KEYWORD3>\r
-                       <KEYWORD3>ZOrderSet</KEYWORD3>\r
-                       <KEYWORD3>AllowAddNew</KEYWORD3>\r
-                       <KEYWORD3>AllowHeaderSizing</KEYWORD3>\r
-                       <KEYWORD3>AllowRowSizing</KEYWORD3>\r
-                       <KEYWORD3>Application</KEYWORD3>\r
-                       <KEYWORD3>AutoVerbMenu</KEYWORD3>\r
-                       <KEYWORD3>AutoYield</KEYWORD3>\r
-                       <KEYWORD3>BoundTo</KEYWORD3>\r
-                       <KEYWORD3>DateFormat</KEYWORD3>\r
-                       <KEYWORD3>DateMark</KEYWORD3>\r
-                       <KEYWORD3>DefaultFilePath</KEYWORD3>\r
-                       <KEYWORD3>FullName</KEYWORD3>\r
-                       <KEYWORD3>Hours</KEYWORD3>\r
-                       <KEYWORD3>IMEMode</KEYWORD3>\r
-                       <KEYWORD3>IntegralHeight</KEYWORD3>\r
-                       <KEYWORD3>ItemTips</KEYWORD3>\r
-                       <KEYWORD3>MouseIcon</KEYWORD3>\r
-                       <KEYWORD3>NullDisplay</KEYWORD3>\r
-                       <KEYWORD3>OLERequestPendingTimou</KEYWORD3>\r
-                       <KEYWORD3>OLEServerBusyRaiseErro</KEYWORD3>\r
-                       <KEYWORD3>OLEServerBusyTimout</KEYWORD3>\r
-                       <KEYWORD3>OpenViews</KEYWORD3>\r
-                       <KEYWORD3>RightToLeft</KEYWORD3>\r
-                       <KEYWORD3>SDIForm</KEYWORD3>\r
-                       <KEYWORD3>ShowWindow</KEYWORD3>\r
-                       <KEYWORD3>SplitBar</KEYWORD3>\r
-                       <KEYWORD3>StrictDateEntry</KEYWORD3>\r
-                       <KEYWORD3>TabStyle</KEYWORD3>\r
-                       <KEYWORD3>WhatsThisButton</KEYWORD3>\r
-                       <KEYWORD3>WhatsThisHelp</KEYWORD3>\r
-                       <KEYWORD3>WhatsThisHelpID</KEYWORD3>\r
-                       <KEYWORD3>DisplayCount</KEYWORD3>\r
-                       <KEYWORD3>ContinuousScroll</KEYWORD3>\r
-                       <KEYWORD3>HscrollSmallChange</KEYWORD3>\r
-                       <KEYWORD3>TitleBar</KEYWORD3>\r
-                       <KEYWORD3>VscrollSmallChange</KEYWORD3>\r
-                       <KEYWORD3>ViewPortTop</KEYWORD3>\r
-                       <KEYWORD3>ViewPortLeft</KEYWORD3>\r
-                       <KEYWORD3>ViewPortHeight</KEYWORD3>\r
-                       <KEYWORD3>ViewPortWidth</KEYWORD3>\r
-                       <KEYWORD3>SetViewPort</KEYWORD3>\r
-                       <KEYWORD3>Scrolled</KEYWORD3>\r
-                       <KEYWORD3>StartMode</KEYWORD3>\r
-                       <KEYWORD3>ServerName</KEYWORD3>\r
-                       <KEYWORD3>OLEDragMode</KEYWORD3>\r
-                       <KEYWORD3>OLEDragPicture</KEYWORD3>\r
-                       <KEYWORD3>OLEDropEffects</KEYWORD3>\r
-                       <KEYWORD3>OLEDropHasData</KEYWORD3>\r
-                       <KEYWORD3>OLEDropMode</KEYWORD3>\r
-                       <KEYWORD3>ActiveProject</KEYWORD3>\r
-                       <KEYWORD3>Projects</KEYWORD3>\r
-                       <KEYWORD3>AutoIncrement</KEYWORD3>\r
-                       <KEYWORD3>BuildDateTime</KEYWORD3>\r
-                       <KEYWORD3>Debug</KEYWORD3>\r
-                       <KEYWORD3>Encrypted</KEYWORD3>\r
-                       <KEYWORD3>Files</KEYWORD3>\r
-                       <KEYWORD3>HomeDir</KEYWORD3>\r
-                       <KEYWORD3>MainClass</KEYWORD3>\r
-                       <KEYWORD3>MainFile</KEYWORD3>\r
-                       <KEYWORD3>ProjectHookClass</KEYWORD3>\r
-                       <KEYWORD3>ProjectHookLibrary</KEYWORD3>\r
-                       <KEYWORD3>SCCProvider</KEYWORD3>\r
-                       <KEYWORD3>ServerHelpFile</KEYWORD3>\r
-                       <KEYWORD3>ServerProject</KEYWORD3>\r
-                       <KEYWORD3>TypeLibCLSID</KEYWORD3>\r
-                       <KEYWORD3>TypeLibDesc</KEYWORD3>\r
-                       <KEYWORD3>TypeLibName</KEYWORD3>\r
-                       <KEYWORD3>VersionComments</KEYWORD3>\r
-                       <KEYWORD3>VersionCompany</KEYWORD3>\r
-                       <KEYWORD3>VersionCopyright</KEYWORD3>\r
-                       <KEYWORD3>VersionDescription</KEYWORD3>\r
-                       <KEYWORD3>VersionNumber</KEYWORD3>\r
-                       <KEYWORD3>VersionProduct</KEYWORD3>\r
-                       <KEYWORD3>VersionTrademarks</KEYWORD3>\r
-                       <KEYWORD3>Item</KEYWORD3>\r
-                       <KEYWORD3>CodePage</KEYWORD3>\r
-                       <KEYWORD3>Description</KEYWORD3>\r
-                       <KEYWORD3>FileClass</KEYWORD3>\r
-                       <KEYWORD3>FileClassLibrary</KEYWORD3>\r
-                       <KEYWORD3>LastModified</KEYWORD3>\r
-                       <KEYWORD3>SCCStatus</KEYWORD3>\r
-                       <KEYWORD3>CLSID</KEYWORD3>\r
-                       <KEYWORD3>Instancing</KEYWORD3>\r
-                       <KEYWORD3>ProgID</KEYWORD3>\r
-                       <KEYWORD3>ServerClass</KEYWORD3>\r
-                       <KEYWORD3>ServerClassLibrary</KEYWORD3>\r
-                       <KEYWORD3>ThreadID</KEYWORD3>\r
-                       <KEYWORD3>ProcessID</KEYWORD3>\r
-                       <KEYWORD3>AddLineFeeds</KEYWORD3>\r
-\r
-                       <!-- Other FoxPro's Keywords -->\r
-                       <KEYWORD3>MULTILOCKS</KEYWORD3>\r
-                       <KEYWORD3>FULLPATH</KEYWORD3>\r
-                       <KEYWORD3>UNIQUE</KEYWORD3>\r
-                       <KEYWORD3>CLASSLIB</KEYWORD3>\r
-                       <KEYWORD3>LIBRARY</KEYWORD3>\r
-                       <KEYWORD3>structure</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>production</KEYWORD3>\r
-                       <KEYWORD3>path</KEYWORD3>\r
-                       <KEYWORD3>date</KEYWORD3>\r
-                       <KEYWORD3>datetime</KEYWORD3>\r
-                       <KEYWORD3>rest</KEYWORD3>\r
-                       <KEYWORD3>fields</KEYWORD3>\r
-                       <KEYWORD3>array</KEYWORD3>\r
-                       <KEYWORD3>free</KEYWORD3>\r
-                       <KEYWORD3>structure</KEYWORD3>\r
-                       <KEYWORD3>ASCENDING</KEYWORD3>\r
-                       <KEYWORD3>window</KEYWORD3>\r
-                       <KEYWORD3>nowait</KEYWORD3>\r
-                       <KEYWORD3>between</KEYWORD3>\r
-                       <KEYWORD3>dbf</KEYWORD3>\r
-                       <KEYWORD3>noconsole</KEYWORD3>\r
-                       <KEYWORD3>dif</KEYWORD3>\r
-                       <KEYWORD3>xls</KEYWORD3>\r
-                       <KEYWORD3>csv</KEYWORD3>\r
-                       <KEYWORD3>delimited</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>decimal</KEYWORD3>\r
-                       <KEYWORD3>additive</KEYWORD3>\r
-                       <KEYWORD3>between</KEYWORD3>\r
-                       <KEYWORD3>noupdate</KEYWORD3>\r
-\r
-                       <KEYWORD3>Abs</KEYWORD3>\r
-                       <KEYWORD3>Accept</KEYWORD3>\r
-                       <KEYWORD3>Access</KEYWORD3>\r
-                       <KEYWORD3>Aclass</KEYWORD3>\r
-                       <KEYWORD3>Acopy</KEYWORD3>\r
-                       <KEYWORD3>Acos</KEYWORD3>\r
-                       <KEYWORD3>Adatabases</KEYWORD3>\r
-                       <KEYWORD3>Adbobjects</KEYWORD3>\r
-                       <KEYWORD3>Add</KEYWORD3>\r
-                       <KEYWORD3>Addrelationtoenv</KEYWORD3>\r
-                       <KEYWORD3>Addtabletoenv</KEYWORD3>\r
-                       <KEYWORD3>Adel</KEYWORD3>\r
-                       <KEYWORD3>Adir</KEYWORD3>\r
-                       <KEYWORD3>Aelement</KEYWORD3>\r
-                       <KEYWORD3>Aerror</KEYWORD3>\r
-                       <KEYWORD3>Afields</KEYWORD3>\r
-                       <KEYWORD3>Afont</KEYWORD3>\r
-                       <KEYWORD3>Again</KEYWORD3>\r
-                       <KEYWORD3>Ains</KEYWORD3>\r
-                       <KEYWORD3>Ainstance</KEYWORD3>\r
-                       <KEYWORD3>Alen</KEYWORD3>\r
-                       <KEYWORD3>All</KEYWORD3>\r
-                       <KEYWORD3>Alltrim</KEYWORD3>\r
-                       <KEYWORD3>Alter</KEYWORD3>\r
-                       <KEYWORD3>Amembers</KEYWORD3>\r
-                       <KEYWORD3>Ansitooem</KEYWORD3>\r
-                       <KEYWORD3>Append</KEYWORD3>\r
-                       <KEYWORD3>Aprinters</KEYWORD3>\r
-                       <KEYWORD3>Ascan</KEYWORD3>\r
-                       <KEYWORD3>Aselobj</KEYWORD3>\r
-                       <KEYWORD3>Asin</KEYWORD3>\r
-                       <KEYWORD3>Asort</KEYWORD3>\r
-                       <KEYWORD3>Assist</KEYWORD3>\r
-                       <KEYWORD3>Asubscript</KEYWORD3>\r
-                       <KEYWORD3>Asynchronous</KEYWORD3>\r
-                       <KEYWORD3>Atan</KEYWORD3>\r
-                       <KEYWORD3>Atc</KEYWORD3>\r
-                       <KEYWORD3>Atcline</KEYWORD3>\r
-                       <KEYWORD3>Atline</KEYWORD3>\r
-                       <KEYWORD3>Atn2</KEYWORD3>\r
-                       <KEYWORD3>Aused</KEYWORD3>\r
-                       <KEYWORD3>Autoform</KEYWORD3>\r
-                       <KEYWORD3>Autoreport</KEYWORD3>\r
-                       <KEYWORD3>Average</KEYWORD3>\r
-                       <KEYWORD3>Bar</KEYWORD3>\r
-                       <KEYWORD3>BatchMode</KEYWORD3>\r
-                       <KEYWORD3>BatchUpdateCount</KEYWORD3>\r
-                       <KEYWORD3>Begin</KEYWORD3>\r
-                       <KEYWORD3>Bell</KEYWORD3>\r
-                       <KEYWORD3>BellSound</KEYWORD3>\r
-                       <KEYWORD3>Bitand</KEYWORD3>\r
-                       <KEYWORD3>Bitclear</KEYWORD3>\r
-                       <KEYWORD3>Bitlshift</KEYWORD3>\r
-                       <KEYWORD3>Bitnot</KEYWORD3>\r
-                       <KEYWORD3>Bitor</KEYWORD3>\r
-                       <KEYWORD3>Bitrshift</KEYWORD3>\r
-                       <KEYWORD3>Bitset</KEYWORD3>\r
-                       <KEYWORD3>Bittest</KEYWORD3>\r
-                       <KEYWORD3>Bitxor</KEYWORD3>\r
-                       <KEYWORD3>Bof</KEYWORD3>\r
-                       <KEYWORD3>Bottom</KEYWORD3>\r
-                       <KEYWORD3>Browse</KEYWORD3>\r
-                       <KEYWORD3>BrowseRefresh</KEYWORD3>\r
-                       <KEYWORD3>Buffering</KEYWORD3>\r
-                       <KEYWORD3>Build</KEYWORD3>\r
-                       <KEYWORD3>BuilderLock</KEYWORD3>\r
-                       <KEYWORD3>By</KEYWORD3>\r
-                       <KEYWORD3>Calculate</KEYWORD3>\r
-                       <KEYWORD3>Call</KEYWORD3>\r
-                       <KEYWORD3>Capslock</KEYWORD3>\r
-                       <KEYWORD3>Case</KEYWORD3>\r
-                       <KEYWORD3>Cd</KEYWORD3>\r
-                       <KEYWORD3>Cdow</KEYWORD3>\r
-                       <KEYWORD3>Ceiling</KEYWORD3>\r
-                       <KEYWORD3>Central</KEYWORD3>\r
-                       <KEYWORD3>Century</KEYWORD3>\r
-                       <KEYWORD3>Change</KEYWORD3>\r
-                       <KEYWORD3>Char</KEYWORD3>\r
-                       <KEYWORD3>Chdir</KEYWORD3>\r
-                       <KEYWORD3>Checkbox</KEYWORD3>\r
-                       <KEYWORD3>Chr</KEYWORD3>\r
-                       <KEYWORD3>Chrsaw</KEYWORD3>\r
-                       <KEYWORD3>Chrtran</KEYWORD3>\r
-                       <KEYWORD3>Close</KEYWORD3>\r
-                       <KEYWORD3>Cmonth</KEYWORD3>\r
-                       <KEYWORD3>Cntbar</KEYWORD3>\r
-                       <KEYWORD3>Cntpad</KEYWORD3>\r
-                       <KEYWORD3>Col</KEYWORD3>\r
-                       <KEYWORD3>Column</KEYWORD3>\r
-                       <KEYWORD3>ComboBox</KEYWORD3>\r
-                       <KEYWORD3>CommandButton</KEYWORD3>\r
-                       <KEYWORD3>CommandGroup</KEYWORD3>\r
-                       <KEYWORD3>Compile</KEYWORD3>\r
-                       <KEYWORD3>Completed</KEYWORD3>\r
-                       <KEYWORD3>Compobj</KEYWORD3>\r
-                       <KEYWORD3>Compute</KEYWORD3>\r
-                       <KEYWORD3>Concat</KEYWORD3>\r
-                       <KEYWORD3>ConnectBusy</KEYWORD3>\r
-                       <KEYWORD3>ConnectHandle</KEYWORD3>\r
-                       <KEYWORD3>ConnectName</KEYWORD3>\r
-                       <KEYWORD3>ConnectString</KEYWORD3>\r
-                       <KEYWORD3>ConnectTimeOut</KEYWORD3>\r
-                       <KEYWORD3>Container</KEYWORD3>\r
-                       <KEYWORD3>Continue</KEYWORD3>\r
-                       <KEYWORD3>Control</KEYWORD3>\r
-                       <KEYWORD3>Copy</KEYWORD3>\r
-                       <KEYWORD3>Cos</KEYWORD3>\r
-                       <KEYWORD3>Cot</KEYWORD3>\r
-                       <KEYWORD3>Count</KEYWORD3>\r
-                       <KEYWORD3>Cpconvert</KEYWORD3>\r
-                       <KEYWORD3>Cpcurrent</KEYWORD3>\r
-                       <KEYWORD3>CPDialog</KEYWORD3>\r
-                       <KEYWORD3>Cpdbf</KEYWORD3>\r
-                       <KEYWORD3>Cpnotrans</KEYWORD3>\r
-                       <KEYWORD3>Create</KEYWORD3>\r
-                       <KEYWORD3>Createobject</KEYWORD3>\r
-                       <KEYWORD3>CrsBuffering</KEYWORD3>\r
-                       <KEYWORD3>CrsFetchMemo</KEYWORD3>\r
-                       <KEYWORD3>CrsFetchSize</KEYWORD3>\r
-                       <KEYWORD3>CrsMaxRows</KEYWORD3>\r
-                       <KEYWORD3>CrsMethodUsed</KEYWORD3>\r
-                       <KEYWORD3>CrsNumBatch</KEYWORD3>\r
-                       <KEYWORD3>CrsShareConnection</KEYWORD3>\r
-                       <KEYWORD3>CrsUseMemoSize</KEYWORD3>\r
-                       <KEYWORD3>CrsWhereClause</KEYWORD3>\r
-                       <KEYWORD3>Ctod</KEYWORD3>\r
-                       <KEYWORD3>Ctot</KEYWORD3>\r
-                       <KEYWORD3>Curdate</KEYWORD3>\r
-                       <KEYWORD3>Curdir</KEYWORD3>\r
-                       <KEYWORD3>CurrLeft</KEYWORD3>\r
-                       <KEYWORD3>CurrSymbol</KEYWORD3>\r
-                       <KEYWORD3>Cursor</KEYWORD3>\r
-                       <KEYWORD3>Curtime</KEYWORD3>\r
-                       <KEYWORD3>Curval</KEYWORD3>\r
-                       <KEYWORD3>Custom</KEYWORD3>\r
-                       <KEYWORD3>DataEnvironment</KEYWORD3>\r
-                       <KEYWORD3>Databases</KEYWORD3>\r
-                       <KEYWORD3>Datetime</KEYWORD3>\r
-                       <KEYWORD3>Day</KEYWORD3>\r
-                       <KEYWORD3>Dayname</KEYWORD3>\r
-                       <KEYWORD3>Dayofmonth</KEYWORD3>\r
-                       <KEYWORD3>Dayofweek</KEYWORD3>\r
-                       <KEYWORD3>Dayofyear</KEYWORD3>\r
-                       <KEYWORD3>Dbalias</KEYWORD3>\r
-                       <KEYWORD3>Dbused</KEYWORD3>\r
-                       <KEYWORD3>DB_BufLockRow</KEYWORD3>\r
-                       <KEYWORD3>DB_BufLockTable</KEYWORD3>\r
-                       <KEYWORD3>DB_BufOff</KEYWORD3>\r
-                       <KEYWORD3>DB_BufOptRow</KEYWORD3>\r
-                       <KEYWORD3>DB_BufOptTable</KEYWORD3>\r
-                       <KEYWORD3>DB_Complette</KEYWORD3>\r
-                       <KEYWORD3>DB_DeleteInsert</KEYWORD3>\r
-                       <KEYWORD3>DB_KeyAndModified</KEYWORD3>\r
-                       <KEYWORD3>DB_KeyAndTimestamp</KEYWORD3>\r
-                       <KEYWORD3>DB_KeyAndUpdatable</KEYWORD3>\r
-                       <KEYWORD3>DB_LocalSQL</KEYWORD3>\r
-                       <KEYWORD3>DB_NoPrompt</KEYWORD3>\r
-                       <KEYWORD3>DB_Prompt</KEYWORD3>\r
-                       <KEYWORD3>DB_RemoteSQL</KEYWORD3>\r
-                       <KEYWORD3>DB_TransAuto</KEYWORD3>\r
-                       <KEYWORD3>DB_TransManual</KEYWORD3>\r
-                       <KEYWORD3>DB_TransNone</KEYWORD3>\r
-                       <KEYWORD3>DB_Update</KEYWORD3>\r
-                       <KEYWORD3>Ddeaborttrans</KEYWORD3>\r
-                       <KEYWORD3>Ddeadvise</KEYWORD3>\r
-                       <KEYWORD3>Ddeenabled</KEYWORD3>\r
-                       <KEYWORD3>Ddeexecute</KEYWORD3>\r
-                       <KEYWORD3>Ddeinitiate</KEYWORD3>\r
-                       <KEYWORD3>Ddelasterror</KEYWORD3>\r
-                       <KEYWORD3>Ddepoke</KEYWORD3>\r
-                       <KEYWORD3>Dderequest</KEYWORD3>\r
-                       <KEYWORD3>Ddesetoption</KEYWORD3>\r
-                       <KEYWORD3>Ddesetservice</KEYWORD3>\r
-                       <KEYWORD3>Ddesettopic</KEYWORD3>\r
-                       <KEYWORD3>Ddeterminate</KEYWORD3>\r
-                       <KEYWORD3>Declare</KEYWORD3>\r
-                       <KEYWORD3>DefaultValue</KEYWORD3>\r
-                       <KEYWORD3>Define</KEYWORD3>\r
-                       <KEYWORD3>Degrees</KEYWORD3>\r
-                       <KEYWORD3>DeleteTrigger</KEYWORD3>\r
-                       <KEYWORD3>Desc</KEYWORD3>\r
-                       <KEYWORD3>Description</KEYWORD3>\r
-                       <KEYWORD3>Difference</KEYWORD3>\r
-                       <KEYWORD3>Dimension</KEYWORD3>\r
-                       <KEYWORD3>Dir</KEYWORD3>\r
-                       <KEYWORD3>Directory</KEYWORD3>\r
-                       <KEYWORD3>Diskspace</KEYWORD3>\r
-                       <KEYWORD3>Display</KEYWORD3>\r
-                       <KEYWORD3>DispLogin</KEYWORD3>\r
-                       <KEYWORD3>DispWarnings</KEYWORD3>\r
-                       <KEYWORD3>Distinct</KEYWORD3>\r
-                       <KEYWORD3>Dmy</KEYWORD3>\r
-                       <KEYWORD3>Do</KEYWORD3>\r
-                       <KEYWORD3>Doc</KEYWORD3>\r
-                       <KEYWORD3>Dow</KEYWORD3>\r
-                       <KEYWORD3>Drop</KEYWORD3>\r
-                       <KEYWORD3>Dtoc</KEYWORD3>\r
-                       <KEYWORD3>Dtor</KEYWORD3>\r
-                       <KEYWORD3>Dtos</KEYWORD3>\r
-                       <KEYWORD3>Dtot</KEYWORD3>\r
-                       <KEYWORD3>Edit</KEYWORD3>\r
-                       <KEYWORD3>EditBox</KEYWORD3>\r
-                       <KEYWORD3>Eject</KEYWORD3>\r
-                       <KEYWORD3>Elif</KEYWORD3>\r
-                       <KEYWORD3>Else</KEYWORD3>\r
-                       <KEYWORD3>Empty</KEYWORD3>\r
-                       <KEYWORD3>End</KEYWORD3>\r
-                       <KEYWORD3>Endcase</KEYWORD3>\r
-                       <KEYWORD3>Enddefine</KEYWORD3>\r
-                       <KEYWORD3>Enddo</KEYWORD3>\r
-                       <KEYWORD3>Endfor</KEYWORD3>\r
-                       <KEYWORD3>Endif</KEYWORD3>\r
-                       <KEYWORD3>Endprintjob</KEYWORD3>\r
-                       <KEYWORD3>Endscan</KEYWORD3>\r
-                       <KEYWORD3>Endtext</KEYWORD3>\r
-                       <KEYWORD3>Endwith</KEYWORD3>\r
-                       <KEYWORD3>Eof</KEYWORD3>\r
-                       <KEYWORD3>Erase</KEYWORD3>\r
-                       <KEYWORD3>Evaluate</KEYWORD3>\r
-                       <KEYWORD3>Exact</KEYWORD3>\r
-                       <KEYWORD3>Exclusive</KEYWORD3>\r
-                       <KEYWORD3>Exit</KEYWORD3>\r
-                       <KEYWORD3>Exp</KEYWORD3>\r
-                       <KEYWORD3>Export</KEYWORD3>\r
-                       <KEYWORD3>External</KEYWORD3>\r
-                       <KEYWORD3>Fchsize</KEYWORD3>\r
-                       <KEYWORD3>Fclose</KEYWORD3>\r
-                       <KEYWORD3>Fcount</KEYWORD3>\r
-                       <KEYWORD3>Fcreate</KEYWORD3>\r
-                       <KEYWORD3>Feof</KEYWORD3>\r
-                       <KEYWORD3>Ferror</KEYWORD3>\r
-                       <KEYWORD3>FetchMemo</KEYWORD3>\r
-                       <KEYWORD3>FetchSize</KEYWORD3>\r
-                       <KEYWORD3>Fflush</KEYWORD3>\r
-                       <KEYWORD3>Fgets</KEYWORD3>\r
-                       <KEYWORD3>File</KEYWORD3>\r
-                       <KEYWORD3>Filer</KEYWORD3>\r
-                       <KEYWORD3>Find</KEYWORD3>\r
-                       <KEYWORD3>Fklabel</KEYWORD3>\r
-                       <KEYWORD3>Fkmax</KEYWORD3>\r
-                       <KEYWORD3>Fldlist</KEYWORD3>\r
-                       <KEYWORD3>Flock</KEYWORD3>\r
-                       <KEYWORD3>Floor</KEYWORD3>\r
-                       <KEYWORD3>Flush</KEYWORD3>\r
-                       <KEYWORD3>FontClass</KEYWORD3>\r
-                       <KEYWORD3>Fontmetric</KEYWORD3>\r
-                       <KEYWORD3>Fopen</KEYWORD3>\r
-                       <KEYWORD3>For</KEYWORD3>\r
-                       <KEYWORD3>Form</KEYWORD3>\r
-                       <KEYWORD3>FormsClass</KEYWORD3>\r
-                       <KEYWORD3>Formset</KEYWORD3>\r
-                       <KEYWORD3>FormSetClass</KEYWORD3>\r
-                       <KEYWORD3>FormSetLib</KEYWORD3>\r
-                       <KEYWORD3>FormsLib</KEYWORD3>\r
-                       <KEYWORD3>Found</KEYWORD3>\r
-                       <KEYWORD3>Foxcode</KEYWORD3>\r
-                       <KEYWORD3>Foxdoc</KEYWORD3>\r
-                       <KEYWORD3>Foxgen</KEYWORD3>\r
-                       <KEYWORD3>Foxgraph</KEYWORD3>\r
-                       <KEYWORD3>FoxPro</KEYWORD3>\r
-                       <KEYWORD3>Foxview</KEYWORD3>\r
-                       <KEYWORD3>Fputs</KEYWORD3>\r
-                       <KEYWORD3>Fread</KEYWORD3>\r
-                       <KEYWORD3>From</KEYWORD3>\r
-                       <KEYWORD3>Fseek</KEYWORD3>\r
-                       <KEYWORD3>Fsize</KEYWORD3>\r
-                       <KEYWORD3>Fv</KEYWORD3>\r
-                       <KEYWORD3>Fwrite</KEYWORD3>\r
-                       <KEYWORD3>Gather</KEYWORD3>\r
-                       <KEYWORD3>General</KEYWORD3>\r
-                       <KEYWORD3>Getbar</KEYWORD3>\r
-                       <KEYWORD3>Getcolor</KEYWORD3>\r
-                       <KEYWORD3>Getcp</KEYWORD3>\r
-                       <KEYWORD3>Getdir</KEYWORD3>\r
-                       <KEYWORD3>Getenv</KEYWORD3>\r
-                       <KEYWORD3>Getexpr</KEYWORD3>\r
-                       <KEYWORD3>Getfile</KEYWORD3>\r
-                       <KEYWORD3>Getfldstate</KEYWORD3>\r
-                       <KEYWORD3>Getfont</KEYWORD3>\r
-                       <KEYWORD3>Getnextmodified</KEYWORD3>\r
-                       <KEYWORD3>Getobject</KEYWORD3>\r
-                       <KEYWORD3>Getpad</KEYWORD3>\r
-                       <KEYWORD3>Getpict</KEYWORD3>\r
-                       <KEYWORD3>Getprinter</KEYWORD3>\r
-                       <KEYWORD3>Go</KEYWORD3>\r
-                       <KEYWORD3>Gomonth</KEYWORD3>\r
-                       <KEYWORD3>Goto</KEYWORD3>\r
-                       <KEYWORD3>Graph</KEYWORD3>\r
-                       <KEYWORD3>Grid</KEYWORD3>\r
-                       <KEYWORD3>GridHorz</KEYWORD3>\r
-                       <KEYWORD3>GridShow</KEYWORD3>\r
-                       <KEYWORD3>GridShowPos</KEYWORD3>\r
-                       <KEYWORD3>GridSnap</KEYWORD3>\r
-                       <KEYWORD3>GridVert</KEYWORD3>\r
-                       <KEYWORD3>Header</KEYWORD3>\r
-                       <KEYWORD3>Help</KEYWORD3>\r
-                       <KEYWORD3>HelpOn</KEYWORD3>\r
-                       <KEYWORD3>HelpTo</KEYWORD3>\r
-                       <KEYWORD3>Hour</KEYWORD3>\r
-                       <KEYWORD3>IdleTimeOut</KEYWORD3>\r
-                       <KEYWORD3>Idxcollate</KEYWORD3>\r
-                       <KEYWORD3>If</KEYWORD3>\r
-                       <KEYWORD3>Ifdef</KEYWORD3>\r
-                       <KEYWORD3>Ifndef</KEYWORD3>\r
-                       <KEYWORD3>Iif</KEYWORD3>\r
-                       <KEYWORD3>Image</KEYWORD3>\r
-                       <KEYWORD3>Import</KEYWORD3>\r
-                       <KEYWORD3>Include</KEYWORD3>\r
-                       <KEYWORD3>Indbc</KEYWORD3>\r
-                       <KEYWORD3>Index</KEYWORD3>\r
-                       <KEYWORD3>Inkey</KEYWORD3>\r
-                       <KEYWORD3>Inlist</KEYWORD3>\r
-                       <KEYWORD3>Input</KEYWORD3>\r
-                       <KEYWORD3>Insert</KEYWORD3>\r
-                       <KEYWORD3>InsertTrigger</KEYWORD3>\r
-                       <KEYWORD3>Insmode</KEYWORD3>\r
-                       <KEYWORD3>Into</KEYWORD3>\r
-                       <KEYWORD3>Isalpha</KEYWORD3>\r
-                       <KEYWORD3>Iscolor</KEYWORD3>\r
-                       <KEYWORD3>Isdigit</KEYWORD3>\r
-                       <KEYWORD3>Isexclusive</KEYWORD3>\r
-                       <KEYWORD3>Islower</KEYWORD3>\r
-                       <KEYWORD3>Isnull</KEYWORD3>\r
-                       <KEYWORD3>Isreadonly</KEYWORD3>\r
-                       <KEYWORD3>Isupper</KEYWORD3>\r
-                       <KEYWORD3>Join</KEYWORD3>\r
-                       <KEYWORD3>Keyboard</KEYWORD3>\r
-                       <KEYWORD3>KeyField</KEYWORD3>\r
-                       <KEYWORD3>KeyFieldList</KEYWORD3>\r
-                       <KEYWORD3>Keymatch</KEYWORD3>\r
-                       <KEYWORD3>Label</KEYWORD3>\r
-                       <KEYWORD3>Lastkey</KEYWORD3>\r
-                       <KEYWORD3>LastProject</KEYWORD3>\r
-                       <KEYWORD3>Lcase</KEYWORD3>\r
-                       <KEYWORD3>Len</KEYWORD3>\r
-                       <KEYWORD3>Length</KEYWORD3>\r
-                       <KEYWORD3>Lineno</KEYWORD3>\r
-                       <KEYWORD3>ListBox</KEYWORD3>\r
-                       <KEYWORD3>Local</KEYWORD3>\r
-                       <KEYWORD3>Locate</KEYWORD3>\r
-                       <KEYWORD3>Locfile</KEYWORD3>\r
-                       <KEYWORD3>Log</KEYWORD3>\r
-                       <KEYWORD3>Log10</KEYWORD3>\r
-                       <KEYWORD3>Logout</KEYWORD3>\r
-                       <KEYWORD3>Lookup</KEYWORD3>\r
-                       <KEYWORD3>Loop</KEYWORD3>\r
-                       <KEYWORD3>Lower</KEYWORD3>\r
-                       <KEYWORD3>Lparameters</KEYWORD3>\r
-                       <KEYWORD3>Ltrim</KEYWORD3>\r
-                       <KEYWORD3>Lupdate</KEYWORD3>\r
-                       <KEYWORD3>Mail</KEYWORD3>\r
-                       <KEYWORD3>MaxRecords</KEYWORD3>\r
-                       <KEYWORD3>Mcol</KEYWORD3>\r
-                       <KEYWORD3>Md</KEYWORD3>\r
-                       <KEYWORD3>Mdown</KEYWORD3>\r
-                       <KEYWORD3>Mdx</KEYWORD3>\r
-                       <KEYWORD3>Mdy</KEYWORD3>\r
-                       <KEYWORD3>Memlines</KEYWORD3>\r
-                       <KEYWORD3>Memo</KEYWORD3>\r
-                       <KEYWORD3>Menu</KEYWORD3>\r
-                       <KEYWORD3>Messagebox</KEYWORD3>\r
-                       <KEYWORD3>Minute</KEYWORD3>\r
-                       <KEYWORD3>Mkdir</KEYWORD3>\r
-                       <KEYWORD3>Mline</KEYWORD3>\r
-                       <KEYWORD3>Modify</KEYWORD3>\r
-                       <KEYWORD3>Month</KEYWORD3>\r
-                       <KEYWORD3>Monthname</KEYWORD3>\r
-                       <KEYWORD3>Mouse</KEYWORD3>\r
-                       <KEYWORD3>Mrkbar</KEYWORD3>\r
-                       <KEYWORD3>Mrkpad</KEYWORD3>\r
-                       <KEYWORD3>Mrow</KEYWORD3>\r
-                       <KEYWORD3>Mton</KEYWORD3>\r
-                       <KEYWORD3>Mwindow</KEYWORD3>\r
-                       <KEYWORD3>Native</KEYWORD3>\r
-                       <KEYWORD3>Ndx</KEYWORD3>\r
-                       <KEYWORD3>Network</KEYWORD3>\r
-                       <KEYWORD3>Next</KEYWORD3>\r
-                       <KEYWORD3>Nodefault</KEYWORD3>\r
-                       <KEYWORD3>Normalize</KEYWORD3>\r
-                       <KEYWORD3>Note</KEYWORD3>\r
-                       <KEYWORD3>Now</KEYWORD3>\r
-                       <KEYWORD3>Ntom</KEYWORD3>\r
-                       <KEYWORD3>NullString</KEYWORD3>\r
-                       <KEYWORD3>Numlock</KEYWORD3>\r
-                       <KEYWORD3>Nvl</KEYWORD3>\r
-                       <KEYWORD3>Objnum</KEYWORD3>\r
-                       <KEYWORD3>Objref</KEYWORD3>\r
-                       <KEYWORD3>Objtoclient</KEYWORD3>\r
-                       <KEYWORD3>Objvar</KEYWORD3>\r
-                       <KEYWORD3>Occurs</KEYWORD3>\r
-                       <KEYWORD3>ODBChdbc</KEYWORD3>\r
-                       <KEYWORD3>ODBChstmt</KEYWORD3>\r
-                       <KEYWORD3>Oemtoansi</KEYWORD3>\r
-                       <KEYWORD3>Off</KEYWORD3>\r
-                       <KEYWORD3>Oldval</KEYWORD3>\r
-                       <KEYWORD3>OleBaseControl</KEYWORD3>\r
-                       <KEYWORD3>OleBoundControl</KEYWORD3>\r
-                       <KEYWORD3>OleClassIDispOut</KEYWORD3>\r
-                       <KEYWORD3>OleControl</KEYWORD3>\r
-                       <KEYWORD3>On</KEYWORD3>\r
-                       <KEYWORD3>Open</KEYWORD3>\r
-                       <KEYWORD3>OptionButton</KEYWORD3>\r
-                       <KEYWORD3>OptionGroup</KEYWORD3>\r
-                       <KEYWORD3>Oracle</KEYWORD3>\r
-                       <KEYWORD3>Order</KEYWORD3>\r
-                       <KEYWORD3>Os</KEYWORD3>\r
-                       <KEYWORD3>Otherwise</KEYWORD3>\r
-                       <KEYWORD3>Pack</KEYWORD3>\r
-                       <KEYWORD3>PacketSize</KEYWORD3>\r
-                       <KEYWORD3>Padc</KEYWORD3>\r
-                       <KEYWORD3>Padl</KEYWORD3>\r
-                       <KEYWORD3>Padr</KEYWORD3>\r
-                       <KEYWORD3>Page</KEYWORD3>\r
-                       <KEYWORD3>PageFrame</KEYWORD3>\r
-                       <KEYWORD3>Parameters</KEYWORD3>\r
-                       <KEYWORD3>Payment</KEYWORD3>\r
-                       <KEYWORD3>Pcol</KEYWORD3>\r
-                       <KEYWORD3>Percent</KEYWORD3>\r
-                       <KEYWORD3>Pi</KEYWORD3>\r
-                       <KEYWORD3>Pivot</KEYWORD3>\r
-                       <KEYWORD3>Play</KEYWORD3>\r
-                       <KEYWORD3>Pop</KEYWORD3>\r
-                       <KEYWORD3>Power</KEYWORD3>\r
-                       <KEYWORD3>PrimaryKey</KEYWORD3>\r
-                       <KEYWORD3>Printjob</KEYWORD3>\r
-                       <KEYWORD3>Printstatus</KEYWORD3>\r
-                       <KEYWORD3>Private</KEYWORD3>\r
-                       <KEYWORD3>Prmbar</KEYWORD3>\r
-                       <KEYWORD3>Prmpad</KEYWORD3>\r
-                       <KEYWORD3>Program</KEYWORD3>\r
-                       <KEYWORD3>ProjectClick</KEYWORD3>\r
-                       <KEYWORD3>Proper</KEYWORD3>\r
-                       <KEYWORD3>Protected</KEYWORD3>\r
-                       <KEYWORD3>Prow</KEYWORD3>\r
-                       <KEYWORD3>Prtinfo</KEYWORD3>\r
-                       <KEYWORD3>Public</KEYWORD3>\r
-                       <KEYWORD3>Push</KEYWORD3>\r
-                       <KEYWORD3>Putfile</KEYWORD3>\r
-                       <KEYWORD3>Pv</KEYWORD3>\r
-                       <KEYWORD3>Qpr</KEYWORD3>\r
-                       <KEYWORD3>Quater</KEYWORD3>\r
-                       <KEYWORD3>QueryTimeOut</KEYWORD3>\r
-                       <KEYWORD3>Quit</KEYWORD3>\r
-                       <KEYWORD3>Radians</KEYWORD3>\r
-                       <KEYWORD3>Rand</KEYWORD3>\r
-                       <KEYWORD3>Rat</KEYWORD3>\r
-                       <KEYWORD3>Ratline</KEYWORD3>\r
-                       <KEYWORD3>Rd</KEYWORD3>\r
-                       <KEYWORD3>Rdlevel</KEYWORD3>\r
-                       <KEYWORD3>Read</KEYWORD3>\r
-                       <KEYWORD3>Readkey</KEYWORD3>\r
-                       <KEYWORD3>Recall</KEYWORD3>\r
-                       <KEYWORD3>Reccount</KEYWORD3>\r
-                       <KEYWORD3>RecentlyUsedFiles</KEYWORD3>\r
-                       <KEYWORD3>Recno</KEYWORD3>\r
-                       <KEYWORD3>Recsize</KEYWORD3>\r
-                       <KEYWORD3>RectClass</KEYWORD3>\r
-                       <KEYWORD3>Regional</KEYWORD3>\r
-                       <KEYWORD3>Reindex</KEYWORD3>\r
-                       <KEYWORD3>RelatedChild</KEYWORD3>\r
-                       <KEYWORD3>RelatedTable</KEYWORD3>\r
-                       <KEYWORD3>RelatedTag</KEYWORD3>\r
-                       <KEYWORD3>Relation</KEYWORD3>\r
-                       <KEYWORD3>Remove</KEYWORD3>\r
-                       <KEYWORD3>Rename</KEYWORD3>\r
-                       <KEYWORD3>Repeat</KEYWORD3>\r
-                       <KEYWORD3>Replace</KEYWORD3>\r
-                       <KEYWORD3>Replicate</KEYWORD3>\r
-                       <KEYWORD3>Report</KEYWORD3>\r
-                       <KEYWORD3>Reprocess</KEYWORD3>\r
-                       <KEYWORD3>ResHeight</KEYWORD3>\r
-                       <KEYWORD3>ResourceOn</KEYWORD3>\r
-                       <KEYWORD3>ResourceTo</KEYWORD3>\r
-                       <KEYWORD3>Restore</KEYWORD3>\r
-                       <KEYWORD3>Resume</KEYWORD3>\r
-                       <KEYWORD3>ResWidth</KEYWORD3>\r
-                       <KEYWORD3>Retry</KEYWORD3>\r
-                       <KEYWORD3>Return</KEYWORD3>\r
-                       <KEYWORD3>Rgbscheme</KEYWORD3>\r
-                       <KEYWORD3>Rlock</KEYWORD3>\r
-                       <KEYWORD3>Rmdir</KEYWORD3>\r
-                       <KEYWORD3>Rollback</KEYWORD3>\r
-                       <KEYWORD3>Round</KEYWORD3>\r
-                       <KEYWORD3>Rtod</KEYWORD3>\r
-                       <KEYWORD3>Rtrim</KEYWORD3>\r
-                       <KEYWORD3>RuleExpression</KEYWORD3>\r
-                       <KEYWORD3>RuleText</KEYWORD3>\r
-                       <KEYWORD3>Run</KEYWORD3>\r
-                       <KEYWORD3>Runscript</KEYWORD3>\r
-                       <KEYWORD3>Rview</KEYWORD3>\r
-                       <KEYWORD3>Save</KEYWORD3>\r
-                       <KEYWORD3>Safety</KEYWORD3>\r
-                       <KEYWORD3>ScaleUnits</KEYWORD3>\r
-                       <KEYWORD3>Scan</KEYWORD3>\r
-                       <KEYWORD3>Scatter</KEYWORD3>\r
-                       <KEYWORD3>Scols</KEYWORD3>\r
-                       <KEYWORD3>Scroll</KEYWORD3>\r
-                       <KEYWORD3>Sec</KEYWORD3>\r
-                       <KEYWORD3>Second</KEYWORD3>\r
-                       <KEYWORD3>Seek</KEYWORD3>\r
-                       <KEYWORD3>Select</KEYWORD3>\r
-                       <KEYWORD3>SendUpdates</KEYWORD3>\r
-                       <KEYWORD3>Separator</KEYWORD3>\r
-                       <KEYWORD3>Set</KEYWORD3>\r
-                       <KEYWORD3>SetDefault</KEYWORD3>\r
-                       <KEYWORD3>Setfldstate</KEYWORD3>\r
-                       <KEYWORD3>Setup</KEYWORD3>\r
-                       <KEYWORD3>Shape</KEYWORD3>\r
-                       <KEYWORD3>Shared</KEYWORD3>\r
-                       <KEYWORD3>ShareConnection</KEYWORD3>\r
-                       <KEYWORD3>ShowOLEControls</KEYWORD3>\r
-                       <KEYWORD3>ShowOLEInsertable</KEYWORD3>\r
-                       <KEYWORD3>ShowVCXs</KEYWORD3>\r
-                       <KEYWORD3>Sign</KEYWORD3>\r
-                       <KEYWORD3>Sin</KEYWORD3>\r
-                       <KEYWORD3>Size</KEYWORD3>\r
-                       <KEYWORD3>Skpbar</KEYWORD3>\r
-                       <KEYWORD3>Skppad</KEYWORD3>\r
-                       <KEYWORD3>Sort</KEYWORD3>\r
-                       <KEYWORD3>Soundex</KEYWORD3>\r
-                       <KEYWORD3>SourceName</KEYWORD3>\r
-                       <KEYWORD3>Spinner</KEYWORD3>\r
-                       <KEYWORD3>SQLAsynchronous</KEYWORD3>\r
-                       <KEYWORD3>SQLBatchMode</KEYWORD3>\r
-                       <KEYWORD3>Sqlcommit</KEYWORD3>\r
-                       <KEYWORD3>SQLConnectTimeOut</KEYWORD3>\r
-                       <KEYWORD3>SQLDispLogin</KEYWORD3>\r
-                       <KEYWORD3>SQLDispWarnings</KEYWORD3>\r
-                       <KEYWORD3>SQLIdleTimeOut</KEYWORD3>\r
-                       <KEYWORD3>Sqll</KEYWORD3>\r
-                       <KEYWORD3>SQLQueryTimeOut</KEYWORD3>\r
-                       <KEYWORD3>Sqlrollback</KEYWORD3>\r
-                       <KEYWORD3>Sqlstringconnect</KEYWORD3>\r
-                       <KEYWORD3>SQLTransactions</KEYWORD3>\r
-                       <KEYWORD3>SQLWaitTime</KEYWORD3>\r
-                       <KEYWORD3>Sqrt</KEYWORD3>\r
-                       <KEYWORD3>Srows</KEYWORD3>\r
-                       <KEYWORD3>StatusBar</KEYWORD3>\r
-                       <KEYWORD3>Status</KEYWORD3>\r
-                       <KEYWORD3>Store</KEYWORD3>\r
-                       <KEYWORD3>Str</KEYWORD3>\r
-                       <KEYWORD3>Strtran</KEYWORD3>\r
-                       <KEYWORD3>Stuff</KEYWORD3>\r
-                       <KEYWORD3>Substr</KEYWORD3>\r
-                       <KEYWORD3>Substring</KEYWORD3>\r
-                       <KEYWORD3>Sum</KEYWORD3>\r
-                       <KEYWORD3>Suspend</KEYWORD3>\r
-                       <KEYWORD3>Sys</KEYWORD3>\r
-                       <KEYWORD3>Sysmetric</KEYWORD3>\r
-                       <KEYWORD3>Table</KEYWORD3>\r
-                       <KEYWORD3>TableRefresh</KEYWORD3>\r
-                       <KEYWORD3>Tablerevert</KEYWORD3>\r
-                       <KEYWORD3>Tableupdate</KEYWORD3>\r
-                       <KEYWORD3>TabOrdering</KEYWORD3>\r
-                       <KEYWORD3>Talk</KEYWORD3>\r
-                       <KEYWORD3>Tan</KEYWORD3>\r
-                       <KEYWORD3>Target</KEYWORD3>\r
-                       <KEYWORD3>Text</KEYWORD3>\r
-                       <KEYWORD3>TextBox</KEYWORD3>\r
-                       <KEYWORD3>Timestamp</KEYWORD3>\r
-                       <KEYWORD3>Timestampdiff</KEYWORD3>\r
-                       <KEYWORD3>To</KEYWORD3>\r
-                       <KEYWORD3>Toolbar</KEYWORD3>\r
-                       <KEYWORD3>Total</KEYWORD3>\r
-                       <KEYWORD3>Transaction</KEYWORD3>\r
-                       <KEYWORD3>Transform</KEYWORD3>\r
-                       <KEYWORD3>Trim</KEYWORD3>\r
-                       <KEYWORD3>Truncate</KEYWORD3>\r
-                       <KEYWORD3>Ttoc</KEYWORD3>\r
-                       <KEYWORD3>Ttod</KEYWORD3>\r
-                       <KEYWORD3>Txnlevel</KEYWORD3>\r
-                       <KEYWORD3>Txtwidth</KEYWORD3>\r
-                       <KEYWORD3>Type</KEYWORD3>\r
-                       <KEYWORD3>Ucase</KEYWORD3>\r
-                       <KEYWORD3>Undefine</KEYWORD3>\r
-                       <KEYWORD3>Unlock</KEYWORD3>\r
-                       <KEYWORD3>Unpack</KEYWORD3>\r
-                       <KEYWORD3>Updatable</KEYWORD3>\r
-                       <KEYWORD3>UpdatableFieldList</KEYWORD3>\r
-                       <KEYWORD3>Update</KEYWORD3>\r
-                       <KEYWORD3>Updated</KEYWORD3>\r
-                       <KEYWORD3>UpdateName</KEYWORD3>\r
-                       <KEYWORD3>UpdateNameList</KEYWORD3>\r
-                       <KEYWORD3>UpdateTrigger</KEYWORD3>\r
-                       <KEYWORD3>UpdateType</KEYWORD3>\r
-                       <KEYWORD3>Upper</KEYWORD3>\r
-                       <KEYWORD3>Upsizing</KEYWORD3>\r
-                       <KEYWORD3>Use</KEYWORD3>\r
-                       <KEYWORD3>Used</KEYWORD3>\r
-                       <KEYWORD3>UseMemoSize</KEYWORD3>\r
-                       <KEYWORD3>Val</KEYWORD3>\r
-                       <KEYWORD3>Validate</KEYWORD3>\r
-                       <KEYWORD3>Values</KEYWORD3>\r
-                       <KEYWORD3>Varread</KEYWORD3>\r
-                       <KEYWORD3>Version</KEYWORD3>\r
-                       <KEYWORD3>Wait</KEYWORD3>\r
-                       <KEYWORD3>WaitTime</KEYWORD3>\r
-                       <KEYWORD3>Wborder</KEYWORD3>\r
-                       <KEYWORD3>Wchild</KEYWORD3>\r
-                       <KEYWORD3>Wcols</KEYWORD3>\r
-                       <KEYWORD3>Week</KEYWORD3>\r
-                       <KEYWORD3>Wexist</KEYWORD3>\r
-                       <KEYWORD3>Wfont</KEYWORD3>\r
-                       <KEYWORD3>Where</KEYWORD3>\r
-                       <KEYWORD3>WhereType</KEYWORD3>\r
-                       <KEYWORD3>While</KEYWORD3>\r
-                       <KEYWORD3>Windcmd</KEYWORD3>\r
-                       <KEYWORD3>Windhelp</KEYWORD3>\r
-                       <KEYWORD3>Windmemo</KEYWORD3>\r
-                       <KEYWORD3>Windmenu</KEYWORD3>\r
-                       <KEYWORD3>Windmodify</KEYWORD3>\r
-                       <KEYWORD3>Windquery</KEYWORD3>\r
-                       <KEYWORD3>Windscreen</KEYWORD3>\r
-                       <KEYWORD3>Windsnip</KEYWORD3>\r
-                       <KEYWORD3>Windstproc</KEYWORD3>\r
-                       <KEYWORD3>With</KEYWORD3>\r
-                       <KEYWORD3>WizardPrompt</KEYWORD3>\r
-                       <KEYWORD3>Wlast</KEYWORD3>\r
-                       <KEYWORD3>Wlcol</KEYWORD3>\r
-                       <KEYWORD3>Wlrow</KEYWORD3>\r
-                       <KEYWORD3>Wmaximum</KEYWORD3>\r
-                       <KEYWORD3>Wminimum</KEYWORD3>\r
-                       <KEYWORD3>Wontop</KEYWORD3>\r
-                       <KEYWORD3>Woutput</KEYWORD3>\r
-                       <KEYWORD3>Wparent</KEYWORD3>\r
-                       <KEYWORD3>Wread</KEYWORD3>\r
-                       <KEYWORD3>Wrows</KEYWORD3>\r
-                       <KEYWORD3>Wtitle</KEYWORD3>\r
-                       <KEYWORD3>Wvisible</KEYWORD3>\r
-                       <KEYWORD3>Year</KEYWORD3>\r
-                       <KEYWORD3>Zap</KEYWORD3>\r
-                       <KEYWORD3>[</KEYWORD3>\r
-                       <KEYWORD3>]</KEYWORD3>\r
-                       <KEYWORD3>^</KEYWORD3>\r
-                       <KEYWORD3>_Alignment</KEYWORD3>\r
-                       <KEYWORD3>_Asciicols</KEYWORD3>\r
-                       <KEYWORD3>_Asciirows</KEYWORD3>\r
-                       <KEYWORD3>_Assist</KEYWORD3>\r
-                       <KEYWORD3>_Beautify</KEYWORD3>\r
-                       <KEYWORD3>_Box</KEYWORD3>\r
-                       <KEYWORD3>_Browser</KEYWORD3>\r
-                       <KEYWORD3>_Builder</KEYWORD3>\r
-                       <KEYWORD3>_Calcmem</KEYWORD3>\r
-                       <KEYWORD3>_Calcvalue</KEYWORD3>\r
-                       <KEYWORD3>_Cliptext</KEYWORD3>\r
-                       <KEYWORD3>_Converter</KEYWORD3>\r
-                       <KEYWORD3>_Curobj</KEYWORD3>\r
-                       <KEYWORD3>_Dblclick</KEYWORD3>\r
-                       <KEYWORD3>_Diarydate</KEYWORD3>\r
-                       <KEYWORD3>_Dos</KEYWORD3>\r
-                       <KEYWORD3>_Foxdoc</KEYWORD3>\r
-                       <KEYWORD3>_Foxgraph</KEYWORD3>\r
-                       <KEYWORD3>_Gengraph</KEYWORD3>\r
-                       <KEYWORD3>_Genmenu</KEYWORD3>\r
-                       <KEYWORD3>_Genpd</KEYWORD3>\r
-                       <KEYWORD3>_Genscrn</KEYWORD3>\r
-                       <KEYWORD3>_Genxtab</KEYWORD3>\r
-                       <KEYWORD3>_Indent</KEYWORD3>\r
-                       <KEYWORD3>_Lmargin</KEYWORD3>\r
-                       <KEYWORD3>_Mac</KEYWORD3>\r
-                       <KEYWORD3>_Mbrowse</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_appnd</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_cpart</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_delet</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_font</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_goto</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_grid</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_link</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_mode</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_mvfld</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_mvprt</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_seek</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mbr_szfld</KEYWORD3>\r
-                       <KEYWORD3>_Mdata</KEYWORD3>\r
-                       <KEYWORD3>_Mda_appnd</KEYWORD3>\r
-                       <KEYWORD3>_Mda_avg</KEYWORD3>\r
-                       <KEYWORD3>_Mda_brow</KEYWORD3>\r
-                       <KEYWORD3>_Mda_calc</KEYWORD3>\r
-                       <KEYWORD3>_Mda_copy</KEYWORD3>\r
-                       <KEYWORD3>_Mda_count</KEYWORD3>\r
-                       <KEYWORD3>_Mda_label</KEYWORD3>\r
-                       <KEYWORD3>_Mda_pack</KEYWORD3>\r
-                       <KEYWORD3>_Mda_reprt</KEYWORD3>\r
-                       <KEYWORD3>_Mda_rindx</KEYWORD3>\r
-                       <KEYWORD3>_Mda_setup</KEYWORD3>\r
-                       <KEYWORD3>_Mda_sort</KEYWORD3>\r
-                       <KEYWORD3>_Mda_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mda_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mda_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Mda_sum</KEYWORD3>\r
-                       <KEYWORD3>_Mda_total</KEYWORD3>\r
-                       <KEYWORD3>_Mdiary</KEYWORD3>\r
-                       <KEYWORD3>_Medit</KEYWORD3>\r
-                       <KEYWORD3>_Med_clear</KEYWORD3>\r
-                       <KEYWORD3>_Med_copy</KEYWORD3>\r
-                       <KEYWORD3>_Med_cut</KEYWORD3>\r
-                       <KEYWORD3>_Med_cvtst</KEYWORD3>\r
-                       <KEYWORD3>_Med_find</KEYWORD3>\r
-                       <KEYWORD3>_Med_finda</KEYWORD3>\r
-                       <KEYWORD3>_Med_goto</KEYWORD3>\r
-                       <KEYWORD3>_Med_insob</KEYWORD3>\r
-                       <KEYWORD3>_Med_link</KEYWORD3>\r
-                       <KEYWORD3>_Med_obj</KEYWORD3>\r
-                       <KEYWORD3>_Med_paste</KEYWORD3>\r
-                       <KEYWORD3>_Med_pref</KEYWORD3>\r
-                       <KEYWORD3>_Med_pstlk</KEYWORD3>\r
-                       <KEYWORD3>_Med_redo</KEYWORD3>\r
-                       <KEYWORD3>_Med_repl</KEYWORD3>\r
-                       <KEYWORD3>_Med_repla</KEYWORD3>\r
-                       <KEYWORD3>_Med_slcta</KEYWORD3>\r
-                       <KEYWORD3>_Med_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Med_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Med_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Med_sp400</KEYWORD3>\r
-                       <KEYWORD3>_Med_sp500</KEYWORD3>\r
-                       <KEYWORD3>_Med_undo</KEYWORD3>\r
-                       <KEYWORD3>_Mfile</KEYWORD3>\r
-                       <KEYWORD3>_Mfiler</KEYWORD3>\r
-                       <KEYWORD3>_Mfirst</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_clall</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_close</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_export</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_import</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_new</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_open</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_pgset</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_prevu</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_print</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_quit</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_revrt</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_savas</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_save</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_send</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_setup</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Mfi_sp400</KEYWORD3>\r
-                       <KEYWORD3>_Mlabel</KEYWORD3>\r
-                       <KEYWORD3>_Mlast</KEYWORD3>\r
-                       <KEYWORD3>_Mline</KEYWORD3>\r
-                       <KEYWORD3>_Mmacro</KEYWORD3>\r
-                       <KEYWORD3>_Mmbldr</KEYWORD3>\r
-                       <KEYWORD3>_Mprog</KEYWORD3>\r
-                       <KEYWORD3>_Mproj</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_beaut</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_cancl</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_compl</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_do</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_docum</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_formwz</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_gener</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_graph</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_resum</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Mpr_suspend</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_appnd</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_chnge</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_cont</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_delet</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_goto</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_locat</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_recal</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_repl</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_seek</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mrc_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mrecord</KEYWORD3>\r
-                       <KEYWORD3>_Mreport</KEYWORD3>\r
-                       <KEYWORD3>_Mrqbe</KEYWORD3>\r
-                       <KEYWORD3>_Mscreen</KEYWORD3>\r
-                       <KEYWORD3>_Msm_data</KEYWORD3>\r
-                       <KEYWORD3>_Msm_edit</KEYWORD3>\r
-                       <KEYWORD3>_Msm_file</KEYWORD3>\r
-                       <KEYWORD3>_Msm_format</KEYWORD3>\r
-                       <KEYWORD3>_Msm_prog</KEYWORD3>\r
-                       <KEYWORD3>_Msm_recrd</KEYWORD3>\r
-                       <KEYWORD3>_Msm_systm</KEYWORD3>\r
-                       <KEYWORD3>_Msm_text</KEYWORD3>\r
-                       <KEYWORD3>_Msm_tools</KEYWORD3>\r
-                       <KEYWORD3>_Msm_view</KEYWORD3>\r
-                       <KEYWORD3>_Msm_windo</KEYWORD3>\r
-                       <KEYWORD3>_Mst_about</KEYWORD3>\r
-                       <KEYWORD3>_Mst_ascii</KEYWORD3>\r
-                       <KEYWORD3>_Mst_calcu</KEYWORD3>\r
-                       <KEYWORD3>_Mst_captr</KEYWORD3>\r
-                       <KEYWORD3>_Mst_dbase</KEYWORD3>\r
-                       <KEYWORD3>_Mst_diary</KEYWORD3>\r
-                       <KEYWORD3>_Mst_filer</KEYWORD3>\r
-                       <KEYWORD3>_Mst_help</KEYWORD3>\r
-                       <KEYWORD3>_Mst_hphow</KEYWORD3>\r
-                       <KEYWORD3>_Mst_hpsch</KEYWORD3>\r
-                       <KEYWORD3>_Mst_macro</KEYWORD3>\r
-                       <KEYWORD3>_Mst_office</KEYWORD3>\r
-                       <KEYWORD3>_Mst_puzzl</KEYWORD3>\r
-                       <KEYWORD3>_Mst_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mst_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mst_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Mst_specl</KEYWORD3>\r
-                       <KEYWORD3>_Msysmenu</KEYWORD3>\r
-                       <KEYWORD3>_Msystem</KEYWORD3>\r
-                       <KEYWORD3>_Mtable</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_appnd</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_cpart</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_delet</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_delrc</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_goto</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_link</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_mvfld</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_mvprt</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_props</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_recal</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_sp300</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_sp400</KEYWORD3>\r
-                       <KEYWORD3>_Mtb_szfld</KEYWORD3>\r
-                       <KEYWORD3>_Mwindow</KEYWORD3>\r
-                       <KEYWORD3>_Mwizards</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_arran</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_clear</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_cmd</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_color</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_debug</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_hide</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_hidea</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_min</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_move</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_rotat</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_showa</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_size</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_sp100</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_sp200</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_toolb</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_trace</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_view</KEYWORD3>\r
-                       <KEYWORD3>_Mwi_zoom</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_all</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_form</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_foxdoc</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_import</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_label</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_mail</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_pivot</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_query</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_reprt</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_setup</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_table</KEYWORD3>\r
-                       <KEYWORD3>_Mwz_upsizing</KEYWORD3>\r
-                       <KEYWORD3>_Netware</KEYWORD3>\r
-                       <KEYWORD3>_Oracle</KEYWORD3>\r
-                       <KEYWORD3>_Padvance</KEYWORD3>\r
-                       <KEYWORD3>_Pageno</KEYWORD3>\r
-                       <KEYWORD3>_Pbpage</KEYWORD3>\r
-                       <KEYWORD3>_Pcolno</KEYWORD3>\r
-                       <KEYWORD3>_Pcopies</KEYWORD3>\r
-                       <KEYWORD3>_Pdparms</KEYWORD3>\r
-                       <KEYWORD3>_Pdriver</KEYWORD3>\r
-                       <KEYWORD3>_Pdsetup</KEYWORD3>\r
-                       <KEYWORD3>_Pecode</KEYWORD3>\r
-                       <KEYWORD3>_Peject</KEYWORD3>\r
-                       <KEYWORD3>_Pepage</KEYWORD3>\r
-                       <KEYWORD3>_Pform</KEYWORD3>\r
-                       <KEYWORD3>_Plength</KEYWORD3>\r
-                       <KEYWORD3>_Plineno</KEYWORD3>\r
-                       <KEYWORD3>_Ploffset</KEYWORD3>\r
-                       <KEYWORD3>_Ppitch</KEYWORD3>\r
-                       <KEYWORD3>_Pquality</KEYWORD3>\r
-                       <KEYWORD3>_Pretext</KEYWORD3>\r
-                       <KEYWORD3>_Pscode</KEYWORD3>\r
-                       <KEYWORD3>_Pspacing</KEYWORD3>\r
-                       <KEYWORD3>_Pwait</KEYWORD3>\r
-                       <KEYWORD3>_Rmargin</KEYWORD3>\r
-                       <KEYWORD3>_Screen</KEYWORD3>\r
-                       <KEYWORD3>_Shell</KEYWORD3>\r
-                       <KEYWORD3>_Spellchk</KEYWORD3>\r
-                       <KEYWORD3>_Sqlserver</KEYWORD3>\r
-                       <KEYWORD3>_Startup</KEYWORD3>\r
-                       <KEYWORD3>_Tabs</KEYWORD3>\r
-                       <KEYWORD3>_Tally</KEYWORD3>\r
-                       <KEYWORD3>_Text</KEYWORD3>\r
-                       <KEYWORD3>_Throttle</KEYWORD3>\r
-                       <KEYWORD3>_Transport</KEYWORD3>\r
-                       <KEYWORD3>_Triggerlevel</KEYWORD3>\r
-                       <KEYWORD3>_Unix</KEYWORD3>\r
-                       <KEYWORD3>_Windows</KEYWORD3>\r
-                       <KEYWORD3>_Wizard</KEYWORD3>\r
-                       <KEYWORD3>_Wrap</KEYWORD3>\r
-                       <KEYWORD3>French</KEYWORD3>\r
-                       <KEYWORD3>German</KEYWORD3>\r
-                       <KEYWORD3>Italian</KEYWORD3>\r
-                       <KEYWORD3>Japan</KEYWORD3>\r
-                       <KEYWORD3>Usa</KEYWORD3>\r
-                       <KEYWORD3>Lparameter</KEYWORD3>\r
-                       <KEYWORD3>This</KEYWORD3>\r
-                       <KEYWORD3>Thisform</KEYWORD3>\r
-                       <KEYWORD3>Thisformset</KEYWORD3>\r
-                       <KEYWORD3>F</KEYWORD3>\r
-                       <KEYWORD3>T</KEYWORD3>\r
-                       <KEYWORD3>N</KEYWORD3>\r
-                       <KEYWORD3>Y</KEYWORD3>\r
-                       <KEYWORD3>OlePublic</KEYWORD3>\r
-                       <KEYWORD3>Hidden</KEYWORD3>\r
-                       <KEYWORD3>Each</KEYWORD3>\r
-                       <KEYWORD3>DoEvents</KEYWORD3>\r
-                       <KEYWORD3>Dll</KEYWORD3>\r
-                       <KEYWORD3>Outer</KEYWORD3>\r
-                       <KEYWORD3>At_c</KEYWORD3>\r
-                       <KEYWORD3>Atcc</KEYWORD3>\r
-                       <KEYWORD3>Ratc</KEYWORD3>\r
-                       <KEYWORD3>Leftc</KEYWORD3>\r
-                       <KEYWORD3>Rightc</KEYWORD3>\r
-                       <KEYWORD3>Substrc</KEYWORD3>\r
-                       <KEYWORD3>Stuffc</KEYWORD3>\r
-                       <KEYWORD3>Lenc</KEYWORD3>\r
-                       <KEYWORD3>Chrtranc</KEYWORD3>\r
-                       <KEYWORD3>IsLeadByte</KEYWORD3>\r
-                       <KEYWORD3>IMEStatus</KEYWORD3>\r
-                       <KEYWORD3>Strconv</KEYWORD3>\r
-                       <KEYWORD3>BinToC</KEYWORD3>\r
-                       <KEYWORD3>CToBin</KEYWORD3>\r
-                       <KEYWORD3>IsFLocked</KEYWORD3>\r
-                       <KEYWORD3>IsRLocked</KEYWORD3>\r
-                       <KEYWORD3>LoadPicture</KEYWORD3>\r
-                       <KEYWORD3>SavePicture</KEYWORD3>\r
-                       <KEYWORD3>Assert</KEYWORD3>\r
-                       <KEYWORD3>DoDefault</KEYWORD3>\r
-                       <KEYWORD3>_WebMenu</KEYWORD3>\r
-                       <KEYWORD3>_scctext</KEYWORD3>\r
-                       <KEYWORD3>_WebVFPHomePage</KEYWORD3>\r
-                       <KEYWORD3>_WebVfpOnlineSupport</KEYWORD3>\r
-                       <KEYWORD3>_WebDevOnly</KEYWORD3>\r
-                       <KEYWORD3>_WebMsftHomePage</KEYWORD3>\r
-                       <KEYWORD3>_Coverage</KEYWORD3>\r
-                       <KEYWORD3>_vfp</KEYWORD3>\r
-                       <KEYWORD3>Bintoc</KEYWORD3>\r
-                       <KEYWORD3>Resources</KEYWORD3>\r
-                       <KEYWORD3>Ctobin</KEYWORD3>\r
-                       <KEYWORD3>Createoffline</KEYWORD3>\r
-                       <KEYWORD3>Debugout</KEYWORD3>\r
-                       <KEYWORD3>Doevents</KEYWORD3>\r
-                       <KEYWORD3>Dropoffline</KEYWORD3>\r
-                       <KEYWORD3>Each</KEYWORD3>\r
-                       <KEYWORD3>Isflocked</KEYWORD3>\r
-                       <KEYWORD3>Isrlocked</KEYWORD3>\r
-                       <KEYWORD3>Loadpicture</KEYWORD3>\r
-                       <KEYWORD3>Revertoffline</KEYWORD3>\r
-                       <KEYWORD3>Savepicture</KEYWORD3>\r
-                       <KEYWORD3>Asserts</KEYWORD3>\r
-                       <KEYWORD3>Coverage</KEYWORD3>\r
-                       <KEYWORD3>Eventtracking</KEYWORD3>\r
-                       <KEYWORD3>DBGetProp</KEYWORD3>\r
-                       <KEYWORD3>DBSetProp</KEYWORD3>\r
-                       <KEYWORD3>CursorGetProp</KEYWORD3>\r
-                       <KEYWORD3>CursorSetProp</KEYWORD3>\r
-                       <KEYWORD3>Addbs</KEYWORD3>\r
-                       <KEYWORD3>Agetclass</KEYWORD3>\r
-                       <KEYWORD3>Agetfileversion</KEYWORD3>\r
-                       <KEYWORD3>Alines</KEYWORD3>\r
-                       <KEYWORD3>Amouseobj</KEYWORD3>\r
-                       <KEYWORD3>Anetresources</KEYWORD3>\r
-                       <KEYWORD3>Avcxclasses</KEYWORD3>\r
-                       <KEYWORD3>Comclassinfo</KEYWORD3>\r
-                       <KEYWORD3>Createobjectex</KEYWORD3>\r
-                       <KEYWORD3>Defaultext</KEYWORD3>\r
-                       <KEYWORD3>Drivetype</KEYWORD3>\r
-                       <KEYWORD3>Filetostr</KEYWORD3>\r
-                       <KEYWORD3>Forceext</KEYWORD3>\r
-                       <KEYWORD3>Forcepath</KEYWORD3>\r
-                       <KEYWORD3>Gethost</KEYWORD3>\r
-                       <KEYWORD3>Indexseek</KEYWORD3>\r
-                       <KEYWORD3>Ishosted</KEYWORD3>\r
-                       <KEYWORD3>Justdrive</KEYWORD3>\r
-                       <KEYWORD3>Justext</KEYWORD3>\r
-                       <KEYWORD3>Justfname</KEYWORD3>\r
-                       <KEYWORD3>Justpath</KEYWORD3>\r
-                       <KEYWORD3>Juststem</KEYWORD3>\r
-                       <KEYWORD3>Newobject</KEYWORD3>\r
-                       <KEYWORD3>Olereturnerror</KEYWORD3>\r
-                       <KEYWORD3>Strtofile</KEYWORD3>\r
-                       <KEYWORD3>Vartype</KEYWORD3>\r
-                       <KEYWORD3>_Coverage</KEYWORD3>\r
-                       <KEYWORD3>_Gallery</KEYWORD3>\r
-                       <KEYWORD3>_Genhtml</KEYWORD3>\r
-                       <KEYWORD3>_Getexpr</KEYWORD3>\r
-                       <KEYWORD3>_Include</KEYWORD3>\r
-                       <KEYWORD3>_Runactivedoc</KEYWORD3>\r
-                       <KEYWORD3>ProjectHook</KEYWORD3>\r
-                       <KEYWORD3>ActiveDoc</KEYWORD3>\r
-                       <KEYWORD3>HyperLink</KEYWORD3>\r
-                       <KEYWORD3>Session</KEYWORD3>\r
-                       <KEYWORD3>Mtdll</KEYWORD3>\r
-\r
-                       <!-- New in Visual Foxpro 8.0 -->\r
-                       <KEYWORD3>ADOCKTIP</KEYWORD3>\r
-                       <KEYWORD3>ADirtip</KEYWORD3>\r
-                       <KEYWORD3>ADockState</KEYWORD3>\r
-                       <KEYWORD3>AEvents</KEYWORD3>\r
-                       <KEYWORD3>AFONTTIP</KEYWORD3>\r
-                       <KEYWORD3>ALanguage</KEYWORD3>\r
-                       <KEYWORD3>AProcInfo</KEYWORD3>\r
-                       <KEYWORD3>AStackInfo</KEYWORD3>\r
-                       <KEYWORD3>ATagInfo</KEYWORD3>\r
-                       <KEYWORD3>Adlls</KEYWORD3>\r
-                       <KEYWORD3>Alentip</KEYWORD3>\r
-                       <KEYWORD3>Amemberstip</KEYWORD3>\r
-                       <KEYWORD3>Amemberstip2</KEYWORD3>\r
-                       <KEYWORD3>Ascantip</KEYWORD3>\r
-                       <KEYWORD3>Aselobjtip</KEYWORD3>\r
-                       <KEYWORD3>Asessions</KEYWORD3>\r
-                       <KEYWORD3>Asorttip</KEYWORD3>\r
-                       <KEYWORD3>Asorttip2</KEYWORD3>\r
-                       <KEYWORD3>BINDEVENTTIP</KEYWORD3>\r
-                       <KEYWORD3>BindEvent</KEYWORD3>\r
-                       <KEYWORD3>COMARRAYTIP</KEYWORD3>\r
-                       <KEYWORD3>COMPROPTIP</KEYWORD3>\r
-                       <KEYWORD3>Candidate</KEYWORD3>\r
-                       <KEYWORD3>Cdx</KEYWORD3>\r
-                       <KEYWORD3>ComArray</KEYWORD3>\r
-                       <KEYWORD3>ComReturnError</KEYWORD3>\r
-                       <KEYWORD3>Comprop</KEYWORD3>\r
-                       <KEYWORD3>CreateBinary</KEYWORD3>\r
-                       <KEYWORD3>CursorToXML</KEYWORD3>\r
-                       <KEYWORD3>DIRTIP</KEYWORD3>\r
-                       <KEYWORD3>Descending</KEYWORD3>\r
-                       <KEYWORD3>DisplayPath</KEYWORD3>\r
-                       <KEYWORD3>EditSource</KEYWORD3>\r
-                       <KEYWORD3>EventHandler</KEYWORD3>\r
-                       <KEYWORD3>Evl</KEYWORD3>\r
-                       <KEYWORD3>ExecScript</KEYWORD3>\r
-                       <KEYWORD3>FCREATETIP</KEYWORD3>\r
-                       <KEYWORD3>FIELDTIP</KEYWORD3>\r
-                       <KEYWORD3>FILETIP</KEYWORD3>\r
-                       <KEYWORD3>FOPENTIP</KEYWORD3>\r
-                       <KEYWORD3>FSEEKTIP</KEYWORD3>\r
-                       <KEYWORD3>Fdate</KEYWORD3>\r
-                       <KEYWORD3>Ftime</KEYWORD3>\r
-                       <KEYWORD3>GetCursorAdapter</KEYWORD3>\r
-                       <KEYWORD3>GetInterface</KEYWORD3>\r
-                       <KEYWORD3>GetPem</KEYWORD3>\r
-                       <KEYWORD3>GetWordCount</KEYWORD3>\r
-                       <KEYWORD3>GetWordNum</KEYWORD3>\r
-                       <KEYWORD3>InputBox</KEYWORD3>\r
-                       <KEYWORD3>IsBlank</KEYWORD3>\r
-                       <KEYWORD3>IsMouse</KEYWORD3>\r
-                       <KEYWORD3>Like</KEYWORD3>\r
-                       <KEYWORD3>Likec</KEYWORD3>\r
-                       <KEYWORD3>Memory</KEYWORD3>\r
-                       <KEYWORD3>Msgboxtip</KEYWORD3>\r
-                       <KEYWORD3>Pcount</KEYWORD3>\r
-                       <KEYWORD3>PemStatus</KEYWORD3>\r
-                       <KEYWORD3>Popup</KEYWORD3>\r
-                       <KEYWORD3>Quarter</KEYWORD3>\r
-                       <KEYWORD3>RaiseEvent</KEYWORD3>\r
-                       <KEYWORD3>RemoveProperty</KEYWORD3>\r
-                       <KEYWORD3>SQLCancel</KEYWORD3>\r
-                       <KEYWORD3>SQLColumns</KEYWORD3>\r
-                       <KEYWORD3>SQLDisconnect</KEYWORD3>\r
-                       <KEYWORD3>SQLExec</KEYWORD3>\r
-                       <KEYWORD3>SQLGetProp</KEYWORD3>\r
-                       <KEYWORD3>SQLMoreResults</KEYWORD3>\r
-                       <KEYWORD3>SQLPrepare</KEYWORD3>\r
-                       <KEYWORD3>SQLSetProp</KEYWORD3>\r
-                       <KEYWORD3>SQLTables</KEYWORD3>\r
-                       <KEYWORD3>STRTOFILETIP</KEYWORD3>\r
-                       <KEYWORD3>Seconds</KEYWORD3>\r
-                       <KEYWORD3>StrExTip</KEYWORD3>\r
-                       <KEYWORD3>StrExtract</KEYWORD3>\r
-                       <KEYWORD3>Strtrantip</KEYWORD3>\r
-                       <KEYWORD3>Tagcount</KEYWORD3>\r
-                       <KEYWORD3>Tagno</KEYWORD3>\r
-                       <KEYWORD3>Textmerge</KEYWORD3>\r
-                       <KEYWORD3>Try</KEYWORD3>\r
-                       <KEYWORD3>UnBindEvents</KEYWORD3>\r
-                       <KEYWORD3>WDockable</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP2</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP3</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP4</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP5</KEYWORD3>\r
-                       <KEYWORD3>XMLTIP6</KEYWORD3>\r
-                       <KEYWORD3>XMLToCursor</KEYWORD3>\r
-                       <KEYWORD3>XMLUpdategram</KEYWORD3>\r
-                       <KEYWORD3>Blank</KEYWORD3>\r
-                       <KEYWORD3>Catch</KEYWORD3>\r
-                       <KEYWORD3>Dotip</KEYWORD3>\r
-                       <KEYWORD3>EndTry</KEYWORD3>\r
-                       <KEYWORD3>Finally</KEYWORD3>\r
-                       <KEYWORD3>Implements</KEYWORD3>\r
-                       <KEYWORD3>Opendatatip</KEYWORD3>\r
-                       <KEYWORD3>Repltip</KEYWORD3>\r
-                       <KEYWORD3>Throw</KEYWORD3>\r
-                       <KEYWORD3>Usetip</KEYWORD3>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/freemarker.xml b/extra/xmode/modes/freemarker.xml
deleted file mode 100644 (file)
index 065e5f9..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- A JEdit mode configuration file for FTL (FreeMarker Template Language)\r
-     Note that this version will only work with JEdit 4.1pre6 or later.\r
-     by Jonathan Revusky, revusky@users.sourceforge.net -->\r
-\r
-<MODE>\r
-  <RULES IGNORE_CASE="FALSE">\r
-\r
-    <!-- JavaScript -->\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-    <BEGIN>&lt;script</BEGIN>\r
-    <END>&lt;/script&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-    <BEGIN>&lt;Script</BEGIN>\r
-    <END>&lt;/Script&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-    <BEGIN>&lt;SCRIPT</BEGIN>\r
-    <END>&lt;/SCRIPT&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- stylesheet -->\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-    <BEGIN>&lt;style</BEGIN>\r
-    <END>&lt;/style&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-    <BEGIN>&lt;Style</BEGIN>\r
-    <END>&lt;/Style&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-    <BEGIN>&lt;STYLE</BEGIN>\r
-    <END>&lt;/STYLE&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- XML/HTML comment -->\r
-    <SPAN TYPE="COMMENT2" DELEGATE="xml::DTD-TAGS">\r
-    <BEGIN>&lt;!--</BEGIN>\r
-    <END>--&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- DTD instructions -->\r
-    <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-    <BEGIN>&lt;!</BEGIN>\r
-    <END>&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- FTL markup starts here. -->\r
-\r
-    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
-      <BEGIN>${</BEGIN>\r
-      <END>}</END>\r
-    </SPAN>\r
-\r
-    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
-      <BEGIN>#{</BEGIN>\r
-      <END>}</END>\r
-    </SPAN>\r
-\r
-    <SPAN_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;#ftl" DELEGATE="EXPRESSION">\r
-      <BEGIN>&lt;#ftl\b</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;">\r
-      <BEGIN>&lt;#?(if|elseif|switch|foreach|list|case|assign|local|global|setting|include|import|stop|escape|macro|function|transform|call|visit|recurse)(\s|/|$)</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;/"\r
-       >&lt;/#?(assign|local|global|if|switch|foreach|list|escape|macro|function|transform|compress|noescape)&gt;</SEQ_REGEXP>\r
-\r
-    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;">\r
-      <BEGIN>&lt;#?(else|compress|noescape|default|break|flush|nested|t|rt|lt|return|recurse)\b</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;/@">\r
-      <BEGIN>&lt;/@(([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*)*?)?</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;@">\r
-      <BEGIN>&lt;@([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*?)*</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>&lt;#--</BEGIN>\r
-      <END>--&gt;</END>\r
-    </SPAN>\r
-\r
-    <SEQ TYPE="KEYWORD1">&lt;stop&gt;</SEQ>\r
-     <SPAN TYPE="COMMENT1">\r
-    <BEGIN>&lt;comment&gt;</BEGIN>\r
-    <END>&lt;/comment&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="INVALID">\r
-      <BEGIN>&lt;#</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="INVALID">\r
-      <BEGIN>&lt;/#</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- non-FTL markup -->\r
-    <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-    <BEGIN>&lt;</BEGIN>\r
-    <END>&gt;</END>\r
-    </SPAN>\r
-  </RULES>\r
-\r
-  <RULES SET="EXPRESSION"\r
-      DEFAULT="KEYWORD2"\r
-      HIGHLIGHT_DIGITS="TRUE"\r
-      ESCAPE="\"\r
-      IGNORE_CASE="FALSE"\r
-    >\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>&lt;#--</BEGIN>\r
-      <END>--&gt;</END>\r
-    </SPAN>\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>&lt;!--</BEGIN>\r
-      <END>--&gt;</END>\r
-    </SPAN>\r
-\r
-    <SPAN TYPE="LITERAL1">\r
-    <BEGIN>"</BEGIN>\r
-    <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="OPERATOR" DELEGATE="EXPRESSION">\r
-      <BEGIN>(</BEGIN><END>)</END>\r
-    </SPAN>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">%</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-    <SEQ TYPE="OPERATOR">:</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-    <SEQ TYPE="OPERATOR">[</SEQ>\r
-    <SEQ TYPE="OPERATOR">]</SEQ>\r
-    <SEQ TYPE="OPERATOR">{</SEQ>\r
-    <SEQ TYPE="OPERATOR">}</SEQ>\r
-    <SEQ TYPE="OPERATOR">;</SEQ>\r
-    <!-- Builtins -->\r
-    <MARK_FOLLOWING TYPE="FUNCTION">?</MARK_FOLLOWING>\r
-    <KEYWORDS>\r
-      <KEYWORD1>true</KEYWORD1>\r
-      <KEYWORD1>false</KEYWORD1>\r
-      <KEYWORD1>as</KEYWORD1>\r
-      <KEYWORD1>in</KEYWORD1>\r
-      <KEYWORD1>using</KEYWORD1>\r
-      <OPERATOR>gt</OPERATOR>\r
-      <OPERATOR>gte</OPERATOR>\r
-      <OPERATOR>lt</OPERATOR>\r
-      <OPERATOR>lte</OPERATOR>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">\r
-    <BEGIN>"</BEGIN>\r
-    <END>"</END>\r
-    </SPAN>\r
-\r
-    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">\r
-    <BEGIN>'</BEGIN>\r
-    <END>'</END>\r
-    </SPAN>\r
-\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-  </RULES>\r
-\r
-\r
-  <!-- a ruleset for when we are within a quoted string within an SGML tag\r
-       It can contain FTL interpolations -->\r
-  <RULES SET="INQUOTE">\r
-    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
-    <BEGIN>${</BEGIN>\r
-    <END>}</END>\r
-    </SPAN>\r
-    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">\r
-    <BEGIN>#{</BEGIN>\r
-    <END>}</END>\r
-    </SPAN>\r
-  </RULES>\r
-\r
-  <!-- empty ruleset to delegate to for spots where any non-whitespace is invalid -->\r
-  <RULES SET="INVALID" DEFAULT="INVALID" />\r
-</MODE>\r
diff --git a/extra/xmode/modes/gettext.xml b/extra/xmode/modes/gettext.xml
deleted file mode 100644 (file)
index b84e7c4..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-<!--\r
-       ** jEdit edit mode for gettext catalogs (.po/.pot extension)\r
-       ** Use the ConfigurableFoldHandler plugin for optimal\r
-       ** results. =)\r
--->\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="# " />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT2">#:</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1"># </EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">#.</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">#~</EOL_SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="COMMENT2">#,</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">%</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">@</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="QUOTED" >\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- keywords -->\r
-               <KEYWORDS>\r
-                       <KEYWORD1>msgid</KEYWORD1>\r
-                       <KEYWORD1>msgid_plural</KEYWORD1>\r
-                       <KEYWORD1>msgstr</KEYWORD1>\r
-                       <KEYWORD2>fuzzy</KEYWORD2>\r
-<!--           ** Ideally, we'd highlight the next msgstr differently\r
-                       ** whenever fuzzy is encountered, but this doesn't seem\r
-                       ** to be possible just yet.\r
--->\r
-                       <KEYWORD2>c-format</KEYWORD2>\r
-                       <KEYWORD2>no-c-format</KEYWORD2>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-       <RULES SET="QUOTED" DEFAULT="LITERAL1">\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>\"</BEGIN>\r
-                       <END>\"</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">%</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">@</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/gnuplot.xml b/extra/xmode/modes/gnuplot.xml
deleted file mode 100644 (file)
index f66a169..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- COBOL mode, by Loren Charnley III -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\"  IGNORE_CASE="FALSE">\r
-\r
-       <!-- Comments -->\r
-       <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-       <!-- Literals -->\r
-       <SPAN TYPE="LITERAL1">\r
-               <BEGIN>"</BEGIN>\r
-               <END>"</END>\r
-       </SPAN>\r
-       <SPAN TYPE="LITERAL2">\r
-               <BEGIN>'</BEGIN>\r
-               <END>'</END>\r
-       </SPAN>\r
-\r
-       <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-               <BEGIN>[</BEGIN>\r
-               <END>]</END>\r
-       </SPAN>\r
-\r
-       <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-               <BEGIN>{</BEGIN>\r
-               <END>}</END>\r
-       </SPAN>\r
-\r
-       <!-- Operators -->\r
-       <SEQ TYPE="OPERATOR">-</SEQ>\r
-       <SEQ TYPE="OPERATOR">+</SEQ>\r
-       <SEQ TYPE="OPERATOR">~</SEQ>\r
-       <SEQ TYPE="OPERATOR">!</SEQ>\r
-       <SEQ TYPE="OPERATOR">$</SEQ>\r
-       <SEQ TYPE="OPERATOR">*</SEQ>\r
-       <SEQ TYPE="OPERATOR">%</SEQ>\r
-       <SEQ TYPE="OPERATOR">=</SEQ>\r
-       <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-       <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-       <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-       <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-       <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-       <SEQ TYPE="OPERATOR">|</SEQ>\r
-       <SEQ TYPE="OPERATOR">^</SEQ>\r
-       <SEQ TYPE="OPERATOR">?</SEQ>\r
-       <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-       <!-- Function calls -->\r
-       <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-\r
-       <!-- Keywords -->\r
-       <KEYWORDS>\r
-\r
-               <!-- GNUplot Commands -->\r
-               <KEYWORD1>cd</KEYWORD1>\r
-               <KEYWORD1>call</KEYWORD1>\r
-               <KEYWORD1>clear</KEYWORD1>\r
-               <KEYWORD1>exit</KEYWORD1>\r
-               <KEYWORD1>fit</KEYWORD1>\r
-               <KEYWORD1>help</KEYWORD1>\r
-               <KEYWORD1>history</KEYWORD1>\r
-               <KEYWORD1>if</KEYWORD1>\r
-               <KEYWORD1>load</KEYWORD1>\r
-               <KEYWORD1>pause</KEYWORD1>\r
-               <KEYWORD1>plot</KEYWORD1>\r
-                       <KEYWORD1>using</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>index</KEYWORD1>\r
-                       <KEYWORD1>every</KEYWORD1>\r
-                       <KEYWORD1>smooth</KEYWORD1>\r
-                       <KEYWORD1>thru</KEYWORD1>\r
-               <KEYWORD1>print</KEYWORD1>\r
-               <KEYWORD1>pwd</KEYWORD1>\r
-               <KEYWORD1>quit</KEYWORD1>\r
-               <KEYWORD1>replot</KEYWORD1>\r
-               <KEYWORD1>reread</KEYWORD1>\r
-               <KEYWORD1>reset</KEYWORD1>\r
-               <KEYWORD1>save</KEYWORD1>\r
-               <KEYWORD1>set</KEYWORD1>\r
-               <KEYWORD1>show</KEYWORD1>\r
-               <KEYWORD1>unset</KEYWORD1>\r
-               <KEYWORD1>shell</KEYWORD1>\r
-               <KEYWORD1>splot</KEYWORD1>\r
-               <KEYWORD1>system</KEYWORD1>\r
-               <KEYWORD1>test</KEYWORD1>\r
-               <KEYWORD1>unset</KEYWORD1>\r
-               <KEYWORD1>update</KEYWORD1>\r
-\r
-               <!-- GNUplot Functions -->\r
-               <KEYWORD2>abs</KEYWORD2>\r
-               <KEYWORD2>acos</KEYWORD2>\r
-               <KEYWORD2>acosh</KEYWORD2>\r
-               <KEYWORD2>arg</KEYWORD2>\r
-               <KEYWORD2>asin</KEYWORD2>\r
-               <KEYWORD2>asinh</KEYWORD2>\r
-               <KEYWORD2>atan</KEYWORD2>\r
-               <KEYWORD2>atan2</KEYWORD2>\r
-               <KEYWORD2>atanh</KEYWORD2>\r
-               <KEYWORD2>besj0</KEYWORD2>\r
-               <KEYWORD2>besj1</KEYWORD2>\r
-               <KEYWORD2>besy0</KEYWORD2>\r
-               <KEYWORD2>besy1</KEYWORD2>\r
-               <KEYWORD2>ceil</KEYWORD2>\r
-               <KEYWORD2>cos</KEYWORD2>\r
-               <KEYWORD2>cosh</KEYWORD2>\r
-               <KEYWORD2>erf</KEYWORD2>\r
-               <KEYWORD2>erfc</KEYWORD2>\r
-               <KEYWORD2>exp</KEYWORD2>\r
-               <KEYWORD2>floor</KEYWORD2>\r
-               <KEYWORD2>gamma</KEYWORD2>\r
-               <KEYWORD2>ibeta</KEYWORD2>\r
-               <KEYWORD2>inverf</KEYWORD2>\r
-               <KEYWORD2>igamma</KEYWORD2>\r
-               <KEYWORD2>imag</KEYWORD2>\r
-               <KEYWORD2>invnorm</KEYWORD2>\r
-               <KEYWORD2>int</KEYWORD2>\r
-               <KEYWORD2>lambertw</KEYWORD2>\r
-               <KEYWORD2>lgamma</KEYWORD2>\r
-               <KEYWORD2>log</KEYWORD2>\r
-               <KEYWORD2>log10</KEYWORD2>\r
-               <KEYWORD2>norm</KEYWORD2>\r
-               <KEYWORD2>rand</KEYWORD2>\r
-               <KEYWORD2>real</KEYWORD2>\r
-               <KEYWORD2>sgn</KEYWORD2>\r
-               <KEYWORD2>sin</KEYWORD2>\r
-               <KEYWORD2>sinh</KEYWORD2>\r
-               <KEYWORD2>sqrt</KEYWORD2>\r
-               <KEYWORD2>tan</KEYWORD2>\r
-               <KEYWORD2>tanh</KEYWORD2>\r
-               <KEYWORD2>column</KEYWORD2>\r
-               <KEYWORD2>defined</KEYWORD2>\r
-               <KEYWORD2>tm_hour</KEYWORD2>\r
-               <KEYWORD2>tm_mday</KEYWORD2>\r
-               <KEYWORD2>tm_min</KEYWORD2>\r
-               <KEYWORD2>tm_mon</KEYWORD2>\r
-               <KEYWORD2>tm_sec</KEYWORD2>\r
-               <KEYWORD2>tm_wday</KEYWORD2>\r
-               <KEYWORD2>tm_yday</KEYWORD2>\r
-               <KEYWORD2>tm_year</KEYWORD2>\r
-               <KEYWORD2>valid</KEYWORD2>\r
-\r
-               <!-- GNUplot Built-in Variables -->\r
-               <KEYWORD3>angles</KEYWORD3>\r
-               <KEYWORD3>arrow</KEYWORD3>\r
-               <KEYWORD3>autoscale</KEYWORD3>\r
-               <KEYWORD3>bars</KEYWORD3>\r
-               <KEYWORD3>bmargin</KEYWORD3>\r
-               <KEYWORD3>border</KEYWORD3>\r
-               <KEYWORD3>boxwidth</KEYWORD3>\r
-               <KEYWORD3>clabel</KEYWORD3>\r
-               <KEYWORD3>clip</KEYWORD3>\r
-               <KEYWORD3>cntrparam</KEYWORD3>\r
-               <KEYWORD3>colorbox</KEYWORD3>\r
-               <KEYWORD3>contour</KEYWORD3>\r
-               <KEYWORD3>datafile </KEYWORD3>\r
-               <KEYWORD3>decimalsign</KEYWORD3>\r
-               <KEYWORD3>dgrid3d</KEYWORD3>\r
-               <KEYWORD3>dummy</KEYWORD3>\r
-               <KEYWORD3>encoding</KEYWORD3>\r
-               <KEYWORD3>fit</KEYWORD3>\r
-               <KEYWORD3>fontpath</KEYWORD3>\r
-               <KEYWORD3>format</KEYWORD3>\r
-               <KEYWORD3>functions</KEYWORD3>\r
-               <KEYWORD3>function</KEYWORD3>\r
-               <KEYWORD3>grid</KEYWORD3>\r
-               <KEYWORD3>hidden3d</KEYWORD3>\r
-               <KEYWORD3>historysize</KEYWORD3>\r
-               <KEYWORD3>isosamples</KEYWORD3>\r
-               <KEYWORD3>key</KEYWORD3>\r
-               <KEYWORD3>label</KEYWORD3>\r
-               <KEYWORD3>lmargin</KEYWORD3>\r
-               <KEYWORD3>loadpath</KEYWORD3>\r
-               <KEYWORD3>locale</KEYWORD3>\r
-               <KEYWORD3>logscale</KEYWORD3>\r
-               <KEYWORD3>mapping</KEYWORD3>\r
-               <KEYWORD3>margin</KEYWORD3>\r
-               <KEYWORD3>mouse</KEYWORD3>\r
-               <KEYWORD3>multiplot</KEYWORD3>\r
-               <KEYWORD3>mx2tics</KEYWORD3>\r
-               <KEYWORD3>mxtics</KEYWORD3>\r
-               <KEYWORD3>my2tics</KEYWORD3>\r
-               <KEYWORD3>mytics</KEYWORD3>\r
-               <KEYWORD3>mztics</KEYWORD3>\r
-               <KEYWORD3>offsets</KEYWORD3>\r
-               <KEYWORD3>origin</KEYWORD3>\r
-               <KEYWORD3>output</KEYWORD3>\r
-               <KEYWORD3>parametric</KEYWORD3>\r
-               <KEYWORD3>plot</KEYWORD3>\r
-               <KEYWORD3>pm3d</KEYWORD3>\r
-               <KEYWORD3>palette</KEYWORD3>\r
-               <KEYWORD3>pointsize</KEYWORD3>\r
-               <KEYWORD3>polar</KEYWORD3>\r
-               <KEYWORD3>print</KEYWORD3>\r
-               <KEYWORD3>rmargin</KEYWORD3>\r
-               <KEYWORD3>rrange</KEYWORD3>\r
-               <KEYWORD3>samples</KEYWORD3>\r
-               <KEYWORD3>size</KEYWORD3>\r
-               <KEYWORD3>style</KEYWORD3>\r
-               <KEYWORD3>surface</KEYWORD3>\r
-               <KEYWORD3>terminal</KEYWORD3>\r
-               <KEYWORD3>tics</KEYWORD3>\r
-               <KEYWORD3>ticslevel</KEYWORD3>\r
-               <KEYWORD3>ticscale</KEYWORD3>\r
-               <KEYWORD3>timestamp</KEYWORD3>\r
-               <KEYWORD3>timefmt</KEYWORD3>\r
-               <KEYWORD3>title</KEYWORD3>\r
-               <KEYWORD3>tmargin</KEYWORD3>\r
-               <KEYWORD3>trange</KEYWORD3>\r
-               <KEYWORD3>urange</KEYWORD3>\r
-               <KEYWORD3>variables</KEYWORD3>\r
-               <KEYWORD3>version</KEYWORD3>\r
-               <KEYWORD3>view</KEYWORD3>\r
-               <KEYWORD3>vrange</KEYWORD3>\r
-               <KEYWORD3>x2data</KEYWORD3>\r
-               <KEYWORD3>x2dtics</KEYWORD3>\r
-               <KEYWORD3>x2label</KEYWORD3>\r
-               <KEYWORD3>x2mtics</KEYWORD3>\r
-               <KEYWORD3>x2range</KEYWORD3>\r
-               <KEYWORD3>x2tics</KEYWORD3>\r
-               <KEYWORD3>x2zeroaxis</KEYWORD3>\r
-               <KEYWORD3>xdata</KEYWORD3>\r
-               <KEYWORD3>xdtics</KEYWORD3>\r
-               <KEYWORD3>xlabel</KEYWORD3>\r
-               <KEYWORD3>xmtics</KEYWORD3>\r
-               <KEYWORD3>xrange</KEYWORD3>\r
-               <KEYWORD3>xtics</KEYWORD3>\r
-               <KEYWORD3>xzeroaxis</KEYWORD3>\r
-               <KEYWORD3>y2data</KEYWORD3>\r
-               <KEYWORD3>y2dtics</KEYWORD3>\r
-               <KEYWORD3>y2label</KEYWORD3>\r
-               <KEYWORD3>y2mtics</KEYWORD3>\r
-               <KEYWORD3>y2range</KEYWORD3>\r
-               <KEYWORD3>y2tics</KEYWORD3>\r
-               <KEYWORD3>y2zeroaxis</KEYWORD3>\r
-               <KEYWORD3>ydata</KEYWORD3>\r
-               <KEYWORD3>ydtics</KEYWORD3>\r
-               <KEYWORD3>ylabel</KEYWORD3>\r
-               <KEYWORD3>ymtics</KEYWORD3>\r
-               <KEYWORD3>yrange</KEYWORD3>\r
-               <KEYWORD3>ytics</KEYWORD3>\r
-               <KEYWORD3>yzeroaxis</KEYWORD3>\r
-               <KEYWORD3>zdata</KEYWORD3>\r
-               <KEYWORD3>zdtics</KEYWORD3>\r
-               <KEYWORD3>cbdata</KEYWORD3>\r
-               <KEYWORD3>cbdtics</KEYWORD3>\r
-               <KEYWORD3>zero</KEYWORD3>\r
-               <KEYWORD3>zeroaxis</KEYWORD3>\r
-               <KEYWORD3>zlabel</KEYWORD3>\r
-               <KEYWORD3>zmtics</KEYWORD3>\r
-               <KEYWORD3>zrange</KEYWORD3>\r
-               <KEYWORD3>ztics</KEYWORD3>\r
-               <KEYWORD3>cblabel</KEYWORD3>\r
-               <KEYWORD3>cbmtics</KEYWORD3>\r
-               <KEYWORD3>cbrange</KEYWORD3>\r
-               <KEYWORD3>cbtics</KEYWORD3>\r
-\r
-       </KEYWORDS>\r
-\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/groovy.xml b/extra/xmode/modes/groovy.xml
deleted file mode 100644 (file)
index 5e0d8ea..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="groovy"                    FILE="groovy.xml"\r
-                               FILE_NAME_GLOB="*.{groovy,grv}"/>\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
-               <!-- Silly comment -->\r
-               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- Javadoc comment -->\r
-               <SPAN TYPE="COMMENT3" DELEGATE="GROOVYDOC">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- Java comment (C style) -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- heredoc -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&lt;&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN><![CDATA[<<<([\p{Alpha}_][\p{Alnum}_]*)\s*]]></BEGIN>\r
-                       <END>$1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SEQ TYPE="OPERATOR">=~</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-\r
-               <!-- workaround to stop "*" from being colorized\r
-                    in import statements. -->\r
-               <SEQ TYPE="NULL">.*</SEQ>\r
-\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD1>strictfp</KEYWORD1>\r
-\r
-                       <KEYWORD1>package</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-\r
-                       <!-- groovy keywords -->\r
-                       <KEYWORD2>as</KEYWORD2>\r
-                       <KEYWORD2>assert</KEYWORD2>\r
-                       <KEYWORD2>def</KEYWORD2>\r
-                       <KEYWORD2>mixin</KEYWORD2>\r
-                       <KEYWORD2>property</KEYWORD2>\r
-                       <KEYWORD2>test</KEYWORD2>\r
-                       <KEYWORD2>using</KEYWORD2>\r
-                       <KEYWORD2>in</KEYWORD2>\r
-\r
-                       <!-- types -->\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>interface</KEYWORD3>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-\r
-                       <!-- Groovy JDK stuff -->\r
-                       <KEYWORD4>abs</KEYWORD4>\r
-                       <KEYWORD4>any</KEYWORD4>\r
-                       <KEYWORD4>append</KEYWORD4>\r
-                       <KEYWORD4>asList</KEYWORD4>\r
-                       <KEYWORD4>asWritable</KEYWORD4>\r
-                       <KEYWORD4>call</KEYWORD4>\r
-                       <KEYWORD4>collect</KEYWORD4>\r
-                       <KEYWORD4>compareTo</KEYWORD4>\r
-                       <KEYWORD4>count</KEYWORD4>\r
-                       <KEYWORD4>div</KEYWORD4>\r
-                       <KEYWORD4>dump</KEYWORD4>\r
-                       <KEYWORD4>each</KEYWORD4>\r
-                       <KEYWORD4>eachByte</KEYWORD4>\r
-                       <KEYWORD4>eachFile</KEYWORD4>\r
-                       <KEYWORD4>eachLine</KEYWORD4>\r
-                       <KEYWORD4>every</KEYWORD4>\r
-                       <KEYWORD4>find</KEYWORD4>\r
-                       <KEYWORD4>findAll</KEYWORD4>\r
-                       <KEYWORD4>flatten</KEYWORD4>\r
-                       <KEYWORD4>getAt</KEYWORD4>\r
-                       <KEYWORD4>getErr</KEYWORD4>\r
-                       <KEYWORD4>getIn</KEYWORD4>\r
-                       <KEYWORD4>getOut</KEYWORD4>\r
-                       <KEYWORD4>getText</KEYWORD4>\r
-                       <KEYWORD4>grep</KEYWORD4>\r
-                       <KEYWORD4>immutable</KEYWORD4>\r
-                       <KEYWORD4>inject</KEYWORD4>\r
-                       <KEYWORD4>inspect</KEYWORD4>\r
-                       <KEYWORD4>intersect</KEYWORD4>\r
-                       <KEYWORD4>invokeMethods</KEYWORD4>\r
-                       <KEYWORD4>isCase</KEYWORD4>\r
-                       <KEYWORD4>join</KEYWORD4>\r
-                       <KEYWORD4>leftShift</KEYWORD4>\r
-                       <KEYWORD4>minus</KEYWORD4>\r
-                       <KEYWORD4>multiply</KEYWORD4>\r
-                       <KEYWORD4>newInputStream</KEYWORD4>\r
-                       <KEYWORD4>newOutputStream</KEYWORD4>\r
-                       <KEYWORD4>newPrintWriter</KEYWORD4>\r
-                       <KEYWORD4>newReader</KEYWORD4>\r
-                       <KEYWORD4>newWriter</KEYWORD4>\r
-                       <KEYWORD4>next</KEYWORD4>\r
-                       <KEYWORD4>plus</KEYWORD4>\r
-                       <KEYWORD4>pop</KEYWORD4>\r
-                       <KEYWORD4>power</KEYWORD4>\r
-                       <KEYWORD4>previous</KEYWORD4>\r
-                       <KEYWORD4>print</KEYWORD4>\r
-                       <KEYWORD4>println</KEYWORD4>\r
-                       <KEYWORD4>push</KEYWORD4>\r
-                       <KEYWORD4>putAt</KEYWORD4>\r
-                       <KEYWORD4>read</KEYWORD4>\r
-                       <KEYWORD4>readBytes</KEYWORD4>\r
-                       <KEYWORD4>readLines</KEYWORD4>\r
-                       <KEYWORD4>reverse</KEYWORD4>\r
-                       <KEYWORD4>reverseEach</KEYWORD4>\r
-                       <KEYWORD4>round</KEYWORD4>\r
-                       <KEYWORD4>size</KEYWORD4>\r
-                       <KEYWORD4>sort</KEYWORD4>\r
-                       <KEYWORD4>splitEachLine</KEYWORD4>\r
-                       <KEYWORD4>step</KEYWORD4>\r
-                       <KEYWORD4>subMap</KEYWORD4>\r
-                       <KEYWORD4>times</KEYWORD4>\r
-                       <KEYWORD4>toInteger</KEYWORD4>\r
-                       <KEYWORD4>toList</KEYWORD4>\r
-                       <KEYWORD4>tokenize</KEYWORD4>\r
-                       <KEYWORD4>upto</KEYWORD4>\r
-                       <KEYWORD4>waitForOrKill</KEYWORD4>\r
-                       <KEYWORD4>withPrintWriter</KEYWORD4>\r
-                       <KEYWORD4>withReader</KEYWORD4>\r
-                       <KEYWORD4>withStream</KEYWORD4>\r
-                       <KEYWORD4>withWriter</KEYWORD4>\r
-                       <KEYWORD4>withWriterAppend</KEYWORD4>\r
-                       <KEYWORD4>write</KEYWORD4>\r
-                       <KEYWORD4>writeLine</KEYWORD4>\r
-\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-\r
-                       <!-- this is specific to groovy, treat like `this`? -->\r
-                       <LITERAL3>it</LITERAL3>\r
-\r
-                       <INVALID>goto</INVALID>\r
-                       <INVALID>const</INVALID>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-       <RULES SET="GROOVYDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
-               <!-- so that @link{...} is highlighted -->\r
-               <SEQ TYPE="COMMENT3">{</SEQ>\r
-\r
-               <!-- so that *@param is highlighted -->\r
-               <SEQ TYPE="COMMENT3">*</SEQ>\r
-\r
-               <!-- HTML comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Javadoc allows this -->\r
-               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
-\r
-               <!-- HTML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
-                       NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LABEL">@</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/haskell.xml b/extra/xmode/modes/haskell.xml
deleted file mode 100644 (file)
index b38b42d..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       Haskell mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
-       Based on Haskell 98\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="{-" />\r
-               <PROPERTY NAME="commentEnd" VALUE="-}" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-               <!-- apparently, this is required... -->\r
-               <PROPERTY NAME="tabSize" VALUE="8" />\r
-               <PROPERTY NAME="indentSize" VALUE="8" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
-               <!-- Pragmas. -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>{-#</BEGIN>\r
-                       <END>#-}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>{-</BEGIN>\r
-                       <END>-}</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- ' causes problems because not all ' are character\r
-               definitions. I implemented an ugly and partial workaround. -->\r
-               <SEQ TYPE="LITERAL1">' '</SEQ>\r
-               <SEQ TYPE="LITERAL1">'!'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'"'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'$'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'%'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'/'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'('</SEQ>\r
-               <SEQ TYPE="LITERAL1">')'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'['</SEQ>\r
-               <SEQ TYPE="LITERAL1">']'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'+'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'-'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'*'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'='</SEQ>\r
-               <SEQ TYPE="LITERAL1">'/'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'^'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'.'</SEQ>\r
-               <SEQ TYPE="LITERAL1">','</SEQ>\r
-               <SEQ TYPE="LITERAL1">':'</SEQ>\r
-               <SEQ TYPE="LITERAL1">';'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'&lt;'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'&gt;'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'|'</SEQ>\r
-               <SEQ TYPE="LITERAL1">'@'</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">..</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">::</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">$</SEQ>\r
-\r
-               <!-- Defining this as OPERATOR causes float numbers not to be\r
-               highlighted... Which is more important? -->\r
-               <!-- <SEQ TYPE="NULL">.</SEQ> -->\r
-\r
-               <KEYWORDS>\r
-                       <!-- Reserved words. -->\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>data</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>deriving</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>infix</KEYWORD1>\r
-                       <KEYWORD1>infixl</KEYWORD1>\r
-                       <KEYWORD1>infixr</KEYWORD1>\r
-                       <KEYWORD1>instance</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>module</KEYWORD1>\r
-                       <KEYWORD1>newtype</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>type</KEYWORD1>\r
-                       <KEYWORD1>where</KEYWORD1>\r
-                       <KEYWORD1>_</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>qualified</KEYWORD1>\r
-                       <KEYWORD1>hiding</KEYWORD1>\r
-\r
-                       <KEYWORD3>Addr</KEYWORD3>\r
-                       <KEYWORD3>Bool</KEYWORD3>\r
-                       <KEYWORD3>Bounded</KEYWORD3>\r
-                       <KEYWORD3>Char</KEYWORD3>\r
-                       <KEYWORD3>Double</KEYWORD3>\r
-                       <KEYWORD3>Either</KEYWORD3>\r
-                       <KEYWORD3>Enum</KEYWORD3>\r
-                       <KEYWORD3>Eq</KEYWORD3>\r
-                       <KEYWORD3>FilePath</KEYWORD3>\r
-                       <KEYWORD3>Float</KEYWORD3>\r
-                       <KEYWORD3>Floating</KEYWORD3>\r
-                       <KEYWORD3>Fractional</KEYWORD3>\r
-                       <KEYWORD3>Functor</KEYWORD3>\r
-                       <KEYWORD3>IO</KEYWORD3>\r
-                       <KEYWORD3>IOError</KEYWORD3>\r
-                       <KEYWORD3>IOResult</KEYWORD3>\r
-                       <KEYWORD3>Int</KEYWORD3>\r
-                       <KEYWORD3>Integer</KEYWORD3>\r
-                       <KEYWORD3>Integral</KEYWORD3>\r
-                       <KEYWORD3>Ix</KEYWORD3>\r
-                       <KEYWORD3>Maybe</KEYWORD3>\r
-                       <KEYWORD3>Monad</KEYWORD3>\r
-                       <KEYWORD3>Num</KEYWORD3>\r
-                       <KEYWORD3>Ord</KEYWORD3>\r
-                       <KEYWORD3>Ordering</KEYWORD3>\r
-                       <KEYWORD3>Ratio</KEYWORD3>\r
-                       <KEYWORD3>Rational</KEYWORD3>\r
-                       <KEYWORD3>Read</KEYWORD3>\r
-                       <KEYWORD3>ReadS</KEYWORD3>\r
-                       <KEYWORD3>Real</KEYWORD3>\r
-                       <KEYWORD3>RealFloat</KEYWORD3>\r
-                       <KEYWORD3>RealFrac</KEYWORD3>\r
-                       <KEYWORD3>Show</KEYWORD3>\r
-                       <KEYWORD3>ShowS</KEYWORD3>\r
-                       <KEYWORD3>String</KEYWORD3>\r
-\r
-                       <LITERAL2>:</LITERAL2>\r
-                       <LITERAL2>EQ</LITERAL2>\r
-                       <LITERAL2>False</LITERAL2>\r
-                       <LITERAL2>GT</LITERAL2>\r
-                       <LITERAL2>Just</LITERAL2>\r
-                       <LITERAL2>LT</LITERAL2>\r
-                       <LITERAL2>Left</LITERAL2>\r
-                       <LITERAL2>Nothing</LITERAL2>\r
-                       <LITERAL2>Right</LITERAL2>\r
-                       <LITERAL2>True</LITERAL2>\r
-\r
-                       <OPERATOR>quot</OPERATOR>\r
-                       <OPERATOR>rem</OPERATOR>\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <OPERATOR>elem</OPERATOR>\r
-                       <OPERATOR>notElem</OPERATOR>\r
-                       <OPERATOR>seq</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/hex.xml b/extra/xmode/modes/hex.xml
deleted file mode 100644 (file)
index 73a8db9..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-    Hex mode by Andre Kaplan.\r
-    To be used in conjunction with the Hex plugin.\r
--->\r
-\r
-<MODE>\r
-    <RULES DEFAULT="LITERAL1">\r
-\r
-        <MARK_PREVIOUS\r
-            TYPE="KEYWORD1"\r
-            AT_LINE_START="TRUE"\r
-        >:</MARK_PREVIOUS>\r
-\r
-        <EOL_SPAN TYPE="KEYWORD2">;</EOL_SPAN>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/hlsl.xml b/extra/xmode/modes/hlsl.xml
deleted file mode 100644 (file)
index 0f361c5..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-<!--\r
-DirectX FX Files Syntax Highlighting (Edit Mode) for jEdit\r
-Including: Preprocessor, HLSL and Shader Assembler up to shader version 3.0\r
-\r
-Author: Adam Sawicki\r
-- Homepage: http://regedit.gamedev.pl/\r
-- E-mail: sawickiap@poczta.onet.pl\r
-- IRC: #warsztat @ PolNet\r
-- Gadu-Gadu: 2272474\r
-\r
--->\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=".,+-*/=&lt;&gt;?^&amp;[]{}" />\r
-               \r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
-       </PROPS>\r
-       \r
-       <RULES\r
-               ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="((0[xX][0-9a-fA-F]+|\d+)[uUIL]?|\d+([eE]\d*)?[hHfF]?)">\r
-               \r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               \r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               \r
-               <!-- preprocessor statements -->\r
-               <SEQ TYPE="KEYWORD2">##</SEQ>\r
-               <SEQ TYPE="KEYWORD2">#@</SEQ>\r
-               <EOL_SPAN TYPE="KEYWORD2" DELEGATE="Preprocessor">#</EOL_SPAN>\r
-               \r
-               <!-- asm -->\r
-               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
-                       <BEGIN>asm</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
-                       <BEGIN>ASM</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
-                       <BEGIN>Asm</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN AT_WORD_START="TRUE" EXCLUDE_MATCH="FALSE" TYPE="KEYWORD1" DELEGATE="Asm">\r
-                       <BEGIN>asm_fragment</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               \r
-               <!-- C style comment -->\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               \r
-               <!-- Operators - multi character -->\r
-               <SEQ TYPE="OPERATOR">++</SEQ>\r
-               <SEQ TYPE="OPERATOR">--</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">||</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">::</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">...</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">*=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+=</SEQ>\r
-               <SEQ TYPE="OPERATOR">-=</SEQ>\r
-               <SEQ TYPE="OPERATOR">%=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">|=</SEQ>\r
-               <SEQ TYPE="OPERATOR">^=</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-\r
-               <!-- Operators - single characters -->\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               \r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>\r
-               \r
-               <!-- Swizzle operator for vectors/scalars (a.xyzw OR b.rgba), matrices (c._m00_m01 OR d._11_12) indexing -->\r
-               <SEQ_REGEXP TYPE="OPERATOR" HASH_CHAR=".">.(([xyzw]{1,4})|([rgba]{1,4})|((_m[0123][0123])+)|((_[1234][1234])+))(?!\p{Alnum})</SEQ_REGEXP>\r
-               \r
-               <!-- Atomic, but complex types -->\r
-               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="bool">bool[1234](x[1234])?\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="int">int[1234](x[1234])?\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="half">half[1234](x[1234])?\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="float">float[1234](x[1234])?\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD2" AT_WORD_START="TRUE" HASH_CHAR="double">double[1234](x[1234])?\b</SEQ_REGEXP>\r
-               \r
-               <!-- Semantics -->\r
-               <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR=":">:\s*(register\s*\(\w+(\s*\,\s*\w+\s*)?\)|\w+)</SEQ_REGEXP>\r
-               \r
-               <KEYWORDS>\r
-                       <!-- Control flow keywords -->\r
-                       <KEYWORD1>discard</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>typedef</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       \r
-                       <!-- Other keywords -->\r
-                       <KEYWORD1>compile</KEYWORD1>\r
-                       <KEYWORD1>compile_fragment</KEYWORD1>\r
-                       <KEYWORD1>register</KEYWORD1>\r
-                       <KEYWORD1>sampler_state</KEYWORD1>\r
-                       <KEYWORD1>stateblock_state</KEYWORD1>\r
-                       <KEYWORD1>technique</KEYWORD1>\r
-                       <KEYWORD1>Technique</KEYWORD1>\r
-                       <KEYWORD1>TECHNIQUE</KEYWORD1>\r
-                       <KEYWORD1>pass</KEYWORD1>\r
-                       <KEYWORD1>Pass</KEYWORD1>\r
-                       <KEYWORD1>PASS</KEYWORD1>\r
-                       <KEYWORD1>decl</KEYWORD1>\r
-                       <KEYWORD1>Decl</KEYWORD1>\r
-                       <KEYWORD1>DECL</KEYWORD1>\r
-                       \r
-                       <!-- Atomic type keywords -->\r
-                       <KEYWORD2>void</KEYWORD2>\r
-                       <KEYWORD2>bool</KEYWORD2>\r
-                       <KEYWORD2>int</KEYWORD2>\r
-                       <KEYWORD2>half</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>double</KEYWORD2>\r
-                       <KEYWORD2>vector</KEYWORD2>\r
-                       <KEYWORD2>matrix</KEYWORD2>\r
-                       \r
-                       <!-- Object type keywords -->\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>texture</KEYWORD3>\r
-                       <KEYWORD3>texture1D</KEYWORD3>\r
-                       <KEYWORD3>texture2D</KEYWORD3>\r
-                       <KEYWORD3>texture3D</KEYWORD3>\r
-                       <KEYWORD3>textureCUBE</KEYWORD3>\r
-                       <KEYWORD3>sampler</KEYWORD3>\r
-                       <KEYWORD3>sampler1D</KEYWORD3>\r
-                       <KEYWORD3>sampler2D</KEYWORD3>\r
-                       <KEYWORD3>sampler3D</KEYWORD3>\r
-                       <KEYWORD3>samplerCUBE</KEYWORD3>\r
-                       <KEYWORD3>pixelfragment</KEYWORD3>\r
-                       <KEYWORD3>vertexfragment</KEYWORD3>\r
-                       <KEYWORD3>pixelshader</KEYWORD3>\r
-                       <KEYWORD3>vertexshader</KEYWORD3>\r
-                       <KEYWORD3>stateblock</KEYWORD3>\r
-                       <KEYWORD3>struct</KEYWORD3>\r
-\r
-                       <!-- Usage keywords -->\r
-                       <KEYWORD4>static</KEYWORD4>\r
-                       <KEYWORD4>uniform</KEYWORD4>\r
-                       <KEYWORD4>extern</KEYWORD4>\r
-                       <KEYWORD4>volatile</KEYWORD4>\r
-                       <KEYWORD4>inline</KEYWORD4>\r
-                       <KEYWORD4>shared</KEYWORD4>\r
-                       <KEYWORD4>const</KEYWORD4>\r
-                       <KEYWORD4>row_major</KEYWORD4>\r
-                       <KEYWORD4>column_major</KEYWORD4>\r
-                       <KEYWORD4>in</KEYWORD4>\r
-                       <KEYWORD4>inout</KEYWORD4>\r
-                       <KEYWORD4>out</KEYWORD4>                        \r
-                       \r
-                       <!-- Literals -->\r
-                       <LITERAL1>false</LITERAL1>\r
-                       <LITERAL1>true</LITERAL1>\r
-                       <LITERAL1>NULL</LITERAL1>\r
-                       \r
-                       <!-- Intrinsic functions -->\r
-                       <LITERAL2>abs</LITERAL2>\r
-                       <LITERAL2>acos</LITERAL2>\r
-                       <LITERAL2>all</LITERAL2>\r
-                       <LITERAL2>any</LITERAL2>\r
-                       <LITERAL2>asin</LITERAL2>\r
-                       <LITERAL2>atan</LITERAL2>\r
-                       <LITERAL2>atan2</LITERAL2>\r
-                       <LITERAL2>ceil</LITERAL2>\r
-                       <LITERAL2>clamp</LITERAL2>\r
-                       <LITERAL2>clip</LITERAL2>\r
-                       <LITERAL2>cos</LITERAL2>\r
-                       <LITERAL2>cosh</LITERAL2>\r
-                       <LITERAL2>cross</LITERAL2>\r
-                       <LITERAL2>D3DCOLORtoUBYTE4</LITERAL2>\r
-                       <LITERAL2>ddx</LITERAL2>\r
-                       <LITERAL2>ddy</LITERAL2>\r
-                       <LITERAL2>degrees</LITERAL2>\r
-                       <LITERAL2>determinant</LITERAL2>\r
-                       <LITERAL2>distance</LITERAL2>\r
-                       <LITERAL2>dot</LITERAL2>\r
-                       <LITERAL2>exp</LITERAL2>\r
-                       <LITERAL2>exp2</LITERAL2>\r
-                       <LITERAL2>faceforward</LITERAL2>\r
-                       <LITERAL2>floor</LITERAL2>\r
-                       <LITERAL2>fmod</LITERAL2>\r
-                       <LITERAL2>frac</LITERAL2>\r
-                       <LITERAL2>frexp</LITERAL2>\r
-                       <LITERAL2>fwidth</LITERAL2>\r
-                       <LITERAL2>isfinite</LITERAL2>\r
-                       <LITERAL2>isinf</LITERAL2>\r
-                       <LITERAL2>isnan</LITERAL2>\r
-                       <LITERAL2>ldexp</LITERAL2>\r
-                       <LITERAL2>length</LITERAL2>\r
-                       <LITERAL2>lerp</LITERAL2>\r
-                       <LITERAL2>lit</LITERAL2>\r
-                       <LITERAL2>log</LITERAL2>\r
-                       <LITERAL2>log10</LITERAL2>\r
-                       <LITERAL2>log2</LITERAL2>\r
-                       <LITERAL2>max</LITERAL2>\r
-                       <LITERAL2>min</LITERAL2>\r
-                       <LITERAL2>modf</LITERAL2>\r
-                       <LITERAL2>mul</LITERAL2>\r
-                       <LITERAL2>noise</LITERAL2>\r
-                       <LITERAL2>normalize</LITERAL2>\r
-                       <LITERAL2>pow</LITERAL2>\r
-                       <LITERAL2>radians</LITERAL2>\r
-                       <LITERAL2>reflect</LITERAL2>\r
-                       <LITERAL2>refract</LITERAL2>\r
-                       <LITERAL2>round</LITERAL2>\r
-                       <LITERAL2>rsqrt</LITERAL2>\r
-                       <LITERAL2>saturate</LITERAL2>\r
-                       <LITERAL2>sign</LITERAL2>\r
-                       <LITERAL2>sin</LITERAL2>\r
-                       <LITERAL2>sincos</LITERAL2>\r
-                       <LITERAL2>sinh</LITERAL2>\r
-                       <LITERAL2>smoothstep</LITERAL2>\r
-                       <LITERAL2>sqrt</LITERAL2>\r
-                       <LITERAL2>step</LITERAL2>\r
-                       <LITERAL2>tan</LITERAL2>\r
-                       <LITERAL2>tanh</LITERAL2>\r
-                       <LITERAL2>transpose</LITERAL2>\r
-                       \r
-                       <!-- Intrinsic functions - sampling -->\r
-                       <LITERAL3>tex1D</LITERAL3>\r
-                       <LITERAL3>tex1Dgrad</LITERAL3>\r
-                       <LITERAL3>tex1Dbias</LITERAL3>\r
-                       <LITERAL3>tex1Dgrad</LITERAL3>\r
-                       <LITERAL3>tex1Dlod</LITERAL3>\r
-                       <LITERAL3>tex1Dproj</LITERAL3>\r
-                       <LITERAL3>tex2D</LITERAL3>\r
-                       <LITERAL3>tex2D</LITERAL3>\r
-                       <LITERAL3>tex2Dbias</LITERAL3>\r
-                       <LITERAL3>tex2Dgrad</LITERAL3>\r
-                       <LITERAL3>tex2Dlod</LITERAL3>\r
-                       <LITERAL3>tex2Dproj</LITERAL3>\r
-                       <LITERAL3>tex3D</LITERAL3>\r
-                       <LITERAL3>tex3D</LITERAL3>\r
-                       <LITERAL3>tex3Dbias</LITERAL3>\r
-                       <LITERAL3>tex3Dgrad</LITERAL3>\r
-                       <LITERAL3>tex3Dlod</LITERAL3>\r
-                       <LITERAL3>tex3Dproj</LITERAL3>\r
-                       <LITERAL3>texCUBE</LITERAL3>\r
-                       <LITERAL3>texCUBE</LITERAL3>\r
-                       <LITERAL3>texCUBEbias</LITERAL3>\r
-                       <LITERAL3>texCUBEgrad</LITERAL3>\r
-                       <LITERAL3>texCUBElod</LITERAL3>\r
-                       <LITERAL3>texCUBEproj</LITERAL3>\r
-\r
-                       <!-- Reserved but unused words -->\r
-                       <INVALID>auto</INVALID>\r
-                       <INVALID>break</INVALID>\r
-                       <INVALID>case</INVALID>\r
-                       <INVALID>catch</INVALID>\r
-                       <INVALID>char</INVALID>\r
-                       <INVALID>class</INVALID>\r
-                       <INVALID>const_cast</INVALID>\r
-                       <INVALID>continue</INVALID>\r
-                       <INVALID>default</INVALID>\r
-                       <INVALID>delete</INVALID>\r
-                       <INVALID>dynamic_cast</INVALID>\r
-                       <INVALID>enum</INVALID>\r
-                       <INVALID>explicit</INVALID>\r
-                       <INVALID>friend</INVALID>\r
-                       <INVALID>goto</INVALID>\r
-                       <INVALID>long</INVALID>\r
-                       <INVALID>mutable</INVALID>\r
-                       <INVALID>namespace</INVALID>\r
-                       <INVALID>new</INVALID>\r
-                       <INVALID>operator</INVALID>\r
-                       <INVALID>private</INVALID>\r
-                       <INVALID>protected</INVALID>\r
-                       <INVALID>public</INVALID>\r
-                       <INVALID>reinterpret_cast</INVALID>\r
-                       <INVALID>short</INVALID>\r
-                       <INVALID>signed</INVALID>\r
-                       <INVALID>sizeof</INVALID>\r
-                       <INVALID>static_cast</INVALID>\r
-                       <INVALID>switch</INVALID>\r
-                       <INVALID>template</INVALID>\r
-                       <INVALID>this</INVALID>\r
-                       <INVALID>throw</INVALID>\r
-                       <INVALID>try</INVALID>\r
-                       <INVALID>typename</INVALID>\r
-                       <INVALID>union</INVALID>\r
-                       <INVALID>unsigned</INVALID>\r
-                       <INVALID>using</INVALID>\r
-                       <INVALID>virtual</INVALID>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="Include" DEFAULT="KEYWORD2" />\r
-\r
-       <RULES\r
-               SET="Preprocessor"\r
-               DEFAULT="KEYWORD2"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="((0x[[:xdigit:]]+|[[:digit:]]+)[uUIL]?|[[:digit:]]+([eE][[:digit:]]*)?[hHfF]?)">\r
-\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               \r
-               <!-- this is a hack so that #include <net/if.h> does not get the if highlighted -->\r
-               <EOL_SPAN TYPE="MARKUP" DELEGATE="Include">include</EOL_SPAN>\r
-               \r
-               <KEYWORDS>\r
-                       <!-- Directives -->\r
-                       <MARKUP>define</MARKUP>\r
-                       <MARKUP>elif</MARKUP>\r
-                       <MARKUP>else</MARKUP>\r
-                       <MARKUP>endif</MARKUP>\r
-                       <MARKUP>error</MARKUP>\r
-                       <MARKUP>if</MARKUP>\r
-                       <MARKUP>ifdef</MARKUP>\r
-                       <MARKUP>ifndef</MARKUP>\r
-                       <MARKUP>line</MARKUP>\r
-                       <MARKUP>pragma</MARKUP>\r
-                       <MARKUP>undef</MARKUP>\r
-                       \r
-                       <!-- Other -->\r
-                       <LITERAL1>pack_matrix</LITERAL1>\r
-                       <LITERAL1>warning</LITERAL1>\r
-                       <LITERAL1>def</LITERAL1>\r
-                       <LITERAL1>defined</LITERAL1>\r
-                       <LITERAL1>D3DX</LITERAL1>\r
-                       <LITERAL1>D3DX_VERSION</LITERAL1>\r
-                       <LITERAL1>DIRECT3D</LITERAL1>\r
-                       <LITERAL1>DIRECT3D_VERSION</LITERAL1>\r
-                       <LITERAL1>__FILE__</LITERAL1>\r
-                       <LITERAL1>__LINE__</LITERAL1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="Asm"\r
-               DEFAULT="NULL"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="((0x[[:xdigit:]]+|[[:digit:]]+)[uUIL]?|[[:digit:]]+([eE][[:digit:]]*)?[hHfF]?)">\r
-               \r
-               <!-- Starting... -->\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <!-- Comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">;</EOL_SPAN>\r
-\r
-               <!-- Operators -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <!-- Swizzle operator -->\r
-               <SEQ_REGEXP TYPE="OPERATOR" HASH_CHAR=".">.(([xyzw]{1,4}))</SEQ_REGEXP>\r
-               \r
-               <!-- Instruction -->\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="abs">abs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="add">add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="bem">bem(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="break_comp">break_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="breakp">breakp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="callnz">callnz(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="cmp">cmp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="cnd">cnd(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="crs">crs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp2add">dp2add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp3">dp3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dp4">dp4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dst">dst(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dsx">dsx(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="dsy">dsy(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="else">else(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endif">endif(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endloop">endloop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="endrep">endrep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="exp">exp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="frc">frc(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="if">if(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="label">label(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="lit">lit(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="logp">logp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="loop">loop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="lrp">lrp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x2">m3x2(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x3">m3x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m3x4">m3x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m4x3">m4x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="m4x4">m4x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mad">mad(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mov">mov(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="max">max(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="min">min(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mova">mova(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="mul">mul(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="nop">nop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="nrm">nrm(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="phase">phase(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="pow">pow(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rcp">rcp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rep">rep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="ret">ret(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="rsq">rsq(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="setp_comp">setp_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sge">sge(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sgn">sgn(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sincos">sincos(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="slt">slt(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="sub">sub(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               <!-- (seen in preshader -->\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="FUNCTION" HASH_CHAR="neg">neg(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b</SEQ_REGEXP>\r
-               \r
-               <!-- Texturing instruction -->\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD2" HASH_CHAR="tex">tex\w*</SEQ_REGEXP>\r
-               \r
-               <!-- Main instruction -->\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="ps">ps\w*</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="vs">vs\w*</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="def">def\w*</SEQ_REGEXP>\r
-               <SEQ_REGEXP AT_WORD_START="TRUE" TYPE="KEYWORD1" HASH_CHAR="dcl">dcl\w*</SEQ_REGEXP>\r
-\r
-               <KEYWORDS>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/htaccess.xml b/extra/xmode/modes/htaccess.xml
deleted file mode 100644 (file)
index 33bf6c4..0000000
+++ /dev/null
@@ -1,563 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="noWordSep" VALUE="-" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
-                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <KEYWORDS>\r
-\r
-                       <KEYWORD1>AcceptPathInfo</KEYWORD1>\r
-                       <KEYWORD1>Action</KEYWORD1>\r
-                       <KEYWORD1>AddAlt</KEYWORD1>\r
-                       <KEYWORD1>AddAltByEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddAltByType</KEYWORD1>\r
-                       <KEYWORD1>AddCharset</KEYWORD1>\r
-                       <KEYWORD1>AddDefaultCharset</KEYWORD1>\r
-                       <KEYWORD1>AddDescription</KEYWORD1>\r
-                       <KEYWORD1>AddEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddHandler</KEYWORD1>\r
-                       <KEYWORD1>AddIcon</KEYWORD1>\r
-                       <KEYWORD1>AddIconByEncoding</KEYWORD1>\r
-                       <KEYWORD1>AddIconByType</KEYWORD1>\r
-                       <KEYWORD1>AddInputFilter</KEYWORD1>\r
-                       <KEYWORD1>AddLanguage</KEYWORD1>\r
-                       <KEYWORD1>AddOutputFilter</KEYWORD1>\r
-                       <KEYWORD1>AddOutputFilterByType</KEYWORD1>\r
-                       <KEYWORD1>AddType</KEYWORD1>\r
-                       <KEYWORD1>Allow</KEYWORD1>\r
-                       <KEYWORD1>Anonymous</KEYWORD1>\r
-                       <KEYWORD1>Anonymous_Authoritative</KEYWORD1>\r
-                       <KEYWORD1>Anonymous_LogEmail</KEYWORD1>\r
-                       <KEYWORD1>Anonymous_MustGiveEmail</KEYWORD1>\r
-                       <KEYWORD1>Anonymous_NoUserID</KEYWORD1>\r
-                       <KEYWORD1>Anonymous_VerifyEmail</KEYWORD1>\r
-                       <KEYWORD1>AuthAuthoritative</KEYWORD1>\r
-                       <KEYWORD1>AuthDBMAuthoritative</KEYWORD1>\r
-                       <KEYWORD1>AuthDBMGroupFile</KEYWORD1>\r
-                       <KEYWORD1>AuthDBMType</KEYWORD1>\r
-                       <KEYWORD1>AuthDBMUserFile</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestAlgorithm</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestDomain</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestFile</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestGroupFile</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestNonceFormat</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestNonceLifetime</KEYWORD1>\r
-                       <KEYWORD1>AuthDigestQop</KEYWORD1>\r
-                       <KEYWORD1>AuthGroupFile</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPAuthoritative</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPBindDN</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPBindPassword</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPCompareDNOnServer</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPDereferenceAliases</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPEnabled</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPFrontPageHack</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPGroupAttribute</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPGroupAttributeIsDN</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPRemoteUserIsDN</KEYWORD1>\r
-                       <KEYWORD1>AuthLDAPUrl</KEYWORD1>\r
-                       <KEYWORD1>AuthName</KEYWORD1>\r
-                       <KEYWORD1>AuthType</KEYWORD1>\r
-                       <KEYWORD1>AuthUserFile</KEYWORD1>\r
-                       <KEYWORD1>BrowserMatch</KEYWORD1>\r
-                       <KEYWORD1>BrowserMatchNoCase</KEYWORD1>\r
-                       <KEYWORD1>CGIMapExtension</KEYWORD1>\r
-                       <KEYWORD1>CharsetDefault</KEYWORD1>\r
-                       <KEYWORD1>CharsetOptions</KEYWORD1>\r
-                       <KEYWORD1>CharsetSourceEnc</KEYWORD1>\r
-                       <KEYWORD1>CheckSpelling</KEYWORD1>\r
-                       <KEYWORD1>ContentDigest</KEYWORD1>\r
-                       <KEYWORD1>CookieDomain</KEYWORD1>\r
-                       <KEYWORD1>CookieExpires</KEYWORD1>\r
-                       <KEYWORD1>CookieName</KEYWORD1>\r
-                       <KEYWORD1>CookieStyle</KEYWORD1>\r
-                       <KEYWORD1>CookieTracking</KEYWORD1>\r
-                       <KEYWORD1>DefaultIcon</KEYWORD1>\r
-                       <KEYWORD1>DefaultLanguage</KEYWORD1>\r
-                       <KEYWORD1>DefaultType</KEYWORD1>\r
-                       <KEYWORD1>Deny</KEYWORD1>\r
-                       <KEYWORD1>DirectoryIndex</KEYWORD1>\r
-                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
-                       <KEYWORD1>EnableMMAP</KEYWORD1>\r
-                       <KEYWORD1>EnableSendfile</KEYWORD1>\r
-                       <KEYWORD1>ErrorDocument</KEYWORD1>\r
-                       <KEYWORD1>Example</KEYWORD1>\r
-                       <KEYWORD1>ExpiresActive</KEYWORD1>\r
-                       <KEYWORD1>ExpiresByType</KEYWORD1>\r
-                       <KEYWORD1>ExpiresDefault</KEYWORD1>\r
-                       <KEYWORD1>FileETag</KEYWORD1>\r
-                       <KEYWORD1>ForceLanguagePriority</KEYWORD1>\r
-                       <KEYWORD1>ForceType</KEYWORD1>\r
-                       <KEYWORD1>Header</KEYWORD1>\r
-                       <KEYWORD1>HeaderName</KEYWORD1>\r
-                       <KEYWORD1>ImapBase</KEYWORD1>\r
-                       <KEYWORD1>ImapDefault</KEYWORD1>\r
-                       <KEYWORD1>ImapMenu</KEYWORD1>\r
-                       <KEYWORD1>IndexIgnore</KEYWORD1>\r
-                       <KEYWORD1>IndexOptions</KEYWORD1>\r
-                       <KEYWORD1>IndexOrderDefault</KEYWORD1>\r
-                       <KEYWORD1>ISAPIAppendLogToErrors</KEYWORD1>\r
-                       <KEYWORD1>ISAPIAppendLogToQuery</KEYWORD1>\r
-                       <KEYWORD1>ISAPIFakeAsync</KEYWORD1>\r
-                       <KEYWORD1>ISAPILogNotSupported</KEYWORD1>\r
-                       <KEYWORD1>ISAPIReadAheadBuffer</KEYWORD1>\r
-                       <KEYWORD1>LanguagePriority</KEYWORD1>\r
-                       <KEYWORD1>LimitRequestBody</KEYWORD1>\r
-                       <KEYWORD1>LimitXMLRequestBody</KEYWORD1>\r
-                       <KEYWORD1>MetaDir</KEYWORD1>\r
-                       <KEYWORD1>MetaFiles</KEYWORD1>\r
-                       <KEYWORD1>MetaSuffix</KEYWORD1>\r
-                       <KEYWORD1>MultiviewsMatch</KEYWORD1>\r
-                       <KEYWORD1>Options</KEYWORD1>\r
-                       <KEYWORD1>Order</KEYWORD1>\r
-                       <KEYWORD1>PassEnv</KEYWORD1>\r
-                       <KEYWORD1>ReadmeName</KEYWORD1>\r
-                       <KEYWORD1>Redirect</KEYWORD1>\r
-                       <KEYWORD1>RedirectMatch</KEYWORD1>\r
-                       <KEYWORD1>RedirectPermanent</KEYWORD1>\r
-                       <KEYWORD1>RedirectTemp</KEYWORD1>\r
-                       <KEYWORD1>RemoveCharset</KEYWORD1>\r
-                       <KEYWORD1>RemoveEncoding</KEYWORD1>\r
-                       <KEYWORD1>RemoveHandler</KEYWORD1>\r
-                       <KEYWORD1>RemoveInputFilter</KEYWORD1>\r
-                       <KEYWORD1>RemoveLanguage</KEYWORD1>\r
-                       <KEYWORD1>RemoveOutputFilter</KEYWORD1>\r
-                       <KEYWORD1>RemoveType</KEYWORD1>\r
-                       <KEYWORD1>RequestHeader</KEYWORD1>\r
-                       <KEYWORD1>Require</KEYWORD1>\r
-                       <KEYWORD1>RewriteBase</KEYWORD1>\r
-                       <KEYWORD1>RewriteCond</KEYWORD1>\r
-                       <KEYWORD1>RewriteEngine</KEYWORD1>\r
-                       <KEYWORD1>RewriteOptions</KEYWORD1>\r
-                       <KEYWORD1>RewriteRule</KEYWORD1>\r
-                       <KEYWORD1>RLimitCPU</KEYWORD1>\r
-                       <KEYWORD1>RLimitMEM</KEYWORD1>\r
-                       <KEYWORD1>RLimitNPROC</KEYWORD1>\r
-                       <KEYWORD1>Satisfy</KEYWORD1>\r
-                       <KEYWORD1>ScriptInterpreterSource</KEYWORD1>\r
-                       <KEYWORD1>ServerSignature</KEYWORD1>\r
-                       <KEYWORD1>SetEnv</KEYWORD1>\r
-                       <KEYWORD1>SetEnvIf</KEYWORD1>\r
-                       <KEYWORD1>SetEnvIfNoCase</KEYWORD1>\r
-                       <KEYWORD1>SetHandler</KEYWORD1>\r
-                       <KEYWORD1>SetInputFilter</KEYWORD1>\r
-                       <KEYWORD1>SetOutputFilter</KEYWORD1>\r
-                       <KEYWORD1>SSIErrorMsg</KEYWORD1>\r
-                       <KEYWORD1>SSITimeFormat</KEYWORD1>\r
-                       <KEYWORD1>SSLCipherSuite</KEYWORD1>\r
-                       <KEYWORD1>SSLOptions</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyCipherSuite</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyVerify</KEYWORD1>\r
-                       <KEYWORD1>SSLProxyVerifyDepth</KEYWORD1>\r
-                       <KEYWORD1>SSLRequire</KEYWORD1>\r
-                       <KEYWORD1>SSLRequireSSL</KEYWORD1>\r
-                       <KEYWORD1>SSLUserName</KEYWORD1>\r
-                       <KEYWORD1>SSLVerifyClient</KEYWORD1>\r
-                       <KEYWORD1>SSLVerifyDepth</KEYWORD1>\r
-                       <KEYWORD1>UnsetEnv</KEYWORD1>\r
-                       <KEYWORD1>XBitHack</KEYWORD1>\r
-\r
-                       <LITERAL3>Basic</LITERAL3>\r
-                       <LITERAL3>Digest</LITERAL3>\r
-                       <LITERAL3>None</LITERAL3>\r
-                       <LITERAL3>Off</LITERAL3>\r
-                       <LITERAL3>On</LITERAL3>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-       <RULES SET="DIRECTIVE" DEFAULT="NULL" ESCAPE="\" IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="DIRECTIVE">\r
-                       <BEGIN><![CDATA[<(\w+)[^>]*>]]></BEGIN>\r
-                       <END><![CDATA[</$1>]]></END>\r
-               </SPAN_REGEXP>\r
-\r
-               <KEYWORDS>\r
-\r
-                       <KEYWORD2>AcceptMutex</KEYWORD2>\r
-                       <KEYWORD2>AcceptPathInfo</KEYWORD2>\r
-                       <KEYWORD2>AccessFileName</KEYWORD2>\r
-                       <KEYWORD2>Action</KEYWORD2>\r
-                       <KEYWORD2>AddAlt</KEYWORD2>\r
-                       <KEYWORD2>AddAltByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddAltByType</KEYWORD2>\r
-                       <KEYWORD2>AddCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDefaultCharset</KEYWORD2>\r
-                       <KEYWORD2>AddDescription</KEYWORD2>\r
-                       <KEYWORD2>AddEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddHandler</KEYWORD2>\r
-                       <KEYWORD2>AddIcon</KEYWORD2>\r
-                       <KEYWORD2>AddIconByEncoding</KEYWORD2>\r
-                       <KEYWORD2>AddIconByType</KEYWORD2>\r
-                       <KEYWORD2>AddInputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddLanguage</KEYWORD2>\r
-                       <KEYWORD2>AddModuleInfo</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>AddOutputFilterByType</KEYWORD2>\r
-                       <KEYWORD2>AddType</KEYWORD2>\r
-                       <KEYWORD2>Alias</KEYWORD2>\r
-                       <KEYWORD2>AliasMatch</KEYWORD2>\r
-                       <KEYWORD2>Allow</KEYWORD2>\r
-                       <KEYWORD2>AllowCONNECT</KEYWORD2>\r
-                       <KEYWORD2>AllowEncodedSlashes</KEYWORD2>\r
-                       <KEYWORD2>AllowOverride</KEYWORD2>\r
-                       <KEYWORD2>Anonymous</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_Authoritative</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_LogEmail</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_MustGiveEmail</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_NoUserID</KEYWORD2>\r
-                       <KEYWORD2>Anonymous_VerifyEmail</KEYWORD2>\r
-                       <KEYWORD2>AuthAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMType</KEYWORD2>\r
-                       <KEYWORD2>AuthDBMUserFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestAlgorithm</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestDomain</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNcCheck</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNonceFormat</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestNonceLifetime</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestQop</KEYWORD2>\r
-                       <KEYWORD2>AuthDigestShmemSize</KEYWORD2>\r
-                       <KEYWORD2>AuthGroupFile</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPAuthoritative</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPBindDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPBindPassword</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPCharsetConfig</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPCompareDNOnServer</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPDereferenceAliases</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPEnabled</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPFrontPageHack</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPGroupAttribute</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPGroupAttributeIsDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPRemoteUserIsDN</KEYWORD2>\r
-                       <KEYWORD2>AuthLDAPUrl</KEYWORD2>\r
-                       <KEYWORD2>AuthName</KEYWORD2>\r
-                       <KEYWORD2>AuthType</KEYWORD2>\r
-                       <KEYWORD2>AuthUserFile</KEYWORD2>\r
-                       <KEYWORD2>BS2000Account</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatch</KEYWORD2>\r
-                       <KEYWORD2>BrowserMatchNoCase</KEYWORD2>\r
-                       <KEYWORD2>CGIMapExtension</KEYWORD2>\r
-                       <KEYWORD2>CacheDefaultExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLength</KEYWORD2>\r
-                       <KEYWORD2>CacheDirLevels</KEYWORD2>\r
-                       <KEYWORD2>CacheDisable</KEYWORD2>\r
-                       <KEYWORD2>CacheEnable</KEYWORD2>\r
-                       <KEYWORD2>CacheExpiryCheck</KEYWORD2>\r
-                       <KEYWORD2>CacheFile</KEYWORD2>\r
-                       <KEYWORD2>CacheForceCompletion</KEYWORD2>\r
-                       <KEYWORD2>CacheGcClean</KEYWORD2>\r
-                       <KEYWORD2>CacheGcDaily</KEYWORD2>\r
-                       <KEYWORD2>CacheGcInterval</KEYWORD2>\r
-                       <KEYWORD2>CacheGcMemUsage</KEYWORD2>\r
-                       <KEYWORD2>CacheGcUnused</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreCacheControl</KEYWORD2>\r
-                       <KEYWORD2>CacheIgnoreNoLastMod</KEYWORD2>\r
-                       <KEYWORD2>CacheLastModifiedFactor</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxExpire</KEYWORD2>\r
-                       <KEYWORD2>CacheMaxFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheMinFileSize</KEYWORD2>\r
-                       <KEYWORD2>CacheNegotiatedDocs</KEYWORD2>\r
-                       <KEYWORD2>CacheRoot</KEYWORD2>\r
-                       <KEYWORD2>CacheSize</KEYWORD2>\r
-                       <KEYWORD2>CacheTimeMargin</KEYWORD2>\r
-                       <KEYWORD2>CharsetDefault</KEYWORD2>\r
-                       <KEYWORD2>CharsetOptions</KEYWORD2>\r
-                       <KEYWORD2>CharsetSourceEnc</KEYWORD2>\r
-                       <KEYWORD2>CheckSpelling</KEYWORD2>\r
-                       <KEYWORD2>ChildPerUserID</KEYWORD2>\r
-                       <KEYWORD2>ContentDigest</KEYWORD2>\r
-                       <KEYWORD2>CookieDomain</KEYWORD2>\r
-                       <KEYWORD2>CookieExpires</KEYWORD2>\r
-                       <KEYWORD2>CookieLog</KEYWORD2>\r
-                       <KEYWORD2>CookieName</KEYWORD2>\r
-                       <KEYWORD2>CookieStyle</KEYWORD2>\r
-                       <KEYWORD2>CookieTracking</KEYWORD2>\r
-                       <KEYWORD2>CoreDumpDirectory</KEYWORD2>\r
-                       <KEYWORD2>CustomLog</KEYWORD2>\r
-                       <KEYWORD2>Dav</KEYWORD2>\r
-                       <KEYWORD2>DavDepthInfinity</KEYWORD2>\r
-                       <KEYWORD2>DavLockDB</KEYWORD2>\r
-                       <KEYWORD2>DavMinTimeout</KEYWORD2>\r
-                       <KEYWORD2>DefaultIcon</KEYWORD2>\r
-                       <KEYWORD2>DefaultLanguage</KEYWORD2>\r
-                       <KEYWORD2>DefaultType</KEYWORD2>\r
-                       <KEYWORD2>DeflateBufferSize</KEYWORD2>\r
-                       <KEYWORD2>DeflateCompressionLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateFilterNote</KEYWORD2>\r
-                       <KEYWORD2>DeflateMemLevel</KEYWORD2>\r
-                       <KEYWORD2>DeflateWindowSize</KEYWORD2>\r
-                       <KEYWORD2>Deny</KEYWORD2>\r
-                       <KEYWORD2>DirectoryIndex</KEYWORD2>\r
-                       <KEYWORD1>DirectorySlash</KEYWORD1>\r
-                       <KEYWORD2>DocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>EnableMMAP</KEYWORD2>\r
-                       <KEYWORD2>EnableSendfile</KEYWORD2>\r
-                       <KEYWORD2>ErrorDocument</KEYWORD2>\r
-                       <KEYWORD2>ErrorLog</KEYWORD2>\r
-                       <KEYWORD2>Example</KEYWORD2>\r
-                       <KEYWORD2>ExpiresActive</KEYWORD2>\r
-                       <KEYWORD2>ExpiresByType</KEYWORD2>\r
-                       <KEYWORD2>ExpiresDefault</KEYWORD2>\r
-                       <KEYWORD2>ExtFilterDefine</KEYWORD2>\r
-                       <KEYWORD2>ExtFilterOptions</KEYWORD2>\r
-                       <KEYWORD2>ExtendedStatus</KEYWORD2>\r
-                       <KEYWORD2>FileETag</KEYWORD2>\r
-                       <KEYWORD2>ForceLanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>ForceType</KEYWORD2>\r
-                       <KEYWORD2>Group</KEYWORD2>\r
-                       <KEYWORD2>Header</KEYWORD2>\r
-                       <KEYWORD2>HeaderName</KEYWORD2>\r
-                       <KEYWORD2>HostnameLookups</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToErrors</KEYWORD2>\r
-                       <KEYWORD2>ISAPIAppendLogToQuery</KEYWORD2>\r
-                       <KEYWORD2>ISAPICacheFile</KEYWORD2>\r
-                       <KEYWORD2>ISAPIFakeAsync</KEYWORD2>\r
-                       <KEYWORD2>ISAPILogNotSupported</KEYWORD2>\r
-                       <KEYWORD2>ISAPIReadAheadBuffer</KEYWORD2>\r
-                       <KEYWORD2>IdentityCheck</KEYWORD2>\r
-                       <KEYWORD2>ImapBase</KEYWORD2>\r
-                       <KEYWORD2>ImapDefault</KEYWORD2>\r
-                       <KEYWORD2>ImapMenu</KEYWORD2>\r
-                       <KEYWORD2>Include</KEYWORD2>\r
-                       <KEYWORD2>IndexIgnore</KEYWORD2>\r
-                       <KEYWORD2>IndexOptions</KEYWORD2>\r
-                       <KEYWORD2>IndexOrderDefault</KEYWORD2>\r
-                       <KEYWORD2>KeepAlive</KEYWORD2>\r
-                       <KEYWORD2>KeepAliveTimeout</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheEntries</KEYWORD2>\r
-                       <KEYWORD2>LDAPOpCacheTTL</KEYWORD2>\r
-                       <KEYWORD2>LDAPSharedCacheSize</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCA</KEYWORD2>\r
-                       <KEYWORD2>LDAPTrustedCAType</KEYWORD2>\r
-                       <KEYWORD2>LanguagePriority</KEYWORD2>\r
-                       <KEYWORD2>LimitInternalRecursion</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestBody</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFields</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestFieldsize</KEYWORD2>\r
-                       <KEYWORD2>LimitRequestLine</KEYWORD2>\r
-                       <KEYWORD2>LimitXMLRequestBody</KEYWORD2>\r
-                       <KEYWORD2>Listen</KEYWORD2>\r
-                       <KEYWORD2>ListenBacklog</KEYWORD2>\r
-                       <KEYWORD2>LoadFile</KEYWORD2>\r
-                       <KEYWORD2>LoadModule</KEYWORD2>\r
-                       <KEYWORD2>LockFile</KEYWORD2>\r
-                       <KEYWORD2>LogFormat</KEYWORD2>\r
-                       <KEYWORD2>LogLevel</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectCount</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheMaxStreamingBuffer</KEYWORD2>\r
-                       <KEYWORD2>MCacheMinObjectSize</KEYWORD2>\r
-                       <KEYWORD2>MCacheRemovalAlgorithm</KEYWORD2>\r
-                       <KEYWORD2>MCacheSize</KEYWORD2>\r
-                       <KEYWORD2>MMapFile</KEYWORD2>\r
-                       <KEYWORD2>MaxClients</KEYWORD2>\r
-                       <KEYWORD2>MaxKeepAliveRequests</KEYWORD2>\r
-                       <KEYWORD2>MaxMemFree</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MaxRequestsPerThread</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MaxSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreads</KEYWORD2>\r
-                       <KEYWORD2>MaxThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>MetaDir</KEYWORD2>\r
-                       <KEYWORD2>MetaFiles</KEYWORD2>\r
-                       <KEYWORD2>MetaSuffix</KEYWORD2>\r
-                       <KEYWORD2>MimeMagicFile</KEYWORD2>\r
-                       <KEYWORD2>MinSpareServers</KEYWORD2>\r
-                       <KEYWORD2>MinSpareThreads</KEYWORD2>\r
-                       <KEYWORD2>ModMimeUsePathInfo</KEYWORD2>\r
-                       <KEYWORD2>MultiviewsMatch</KEYWORD2>\r
-                       <KEYWORD2>NWSSLTrustedCerts</KEYWORD2>\r
-                       <KEYWORD2>NameVirtualHost</KEYWORD2>\r
-                       <KEYWORD2>NoProxy</KEYWORD2>\r
-                       <KEYWORD2>NumServers</KEYWORD2>\r
-                       <KEYWORD2>Options</KEYWORD2>\r
-                       <KEYWORD2>Order</KEYWORD2>\r
-                       <KEYWORD2>PassEnv</KEYWORD2>\r
-                       <KEYWORD2>PidFile</KEYWORD2>\r
-                       <KEYWORD2>ProtocolEcho</KEYWORD2>\r
-                       <KEYWORD2>ProxyBadHeader</KEYWORD2>\r
-                       <KEYWORD2>ProxyBlock</KEYWORD2>\r
-                       <KEYWORD2>ProxyDomain</KEYWORD2>\r
-                       <KEYWORD2>ProxyErrorOverride</KEYWORD2>\r
-                       <KEYWORD2>ProxyIOBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyMaxForwards</KEYWORD2>\r
-                       <KEYWORD2>ProxyPass</KEYWORD2>\r
-                       <KEYWORD2>ProxyPassReverse</KEYWORD2>\r
-                       <KEYWORD2>ProxyPreserveHost</KEYWORD2>\r
-                       <KEYWORD2>ProxyReceiveBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemote</KEYWORD2>\r
-                       <KEYWORD2>ProxyRemoteMatch</KEYWORD2>\r
-                       <KEYWORD2>ProxyRequests</KEYWORD2>\r
-                       <KEYWORD2>ProxyTimeout</KEYWORD2>\r
-                       <KEYWORD2>ProxyVia</KEYWORD2>\r
-                       <KEYWORD2>RLimitCPU</KEYWORD2>\r
-                       <KEYWORD2>RLimitMEM</KEYWORD2>\r
-                       <KEYWORD2>RLimitNPROC</KEYWORD2>\r
-                       <KEYWORD2>ReadmeName</KEYWORD2>\r
-                       <KEYWORD2>Redirect</KEYWORD2>\r
-                       <KEYWORD2>RedirectMatch</KEYWORD2>\r
-                       <KEYWORD2>RedirectPermanent</KEYWORD2>\r
-                       <KEYWORD2>RedirectTemp</KEYWORD2>\r
-                       <KEYWORD2>RemoveCharset</KEYWORD2>\r
-                       <KEYWORD2>RemoveEncoding</KEYWORD2>\r
-                       <KEYWORD2>RemoveHandler</KEYWORD2>\r
-                       <KEYWORD2>RemoveInputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveLanguage</KEYWORD2>\r
-                       <KEYWORD2>RemoveOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>RemoveType</KEYWORD2>\r
-                       <KEYWORD2>RequestHeader</KEYWORD2>\r
-                       <KEYWORD2>Require</KEYWORD2>\r
-                       <KEYWORD2>RewriteBase</KEYWORD2>\r
-                       <KEYWORD2>RewriteCond</KEYWORD2>\r
-                       <KEYWORD2>RewriteEngine</KEYWORD2>\r
-                       <KEYWORD2>RewriteLock</KEYWORD2>\r
-                       <KEYWORD2>RewriteLog</KEYWORD2>\r
-                       <KEYWORD2>RewriteLogLevel</KEYWORD2>\r
-                       <KEYWORD2>RewriteMap</KEYWORD2>\r
-                       <KEYWORD2>RewriteOptions</KEYWORD2>\r
-                       <KEYWORD2>RewriteRule</KEYWORD2>\r
-                       <KEYWORD2>SSIEndTag</KEYWORD2>\r
-                       <KEYWORD2>SSIErrorMsg</KEYWORD2>\r
-                       <KEYWORD2>SSIStartTag</KEYWORD2>\r
-                       <KEYWORD2>SSITimeFormat</KEYWORD2>\r
-                       <KEYWORD2>SSIUndefinedEcho</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateChainFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCertificateKeyFile</KEYWORD2>\r
-                       <KEYWORD2>SSLCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLMutex</KEYWORD2>\r
-                       <KEYWORD2>SSLOptions</KEYWORD2>\r
-                       <KEYWORD2>SSLPassPhraseDialog</KEYWORD2>\r
-                       <KEYWORD2>SSLProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCACertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCARevocationPath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyCipherSuite</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyEngine</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificateFile</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyMachineCertificatePath</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyProtocol</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerify</KEYWORD2>\r
-                       <KEYWORD2>SSLProxyVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>SSLRandomSeed</KEYWORD2>\r
-                       <KEYWORD2>SSLRequire</KEYWORD2>\r
-                       <KEYWORD2>SSLRequireSSL</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCache</KEYWORD2>\r
-                       <KEYWORD2>SSLSessionCacheTimeout</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyClient</KEYWORD2>\r
-                       <KEYWORD2>SSLVerifyDepth</KEYWORD2>\r
-                       <KEYWORD2>Satisfy</KEYWORD2>\r
-                       <KEYWORD2>ScoreBoardFile</KEYWORD2>\r
-                       <KEYWORD2>Script</KEYWORD2>\r
-                       <KEYWORD2>ScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>ScriptAliasMatch</KEYWORD2>\r
-                       <KEYWORD2>ScriptInterpreterSource</KEYWORD2>\r
-                       <KEYWORD2>ScriptLog</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogBuffer</KEYWORD2>\r
-                       <KEYWORD2>ScriptLogLength</KEYWORD2>\r
-                       <KEYWORD2>ScriptSock</KEYWORD2>\r
-                       <KEYWORD2>SecureListen</KEYWORD2>\r
-                       <KEYWORD2>SendBufferSize</KEYWORD2>\r
-                       <KEYWORD2>ServerAdmin</KEYWORD2>\r
-                       <KEYWORD2>ServerLimit</KEYWORD2>\r
-                       <KEYWORD2>ServerName</KEYWORD2>\r
-                       <KEYWORD2>ServerRoot</KEYWORD2>\r
-                       <KEYWORD2>ServerSignature</KEYWORD2>\r
-                       <KEYWORD2>ServerTokens</KEYWORD2>\r
-                       <KEYWORD2>SetEnv</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIf</KEYWORD2>\r
-                       <KEYWORD2>SetEnvIfNoCase</KEYWORD2>\r
-                       <KEYWORD2>SetHandler</KEYWORD2>\r
-                       <KEYWORD2>SetInputFilter</KEYWORD2>\r
-                       <KEYWORD2>SetOutputFilter</KEYWORD2>\r
-                       <KEYWORD2>StartServers</KEYWORD2>\r
-                       <KEYWORD2>StartThreads</KEYWORD2>\r
-                       <KEYWORD2>SuexecUserGroup</KEYWORD2>\r
-                       <KEYWORD2>ThreadLimit</KEYWORD2>\r
-                       <KEYWORD2>ThreadStackSize</KEYWORD2>\r
-                       <KEYWORD2>ThreadsPerChild</KEYWORD2>\r
-                       <KEYWORD2>TimeOut</KEYWORD2>\r
-                       <KEYWORD2>TransferLog</KEYWORD2>\r
-                       <KEYWORD2>TypesConfig</KEYWORD2>\r
-                       <KEYWORD2>UnsetEnv</KEYWORD2>\r
-                       <KEYWORD2>UseCanonicalName</KEYWORD2>\r
-                       <KEYWORD2>User</KEYWORD2>\r
-                       <KEYWORD2>UserDir</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRoot</KEYWORD2>\r
-                       <KEYWORD2>VirtualDocumentRootIP</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAlias</KEYWORD2>\r
-                       <KEYWORD2>VirtualScriptAliasIP</KEYWORD2>\r
-                       <KEYWORD2>XBitHack</KEYWORD2>\r
-\r
-                       <!-- Apache 1.x -->\r
-                       <!-- using 4 for apache 1.x vs 2.x -->\r
-                       <KEYWORD4>AddModule</KEYWORD4>\r
-                       <KEYWORD4>ClearModuleList</KEYWORD4>\r
-\r
-                       <!-- Subversion directives -->\r
-                       <KEYWORD3>SVNPath</KEYWORD3>\r
-                       <KEYWORD3>SVNParentPath</KEYWORD3>\r
-                       <KEYWORD3>SVNIndexXSLT</KEYWORD3>\r
-\r
-                       <!-- mod_python directives -->\r
-                       <KEYWORD3>PythonHandler</KEYWORD3>\r
-                       <KEYWORD3>PythonDebug</KEYWORD3>\r
-\r
-                       <!-- mod_php -->\r
-                       <KEYWORD3>php_value</KEYWORD3>\r
-                       <!-- using 4 for apache 1.x vs 2.x -->\r
-                       <KEYWORD4>php_flag</KEYWORD4>\r
-\r
-                       <LITERAL2>All</LITERAL2>\r
-                       <LITERAL2>ExecCGI</LITERAL2>\r
-                       <LITERAL2>FollowSymLinks</LITERAL2>\r
-                       <LITERAL2>Includes</LITERAL2>\r
-                       <LITERAL2>IncludesNOEXEC</LITERAL2>\r
-                       <LITERAL2>Indexes</LITERAL2>\r
-                       <LITERAL2>MultiViews</LITERAL2>\r
-                       <LITERAL2>None</LITERAL2>\r
-                       <LITERAL2>Off</LITERAL2>\r
-                       <LITERAL2>On</LITERAL2>\r
-                       <LITERAL2>SymLinksIfOwnerMatch</LITERAL2>\r
-                       <LITERAL2>from</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/html.xml b/extra/xmode/modes/html.xml
deleted file mode 100644 (file)
index a5af604..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ESCAPE is not exactly right but it is needed to correctly\r
-            handle JavaScript in on* parameters -->\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- HTML/XHTML elements, taken from http://de.selfhtml.org/html/referenz/elemente.htm -->\r
-                       <KEYWORD1>fieldset</KEYWORD1>\r
-                       <KEYWORD1>a</KEYWORD1>\r
-                       <KEYWORD1>abbr</KEYWORD1>\r
-                       <KEYWORD1>acronym</KEYWORD1>\r
-                       <KEYWORD1>address</KEYWORD1>\r
-                       <KEYWORD1>applet</KEYWORD1>\r
-                       <KEYWORD1>area</KEYWORD1>\r
-                       <KEYWORD1>b</KEYWORD1>\r
-                       <KEYWORD1>base</KEYWORD1>\r
-                       <KEYWORD1>basefont</KEYWORD1>\r
-                       <KEYWORD1>bdo</KEYWORD1>\r
-                       <KEYWORD1>big</KEYWORD1>\r
-                       <KEYWORD1>blockquote</KEYWORD1>\r
-                       <KEYWORD1>body</KEYWORD1>\r
-                       <KEYWORD1>br</KEYWORD1>\r
-                       <KEYWORD1>button</KEYWORD1>\r
-                       <KEYWORD1>caption</KEYWORD1>\r
-                       <KEYWORD1>center</KEYWORD1>\r
-                       <KEYWORD1>cite</KEYWORD1>\r
-                       <KEYWORD1>code</KEYWORD1>\r
-                       <KEYWORD1>col</KEYWORD1>\r
-                       <KEYWORD1>colgroup</KEYWORD1>\r
-                       <KEYWORD1>dd</KEYWORD1>\r
-                       <KEYWORD1>del</KEYWORD1>\r
-                       <KEYWORD1>dfn</KEYWORD1>\r
-                       <KEYWORD1>dir</KEYWORD1>\r
-                       <KEYWORD1>div</KEYWORD1>\r
-                       <KEYWORD1>dl</KEYWORD1>\r
-                       <KEYWORD1>dt</KEYWORD1>\r
-                       <KEYWORD1>em</KEYWORD1>\r
-                       <KEYWORD1>fieldset</KEYWORD1>\r
-                       <KEYWORD1>font</KEYWORD1>\r
-                       <KEYWORD1>form</KEYWORD1>\r
-                       <KEYWORD1>frame</KEYWORD1>\r
-                       <KEYWORD1>frameset</KEYWORD1>\r
-                       <KEYWORD1>h1</KEYWORD1>\r
-                       <KEYWORD1>h2</KEYWORD1>\r
-                       <KEYWORD1>h3</KEYWORD1>\r
-                       <KEYWORD1>h4</KEYWORD1>\r
-                       <KEYWORD1>h5</KEYWORD1>\r
-                       <KEYWORD1>h6</KEYWORD1>\r
-                       <KEYWORD1>head</KEYWORD1>\r
-                       <KEYWORD1>hr</KEYWORD1>\r
-                       <KEYWORD1>html</KEYWORD1>\r
-                       <KEYWORD1>i</KEYWORD1>\r
-                       <KEYWORD1>iframe</KEYWORD1>\r
-                       <KEYWORD1>img</KEYWORD1>\r
-                       <KEYWORD1>input</KEYWORD1>\r
-                       <KEYWORD1>ins</KEYWORD1>\r
-                       <KEYWORD1>isindex</KEYWORD1>\r
-                       <KEYWORD1>kbd</KEYWORD1>\r
-                       <KEYWORD1>label</KEYWORD1>\r
-                       <KEYWORD1>legend</KEYWORD1>\r
-                       <KEYWORD1>li</KEYWORD1>\r
-                       <KEYWORD1>link</KEYWORD1>\r
-                       <KEYWORD1>map</KEYWORD1>\r
-                       <KEYWORD1>menu</KEYWORD1>\r
-                       <KEYWORD1>meta</KEYWORD1>\r
-                       <KEYWORD1>noframes</KEYWORD1>\r
-                       <KEYWORD1>noscript</KEYWORD1>\r
-                       <KEYWORD1>object</KEYWORD1>\r
-                       <KEYWORD1>ol</KEYWORD1>\r
-                       <KEYWORD1>optgroup</KEYWORD1>\r
-                       <KEYWORD1>option</KEYWORD1>\r
-                       <KEYWORD1>p</KEYWORD1>\r
-                       <KEYWORD1>param</KEYWORD1>\r
-                       <KEYWORD1>pre</KEYWORD1>\r
-                       <KEYWORD1>q</KEYWORD1>\r
-                       <KEYWORD1>s</KEYWORD1>\r
-                       <KEYWORD1>samp</KEYWORD1>\r
-                       <KEYWORD1>script</KEYWORD1>\r
-                       <KEYWORD1>select</KEYWORD1>\r
-                       <KEYWORD1>small</KEYWORD1>\r
-                       <KEYWORD1>span</KEYWORD1>\r
-                       <KEYWORD1>strike</KEYWORD1>\r
-                       <KEYWORD1>strong</KEYWORD1>\r
-                       <KEYWORD1>style</KEYWORD1>\r
-                       <KEYWORD1>sub</KEYWORD1>\r
-                       <KEYWORD1>sup</KEYWORD1>\r
-                       <KEYWORD1>table</KEYWORD1>\r
-                       <KEYWORD1>tbody</KEYWORD1>\r
-                       <KEYWORD1>td</KEYWORD1>\r
-                       <KEYWORD1>textarea</KEYWORD1>\r
-                       <KEYWORD1>tfoot</KEYWORD1>\r
-                       <KEYWORD1>th</KEYWORD1>\r
-                       <KEYWORD1>thead</KEYWORD1>\r
-                       <KEYWORD1>title</KEYWORD1>\r
-                       <KEYWORD1>tr</KEYWORD1>\r
-                       <KEYWORD1>tt</KEYWORD1>\r
-                       <KEYWORD1>u</KEYWORD1>\r
-                       <KEYWORD1>ul</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
-               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
-               <!-- handle <SCRIPT SRC="..."> properly -->\r
-               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="html::MAIN">&gt;</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/i4gl.xml b/extra/xmode/modes/i4gl.xml
deleted file mode 100644 (file)
index 0c50648..0000000
+++ /dev/null
@@ -1,665 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- i4gl.xml -->\r
-<!-- Informix 4GL mode, by Jozsa Stefan, joozsa@flash.ro -->\r
-<!-- Based on 'reserved.Z' from www.iiug.org by J.Leffler -->\r
-\r
-<MODE>\r
-\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="{" />\r
-    <PROPERTY NAME="commentEnd" VALUE="}" />\r
-    <PROPERTY NAME="lineComment" VALUE="--" />\r
-    <PROPERTY NAME="noWordSep" VALUE="_" />\r
-    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-  </PROPS>\r
-\r
-  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-     </SPAN>\r
-\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>"</BEGIN>\r
-       <END>"</END>\r
-     </SPAN>\r
-\r
-    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-    <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-     <SPAN TYPE="COMMENT1">\r
-      <BEGIN>{</BEGIN>\r
-      <END>}</END>\r
-     </SPAN>\r
-\r
-    <SEQ TYPE="NULL">)</SEQ>\r
-    <!-- <SEQ TYPE="NULL">(</SEQ> -->\r
-    <SEQ TYPE="NULL">]</SEQ>\r
-    <SEQ TYPE="NULL">[</SEQ>\r
-    <SEQ TYPE="NULL">.</SEQ>\r
-    <SEQ TYPE="NULL">,</SEQ>\r
-    <SEQ TYPE="NULL">;</SEQ>\r
-    <SEQ TYPE="NULL">:</SEQ>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">==</SEQ>\r
-    <SEQ TYPE="OPERATOR">!=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">||</SEQ>\r
-\r
-     <!-- Function calls -->\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-    <KEYWORDS>\r
-\r
-      <!-- 4GL Reserved Keywords. -->\r
-      <!-- Many keywords because SQL is embeded in 4GL -->\r
-      <KEYWORD1>ABORT</KEYWORD1>\r
-      <KEYWORD1>ABS</KEYWORD1>\r
-      <KEYWORD1>ABSOLUTE</KEYWORD1>\r
-      <KEYWORD1>ACCEPT</KEYWORD1>\r
-      <KEYWORD1>ACCESS</KEYWORD1>\r
-      <KEYWORD1>ACOS</KEYWORD1>\r
-      <KEYWORD1>ADA</KEYWORD1>\r
-      <KEYWORD1>ADD</KEYWORD1>\r
-      <KEYWORD1>AFTER</KEYWORD1>\r
-      <KEYWORD1>ALL</KEYWORD1>\r
-      <KEYWORD1>ALLOCATE</KEYWORD1>\r
-      <KEYWORD1>ALTER</KEYWORD1>\r
-      <KEYWORD1>AND</KEYWORD1>\r
-      <KEYWORD1>ANSI</KEYWORD1>\r
-      <KEYWORD1>ANY</KEYWORD1>\r
-      <KEYWORD1>APPEND</KEYWORD1>\r
-      <KEYWORD1>ARG_VAL</KEYWORD1>\r
-      <KEYWORD1>ARRAY</KEYWORD1>\r
-      <KEYWORD1>ARR_COUNT</KEYWORD1>\r
-      <KEYWORD1>ARR_CURR</KEYWORD1>\r
-      <KEYWORD1>AS</KEYWORD1>\r
-      <KEYWORD1>ASC</KEYWORD1>\r
-      <KEYWORD1>ASCENDING</KEYWORD1>\r
-      <KEYWORD1>ASCII</KEYWORD1>\r
-      <KEYWORD1>ASIN</KEYWORD1>\r
-      <KEYWORD1>AT</KEYWORD1>\r
-      <KEYWORD1>ATAN</KEYWORD1>\r
-      <KEYWORD1>ATAN2</KEYWORD1>\r
-      <KEYWORD1>ATTACH</KEYWORD1>\r
-      <KEYWORD1>ATTRIBUTE</KEYWORD1>\r
-      <KEYWORD1>ATTRIBUTES</KEYWORD1>\r
-      <KEYWORD1>AUDIT</KEYWORD1>\r
-      <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
-      <KEYWORD1>AUTO</KEYWORD1>\r
-      <KEYWORD1>AUTONEXT</KEYWORD1>\r
-      <KEYWORD1>AVERAGE</KEYWORD1>\r
-      <KEYWORD1>AVG</KEYWORD1>\r
-      <KEYWORD1>BEFORE</KEYWORD1>\r
-      <KEYWORD1>BEGIN</KEYWORD1>\r
-      <KEYWORD1>BETWEEN</KEYWORD1>\r
-      <KEYWORD1>BLACK</KEYWORD1>\r
-      <KEYWORD1>BLINK</KEYWORD1>\r
-      <KEYWORD1>BLUE</KEYWORD1>\r
-      <KEYWORD1>BOLD</KEYWORD1>\r
-      <KEYWORD1>BORDER</KEYWORD1>\r
-      <KEYWORD1>BOTH</KEYWORD1>\r
-      <KEYWORD1>BOTTOM</KEYWORD1>\r
-      <KEYWORD1>BREAK</KEYWORD1>\r
-      <KEYWORD1>BUFFERED</KEYWORD1>\r
-      <KEYWORD1>BY</KEYWORD1>\r
-      <KEYWORD1>BYTE</KEYWORD1>\r
-      <KEYWORD1>CALL</KEYWORD1>\r
-      <KEYWORD1>CASCADE</KEYWORD1>\r
-      <KEYWORD1>CASE</KEYWORD1>\r
-      <KEYWORD1>CHAR</KEYWORD1>\r
-      <KEYWORD1>CHARACTER</KEYWORD1>\r
-      <KEYWORD1>CHARACTER_LENGTH</KEYWORD1>\r
-      <KEYWORD1>CHAR_LENGTH</KEYWORD1>\r
-      <KEYWORD1>CHECK</KEYWORD1>\r
-      <KEYWORD1>CLASS_ORIGIN</KEYWORD1>\r
-      <KEYWORD1>CLEAR</KEYWORD1>\r
-      <KEYWORD1>CLIPPED</KEYWORD1>\r
-      <KEYWORD1>CLOSE</KEYWORD1>\r
-      <KEYWORD1>CLUSTER</KEYWORD1>\r
-      <KEYWORD1>COBOL</KEYWORD1>\r
-      <KEYWORD1>COLOR</KEYWORD1>\r
-      <KEYWORD1>COLUMN</KEYWORD1>\r
-      <KEYWORD1>COLUMNS</KEYWORD1>\r
-      <KEYWORD1>COMMAND</KEYWORD1>\r
-      <KEYWORD1>COMMENT</KEYWORD1>\r
-      <KEYWORD1>COMMENTS</KEYWORD1>\r
-      <KEYWORD1>COMMIT</KEYWORD1>\r
-      <KEYWORD1>COMMITTED</KEYWORD1>\r
-      <KEYWORD1>COMPOSITES</KEYWORD1>\r
-      <KEYWORD1>COMPRESS</KEYWORD1>\r
-      <KEYWORD1>CONCURRENT</KEYWORD1>\r
-      <KEYWORD1>CONNECT</KEYWORD1>\r
-      <KEYWORD1>CONNECTION</KEYWORD1>\r
-      <KEYWORD1>CONNECTION_ALIAS</KEYWORD1>\r
-      <KEYWORD1>CONSTRAINED</KEYWORD1>\r
-      <KEYWORD1>CONSTRAINT</KEYWORD1>\r
-      <KEYWORD1>CONSTRAINTS</KEYWORD1>\r
-      <KEYWORD1>CONSTRUCT</KEYWORD1>\r
-      <KEYWORD1>CONTINUE</KEYWORD1>\r
-      <KEYWORD1>CONTROL</KEYWORD1>\r
-      <KEYWORD1>COS</KEYWORD1>\r
-      <KEYWORD1>COUNT</KEYWORD1>\r
-      <KEYWORD1>CREATE</KEYWORD1>\r
-      <KEYWORD1>CURRENT</KEYWORD1>\r
-      <KEYWORD1>CURSOR</KEYWORD1>\r
-      <KEYWORD1>CYAN</KEYWORD1>\r
-      <KEYWORD1>DATA</KEYWORD1>\r
-      <KEYWORD1>DATABASE</KEYWORD1>\r
-      <KEYWORD1>DATASKIP</KEYWORD1>\r
-      <KEYWORD1>DATE</KEYWORD1>\r
-      <KEYWORD1>DATETIME</KEYWORD1>\r
-      <KEYWORD1>DAY</KEYWORD1>\r
-      <KEYWORD1>DBA</KEYWORD1>\r
-      <KEYWORD1>DBINFO</KEYWORD1>\r
-      <KEYWORD1>DBSERVERNAME</KEYWORD1>\r
-      <KEYWORD1>DEALLOCATE</KEYWORD1>\r
-      <KEYWORD1>DEBUG</KEYWORD1>\r
-      <KEYWORD1>DEC</KEYWORD1>\r
-      <KEYWORD1>DECIMAL</KEYWORD1>\r
-      <KEYWORD1>DECLARE</KEYWORD1>\r
-      <KEYWORD1>DEFAULT</KEYWORD1>\r
-      <KEYWORD1>DEFAULTS</KEYWORD1>\r
-      <KEYWORD1>DEFER</KEYWORD1>\r
-      <KEYWORD1>DEFERRED</KEYWORD1>\r
-      <KEYWORD1>DEFINE</KEYWORD1>\r
-      <KEYWORD1>DELETE</KEYWORD1>\r
-      <KEYWORD1>DELIMITER</KEYWORD1>\r
-      <KEYWORD1>DELIMITERS</KEYWORD1>\r
-      <KEYWORD1>DESC</KEYWORD1>\r
-      <KEYWORD1>DESCENDING</KEYWORD1>\r
-      <KEYWORD1>DESCRIBE</KEYWORD1>\r
-      <KEYWORD1>DESCRIPTOR</KEYWORD1>\r
-      <KEYWORD1>DETACH</KEYWORD1>\r
-      <KEYWORD1>DIAGNOSTICS</KEYWORD1>\r
-      <KEYWORD1>DIM</KEYWORD1>\r
-      <KEYWORD1>DIRTY</KEYWORD1>\r
-      <KEYWORD1>DISABLED</KEYWORD1>\r
-      <KEYWORD1>DISCONNECT</KEYWORD1>\r
-      <KEYWORD1>DISPLAY</KEYWORD1>\r
-      <KEYWORD1>DISTINCT</KEYWORD1>\r
-      <KEYWORD1>DISTRIBUTIONS</KEYWORD1>\r
-      <KEYWORD1>DO</KEYWORD1>\r
-      <KEYWORD1>DORMANT</KEYWORD1>\r
-      <KEYWORD1>DOUBLE</KEYWORD1>\r
-      <KEYWORD1>DOWN</KEYWORD1>\r
-      <KEYWORD1>DOWNSHIFT</KEYWORD1>\r
-      <KEYWORD1>DROP</KEYWORD1>\r
-      <KEYWORD1>EACH</KEYWORD1>\r
-      <KEYWORD1>ELIF</KEYWORD1>\r
-      <KEYWORD1>ELSE</KEYWORD1>\r
-      <KEYWORD1>ENABLED</KEYWORD1>\r
-      <KEYWORD1>END</KEYWORD1>\r
-      <KEYWORD1>ENTRY</KEYWORD1>\r
-      <KEYWORD1>ERROR</KEYWORD1>\r
-      <KEYWORD1>ERRORLOG</KEYWORD1>\r
-      <KEYWORD1>ERR_GET</KEYWORD1>\r
-      <KEYWORD1>ERR_PRINT</KEYWORD1>\r
-      <KEYWORD1>ERR_QUIT</KEYWORD1>\r
-      <KEYWORD1>ESC</KEYWORD1>\r
-      <KEYWORD1>ESCAPE</KEYWORD1>\r
-      <KEYWORD1>EVERY</KEYWORD1>\r
-      <KEYWORD1>EXCEPTION</KEYWORD1>\r
-      <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
-      <KEYWORD1>EXEC</KEYWORD1>\r
-      <KEYWORD1>EXECUTE</KEYWORD1>\r
-      <KEYWORD1>EXISTS</KEYWORD1>\r
-      <KEYWORD1>EXIT</KEYWORD1>\r
-      <KEYWORD1>EXP</KEYWORD1>\r
-      <KEYWORD1>EXPLAIN</KEYWORD1>\r
-      <KEYWORD1>EXPRESSION</KEYWORD1>\r
-      <KEYWORD1>EXTEND</KEYWORD1>\r
-      <KEYWORD1>EXTENT</KEYWORD1>\r
-      <KEYWORD1>EXTERN</KEYWORD1>\r
-      <KEYWORD1>EXTERNAL</KEYWORD1>\r
-      <KEYWORD1>F1</KEYWORD1>\r
-      <KEYWORD1>F10</KEYWORD1>\r
-      <KEYWORD1>F11</KEYWORD1>\r
-      <KEYWORD1>F12</KEYWORD1>\r
-      <KEYWORD1>F13</KEYWORD1>\r
-      <KEYWORD1>F14</KEYWORD1>\r
-      <KEYWORD1>F15</KEYWORD1>\r
-      <KEYWORD1>F16</KEYWORD1>\r
-      <KEYWORD1>F17</KEYWORD1>\r
-      <KEYWORD1>F18</KEYWORD1>\r
-      <KEYWORD1>F19</KEYWORD1>\r
-      <KEYWORD1>F2</KEYWORD1>\r
-      <KEYWORD1>F20</KEYWORD1>\r
-      <KEYWORD1>F21</KEYWORD1>\r
-      <KEYWORD1>F22</KEYWORD1>\r
-      <KEYWORD1>F23</KEYWORD1>\r
-      <KEYWORD1>F24</KEYWORD1>\r
-      <KEYWORD1>F25</KEYWORD1>\r
-      <KEYWORD1>F26</KEYWORD1>\r
-      <KEYWORD1>F27</KEYWORD1>\r
-      <KEYWORD1>F28</KEYWORD1>\r
-      <KEYWORD1>F29</KEYWORD1>\r
-      <KEYWORD1>F3</KEYWORD1>\r
-      <KEYWORD1>F30</KEYWORD1>\r
-      <KEYWORD1>F31</KEYWORD1>\r
-      <KEYWORD1>F32</KEYWORD1>\r
-      <KEYWORD1>F33</KEYWORD1>\r
-      <KEYWORD1>F34</KEYWORD1>\r
-      <KEYWORD1>F35</KEYWORD1>\r
-      <KEYWORD1>F36</KEYWORD1>\r
-      <KEYWORD1>F37</KEYWORD1>\r
-      <KEYWORD1>F38</KEYWORD1>\r
-      <KEYWORD1>F39</KEYWORD1>\r
-      <KEYWORD1>F4</KEYWORD1>\r
-      <KEYWORD1>F40</KEYWORD1>\r
-      <KEYWORD1>F41</KEYWORD1>\r
-      <KEYWORD1>F42</KEYWORD1>\r
-      <KEYWORD1>F43</KEYWORD1>\r
-      <KEYWORD1>F44</KEYWORD1>\r
-      <KEYWORD1>F45</KEYWORD1>\r
-      <KEYWORD1>F46</KEYWORD1>\r
-      <KEYWORD1>F47</KEYWORD1>\r
-      <KEYWORD1>F48</KEYWORD1>\r
-      <KEYWORD1>F49</KEYWORD1>\r
-      <KEYWORD1>F5</KEYWORD1>\r
-      <KEYWORD1>F50</KEYWORD1>\r
-      <KEYWORD1>F51</KEYWORD1>\r
-      <KEYWORD1>F52</KEYWORD1>\r
-      <KEYWORD1>F53</KEYWORD1>\r
-      <KEYWORD1>F54</KEYWORD1>\r
-      <KEYWORD1>F55</KEYWORD1>\r
-      <KEYWORD1>F56</KEYWORD1>\r
-      <KEYWORD1>F57</KEYWORD1>\r
-      <KEYWORD1>F58</KEYWORD1>\r
-      <KEYWORD1>F59</KEYWORD1>\r
-      <KEYWORD1>F6</KEYWORD1>\r
-      <KEYWORD1>F60</KEYWORD1>\r
-      <KEYWORD1>F61</KEYWORD1>\r
-      <KEYWORD1>F62</KEYWORD1>\r
-      <KEYWORD1>F63</KEYWORD1>\r
-      <KEYWORD1>F64</KEYWORD1>\r
-      <KEYWORD1>F7</KEYWORD1>\r
-      <KEYWORD1>F8</KEYWORD1>\r
-      <KEYWORD1>F9</KEYWORD1>\r
-      <KEYWORD1>FALSE</KEYWORD1>\r
-      <KEYWORD1>FETCH</KEYWORD1>\r
-      <KEYWORD1>FGL_GETENV</KEYWORD1>\r
-      <KEYWORD1>FGL_KEYVAL</KEYWORD1>\r
-      <KEYWORD1>FGL_LASTKEY</KEYWORD1>\r
-      <KEYWORD1>FIELD</KEYWORD1>\r
-      <KEYWORD1>FIELD_TOUCHED</KEYWORD1>\r
-      <KEYWORD1>FILE</KEYWORD1>\r
-      <KEYWORD1>FILLFACTOR</KEYWORD1>\r
-      <KEYWORD1>FILTERING</KEYWORD1>\r
-      <KEYWORD1>FINISH</KEYWORD1>\r
-      <KEYWORD1>FIRST</KEYWORD1>\r
-      <KEYWORD1>FLOAT</KEYWORD1>\r
-      <KEYWORD1>FLUSH</KEYWORD1>\r
-      <KEYWORD1>FOR</KEYWORD1>\r
-      <KEYWORD1>FOREACH</KEYWORD1>\r
-      <KEYWORD1>FOREIGN</KEYWORD1>\r
-      <KEYWORD1>FORM</KEYWORD1>\r
-      <KEYWORD1>FORMAT</KEYWORD1>\r
-      <KEYWORD1>FORMONLY</KEYWORD1>\r
-      <KEYWORD1>FORTRAN</KEYWORD1>\r
-      <KEYWORD1>FOUND</KEYWORD1>\r
-      <KEYWORD1>FRACTION</KEYWORD1>\r
-      <KEYWORD1>FRAGMENT</KEYWORD1>\r
-      <KEYWORD1>FREE</KEYWORD1>\r
-      <KEYWORD1>FROM</KEYWORD1>\r
-      <KEYWORD1>FUNCTION</KEYWORD1>\r
-      <KEYWORD1>GET_FLDBUF</KEYWORD1>\r
-      <KEYWORD1>GLOBAL</KEYWORD1>\r
-      <KEYWORD1>GLOBALS</KEYWORD1>\r
-      <KEYWORD1>GO</KEYWORD1>\r
-      <KEYWORD1>GOTO</KEYWORD1>\r
-      <KEYWORD1>GRANT</KEYWORD1>\r
-      <KEYWORD1>GREEN</KEYWORD1>\r
-      <KEYWORD1>GROUP</KEYWORD1>\r
-      <KEYWORD1>HAVING</KEYWORD1>\r
-      <KEYWORD1>HEADER</KEYWORD1>\r
-      <KEYWORD1>HELP</KEYWORD1>\r
-      <KEYWORD1>HEX</KEYWORD1>\r
-      <KEYWORD1>HIDE</KEYWORD1>\r
-      <KEYWORD1>HIGH</KEYWORD1>\r
-      <KEYWORD1>HOLD</KEYWORD1>\r
-      <KEYWORD1>HOUR</KEYWORD1>\r
-      <KEYWORD1>IDATA</KEYWORD1>\r
-      <KEYWORD1>IF</KEYWORD1>\r
-      <KEYWORD1>ILENGTH</KEYWORD1>\r
-      <KEYWORD1>IMMEDIATE</KEYWORD1>\r
-      <KEYWORD1>IN</KEYWORD1>\r
-      <KEYWORD1>INCLUDE</KEYWORD1>\r
-      <KEYWORD1>INDEX</KEYWORD1>\r
-      <KEYWORD1>INDEXES</KEYWORD1>\r
-      <KEYWORD1>INDICATOR</KEYWORD1>\r
-      <KEYWORD1>INFIELD</KEYWORD1>\r
-      <KEYWORD1>INIT</KEYWORD1>\r
-      <KEYWORD1>INITIALIZE</KEYWORD1>\r
-      <KEYWORD1>INPUT</KEYWORD1>\r
-      <KEYWORD1>INSERT</KEYWORD1>\r
-      <KEYWORD1>INSTRUCTIONS</KEYWORD1>\r
-      <KEYWORD1>INT</KEYWORD1>\r
-      <KEYWORD1>INTEGER</KEYWORD1>\r
-      <KEYWORD1>INTERRUPT</KEYWORD1>\r
-      <KEYWORD1>INTERVAL</KEYWORD1>\r
-      <KEYWORD1>INTO</KEYWORD1>\r
-      <KEYWORD1>INT_FLAG</KEYWORD1>\r
-      <KEYWORD1>INVISIBLE</KEYWORD1>\r
-      <KEYWORD1>IS</KEYWORD1>\r
-      <KEYWORD1>ISAM</KEYWORD1>\r
-      <KEYWORD1>ISOLATION</KEYWORD1>\r
-      <KEYWORD1>ITYPE</KEYWORD1>\r
-      <KEYWORD1>KEY</KEYWORD1>\r
-      <KEYWORD1>LABEL</KEYWORD1>\r
-      <KEYWORD1>LANGUAGE</KEYWORD1>\r
-      <KEYWORD1>LAST</KEYWORD1>\r
-      <KEYWORD1>LEADING</KEYWORD1>\r
-      <KEYWORD1>LEFT</KEYWORD1>\r
-      <KEYWORD1>LENGTH</KEYWORD1>\r
-      <KEYWORD1>LET</KEYWORD1>\r
-      <KEYWORD1>LIKE</KEYWORD1>\r
-      <KEYWORD1>LINE</KEYWORD1>\r
-      <KEYWORD1>LINENO</KEYWORD1>\r
-      <KEYWORD1>LINES</KEYWORD1>\r
-      <KEYWORD1>LOAD</KEYWORD1>\r
-      <KEYWORD1>LOCATE</KEYWORD1>\r
-      <KEYWORD1>LOCK</KEYWORD1>\r
-      <KEYWORD1>LOG</KEYWORD1>\r
-      <KEYWORD1>LOG10</KEYWORD1>\r
-      <KEYWORD1>LOGN</KEYWORD1>\r
-      <KEYWORD1>LONG</KEYWORD1>\r
-      <KEYWORD1>LOW</KEYWORD1>\r
-      <KEYWORD1>MAGENTA</KEYWORD1>\r
-      <KEYWORD1>MAIN</KEYWORD1>\r
-      <KEYWORD1>MARGIN</KEYWORD1>\r
-      <KEYWORD1>MATCHES</KEYWORD1>\r
-      <KEYWORD1>MAX</KEYWORD1>\r
-      <KEYWORD1>MDY</KEYWORD1>\r
-      <KEYWORD1>MEDIUM</KEYWORD1>\r
-      <KEYWORD1>MEMORY</KEYWORD1>\r
-      <KEYWORD1>MENU</KEYWORD1>\r
-      <KEYWORD1>MESSAGE</KEYWORD1>\r
-      <KEYWORD1>MESSAGE_LENGTH</KEYWORD1>\r
-      <KEYWORD1>MESSAGE_TEXT</KEYWORD1>\r
-      <KEYWORD1>MIN</KEYWORD1>\r
-      <KEYWORD1>MINUTE</KEYWORD1>\r
-      <KEYWORD1>MOD</KEYWORD1>\r
-      <KEYWORD1>MODE</KEYWORD1>\r
-      <KEYWORD1>MODIFY</KEYWORD1>\r
-      <KEYWORD1>MODULE</KEYWORD1>\r
-      <KEYWORD1>MONEY</KEYWORD1>\r
-      <KEYWORD1>MONTH</KEYWORD1>\r
-      <KEYWORD1>MORE</KEYWORD1>\r
-      <KEYWORD1>NAME</KEYWORD1>\r
-      <KEYWORD1>NCHAR</KEYWORD1>\r
-      <KEYWORD1>NEED</KEYWORD1>\r
-      <KEYWORD1>NEW</KEYWORD1>\r
-      <KEYWORD1>NEXT</KEYWORD1>\r
-      <KEYWORD1>NEXTPAGE</KEYWORD1>\r
-      <KEYWORD1>NO</KEYWORD1>\r
-      <KEYWORD1>NOCR</KEYWORD1>\r
-      <KEYWORD1>NOENTRY</KEYWORD1>\r
-      <KEYWORD1>NONE</KEYWORD1>\r
-      <KEYWORD1>NORMAL</KEYWORD1>\r
-      <KEYWORD1>NOT</KEYWORD1>\r
-      <KEYWORD1>NOTFOUND</KEYWORD1>\r
-      <KEYWORD1>NULL</KEYWORD1>\r
-      <KEYWORD1>NULLABLE</KEYWORD1>\r
-      <KEYWORD1>NUMBER</KEYWORD1>\r
-      <KEYWORD1>NUMERIC</KEYWORD1>\r
-      <KEYWORD1>NUM_ARGS</KEYWORD1>\r
-      <KEYWORD1>NVARCHAR</KEYWORD1>\r
-      <KEYWORD1>OCTET_LENGTH</KEYWORD1>\r
-      <KEYWORD1>OF</KEYWORD1>\r
-      <KEYWORD1>OFF</KEYWORD1>\r
-      <KEYWORD1>OLD</KEYWORD1>\r
-      <KEYWORD1>ON</KEYWORD1>\r
-      <KEYWORD1>ONLY</KEYWORD1>\r
-      <KEYWORD1>OPEN</KEYWORD1>\r
-      <KEYWORD1>OPTIMIZATION</KEYWORD1>\r
-      <KEYWORD1>OPTION</KEYWORD1>\r
-      <KEYWORD1>OPTIONS</KEYWORD1>\r
-      <KEYWORD1>OR</KEYWORD1>\r
-      <KEYWORD1>ORDER</KEYWORD1>\r
-      <KEYWORD1>OTHERWISE</KEYWORD1>\r
-      <KEYWORD1>OUTER</KEYWORD1>\r
-      <KEYWORD1>OUTPUT</KEYWORD1>\r
-      <KEYWORD1>PAGE</KEYWORD1>\r
-      <KEYWORD1>PAGENO</KEYWORD1>\r
-      <KEYWORD1>PASCAL</KEYWORD1>\r
-      <KEYWORD1>PAUSE</KEYWORD1>\r
-      <KEYWORD1>PDQPRIORITY</KEYWORD1>\r
-      <KEYWORD1>PERCENT</KEYWORD1>\r
-      <KEYWORD1>PICTURE</KEYWORD1>\r
-      <KEYWORD1>PIPE</KEYWORD1>\r
-      <KEYWORD1>PLI</KEYWORD1>\r
-      <KEYWORD1>POW</KEYWORD1>\r
-      <KEYWORD1>PRECISION</KEYWORD1>\r
-      <KEYWORD1>PREPARE</KEYWORD1>\r
-      <KEYWORD1>PREVIOUS</KEYWORD1>\r
-      <KEYWORD1>PREVPAGE</KEYWORD1>\r
-      <KEYWORD1>PRIMARY</KEYWORD1>\r
-      <KEYWORD1>PRINT</KEYWORD1>\r
-      <KEYWORD1>PRINTER</KEYWORD1>\r
-      <KEYWORD1>PRIOR</KEYWORD1>\r
-      <KEYWORD1>PRIVATE</KEYWORD1>\r
-      <KEYWORD1>PRIVILEGES</KEYWORD1>\r
-      <KEYWORD1>PROCEDURE</KEYWORD1>\r
-      <KEYWORD1>PROGRAM</KEYWORD1>\r
-      <KEYWORD1>PROMPT</KEYWORD1>\r
-      <KEYWORD1>PUBLIC</KEYWORD1>\r
-      <KEYWORD1>PUT</KEYWORD1>\r
-      <KEYWORD1>QUIT</KEYWORD1>\r
-      <KEYWORD1>QUIT_FLAG</KEYWORD1>\r
-      <KEYWORD1>RAISE</KEYWORD1>\r
-      <KEYWORD1>RANGE</KEYWORD1>\r
-      <KEYWORD1>READ</KEYWORD1>\r
-      <KEYWORD1>READONLY</KEYWORD1>\r
-      <KEYWORD1>REAL</KEYWORD1>\r
-      <KEYWORD1>RECORD</KEYWORD1>\r
-      <KEYWORD1>RECOVER</KEYWORD1>\r
-      <KEYWORD1>RED</KEYWORD1>\r
-      <KEYWORD1>REFERENCES</KEYWORD1>\r
-      <KEYWORD1>REFERENCING</KEYWORD1>\r
-      <KEYWORD1>REGISTER</KEYWORD1>\r
-      <KEYWORD1>RELATIVE</KEYWORD1>\r
-      <KEYWORD1>REMAINDER</KEYWORD1>\r
-      <KEYWORD1>REMOVE</KEYWORD1>\r
-      <KEYWORD1>RENAME</KEYWORD1>\r
-      <KEYWORD1>REOPTIMIZATION</KEYWORD1>\r
-      <KEYWORD1>REPEATABLE</KEYWORD1>\r
-      <KEYWORD1>REPORT</KEYWORD1>\r
-      <KEYWORD1>REQUIRED</KEYWORD1>\r
-      <KEYWORD1>RESOLUTION</KEYWORD1>\r
-      <KEYWORD1>RESOURCE</KEYWORD1>\r
-      <KEYWORD1>RESTRICT</KEYWORD1>\r
-      <KEYWORD1>RESUME</KEYWORD1>\r
-      <KEYWORD1>RETURN</KEYWORD1>\r
-      <KEYWORD1>RETURNED_SQLSTATE</KEYWORD1>\r
-      <KEYWORD1>RETURNING</KEYWORD1>\r
-      <KEYWORD1>REVERSE</KEYWORD1>\r
-      <KEYWORD1>REVOKE</KEYWORD1>\r
-      <KEYWORD1>RIGHT</KEYWORD1>\r
-      <KEYWORD1>ROBIN</KEYWORD1>\r
-      <KEYWORD1>ROLE</KEYWORD1>\r
-      <KEYWORD1>ROLLBACK</KEYWORD1>\r
-      <KEYWORD1>ROLLFORWARD</KEYWORD1>\r
-      <KEYWORD1>ROOT</KEYWORD1>\r
-      <KEYWORD1>ROUND</KEYWORD1>\r
-      <KEYWORD1>ROW</KEYWORD1>\r
-      <KEYWORD1>ROWID</KEYWORD1>\r
-      <KEYWORD1>ROWIDS</KEYWORD1>\r
-      <KEYWORD1>ROWS</KEYWORD1>\r
-      <KEYWORD1>ROW_COUNT</KEYWORD1>\r
-      <KEYWORD1>RUN</KEYWORD1>\r
-      <KEYWORD1>SCALE</KEYWORD1>\r
-      <KEYWORD1>SCHEMA</KEYWORD1>\r
-      <KEYWORD1>SCREEN</KEYWORD1>\r
-      <KEYWORD1>SCROLL</KEYWORD1>\r
-      <KEYWORD1>SCR_LINE</KEYWORD1>\r
-      <KEYWORD1>SECOND</KEYWORD1>\r
-      <KEYWORD1>SECTION</KEYWORD1>\r
-      <KEYWORD1>SELECT</KEYWORD1>\r
-      <KEYWORD1>SERIAL</KEYWORD1>\r
-      <KEYWORD1>SERIALIZABLE</KEYWORD1>\r
-      <KEYWORD1>SERVER_NAME</KEYWORD1>\r
-      <KEYWORD1>SESSION</KEYWORD1>\r
-      <KEYWORD1>SET</KEYWORD1>\r
-      <KEYWORD1>SET_COUNT</KEYWORD1>\r
-      <KEYWORD1>SHARE</KEYWORD1>\r
-      <KEYWORD1>SHORT</KEYWORD1>\r
-      <KEYWORD1>SHOW</KEYWORD1>\r
-      <KEYWORD1>SITENAME</KEYWORD1>\r
-      <KEYWORD1>SIZE</KEYWORD1>\r
-      <KEYWORD1>SIZEOF</KEYWORD1>\r
-      <KEYWORD1>SKIP</KEYWORD1>\r
-      <KEYWORD1>SLEEP</KEYWORD1>\r
-      <KEYWORD1>SMALLFLOAT</KEYWORD1>\r
-      <KEYWORD1>SMALLINT</KEYWORD1>\r
-      <KEYWORD1>SOME</KEYWORD1>\r
-      <KEYWORD1>SPACE</KEYWORD1>\r
-      <KEYWORD1>SPACES</KEYWORD1>\r
-      <KEYWORD1>SQL</KEYWORD1>\r
-      <KEYWORD1>SQLAWARN</KEYWORD1>\r
-      <KEYWORD1>SQLCA</KEYWORD1>\r
-      <KEYWORD1>SQLCODE</KEYWORD1>\r
-      <KEYWORD1>SQLERRD</KEYWORD1>\r
-      <KEYWORD1>SQLERRM</KEYWORD1>\r
-      <KEYWORD1>SQLERROR</KEYWORD1>\r
-      <KEYWORD1>SQLERRP</KEYWORD1>\r
-      <KEYWORD1>SQLSTATE</KEYWORD1>\r
-      <KEYWORD1>SQLWARNING</KEYWORD1>\r
-      <KEYWORD1>SQRT</KEYWORD1>\r
-      <KEYWORD1>STABILITY</KEYWORD1>\r
-      <KEYWORD1>START</KEYWORD1>\r
-      <KEYWORD1>STARTLOG</KEYWORD1>\r
-      <KEYWORD1>STATIC</KEYWORD1>\r
-      <KEYWORD1>STATISTICS</KEYWORD1>\r
-      <KEYWORD1>STATUS</KEYWORD1>\r
-      <KEYWORD1>STDEV</KEYWORD1>\r
-      <KEYWORD1>STEP</KEYWORD1>\r
-      <KEYWORD1>STOP</KEYWORD1>\r
-      <KEYWORD1>STRING</KEYWORD1>\r
-      <KEYWORD1>STRUCT</KEYWORD1>\r
-      <KEYWORD1>SUBCLASS_ORIGIN</KEYWORD1>\r
-      <KEYWORD1>SUM</KEYWORD1>\r
-      <KEYWORD1>SWITCH</KEYWORD1>\r
-      <KEYWORD1>SYNONYM</KEYWORD1>\r
-      <KEYWORD1>SYSTEM</KEYWORD1>\r
-      <KEYWORD1>SysBlobs</KEYWORD1>\r
-      <KEYWORD1>SysChecks</KEYWORD1>\r
-      <KEYWORD1>SysColAuth</KEYWORD1>\r
-      <KEYWORD1>SysColDepend</KEYWORD1>\r
-      <KEYWORD1>SysColumns</KEYWORD1>\r
-      <KEYWORD1>SysConstraints</KEYWORD1>\r
-      <KEYWORD1>SysDefaults</KEYWORD1>\r
-      <KEYWORD1>SysDepend</KEYWORD1>\r
-      <KEYWORD1>SysDistrib</KEYWORD1>\r
-      <KEYWORD1>SysFragAuth</KEYWORD1>\r
-      <KEYWORD1>SysFragments</KEYWORD1>\r
-      <KEYWORD1>SysIndexes</KEYWORD1>\r
-      <KEYWORD1>SysObjState</KEYWORD1>\r
-      <KEYWORD1>SysOpClstr</KEYWORD1>\r
-      <KEYWORD1>SysProcAuth</KEYWORD1>\r
-      <KEYWORD1>SysProcBody</KEYWORD1>\r
-      <KEYWORD1>SysProcPlan</KEYWORD1>\r
-      <KEYWORD1>SysProcedures</KEYWORD1>\r
-      <KEYWORD1>SysReferences</KEYWORD1>\r
-      <KEYWORD1>SysRoleAuth</KEYWORD1>\r
-      <KEYWORD1>SysSynTable</KEYWORD1>\r
-      <KEYWORD1>SysSynonyms</KEYWORD1>\r
-      <KEYWORD1>SysTabAuth</KEYWORD1>\r
-      <KEYWORD1>SysTables</KEYWORD1>\r
-      <KEYWORD1>SysTrigBody</KEYWORD1>\r
-      <KEYWORD1>SysTriggers</KEYWORD1>\r
-      <KEYWORD1>SysUsers</KEYWORD1>\r
-      <KEYWORD1>SysViews</KEYWORD1>\r
-      <KEYWORD1>SysViolations</KEYWORD1>\r
-      <KEYWORD1>TAB</KEYWORD1>\r
-      <KEYWORD1>TABLE</KEYWORD1>\r
-      <KEYWORD1>TABLES</KEYWORD1>\r
-      <KEYWORD1>TAN</KEYWORD1>\r
-      <KEYWORD1>TEMP</KEYWORD1>\r
-      <KEYWORD1>TEXT</KEYWORD1>\r
-      <KEYWORD1>THEN</KEYWORD1>\r
-      <KEYWORD1>THROUGH</KEYWORD1>\r
-      <KEYWORD1>THRU</KEYWORD1>\r
-      <KEYWORD1>TIME</KEYWORD1>\r
-      <KEYWORD1>TO</KEYWORD1>\r
-      <KEYWORD1>TODAY</KEYWORD1>\r
-      <KEYWORD1>TOP</KEYWORD1>\r
-      <KEYWORD1>TOTAL</KEYWORD1>\r
-      <KEYWORD1>TRACE</KEYWORD1>\r
-      <KEYWORD1>TRAILER</KEYWORD1>\r
-      <KEYWORD1>TRAILING</KEYWORD1>\r
-      <KEYWORD1>TRANSACTION</KEYWORD1>\r
-      <KEYWORD1>TRIGGER</KEYWORD1>\r
-      <KEYWORD1>TRIGGERS</KEYWORD1>\r
-      <KEYWORD1>TRIM</KEYWORD1>\r
-      <KEYWORD1>TRUE</KEYWORD1>\r
-      <KEYWORD1>TRUNC</KEYWORD1>\r
-      <KEYWORD1>TYPE</KEYWORD1>\r
-      <KEYWORD1>TYPEDEF</KEYWORD1>\r
-      <KEYWORD1>UNCOMMITTED</KEYWORD1>\r
-      <KEYWORD1>UNCONSTRAINED</KEYWORD1>\r
-      <KEYWORD1>UNDERLINE</KEYWORD1>\r
-      <KEYWORD1>UNION</KEYWORD1>\r
-      <KEYWORD1>UNIQUE</KEYWORD1>\r
-      <KEYWORD1>UNITS</KEYWORD1>\r
-      <KEYWORD1>UNLOAD</KEYWORD1>\r
-      <KEYWORD1>UNLOCK</KEYWORD1>\r
-      <KEYWORD1>UNSIGNED</KEYWORD1>\r
-      <KEYWORD1>UP</KEYWORD1>\r
-      <KEYWORD1>UPDATE</KEYWORD1>\r
-      <KEYWORD1>UPSHIFT</KEYWORD1>\r
-      <KEYWORD1>USER</KEYWORD1>\r
-      <KEYWORD1>USING</KEYWORD1>\r
-      <KEYWORD1>VALIDATE</KEYWORD1>\r
-      <KEYWORD1>VALUE</KEYWORD1>\r
-      <KEYWORD1>VALUES</KEYWORD1>\r
-      <KEYWORD1>VARCHAR</KEYWORD1>\r
-      <KEYWORD1>VARIABLES</KEYWORD1>\r
-      <KEYWORD1>VARIANCE</KEYWORD1>\r
-      <KEYWORD1>VARYING</KEYWORD1>\r
-      <KEYWORD1>VERIFY</KEYWORD1>\r
-      <KEYWORD1>VIEW</KEYWORD1>\r
-      <KEYWORD1>VIOLATIONS</KEYWORD1>\r
-      <KEYWORD1>WAIT</KEYWORD1>\r
-      <KEYWORD1>WAITING</KEYWORD1>\r
-      <KEYWORD1>WARNING</KEYWORD1>\r
-      <KEYWORD1>WEEKDAY</KEYWORD1>\r
-      <KEYWORD1>WHEN</KEYWORD1>\r
-      <KEYWORD1>WHENEVER</KEYWORD1>\r
-      <KEYWORD1>WHERE</KEYWORD1>\r
-      <KEYWORD1>WHILE</KEYWORD1>\r
-      <KEYWORD1>WHITE</KEYWORD1>\r
-      <KEYWORD1>WINDOW</KEYWORD1>\r
-      <KEYWORD1>WITH</KEYWORD1>\r
-      <KEYWORD1>WITHOUT</KEYWORD1>\r
-      <KEYWORD1>WORDWRAP</KEYWORD1>\r
-      <KEYWORD1>WORK</KEYWORD1>\r
-      <KEYWORD1>WRAP</KEYWORD1>\r
-      <KEYWORD1>WRITE</KEYWORD1>\r
-      <KEYWORD1>YEAR</KEYWORD1>\r
-      <KEYWORD1>YELLOW</KEYWORD1>\r
-      <KEYWORD1>ZEROFILL</KEYWORD1>\r
-\r
-\r
-      <!-- special, keywords/literals -->\r
-      <LITERAL2>FALSE</LITERAL2>\r
-      <LITERAL2>NULL</LITERAL2>\r
-      <LITERAL2>TRUE</LITERAL2>\r
-\r
-\r
-      </KEYWORDS>\r
-   </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/icon.xml b/extra/xmode/modes/icon.xml
deleted file mode 100644 (file)
index 892609b..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Icon mode by Silas Smith (smiths@cs.arizona.edu) -->\r
-<!-- Updated 08/07/2003 -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE="|.\\:,+-*/=?^!@%&lt;&gt;&amp;" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE"\r
-           HIGHLIGHT_DIGITS="TRUE"\r
-           DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- string literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- cset literals -->\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">~===</SEQ>\r
-               <SEQ TYPE="OPERATOR">===</SEQ>\r
-               <SEQ TYPE="OPERATOR">|||</SEQ> <!-- list concatenation -->\r
-\r
-               <!-- lexical operators -->\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ> <!-- ">>=" -->\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ> <!-- ">>" -->\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ> <!-- "<<=" -->\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ> <!-- "<<" -->\r
-               <SEQ TYPE="OPERATOR">~==</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">||</SEQ>\r
-\r
-               <!-- set operators -->\r
-               <SEQ TYPE="OPERATOR">++</SEQ> <!-- union -->\r
-               <SEQ TYPE="OPERATOR">**</SEQ> <!-- intersection -->\r
-               <SEQ TYPE="OPERATOR">--</SEQ> <!-- difference -->\r
-\r
-               <SEQ TYPE="OPERATOR">&lt;-&gt;</SEQ> <!-- "<->" -->\r
-               <SEQ TYPE="OPERATOR">&lt;-</SEQ> <!-- "<-" -->\r
-               <SEQ TYPE="OPERATOR">op:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">~=</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=:</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">-:</SEQ>\r
-               <SEQ TYPE="OPERATOR">+:</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">not</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-\r
-               <!-- numerical operators -->\r
-                               <!-- NOTE: '*' defined above -->\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>by</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>create</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>every</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>initial</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD2>break</KEYWORD2>\r
-                       <KEYWORD2>end</KEYWORD2>\r
-                       <KEYWORD2>fail</KEYWORD2>\r
-                       <KEYWORD2>global</KEYWORD2>\r
-                       <KEYWORD2>invocable</KEYWORD2>\r
-                       <KEYWORD2>link</KEYWORD2>\r
-                       <KEYWORD2>local</KEYWORD2>\r
-                       <KEYWORD2>procedure</KEYWORD2>\r
-                       <KEYWORD2>record</KEYWORD2>\r
-                       <KEYWORD2>return</KEYWORD2>\r
-                       <KEYWORD2>static</KEYWORD2>\r
-                       <KEYWORD2>suspend</KEYWORD2>\r
-\r
-                       <KEYWORD3>&amp;allocated</KEYWORD3>\r
-                       <KEYWORD3>&amp;ascii</KEYWORD3>\r
-                       <KEYWORD3>&amp;clock</KEYWORD3>\r
-                       <KEYWORD3>&amp;collections</KEYWORD3>\r
-                       <KEYWORD3>&amp;cset</KEYWORD3>\r
-                       <KEYWORD3>&amp;current</KEYWORD3>\r
-                       <KEYWORD3>&amp;date</KEYWORD3>\r
-                       <KEYWORD3>&amp;dateline</KEYWORD3>\r
-                       <KEYWORD3>&amp;digits</KEYWORD3>\r
-                       <KEYWORD3>&amp;dump</KEYWORD3>\r
-                       <KEYWORD3>&amp;e</KEYWORD3>\r
-                       <KEYWORD3>&amp;error</KEYWORD3>\r
-                       <KEYWORD3>&amp;errornumber</KEYWORD3>\r
-                       <KEYWORD3>&amp;errortext</KEYWORD3>\r
-                       <KEYWORD3>&amp;errorvalue</KEYWORD3>\r
-                       <KEYWORD3>&amp;errout</KEYWORD3>\r
-                       <KEYWORD3>&amp;fail</KEYWORD3>\r
-                       <KEYWORD3>&amp;features</KEYWORD3>\r
-                       <KEYWORD3>&amp;file</KEYWORD3>\r
-                       <KEYWORD3>&amp;host</KEYWORD3>\r
-                       <KEYWORD3>&amp;input</KEYWORD3>\r
-                       <KEYWORD3>&amp;lcase</KEYWORD3>\r
-                       <KEYWORD3>&amp;letters</KEYWORD3>\r
-                       <KEYWORD3>&amp;level</KEYWORD3>\r
-                       <KEYWORD3>&amp;line</KEYWORD3>\r
-                       <KEYWORD3>&amp;main</KEYWORD3>\r
-                       <KEYWORD3>&amp;null</KEYWORD3>\r
-                       <KEYWORD3>&amp;output</KEYWORD3>\r
-                       <KEYWORD3>&amp;phi</KEYWORD3>\r
-                       <KEYWORD3>&amp;pi</KEYWORD3>\r
-                       <KEYWORD3>&amp;pos</KEYWORD3>\r
-                       <KEYWORD3>&amp;progname</KEYWORD3>\r
-                       <KEYWORD3>&amp;random</KEYWORD3>\r
-                       <KEYWORD3>&amp;regions</KEYWORD3>\r
-                       <KEYWORD3>&amp;source</KEYWORD3>\r
-                       <KEYWORD3>&amp;storage</KEYWORD3>\r
-                       <KEYWORD3>&amp;subject</KEYWORD3>\r
-                       <KEYWORD3>&amp;time</KEYWORD3>\r
-                       <KEYWORD3>&amp;trace</KEYWORD3>\r
-                       <KEYWORD3>&amp;ucase</KEYWORD3>\r
-                       <KEYWORD3>&amp;version</KEYWORD3>\r
-\r
-                       <!-- preprocessor directives -->\r
-                       <KEYWORD3>$define</KEYWORD3>\r
-                       <KEYWORD3>$else</KEYWORD3>\r
-                       <KEYWORD3>$endif</KEYWORD3>\r
-                       <KEYWORD3>$error</KEYWORD3>\r
-                       <KEYWORD3>$ifdef</KEYWORD3>\r
-                       <KEYWORD3>$ifndef</KEYWORD3>\r
-                       <KEYWORD3>$include</KEYWORD3>\r
-                       <KEYWORD3>$line</KEYWORD3>\r
-                       <KEYWORD3>$undef</KEYWORD3>\r
-\r
-                       <!-- predefined prepocessor symbols -->\r
-                       <KEYWORD3>_MACINTOSH</KEYWORD3>\r
-                       <KEYWORD3>_MS_WINDOWS_NT</KEYWORD3>\r
-                       <KEYWORD3>_MS_WINDOWS</KEYWORD3>\r
-                       <KEYWORD3>_MSDOS_386</KEYWORD3>\r
-                       <KEYWORD3>_MSDOS</KEYWORD3>\r
-                       <KEYWORD3>_OS2</KEYWORD3>\r
-                       <KEYWORD3>_PIPES</KEYWORD3>\r
-                       <KEYWORD3>_PRESENTATION_MGR</KEYWORD3>\r
-                       <KEYWORD3>_SYSTEM_FUNCTION</KEYWORD3>\r
-                       <KEYWORD3>_UNIX</KEYWORD3>\r
-                       <KEYWORD3>_VMS</KEYWORD3>\r
-                       <KEYWORD3>_WINDOW_FUNCTIONS</KEYWORD3>\r
-                       <KEYWORD3>_X_WINDOW_SYSTEM</KEYWORD3>\r
-\r
-                       <KEYWORD4>co-expression</KEYWORD4>\r
-                       <KEYWORD4>cset</KEYWORD4>\r
-                       <KEYWORD4>file</KEYWORD4>\r
-                       <KEYWORD4>integer</KEYWORD4>\r
-                       <KEYWORD4>list</KEYWORD4>\r
-                       <KEYWORD4>null</KEYWORD4>\r
-                       <KEYWORD4>real</KEYWORD4>\r
-                       <KEYWORD4>set</KEYWORD4>\r
-                       <KEYWORD4>string</KEYWORD4>\r
-                       <KEYWORD4>table</KEYWORD4>\r
-                       <KEYWORD4>window</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/idl.xml b/extra/xmode/modes/idl.xml
deleted file mode 100644 (file)
index 65b7fc5..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- IDL mode, by Slava Pestov\r
-     based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="boxComment" VALUE="*" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE">\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <!-- some of these should be marked OPERATOR -->\r
-               <!-- <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">=</SEQ>\r
-               <SEQ TYPE="NULL">!</SEQ>\r
-               <SEQ TYPE="NULL">&gt;=</SEQ>\r
-               <SEQ TYPE="NULL">&lt;=</SEQ>\r
-               <SEQ TYPE="NULL">+</SEQ>\r
-               <SEQ TYPE="NULL">-</SEQ>\r
-               <SEQ TYPE="NULL">/</SEQ>\r
-               <SEQ TYPE="NULL">*</SEQ>\r
-               <SEQ TYPE="NULL">&gt;</SEQ>\r
-               <SEQ TYPE="NULL">&lt;</SEQ>\r
-               <SEQ TYPE="NULL">%</SEQ>\r
-               <SEQ TYPE="NULL">&amp;</SEQ>\r
-               <SEQ TYPE="NULL">|</SEQ>\r
-               <SEQ TYPE="NULL">^</SEQ>\r
-               <SEQ TYPE="NULL">~</SEQ>\r
-               <SEQ TYPE="NULL">.</SEQ>\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">?</SEQ> -->\r
-\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD3>any</KEYWORD3>\r
-                       <KEYWORD1>attribute</KEYWORD1>\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>context</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD3>enum</KEYWORD3>\r
-                       <KEYWORD1>exception</KEYWORD1>\r
-                       <LITERAL2>FALSE</LITERAL2>\r
-                       <KEYWORD1>fixed</KEYWORD1>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>inout</KEYWORD1>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD1>module</KEYWORD1>\r
-                       <KEYWORD3>Object</KEYWORD3>\r
-                       <KEYWORD3>octet</KEYWORD3>\r
-                       <KEYWORD1>oneway</KEYWORD1>\r
-                       <KEYWORD1>out</KEYWORD1>\r
-                       <KEYWORD1>raises</KEYWORD1>\r
-                       <KEYWORD1>readonly</KEYWORD1>\r
-                       <KEYWORD3>sequence</KEYWORD3>\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>struct</KEYWORD3>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <LITERAL2>TRUE</LITERAL2>\r
-                       <KEYWORD3>typedef</KEYWORD3>\r
-                       <KEYWORD3>unsigned</KEYWORD3>\r
-                       <KEYWORD3>union</KEYWORD3>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-                       <KEYWORD3>wchar</KEYWORD3>\r
-                       <KEYWORD3>wstring</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/inform.xml b/extra/xmode/modes/inform.xml
deleted file mode 100644 (file)
index fdd7153..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-      <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at\r
-           http://www.gnelson.demon.co.uk/inform.html\r
-           And an inform language guide at\r
-           http://www.gnelson.demon.co.uk/dman/index.html\r
-        -->\r
-    <PROPS>\r
-        <!--\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        -->\r
-        <PROPERTY NAME="lineComment" VALUE="!" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-        <!-- Auto indent -->\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />\r
-        <PROPERTY NAME="indentNextLine"\r
-            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-        <!-- set this to 'true' if you want to use GNU coding style -->\r
-        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-\r
-        <PROPERTY NAME="filenameGlob" VALUE="*.(inf|h)" />\r
-    </PROPS>\r
-\r
-    <RULES\r
-            IGNORE_CASE="FALSE"\r
-            HIGHLIGHT_DIGITS="TRUE"\r
-            DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">\r
-        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-        <!-- strings can span lines -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL2">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <!-- preprocessor statements -->\r
-        <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-        <!-- special sequences that require special highlighting -->\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">==</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">~=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">$</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">.&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">.#</SEQ>\r
-        <SEQ TYPE="OPERATOR">--></SEQ>\r
-\r
-        <!-- Function calls -->\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>\r
-\r
-        <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"\r
-            MATCH_TYPE="OPERATOR"\r
-            TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-        <KEYWORDS>\r
-            <!-- operators -->\r
-            <KEYWORD1>has</KEYWORD1>\r
-            <KEYWORD1>hasnt</KEYWORD1>\r
-            <KEYWORD1>in</KEYWORD1>\r
-            <KEYWORD1>notin</KEYWORD1>\r
-            <KEYWORD1>ofclass</KEYWORD1>\r
-            <KEYWORD1>provides</KEYWORD1>\r
-            <KEYWORD1>or</KEYWORD1>\r
-\r
-            <!-- text-base conversion functions -->\r
-            <LITERAL2>char</LITERAL2>\r
-            <LITERAL2>string</LITERAL2>\r
-            <LITERAL2>address</LITERAL2>\r
-            <LITERAL2>name</LITERAL2>\r
-            <LITERAL2>a</LITERAL2>\r
-            <LITERAL2>an</LITERAL2>\r
-            <LITERAL2>the</LITERAL2>\r
-            <LITERAL2>The</LITERAL2>\r
-            <LITERAL2>property</LITERAL2>\r
-            <LITERAL2>object</LITERAL2>\r
-\r
-            <!-- language semantics -->\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD1>continue</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-                <KEYWORD1>until</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>give</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-                <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>inversion</KEYWORD1>\r
-            <KEYWORD1>jump</KEYWORD1>\r
-            <KEYWORD1>move</KEYWORD1>\r
-                <KEYWORD2>to</KEYWORD2>\r
-            <KEYWORD1>objectloop</KEYWORD1>\r
-            <KEYWORD1>remove</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>rfalse</KEYWORD1>\r
-            <KEYWORD1>rtrue</KEYWORD1>\r
-            <KEYWORD1>string</KEYWORD1>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-\r
-            <!-- class keyworks -->\r
-            <KEYWORD1>with</KEYWORD1>\r
-<!--                   <KEYWORD1>has</KEYWORD1> -->\r
-\r
-            <!-- built-in functions -->\r
-            <FUNCTION>new_line</FUNCTION>\r
-            <FUNCTION>print</FUNCTION>\r
-            <FUNCTION>print_ret</FUNCTION>\r
-            <FUNCTION>box</FUNCTION>\r
-            <FUNCTION>font</FUNCTION>\r
-                <KEYWORD2>on</KEYWORD2>\r
-                <KEYWORD2>off</KEYWORD2>\r
-            <FUNCTION>quit</FUNCTION>\r
-            <FUNCTION>read</FUNCTION>\r
-            <FUNCTION>restore</FUNCTION>\r
-            <FUNCTION>save</FUNCTION>\r
-            <FUNCTION>spaces</FUNCTION>\r
-            <FUNCTION>style</FUNCTION>\r
-                <KEYWORD2>roman</KEYWORD2>\r
-                <KEYWORD2>bold</KEYWORD2>\r
-                <KEYWORD2>underline</KEYWORD2>\r
-                <KEYWORD2>reverse</KEYWORD2>\r
-                <KEYWORD2>fixed</KEYWORD2>\r
-            <FUNCTION>score</FUNCTION>\r
-            <FUNCTION>time</FUNCTION>\r
-\r
-            <!-- Top-level keyworks -->\r
-            <KEYWORD3>Abbreviate</KEYWORD3>\r
-            <KEYWORD3>Array</KEYWORD3>\r
-            <KEYWORD3>Attribute</KEYWORD3>\r
-            <KEYWORD3>Class</KEYWORD3>\r
-            <KEYWORD3>Constant</KEYWORD3>\r
-            <KEYWORD3>Default</KEYWORD3>\r
-            <KEYWORD3>End</KEYWORD3>\r
-            <KEYWORD3>Endif</KEYWORD3>\r
-            <KEYWORD3>Extend</KEYWORD3>\r
-            <KEYWORD3>Global</KEYWORD3>\r
-            <KEYWORD3>Ifdef</KEYWORD3>\r
-            <KEYWORD3>Ifndef</KEYWORD3>\r
-            <KEYWORD3>Ifnot</KEYWORD3>\r
-            <KEYWORD3>Iftrue</KEYWORD3>\r
-            <KEYWORD3>Iffalse</KEYWORD3>\r
-            <KEYWORD3>Import</KEYWORD3>\r
-            <KEYWORD3>Include</KEYWORD3>\r
-            <KEYWORD3>Link</KEYWORD3>\r
-            <KEYWORD3>Lowstring</KEYWORD3>\r
-            <KEYWORD3>Message</KEYWORD3>\r
-            <KEYWORD3>Object</KEYWORD3>\r
-            <KEYWORD3>Property</KEYWORD3>\r
-            <KEYWORD3>Replace</KEYWORD3>\r
-            <KEYWORD3>Serial</KEYWORD3>\r
-            <KEYWORD3>Switches</KEYWORD3>\r
-            <KEYWORD3>Statusline</KEYWORD3>\r
-            <KEYWORD3>System_file</KEYWORD3>\r
-            <KEYWORD3>Verb</KEYWORD3>\r
-            <KEYWORD3>private</KEYWORD3>\r
-\r
-            <LITERAL2>false</LITERAL2>\r
-            <LITERAL2>true</LITERAL2>\r
-            <LITERAL2>null</LITERAL2>\r
-            <LITERAL2>super</LITERAL2>\r
-            <LITERAL2>self</LITERAL2>\r
-\r
-            <INVALID>this</INVALID>\r
-        </KEYWORDS>\r
-    </RULES>\r
-    <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">\</SEQ>\r
-\r
-        <!-- escaping the @ symbol -->\r
-        <SEQ TYPE="LITERAL2">@@</SEQ>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ini.xml b/extra/xmode/modes/ini.xml
deleted file mode 100644 (file)
index 71c50b6..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-       <RULES HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="KEYWORD1"\r
-                       AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/inno-setup.xml b/extra/xmode/modes/inno-setup.xml
deleted file mode 100644 (file)
index d40575e..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-       <RULES HIGHLIGHT_DIGITS="FALSE">\r
-\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE" DELEGATE="pascal::MAIN">[code]</SEQ>\r
-\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Setup]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Types]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Components]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Tasks]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Dirs]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Files]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Icons]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[INI]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[InstallDelete]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Languages]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Messages]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[CustomMessages]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[LangOptions]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Registry]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[Run]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[UninstallRun]</SEQ>\r
-               <SEQ TYPE="KEYWORD2" AT_LINE_START="TRUE">[UninstallDelete]</SEQ>\r
-\r
-               <!-- pre-processor directives -->\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#define </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#dim </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#undef </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#include </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#emit </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#expr </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#insert </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#append </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#if </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#elif </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#else </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#endif</EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifexist </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifnexist </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#ifdef </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#for </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#sub </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#endsub</EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#pragma </EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">#error </EOL_SPAN>\r
-               <SPAN TYPE="LITERAL4">\r
-                       <BEGIN>{#</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL2">%</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="STRING">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" DELEGATE="STRING">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <!-- variable -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
-\r
-               <!--\r
-               <MARK_PREVIOUS TYPE="KEYWORD1"\r
-                       AT_LINE_START="TRUE" MATCH_TYPE="CONTEXT"">=</MARK_PREVIOUS>\r
-               -->\r
-\r
-               <KEYWORDS>\r
-                       <!-- [Setup] -->\r
-                       <!-- compiler -->\r
-                       <KEYWORD1>Compression</KEYWORD1>\r
-                       <KEYWORD1>DiskClusterSize</KEYWORD1>\r
-                       <KEYWORD1>DiskSliceSize</KEYWORD1>\r
-                       <KEYWORD1>DiskSpanning</KEYWORD1>\r
-                       <KEYWORD1>Encryption</KEYWORD1>\r
-                       <KEYWORD1>InternalCompressLevel</KEYWORD1>\r
-                       <KEYWORD1>MergeDuplicateFiles</KEYWORD1>\r
-                       <KEYWORD1>OutputBaseFilename</KEYWORD1>\r
-                       <KEYWORD1>OutputDir</KEYWORD1>\r
-                       <KEYWORD1>ReserveBytes</KEYWORD1>\r
-                       <KEYWORD1>SlicesPerDisk</KEYWORD1>\r
-                       <KEYWORD1>SolidCompression</KEYWORD1>\r
-                       <KEYWORD1>SourceDir</KEYWORD1>\r
-                       <KEYWORD1>UseSetupLdr</KEYWORD1>\r
-                       <KEYWORD1>VersionInfoCompany</KEYWORD1>\r
-                       <KEYWORD1>VersionInfoDescription</KEYWORD1>\r
-                       <KEYWORD1>VersionInfoTextVersion</KEYWORD1>\r
-                       <KEYWORD1>VersionInfoVersion</KEYWORD1>\r
-                       <!-- installer, functional -->\r
-                       <KEYWORD1>AllowCancelDuringInstall</KEYWORD1>\r
-                       <KEYWORD1>AllowNoIcons</KEYWORD1>\r
-                       <KEYWORD1>AllowRootDirectory</KEYWORD1>\r
-                       <KEYWORD1>AllowUNCPath</KEYWORD1>\r
-                       <KEYWORD1>AlwaysRestart</KEYWORD1>\r
-                       <KEYWORD1>AlwaysShowComponentsList</KEYWORD1>\r
-                       <KEYWORD1>AlwaysShowDirOnReadyPage</KEYWORD1>\r
-                       <KEYWORD1>AlwaysShowGroupOnReadyPage</KEYWORD1>\r
-                       <KEYWORD1>AlwaysUsePersonalGroup</KEYWORD1>\r
-                       <KEYWORD1>AppendDefaultDirName</KEYWORD1>\r
-                       <KEYWORD1>AppendDefaultGroupName</KEYWORD1>\r
-                       <KEYWORD1>AppComments</KEYWORD1>\r
-                       <KEYWORD1>AppContact</KEYWORD1>\r
-                       <KEYWORD1>AppId</KEYWORD1>\r
-                       <KEYWORD1>AppModifyPath</KEYWORD1>\r
-                       <KEYWORD1>AppMutex</KEYWORD1>\r
-                       <KEYWORD1>AppName</KEYWORD1>\r
-                       <KEYWORD1>AppPublisher</KEYWORD1>\r
-                       <KEYWORD1>AppPublisherURL</KEYWORD1>\r
-                       <KEYWORD1>AppReadmeFile</KEYWORD1>\r
-                       <KEYWORD1>AppSupportURL</KEYWORD1>\r
-                       <KEYWORD1>AppUpdatesURL</KEYWORD1>\r
-                       <KEYWORD1>AppVersion</KEYWORD1>\r
-                       <KEYWORD1>AppVerName</KEYWORD1>\r
-                       <KEYWORD1>ChangesAssociations</KEYWORD1>\r
-                       <KEYWORD1>CreateAppDir</KEYWORD1>\r
-                       <KEYWORD1>CreateUninstallRegKey</KEYWORD1>\r
-                       <KEYWORD1>DefaultDirName</KEYWORD1>\r
-                       <KEYWORD1>DefaultGroupName</KEYWORD1>\r
-                       <KEYWORD1>DefaultUserInfoName</KEYWORD1>\r
-                       <KEYWORD1>DefaultUserInfoOrg</KEYWORD1>\r
-                       <KEYWORD1>DefaultUserInfoSerial</KEYWORD1>\r
-                       <KEYWORD1>DirExistsWarning</KEYWORD1>\r
-                       <KEYWORD1>DisableDirPage</KEYWORD1>\r
-                       <KEYWORD1>DisableFinishedPage</KEYWORD1>\r
-                       <KEYWORD1>DisableProgramGroupPage</KEYWORD1>\r
-                       <KEYWORD1>DisableReadyMemo</KEYWORD1>\r
-                       <KEYWORD1>DisableReadyPage</KEYWORD1>\r
-                       <KEYWORD1>DisableStartupPrompt</KEYWORD1>\r
-                       <KEYWORD1>EnableDirDoesntExistWarning</KEYWORD1>\r
-                       <KEYWORD1>ExtraDiskSpaceRequired</KEYWORD1>\r
-                       <KEYWORD1>InfoAfterFile</KEYWORD1>\r
-                       <KEYWORD1>InfoBeforeFile</KEYWORD1>\r
-                       <KEYWORD1>LanguageDetectionMethod</KEYWORD1>\r
-                       <KEYWORD1>LicenseFile</KEYWORD1>\r
-                       <KEYWORD1>MinVersion</KEYWORD1>\r
-                       <KEYWORD1>OnlyBelowVersion</KEYWORD1>\r
-                       <KEYWORD1>Password</KEYWORD1>\r
-                       <KEYWORD1>PrivilegesRequired</KEYWORD1>\r
-                       <KEYWORD1>RestartIfNeededByRun</KEYWORD1>\r
-                       <KEYWORD1>ShowLanguageDialog</KEYWORD1>\r
-                       <KEYWORD1>TimeStampRounding</KEYWORD1>\r
-                       <KEYWORD1>TimeStampsInUTC</KEYWORD1>\r
-                       <KEYWORD1>TouchDate</KEYWORD1>\r
-                       <KEYWORD1>TouchTime</KEYWORD1>\r
-                       <KEYWORD1>Uninstallable</KEYWORD1>\r
-                       <KEYWORD1>UninstallDisplayIcon</KEYWORD1>\r
-                       <KEYWORD1>UninstallDisplayName</KEYWORD1>\r
-                       <KEYWORD1>UninstallFilesDir</KEYWORD1>\r
-                       <KEYWORD1>UninstallLogMode</KEYWORD1>\r
-                       <KEYWORD1>UninstallRestartComputer</KEYWORD1>\r
-                       <KEYWORD1>UpdateUninstallLogAppName</KEYWORD1>\r
-                       <KEYWORD1>UsePreviousAppDir</KEYWORD1>\r
-                       <KEYWORD1>UsePreviousGroup</KEYWORD1>\r
-                       <KEYWORD1>UsePreviousSetupType</KEYWORD1>\r
-                       <KEYWORD1>UsePreviousTasks</KEYWORD1>\r
-                       <KEYWORD1>UsePreviousUserInfo</KEYWORD1>\r
-                       <KEYWORD1>UserInfoPage</KEYWORD1>\r
-                       <!-- installer, cosmetic -->\r
-                       <KEYWORD1>AppCopyright</KEYWORD1>\r
-                       <KEYWORD1>BackColor</KEYWORD1>\r
-                       <KEYWORD1>BackColor2</KEYWORD1>\r
-                       <KEYWORD1>BackColorDirection</KEYWORD1>\r
-                       <KEYWORD1>BackSolid</KEYWORD1>\r
-                       <KEYWORD1>FlatComponentsList</KEYWORD1>\r
-                       <KEYWORD1>SetupIconFile</KEYWORD1>\r
-                       <KEYWORD1>ShowComponentSizes</KEYWORD1>\r
-                       <KEYWORD1>ShowTasksTreeLines</KEYWORD1>\r
-                       <KEYWORD1>UninstallStyle</KEYWORD1>\r
-                       <KEYWORD1>WindowShowCaption</KEYWORD1>\r
-                       <KEYWORD1>WindowStartMaximized</KEYWORD1>\r
-                       <KEYWORD1>WindowResizable</KEYWORD1>\r
-                       <KEYWORD1>WindowVisible</KEYWORD1>\r
-                       <KEYWORD1>WizardImageBackColor</KEYWORD1>\r
-                       <KEYWORD1>WizardImageFile</KEYWORD1>\r
-                       <KEYWORD1>WizardImageStretch</KEYWORD1>\r
-                       <KEYWORD1>WizardSmallImageBackColor</KEYWORD1>\r
-                       <KEYWORD1>WizardSmallImageFile</KEYWORD1>\r
-                       <KEYWORD1>UninstallIconFile</KEYWORD1>\r
-\r
-                       <!-- parameters -->\r
-                       <KEYWORD4>AfterInstall</KEYWORD4>\r
-                       <KEYWORD4>Attribs</KEYWORD4>\r
-                       <KEYWORD4>BeforeInstall</KEYWORD4>\r
-                       <KEYWORD4>Check</KEYWORD4>\r
-                       <KEYWORD4>Comment</KEYWORD4>\r
-                       <KEYWORD4>Components</KEYWORD4>\r
-                       <KEYWORD4>CopyMode</KEYWORD4>\r
-                       <KEYWORD4>Description</KEYWORD4>\r
-                       <KEYWORD4>DestDir</KEYWORD4>\r
-                       <KEYWORD4>DestName</KEYWORD4>\r
-                       <KEYWORD4>Excludes</KEYWORD4>\r
-                       <KEYWORD4>ExtraDiskSpaceRequired</KEYWORD4>\r
-                       <KEYWORD4>Filename</KEYWORD4>\r
-                       <KEYWORD4>Flags</KEYWORD4>\r
-                       <KEYWORD4>FontInstall</KEYWORD4>\r
-                       <KEYWORD4>GroupDescription</KEYWORD4>\r
-                       <KEYWORD4>HotKey</KEYWORD4>\r
-                       <KEYWORD4>IconFilename</KEYWORD4>\r
-                       <KEYWORD4>IconIndex</KEYWORD4>\r
-                       <KEYWORD4>InfoBeforeFile</KEYWORD4>\r
-                       <KEYWORD4>InfoAfterFile</KEYWORD4>\r
-                       <KEYWORD4>Key</KEYWORD4>\r
-                       <!--<KEYWORD4>LicenseFile</KEYWORD4>-->\r
-                       <KEYWORD4>MessagesFile</KEYWORD4>\r
-                       <KEYWORD4>Name</KEYWORD4>\r
-                       <KEYWORD4>Parameters</KEYWORD4>\r
-                       <KEYWORD4>Permissions</KEYWORD4>\r
-                       <KEYWORD4>Root</KEYWORD4>\r
-                       <KEYWORD4>RunOnceId</KEYWORD4>\r
-                       <KEYWORD4>Section</KEYWORD4>\r
-                       <KEYWORD4>Source</KEYWORD4>\r
-                       <KEYWORD4>StatusMsg</KEYWORD4>\r
-                       <KEYWORD4>String</KEYWORD4>\r
-                       <KEYWORD4>Subkey</KEYWORD4>\r
-                       <KEYWORD4>Tasks</KEYWORD4>\r
-                       <KEYWORD4>Type</KEYWORD4>\r
-                       <KEYWORD4>Types</KEYWORD4>\r
-                       <KEYWORD4>ValueType</KEYWORD4>\r
-                       <KEYWORD4>ValueName</KEYWORD4>\r
-                       <KEYWORD4>ValueData</KEYWORD4>\r
-                       <KEYWORD4>WorkingDir</KEYWORD4>\r
-\r
-                       <!-- flags -->\r
-                       <LITERAL3>allowunsafefiles</LITERAL3>\r
-                       <LITERAL3>checkedonce</LITERAL3>\r
-                       <LITERAL3>closeonexit</LITERAL3>\r
-                       <LITERAL3>compact</LITERAL3>\r
-                       <LITERAL3>comparetimestamp</LITERAL3>\r
-                       <LITERAL3>confirmoverwrite</LITERAL3>\r
-                       <LITERAL3>createkeyifdoesntexist</LITERAL3>\r
-                       <LITERAL3>createonlyiffileexists</LITERAL3>\r
-                       <LITERAL3>createvalueifdoesntexist</LITERAL3>\r
-                       <LITERAL3>deleteafterinstall</LITERAL3>\r
-                       <LITERAL3>deletekey</LITERAL3>\r
-                       <LITERAL3>deletevalue</LITERAL3>\r
-                       <LITERAL3>desktopicon</LITERAL3>\r
-                       <LITERAL3>dirifempty</LITERAL3>\r
-                       <LITERAL3>disablenouninstallwarning</LITERAL3>\r
-                       <LITERAL3>dontcloseonexit</LITERAL3>\r
-                       <LITERAL3>dontcopy</LITERAL3>\r
-                       <LITERAL3>dontcreatekey</LITERAL3>\r
-                       <LITERAL3>dontinheritcheck</LITERAL3>\r
-                       <LITERAL3>dontverifychecksum</LITERAL3>\r
-                       <LITERAL3>exclusive</LITERAL3>\r
-                       <LITERAL3>external</LITERAL3>\r
-                       <LITERAL3>files</LITERAL3>\r
-                       <LITERAL3>filesandordirs</LITERAL3>\r
-                       <LITERAL3>fixed</LITERAL3>\r
-                       <LITERAL3>fontisnttruetype</LITERAL3>\r
-                       <LITERAL3>full</LITERAL3>\r
-                       <LITERAL3>ignoreversion</LITERAL3>\r
-                       <LITERAL3>iscustom</LITERAL3>\r
-                       <LITERAL3>isreadme</LITERAL3>\r
-                       <LITERAL3>hidden</LITERAL3>\r
-                       <LITERAL3>hidewizard</LITERAL3>\r
-                       <LITERAL3>modify</LITERAL3>\r
-                       <LITERAL3>nocompression</LITERAL3>\r
-                       <LITERAL3>noencryption</LITERAL3>\r
-                       <LITERAL3>noerror</LITERAL3>\r
-                       <LITERAL3>noregerror</LITERAL3>\r
-                       <LITERAL3>nowait</LITERAL3>\r
-                       <LITERAL3>onlyifdestfileexists</LITERAL3>\r
-                       <LITERAL3>onlyifdoesntexist</LITERAL3>\r
-                       <LITERAL3>overwritereadonly</LITERAL3>\r
-                       <LITERAL3>postinstall</LITERAL3>\r
-                       <LITERAL3>preservestringtype</LITERAL3>\r
-                       <LITERAL3>promptifolder</LITERAL3>\r
-                       <LITERAL3>quicklaunchicon</LITERAL3>\r
-                       <LITERAL3>read</LITERAL3>\r
-                       <LITERAL3>readonly</LITERAL3>\r
-                       <LITERAL3>readexec</LITERAL3>\r
-                       <LITERAL3>recursesubdirs</LITERAL3>\r
-                       <LITERAL3>regserver</LITERAL3>\r
-                       <LITERAL3>regtypelib</LITERAL3>\r
-                       <LITERAL3>replacesameversion</LITERAL3>\r
-                       <LITERAL3>restart</LITERAL3>\r
-                       <LITERAL3>restartreplace</LITERAL3>\r
-                       <LITERAL3>runhidden</LITERAL3>\r
-                       <LITERAL3>runmaximized</LITERAL3>\r
-                       <LITERAL3>runminimized</LITERAL3>\r
-                       <LITERAL3>sharedfile</LITERAL3>\r
-                       <LITERAL3>shellexec</LITERAL3>\r
-                       <LITERAL3>skipifnotsilent</LITERAL3>\r
-                       <LITERAL3>skipifsilent</LITERAL3>\r
-                       <LITERAL3>skipifdoesntexist</LITERAL3>\r
-                       <LITERAL3>skipifsourcedoesntexist</LITERAL3>\r
-                       <LITERAL3>sortfilesbyextension</LITERAL3>\r
-                       <LITERAL3>system</LITERAL3>\r
-                       <LITERAL3>touch</LITERAL3>\r
-                       <LITERAL3>unchecked</LITERAL3>\r
-                       <LITERAL3>uninsalwaysuninstall</LITERAL3>\r
-                       <LITERAL3>uninsclearvalue</LITERAL3>\r
-                       <LITERAL3>uninsdeleteentry</LITERAL3>\r
-                       <LITERAL3>uninsdeletekey</LITERAL3>\r
-                       <LITERAL3>uninsdeletekeyifempty</LITERAL3>\r
-                       <LITERAL3>uninsdeletesection</LITERAL3>\r
-                       <LITERAL3>uninsdeletesectionifempty</LITERAL3>\r
-                       <LITERAL3>uninsdeletevalue</LITERAL3>\r
-                       <LITERAL3>uninsneveruninstall</LITERAL3>\r
-                       <LITERAL3>uninsremovereadonly</LITERAL3>\r
-                       <LITERAL3>uninsrestartdelete</LITERAL3>\r
-                       <LITERAL3>useapppaths</LITERAL3>\r
-                       <LITERAL3>waituntilidle</LITERAL3>\r
-\r
-                       <!-- registry root keys -->\r
-                       <LITERAL3>HKCR</LITERAL3>\r
-                       <LITERAL3>HKCU</LITERAL3>\r
-                       <LITERAL3>HKLM</LITERAL3>\r
-                       <LITERAL3>HKU</LITERAL3>\r
-                       <LITERAL3>HKCC</LITERAL3>\r
-\r
-                       <!-- registry value types -->\r
-                       <LITERAL3>none</LITERAL3>\r
-                       <LITERAL3>string</LITERAL3>\r
-                       <LITERAL3>expandsz</LITERAL3>\r
-                       <LITERAL3>multisz</LITERAL3>\r
-                       <LITERAL3>dword</LITERAL3>\r
-                       <LITERAL3>binary</LITERAL3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="STRING" DEFAULT="LITERAL1" IGNORE_CASE="TRUE">\r
-               <!-- pre-processor constant -->\r
-               <SPAN TYPE="LITERAL4">\r
-                       <BEGIN>{#</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <!-- constant -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="CONSTANT">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="CONSTANT" DEFAULT="KEYWORD3">\r
-               <MARK_FOLLOWING TYPE="FUNCTION" MATCH_TYPE="CONTEXT">code:</MARK_FOLLOWING>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-       </RULES>\r
-\r
-       <!-- pre-processor directives -->\r
-       <RULES SET="DIRECTIVE" DEFAULT="LITERAL4" IGNORE_CASE="TRUE">\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- pre-processor defined functions -->\r
-               <KEYWORDS>\r
-                       <FUNCTION>Defined</FUNCTION>\r
-                       <FUNCTION>TypeOf</FUNCTION>\r
-                       <FUNCTION>GetFileVersion</FUNCTION>\r
-                       <FUNCTION>GetStringFileInfo</FUNCTION>\r
-                       <FUNCTION>Int</FUNCTION>\r
-                       <FUNCTION>Str</FUNCTION>\r
-                       <FUNCTION>FileExists</FUNCTION>\r
-                       <FUNCTION>FileSize</FUNCTION>\r
-                       <FUNCTION>ReadIni</FUNCTION>\r
-                       <FUNCTION>WriteIni</FUNCTION>\r
-                       <FUNCTION>ReadReg</FUNCTION>\r
-                       <FUNCTION>Exec</FUNCTION>\r
-                       <FUNCTION>Copy</FUNCTION>\r
-                       <FUNCTION>Pos</FUNCTION>\r
-                       <FUNCTION>RPos</FUNCTION>\r
-                       <FUNCTION>Len</FUNCTION>\r
-                       <FUNCTION>SaveToFile</FUNCTION>\r
-                       <FUNCTION>Find</FUNCTION>\r
-                       <FUNCTION>SetupSetting</FUNCTION>\r
-                       <FUNCTION>SetSetupSetting</FUNCTION>\r
-                       <FUNCTION>LowerCase</FUNCTION>\r
-                       <FUNCTION>EntryCount</FUNCTION>\r
-                       <FUNCTION>GetEnv</FUNCTION>\r
-                       <FUNCTION>DeleteFile</FUNCTION>\r
-                       <FUNCTION>CopyFile</FUNCTION>\r
-                       <FUNCTION>FindFirst</FUNCTION>\r
-                       <FUNCTION>FindNext</FUNCTION>\r
-                       <FUNCTION>FindClose</FUNCTION>\r
-                       <FUNCTION>FindGetFileName</FUNCTION>\r
-                       <FUNCTION>FileOpen</FUNCTION>\r
-                       <FUNCTION>FileRead</FUNCTION>\r
-                       <FUNCTION>FileReset</FUNCTION>\r
-                       <FUNCTION>FileEof</FUNCTION>\r
-                       <FUNCTION>FileClose</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/interlis.xml b/extra/xmode/modes/interlis.xml
deleted file mode 100644 (file)
index 28960bf..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- INTERLIS mode (www.interlis.ch) by Claude Eisenhut (ce@eisenhutinformatik.ch). -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="blockComment" VALUE="!!" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE">\r
-               <!-- Normal comments. -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">!!</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- Explanations. -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>//</BEGIN>\r
-                       <END>//</END>\r
-               </SPAN>\r
-\r
-               <!-- INTERLIS 1 -->\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
-               <SEQ TYPE="OPERATOR">..</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <!-- INTERLIS 2.1 -->\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">#</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">--</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&lt;#&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">..</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               \r
-               <KEYWORDS>\r
-                       <!-- INTERLIS 1 -->\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>ARCS</KEYWORD1>\r
-                       <KEYWORD1>AREA</KEYWORD1>\r
-                       <KEYWORD1>BASE</KEYWORD1>\r
-                       <KEYWORD1>BLANK</KEYWORD1>\r
-                       <KEYWORD1>CODE</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>CONTOUR</KEYWORD1>\r
-                       <KEYWORD1>COORD2</KEYWORD1>\r
-                       <KEYWORD1>COORD3</KEYWORD1>\r
-                       <KEYWORD1>DATE</KEYWORD1>\r
-                       <KEYWORD1>DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>DEGREES</KEYWORD1>\r
-                       <KEYWORD1>DERIVATIVES</KEYWORD1>\r
-                       <KEYWORD1>DIM1</KEYWORD1>\r
-                       <KEYWORD1>DIM2</KEYWORD1>\r
-                       <KEYWORD1>DOMAIN</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>FIX</KEYWORD1>\r
-                       <KEYWORD1>FONT</KEYWORD1>\r
-                       <KEYWORD1>FORMAT</KEYWORD1>\r
-                       <KEYWORD1>FREE</KEYWORD1>\r
-                       <KEYWORD1>GRADS</KEYWORD1>\r
-                       <KEYWORD1>HALIGNMENT</KEYWORD1>\r
-                       <KEYWORD1>I16</KEYWORD1>\r
-                       <KEYWORD1>I32</KEYWORD1>\r
-                       <KEYWORD1>IDENT</KEYWORD1>\r
-                       <KEYWORD1>LINEATTR</KEYWORD1>\r
-                       <KEYWORD1>LINESIZE</KEYWORD1>\r
-                       <KEYWORD1>MODEL</KEYWORD1>\r
-                       <KEYWORD1>NO</KEYWORD1>\r
-                       <KEYWORD1>OPTIONAL</KEYWORD1>\r
-                       <KEYWORD1>OVERLAPS</KEYWORD1>\r
-                       <KEYWORD1>PERIPHERY</KEYWORD1>\r
-                       <KEYWORD1>POLYLINE</KEYWORD1>\r
-                       <KEYWORD1>RADIANS</KEYWORD1>\r
-                       <KEYWORD1>STRAIGHTS</KEYWORD1>\r
-                       <KEYWORD1>SURFACE</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>TEXT</KEYWORD1>\r
-                       <KEYWORD1>TID</KEYWORD1>\r
-                       <KEYWORD1>TIDSIZE</KEYWORD1>\r
-                       <KEYWORD1>TOPIC</KEYWORD1>\r
-                       <KEYWORD1>TRANSFER</KEYWORD1>\r
-                       <KEYWORD1>UNDEFINED</KEYWORD1>\r
-                       <KEYWORD1>VALIGNMENT</KEYWORD1>\r
-                       <KEYWORD1>VERTEX</KEYWORD1>\r
-                       <KEYWORD1>VERTEXINFO</KEYWORD1>\r
-                       <KEYWORD1>VIEW</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WITHOUT</KEYWORD1>\r
-\r
-                       <!-- INTERLIS 2.3 -->\r
-                       <KEYWORD1>ABSTRACT</KEYWORD1>\r
-                       <KEYWORD1>ACCORDING</KEYWORD1>\r
-                       <KEYWORD1>AGGREGATES</KEYWORD1>\r
-                       <KEYWORD1>AGGREGATION</KEYWORD1>\r
-                       <KEYWORD1>ALL</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>ANYCLASS</KEYWORD1>\r
-                       <KEYWORD1>ANYSTRUCTURE</KEYWORD1>\r
-                       <KEYWORD1>ARCS</KEYWORD1>\r
-                       <KEYWORD1>AREA</KEYWORD1>\r
-                       <KEYWORD1>AS</KEYWORD1>\r
-                       <KEYWORD1>ASSOCIATION</KEYWORD1>\r
-                       <KEYWORD1>AT</KEYWORD1>\r
-                       <KEYWORD1>ATTRIBUTE</KEYWORD1>\r
-                       <KEYWORD1>ATTRIBUTES</KEYWORD1>\r
-                       <KEYWORD1>BAG</KEYWORD1>\r
-                       <KEYWORD1>BASE</KEYWORD1>\r
-                       <KEYWORD1>BASED</KEYWORD1>\r
-                       <KEYWORD1>BASKET</KEYWORD1>\r
-                       <KEYWORD1>BINARY</KEYWORD1>\r
-                       <KEYWORD1>BLACKBOX</KEYWORD1>\r
-                       <KEYWORD1>BOOLEAN</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>CARDINALITY</KEYWORD1>\r
-                       <KEYWORD1>CIRCULAR</KEYWORD1>\r
-                       <KEYWORD1>CLASS</KEYWORD1>\r
-                       <KEYWORD1>CLOCKWISE</KEYWORD1>\r
-                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
-                       <KEYWORD1>CONSTRAINTS</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>CONTINUOUS</KEYWORD1>\r
-                       <KEYWORD1>CONTRACTED</KEYWORD1>\r
-                       <KEYWORD1>COORD</KEYWORD1>\r
-                       <KEYWORD1>COUNTERCLOCKWISE</KEYWORD1>\r
-                       <KEYWORD1>DEFINED</KEYWORD1>\r
-                       <KEYWORD1>DEPENDS</KEYWORD1>\r
-                       <KEYWORD1>DERIVED</KEYWORD1>\r
-                       <KEYWORD1>DIRECTED</KEYWORD1>\r
-                       <KEYWORD1>DOMAIN</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>ENUMTREEVAL</KEYWORD1>\r
-                       <KEYWORD1>ENUMVAL</KEYWORD1>\r
-                       <KEYWORD1>EQUAL</KEYWORD1>\r
-                       <KEYWORD1>EXISTENCE</KEYWORD1>\r
-                       <KEYWORD1>EXTENDED</KEYWORD1>\r
-                       <KEYWORD1>EXTENDS</KEYWORD1>\r
-                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
-                       <KEYWORD1>FINAL</KEYWORD1>\r
-                       <KEYWORD1>FIRST</KEYWORD1>\r
-                       <KEYWORD1>FORM</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>FUNCTION</KEYWORD1>\r
-                       <KEYWORD1>GRAPHIC</KEYWORD1>\r
-                       <KEYWORD1>HALIGNMENT</KEYWORD1>\r
-                       <KEYWORD1>HIDING</KEYWORD1>\r
-                       <KEYWORD1>IMPORTS</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>INHERITANCE</KEYWORD1>\r
-                       <KEYWORD1>INSPECTION</KEYWORD1>\r
-                       <KEYWORD1>INTERLIS</KEYWORD1>\r
-                       <KEYWORD1>JOIN</KEYWORD1>\r
-                       <KEYWORD1>LAST</KEYWORD1>\r
-                       <KEYWORD1>LINE</KEYWORD1>\r
-                       <KEYWORD1>LIST</KEYWORD1>\r
-                       <KEYWORD1>LNBASE</KEYWORD1>\r
-                       <KEYWORD1>LOCAL</KEYWORD1>\r
-                       <KEYWORD1>MANDATORY</KEYWORD1>\r
-                       <KEYWORD1>METAOBJECT</KEYWORD1>\r
-                       <KEYWORD1>MODEL</KEYWORD1>\r
-                       <KEYWORD1>MTEXT</KEYWORD1>\r
-                       <KEYWORD1>NAME</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>NO</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>NUMERIC</KEYWORD1>\r
-                       <KEYWORD1>OBJECT</KEYWORD1>\r
-                       <KEYWORD1>OF</KEYWORD1>\r
-                       <KEYWORD1>OID</KEYWORD1>\r
-                       <KEYWORD1>ON</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>ORDERED</KEYWORD1>\r
-                       <KEYWORD1>OTHERS</KEYWORD1>\r
-                       <KEYWORD1>OVERLAPS</KEYWORD1>\r
-                       <KEYWORD1>PARAMETER</KEYWORD1>\r
-                       <KEYWORD1>PARENT</KEYWORD1>\r
-                       <KEYWORD1>PI</KEYWORD1>\r
-                       <KEYWORD1>POLYLINE</KEYWORD1>\r
-                       <KEYWORD1>PROJECTION</KEYWORD1>\r
-                       <KEYWORD1>REFERENCE</KEYWORD1>\r
-                       <KEYWORD1>REFSYSTEM</KEYWORD1>\r
-                       <KEYWORD1>REQUIRED</KEYWORD1>\r
-                       <KEYWORD1>RESTRICTED</KEYWORD1>\r
-                       <KEYWORD1>ROTATION</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SIGN</KEYWORD1>\r
-                       <KEYWORD1>STRAIGHTS</KEYWORD1>\r
-                       <KEYWORD1>STRUCTURE</KEYWORD1>\r
-                       <KEYWORD1>SUBDIVISION</KEYWORD1>\r
-                       <KEYWORD1>SURFACE</KEYWORD1>\r
-                       <KEYWORD1>SYMBOLOGY</KEYWORD1>\r
-                       <KEYWORD1>TEXT</KEYWORD1>\r
-                       <KEYWORD1>THATAREA</KEYWORD1>\r
-                       <KEYWORD1>THIS</KEYWORD1>\r
-                       <KEYWORD1>THISAREA</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>TOPIC</KEYWORD1>\r
-                       <KEYWORD1>TRANSIENT</KEYWORD1>\r
-                       <KEYWORD1>TRANSLATION</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>UNDEFINED</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>UNIQUE</KEYWORD1>\r
-                       <KEYWORD1>UNIT</KEYWORD1>\r
-                       <KEYWORD1>UNQUALIFIED</KEYWORD1>\r
-                       <KEYWORD1>URI</KEYWORD1>\r
-                       <KEYWORD1>VALIGNMENT</KEYWORD1>\r
-                       <KEYWORD1>VERSION</KEYWORD1>\r
-                       <KEYWORD1>VERTEX</KEYWORD1>\r
-                       <KEYWORD1>VIEW</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>WHERE</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WITHOUT</KEYWORD1>\r
-                       \r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/io.xml b/extra/xmode/modes/io.xml
deleted file mode 100644 (file)
index 2ac4ffe..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- @RisingSun//XML//1.0//EN________________________________________________\r
-       \r
-       JEdit syntax mode for Io\r
-\r
-       ..........................................................................\r
-\r
-       File name               :       io.xml\r
-       Description             :       JEdit syntax file for the Io programming language\r
-       Related links   :       <http://www.iolanguage.com>, <http://www.jedit.org>\r
-\r
-       ..........................................................................\r
-       Author                  :       Sébastien Pierre                  <spierre@type-z.org>\r
-       ..........................................................................\r
-\r
-       Creation date   :       05-May-2003\r
-       Last revision   :       19-May-2003\r
-       Revision                :       1.1\r
-    History                    :       \r
-                                               19-May-2003 Added primitives highlighting.\r
-                                               05-May-2003 First release\r
\r
-       .....................................................................  -->\r
-\r
-<!-- ________________________________________________________D O C T Y P E -->\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- ____________________________________________D O C U M E N T _ R O O T -->\r
-<MODE>\r
-\r
-       <!-- Properties_______________________________________________________ -->\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentStart" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <!-- FIXME: There may be a problem with this redefinition of\r
-               lineComment-->\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE=")" />\r
-       </PROPS>\r
-\r
-       <!-- Rules____________________________________________________________ -->\r
-\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <!-- Comments_____________________________________________________ -->\r
-\r
-               <!-- Shell-like comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-\r
-               <!-- C-like comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- Strings______________________________________________________ -->\r
-\r
-               <!-- Single quotes -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- Triple quotes -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>"""</BEGIN>\r
-                       <END>"""</END>\r
-               </SPAN>\r
-\r
-               <!-- Operatiors___________________________________________________ -->\r
-\r
-               <SEQ TYPE="OPERATOR">`</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">@@</SEQ>\r
-               <SEQ TYPE="OPERATOR">$</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-\r
-               <!-- Keywords_____________________________________________________ -->\r
-\r
-               <KEYWORDS>\r
-\r
-                       <!-- Io primitives -->\r
-                       <KEYWORD1>Block</KEYWORD1>\r
-                       <KEYWORD1>Buffer</KEYWORD1>\r
-                       <KEYWORD1>CFunction</KEYWORD1>\r
-                       <KEYWORD1>Date</KEYWORD1>\r
-                       <KEYWORD1>Duration</KEYWORD1>\r
-                       <KEYWORD1>File</KEYWORD1>\r
-                       <KEYWORD1>Future</KEYWORD1>\r
-                       <KEYWORD1>List</KEYWORD1>\r
-                       <KEYWORD1>LinkedList</KEYWORD1>\r
-                       <KEYWORD1>Map</KEYWORD1>\r
-                       <KEYWORD1>Nop</KEYWORD1>\r
-                       <KEYWORD1>Message</KEYWORD1>\r
-                       <KEYWORD1>Nil</KEYWORD1>\r
-                       <KEYWORD1>Number</KEYWORD1>\r
-                       <KEYWORD1>Object</KEYWORD1>\r
-                       <KEYWORD1>String</KEYWORD1>\r
-                       <KEYWORD1>WeakLink</KEYWORD1>\r
-\r
-                       <!-- Io lambda-like primitives -->\r
-                       <KEYWORD1>block</KEYWORD1>\r
-                       <KEYWORD1>method</KEYWORD1>\r
-\r
-                       <!--  Io control primitives -->\r
-                       <KEYWORD2>while</KEYWORD2>\r
-                       <KEYWORD2>foreach</KEYWORD2>\r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>else</KEYWORD2>\r
-                       <KEYWORD2>do</KEYWORD2>\r
-\r
-                       <!--  Io basic messages -->\r
-                       <KEYWORD3>super</KEYWORD3>\r
-                       <KEYWORD3>self</KEYWORD3>\r
-                       <KEYWORD3>clone</KEYWORD3>\r
-                       <KEYWORD3>proto</KEYWORD3>\r
-                       <KEYWORD3>setSlot</KEYWORD3>\r
-                       <KEYWORD3>hasSlot</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>write</KEYWORD3>\r
-                       <KEYWORD3>print</KEYWORD3>\r
-                       <KEYWORD3>forward</KEYWORD3>\r
-\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-</MODE>\r
-\r
-<!-- EOF-UNIX/iso-8895-1__________________________@RisingSun//XML//1.0//EN -->\r
diff --git a/extra/xmode/modes/java.xml b/extra/xmode/modes/java.xml
deleted file mode 100644 (file)
index d350cdc..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
-\r
-               <!-- Silly comment -->\r
-               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- Javadoc comment -->\r
-               <SPAN TYPE="COMMENT3" DELEGATE="JAVADOC">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <!-- Java comment (C style) -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-               <!-- workaround to stop "*" from being colorized\r
-                    in import statements. -->\r
-               <SEQ TYPE="NULL">.*</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <!-- Annotation types -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD2>import</KEYWORD2>\r
-\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>interface</KEYWORD3>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-\r
-                       <FUNCTION>assert</FUNCTION>\r
-                       <KEYWORD1>strictfp</KEYWORD1>\r
-\r
-\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-\r
-                       <INVALID>goto</INVALID>\r
-                       <INVALID>const</INVALID>\r
-\r
-                       <!-- Java 1.5 -->\r
-                       <KEYWORD3>enum</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="JAVADOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">\r
-\r
-               <!-- so that *@param is highlighted -->\r
-               <SEQ TYPE="COMMENT3">*</SEQ>\r
-\r
-               <!-- Javadoc ignores tags inside <pre> -->\r
-               <!-- XXX no it doesn't -->\r
-               <!-- SPAN TYPE="MARKUP" DELEGATE="JAVADOC_PRE">\r
-                       <BEGIN>&lt;pre&gt;</BEGIN>\r
-                       <END>&lt;/pre&gt;</END>\r
-               </SPAN -->\r
-\r
-               <!-- HTML comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Javadoc allows this -->\r
-               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
-\r
-               <!-- HTML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"\r
-                       NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- so that @link{...} is highlighted -->\r
-               <!-- XXX: this is wrong, {@link ..} is correct, see below -->\r
-               <!--<SEQ TYPE="COMMENT3">{</SEQ>-->\r
-\r
-               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="{@" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
-                       <BEGIN>\{@(link|linkplain|docRoot|code|literal)\s</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- for the common usage of the cvs keyword $Id: java.xml 9228 2007-03-27 22:01:25Z ezust $ -->\r
-               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="@version" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
-                       <BEGIN>@version\s+\$</BEGIN>\r
-                       <END>$</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- This works only when you use the same whitespace before and after the param's name,\r
-                        eg. a tab before and after, but mixing space and tab won't work.\r
-                        The reason is that you can't enter a regexp in END, except for the backreference operator $n -->\r
-               <SPAN_REGEXP TYPE="LABEL" HASH_CHAR="@" NO_WORD_BREAK="FALSE" DELEGATE="JAVADOC_PARAM">\r
-                       <BEGIN>@(?:param|throws|exception|serialField)(\s)</BEGIN>\r
-                       <END>$1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <KEYWORDS>\r
-               <!-- Note: the labels in comments are handled by SPANs above -->\r
-\r
-               <!-- Official javadoc tags:\r
-                        http://java.sun.com/j2se/1.5/docs/tooldocs/windows/javadoc.html#javadoctags -->\r
-                       <LABEL>@author</LABEL>\r
-                       <LABEL>@deprecated</LABEL>\r
-               <!--<LABEL>@docRoot</LABEL>-->\r
-               <!--<LABEL>@exception</LABEL>-->\r
-                       <LABEL>{@inheritDoc}</LABEL>\r
-               <!--<LABEL>@link</LABEL>-->\r
-               <!--<LABEL>@linkplain</LABEL>-->\r
-               <!--<LABEL>@param</LABEL>-->\r
-                       <LABEL>@return</LABEL>\r
-                       <LABEL>@see</LABEL>\r
-                       <LABEL>@serial</LABEL>\r
-                       <LABEL>@serialData</LABEL>\r
-               <!--<LABEL>@serialField</LABEL>-->\r
-                       <LABEL>@since</LABEL>\r
-               <!--<LABEL>@throws</LABEL>-->\r
-                       <LABEL>{@value}</LABEL>\r
-                       <LABEL>@version</LABEL>\r
-\r
-               <!-- new in 1.5 -->\r
-               <!--<LABEL>@code</LABEL>-->\r
-               <!--<LABEL>@literal</LABEL>-->\r
-\r
-               <!-- SUNs proposed tags:\r
-                        http://java.sun.com/j2se/javadoc/proposed-tags.html -->\r
-                       <KEYWORD2>@category</KEYWORD2>\r
-                       <KEYWORD2>@example</KEYWORD2>\r
-                       <KEYWORD2>@exclude</KEYWORD2>\r
-                       <KEYWORD2>@index</KEYWORD2>\r
-                       <KEYWORD2>@internal</KEYWORD2>\r
-                       <KEYWORD2>@obsolete</KEYWORD2>\r
-                       <KEYWORD2>@threadsafety</KEYWORD2>\r
-                       <KEYWORD2>@tutorial</KEYWORD2>\r
-                       <KEYWORD2>@todo</KEYWORD2>\r
-\r
-               <!-- Custom tags -->\r
-                       <KEYWORD4>@access</KEYWORD4>\r
-                       <KEYWORD4>@beaninfo</KEYWORD4>\r
-                       <KEYWORD4>@bon</KEYWORD4>\r
-                       <KEYWORD4>@bug</KEYWORD4>\r
-                       <KEYWORD4>@complexity</KEYWORD4>\r
-                       <KEYWORD4>@design</KEYWORD4>\r
-                       <KEYWORD4>@ensures</KEYWORD4>\r
-                       <KEYWORD4>@equivalent</KEYWORD4>\r
-                       <KEYWORD4>@generates</KEYWORD4>\r
-                       <KEYWORD4>@guard</KEYWORD4>\r
-                       <KEYWORD4>@hides</KEYWORD4>\r
-                       <KEYWORD4>@history</KEYWORD4>\r
-                       <KEYWORD4>@idea</KEYWORD4>\r
-                       <KEYWORD4>@invariant</KEYWORD4>\r
-                       <KEYWORD4>@modifies</KEYWORD4>\r
-                       <KEYWORD4>@overrides</KEYWORD4>\r
-                       <KEYWORD4>@post</KEYWORD4>\r
-                       <KEYWORD4>@pre</KEYWORD4>\r
-                       <KEYWORD4>@references</KEYWORD4>\r
-                       <KEYWORD4>@requires</KEYWORD4>\r
-                       <KEYWORD4>@review</KEYWORD4>\r
-                       <KEYWORD4>@spec</KEYWORD4>\r
-                       <KEYWORD4>@uses</KEYWORD4>\r
-                       <KEYWORD4>@values</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <!-- just a dummy which makes use of the default token type COMMENT4 for highlighting the word after @param in javadoc -->\r
-       <RULES SET="JAVADOC_PARAM" DEFAULT="COMMENT4" IGNORE_CASE="TRUE" />\r
-</MODE>\r
diff --git a/extra/xmode/modes/javacc.xml b/extra/xmode/modes/javacc.xml
deleted file mode 100644 (file)
index d3172d2..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<MODE>\r
-    <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-    <RULES IGNORE_CASE="FALSE">\r
-        <IMPORT DELEGATE="java::MAIN"/>\r
-        \r
-        <KEYWORDS>\r
-            <KEYWORD1>EOF</KEYWORD1>\r
-            <KEYWORD1>IGNORE_CASE</KEYWORD1>\r
-            <KEYWORD1>JAVACODE</KEYWORD1>\r
-            <KEYWORD1>LOOKAHEAD</KEYWORD1>\r
-            <KEYWORD1>MORE</KEYWORD1>\r
-            <KEYWORD1>PARSER_BEGIN</KEYWORD1>\r
-            <KEYWORD1>PARSER_END</KEYWORD1>\r
-            <KEYWORD1>SKIP</KEYWORD1>\r
-            <KEYWORD1>SPECIAL_TOKEN</KEYWORD1>\r
-            <KEYWORD1>TOKEN</KEYWORD1>\r
-            <KEYWORD1>TOKEN_MGR_DECLS</KEYWORD1>\r
-            <KEYWORD1>options</KEYWORD1>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/javascript.xml b/extra/xmode/modes/javascript.xml
deleted file mode 100644 (file)
index e898fa1..0000000
+++ /dev/null
@@ -1,572 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- JavaScript mode by Andre Kaplan -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <!-- The rest of the javascript info -->\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ_" TYPE="FUNCTION" DELEGATE="FUNCTION_PARAMS">\r
-                       <BEGIN>[A-Za-z_][\w_-]*\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Keep brackets together: -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="COMMENT2">//--&gt;</SEQ>\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <SEQ TYPE="COMMENT1">&lt;!--</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- ECMAScript keywords -->\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <KEYWORD1>typeof</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-\r
-                       <!--ECMAScript keywords-->\r
-                       <!-- Reserved for future use\r
-                               (some are already used in some Javascript Engines)\r
-                       -->\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>debugger</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD1>enum</KEYWORD1>\r
-                       <KEYWORD2>export</KEYWORD2>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-\r
-                       <KEYWORD2>import</KEYWORD2>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-\r
-                       <!-- Intrinsic Objects (Good idea not to use these names!!)-->\r
-                       <KEYWORD3>Array</KEYWORD3>\r
-                       <KEYWORD3>Boolean</KEYWORD3>\r
-                       <KEYWORD3>Date</KEYWORD3>\r
-                       <KEYWORD3>Function</KEYWORD3>\r
-                       <KEYWORD3>Global</KEYWORD3>\r
-                       <KEYWORD3>Math</KEYWORD3>\r
-                       <KEYWORD3>Number</KEYWORD3>\r
-                       <KEYWORD3>Object</KEYWORD3>\r
-                       <KEYWORD3>RegExp</KEYWORD3><!-- Not ECMA -->\r
-                       <KEYWORD3>String</KEYWORD3>\r
-\r
-                       <!-- Literals -->\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-\r
-                       <LITERAL2>NaN</LITERAL2>\r
-                       <LITERAL2>Infinity</LITERAL2>\r
-\r
-                       <!-- Global functions -->\r
-                       <LITERAL2>eval</LITERAL2>\r
-                       <LITERAL2>parseInt</LITERAL2>\r
-                       <LITERAL2>parseFloat</LITERAL2>\r
-                       <LITERAL2>escape</LITERAL2>\r
-                       <LITERAL2>unescape</LITERAL2>\r
-                       <LITERAL2>isNaN</LITERAL2>\r
-                       <LITERAL2>isFinite</LITERAL2>\r
-\r
-                       <!-- Comment/Uncomment your favorite ADO Constants-->\r
-\r
-                       <!-- ADO Constants-->\r
-\r
-                       <!-- CursorTypeEnum Values -->\r
-                       <LITERAL2>adOpenForwardOnly</LITERAL2>\r
-                       <LITERAL2>adOpenKeyset</LITERAL2>\r
-                       <LITERAL2>adOpenDynamic</LITERAL2>\r
-                       <LITERAL2>adOpenStatic</LITERAL2>\r
-\r
-                       <!-- CursorOptionEnum Values -->\r
-<!--           <LITERAL2>adHoldRecords</LITERAL2>\r
-                       <LITERAL2>adMovePrevious</LITERAL2>\r
-                       <LITERAL2>adAddNew</LITERAL2>\r
-                       <LITERAL2>adDelete</LITERAL2>\r
-                       <LITERAL2>adUpdate</LITERAL2>\r
-                       <LITERAL2>adBookmark</LITERAL2>\r
-                       <LITERAL2>adApproxPosition</LITERAL2>\r
-                       <LITERAL2>adUpdateBatch</LITERAL2>\r
-                       <LITERAL2>adResync</LITERAL2>\r
-                       <LITERAL2>adNotify</LITERAL2>\r
-                       <LITERAL2>adFind</LITERAL2>\r
-                       <LITERAL2>adSeek</LITERAL2>\r
-                       <LITERAL2>adIndex</LITERAL2>\r
--->\r
-                       <!-- LockTypeEnum Values -->\r
-                       <LITERAL2>adLockReadOnly</LITERAL2>\r
-                       <LITERAL2>adLockPessimistic</LITERAL2>\r
-                       <LITERAL2>adLockOptimistic</LITERAL2>\r
-                       <LITERAL2>adLockBatchOptimistic</LITERAL2>\r
-\r
-                       <!-- ExecuteOptionEnum Values -->\r
-                       <LITERAL2>adRunAsync</LITERAL2>\r
-                       <LITERAL2>adAsyncExecute</LITERAL2>\r
-                       <LITERAL2>adAsyncFetch</LITERAL2>\r
-                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>\r
-                       <LITERAL2>adExecuteNoRecords</LITERAL2>\r
-\r
-                       <!-- ConnectOptionEnum Values -->\r
-<!--                   <LITERAL2>adAsyncConnect</LITERAL2>\r
--->\r
-                       <!-- ObjectStateEnum Values -->\r
-                       <LITERAL2>adStateClosed</LITERAL2>\r
-                       <LITERAL2>adStateOpen</LITERAL2>\r
-                       <LITERAL2>adStateConnecting</LITERAL2>\r
-                       <LITERAL2>adStateExecuting</LITERAL2>\r
-                       <LITERAL2>adStateFetching</LITERAL2>\r
-\r
-                       <!-- CursorLocationEnum Values -->\r
-                       <LITERAL2>adUseServer</LITERAL2>\r
-                       <LITERAL2>adUseClient</LITERAL2>\r
-\r
-                       <!-- DataTypeEnum Values -->\r
-                       <LITERAL2>adEmpty</LITERAL2>\r
-                       <LITERAL2>adTinyInt</LITERAL2>\r
-                       <LITERAL2>adSmallInt</LITERAL2>\r
-                       <LITERAL2>adInteger</LITERAL2>\r
-                       <LITERAL2>adBigInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedTinyInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedSmallInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedBigInt</LITERAL2>\r
-                       <LITERAL2>adSingle</LITERAL2>\r
-                       <LITERAL2>adDouble</LITERAL2>\r
-                       <LITERAL2>adCurrency</LITERAL2>\r
-                       <LITERAL2>adDecimal</LITERAL2>\r
-                       <LITERAL2>adNumeric</LITERAL2>\r
-                       <LITERAL2>adBoolean</LITERAL2>\r
-                       <LITERAL2>adError</LITERAL2>\r
-                       <LITERAL2>adUserDefined</LITERAL2>\r
-                       <LITERAL2>adVariant</LITERAL2>\r
-                       <LITERAL2>adIDispatch</LITERAL2>\r
-                       <LITERAL2>adIUnknown</LITERAL2>\r
-                       <LITERAL2>adGUID</LITERAL2>\r
-                       <LITERAL2>adDate</LITERAL2>\r
-                       <LITERAL2>adDBDate</LITERAL2>\r
-                       <LITERAL2>adDBTime</LITERAL2>\r
-                       <LITERAL2>adDBTimeStamp</LITERAL2>\r
-                       <LITERAL2>adBSTR</LITERAL2>\r
-                       <LITERAL2>adChar</LITERAL2>\r
-                       <LITERAL2>adVarChar</LITERAL2>\r
-                       <LITERAL2>adLongVarChar</LITERAL2>\r
-                       <LITERAL2>adWChar</LITERAL2>\r
-                       <LITERAL2>adVarWChar</LITERAL2>\r
-                       <LITERAL2>adLongVarWChar</LITERAL2>\r
-                       <LITERAL2>adBinary</LITERAL2>\r
-                       <LITERAL2>adVarBinary</LITERAL2>\r
-                       <LITERAL2>adLongVarBinary</LITERAL2>\r
-                       <LITERAL2>adChapter</LITERAL2>\r
-                       <LITERAL2>adFileTime</LITERAL2>\r
-                       <LITERAL2>adDBFileTime</LITERAL2>\r
-                       <LITERAL2>adPropVariant</LITERAL2>\r
-                       <LITERAL2>adVarNumeric</LITERAL2>\r
-\r
-                       <!-- FieldAttributeEnum Values -->\r
-<!--                   <LITERAL2>adFldMayDefer</LITERAL2>\r
-                       <LITERAL2>adFldUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldFixed</LITERAL2>\r
-                       <LITERAL2>adFldIsNullable</LITERAL2>\r
-                       <LITERAL2>adFldMayBeNull</LITERAL2>\r
-                       <LITERAL2>adFldLong</LITERAL2>\r
-                       <LITERAL2>adFldRowID</LITERAL2>\r
-                       <LITERAL2>adFldRowVersion</LITERAL2>\r
-                       <LITERAL2>adFldCacheDeferred</LITERAL2>\r
-                       <LITERAL2>adFldKeyColumn</LITERAL2>\r
--->\r
-\r
-                       <!-- EditModeEnum Values -->\r
-<!--                   <LITERAL2>adEditNone</LITERAL2>\r
-                       <LITERAL2>adEditInProgress</LITERAL2>\r
-                       <LITERAL2>adEditAdd</LITERAL2>\r
-                       <LITERAL2>adEditDelete</LITERAL2>\r
--->\r
-                       <!-- RecordStatusEnum Values -->\r
-<!--                   <LITERAL2>adRecOK</LITERAL2>\r
-                       <LITERAL2>adRecNew</LITERAL2>\r
-                       <LITERAL2>adRecModified</LITERAL2>\r
-                       <LITERAL2>adRecDeleted</LITERAL2>\r
-                       <LITERAL2>adRecUnmodified</LITERAL2>\r
-                       <LITERAL2>adRecInvalid</LITERAL2>\r
-                       <LITERAL2>adRecMultipleChanges</LITERAL2>\r
-                       <LITERAL2>adRecPendingChanges</LITERAL2>\r
-                       <LITERAL2>adRecCanceled</LITERAL2>\r
-                       <LITERAL2>adRecCantRelease</LITERAL2>\r
-                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>\r
-                       <LITERAL2>adRecIntegrityViolation</LITERAL2>\r
-                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>\r
-                       <LITERAL2>adRecObjectOpen</LITERAL2>\r
-                       <LITERAL2>adRecOutOfMemory</LITERAL2>\r
-                       <LITERAL2>adRecPermissionDenied</LITERAL2>\r
-                       <LITERAL2>adRecSchemaViolation</LITERAL2>\r
-                       <LITERAL2>adRecDBDeleted</LITERAL2>\r
--->\r
-                       <!-- GetRowsOptionEnum Values -->\r
-<!--                   <LITERAL2>adGetRowsRest</LITERAL2>\r
--->\r
-\r
-                       <!-- PositionEnum Values -->\r
-<!--                   <LITERAL2>adPosUnknown</LITERAL2>\r
-                       <LITERAL2>adPosBOF</LITERAL2>\r
-                       <LITERAL2>adPosEOF</LITERAL2>\r
--->\r
-\r
-                       <!-- enum Values -->\r
-<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>\r
-                       <LITERAL2>adBookmarkFirst</LITERAL2>\r
-                       <LITERAL2>adBookmarkLast</LITERAL2>\r
--->\r
-                       <!-- MarshalOptionsEnum Values -->\r
-<!--                   <LITERAL2>adMarshalAll</LITERAL2>\r
-                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>\r
--->\r
-                       <!-- AffectEnum Values -->\r
-<!--                   <LITERAL2>adAffectCurrent</LITERAL2>\r
-                       <LITERAL2>adAffectGroup</LITERAL2>\r
-                       <LITERAL2>adAffectAll</LITERAL2>\r
-                       <LITERAL2>adAffectAllChapters</LITERAL2>\r
--->\r
-\r
-                       <!-- ResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>\r
-                       <LITERAL2>adResyncAllValues</LITERAL2>\r
--->\r
-                       <!-- CompareEnum Values -->\r
-<!--                   <LITERAL2>adCompareLessThan</LITERAL2>\r
-                       <LITERAL2>adCompareEqual</LITERAL2>\r
-                       <LITERAL2>adCompareGreaterThan</LITERAL2>\r
-                       <LITERAL2>adCompareNotEqual</LITERAL2>\r
-                       <LITERAL2>adCompareNotComparable</LITERAL2>\r
--->\r
-                       <!-- FilterGroupEnum Values -->\r
-<!--                   <LITERAL2>adFilterNone</LITERAL2>\r
-                       <LITERAL2>adFilterPendingRecords</LITERAL2>\r
-                       <LITERAL2>adFilterAffectedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterFetchedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterPredicate</LITERAL2>\r
-                       <LITERAL2>adFilterConflictingRecords</LITERAL2>\r
--->\r
-                       <!-- SearchDirectionEnum Values -->\r
-<!--                   <LITERAL2>adSearchForward</LITERAL2>\r
-                       <LITERAL2>adSearchBackward</LITERAL2>\r
--->\r
-\r
-                       <!-- PersistFormatEnum Values -->\r
-                       <LITERAL2>adPersistADTG</LITERAL2>\r
-                       <LITERAL2>adPersistXML</LITERAL2>\r
-\r
-                       <!-- StringFormatEnum Values -->\r
-<!--                   <LITERAL2>adStringXML</LITERAL2>\r
-                       <LITERAL2>adStringHTML</LITERAL2>\r
-                       <LITERAL2>adClipString</LITERAL2>\r
--->\r
-                       <!-- ConnectPromptEnum Values -->\r
-<!--                   <LITERAL2>adPromptAlways</LITERAL2>\r
-                       <LITERAL2>adPromptComplete</LITERAL2>\r
-                       <LITERAL2>adPromptCompleteRequired</LITERAL2>\r
-                       <LITERAL2>adPromptNever</LITERAL2>\r
--->\r
-                       <!-- ConnectModeEnum Values -->\r
-<!--                   <LITERAL2>adModeUnknown</LITERAL2>\r
-                       <LITERAL2>adModeRead</LITERAL2>\r
-                       <LITERAL2>adModeWrite</LITERAL2>\r
-                       <LITERAL2>adModeReadWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyRead</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareExclusive</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyNone</LITERAL2>\r
--->\r
-                       <!-- IsolationLevelEnum Values -->\r
-<!--                   <LITERAL2>adXactUnspecified</LITERAL2>\r
-                       <LITERAL2>adXactChaos</LITERAL2>\r
-                       <LITERAL2>adXactReadUncommitted</LITERAL2>\r
-                       <LITERAL2>adXactBrowse</LITERAL2>\r
-                       <LITERAL2>adXactCursorStability</LITERAL2>\r
-                       <LITERAL2>adXactReadCommitted</LITERAL2>\r
-                       <LITERAL2>adXactRepeatableRead</LITERAL2>\r
-                       <LITERAL2>adXactSerializable</LITERAL2>\r
-                       <LITERAL2>adXactIsolated</LITERAL2>\r
--->\r
-                       <!-- XactAttributeEnum Values -->\r
-<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>\r
-                       <LITERAL2>adXactAbortRetaining</LITERAL2>\r
--->\r
-                       <!-- PropertyAttributesEnum Values -->\r
-<!--                   <LITERAL2>adPropNotSupported</LITERAL2>\r
-                       <LITERAL2>adPropRequired</LITERAL2>\r
-                       <LITERAL2>adPropOptional</LITERAL2>\r
-                       <LITERAL2>adPropRead</LITERAL2>\r
-                       <LITERAL2>adPropWrite</LITERAL2>\r
--->\r
-                       <!-- ErrorValueEnum Values -->\r
-<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>\r
-                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>\r
-                       <LITERAL2>adErrIllegalOperation</LITERAL2>\r
-                       <LITERAL2>adErrInTransaction</LITERAL2>\r
-                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>\r
-                       <LITERAL2>adErrItemNotFound</LITERAL2>\r
-                       <LITERAL2>adErrObjectInCollection</LITERAL2>\r
-                       <LITERAL2>adErrObjectNotSet</LITERAL2>\r
-                       <LITERAL2>adErrDataConversion</LITERAL2>\r
-                       <LITERAL2>adErrObjectClosed</LITERAL2>\r
-                       <LITERAL2>adErrObjectOpen</LITERAL2>\r
-                       <LITERAL2>adErrProviderNotFound</LITERAL2>\r
-                       <LITERAL2>adErrBoundToCommand</LITERAL2>\r
-                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>\r
-                       <LITERAL2>adErrInvalidConnection</LITERAL2>\r
-                       <LITERAL2>adErrNotReentrant</LITERAL2>\r
-                       <LITERAL2>adErrStillExecuting</LITERAL2>\r
-                       <LITERAL2>adErrOperationCancelled</LITERAL2>\r
-                       <LITERAL2>adErrStillConnecting</LITERAL2>\r
-                       <LITERAL2>adErrNotExecuting</LITERAL2>\r
-                       <LITERAL2>adErrUnsafeOperation</LITERAL2>\r
--->\r
-                       <!-- ParameterAttributesEnum Values -->\r
-                       <LITERAL2>adParamSigned</LITERAL2>\r
-                       <LITERAL2>adParamNullable</LITERAL2>\r
-                       <LITERAL2>adParamLong</LITERAL2>\r
-\r
-                       <!-- ParameterDirectionEnum Values -->\r
-                       <LITERAL2>adParamUnknown</LITERAL2>\r
-                       <LITERAL2>adParamInput</LITERAL2>\r
-                       <LITERAL2>adParamOutput</LITERAL2>\r
-                       <LITERAL2>adParamInputOutput</LITERAL2>\r
-                       <LITERAL2>adParamReturnValue</LITERAL2>\r
-\r
-                       <!-- CommandTypeEnum Values -->\r
-                       <LITERAL2>adCmdUnknown</LITERAL2>\r
-                       <LITERAL2>adCmdText</LITERAL2>\r
-                       <LITERAL2>adCmdTable</LITERAL2>\r
-                       <LITERAL2>adCmdStoredProc</LITERAL2>\r
-                       <LITERAL2>adCmdFile</LITERAL2>\r
-                       <LITERAL2>adCmdTableDirect</LITERAL2>\r
-\r
-                       <!-- EventStatusEnum Values -->\r
-<!--                   <LITERAL2>adStatusOK</LITERAL2>\r
-                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>\r
-                       <LITERAL2>adStatusCantDeny</LITERAL2>\r
-                       <LITERAL2>adStatusCancel</LITERAL2>\r
-                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>\r
--->\r
-                       <!-- EventReasonEnum Values -->\r
-<!--                   <LITERAL2>adRsnAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnDelete</LITERAL2>\r
-                       <LITERAL2>adRsnUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnUndoDelete</LITERAL2>\r
-                       <LITERAL2>adRsnRequery</LITERAL2>\r
-                       <LITERAL2>adRsnResynch</LITERAL2>\r
-                       <LITERAL2>adRsnClose</LITERAL2>\r
-                       <LITERAL2>adRsnMove</LITERAL2>\r
-                       <LITERAL2>adRsnFirstChange</LITERAL2>\r
-                       <LITERAL2>adRsnMoveFirst</LITERAL2>\r
-                       <LITERAL2>adRsnMoveNext</LITERAL2>\r
-                       <LITERAL2>adRsnMovePrevious</LITERAL2>\r
-                       <LITERAL2>adRsnMoveLast</LITERAL2>\r
--->\r
-                       <!-- SchemaEnum Values -->\r
-<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>\r
-                       <LITERAL2>adSchemaAsserts</LITERAL2>\r
-                       <LITERAL2>adSchemaCatalogs</LITERAL2>\r
-                       <LITERAL2>adSchemaCharacterSets</LITERAL2>\r
-                       <LITERAL2>adSchemaCollations</LITERAL2>\r
-                       <LITERAL2>adSchemaColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaTableConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaIndexes</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedures</LITERAL2>\r
-                       <LITERAL2>adSchemaSchemata</LITERAL2>\r
-                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>\r
-                       <LITERAL2>adSchemaStatistics</LITERAL2>\r
-                       <LITERAL2>adSchemaTables</LITERAL2>\r
-                       <LITERAL2>adSchemaTranslations</LITERAL2>\r
-                       <LITERAL2>adSchemaProviderTypes</LITERAL2>\r
-                       <LITERAL2>adSchemaViews</LITERAL2>\r
-                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>\r
-                       <LITERAL2>adSchemaForeignKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>\r
-                       <LITERAL2>adSchemaCubes</LITERAL2>\r
-                       <LITERAL2>adSchemaDimensions</LITERAL2>\r
-                       <LITERAL2>adSchemaHierarchies</LITERAL2>\r
-                       <LITERAL2>adSchemaLevels</LITERAL2>\r
-                       <LITERAL2>adSchemaMeasures</LITERAL2>\r
-                       <LITERAL2>adSchemaProperties</LITERAL2>\r
-                       <LITERAL2>adSchemaMembers</LITERAL2>\r
--->\r
-                       <!-- SeekEnum Values -->\r
-<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>\r
-                       <LITERAL2>adSeekLastEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfterEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfter</LITERAL2>\r
-                       <LITERAL2>adSeekBeforeEQ</LITERAL2>\r
-                       <LITERAL2>adSeekBefore</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->\r
-<!--                   <LITERAL2>adCriteriaKey</LITERAL2>\r
-                       <LITERAL2>adCriteriaAllCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaUpdCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->\r
-<!--                   <LITERAL2>adPriorityLowest</LITERAL2>\r
-                       <LITERAL2>adPriorityBelowNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityAboveNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityHighest</LITERAL2>\r
--->\r
-                       <!-- CEResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncNone</LITERAL2>\r
-                       <LITERAL2>adResyncAutoIncrement</LITERAL2>\r
-                       <LITERAL2>adResyncConflicts</LITERAL2>\r
-                       <LITERAL2>adResyncUpdates</LITERAL2>\r
-                       <LITERAL2>adResyncInserts</LITERAL2>\r
-                       <LITERAL2>adResyncAll</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_AUTORECALC_ENUM Values -->\r
-<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>\r
-                       <LITERAL2>adRecalcAlways</LITERAL2>\r
--->\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="FUNCTION_PARAMS">\r
-               <!-- Keep brackets together: -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <IMPORT DELEGATE="MAIN" />\r
-               <!-- <SEQ TYPE="OPERATOR">)</SEQ> -->\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/jcl.xml b/extra/xmode/modes/jcl.xml
deleted file mode 100644 (file)
index b7f0ed5..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--  \r
-      JCL edit mode by Bill McMilleon (bill@mcmilleon.com)\r
-      March 19, 2003\r
-\r
-      Suggested catalog file entry:\r
-\r
-      <MODE NAME="JCL"         FILE="JCL.xml"\r
-                               FILE_NAME_GLOB="*.{jcl}" />\r
-\r
--->\r
\r
\r
-<MODE>\r
-\r
-    <PROPS>\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-    </PROPS>\r
-\r
-    \r
-    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-\r
-<!-- In fixed form, column 72 is the last column parsed, unless the\r
-\extend_source option is invoked -->\r
-    <!-- TERMINATE AT_CHAR="72" / -->\r
-\r
-\r
-    <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">//*</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-<!-- Highlighted Operators -->\r
-<SEQ TYPE="OPERATOR">=</SEQ>\r
-<SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-<SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-<SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-<SEQ TYPE="OPERATOR">|</SEQ>\r
-<SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-<KEYWORDS>\r
-  <KEYWORD2>COMMAND</KEYWORD2>\r
-  <KEYWORD2>CNTL</KEYWORD2>\r
-  <KEYWORD2>DD</KEYWORD2>\r
-  <KEYWORD2>ENCNTL</KEYWORD2>\r
-  <KEYWORD2>EXEC</KEYWORD2>\r
-  <KEYWORD2>IF</KEYWORD2>\r
-  <KEYWORD2>THEN</KEYWORD2>\r
-  <KEYWORD2>ELSE</KEYWORD2>\r
-  <KEYWORD2>ENDIF</KEYWORD2>\r
-  <KEYWORD2>INCLUDE</KEYWORD2>\r
-  <KEYWORD2>JCLIB</KEYWORD2>\r
-  <KEYWORD2>JOB</KEYWORD2>\r
-  <KEYWORD2>MSG</KEYWORD2>\r
-  <KEYWORD2>OUTPUT</KEYWORD2>\r
-  <KEYWORD2>PEND</KEYWORD2>\r
-  <KEYWORD2>PROC</KEYWORD2>\r
-  <KEYWORD2>SET</KEYWORD2>\r
-  <KEYWORD2>XMIT</KEYWORD2>\r
-</KEYWORDS>\r
-\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/jhtml.xml b/extra/xmode/modes/jhtml.xml
deleted file mode 100644 (file)
index 5a15907..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-  JHTML mode by Will Sargent <wsargent@atg.com>\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-                               <!-- Indent droplets and oparams -->\r
-                               <PROPERTY NAME="indentNextLines"\r
-                                VALUE="\s*(&lt;\s*(droplet|oparam))\s+.*" />\r
-                               <!-- Sadly, there doesn't seem to be a way to\r
-                                        undent when we see a /oparam> tag... -->\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-                               <!-- Allow for Dynamo SSI -->\r
-                               <SPAN TYPE="NULL">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-                               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-                               <!-- Embedded Java -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;java&gt;</BEGIN>\r
-                       <END>&lt;/java&gt;</END>\r
-               </SPAN>\r
-\r
-                               <!-- Don't know how to do this correctly.\r
-                               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
-                                               <BEGIN>&lt;java type=</BEGIN>\r
-                                               <END>&lt;/java&gt;</END>\r
-                               </SPAN>\r
-                               -->\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-                               <!-- All markup defaults to JHTML. -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JHTML">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="JHTML" DEFAULT="MARKUP">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>importbean</KEYWORD1>\r
-                       <KEYWORD1>droplet</KEYWORD1>\r
-                       <KEYWORD1>param</KEYWORD1>\r
-                       <KEYWORD1>oparam</KEYWORD1>\r
-                       <KEYWORD1>valueof</KEYWORD1>\r
-                       <KEYWORD1>setvalue</KEYWORD1>\r
-                       <KEYWORD1>servlet</KEYWORD1>\r
-                       <KEYWORD2>bean</KEYWORD2>\r
-                       <KEYWORD2>submitvalue</KEYWORD2>\r
-                       <KEYWORD2>declareparam</KEYWORD2>\r
-                       <KEYWORD2>synchronized</KEYWORD2>\r
-                       <KEYWORD2>priority</KEYWORD2>\r
-\r
-                       <!-- standard converters -->\r
-                       <KEYWORD2>converter</KEYWORD2>\r
-                       <KEYWORD2>date</KEYWORD2>\r
-                       <KEYWORD2>number</KEYWORD2>\r
-                       <KEYWORD2>required</KEYWORD2>\r
-                       <KEYWORD2>nullable</KEYWORD2>\r
-                       <KEYWORD2>currency</KEYWORD2>\r
-                       <KEYWORD2>currencyConversion</KEYWORD2>\r
-                       <KEYWORD2>euro</KEYWORD2>\r
-                       <KEYWORD2>locale</KEYWORD2>\r
-                       <KEYWORD2>symbol</KEYWORD2>\r
-\r
-                       <!-- Can't use this because of image src... -->\r
-                       <!-- <KEYWORD2>src</KEYWORD2> -->\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="ATTRVALUE" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- backticks are java -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="java::MAIN">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-                               <!-- Allow param: and bean: properties to be marked up -->\r
-                               <SEQ TYPE="LABEL">param:</SEQ>\r
-                               <SEQ TYPE="LABEL">bean:</SEQ>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/jmk.xml b/extra/xmode/modes/jmk.xml
deleted file mode 100644 (file)
index 64ffc04..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- Literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- Brackets -->\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>cat</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>create</KEYWORD1>\r
-                       <KEYWORD1>delall</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>dirs</KEYWORD1>\r
-                       <KEYWORD1>equal</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>exec</KEYWORD1>\r
-                       <KEYWORD1>first</KEYWORD1>\r
-                       <KEYWORD1>forname</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>getprop</KEYWORD1>\r
-                       <KEYWORD1>glob</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>join</KEYWORD1>\r
-                       <KEYWORD1>load</KEYWORD1>\r
-                       <KEYWORD1>mkdir</KEYWORD1>\r
-                       <KEYWORD1>mkdirs</KEYWORD1>\r
-                       <KEYWORD1>note</KEYWORD1>\r
-                       <KEYWORD1>patsubst</KEYWORD1>\r
-                       <KEYWORD1>rename</KEYWORD1>\r
-                       <KEYWORD1>rest</KEYWORD1>\r
-                       <KEYWORD1>subst</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD2>@</KEYWORD2>\r
-                       <KEYWORD2>?</KEYWORD2>\r
-                       <KEYWORD2>&lt;</KEYWORD2>\r
-                       <KEYWORD2>%</KEYWORD2>\r
-                       <KEYWORD3>include</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/jsp.xml b/extra/xmode/modes/jsp.xml
deleted file mode 100644 (file)
index 31bf48b..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;%--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--%&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- JSP comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;%--</BEGIN>\r
-                       <END>--%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP directive -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="DIRECTIVES">\r
-                       <BEGIN>&lt;%@</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="DIRECTIVES">\r
-                       <BEGIN>&lt;jsp:directive&gt;</BEGIN>\r
-                       <END>&lt;/jsp:directive&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;jsp:expression&gt;</BEGIN>\r
-                       <END>&lt;/jsp:expression&gt;</END>\r
-               </SPAN>\r
-\r
-\r
-               <!-- JSP scriptlet code block -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%!</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;jsp:declaration&gt;</BEGIN>\r
-                       <END>&lt;/jsp:declaration&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP scriptlet -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;jsp:scriptlet&gt;</BEGIN>\r
-                       <END>&lt;/jsp:scriptlet&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-       </RULES>\r
-       <RULES SET="COMMENT" DEFAULT="COMMENT1" IGNORE_CASE="TRUE">\r
-               <!-- JSP comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;%--</BEGIN>\r
-                       <END>--%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP scriptlet -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-       <RULES SET="DIRECTIVES" DEFAULT="MARKUP">\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>taglib</KEYWORD1>\r
-                       <KEYWORD1>include</KEYWORD1>\r
-                       <KEYWORD1>page</KEYWORD1>\r
-                       <KEYWORD1>tag</KEYWORD1>\r
-                       <KEYWORD1>tagAttribute</KEYWORD1>\r
-                       <KEYWORD1>tagVariable</KEYWORD1>\r
-\r
-                       <KEYWORD2>language</KEYWORD2>\r
-                       <KEYWORD2>session</KEYWORD2>\r
-                       <KEYWORD2>contentType</KEYWORD2>\r
-                       <KEYWORD2>charset</KEYWORD2>\r
-                       <KEYWORD2>import</KEYWORD2>\r
-                       <KEYWORD2>buffer</KEYWORD2>\r
-                       <KEYWORD2>autoflush</KEYWORD2>\r
-                       <KEYWORD2>isThreadSafe</KEYWORD2>\r
-                       <KEYWORD2>info</KEYWORD2>\r
-                       <KEYWORD2>errorPage</KEYWORD2>\r
-                       <KEYWORD2>isErrorpage</KEYWORD2>\r
-                       <KEYWORD2>extends</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>uri</KEYWORD2>\r
-                       <KEYWORD2>prefix</KEYWORD2>\r
-                       <KEYWORD2>method</KEYWORD2>\r
-                       <KEYWORD2>name</KEYWORD2>\r
-                       <KEYWORD2>default</KEYWORD2>\r
-                       <KEYWORD2>required</KEYWORD2>\r
-                       <KEYWORD2>rtexprvalue</KEYWORD2>\r
-                       <KEYWORD2>id</KEYWORD2>\r
-                       <KEYWORD2>type</KEYWORD2>\r
-                       <KEYWORD2>scope</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP">\r
-               <!-- JSP comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;%--</BEGIN>\r
-                       <END>--%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS+JSP">\r
-                       <BEGIN>style='</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS+JSP">\r
-                       <BEGIN>style="</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRVALUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-               <MARK_FOLLOWING TYPE="FUNCTION" MATCH_TYPE="OPERATOR">:</MARK_FOLLOWING>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-       </RULES>\r
-\r
-\r
-\r
-       <RULES SET="CSS+JSP" DEFAULT="LITERAL1">\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="css::MAIN"/>\r
-       </RULES>\r
-\r
-       <RULES SET="ATTRVALUE" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SEQ TYPE="LITERAL1" DELEGATE="JAVASCRIPT+JSP">javascript:</SEQ>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="JAVASCRIPT+JSP">\r
-               <!-- JSP scriptlet expression -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="java::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="EL">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="javascript::MAIN"/>\r
-       </RULES>\r
-\r
-       <RULES SET="EL" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-               <IMPORT DELEGATE="java::MAIN"/>\r
-       </RULES>\r
-</MODE>\r
-<!-- :noTabs=false: -->
\ No newline at end of file
diff --git a/extra/xmode/modes/latex.xml b/extra/xmode/modes/latex.xml
deleted file mode 100644 (file)
index b32ba9c..0000000
+++ /dev/null
@@ -1,2361 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--  jEdit LaTeX mode, by Thomas Alspaugh alspaugh@ics.uci.edu  -->\r
-<!--  v1.2  2004May30  -->\r
-<!--  Based upon BibTeX mode by Nils Krahnstoever and tex mode by unknown author.\r
-      Generated automatically from a summary of Lamport \r
-      "LaTeX : A document preparation system : User guide and reference manual",\r
-      1994 (LaTeX2e) edition, using a Perl script. \r
-  -->\r
-<!--  Catalog entry (suggested)\r
-<MODE NAME="LaTeX"             FILE="latex.xml"\r
-                               FILE_NAME_GLOB="*.{tex,ltx,latex}" />\r
-      -->\r
-<!--  latex.xml is generated automatically from a summary of Lamport \r
-      "LaTeX : A document preparation system : User guide and reference manual",\r
-      1994 (LaTeX2e) edition, using a collection of editing scripts.\r
-  -->\r
-<!--  Version history\r
-      v1.1  2004Mar23\r
-      v1.2  2004Jun09\r
-        Single-character accents such as \" accept arguments not in {}.\r
-        Changed to be produced using a single Perl script.\r
-  -->\r
-<!--\r
-      COMMENT1  % comments.\r
-      INVALID   characters or strings that are not valid in the context.\r
-      KEYWORD1  commands or declarations with arguments\r
-      KEYWORD2  commands or declarations without arguments\r
-      KEYWORD3  counters\r
-      KEYWORD4  unrecognized commands or declarations\r
-      MARKUP    environments (other than those that change rulesets)\r
-  -->\r
-<!--  Not as it should be:\r
-      - Highlighting does not account for balancing of braces {};  the next } \r
-        closes a command.\r
-      - \ensuremath{} should balance braces but does not (the first } closes it).\r
-      - #1, #2, ... are only valid in \newcommand{} but are not limited to there.\r
-      - Commands inside ``'' and `' quoted strings should be highlighted.\r
-  -->\r
-  \r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="lineComment" VALUE="%" />\r
-    <PROPERTY NAME="noWordSep" VALUE="\"/>\r
-  </PROPS>\r
-\r
-  <RULES IGNORE_CASE="FALSE"> <!-- SET="NormalMode" -->\r
-    <SEQ TYPE="LABEL">__NormalMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-    <!--  "", `', and ``'' quoting.  -->\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <!--  Lone quote characters " and ` are not valid.  -->\r
-    <SEQ TYPE="INVALID">"</SEQ>\r
-    <SEQ TYPE="INVALID">`</SEQ>\r
-\r
-    <!--  # is only valid as #n inside command definitions.  -->\r
-    <SEQ TYPE="FUNCTION">#1</SEQ>\r
-    <SEQ TYPE="FUNCTION">#2</SEQ>\r
-    <SEQ TYPE="FUNCTION">#3</SEQ>\r
-    <SEQ TYPE="FUNCTION">#4</SEQ>\r
-    <SEQ TYPE="FUNCTION">#5</SEQ>\r
-    <SEQ TYPE="FUNCTION">#6</SEQ>\r
-    <SEQ TYPE="FUNCTION">#7</SEQ>\r
-    <SEQ TYPE="FUNCTION">#8</SEQ>\r
-    <SEQ TYPE="FUNCTION">#9</SEQ>\r
-\r
-    <!-- \begin{verbatim} ... \end{verbatim} -->\r
-    <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM">\r
-        <BEGIN>\begin{verbatim}</BEGIN>\r
-        <END>\end{verbatim}</END>\r
-    </SPAN>\r
-\r
-    <SEQ TYPE="INVALID">\tabs</SEQ>\r
-    <SEQ TYPE="INVALID">\tabset</SEQ>\r
-    <SEQ TYPE="INVALID">\tabsdone</SEQ>\r
-    <SEQ TYPE="INVALID">\cleartabs</SEQ>\r
-    <SEQ TYPE="INVALID">\settabs</SEQ>\r
-    <SEQ TYPE="INVALID">\tabalign</SEQ>\r
-    <SEQ TYPE="INVALID">\+</SEQ>\r
-    <SEQ TYPE="INVALID">\pageno</SEQ>\r
-    <SEQ TYPE="INVALID">\headline</SEQ>\r
-    <SEQ TYPE="INVALID">\footline</SEQ>\r
-    <SEQ TYPE="INVALID">\normalbottom</SEQ>\r
-    <SEQ TYPE="INVALID">\folio</SEQ>\r
-    <SEQ TYPE="INVALID">\nopagenumbers</SEQ>\r
-    <SEQ TYPE="INVALID">\advancepageno</SEQ>\r
-    <SEQ TYPE="INVALID">\pagebody</SEQ>\r
-    <SEQ TYPE="INVALID">\plainoutput</SEQ>\r
-    <SEQ TYPE="INVALID">\pagecontents</SEQ>\r
-    <SEQ TYPE="INVALID">\makeheadline</SEQ>\r
-    <SEQ TYPE="INVALID">\makefootline</SEQ>\r
-    <SEQ TYPE="INVALID">\dosupereject</SEQ>\r
-    <SEQ TYPE="INVALID">\footstrut</SEQ>\r
-    <SEQ TYPE="INVALID">\vfootnote</SEQ>\r
-    <SEQ TYPE="INVALID">\topins</SEQ>\r
-    <SEQ TYPE="INVALID">\topinsert</SEQ>\r
-    <SEQ TYPE="INVALID">\midinsert</SEQ>\r
-    <SEQ TYPE="INVALID">\pageinsert</SEQ>\r
-    <SEQ TYPE="INVALID">\endinsert</SEQ>\r
-    <SEQ TYPE="INVALID">\fivei</SEQ>\r
-    <SEQ TYPE="INVALID">\fiverm</SEQ>\r
-    <SEQ TYPE="INVALID">\fivesy</SEQ>\r
-    <SEQ TYPE="INVALID">\fivebf</SEQ>\r
-    <SEQ TYPE="INVALID">\seveni</SEQ>\r
-    <SEQ TYPE="INVALID">\sevenbf</SEQ>\r
-    <SEQ TYPE="INVALID">\sevensy</SEQ>\r
-    <SEQ TYPE="INVALID">\teni</SEQ>\r
-    <SEQ TYPE="INVALID">\oldstyle</SEQ>\r
-    <SEQ TYPE="INVALID">\eqalign</SEQ>\r
-    <SEQ TYPE="INVALID">\eqalignno</SEQ>\r
-    <SEQ TYPE="INVALID">\leqalignno</SEQ>\r
-    <SEQ TYPE="INVALID">$$</SEQ>\r
-    <SEQ TYPE="INVALID">\beginsection</SEQ>\r
-    <SEQ TYPE="INVALID">\bye</SEQ>\r
-    <SEQ TYPE="INVALID">\magnification</SEQ>\r
-    <SEQ TYPE="INVALID">#</SEQ>\r
-    <SEQ TYPE="INVALID">&amp;</SEQ>\r
-    <SEQ TYPE="INVALID">_</SEQ>\r
-    <SEQ TYPE="INVALID">\~</SEQ>\r
-\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>$</BEGIN><END>$</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\(</BEGIN><END>\)</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\[</BEGIN><END>\]</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{math}</BEGIN><END>\end{math}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{displaymath}</BEGIN><END>\end{displaymath}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\begin{equation}</BEGIN><END>\end{equation}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="MathMode"><BEGIN>\ensuremath{</BEGIN><END>}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{eqnarray}</BEGIN><END>\end{eqnarray}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{eqnarray*}</BEGIN><END>\end{eqnarray*}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="TabularMode"><BEGIN>\begin{tabular}</BEGIN><END>\end{tabular}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="TabularMode"><BEGIN>\begin{tabular*}</BEGIN><END>\end{tabular*}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="TabbingMode"><BEGIN>\begin{tabbing}</BEGIN><END>\end{tabbing}</END></SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="PictureMode"><BEGIN>\begin{picture}</BEGIN><END>\end{picture}</END></SPAN>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="KEYWORD1">}</SEQ>\r
-    <SEQ TYPE="KEYWORD1">{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD1">]</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\~</SEQ>\r
-    <SEQ TYPE="OPERATOR">\}</SEQ>\r
-    <SEQ TYPE="OPERATOR">\|</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\`</SEQ>\r
-    <SEQ TYPE="OPERATOR">\_</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\^</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\@</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
-    <SEQ TYPE="OPERATOR">\=</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\.</SEQ>\r
-    <SEQ TYPE="OPERATOR">\-</SEQ>\r
-    <SEQ TYPE="OPERATOR">\,</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\'</SEQ>\r
-    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\%</SEQ>\r
-    <SEQ TYPE="OPERATOR">\$</SEQ>\r
-    <SEQ TYPE="OPERATOR">\#</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\"</SEQ>\r
-    <SEQ TYPE="OPERATOR">\ </SEQ>\r
-    <SEQ TYPE="KEYWORD1">[</SEQ>\r
-    <SEQ TYPE="OPERATOR">---</SEQ>\r
-    <SEQ TYPE="OPERATOR">--</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  NormalMode  -->\r
-\r
-  <RULES IGNORE_CASE="FALSE" SET="MathMode">\r
-    <SEQ TYPE="LABEL">__MathMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-    <SEQ TYPE="KEYWORD1">}</SEQ>\r
-    <SEQ TYPE="KEYWORD1">{</SEQ>\r
-    <SEQ TYPE="OPERATOR">_</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\zeta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\xi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wp</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\widetilde{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\widehat{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\veebar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vee</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vec{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vdots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartheta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsupsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsupsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsubsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsubsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varrho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varpropto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varpi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varphi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varnothing</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varkappa</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varepsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\urcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upuparrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\uplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upharpoonright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upharpoonleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ulcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twoheadrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twoheadleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\trianglerighteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\trianglelefteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\top</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\times</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\tilde{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicksim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thickapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\theta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\therefore</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\text{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\textstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tau</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tanh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tan</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\swarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\surd</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sum</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succcurlyeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succ</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\star</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stackrel{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\square</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsupseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsupset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsubseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsubset</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\sqrt{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqcap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sphericalangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\spadesuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smile</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallsmile</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallsetminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallfrown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sinh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\simeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\shortparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\shortmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sharp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\setminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\searrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptscriptstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rtimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\risingdotseq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightthreetimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightsquigarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightharpoonup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightharpoondown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightarrowtail</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right]</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\lfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\lceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\langle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\right[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right/</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\psi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\propto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prime</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\preceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\preccurlyeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prec</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pmod{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pmb{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pm</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pitchfork</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\phi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\perp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\partial</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\parallel</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\overline{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\otimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ominus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\omega</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oint</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\odot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nwarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nu</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntrianglerighteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntrianglelefteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsupseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsupseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsucceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsucc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsubseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nshortparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nshortmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\npreceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nprec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\notin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ni</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nexists</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\neq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\neg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nearrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ncong</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\natural</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nabla</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nVDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nRightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nLeftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nLeftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\multimap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mu</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\models</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\min</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\measuredangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\max</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathtt{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathsf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mathrm{~~ </SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathit{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathcal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathbf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mapsto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lvertneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ltimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lrcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lozenge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\looparrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\looparrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longmapsto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\log</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ln</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lll</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\llcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ll</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\limsup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\liminf</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesssim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesseqqgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesseqgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftthreetimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightsquigarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftleftarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftharpoonup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftharpoondown</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\lefteqn{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftarrowtail</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left]</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\lfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\lceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\langle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\left[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left/</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ldots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lambda</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ker</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\kappa</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\iota</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\intercal</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\int</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\infty</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\inf</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\in</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hookrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hookleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hom</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\heartsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hbar</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hat{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gvertneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtreqqless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtreqless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\grave{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gimel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ggg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gcd</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\frown</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\frak{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\frac{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\forall</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\flat</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fallingdotseq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\exp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\exists</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\equiv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqslantless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqslantgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\epsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\emptyset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ell</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downharpoonright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downharpoonleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downdownarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doublebarwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\dot{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dotplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doteqdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\divideontimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\div</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\displaystyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\digamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diamondsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diamond</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diagup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diagdown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\det</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\delta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\deg</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ddot{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddagger</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\daleth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dagger</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curvearrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curvearrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlywedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyvee</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyeqsucc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyeqprec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\csc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\coth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cosh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cos</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\coprod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cong</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\complement</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\clubsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circleddash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledast</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledS</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circlearrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circlearrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circ</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\chi</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\check{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\centerdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cdots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bumpeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bullet</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\breve{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxtimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bowtie</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bot</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boldsymbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bmod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacksquare</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacklozenge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigvee</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\biguplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigtriangleup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigtriangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigstar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigsqcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigotimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigoplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigodot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\between</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\beth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\beta</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\because</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bar{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\barwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backsimeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backprime</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\asymp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ast</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arctan</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arcsin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arccos</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\approxeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\approx</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\amalg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\alpha</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\aleph</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\acute{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Xi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Vvdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Vdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Upsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Theta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Supset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Subset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Sigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Rsh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Rightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Re</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Psi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Pr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Pi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Phi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Omega</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lsh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Leftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Leftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lambda</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Im</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Gamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Game</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Finv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Delta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Cup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Cap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Bumpeq</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Bbb{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Bbbk</SEQ>\r
-    <SEQ TYPE="OPERATOR">\;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\:</SEQ>\r
-    <SEQ TYPE="OPERATOR">\,</SEQ>\r
-    <SEQ TYPE="OPERATOR">\!</SEQ>\r
-    <SEQ TYPE="OPERATOR">'</SEQ>\r
-\r
-    <SPAN TYPE="MARKUP" DELEGATE="ArrayMode"><BEGIN>\begin{array}</BEGIN><END>\end{array}</END></SPAN>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  MathMode  -->\r
-\r
-  <RULES IGNORE_CASE="FALSE" SET="ArrayMode">\r
-    <SEQ TYPE="LABEL">__ArrayMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-    <SEQ TYPE="KEYWORD1">}</SEQ>\r
-    <SEQ TYPE="KEYWORD1">{</SEQ>\r
-    <SEQ TYPE="OPERATOR">_</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\zeta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\xi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wp</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\widetilde{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\widehat{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\wedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vline</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\veebar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vee</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vec{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vdots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartriangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vartheta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsupsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsupsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsubsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsubsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varsigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varrho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varpropto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varpi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varphi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varnothing</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varkappa</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\varepsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\urcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upuparrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\uplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upharpoonright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upharpoonleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ulcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twoheadrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twoheadleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\trianglerighteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\trianglelefteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\triangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\top</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\times</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\tilde{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicksim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thickapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\theta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\therefore</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\text{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\textstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tau</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tanh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tan</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\swarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\surd</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\supset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sum</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succcurlyeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\succ</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subsetneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subsetneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\subset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\star</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stackrel{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\square</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsupseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsupset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsubseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqsubset</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\sqrt{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sqcap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sphericalangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\spadesuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smile</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallsmile</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallsetminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallfrown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sinh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\simeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\shortparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\shortmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sharp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\setminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\searrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptscriptstyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rtimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\risingdotseq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightthreetimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightsquigarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightleftarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightharpoonup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightharpoondown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightarrowtail</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right]</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\rangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\lfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\lceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\langle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right\(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\right[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right/</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\right(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\psi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\propto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prime</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\preceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\preccurlyeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\precapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\prec</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pmod{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pmb{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pm</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pitchfork</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\phi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\perp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\partial</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\parallel</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\overline{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\otimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ominus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\omega</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oint</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\odot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nwarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nvDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nu</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntrianglerighteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntrianglelefteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ntriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsupseteqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsupseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsucceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsucc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsubseteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nshortparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nshortmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\npreceq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nprec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nparallel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\notin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nmid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ni</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ngeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nexists</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\neq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\neg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nearrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ncong</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\natural</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nabla</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nVDash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nRightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nLeftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nLeftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\multimap</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\multicolumn{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mu</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\models</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\min</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mid</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mho</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\measuredangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\max</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathtt{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathsf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mathrm{~~ </SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathit{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathcal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mathbf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mapsto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lvertneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ltimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lrcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lozenge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\looparrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\looparrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longmapsto</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\longleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\log</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ln</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lll</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\llcorner</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ll</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\limsup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\liminf</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesssim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesseqqgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lesseqgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lessapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftthreetimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightsquigarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightharpoons</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftleftarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftharpoonup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftharpoondown</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\lefteqn{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftarrowtail</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\leftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left]</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\|</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\rangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\lfloor</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\lceil</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\langle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left\(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\left[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left/</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left)</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\left(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ldots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\lambda</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ker</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\kappa</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\jmath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\iota</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\intercal</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\int</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\infty</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\inf</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\in</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\imath</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hookrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hookleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hom</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hline</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\heartsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hbar</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hat{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gvertneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtreqqless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtreqless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gtrapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\grave{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gneqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gneq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gnapprox</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gimel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ggg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geqslant</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geqq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\geq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gcd</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\gamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\frown</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\frak{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\frac{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\forall</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\flat</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fallingdotseq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\exp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\exists</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\equiv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqslantless</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqslantgtr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\eqcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\epsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\emptyset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ell</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downharpoonright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downharpoonleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downdownarrows</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doublebarwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\dot{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dotplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doteqdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\doteq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\divideontimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\div</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\displaystyle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\digamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diamondsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diamond</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diagup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\diagdown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\det</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\delta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\deg</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ddot{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddagger</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dashleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\daleth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dagger</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curvearrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curvearrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlywedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyvee</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyeqsucc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\curlyeqprec</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\csc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\coth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cosh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cos</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\coprod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cong</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\complement</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\clubsuit</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cline{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circleddash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledast</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circledS</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circlearrowright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circlearrowleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\circ</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\chi</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\check{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\centerdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cdots</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bumpeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bullet</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\breve{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxtimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxminus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\boxdot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bowtie</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bot</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boldsymbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bmod</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangleright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangleleft</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacktriangle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacksquare</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\blacklozenge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigvee</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\biguplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigtriangleup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigtriangledown</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigstar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigsqcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigotimes</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigoplus</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigodot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcirc</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigcap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\between</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\beth</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\beta</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\because</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bar{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\barwedge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backslash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backsimeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backsim</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\backprime</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\asymp</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ast</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arctan</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arcsin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\arccos</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\approxeq</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\approx</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\angle</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\amalg</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\alpha</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\aleph</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\acute{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Xi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Vvdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Vdash</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Upsilon</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Updownarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Uparrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Theta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Supset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Subset</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Sigma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Rsh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Rightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Re</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Psi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Pr</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Pi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Phi</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Omega</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lsh</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longleftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Longleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lleftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Leftrightarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Leftarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Lambda</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Im</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Gamma</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Game</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Finv</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Downarrow</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Delta</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Cup</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Cap</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Bumpeq</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Bbb{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Bbbk</SEQ>\r
-    <SEQ TYPE="OPERATOR">\;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\:</SEQ>\r
-    <SEQ TYPE="OPERATOR">\,</SEQ>\r
-    <SEQ TYPE="OPERATOR">\!</SEQ>\r
-    <SEQ TYPE="OPERATOR">'</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  ArrayMode  -->\r
-\r
-  <RULES IGNORE_CASE="FALSE" SET="TabularMode">\r
-    <SEQ TYPE="LABEL">__TabularMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-    <!--  "", `', and ``'' quoting.  -->\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <!--  Lone quote characters " and ` are not valid.  -->\r
-    <SEQ TYPE="INVALID">"</SEQ>\r
-    <SEQ TYPE="INVALID">`</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="KEYWORD1">}</SEQ>\r
-    <SEQ TYPE="KEYWORD1">{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD1">]</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\~</SEQ>\r
-    <SEQ TYPE="OPERATOR">\}</SEQ>\r
-    <SEQ TYPE="OPERATOR">\|</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vline</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\multicolumn{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hline</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cline{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\`</SEQ>\r
-    <SEQ TYPE="OPERATOR">\_</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\^</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\@</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
-    <SEQ TYPE="OPERATOR">\=</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\.</SEQ>\r
-    <SEQ TYPE="OPERATOR">\-</SEQ>\r
-    <SEQ TYPE="OPERATOR">\,</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\'</SEQ>\r
-    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\%</SEQ>\r
-    <SEQ TYPE="OPERATOR">\$</SEQ>\r
-    <SEQ TYPE="OPERATOR">\#</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\"</SEQ>\r
-    <SEQ TYPE="OPERATOR">\ </SEQ>\r
-    <SEQ TYPE="KEYWORD1">[</SEQ>\r
-    <SEQ TYPE="OPERATOR">---</SEQ>\r
-    <SEQ TYPE="OPERATOR">--</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  TabularMode  -->\r
-\r
-  <RULES IGNORE_CASE="FALSE" SET="TabbingMode">\r
-    <SEQ TYPE="LABEL">__TabbingMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-    <!--  "", `', and ``'' quoting.  -->\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL4"><BEGIN>``</BEGIN><END>''</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL3"><BEGIN>`</BEGIN><END>'</END></SPAN>\r
-    <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-    <!--  Lone quote characters " and ` are not valid.  -->\r
-    <SEQ TYPE="INVALID">"</SEQ>\r
-    <SEQ TYPE="INVALID">`</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="KEYWORD1">}</SEQ>\r
-    <SEQ TYPE="KEYWORD1">{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">totalnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">topnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">tocdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">secnumdepth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">dbltopnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD1">]</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\~{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\~</SEQ>\r
-    <SEQ TYPE="OPERATOR">\}</SEQ>\r
-    <SEQ TYPE="OPERATOR">\|</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\width</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\whiledo{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\v{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\vspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\vfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb*</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\verb</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\value{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\v</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\u{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usepackage[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usecounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\usebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\upshape</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\unboldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\u</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\t{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typeout{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\typein[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\twocolumn[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\twocolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ttfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\totalheight</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\topfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\today</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\title{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tiny</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thispagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\thanks{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textup{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\texttt{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsl{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsf{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textsc{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textrm{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textnormal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textmd{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textit{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\textfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textcolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\textbf{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\tableofcontents</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabcolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\tabbingsep</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\t</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\symbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\suppressfloats[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\suppressfloats</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsubsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subsection*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\subparagraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stretch{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\stepcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\smallskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\small</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\slshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sloppy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\sffamily</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settowidth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settoheight{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\settodepth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\setcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\section*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scshape</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\scriptsize</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\scalebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\sbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rule[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rp,am{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\rotatebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\rmfamily</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\rightmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\reversemarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\resizebox*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\renewcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ref{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\refstepcounter</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\raisebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedright</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\raggedleft</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\qbeziermax</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pushtabs</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\providecommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\protect</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\printindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pounds</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\poptabs</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\partopsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\part*{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\parindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\parbox[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\paragraph*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\par</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagestyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pageref{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagenumbering{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\pagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\pagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\onecolumn</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalsize</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalmarginpar</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\normalfont</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nopagebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nopagebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nonfrenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nolinebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\nolinebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\noindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\nocite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newtheorem{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newsavebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\newpage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newlength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newenvironment{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\newcommand{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\medskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\mdseries</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\mbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\mathindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markright{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\markboth{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\marginparpush</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\marginpar[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\maketitle</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\makelabel</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeindex</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makeglossary</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\makebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\listparindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoftables</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listoffigures</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\listfiles</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\linewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linebreak[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\linebreak</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\lengthtest{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginvi</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiv</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginiii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmarginii</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargini</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\leftmargin</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\large</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\label{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\labelsep</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\kill</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\jot</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\itshape</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\itemindent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\item[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\item</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\isodd{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\intextsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\input{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\index{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\indent</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\include{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includeonly{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\includegraphics*[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ifthenelse{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hyphenation{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\huge</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\hspace*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\hfill</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\height</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\glossary{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fussy</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\frenchspacing</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\framebox[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fragile</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotetext[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotesize</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnotesep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\footnoterule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnotemark[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\footnotemark</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\footnote[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fnsymbol{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\floatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\fill</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fcolorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\fbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\fboxrule</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\equal{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\ensuremath{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\enlargethispage*{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\end{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\emph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\d{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\doublerulesep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\documentclass[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\depth</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\definecolor{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\ddag</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltopfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dbltextfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatsep</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\dblfloatpagefraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\date{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\dag</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\d</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\c{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\copyright</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnwidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnseprule</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\columnsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\color{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\colorbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\clearpage</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\cleardoublepage</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\cite[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\chapter*{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\centering</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\caption[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\c</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\b{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomnumber</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bottomfraction</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boolean{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\boldmath{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bigskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliography{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\bibliographystyle{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\bibindent</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\bfseries</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\belowdisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\begin{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselinestretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\baselineskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\b</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\author{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraystgretch</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arrayrulewidth</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\arraycolsep</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\arabic{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\appendix</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\alph{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addvspace{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtolength{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocounter{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addtocontents{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\addcontentsline{</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayskip</SEQ>\r
-    <SEQ TYPE="KEYWORD3">\abovedisplayshortskip</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\a`</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\a=</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\a'</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\`{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\`</SEQ>\r
-    <SEQ TYPE="OPERATOR">\`</SEQ>\r
-    <SEQ TYPE="OPERATOR">\_</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\^{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\^</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\\*[</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\*</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\</SEQ>\r
-    <SEQ TYPE="OPERATOR">\\</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\TeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\S</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Roman{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\P</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Large</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LaTeX</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\LARGE</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\H{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\Huge</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\H</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\Alph{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\@</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\={</SEQ>\r
-    <SEQ TYPE="OPERATOR">\=</SEQ>\r
-    <SEQ TYPE="OPERATOR">\=</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\.{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\.</SEQ>\r
-    <SEQ TYPE="OPERATOR">\-</SEQ>\r
-    <SEQ TYPE="OPERATOR">\-</SEQ>\r
-    <SEQ TYPE="OPERATOR">\,</SEQ>\r
-    <SEQ TYPE="OPERATOR">\+</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\'{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\'</SEQ>\r
-    <SEQ TYPE="OPERATOR">\'</SEQ>\r
-    <SEQ TYPE="OPERATOR">\&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">\%</SEQ>\r
-    <SEQ TYPE="OPERATOR">\$</SEQ>\r
-    <SEQ TYPE="OPERATOR">\#</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\"{</SEQ>\r
-    <SEQ TYPE="OPERATOR">\"</SEQ>\r
-    <SEQ TYPE="OPERATOR">\ </SEQ>\r
-    <SEQ TYPE="KEYWORD1">[</SEQ>\r
-    <SEQ TYPE="OPERATOR">---</SEQ>\r
-    <SEQ TYPE="OPERATOR">--</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  TabbingMode  -->\r
-\r
-  <RULES IGNORE_CASE="FALSE" SET="PictureMode">\r
-    <SEQ TYPE="LABEL">__PictureMode__</SEQ>\r
-\r
-    <!--  % comments.  -->\r
-    <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-    <SEQ TYPE="KEYWORD2">\vector(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thinlines</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\thicklines</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\shortstack{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\shortstack[</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\savebox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\qbezier[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\qbezier(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\put(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\oval[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\oval(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\multiput(</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\makebox(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\linethickness{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\line(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\graphpaper[</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\graphpaper(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\frame{</SEQ>\r
-    <SEQ TYPE="KEYWORD2">\framebox(</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\dashbox{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\circle{</SEQ>\r
-    <SEQ TYPE="KEYWORD1">\circle*{</SEQ>\r
-\r
-    <MARK_FOLLOWING TYPE="KEYWORD4">\</MARK_FOLLOWING>\r
-\r
-  </RULES>  <!--  PictureMode  -->\r
-\r
-  <RULES SET="VERBATIM" DEFAULT="NULL" />\r
-\r
-</MODE>\r
-\r
-<!-- normal mode  351 -->\r
-<!-- math mode    301 -->\r
-<!-- amsmath      216 -->\r
-<!-- array mode   5 -->\r
-<!-- tabbing mode 14 -->\r
-<!-- picture mode 22 -->\r
-<!-- counters     0 -->\r
-<!-- environments 30 -->\r
-<!-- invalid      47 -->\r
diff --git a/extra/xmode/modes/lilypond.xml b/extra/xmode/modes/lilypond.xml
deleted file mode 100644 (file)
index ca72fae..0000000
+++ /dev/null
@@ -1,819 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- LilyPond (www.lilypond.org) mode by Bertalan Fodor <lilypondtool@organum.hu> & others at http://lily4jedit.sf.net\r
-       Requires jEdit 4.3pre6 or compatible\r
-Recommended jEdit/modes/catalog entry:\r
-       <MODE NAME="lilypond" FILE="lilypond.xml"\r
-       FILE_NAME_GLOB="*.ly" />\r
-\r
--->\r
-\r
-<MODE>\r
-<PROPS>\r
-       <PROPERTY NAME="commentStart" VALUE="%{" />\r
-       <PROPERTY NAME="commentEnd" VALUE="%}" />\r
-       <PROPERTY NAME="lineComment" VALUE="%" />\r
-       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-       <PROPERTY NAME="wordBreakChars" VALUE="=" />\r
-</PROPS>\r
-\r
-<RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE">\r
-\r
-       <SPAN TYPE="COMMENT2" NO_LINE_BREAK="FALSE">\r
-               <BEGIN>%{</BEGIN><END>%}</END>\r
-       </SPAN>\r
-       <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-       <SEQ TYPE="DIGIT">\breve</SEQ>\r
-       <SEQ TYPE="DIGIT">\longa</SEQ>\r
-       <SEQ TYPE="DIGIT">\maxima</SEQ>\r
-       <MARK_PREVIOUS TYPE="FUNCTION" AT_WHITESPACE_END="TRUE">=</MARK_PREVIOUS>\r
-       <MARK_PREVIOUS TYPE="FUNCTION" AT_WHITESPACE_END="TRUE"> =</MARK_PREVIOUS>\r
-       <SEQ TYPE="MARKUP">{</SEQ>\r
-       <SEQ TYPE="MARKUP">}</SEQ>\r
-       <SEQ TYPE="MARKUP">[</SEQ>\r
-       <SEQ TYPE="MARKUP">]</SEQ>\r
-       <SEQ TYPE="MARKUP">&lt;&lt;</SEQ>\r
-       <SEQ TYPE="MARKUP">&gt;&gt;</SEQ>\r
-       <SEQ TYPE="NULL">-&lt;</SEQ>\r
-       <SEQ TYPE="NULL">-&gt;</SEQ>\r
-       <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-       <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-       <SEQ TYPE="OPERATOR">|</SEQ>\r
-       <SEQ_REGEXP HASH_CHAR="&quot;"  TYPE = "LITERAL1">"(\\"|[^\\"]|\\)+"</SEQ_REGEXP>\r
-       <SPAN TYPE="LITERAL1"><BEGIN>"</BEGIN><END>"</END></SPAN>\r
-\r
-<!-- Less can be more: Notes are simple black.\r
-       Now digits are highlighted.\r
-       Octave jumps now are as highlighted as markup. -->\r
-\r
-       <!--octave-->\r
-       <SEQ TYPE="MARKUP">'</SEQ>\r
-       <SEQ TYPE="MARKUP">,</SEQ>\r
-\r
-       <!-- rests and skip -->\r
-\r
-       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHARS="rRs">[rRs]\d*\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHAR="R">R\d*\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="LITERAL4" AT_WORD_START="TRUE" HASH_CHAR="s">s\d*\b</SEQ_REGEXP>\r
-\r
-       <SEQ_REGEXP TYPE="DIGIT" AT_WORD_START="FALSE" HASH_CHARS="1234567890">\d+\b</SEQ_REGEXP>\r
-\r
-       <MARK_FOLLOWING TYPE="LITERAL3" MATCH_TYPE="OPERATOR">.</MARK_FOLLOWING>\r
-\r
-<!-- Generated part follows -->\r
-<!-- internal commands -->\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\override">\\override\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\version">\\version\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\include">\\include\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\invalid">\\invalid\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\addquote">\\addquote\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\alternative">\\alternative\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\book">\\book\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\~">\\~\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\mark">\\mark\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\default">\\default\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\key">\\key\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\skip">\\skip\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\octave">\\octave\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\partial">\\partial\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\time">\\time\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\change">\\change\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\consists">\\consists\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\remove">\\remove\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\accepts">\\accepts\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\defaultchild">\\defaultchild\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\denies">\\denies\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\alias">\\alias\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\type">\\type\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\description">\\description\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\name">\\name\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\context">\\context\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\grobdescriptions">\\grobdescriptions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\markup">\\markup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\header">\\header\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\notemode">\\notemode\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\drummode">\\drummode\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\figuremode">\\figuremode\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\chordmode">\\chordmode\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyricmode">\\lyricmode\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\drums">\\drums\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\figures">\\figures\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\chords">\\chords\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyrics">\\lyrics\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\once">\\once\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\revert">\\revert\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\set">\\set\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\unset">\\unset\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\addlyrics">\\addlyrics\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\objectid">\\objectid\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\with">\\with\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\rest">\\rest\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\paper">\\paper\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\midi">\\midi\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\layout">\\layout\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\new">\\new\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\times">\\times\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\transpose">\\transpose\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\tag">\\tag\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\relative">\\relative\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\renameinput">\\renameinput\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\repeat">\\repeat\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\lyricsto">\\lyricsto\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\score">\\score\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\sequential">\\sequential\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\simultaneous">\\simultaneous\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\longa">\\longa\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\breve">\\breve\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\maxima">\\maxima\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="\tempo">\\tempo\b</SEQ_REGEXP>\r
-<!-- identifiers -->\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\AncientRemoveEmptyStaffContext">\\AncientRemoveEmptyStaffContext\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\RemoveEmptyRhythmicStaffContext">\\RemoveEmptyRhythmicStaffContext\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\RemoveEmptyStaffContext">\\RemoveEmptyStaffContext\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\accent">\\accent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\aeolian">\\aeolian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\afterGraceFraction">\\afterGraceFraction\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\aikenHeads">\\aikenHeads\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\allowPageTurn">\\allowPageTurn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggio">\\arpeggio\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioBracket">\\arpeggioBracket\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioDown">\\arpeggioDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioNeutral">\\arpeggioNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\arpeggioUp">\\arpeggioUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autoBeamOff">\\autoBeamOff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autoBeamOn">\\autoBeamOn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\between-system-padding">\\between-system-padding\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\between-system-space">\\between-system-space\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bigger">\\bigger\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\blackTriangleMarkup">\\blackTriangleMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bookTitleMarkup">\\bookTitleMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bracketCloseSymbol">\\bracketCloseSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bracketOpenSymbol">\\bracketOpenSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\break">\\break\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\breve">\\breve\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cadenzaOff">\\cadenzaOff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cadenzaOn">\\cadenzaOn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\center">\\center\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\chordmodifiers">\\chordmodifiers\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cm">\\cm\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\coda">\\coda\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cr">\\cr\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cresc">\\cresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\decr">\\decr\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dim">\\dim\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dorian">\\dorian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsDown">\\dotsDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsNeutral">\\dotsNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dotsUp">\\dotsUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\down">\\down\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downbow">\\downbow\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downmordent">\\downmordent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\downprall">\\downprall\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\drumPitchNames">\\drumPitchNames\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dutchPitchnames">\\dutchPitchnames\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicDown">\\dynamicDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicNeutral">\\dynamicNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\dynamicUp">\\dynamicUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\emptyText">\\emptyText\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endcr">\\endcr\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endcresc">\\endcresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\enddecr">\\enddecr\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\enddim">\\enddim\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\endincipit">\\endincipit\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedBiggerSymbol">\\escapedBiggerSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedExclamationSymbol">\\escapedExclamationSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedParenthesisCloseSymbol">\\escapedParenthesisCloseSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedParenthesisOpenSymbol">\\escapedParenthesisOpenSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\escapedSmallerSymbol">\\escapedSmallerSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\espressivo">\\espressivo\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\evenHeaderMarkup">\\evenHeaderMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\f">\\f\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fatText">\\fatText\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fermata">\\fermata\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fermataMarkup">\\fermataMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ff">\\ff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fff">\\fff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ffff">\\ffff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\first-page-number">\\first-page-number\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\flageolet">\\flageolet\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fp">\\fp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\frenchChords">\\frenchChords\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fullJazzExceptions">\\fullJazzExceptions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\fz">\\fz\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\germanChords">\\germanChords\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\glissando">\\glissando\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\harmonic">\\harmonic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\hideNotes">\\hideNotes\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\hideStaffSwitch">\\hideStaffSwitch\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ignatzekExceptionMusic">\\ignatzekExceptionMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ignatzekExceptions">\\ignatzekExceptions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\improvisationOff">\\improvisationOff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\improvisationOn">\\improvisationOn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\in">\\in\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\input-encoding">\\input-encoding\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\instrument-definitions">\\instrument-definitions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ionian">\\ionian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\italianChords">\\italianChords\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\laissezVibrer">\\laissezVibrer\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\left">\\left\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lheel">\\lheel\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lineprall">\\lineprall\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\locrian">\\locrian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\longa">\\longa\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\longfermata">\\longfermata\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ltoe">\\ltoe\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\lydian">\\lydian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\major">\\major\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\marcato">\\marcato\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\maxima">\\maxima\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\melisma">\\melisma\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\melismaEnd">\\melismaEnd\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mf">\\mf\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\midiDrumPitches">\\midiDrumPitches\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\minor">\\minor\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mixolydian">\\mixolydian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mm">\\mm\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mordent">\\mordent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\mp">\\mp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\newSpacingSection">\\newSpacingSection\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noBeam">\\noBeam\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noBreak">\\noBreak\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noPageBreak">\\noPageBreak\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\noPageTurn">\\noPageTurn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\normalsize">\\normalsize\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oddFooterMarkup">\\oddFooterMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oddHeaderMarkup">\\oddHeaderMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oneVoice">\\oneVoice\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\open">\\open\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\output-scale">\\output-scale\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\p">\\p\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\page-top-space">\\page-top-space\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pageBreak">\\pageBreak\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pageTurn">\\pageTurn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesisCloseSymbol">\\parenthesisCloseSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesisOpenSymbol">\\parenthesisOpenSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partialJazzExceptions">\\partialJazzExceptions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partialJazzMusic">\\partialJazzMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurDown">\\phrasingSlurDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurNeutral">\\phrasingSlurNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrasingSlurUp">\\phrasingSlurUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\phrygian">\\phrygian\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pipeSymbol">\\pipeSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pitchnames">\\pitchnames\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\portato">\\portato\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pp">\\pp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ppp">\\ppp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pppp">\\pppp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ppppp">\\ppppp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prall">\\prall\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pralldown">\\pralldown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallmordent">\\prallmordent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallprall">\\prallprall\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\prallup">\\prallup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\print-first-page-number">\\print-first-page-number\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\print-page-number">\\print-page-number\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pt">\\pt\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ragged-bottom">\\ragged-bottom\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\ragged-last-bottom">\\ragged-last-bottom\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\repeatTie">\\repeatTie\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\reverseturn">\\reverseturn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rfz">\\rfz\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rheel">\\rheel\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\right">\\right\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rtoe">\\rtoe\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sacredHarpHeads">\\sacredHarpHeads\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\scoreTitleMarkup">\\scoreTitleMarkup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\segno">\\segno\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\semiGermanChords">\\semiGermanChords\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setDefaultDurationToQuarter">\\setDefaultDurationToQuarter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setEasyHeads">\\setEasyHeads\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinCresc">\\setHairpinCresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinDecresc">\\setHairpinDecresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setHairpinDim">\\setHairpinDim\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextCresc">\\setTextCresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextDecresc">\\setTextDecresc\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\setTextDim">\\setTextDim\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sf">\\sf\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sff">\\sff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sfp">\\sfp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sfz">\\sfz\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOff">\\shiftOff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOn">\\shiftOn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOnn">\\shiftOnn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftOnnn">\\shiftOnnn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shortfermata">\\shortfermata\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\showStaffSwitch">\\showStaffSwitch\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\signumcongruentiae">\\signumcongruentiae\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slashSeparator">\\slashSeparator\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDashed">\\slurDashed\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDotted">\\slurDotted\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurDown">\\slurDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurNeutral">\\slurNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurSolid">\\slurSolid\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\slurUp">\\slurUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\small">\\small\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\smaller">\\smaller\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sostenutoDown">\\sostenutoDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sostenutoUp">\\sostenutoUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sp">\\sp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\spp">\\spp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\staccatissimo">\\staccatissimo\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\staccato">\\staccato\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\start">\\start\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startAcciaccaturaMusic">\\startAcciaccaturaMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startAppoggiaturaMusic">\\startAppoggiaturaMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startGraceMusic">\\startGraceMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startGroup">\\startGroup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startStaff">\\startStaff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startTextSpan">\\startTextSpan\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\startTrillSpan">\\startTrillSpan\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemDown">\\stemDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemNeutral">\\stemNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stemUp">\\stemUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stop">\\stop\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopAcciaccaturaMusic">\\stopAcciaccaturaMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopAppoggiaturaMusic">\\stopAppoggiaturaMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopGraceMusic">\\stopGraceMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopGroup">\\stopGroup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopStaff">\\stopStaff\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopTextSpan">\\stopTextSpan\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopTrillSpan">\\stopTrillSpan\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\stopped">\\stopped\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sustainDown">\\sustainDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\sustainUp">\\sustainUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tagline">\\tagline\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tenuto">\\tenuto\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerDown">\\textSpannerDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerNeutral">\\textSpannerNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\textSpannerUp">\\textSpannerUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\thumb">\\thumb\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDashed">\\tieDashed\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDotted">\\tieDotted\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieDown">\\tieDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieNeutral">\\tieNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieSolid">\\tieSolid\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tieUp">\\tieUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tildeSymbol">\\tildeSymbol\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tiny">\\tiny\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\treCorde">\\treCorde\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\trill">\\trill\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletDown">\\tupletDown\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletNeutral">\\tupletNeutral\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tupletUp">\\tupletUp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\turn">\\turn\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unHideNotes">\\unHideNotes\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unaCorda">\\unaCorda\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unit">\\unit\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\up">\\up\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upbow">\\upbow\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upmordent">\\upmordent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\upprall">\\upprall\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\varcoda">\\varcoda\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\verylongfermata">\\verylongfermata\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceFour">\\voiceFour\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceOne">\\voiceOne\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceThree">\\voiceThree\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\voiceTwo">\\voiceTwo\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\whiteTriangleMarkup">\\whiteTriangleMarkup\b</SEQ_REGEXP>\r
-<!-- music functions -->\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\acciaccatura">\\acciaccatura\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\addInstrumentDefinition">\\addInstrumentDefinition\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\addquote">\\addquote\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\afterGrace">\\afterGrace\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyContext">\\applyContext\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyMusic">\\applyMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\applyOutput">\\applyOutput\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\appoggiatura">\\appoggiatura\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\assertBeamQuant">\\assertBeamQuant\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\assertBeamSlope">\\assertBeamSlope\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\autochange">\\autochange\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\balloonGrobText">\\balloonGrobText\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\balloonText">\\balloonText\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bar">\\bar\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\barNumberCheck">\\barNumberCheck\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\bendAfter">\\bendAfter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\breathe">\\breathe\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\clef">\\clef\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\compressMusic">\\compressMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\cueDuring">\\cueDuring\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\displayLilyMusic">\\displayLilyMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\displayMusic">\\displayMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\featherDurations">\\featherDurations\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\grace">\\grace\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\includePageLayoutFile">\\includePageLayoutFile\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\instrumentSwitch">\\instrumentSwitch\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\keepWithTag">\\keepWithTag\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\killCues">\\killCues\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\makeClusters">\\makeClusters\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\musicMap">\\musicMap\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\octave">\\octave\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\oldaddlyrics">\\oldaddlyrics\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\overrideProperty">\\overrideProperty\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parallelMusic">\\parallelMusic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\parenthesize">\\parenthesize\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\partcombine">\\partcombine\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\pitchedTrill">\\pitchedTrill\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\quoteDuring">\\quoteDuring\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\removeWithTag">\\removeWithTag\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\resetRelativeOctave">\\resetRelativeOctave\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\rightHandFinger">\\rightHandFinger\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\scoreTweak">\\scoreTweak\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\shiftDurations">\\shiftDurations\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\spacingTweaks">\\spacingTweaks\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tag">\\tag\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\transposedCueDuring">\\transposedCueDuring\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\transposition">\\transposition\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\tweak">\\tweak\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\unfoldRepeats">\\unfoldRepeats\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="\withMusicProperty">\\withMusicProperty\b</SEQ_REGEXP>\r
-<!-- markup commands -->\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\arrow-head">\\arrow-head\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\beam">\\beam\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bigger">\\bigger\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bold">\\bold\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\box">\\box\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bracket">\\bracket\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\bracketed-y-column">\\bracketed-y-column\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\caps">\\caps\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\center-align">\\center-align\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\char">\\char\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\circle">\\circle\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\column">\\column\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\combine">\\combine\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\dir-column">\\dir-column\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\doubleflat">\\doubleflat\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\doublesharp">\\doublesharp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\draw-circle">\\draw-circle\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\dynamic">\\dynamic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\epsfile">\\epsfile\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fill-line">\\fill-line\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\filled-box">\\filled-box\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\finger">\\finger\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\flat">\\flat\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fontCaps">\\fontCaps\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fontsize">\\fontsize\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fraction">\\fraction\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram">\\fret-diagram\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram-terse">\\fret-diagram-terse\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fret-diagram-verbose">\\fret-diagram-verbose\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\fromproperty">\\fromproperty\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\general-align">\\general-align\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\halign">\\halign\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hbracket">\\hbracket\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hcenter">\\hcenter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hcenter-in">\\hcenter-in\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\hspace">\\hspace\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\huge">\\huge\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\italic">\\italic\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify">\\justify\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify-field">\\justify-field\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\justify-string">\\justify-string\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\large">\\large\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\left-align">\\left-align\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\line">\\line\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\lookup">\\lookup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\lower">\\lower\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\magnify">\\magnify\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\markalphabet">\\markalphabet\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\markletter">\\markletter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\medium">\\medium\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\musicglyph">\\musicglyph\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\natural">\\natural\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-size-sub">\\normal-size-sub\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-size-super">\\normal-size-super\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normal-text">\\normal-text\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\normalsize">\\normalsize\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\note">\\note\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\note-by-number">\\note-by-number\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\null">\\null\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\number">\\number\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\on-the-fly">\\on-the-fly\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\override">\\override\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-around">\\pad-around\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-markup">\\pad-markup\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-to-box">\\pad-to-box\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\pad-x">\\pad-x\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\postscript">\\postscript\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\put-adjacent">\\put-adjacent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\raise">\\raise\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\right-align">\\right-align\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\roman">\\roman\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\rotate">\\rotate\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sans">\\sans\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\score">\\score\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\semiflat">\\semiflat\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\semisharp">\\semisharp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sesquiflat">\\sesquiflat\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sesquisharp">\\sesquisharp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sharp">\\sharp\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\simple">\\simple\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\slashed-digit">\\slashed-digit\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\small">\\small\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\smallCaps">\\smallCaps\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\smaller">\\smaller\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\stencil">\\stencil\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\strut">\\strut\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\sub">\\sub\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\super">\\super\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\teeny">\\teeny\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\text">\\text\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\tied-lyric">\\tied-lyric\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\tiny">\\tiny\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\translate">\\translate\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\translate-scaled">\\translate-scaled\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\transparent">\\transparent\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\triangle">\\triangle\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\typewriter">\\typewriter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\upright">\\upright\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\vcenter">\\vcenter\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\verbatim-file">\\verbatim-file\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\whiteout">\\whiteout\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-color">\\with-color\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-dimensions">\\with-dimensions\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\with-url">\\with-url\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap">\\wordwrap\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap-field">\\wordwrap-field\b</SEQ_REGEXP>\r
-       <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="\wordwrap-string">\\wordwrap-string\b</SEQ_REGEXP>\r
-<MARK_FOLLOWING TYPE="FUNCTION">\</MARK_FOLLOWING>\r
-<KEYWORDS>\r
-       <KEYWORD2>staff-spacing-interface</KEYWORD2>\r
-       <KEYWORD2>text-script-interface</KEYWORD2>\r
-       <KEYWORD2>Ottava_spanner_engraver</KEYWORD2>\r
-       <KEYWORD2>Figured_bass_engraver</KEYWORD2>\r
-       <KEYWORD2>Lyrics</KEYWORD2>\r
-       <KEYWORD2>Separating_line_group_engraver</KEYWORD2>\r
-       <KEYWORD2>cluster-interface</KEYWORD2>\r
-       <KEYWORD2>Glissando_engraver</KEYWORD2>\r
-       <KEYWORD2>key-signature-interface</KEYWORD2>\r
-       <KEYWORD2>clef-interface</KEYWORD2>\r
-       <KEYWORD2>VaticanaVoice</KEYWORD2>\r
-       <KEYWORD2>Rest_collision_engraver</KEYWORD2>\r
-       <KEYWORD2>Grace_engraver</KEYWORD2>\r
-       <KEYWORD2>grid-point-interface</KEYWORD2>\r
-       <KEYWORD2>Measure_grouping_engraver</KEYWORD2>\r
-       <KEYWORD2>Laissez_vibrer_engraver</KEYWORD2>\r
-       <KEYWORD2>Script_row_engraver</KEYWORD2>\r
-       <KEYWORD2>bass-figure-alignment-interface</KEYWORD2>\r
-       <KEYWORD2>Note_head_line_engraver</KEYWORD2>\r
-       <KEYWORD2>ottava-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>rhythmic-head-interface</KEYWORD2>\r
-       <KEYWORD2>Accidental_engraver</KEYWORD2>\r
-       <KEYWORD2>Mark_engraver</KEYWORD2>\r
-       <KEYWORD2>hara-kiri-group-interface</KEYWORD2>\r
-       <KEYWORD2>Instrument_name_engraver</KEYWORD2>\r
-       <KEYWORD2>Vaticana_ligature_engraver</KEYWORD2>\r
-       <KEYWORD2>Page_turn_engraver</KEYWORD2>\r
-       <KEYWORD2>staff-symbol-interface</KEYWORD2>\r
-       <KEYWORD2>Beam_performer</KEYWORD2>\r
-       <KEYWORD2>accidental-suggestion-interface</KEYWORD2>\r
-       <KEYWORD2>Key_engraver</KEYWORD2>\r
-       <KEYWORD2>GrandStaff</KEYWORD2>\r
-       <KEYWORD2>multi-measure-interface</KEYWORD2>\r
-       <KEYWORD2>rest-collision-interface</KEYWORD2>\r
-       <KEYWORD2>Dot_column_engraver</KEYWORD2>\r
-       <KEYWORD2>MensuralVoice</KEYWORD2>\r
-       <KEYWORD2>TabStaff</KEYWORD2>\r
-       <KEYWORD2>Pitched_trill_engraver</KEYWORD2>\r
-       <KEYWORD2>line-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>Time_signature_performer</KEYWORD2>\r
-       <KEYWORD2>lyric-interface</KEYWORD2>\r
-       <KEYWORD2>StaffGroup</KEYWORD2>\r
-       <KEYWORD2>text-interface</KEYWORD2>\r
-       <KEYWORD2>slur-interface</KEYWORD2>\r
-       <KEYWORD2>Drum_note_performer</KEYWORD2>\r
-       <KEYWORD2>TabVoice</KEYWORD2>\r
-       <KEYWORD2>measure-grouping-interface</KEYWORD2>\r
-       <KEYWORD2>stanza-number-interface</KEYWORD2>\r
-       <KEYWORD2>self-alignment-interface</KEYWORD2>\r
-       <KEYWORD2>Span_arpeggio_engraver</KEYWORD2>\r
-       <KEYWORD2>system-interface</KEYWORD2>\r
-       <KEYWORD2>Engraver</KEYWORD2>\r
-       <KEYWORD2>RhythmicStaff</KEYWORD2>\r
-       <KEYWORD2>font-interface</KEYWORD2>\r
-       <KEYWORD2>fret-diagram-interface</KEYWORD2>\r
-       <KEYWORD2>Grace_spacing_engraver</KEYWORD2>\r
-       <KEYWORD2>Bar_engraver</KEYWORD2>\r
-       <KEYWORD2>Dynamic_engraver</KEYWORD2>\r
-       <KEYWORD2>Grob_pq_engraver</KEYWORD2>\r
-       <KEYWORD2>Default_bar_line_engraver</KEYWORD2>\r
-       <KEYWORD2>Swallow_performer</KEYWORD2>\r
-       <KEYWORD2>script-column-interface</KEYWORD2>\r
-       <KEYWORD2>Piano_pedal_performer</KEYWORD2>\r
-       <KEYWORD2>metronome-mark-interface</KEYWORD2>\r
-       <KEYWORD2>melody-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>FretBoards</KEYWORD2>\r
-       <KEYWORD2>spacing-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>Control_track_performer</KEYWORD2>\r
-       <KEYWORD2>Break_align_engraver</KEYWORD2>\r
-       <KEYWORD2>paper-column-interface</KEYWORD2>\r
-       <KEYWORD2>PianoStaff</KEYWORD2>\r
-       <KEYWORD2>Breathing_sign_engraver</KEYWORD2>\r
-       <KEYWORD2>accidental-placement-interface</KEYWORD2>\r
-       <KEYWORD2>Tuplet_engraver</KEYWORD2>\r
-       <KEYWORD2>stroke-finger-interface</KEYWORD2>\r
-       <KEYWORD2>side-position-interface</KEYWORD2>\r
-       <KEYWORD2>note-name-interface</KEYWORD2>\r
-       <KEYWORD2>bar-line-interface</KEYWORD2>\r
-       <KEYWORD2>lyric-extender-interface</KEYWORD2>\r
-       <KEYWORD2>Staff</KEYWORD2>\r
-       <KEYWORD2>GregorianTranscriptionStaff</KEYWORD2>\r
-       <KEYWORD2>Rest_swallow_translator</KEYWORD2>\r
-       <KEYWORD2>dynamic-text-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>arpeggio-interface</KEYWORD2>\r
-       <KEYWORD2>Cluster_spanner_engraver</KEYWORD2>\r
-       <KEYWORD2>Collision_engraver</KEYWORD2>\r
-       <KEYWORD2>accidental-interface</KEYWORD2>\r
-       <KEYWORD2>rest-interface</KEYWORD2>\r
-       <KEYWORD2>Tab_note_heads_engraver</KEYWORD2>\r
-       <KEYWORD2>dots-interface</KEYWORD2>\r
-       <KEYWORD2>staff-symbol-referencer-interface</KEYWORD2>\r
-       <KEYWORD2>ambitus-interface</KEYWORD2>\r
-       <KEYWORD2>bass-figure-interface</KEYWORD2>\r
-       <KEYWORD2>vaticana-ligature-interface</KEYWORD2>\r
-       <KEYWORD2>ledgered-interface</KEYWORD2>\r
-       <KEYWORD2>item-interface</KEYWORD2>\r
-       <KEYWORD2>Tie_performer</KEYWORD2>\r
-       <KEYWORD2>volta-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>vertically-spaceable-interface</KEYWORD2>\r
-       <KEYWORD2>ledger-line-interface</KEYWORD2>\r
-       <KEYWORD2>Chord_tremolo_engraver</KEYWORD2>\r
-       <KEYWORD2>note-column-interface</KEYWORD2>\r
-       <KEYWORD2>DrumVoice</KEYWORD2>\r
-       <KEYWORD2>axis-group-interface</KEYWORD2>\r
-       <KEYWORD2>Ledger_line_engraver</KEYWORD2>\r
-       <KEYWORD2>Slash_repeat_engraver</KEYWORD2>\r
-       <KEYWORD2>ligature-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>Pitch_squash_engraver</KEYWORD2>\r
-       <KEYWORD2>Instrument_switch_engraver</KEYWORD2>\r
-       <KEYWORD2>Voice</KEYWORD2>\r
-       <KEYWORD2>Script_column_engraver</KEYWORD2>\r
-       <KEYWORD2>Volta_engraver</KEYWORD2>\r
-       <KEYWORD2>Stanza_number_align_engraver</KEYWORD2>\r
-       <KEYWORD2>Vertical_align_engraver</KEYWORD2>\r
-       <KEYWORD2>span-bar-interface</KEYWORD2>\r
-       <KEYWORD2>Staff_collecting_engraver</KEYWORD2>\r
-       <KEYWORD2>Ligature_bracket_engraver</KEYWORD2>\r
-       <KEYWORD2>Time_signature_engraver</KEYWORD2>\r
-       <KEYWORD2>Beam_engraver</KEYWORD2>\r
-       <KEYWORD2>Note_name_engraver</KEYWORD2>\r
-       <KEYWORD2>Note_heads_engraver</KEYWORD2>\r
-       <KEYWORD2>Forbid_line_break_engraver</KEYWORD2>\r
-       <KEYWORD2>spacing-options-interface</KEYWORD2>\r
-       <KEYWORD2>spacing-interface</KEYWORD2>\r
-       <KEYWORD2>Span_dynamic_performer</KEYWORD2>\r
-       <KEYWORD2>piano-pedal-script-interface</KEYWORD2>\r
-       <KEYWORD2>MensuralStaff</KEYWORD2>\r
-       <KEYWORD2>Global</KEYWORD2>\r
-       <KEYWORD2>trill-pitch-accidental-interface</KEYWORD2>\r
-       <KEYWORD2>grob-interface</KEYWORD2>\r
-       <KEYWORD2>Horizontal_bracket_engraver</KEYWORD2>\r
-       <KEYWORD2>Grid_line_span_engraver</KEYWORD2>\r
-       <KEYWORD2>NoteNames</KEYWORD2>\r
-       <KEYWORD2>piano-pedal-interface</KEYWORD2>\r
-       <KEYWORD2>Axis_group_engraver</KEYWORD2>\r
-       <KEYWORD2>Staff_symbol_engraver</KEYWORD2>\r
-       <KEYWORD2>stem-interface</KEYWORD2>\r
-       <KEYWORD2>Slur_engraver</KEYWORD2>\r
-       <KEYWORD2>pitched-trill-interface</KEYWORD2>\r
-       <KEYWORD2>tie-column-interface</KEYWORD2>\r
-       <KEYWORD2>stem-tremolo-interface</KEYWORD2>\r
-       <KEYWORD2>Grid_point_engraver</KEYWORD2>\r
-       <KEYWORD2>System_start_delimiter_engraver</KEYWORD2>\r
-       <KEYWORD2>Completion_heads_engraver</KEYWORD2>\r
-       <KEYWORD2>Drum_notes_engraver</KEYWORD2>\r
-       <KEYWORD2>Swallow_engraver</KEYWORD2>\r
-       <KEYWORD2>Slur_performer</KEYWORD2>\r
-       <KEYWORD2>lyric-hyphen-interface</KEYWORD2>\r
-       <KEYWORD2>Clef_engraver</KEYWORD2>\r
-       <KEYWORD2>dynamic-interface</KEYWORD2>\r
-       <KEYWORD2>Score</KEYWORD2>\r
-       <KEYWORD2>Output_property_engraver</KEYWORD2>\r
-       <KEYWORD2>Repeat_tie_engraver</KEYWORD2>\r
-       <KEYWORD2>Rest_engraver</KEYWORD2>\r
-       <KEYWORD2>break-aligned-interface</KEYWORD2>\r
-       <KEYWORD2>String_number_engraver</KEYWORD2>\r
-       <KEYWORD2>only-prebreak-interface</KEYWORD2>\r
-       <KEYWORD2>Lyric_engraver</KEYWORD2>\r
-       <KEYWORD2>Tempo_performer</KEYWORD2>\r
-       <KEYWORD2>Parenthesis_engraver</KEYWORD2>\r
-       <KEYWORD2>Repeat_acknowledge_engraver</KEYWORD2>\r
-       <KEYWORD2>mensural-ligature-interface</KEYWORD2>\r
-       <KEYWORD2>align-interface</KEYWORD2>\r
-       <KEYWORD2>Stanza_number_engraver</KEYWORD2>\r
-       <KEYWORD2>system-start-delimiter-interface</KEYWORD2>\r
-       <KEYWORD2>lyric-syllable-interface</KEYWORD2>\r
-       <KEYWORD2>bend-after-interface</KEYWORD2>\r
-       <KEYWORD2>dynamic-line-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>Staff_performer</KEYWORD2>\r
-       <KEYWORD2>Bar_number_engraver</KEYWORD2>\r
-       <KEYWORD2>Fretboard_engraver</KEYWORD2>\r
-       <KEYWORD2>tablature-interface</KEYWORD2>\r
-       <KEYWORD2>Fingering_engraver</KEYWORD2>\r
-       <KEYWORD2>chord-name-interface</KEYWORD2>\r
-       <KEYWORD2>Note_swallow_translator</KEYWORD2>\r
-       <KEYWORD2>Chord_name_engraver</KEYWORD2>\r
-       <KEYWORD2>note-head-interface</KEYWORD2>\r
-       <KEYWORD2>breathing-sign-interface</KEYWORD2>\r
-       <KEYWORD2>Extender_engraver</KEYWORD2>\r
-       <KEYWORD2>Ambitus_engraver</KEYWORD2>\r
-       <KEYWORD2>DrumStaff</KEYWORD2>\r
-       <KEYWORD2>dot-column-interface</KEYWORD2>\r
-       <KEYWORD2>Lyric_performer</KEYWORD2>\r
-       <KEYWORD2>enclosing-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>Trill_spanner_engraver</KEYWORD2>\r
-       <KEYWORD2>Key_performer</KEYWORD2>\r
-       <KEYWORD2>Vertically_spaced_contexts_engraver</KEYWORD2>\r
-       <KEYWORD2>hairpin-interface</KEYWORD2>\r
-       <KEYWORD2>Hyphen_engraver</KEYWORD2>\r
-       <KEYWORD2>Dots_engraver</KEYWORD2>\r
-       <KEYWORD2>multi-measure-rest-interface</KEYWORD2>\r
-       <KEYWORD2>break-alignment-align-interface</KEYWORD2>\r
-       <KEYWORD2>Multi_measure_rest_engraver</KEYWORD2>\r
-       <KEYWORD2>InnerStaffGroup</KEYWORD2>\r
-       <KEYWORD2>text-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>Grace_beam_engraver</KEYWORD2>\r
-       <KEYWORD2>separation-item-interface</KEYWORD2>\r
-       <KEYWORD2>Balloon_engraver</KEYWORD2>\r
-       <KEYWORD2>Translator</KEYWORD2>\r
-       <KEYWORD2>separation-spanner-interface</KEYWORD2>\r
-       <KEYWORD2>Tweak_engraver</KEYWORD2>\r
-       <KEYWORD2>Devnull</KEYWORD2>\r
-       <KEYWORD2>Bend_after_engraver</KEYWORD2>\r
-       <KEYWORD2>Spacing_engraver</KEYWORD2>\r
-       <KEYWORD2>Piano_pedal_align_engraver</KEYWORD2>\r
-       <KEYWORD2>system-start-text-interface</KEYWORD2>\r
-       <KEYWORD2>parentheses-interface</KEYWORD2>\r
-       <KEYWORD2>Melisma_translator</KEYWORD2>\r
-       <KEYWORD2>ChoirStaff</KEYWORD2>\r
-       <KEYWORD2>Span_bar_engraver</KEYWORD2>\r
-       <KEYWORD2>Text_engraver</KEYWORD2>\r
-       <KEYWORD2>GregorianTranscriptionVoice</KEYWORD2>\r
-       <KEYWORD2>Timing_translator</KEYWORD2>\r
-       <KEYWORD2>script-interface</KEYWORD2>\r
-       <KEYWORD2>semi-tie-interface</KEYWORD2>\r
-       <KEYWORD2>Percent_repeat_engraver</KEYWORD2>\r
-       <KEYWORD2>Tab_staff_symbol_engraver</KEYWORD2>\r
-       <KEYWORD2>line-interface</KEYWORD2>\r
-       <KEYWORD2>rhythmic-grob-interface</KEYWORD2>\r
-       <KEYWORD2>Dynamic_performer</KEYWORD2>\r
-       <KEYWORD2>note-spacing-interface</KEYWORD2>\r
-       <KEYWORD2>spanner-interface</KEYWORD2>\r
-       <KEYWORD2>break-alignment-interface</KEYWORD2>\r
-       <KEYWORD2>tuplet-number-interface</KEYWORD2>\r
-       <KEYWORD2>Rhythmic_column_engraver</KEYWORD2>\r
-       <KEYWORD2>cluster-beacon-interface</KEYWORD2>\r
-       <KEYWORD2>horizontal-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>Mensural_ligature_engraver</KEYWORD2>\r
-       <KEYWORD2>ChordNames</KEYWORD2>\r
-       <KEYWORD2>gregorian-ligature-interface</KEYWORD2>\r
-       <KEYWORD2>Melody_engraver</KEYWORD2>\r
-       <KEYWORD2>ligature-interface</KEYWORD2>\r
-       <KEYWORD2>Paper_column_engraver</KEYWORD2>\r
-       <KEYWORD2>FiguredBass</KEYWORD2>\r
-       <KEYWORD2>grace-spacing-interface</KEYWORD2>\r
-       <KEYWORD2>tie-interface</KEYWORD2>\r
-       <KEYWORD2>New_fingering_engraver</KEYWORD2>\r
-       <KEYWORD2>Script_engraver</KEYWORD2>\r
-       <KEYWORD2>Metronome_mark_engraver</KEYWORD2>\r
-       <KEYWORD2>string-number-interface</KEYWORD2>\r
-       <KEYWORD2>Hara_kiri_engraver</KEYWORD2>\r
-       <KEYWORD2>grid-line-interface</KEYWORD2>\r
-       <KEYWORD2>Skip_event_swallow_translator</KEYWORD2>\r
-       <KEYWORD2>Auto_beam_engraver</KEYWORD2>\r
-       <KEYWORD2>spaceable-grob-interface</KEYWORD2>\r
-       <KEYWORD2>Font_size_engraver</KEYWORD2>\r
-       <KEYWORD2>figured-bass-continuation-interface</KEYWORD2>\r
-       <KEYWORD2>semi-tie-column-interface</KEYWORD2>\r
-       <KEYWORD2>CueVoice</KEYWORD2>\r
-       <KEYWORD2>Phrasing_slur_engraver</KEYWORD2>\r
-       <KEYWORD2>InnerChoirStaff</KEYWORD2>\r
-       <KEYWORD2>Arpeggio_engraver</KEYWORD2>\r
-       <KEYWORD2>mark-interface</KEYWORD2>\r
-       <KEYWORD2>VaticanaStaff</KEYWORD2>\r
-       <KEYWORD2>piano-pedal-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>beam-interface</KEYWORD2>\r
-       <KEYWORD2>Note_performer</KEYWORD2>\r
-       <KEYWORD2>custos-interface</KEYWORD2>\r
-       <KEYWORD2>percent-repeat-interface</KEYWORD2>\r
-       <KEYWORD2>time-signature-interface</KEYWORD2>\r
-       <KEYWORD2>Custos_engraver</KEYWORD2>\r
-       <KEYWORD2>Part_combine_engraver</KEYWORD2>\r
-       <KEYWORD2>Piano_pedal_engraver</KEYWORD2>\r
-       <KEYWORD2>tuplet-bracket-interface</KEYWORD2>\r
-       <KEYWORD2>Stem_engraver</KEYWORD2>\r
-       <KEYWORD2>finger-interface</KEYWORD2>\r
-       <KEYWORD2>note-collision-interface</KEYWORD2>\r
-       <KEYWORD2>Text_spanner_engraver</KEYWORD2>\r
-       <KEYWORD2>text-balloon-interface</KEYWORD2>\r
-       <KEYWORD2>Tie_engraver</KEYWORD2>\r
-       <KEYWORD2>Figured_bass_position_engraver</KEYWORD2>\r
-</KEYWORDS>\r
-<!-- Generated part ended -->\r
-\r
-</RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/lisp.xml b/extra/xmode/modes/lisp.xml
deleted file mode 100644 (file)
index 86983d7..0000000
+++ /dev/null
@@ -1,1038 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="#| " />\r
-               <PROPERTY NAME="commentEnd" VALUE=" |#" />\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-               <PROPERTY NAME="noWordSep" VALUE="_-+?:" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="multipleBracketIndent" VALUE="true" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               ESCAPE="\"\r
-               NO_WORD_SEP="_-+?:"\r
-               DIGIT_RE="-?\d+([./]\d+)?"\r
-       >\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>#|</BEGIN>\r
-                       <END>|#</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="NULL">'(</SEQ>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
-\r
-               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="KEYWORD4">&amp;</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">`</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <!--\r
-               Based on convention discussed here:\r
-                       http://www.gigamonkeys.com/book/syntax-and-semantics.html\r
-               -->\r
-               <EOL_SPAN TYPE="COMMENT4">;;;;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT3">;;;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">;;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!--\r
-                       keywords from j\r
-                               (http://armedbear-j.sourceforge.net/)\r
-                        Duplicates removed; KEYWORD1 and KEYWORD2 \r
-                          better aligned with Emacs Lisp mode\r
-                        Missing Common Lisp symbols added; now 970 symbols total\r
-                        2004-01-22  dsh\r
-               -->\r
-               <KEYWORDS>\r
-                       <KEYWORD1>defclass</KEYWORD1>\r
-                       <KEYWORD1>defconstant</KEYWORD1>\r
-                       <KEYWORD1>defgeneric</KEYWORD1>\r
-                       <KEYWORD1>define-compiler-macro</KEYWORD1>\r
-                       <KEYWORD1>define-condition</KEYWORD1>\r
-                       <KEYWORD1>define-method-combination</KEYWORD1>\r
-                       <KEYWORD1>define-modify-macro</KEYWORD1>\r
-                       <KEYWORD1>define-setf-expander</KEYWORD1>\r
-                       <KEYWORD1>define-symbol-macro</KEYWORD1>\r
-                       <KEYWORD1>defmacro</KEYWORD1>\r
-                       <KEYWORD1>defmethod</KEYWORD1>\r
-                       <KEYWORD1>defpackage</KEYWORD1>\r
-                       <KEYWORD1>defparameter</KEYWORD1>\r
-                       <KEYWORD1>defsetf</KEYWORD1>\r
-                       <KEYWORD1>defstruct</KEYWORD1>\r
-                       <KEYWORD1>deftype</KEYWORD1>\r
-                       <KEYWORD1>defun</KEYWORD1>\r
-                       <KEYWORD1>defvar</KEYWORD1>\r
-\r
-                       <KEYWORD2>abort</KEYWORD2>\r
-                       <KEYWORD2>assert</KEYWORD2>\r
-                       <KEYWORD2>block</KEYWORD2>\r
-                       <KEYWORD2>break</KEYWORD2>\r
-                       <KEYWORD2>case</KEYWORD2>\r
-                       <KEYWORD2>catch</KEYWORD2>\r
-                       <KEYWORD2>ccase</KEYWORD2>\r
-                       <KEYWORD2>cerror</KEYWORD2>\r
-                       <KEYWORD2>cond</KEYWORD2>\r
-                       <KEYWORD2>ctypecase</KEYWORD2>\r
-                       <KEYWORD2>declaim</KEYWORD2>\r
-                       <KEYWORD2>declare</KEYWORD2>\r
-                       <KEYWORD2>do</KEYWORD2>\r
-                       <KEYWORD2>do*</KEYWORD2>\r
-                       <KEYWORD2>do-all-symbols</KEYWORD2>\r
-                       <KEYWORD2>do-external-symbols</KEYWORD2>\r
-                       <KEYWORD2>do-symbols</KEYWORD2>\r
-                       <KEYWORD2>dolist</KEYWORD2>\r
-                       <KEYWORD2>dotimes</KEYWORD2>\r
-                       <KEYWORD2>ecase</KEYWORD2>\r
-                       <KEYWORD2>error</KEYWORD2>\r
-                       <KEYWORD2>etypecase</KEYWORD2>\r
-                       <KEYWORD2>eval-when</KEYWORD2>\r
-                       <KEYWORD2>flet</KEYWORD2>\r
-                       <KEYWORD2>handler-bind</KEYWORD2>\r
-                       <KEYWORD2>handler-case</KEYWORD2>\r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>ignore-errors</KEYWORD2>\r
-                       <KEYWORD2>in-package</KEYWORD2>\r
-                       <KEYWORD2>labels</KEYWORD2>\r
-                       <KEYWORD2>lambda</KEYWORD2>\r
-                       <KEYWORD2>let</KEYWORD2>\r
-                       <KEYWORD2>let*</KEYWORD2>\r
-                       <KEYWORD2>locally</KEYWORD2>\r
-                       <KEYWORD2>loop</KEYWORD2>\r
-                       <KEYWORD2>macrolet</KEYWORD2>\r
-                       <KEYWORD2>multiple-value-bind</KEYWORD2>\r
-                       <KEYWORD2>proclaim</KEYWORD2>\r
-                       <KEYWORD2>prog</KEYWORD2>\r
-                       <KEYWORD2>prog*</KEYWORD2>\r
-                       <KEYWORD2>prog1</KEYWORD2>\r
-                       <KEYWORD2>prog2</KEYWORD2>\r
-                       <KEYWORD2>progn</KEYWORD2>\r
-                       <KEYWORD2>progv</KEYWORD2>\r
-                       <KEYWORD2>provide</KEYWORD2>\r
-                       <KEYWORD2>require</KEYWORD2>\r
-                       <KEYWORD2>restart-bind</KEYWORD2>\r
-                       <KEYWORD2>restart-case</KEYWORD2>\r
-                       <KEYWORD2>restart-name</KEYWORD2>\r
-                       <KEYWORD2>return</KEYWORD2>\r
-                       <KEYWORD2>return-from</KEYWORD2>\r
-                       <KEYWORD2>signal</KEYWORD2>\r
-                       <KEYWORD2>symbol-macrolet</KEYWORD2>\r
-                       <KEYWORD2>tagbody</KEYWORD2>\r
-                       <KEYWORD2>the</KEYWORD2>\r
-                       <KEYWORD2>throw</KEYWORD2>\r
-                       <KEYWORD2>typecase</KEYWORD2>\r
-                       <KEYWORD2>unless</KEYWORD2>\r
-                       <KEYWORD2>unwind-protect</KEYWORD2>\r
-                       <KEYWORD2>when</KEYWORD2>\r
-                       <KEYWORD2>with-accessors</KEYWORD2>\r
-                       <KEYWORD2>with-compilation-unit</KEYWORD2>\r
-                       <KEYWORD2>with-condition-restarts</KEYWORD2>\r
-                       <KEYWORD2>with-hash-table-iterator</KEYWORD2>\r
-                       <KEYWORD2>with-input-from-string</KEYWORD2>\r
-                       <KEYWORD2>with-open-file</KEYWORD2>\r
-                       <KEYWORD2>with-open-stream</KEYWORD2>\r
-                       <KEYWORD2>with-output-to-string</KEYWORD2>\r
-                       <KEYWORD2>with-package-iterator</KEYWORD2>\r
-                       <KEYWORD2>with-simple-restart</KEYWORD2>\r
-                       <KEYWORD2>with-slots</KEYWORD2>\r
-                       <KEYWORD2>with-standard-io-syntax</KEYWORD2>\r
-\r
-                       <KEYWORD3>*</KEYWORD3>\r
-                       <KEYWORD3>**</KEYWORD3>\r
-                       <KEYWORD3>***</KEYWORD3>\r
-                       <KEYWORD3>*break-on-signals*</KEYWORD3>\r
-                       <KEYWORD3>*compile-file-pathname*</KEYWORD3>\r
-                       <KEYWORD3>*compile-file-truename*</KEYWORD3>\r
-                       <KEYWORD3>*compile-print*</KEYWORD3>\r
-                       <KEYWORD3>*compile-verbose*</KEYWORD3>\r
-                       <KEYWORD3>*debug-io*</KEYWORD3>\r
-                       <KEYWORD3>*debugger-hook*</KEYWORD3>\r
-                       <KEYWORD3>*default-pathname-defaults*</KEYWORD3>\r
-                       <KEYWORD3>*error-output*</KEYWORD3>\r
-                       <KEYWORD3>*features*</KEYWORD3>\r
-                       <KEYWORD3>*gensym-counter*</KEYWORD3>\r
-                       <KEYWORD3>*load-pathname*</KEYWORD3>\r
-                       <KEYWORD3>*load-print*</KEYWORD3>\r
-                       <KEYWORD3>*load-truename*</KEYWORD3>\r
-                       <KEYWORD3>*load-verbose*</KEYWORD3>\r
-                       <KEYWORD3>*macroexpand-hook*</KEYWORD3>\r
-                       <KEYWORD3>*modules*</KEYWORD3>\r
-                       <KEYWORD3>*package*</KEYWORD3>\r
-                       <KEYWORD3>*print-array*</KEYWORD3>\r
-                       <KEYWORD3>*print-base*</KEYWORD3>\r
-                       <KEYWORD3>*print-case*</KEYWORD3>\r
-                       <KEYWORD3>*print-circle*</KEYWORD3>\r
-                       <KEYWORD3>*print-escape*</KEYWORD3>\r
-                       <KEYWORD3>*print-gensym*</KEYWORD3>\r
-                       <KEYWORD3>*print-length*</KEYWORD3>\r
-                       <KEYWORD3>*print-level*</KEYWORD3>\r
-                       <KEYWORD3>*print-lines*</KEYWORD3>\r
-                       <KEYWORD3>*print-miser-width*</KEYWORD3>\r
-                       <KEYWORD3>*print-pprint-dispatch*</KEYWORD3>\r
-                       <KEYWORD3>*print-pretty*</KEYWORD3>\r
-                       <KEYWORD3>*print-radix*</KEYWORD3>\r
-                       <KEYWORD3>*print-readably*</KEYWORD3>\r
-                       <KEYWORD3>*print-right-margin*</KEYWORD3>\r
-                       <KEYWORD3>*query-io*</KEYWORD3>\r
-                       <KEYWORD3>*random-state*</KEYWORD3>\r
-                       <KEYWORD3>*read-base*</KEYWORD3>\r
-                       <KEYWORD3>*read-default-float-format*</KEYWORD3>\r
-                       <KEYWORD3>*read-eval*</KEYWORD3>\r
-                       <KEYWORD3>*read-suppress*</KEYWORD3>\r
-                       <KEYWORD3>*readtable*</KEYWORD3>\r
-                       <KEYWORD3>*standard-input*</KEYWORD3>\r
-                       <KEYWORD3>*standard-output*</KEYWORD3>\r
-                       <KEYWORD3>*terminal-io*</KEYWORD3>\r
-                       <KEYWORD3>*trace-output*</KEYWORD3>\r
-                       <KEYWORD3>+</KEYWORD3>\r
-                       <KEYWORD3>++</KEYWORD3>\r
-                       <KEYWORD3>+++</KEYWORD3>\r
-                       <KEYWORD3>-</KEYWORD3>\r
-                       <KEYWORD3>/</KEYWORD3>\r
-                       <KEYWORD3>//</KEYWORD3>\r
-                       <KEYWORD3>///</KEYWORD3>\r
-                       <KEYWORD3>/=</KEYWORD3>\r
-                       <KEYWORD3>1+</KEYWORD3>\r
-                       <KEYWORD3>1-</KEYWORD3>\r
-                       <KEYWORD3>&lt;</KEYWORD3>\r
-                       <KEYWORD3>&lt;=</KEYWORD3>\r
-                       <KEYWORD3>=</KEYWORD3>\r
-                       <KEYWORD3>&gt;</KEYWORD3>\r
-                       <KEYWORD3>&gt;=</KEYWORD3>\r
-                       <KEYWORD3>abs</KEYWORD3>\r
-                       <KEYWORD3>acons</KEYWORD3>\r
-                       <KEYWORD3>acos</KEYWORD3>\r
-                       <KEYWORD3>acosh</KEYWORD3>\r
-                       <KEYWORD3>add-method</KEYWORD3>\r
-                       <KEYWORD3>adjoin</KEYWORD3>\r
-                       <KEYWORD3>adjust-array</KEYWORD3>\r
-                       <KEYWORD3>adjustable-array-p</KEYWORD3>\r
-                       <KEYWORD3>allocate-instance</KEYWORD3>\r
-                       <KEYWORD3>alpha-char-p</KEYWORD3>\r
-                       <KEYWORD3>alphanumericp</KEYWORD3>\r
-                       <KEYWORD3>and</KEYWORD3>\r
-                       <KEYWORD3>append</KEYWORD3>\r
-                       <KEYWORD3>apply</KEYWORD3>\r
-                       <KEYWORD3>apropos</KEYWORD3>\r
-                       <KEYWORD3>apropos-list</KEYWORD3>\r
-                       <KEYWORD3>aref</KEYWORD3>\r
-                       <KEYWORD3>arithmetic-error</KEYWORD3>\r
-                       <KEYWORD3>arithmetic-error-operands</KEYWORD3>\r
-                       <KEYWORD3>arithmetic-error-operation</KEYWORD3>\r
-                       <KEYWORD3>array</KEYWORD3>\r
-                       <KEYWORD3>array-dimension</KEYWORD3>\r
-                       <KEYWORD3>array-dimension-limit</KEYWORD3>\r
-                       <KEYWORD3>array-dimensions</KEYWORD3>\r
-                       <KEYWORD3>array-displacement</KEYWORD3>\r
-                       <KEYWORD3>array-element-type</KEYWORD3>\r
-                       <KEYWORD3>array-has-fill-pointer-p</KEYWORD3>\r
-                       <KEYWORD3>array-in-bounds-p</KEYWORD3>\r
-                       <KEYWORD3>array-rank</KEYWORD3>\r
-                       <KEYWORD3>array-rank-limit</KEYWORD3>\r
-                       <KEYWORD3>array-row-major-index</KEYWORD3>\r
-                       <KEYWORD3>array-total-size</KEYWORD3>\r
-                       <KEYWORD3>array-total-size-limit</KEYWORD3>\r
-                       <KEYWORD3>arrayp</KEYWORD3>\r
-                       <KEYWORD3>ash</KEYWORD3>\r
-                       <KEYWORD3>asin</KEYWORD3>\r
-                       <KEYWORD3>asinh</KEYWORD3>\r
-                       <KEYWORD3>assoc</KEYWORD3>\r
-                       <KEYWORD3>assoc-if</KEYWORD3>\r
-                       <KEYWORD3>assoc-if-not</KEYWORD3>\r
-                       <KEYWORD3>atan</KEYWORD3>\r
-                       <KEYWORD3>atanh</KEYWORD3>\r
-                       <KEYWORD3>atom</KEYWORD3>\r
-                       <KEYWORD3>base-char</KEYWORD3>\r
-                       <KEYWORD3>base-string</KEYWORD3>\r
-                       <KEYWORD3>bignum</KEYWORD3>\r
-                       <KEYWORD3>bit</KEYWORD3>\r
-                       <KEYWORD3>bit-and</KEYWORD3>\r
-                       <KEYWORD3>bit-andc1</KEYWORD3>\r
-                       <KEYWORD3>bit-andc2</KEYWORD3>\r
-                       <KEYWORD3>bit-eqv</KEYWORD3>\r
-                       <KEYWORD3>bit-ior</KEYWORD3>\r
-                       <KEYWORD3>bit-nand</KEYWORD3>\r
-                       <KEYWORD3>bit-nor</KEYWORD3>\r
-                       <KEYWORD3>bit-not</KEYWORD3>\r
-                       <KEYWORD3>bit-orc1</KEYWORD3>\r
-                       <KEYWORD3>bit-orc2</KEYWORD3>\r
-                       <KEYWORD3>bit-vector</KEYWORD3>\r
-                       <KEYWORD3>bit-vector-p</KEYWORD3>\r
-                       <KEYWORD3>bit-xor</KEYWORD3>\r
-                       <KEYWORD3>boole</KEYWORD3>\r
-                       <KEYWORD3>boole-1</KEYWORD3>\r
-                       <KEYWORD3>boole-2</KEYWORD3>\r
-                       <KEYWORD3>boole-and</KEYWORD3>\r
-                       <KEYWORD3>boole-andc1</KEYWORD3>\r
-                       <KEYWORD3>boole-andc2</KEYWORD3>\r
-                       <KEYWORD3>boole-c1</KEYWORD3>\r
-                       <KEYWORD3>boole-c2</KEYWORD3>\r
-                       <KEYWORD3>boole-clr</KEYWORD3>\r
-                       <KEYWORD3>boole-eqv</KEYWORD3>\r
-                       <KEYWORD3>boole-ior</KEYWORD3>\r
-                       <KEYWORD3>boole-nand</KEYWORD3>\r
-                       <KEYWORD3>boole-nor</KEYWORD3>\r
-                       <KEYWORD3>boole-orc1</KEYWORD3>\r
-                       <KEYWORD3>boole-orc2</KEYWORD3>\r
-                       <KEYWORD3>boole-set</KEYWORD3>\r
-                       <KEYWORD3>boole-xor</KEYWORD3>\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>both-case-p</KEYWORD3>\r
-                       <KEYWORD3>boundp</KEYWORD3>\r
-                       <KEYWORD3>broadcast-stream</KEYWORD3>\r
-                       <KEYWORD3>broadcast-stream-streams</KEYWORD3>\r
-                       <KEYWORD3>built-in-class</KEYWORD3>\r
-                       <KEYWORD3>butlast</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD3>byte-position</KEYWORD3>\r
-                       <KEYWORD3>byte-size</KEYWORD3>\r
-                       <KEYWORD3>caaaar</KEYWORD3>\r
-                       <KEYWORD3>caaadr</KEYWORD3>\r
-                       <KEYWORD3>caaar</KEYWORD3>\r
-                       <KEYWORD3>caadar</KEYWORD3>\r
-                       <KEYWORD3>caaddr</KEYWORD3>\r
-                       <KEYWORD3>caadr</KEYWORD3>\r
-                       <KEYWORD3>caar</KEYWORD3>\r
-                       <KEYWORD3>cadaar</KEYWORD3>\r
-                       <KEYWORD3>cadadr</KEYWORD3>\r
-                       <KEYWORD3>cadar</KEYWORD3>\r
-                       <KEYWORD3>caddar</KEYWORD3>\r
-                       <KEYWORD3>cadddr</KEYWORD3>\r
-                       <KEYWORD3>caddr</KEYWORD3>\r
-                       <KEYWORD3>cadr</KEYWORD3>\r
-                       <KEYWORD3>call-arguments-limit</KEYWORD3>\r
-                       <KEYWORD3>call-method</KEYWORD3>\r
-                       <KEYWORD3>call-next-method</KEYWORD3>\r
-                       <KEYWORD3>car</KEYWORD3>\r
-                       <KEYWORD3>cdaaar</KEYWORD3>\r
-                       <KEYWORD3>cdaadr</KEYWORD3>\r
-                       <KEYWORD3>cdaar</KEYWORD3>\r
-                       <KEYWORD3>cdadar</KEYWORD3>\r
-                       <KEYWORD3>cdaddr</KEYWORD3>\r
-                       <KEYWORD3>cdadr</KEYWORD3>\r
-                       <KEYWORD3>cdar</KEYWORD3>\r
-                       <KEYWORD3>cddaar</KEYWORD3>\r
-                       <KEYWORD3>cddadr</KEYWORD3>\r
-                       <KEYWORD3>cddar</KEYWORD3>\r
-                       <KEYWORD3>cdddar</KEYWORD3>\r
-                       <KEYWORD3>cddddr</KEYWORD3>\r
-                       <KEYWORD3>cdddr</KEYWORD3>\r
-                       <KEYWORD3>cddr</KEYWORD3>\r
-                       <KEYWORD3>cdr</KEYWORD3>\r
-                       <KEYWORD3>ceiling</KEYWORD3>\r
-                       <KEYWORD3>cell-error</KEYWORD3>\r
-                       <KEYWORD3>cell-error-name</KEYWORD3>\r
-                       <KEYWORD3>change-class</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>char-code</KEYWORD3>\r
-                       <KEYWORD3>char-code-limit</KEYWORD3>\r
-                       <KEYWORD3>char-downcase</KEYWORD3>\r
-                       <KEYWORD3>char-equal</KEYWORD3>\r
-                       <KEYWORD3>char-greaterp</KEYWORD3>\r
-                       <KEYWORD3>char-int</KEYWORD3>\r
-                       <KEYWORD3>char-lessp</KEYWORD3>\r
-                       <KEYWORD3>char-name</KEYWORD3>\r
-                       <KEYWORD3>char-not-equal</KEYWORD3>\r
-                       <KEYWORD3>char-not-greaterp</KEYWORD3>\r
-                       <KEYWORD3>char-not-lessp</KEYWORD3>\r
-                       <KEYWORD3>char-upcase</KEYWORD3>\r
-                       <KEYWORD3>char/=</KEYWORD3>\r
-                       <KEYWORD3>char&gt;</KEYWORD3>\r
-                       <KEYWORD3>char&gt;=</KEYWORD3>\r
-                       <KEYWORD3>char&lt;</KEYWORD3>\r
-                       <KEYWORD3>char&lt;=</KEYWORD3>\r
-                       <KEYWORD3>char=</KEYWORD3>\r
-                       <KEYWORD3>character</KEYWORD3>\r
-                       <KEYWORD3>characterp</KEYWORD3>\r
-                       <KEYWORD3>check-type</KEYWORD3>\r
-                       <KEYWORD3>cis</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>class-name</KEYWORD3>\r
-                       <KEYWORD3>class-of</KEYWORD3>\r
-                       <KEYWORD3>clear-input</KEYWORD3>\r
-                       <KEYWORD3>clear-output</KEYWORD3>\r
-                       <KEYWORD3>close</KEYWORD3>\r
-                       <KEYWORD3>clrhash</KEYWORD3>\r
-                       <KEYWORD3>code-char</KEYWORD3>\r
-                       <KEYWORD3>coerce</KEYWORD3>\r
-                       <KEYWORD3>compilation-speed</KEYWORD3>\r
-                       <KEYWORD3>compile</KEYWORD3>\r
-                       <KEYWORD3>compile-file</KEYWORD3>\r
-                       <KEYWORD3>compile-file-pathname</KEYWORD3>\r
-                       <KEYWORD3>compiled-function</KEYWORD3>\r
-                       <KEYWORD3>compiled-function-p</KEYWORD3>\r
-                       <KEYWORD3>compiler-macro</KEYWORD3>\r
-                       <KEYWORD3>compiler-macro-function</KEYWORD3>\r
-                       <KEYWORD3>complement</KEYWORD3>\r
-                       <KEYWORD3>complex</KEYWORD3>\r
-                       <KEYWORD3>complexp</KEYWORD3>\r
-                       <KEYWORD3>compute-applicable-methods</KEYWORD3>\r
-                       <KEYWORD3>compute-restarts</KEYWORD3>\r
-                       <KEYWORD3>concatenate</KEYWORD3>\r
-                       <KEYWORD3>concatenated-stream</KEYWORD3>\r
-                       <KEYWORD3>concatenated-stream-streams</KEYWORD3>\r
-                       <KEYWORD3>condition</KEYWORD3>\r
-                       <KEYWORD3>conjugate</KEYWORD3>\r
-                       <KEYWORD3>cons</KEYWORD3>\r
-                       <KEYWORD3>consp</KEYWORD3>\r
-                       <KEYWORD3>constantly</KEYWORD3>\r
-                       <KEYWORD3>constantp</KEYWORD3>\r
-                       <KEYWORD3>continue</KEYWORD3>\r
-                       <KEYWORD3>control-error</KEYWORD3>\r
-                       <KEYWORD3>copy-alist</KEYWORD3>\r
-                       <KEYWORD3>copy-list</KEYWORD3>\r
-                       <KEYWORD3>copy-pprint-dispatch</KEYWORD3>\r
-                       <KEYWORD3>copy-readtable</KEYWORD3>\r
-                       <KEYWORD3>copy-seq</KEYWORD3>\r
-                       <KEYWORD3>copy-structure</KEYWORD3>\r
-                       <KEYWORD3>copy-symbol</KEYWORD3>\r
-                       <KEYWORD3>copy-tree</KEYWORD3>\r
-                       <KEYWORD3>cos</KEYWORD3>\r
-                       <KEYWORD3>cosh</KEYWORD3>\r
-                       <KEYWORD3>count</KEYWORD3>\r
-                       <KEYWORD3>count-if</KEYWORD3>\r
-                       <KEYWORD3>count-if-not</KEYWORD3>\r
-                       <KEYWORD3>debug</KEYWORD3>\r
-                       <KEYWORD3>decf</KEYWORD3>\r
-                       <KEYWORD3>declaration</KEYWORD3>\r
-                       <KEYWORD3>decode-float</KEYWORD3>\r
-                       <KEYWORD3>decode-universal-time</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>delete-duplicates</KEYWORD3>\r
-                       <KEYWORD3>delete-file</KEYWORD3>\r
-                       <KEYWORD3>delete-if</KEYWORD3>\r
-                       <KEYWORD3>delete-if-not</KEYWORD3>\r
-                       <KEYWORD3>delete-package</KEYWORD3>\r
-                       <KEYWORD3>denominator</KEYWORD3>\r
-                       <KEYWORD3>deposit-field</KEYWORD3>\r
-                       <KEYWORD3>describe</KEYWORD3>\r
-                       <KEYWORD3>describe-object</KEYWORD3>\r
-                       <KEYWORD3>destructuring-bind</KEYWORD3>\r
-                       <KEYWORD3>digit-char</KEYWORD3>\r
-                       <KEYWORD3>digit-char-p</KEYWORD3>\r
-                       <KEYWORD3>directory</KEYWORD3>\r
-                       <KEYWORD3>directory-namestring</KEYWORD3>\r
-                       <KEYWORD3>disassemble</KEYWORD3>\r
-                       <KEYWORD3>division-by-zero</KEYWORD3>\r
-                       <KEYWORD3>documentation</KEYWORD3>\r
-                       <KEYWORD3>double-float</KEYWORD3>\r
-                       <KEYWORD3>double-float-epsilon</KEYWORD3>\r
-                       <KEYWORD3>double-float-negative-epsilon</KEYWORD3>\r
-                       <KEYWORD3>dpb</KEYWORD3>\r
-                       <KEYWORD3>dribble</KEYWORD3>\r
-                       <KEYWORD3>dynamic-extent</KEYWORD3>\r
-                       <KEYWORD3>echo-stream</KEYWORD3>\r
-                       <KEYWORD3>echo-stream-input-stream</KEYWORD3>\r
-                       <KEYWORD3>echo-stream-output-stream</KEYWORD3>\r
-                       <KEYWORD3>ed</KEYWORD3>\r
-                       <KEYWORD3>eighth</KEYWORD3>\r
-                       <KEYWORD3>elt</KEYWORD3>\r
-                       <KEYWORD3>encode-universal-time</KEYWORD3>\r
-                       <KEYWORD3>end-of-file</KEYWORD3>\r
-                       <KEYWORD3>endp</KEYWORD3>\r
-                       <KEYWORD3>enough-namestring</KEYWORD3>\r
-                       <KEYWORD3>ensure-directories-exist</KEYWORD3>\r
-                       <KEYWORD3>ensure-generic-function</KEYWORD3>\r
-                       <KEYWORD3>eq</KEYWORD3>\r
-                       <KEYWORD3>eql</KEYWORD3>\r
-                       <KEYWORD3>equal</KEYWORD3>\r
-                       <KEYWORD3>equalp</KEYWORD3>\r
-                       <KEYWORD3>eval</KEYWORD3>\r
-                       <KEYWORD3>evenp</KEYWORD3>\r
-                       <KEYWORD3>every</KEYWORD3>\r
-                       <KEYWORD3>exp</KEYWORD3>\r
-                       <KEYWORD3>export</KEYWORD3>\r
-                       <KEYWORD3>expt</KEYWORD3>\r
-                       <KEYWORD3>extended-char</KEYWORD3>\r
-                       <KEYWORD3>fboundp</KEYWORD3>\r
-                       <KEYWORD3>fceiling</KEYWORD3>\r
-                       <KEYWORD3>fdefinition</KEYWORD3>\r
-                       <KEYWORD3>ffloor</KEYWORD3>\r
-                       <KEYWORD3>fifth</KEYWORD3>\r
-                       <KEYWORD3>file-author</KEYWORD3>\r
-                       <KEYWORD3>file-error</KEYWORD3>\r
-                       <KEYWORD3>file-error-pathname</KEYWORD3>\r
-                       <KEYWORD3>file-length</KEYWORD3>\r
-                       <KEYWORD3>file-namestring</KEYWORD3>\r
-                       <KEYWORD3>file-position</KEYWORD3>\r
-                       <KEYWORD3>file-stream</KEYWORD3>\r
-                       <KEYWORD3>file-string-length</KEYWORD3>\r
-                       <KEYWORD3>file-write-date</KEYWORD3>\r
-                       <KEYWORD3>fill</KEYWORD3>\r
-                       <KEYWORD3>fill-pointer</KEYWORD3>\r
-                       <KEYWORD3>find</KEYWORD3>\r
-                       <KEYWORD3>find-all-symbols</KEYWORD3>\r
-                       <KEYWORD3>find-class</KEYWORD3>\r
-                       <KEYWORD3>find-if</KEYWORD3>\r
-                       <KEYWORD3>find-if-not</KEYWORD3>\r
-                       <KEYWORD3>find-method</KEYWORD3>\r
-                       <KEYWORD3>find-package</KEYWORD3>\r
-                       <KEYWORD3>find-restart</KEYWORD3>\r
-                       <KEYWORD3>find-symbol</KEYWORD3>\r
-                       <KEYWORD3>finish-output</KEYWORD3>\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>fixnum</KEYWORD3>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD3>float-digits</KEYWORD3>\r
-                       <KEYWORD3>float-precision</KEYWORD3>\r
-                       <KEYWORD3>float-radix</KEYWORD3>\r
-                       <KEYWORD3>float-sign</KEYWORD3>\r
-                       <KEYWORD3>floating-point-inexact</KEYWORD3>\r
-                       <KEYWORD3>floating-point-invalid-operation</KEYWORD3>\r
-                       <KEYWORD3>floating-point-overflow</KEYWORD3>\r
-                       <KEYWORD3>floating-point-underflow</KEYWORD3>\r
-                       <KEYWORD3>floatp</KEYWORD3>\r
-                       <KEYWORD3>floor</KEYWORD3>\r
-                       <KEYWORD3>fmakunbound</KEYWORD3>\r
-                       <KEYWORD3>force-output</KEYWORD3>\r
-                       <KEYWORD3>format</KEYWORD3>\r
-                       <KEYWORD3>formatter</KEYWORD3>\r
-                       <KEYWORD3>fourth</KEYWORD3>\r
-                       <KEYWORD3>fresh-line</KEYWORD3>\r
-                       <KEYWORD3>fround</KEYWORD3>\r
-                       <KEYWORD3>ftruncate</KEYWORD3>\r
-                       <KEYWORD3>ftype</KEYWORD3>\r
-                       <KEYWORD3>funcall</KEYWORD3>\r
-                       <KEYWORD3>function</KEYWORD3>\r
-                       <KEYWORD3>function-keywords</KEYWORD3>\r
-                       <KEYWORD3>function-lambda-expression</KEYWORD3>\r
-                       <KEYWORD3>functionp</KEYWORD3>\r
-                       <KEYWORD3>gcd</KEYWORD3>\r
-                       <KEYWORD3>generic-function</KEYWORD3>\r
-                       <KEYWORD3>gensym</KEYWORD3>\r
-                       <KEYWORD3>gentemp</KEYWORD3>\r
-                       <KEYWORD3>get</KEYWORD3>\r
-                       <KEYWORD3>get-decoded-time</KEYWORD3>\r
-                       <KEYWORD3>get-dispatch-macro-character</KEYWORD3>\r
-                       <KEYWORD3>get-internal-real-time</KEYWORD3>\r
-                       <KEYWORD3>get-internal-run-time</KEYWORD3>\r
-                       <KEYWORD3>get-macro-character</KEYWORD3>\r
-                       <KEYWORD3>get-output-stream-string</KEYWORD3>\r
-                       <KEYWORD3>get-properties</KEYWORD3>\r
-                       <KEYWORD3>get-setf-expansion</KEYWORD3>\r
-                       <KEYWORD3>get-universal-time</KEYWORD3>\r
-                       <KEYWORD3>getf</KEYWORD3>\r
-                       <KEYWORD3>gethash</KEYWORD3>\r
-                       <KEYWORD3>go</KEYWORD3>\r
-                       <KEYWORD3>graphic-char-p</KEYWORD3>\r
-                       <KEYWORD3>hash-table</KEYWORD3>\r
-                       <KEYWORD3>hash-table-count</KEYWORD3>\r
-                       <KEYWORD3>hash-table-p</KEYWORD3>\r
-                       <KEYWORD3>hash-table-rehash-size</KEYWORD3>\r
-                       <KEYWORD3>hash-table-rehash-threshold</KEYWORD3>\r
-                       <KEYWORD3>hash-table-size</KEYWORD3>\r
-                       <KEYWORD3>hash-table-test</KEYWORD3>\r
-                       <KEYWORD3>host-namestring</KEYWORD3>\r
-                       <KEYWORD3>identity</KEYWORD3>\r
-                       <KEYWORD3>ignorable</KEYWORD3>\r
-                       <KEYWORD3>ignore</KEYWORD3>\r
-                       <KEYWORD3>imagpart</KEYWORD3>\r
-                       <KEYWORD3>import</KEYWORD3>\r
-                       <KEYWORD3>incf</KEYWORD3>\r
-                       <KEYWORD3>initialize-instance</KEYWORD3>\r
-                       <KEYWORD3>inline</KEYWORD3>\r
-                       <KEYWORD3>input-stream-p</KEYWORD3>\r
-                       <KEYWORD3>inspect</KEYWORD3>\r
-                       <KEYWORD3>integer</KEYWORD3>\r
-                       <KEYWORD3>integer-decode-float</KEYWORD3>\r
-                       <KEYWORD3>integer-length</KEYWORD3>\r
-                       <KEYWORD3>integerp</KEYWORD3>\r
-                       <KEYWORD3>interactive-stream-p</KEYWORD3>\r
-                       <KEYWORD3>intern</KEYWORD3>\r
-                       <KEYWORD3>internal-time-units-per-second</KEYWORD3>\r
-                       <KEYWORD3>intersection</KEYWORD3>\r
-                       <KEYWORD3>invalid-method-error</KEYWORD3>\r
-                       <KEYWORD3>invoke-debugger</KEYWORD3>\r
-                       <KEYWORD3>invoke-restart</KEYWORD3>\r
-                       <KEYWORD3>invoke-restart-interactively</KEYWORD3>\r
-                       <KEYWORD3>isqrt</KEYWORD3>\r
-                       <KEYWORD3>keyword</KEYWORD3>\r
-                       <KEYWORD3>keywordp</KEYWORD3>\r
-                       <KEYWORD3>lambda-list-keywords</KEYWORD3>\r
-                       <KEYWORD3>lambda-parameters-limit</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>lcm</KEYWORD3>\r
-                       <KEYWORD3>ldb</KEYWORD3>\r
-                       <KEYWORD3>ldb-test</KEYWORD3>\r
-                       <KEYWORD3>ldiff</KEYWORD3>\r
-                       <KEYWORD3>least-negative-double-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-long-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-normalized-double-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-normalized-long-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-normalized-short-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-normalized-single-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-short-float</KEYWORD3>\r
-                       <KEYWORD3>least-negative-single-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-double-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-long-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-normalized-double-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-normalized-long-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-normalized-short-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-normalized-single-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-short-float</KEYWORD3>\r
-                       <KEYWORD3>least-positive-single-float</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>lisp-implementation-type</KEYWORD3>\r
-                       <KEYWORD3>lisp-implementation-version</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>list*</KEYWORD3>\r
-                       <KEYWORD3>list-all-packages</KEYWORD3>\r
-                       <KEYWORD3>list-length</KEYWORD3>\r
-                       <KEYWORD3>listen</KEYWORD3>\r
-                       <KEYWORD3>listp</KEYWORD3>\r
-                       <KEYWORD3>load</KEYWORD3>\r
-                       <KEYWORD3>load-logical-pathname-translations</KEYWORD3>\r
-                       <KEYWORD3>load-time-value</KEYWORD3>\r
-                       <KEYWORD3>log</KEYWORD3>\r
-                       <KEYWORD3>logand</KEYWORD3>\r
-                       <KEYWORD3>logandc1</KEYWORD3>\r
-                       <KEYWORD3>logandc2</KEYWORD3>\r
-                       <KEYWORD3>logbitp</KEYWORD3>\r
-                       <KEYWORD3>logcount</KEYWORD3>\r
-                       <KEYWORD3>logeqv</KEYWORD3>\r
-                       <KEYWORD3>logical-pathname</KEYWORD3>\r
-                       <KEYWORD3>logical-pathname-translations</KEYWORD3>\r
-                       <KEYWORD3>logior</KEYWORD3>\r
-                       <KEYWORD3>lognand</KEYWORD3>\r
-                       <KEYWORD3>lognor</KEYWORD3>\r
-                       <KEYWORD3>lognot</KEYWORD3>\r
-                       <KEYWORD3>logorc1</KEYWORD3>\r
-                       <KEYWORD3>logorc2</KEYWORD3>\r
-                       <KEYWORD3>logtest</KEYWORD3>\r
-                       <KEYWORD3>logxor</KEYWORD3>\r
-                       <KEYWORD3>long-float</KEYWORD3>\r
-                       <KEYWORD3>long-float-epsilon</KEYWORD3>\r
-                       <KEYWORD3>long-float-negative-epsilon</KEYWORD3>\r
-                       <KEYWORD3>long-site-name</KEYWORD3>\r
-                       <KEYWORD3>loop-finish</KEYWORD3>\r
-                       <KEYWORD3>lower-case-p</KEYWORD3>\r
-                       <KEYWORD3>machine-instance</KEYWORD3>\r
-                       <KEYWORD3>machine-type</KEYWORD3>\r
-                       <KEYWORD3>machine-version</KEYWORD3>\r
-                       <KEYWORD3>macro-function</KEYWORD3>\r
-                       <KEYWORD3>macroexpand</KEYWORD3>\r
-                       <KEYWORD3>macroexpand-1</KEYWORD3>\r
-                       <KEYWORD3>make-array</KEYWORD3>\r
-                       <KEYWORD3>make-broadcast-stream</KEYWORD3>\r
-                       <KEYWORD3>make-concatenated-stream</KEYWORD3>\r
-                       <KEYWORD3>make-condition</KEYWORD3>\r
-                       <KEYWORD3>make-dispatch-macro-character</KEYWORD3>\r
-                       <KEYWORD3>make-echo-stream</KEYWORD3>\r
-                       <KEYWORD3>make-hash-table</KEYWORD3>\r
-                       <KEYWORD3>make-instance</KEYWORD3>\r
-                       <KEYWORD3>make-instances-obsolete</KEYWORD3>\r
-                       <KEYWORD3>make-list</KEYWORD3>\r
-                       <KEYWORD3>make-load-form</KEYWORD3>\r
-                       <KEYWORD3>make-load-form-saving-slots</KEYWORD3>\r
-                       <KEYWORD3>make-method</KEYWORD3>\r
-                       <KEYWORD3>make-package</KEYWORD3>\r
-                       <KEYWORD3>make-pathname</KEYWORD3>\r
-                       <KEYWORD3>make-random-state</KEYWORD3>\r
-                       <KEYWORD3>make-sequence</KEYWORD3>\r
-                       <KEYWORD3>make-string</KEYWORD3>\r
-                       <KEYWORD3>make-string-input-stream</KEYWORD3>\r
-                       <KEYWORD3>make-string-output-stream</KEYWORD3>\r
-                       <KEYWORD3>make-symbol</KEYWORD3>\r
-                       <KEYWORD3>make-synonym-stream</KEYWORD3>\r
-                       <KEYWORD3>make-two-way-stream</KEYWORD3>\r
-                       <KEYWORD3>makunbound</KEYWORD3>\r
-                       <KEYWORD3>map</KEYWORD3>\r
-                       <KEYWORD3>map-into</KEYWORD3>\r
-                       <KEYWORD3>mapc</KEYWORD3>\r
-                       <KEYWORD3>mapcan</KEYWORD3>\r
-                       <KEYWORD3>mapcar</KEYWORD3>\r
-                       <KEYWORD3>mapcon</KEYWORD3>\r
-                       <KEYWORD3>maphash</KEYWORD3>\r
-                       <KEYWORD3>mapl</KEYWORD3>\r
-                       <KEYWORD3>maplist</KEYWORD3>\r
-                       <KEYWORD3>mask-field</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>member</KEYWORD3>\r
-                       <KEYWORD3>member-if</KEYWORD3>\r
-                       <KEYWORD3>member-if-not</KEYWORD3>\r
-                       <KEYWORD3>merge</KEYWORD3>\r
-                       <KEYWORD3>merge-pathnames</KEYWORD3>\r
-                       <KEYWORD3>method</KEYWORD3>\r
-                       <KEYWORD3>method-combination</KEYWORD3>\r
-                       <KEYWORD3>method-combination-error</KEYWORD3>\r
-                       <KEYWORD3>method-qualifiers</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>minusp</KEYWORD3>\r
-                       <KEYWORD3>mismatch</KEYWORD3>\r
-                       <KEYWORD3>mod</KEYWORD3>\r
-                       <KEYWORD3>most-negative-double-float</KEYWORD3>\r
-                       <KEYWORD3>most-negative-fixnum</KEYWORD3>\r
-                       <KEYWORD3>most-negative-long-float</KEYWORD3>\r
-                       <KEYWORD3>most-negative-short-float</KEYWORD3>\r
-                       <KEYWORD3>most-negative-single-float</KEYWORD3>\r
-                       <KEYWORD3>most-positive-double-float</KEYWORD3>\r
-                       <KEYWORD3>most-positive-fixnum</KEYWORD3>\r
-                       <KEYWORD3>most-positive-long-float</KEYWORD3>\r
-                       <KEYWORD3>most-positive-short-float</KEYWORD3>\r
-                       <KEYWORD3>most-positive-single-float</KEYWORD3>\r
-                       <KEYWORD3>muffle-warning</KEYWORD3>\r
-                       <KEYWORD3>multiple-value-call</KEYWORD3>\r
-                       <KEYWORD3>multiple-value-list</KEYWORD3>\r
-                       <KEYWORD3>multiple-value-prog1</KEYWORD3>\r
-                       <KEYWORD3>multiple-value-setq</KEYWORD3>\r
-                       <KEYWORD3>multiple-values-limit</KEYWORD3>\r
-                       <KEYWORD3>name-char</KEYWORD3>\r
-                       <KEYWORD3>namestring</KEYWORD3>\r
-                       <KEYWORD3>nbutlast</KEYWORD3>\r
-                       <KEYWORD3>nconc</KEYWORD3>\r
-                       <KEYWORD3>next-method-p</KEYWORD3>\r
-                       <KEYWORD3>nintersection</KEYWORD3>\r
-                       <KEYWORD3>ninth</KEYWORD3>\r
-                       <KEYWORD3>no-applicable-method</KEYWORD3>\r
-                       <KEYWORD3>no-next-method</KEYWORD3>\r
-                       <KEYWORD3>not</KEYWORD3>\r
-                       <KEYWORD3>notany</KEYWORD3>\r
-                       <KEYWORD3>notevery</KEYWORD3>\r
-                       <KEYWORD3>notinline</KEYWORD3>\r
-                       <KEYWORD3>nreconc</KEYWORD3>\r
-                       <KEYWORD3>nreverse</KEYWORD3>\r
-                       <KEYWORD3>nset-difference</KEYWORD3>\r
-                       <KEYWORD3>nset-exclusive-or</KEYWORD3>\r
-                       <KEYWORD3>nstring-capitalize</KEYWORD3>\r
-                       <KEYWORD3>nstring-downcase</KEYWORD3>\r
-                       <KEYWORD3>nstring-upcase</KEYWORD3>\r
-                       <KEYWORD3>nsublis</KEYWORD3>\r
-                       <KEYWORD3>nsubst</KEYWORD3>\r
-                       <KEYWORD3>nsubst-if</KEYWORD3>\r
-                       <KEYWORD3>nsubst-if-not</KEYWORD3>\r
-                       <KEYWORD3>nsubstitute</KEYWORD3>\r
-                       <KEYWORD3>nsubstitute-if</KEYWORD3>\r
-                       <KEYWORD3>nsubstitute-if-not</KEYWORD3>\r
-                       <KEYWORD3>nth</KEYWORD3>\r
-                       <KEYWORD3>nth-value</KEYWORD3>\r
-                       <KEYWORD3>nthcdr</KEYWORD3>\r
-                       <KEYWORD3>null</KEYWORD3>\r
-                       <KEYWORD3>number</KEYWORD3>\r
-                       <KEYWORD3>numberp</KEYWORD3>\r
-                       <KEYWORD3>numerator</KEYWORD3>\r
-                       <KEYWORD3>nunion</KEYWORD3>\r
-                       <KEYWORD3>oddp</KEYWORD3>\r
-                       <KEYWORD3>open</KEYWORD3>\r
-                       <KEYWORD3>open-stream-p</KEYWORD3>\r
-                       <KEYWORD3>optimize</KEYWORD3>\r
-                       <KEYWORD3>or</KEYWORD3>\r
-                       <KEYWORD3>otherwise</KEYWORD3>\r
-                       <KEYWORD3>output-stream-p</KEYWORD3>\r
-                       <KEYWORD3>package</KEYWORD3>\r
-                       <KEYWORD3>package-error</KEYWORD3>\r
-                       <KEYWORD3>package-error-package</KEYWORD3>\r
-                       <KEYWORD3>package-name</KEYWORD3>\r
-                       <KEYWORD3>package-nicknames</KEYWORD3>\r
-                       <KEYWORD3>package-shadowing-symbols</KEYWORD3>\r
-                       <KEYWORD3>package-use-list</KEYWORD3>\r
-                       <KEYWORD3>package-used-by-list</KEYWORD3>\r
-                       <KEYWORD3>packagep</KEYWORD3>\r
-                       <KEYWORD3>pairlis</KEYWORD3>\r
-                       <KEYWORD3>parse-error</KEYWORD3>\r
-                       <KEYWORD3>parse-integer</KEYWORD3>\r
-                       <KEYWORD3>parse-namestring</KEYWORD3>\r
-                       <KEYWORD3>pathname</KEYWORD3>\r
-                       <KEYWORD3>pathname-device</KEYWORD3>\r
-                       <KEYWORD3>pathname-directory</KEYWORD3>\r
-                       <KEYWORD3>pathname-host</KEYWORD3>\r
-                       <KEYWORD3>pathname-match-p</KEYWORD3>\r
-                       <KEYWORD3>pathname-name</KEYWORD3>\r
-                       <KEYWORD3>pathname-type</KEYWORD3>\r
-                       <KEYWORD3>pathname-version</KEYWORD3>\r
-                       <KEYWORD3>pathnamep</KEYWORD3>\r
-                       <KEYWORD3>peek-char</KEYWORD3>\r
-                       <KEYWORD3>phase</KEYWORD3>\r
-                       <KEYWORD3>pi</KEYWORD3>\r
-                       <KEYWORD3>plusp</KEYWORD3>\r
-                       <KEYWORD3>pop</KEYWORD3>\r
-                       <KEYWORD3>position</KEYWORD3>\r
-                       <KEYWORD3>position-if</KEYWORD3>\r
-                       <KEYWORD3>position-if-not</KEYWORD3>\r
-                       <KEYWORD3>pprint</KEYWORD3>\r
-                       <KEYWORD3>pprint-dispatch</KEYWORD3>\r
-                       <KEYWORD3>pprint-exit-if-list-exhausted</KEYWORD3>\r
-                       <KEYWORD3>pprint-fill</KEYWORD3>\r
-                       <KEYWORD3>pprint-indent</KEYWORD3>\r
-                       <KEYWORD3>pprint-linear</KEYWORD3>\r
-                       <KEYWORD3>pprint-logical-block</KEYWORD3>\r
-                       <KEYWORD3>pprint-newline</KEYWORD3>\r
-                       <KEYWORD3>pprint-pop</KEYWORD3>\r
-                       <KEYWORD3>pprint-tab</KEYWORD3>\r
-                       <KEYWORD3>pprint-tabular</KEYWORD3>\r
-                       <KEYWORD3>prin1</KEYWORD3>\r
-                       <KEYWORD3>prin1-to-string</KEYWORD3>\r
-                       <KEYWORD3>princ</KEYWORD3>\r
-                       <KEYWORD3>princ-to-string</KEYWORD3>\r
-                       <KEYWORD3>print</KEYWORD3>\r
-                       <KEYWORD3>print-not-readable</KEYWORD3>\r
-                       <KEYWORD3>print-not-readable-object</KEYWORD3>\r
-                       <KEYWORD3>print-object</KEYWORD3>\r
-                       <KEYWORD3>print-unreadable-object</KEYWORD3>\r
-                       <KEYWORD3>probe-file</KEYWORD3>\r
-                       <KEYWORD3>program-error</KEYWORD3>\r
-                       <KEYWORD3>psetf</KEYWORD3>\r
-                       <KEYWORD3>psetq</KEYWORD3>\r
-                       <KEYWORD3>push</KEYWORD3>\r
-                       <KEYWORD3>pushnew</KEYWORD3>\r
-                       <KEYWORD3>quote</KEYWORD3>\r
-                       <KEYWORD3>random</KEYWORD3>\r
-                       <KEYWORD3>random-state</KEYWORD3>\r
-                       <KEYWORD3>random-state-p</KEYWORD3>\r
-                       <KEYWORD3>rassoc</KEYWORD3>\r
-                       <KEYWORD3>rassoc-if</KEYWORD3>\r
-                       <KEYWORD3>rassoc-if-not</KEYWORD3>\r
-                       <KEYWORD3>ratio</KEYWORD3>\r
-                       <KEYWORD3>rational</KEYWORD3>\r
-                       <KEYWORD3>rationalize</KEYWORD3>\r
-                       <KEYWORD3>rationalp</KEYWORD3>\r
-                       <KEYWORD3>read</KEYWORD3>\r
-                       <KEYWORD3>read-byte</KEYWORD3>\r
-                       <KEYWORD3>read-char</KEYWORD3>\r
-                       <KEYWORD3>read-char-no-hang</KEYWORD3>\r
-                       <KEYWORD3>read-delimited-list</KEYWORD3>\r
-                       <KEYWORD3>read-from-string</KEYWORD3>\r
-                       <KEYWORD3>read-line</KEYWORD3>\r
-                       <KEYWORD3>read-preserving-whitespace</KEYWORD3>\r
-                       <KEYWORD3>read-sequence</KEYWORD3>\r
-                       <KEYWORD3>reader-error</KEYWORD3>\r
-                       <KEYWORD3>readtable</KEYWORD3>\r
-                       <KEYWORD3>readtable-case</KEYWORD3>\r
-                       <KEYWORD3>readtablep</KEYWORD3>\r
-                       <KEYWORD3>real</KEYWORD3>\r
-                       <KEYWORD3>realp</KEYWORD3>\r
-                       <KEYWORD3>realpart</KEYWORD3>\r
-                       <KEYWORD3>reduce</KEYWORD3>\r
-                       <KEYWORD3>reinitialize-instance</KEYWORD3>\r
-                       <KEYWORD3>rem</KEYWORD3>\r
-                       <KEYWORD3>remf</KEYWORD3>\r
-                       <KEYWORD3>remhash</KEYWORD3>\r
-                       <KEYWORD3>remove</KEYWORD3>\r
-                       <KEYWORD3>remove-duplicates</KEYWORD3>\r
-                       <KEYWORD3>remove-if</KEYWORD3>\r
-                       <KEYWORD3>remove-if-not</KEYWORD3>\r
-                       <KEYWORD3>remove-method</KEYWORD3>\r
-                       <KEYWORD3>remprop</KEYWORD3>\r
-                       <KEYWORD3>rename-file</KEYWORD3>\r
-                       <KEYWORD3>rename-package</KEYWORD3>\r
-                       <KEYWORD3>replace</KEYWORD3>\r
-                       <KEYWORD3>rest</KEYWORD3>\r
-                       <KEYWORD3>restart</KEYWORD3>\r
-                       <KEYWORD3>revappend</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>room</KEYWORD3>\r
-                       <KEYWORD3>rotatef</KEYWORD3>\r
-                       <KEYWORD3>round</KEYWORD3>\r
-                       <KEYWORD3>row-major-aref</KEYWORD3>\r
-                       <KEYWORD3>rplaca</KEYWORD3>\r
-                       <KEYWORD3>rplacd</KEYWORD3>\r
-                       <KEYWORD3>safety</KEYWORD3>\r
-                       <KEYWORD3>satisfies</KEYWORD3>\r
-                       <KEYWORD3>sbit</KEYWORD3>\r
-                       <KEYWORD3>scale-float</KEYWORD3>\r
-                       <KEYWORD3>schar</KEYWORD3>\r
-                       <KEYWORD3>search</KEYWORD3>\r
-                       <KEYWORD3>second</KEYWORD3>\r
-                       <KEYWORD3>sequence</KEYWORD3>\r
-                       <KEYWORD3>serious-condition</KEYWORD3>\r
-                       <KEYWORD3>set</KEYWORD3>\r
-                       <KEYWORD3>set-difference</KEYWORD3>\r
-                       <KEYWORD3>set-dispatch-macro-character</KEYWORD3>\r
-                       <KEYWORD3>set-exclusive-or</KEYWORD3>\r
-                       <KEYWORD3>set-macro-character</KEYWORD3>\r
-                       <KEYWORD3>set-pprint-dispatch</KEYWORD3>\r
-                       <KEYWORD3>set-syntax-from-char</KEYWORD3>\r
-                       <KEYWORD3>setf</KEYWORD3>\r
-                       <KEYWORD3>setq</KEYWORD3>\r
-                       <KEYWORD3>seventh</KEYWORD3>\r
-                       <KEYWORD3>shadow</KEYWORD3>\r
-                       <KEYWORD3>shadowing-import</KEYWORD3>\r
-                       <KEYWORD3>shared-initialize</KEYWORD3>\r
-                       <KEYWORD3>shiftf</KEYWORD3>\r
-                       <KEYWORD3>short-float</KEYWORD3>\r
-                       <KEYWORD3>short-float-epsilon</KEYWORD3>\r
-                       <KEYWORD3>short-float-negative-epsilon</KEYWORD3>\r
-                       <KEYWORD3>short-site-name</KEYWORD3>\r
-                       <KEYWORD3>signed-byte</KEYWORD3>\r
-                       <KEYWORD3>signum</KEYWORD3>\r
-                       <KEYWORD3>simple-array</KEYWORD3>\r
-                       <KEYWORD3>simple-base-string</KEYWORD3>\r
-                       <KEYWORD3>simple-bit-vector</KEYWORD3>\r
-                       <KEYWORD3>simple-bit-vector-p</KEYWORD3>\r
-                       <KEYWORD3>simple-condition</KEYWORD3>\r
-                       <KEYWORD3>simple-condition-format-arguments</KEYWORD3>\r
-                       <KEYWORD3>simple-condition-format-control</KEYWORD3>\r
-                       <KEYWORD3>simple-error</KEYWORD3>\r
-                       <KEYWORD3>simple-string</KEYWORD3>\r
-                       <KEYWORD3>simple-string-p</KEYWORD3>\r
-                       <KEYWORD3>simple-type-error</KEYWORD3>\r
-                       <KEYWORD3>simple-vector</KEYWORD3>\r
-                       <KEYWORD3>simple-vector-p</KEYWORD3>\r
-                       <KEYWORD3>simple-warning</KEYWORD3>\r
-                       <KEYWORD3>sin</KEYWORD3>\r
-                       <KEYWORD3>single-float</KEYWORD3>\r
-                       <KEYWORD3>single-float-epsilon</KEYWORD3>\r
-                       <KEYWORD3>single-float-negative-epsilon</KEYWORD3>\r
-                       <KEYWORD3>sinh</KEYWORD3>\r
-                       <KEYWORD3>sixth</KEYWORD3>\r
-                       <KEYWORD3>sleep</KEYWORD3>\r
-                       <KEYWORD3>slot-boundp</KEYWORD3>\r
-                       <KEYWORD3>slot-exists-p</KEYWORD3>\r
-                       <KEYWORD3>slot-makunbound</KEYWORD3>\r
-                       <KEYWORD3>slot-missing</KEYWORD3>\r
-                       <KEYWORD3>slot-unbound</KEYWORD3>\r
-                       <KEYWORD3>slot-value</KEYWORD3>\r
-                       <KEYWORD3>software-type</KEYWORD3>\r
-                       <KEYWORD3>software-version</KEYWORD3>\r
-                       <KEYWORD3>some</KEYWORD3>\r
-                       <KEYWORD3>sort</KEYWORD3>\r
-                       <KEYWORD3>space</KEYWORD3>\r
-                       <KEYWORD3>special</KEYWORD3>\r
-                       <KEYWORD3>special-operator-p</KEYWORD3>\r
-                       <KEYWORD3>speed</KEYWORD3>\r
-                       <KEYWORD3>sqrt</KEYWORD3>\r
-                       <KEYWORD3>stable-sort</KEYWORD3>\r
-                       <KEYWORD3>standard</KEYWORD3>\r
-                       <KEYWORD3>standard-char</KEYWORD3>\r
-                       <KEYWORD3>standard-char-p</KEYWORD3>\r
-                       <KEYWORD3>standard-class</KEYWORD3>\r
-                       <KEYWORD3>standard-generic-function</KEYWORD3>\r
-                       <KEYWORD3>standard-method</KEYWORD3>\r
-                       <KEYWORD3>standard-object</KEYWORD3>\r
-                       <KEYWORD3>step</KEYWORD3>\r
-                       <KEYWORD3>storage-condition</KEYWORD3>\r
-                       <KEYWORD3>store-value</KEYWORD3>\r
-                       <KEYWORD3>stream</KEYWORD3>\r
-                       <KEYWORD3>stream-element-type</KEYWORD3>\r
-                       <KEYWORD3>stream-error</KEYWORD3>\r
-                       <KEYWORD3>stream-error-stream</KEYWORD3>\r
-                       <KEYWORD3>stream-external-format</KEYWORD3>\r
-                       <KEYWORD3>streamp</KEYWORD3>\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>string-capitalize</KEYWORD3>\r
-                       <KEYWORD3>string-downcase</KEYWORD3>\r
-                       <KEYWORD3>string-equal</KEYWORD3>\r
-                       <KEYWORD3>string-greaterp</KEYWORD3>\r
-                       <KEYWORD3>string-left-trim</KEYWORD3>\r
-                       <KEYWORD3>string-lessp</KEYWORD3>\r
-                       <KEYWORD3>string-not-equal</KEYWORD3>\r
-                       <KEYWORD3>string-not-greaterp</KEYWORD3>\r
-                       <KEYWORD3>string-not-lessp</KEYWORD3>\r
-                       <KEYWORD3>string-right-trim</KEYWORD3>\r
-                       <KEYWORD3>string-stream</KEYWORD3>\r
-                       <KEYWORD3>string-trim</KEYWORD3>\r
-                       <KEYWORD3>string-upcase</KEYWORD3>\r
-                       <KEYWORD3>string/=</KEYWORD3>\r
-                       <KEYWORD3>string&lt;</KEYWORD3>\r
-                       <KEYWORD3>string&lt;=</KEYWORD3>\r
-                       <KEYWORD3>string=</KEYWORD3>\r
-                       <KEYWORD3>string&gt;</KEYWORD3>\r
-                       <KEYWORD3>string&gt;=</KEYWORD3>\r
-                       <KEYWORD3>stringp</KEYWORD3>\r
-                       <KEYWORD3>structure</KEYWORD3>\r
-                       <KEYWORD3>structure-class</KEYWORD3>\r
-                       <KEYWORD3>structure-object</KEYWORD3>\r
-                       <KEYWORD3>style-warning</KEYWORD3>\r
-                       <KEYWORD3>sublis</KEYWORD3>\r
-                       <KEYWORD3>subseq</KEYWORD3>\r
-                       <KEYWORD3>subsetp</KEYWORD3>\r
-                       <KEYWORD3>subst</KEYWORD3>\r
-                       <KEYWORD3>subst-if</KEYWORD3>\r
-                       <KEYWORD3>subst-if-not</KEYWORD3>\r
-                       <KEYWORD3>substitute</KEYWORD3>\r
-                       <KEYWORD3>substitute-if</KEYWORD3>\r
-                       <KEYWORD3>substitute-if-not</KEYWORD3>\r
-                       <KEYWORD3>subtypep</KEYWORD3>\r
-                       <KEYWORD3>svref</KEYWORD3>\r
-                       <KEYWORD3>sxhash</KEYWORD3>\r
-                       <KEYWORD3>symbol</KEYWORD3>\r
-                       <KEYWORD3>symbol-function</KEYWORD3>\r
-                       <KEYWORD3>symbol-name</KEYWORD3>\r
-                       <KEYWORD3>symbol-package</KEYWORD3>\r
-                       <KEYWORD3>symbol-plist</KEYWORD3>\r
-                       <KEYWORD3>symbol-value</KEYWORD3>\r
-                       <KEYWORD3>symbolp</KEYWORD3>\r
-                       <KEYWORD3>synonym-stream</KEYWORD3>\r
-                       <KEYWORD3>synonym-stream-symbol</KEYWORD3>\r
-                       <KEYWORD3>tailp</KEYWORD3>\r
-                       <KEYWORD3>tan</KEYWORD3>\r
-                       <KEYWORD3>tanh</KEYWORD3>\r
-                       <KEYWORD3>tenth</KEYWORD3>\r
-                       <KEYWORD3>terpri</KEYWORD3>\r
-                       <KEYWORD3>third</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>trace</KEYWORD3>\r
-                       <KEYWORD3>translate-logical-pathname</KEYWORD3>\r
-                       <KEYWORD3>translate-pathname</KEYWORD3>\r
-                       <KEYWORD3>tree-equal</KEYWORD3>\r
-                       <KEYWORD3>truename</KEYWORD3>\r
-                       <KEYWORD3>truncate</KEYWORD3>\r
-                       <KEYWORD3>two-way-stream</KEYWORD3>\r
-                       <KEYWORD3>two-way-stream-input-stream</KEYWORD3>\r
-                       <KEYWORD3>two-way-stream-output-stream</KEYWORD3>\r
-                       <KEYWORD3>type-error-datum</KEYWORD3>\r
-                       <KEYWORD3>type-error-expected-type</KEYWORD3>\r
-                       <KEYWORD3>type-error</KEYWORD3>\r
-                       <KEYWORD3>type-of</KEYWORD3>\r
-                       <KEYWORD3>typep</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>unbound-slot-instance</KEYWORD3>\r
-                       <KEYWORD3>unbound-slot</KEYWORD3>\r
-                       <KEYWORD3>unbound-variable</KEYWORD3>\r
-                       <KEYWORD3>undefined-function</KEYWORD3>\r
-                       <KEYWORD3>unexport</KEYWORD3>\r
-                       <KEYWORD3>unintern</KEYWORD3>\r
-                       <KEYWORD3>union</KEYWORD3>\r
-                       <KEYWORD3>unread-char</KEYWORD3>\r
-                       <KEYWORD3>unsigned-byte</KEYWORD3>\r
-                       <KEYWORD3>untrace</KEYWORD3>\r
-                       <KEYWORD3>unuse-package</KEYWORD3>\r
-                       <KEYWORD3>update-instance-for-different-class</KEYWORD3>\r
-                       <KEYWORD3>update-instance-for-redefined-class</KEYWORD3>\r
-                       <KEYWORD3>upgraded-array-element-type</KEYWORD3>\r
-                       <KEYWORD3>upgraded-complex-part-type</KEYWORD3>\r
-                       <KEYWORD3>upper-case-p</KEYWORD3>\r
-                       <KEYWORD3>use-package</KEYWORD3>\r
-                       <KEYWORD3>use-value</KEYWORD3>\r
-                       <KEYWORD3>user-homedir-pathname</KEYWORD3>\r
-                       <KEYWORD3>values</KEYWORD3>\r
-                       <KEYWORD3>values-list</KEYWORD3>\r
-                       <KEYWORD3>variable</KEYWORD3>\r
-                       <KEYWORD3>vector</KEYWORD3>\r
-                       <KEYWORD3>vector-pop</KEYWORD3>\r
-                       <KEYWORD3>vector-push</KEYWORD3>\r
-                       <KEYWORD3>vector-push-extend</KEYWORD3>\r
-                       <KEYWORD3>vectorp</KEYWORD3>\r
-                       <KEYWORD3>warn</KEYWORD3>\r
-                       <KEYWORD3>warning</KEYWORD3>\r
-                       <KEYWORD3>wild-pathname-p</KEYWORD3>\r
-                       <KEYWORD3>write</KEYWORD3>\r
-                       <KEYWORD3>write-byte</KEYWORD3>\r
-                       <KEYWORD3>write-char</KEYWORD3>\r
-                       <KEYWORD3>write-line</KEYWORD3>\r
-                       <KEYWORD3>write-sequence</KEYWORD3>\r
-                       <KEYWORD3>write-string</KEYWORD3>\r
-                       <KEYWORD3>write-to-string</KEYWORD3>\r
-                       <KEYWORD3>y-or-n-p</KEYWORD3>\r
-                       <KEYWORD3>yes-or-no-p</KEYWORD3>\r
-                       <KEYWORD3>zerop</KEYWORD3>\r
-\r
-                       <LITERAL2>t</LITERAL2>\r
-                       <LITERAL2>nil</LITERAL2>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/literate-haskell.xml b/extra/xmode/modes/literate-haskell.xml
deleted file mode 100644 (file)
index c74ad3a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       Literate Haskell mode by Cameron Morrison (c.morrison@iinet.net.au)\r
-       Modified version of the Haskell mode by Kristian Ovaska (kristian.ovaska@helsinki.fi)\r
-       Based on Haskell 98\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="{-" />\r
-               <PROPERTY NAME="commentEnd" VALUE="-}" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-               <!-- apparently, this is required... -->\r
-               <PROPERTY NAME="tabSize" VALUE="8" />\r
-               <PROPERTY NAME="indentSize" VALUE="8" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" DEFAULT="COMMENT4">\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="FUNCTION" DELEGATE="haskell::MAIN">&gt;</EOL_SPAN>\r
-               <!-- for LaTeX-style -->\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT3">%</EOL_SPAN>\r
-               <SPAN TYPE="LITERAL3" DELEGATE="haskell::MAIN">\r
-                       <BEGIN>\begin{code}</BEGIN>\r
-                       <END>\end{code}</END>\r
-               </SPAN>\r
-               <!--\r
-               <EOL_SPAN_REGEXP HASH_CHAR="\" AT_LINE_START="TRUE"\r
-                       DELEGATE="latex::MAIN" TYPE="KEYWORD1"\r
-               >\\\w+</EOL_SPAN_REGEXP>\r
-               -->\r
-    </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/lotos.xml b/extra/xmode/modes/lotos.xml
deleted file mode 100644 (file)
index bd1d4b7..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-  lotos.xml    K. J. Turner <kjt@cs.stir.ac.uk>        24th April 2003\r
-\r
-  LOTOS (Language Of Temporal Ordering Specification) is an ISO standard\r
-  (8807) for a formal specification language used in communications and system\r
-  specification generally.\r
-\r
-  This mode does not (yet) deal with ISO 15437 (E-LOTOS, Enhanced LOTOS).\r
-\r
-  Auto-indentation occurs if the following are at the start of a line\r
-  (ignoring leading white space): "let", "library", "process", "specification",\r
-  "type", , ">>". This also happens if the following appear on their own (i.e.\r
-  also ignoring trailing white space): "(", "[]", "[>", "||" "|||", "|[...]|",\r
-  "[...]->".\r
--->\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="(*"/>\r
-    <PROPERTY NAME="commentEnd" VALUE="*)"/>\r
-    <PROPERTY NAME="indentNextLines"\r
-      VALUE="\s*(let|library|process|specification|type|>>).*|\s*(\(|\[\]|\[>|\|\||\|\|\||\|\[.*\]\||\[.*\]\s*->)\s*"/>\r
-  </PROPS>\r
-\r
-  <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-    <!-- Comments -->\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>(*</BEGIN>\r
-      <END>*)</END>\r
-    </SPAN>\r
-\r
-    <!-- Standard Operators -->\r
-    <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">[&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">|||</SEQ>\r
-    <SEQ TYPE="OPERATOR">||</SEQ>\r
-    <SEQ TYPE="OPERATOR">|[</SEQ>\r
-    <SEQ TYPE="OPERATOR">]|</SEQ>\r
-    <SEQ TYPE="OPERATOR">[]</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- Reserved Words -->\r
-      <KEYWORD1>accept</KEYWORD1>\r
-      <KEYWORD1>actualizedby</KEYWORD1>\r
-      <KEYWORD1>any</KEYWORD1>\r
-      <KEYWORD1>behavior</KEYWORD1>\r
-      <KEYWORD1>behaviour</KEYWORD1>\r
-      <KEYWORD1>choice</KEYWORD1>\r
-      <KEYWORD1>endlib</KEYWORD1>\r
-      <KEYWORD1>endproc</KEYWORD1>\r
-      <KEYWORD1>endspec</KEYWORD1>\r
-      <KEYWORD1>endtype</KEYWORD1>\r
-      <KEYWORD1>eqns</KEYWORD1>\r
-      <KEYWORD1>exit</KEYWORD1>\r
-      <KEYWORD1>for</KEYWORD1>\r
-      <KEYWORD1>forall</KEYWORD1>\r
-      <KEYWORD1>formaleqns</KEYWORD1>\r
-      <KEYWORD1>formalopns</KEYWORD1>\r
-      <KEYWORD1>formalsorts</KEYWORD1>\r
-      <KEYWORD1>hide</KEYWORD1>\r
-      <KEYWORD1>i</KEYWORD1>\r
-      <KEYWORD1>in</KEYWORD1>\r
-      <KEYWORD1>is</KEYWORD1>\r
-      <KEYWORD1>let</KEYWORD1>\r
-      <KEYWORD1>library</KEYWORD1>\r
-      <KEYWORD1>noexit</KEYWORD1>\r
-      <KEYWORD1>of</KEYWORD1>\r
-      <KEYWORD1>ofsort</KEYWORD1>\r
-      <KEYWORD1>opnnames</KEYWORD1>\r
-      <KEYWORD1>opns</KEYWORD1>\r
-      <KEYWORD1>par</KEYWORD1>\r
-      <KEYWORD1>process</KEYWORD1>\r
-      <KEYWORD1>renamedby</KEYWORD1>\r
-      <KEYWORD1>sortnames</KEYWORD1>\r
-      <KEYWORD1>sorts</KEYWORD1>\r
-      <KEYWORD1>specification</KEYWORD1>\r
-      <KEYWORD1>stop</KEYWORD1>\r
-      <KEYWORD1>type</KEYWORD1>\r
-      <KEYWORD1>using</KEYWORD1>\r
-      <KEYWORD1>where</KEYWORD1>\r
-\r
-      <!-- Standard Library Sorts -->\r
-      <KEYWORD2>Bit</KEYWORD2>\r
-      <KEYWORD2>BitString</KEYWORD2>\r
-      <KEYWORD2>Bool</KEYWORD2>\r
-      <KEYWORD2>DecDigit</KEYWORD2>\r
-      <KEYWORD2>DecString</KEYWORD2>\r
-      <KEYWORD2>Element</KEYWORD2>\r
-      <KEYWORD2>FBool</KEYWORD2>\r
-      <KEYWORD2>HexDigit</KEYWORD2>\r
-      <KEYWORD2>HexString</KEYWORD2>\r
-      <KEYWORD2>OctDigit</KEYWORD2>\r
-      <KEYWORD2>Octet</KEYWORD2>\r
-      <KEYWORD2>OctString</KEYWORD2>\r
-      <KEYWORD2>Nat</KEYWORD2>\r
-      <KEYWORD2>NonEmptyString</KEYWORD2>\r
-      <KEYWORD2>OctetString</KEYWORD2>\r
-      <KEYWORD2>Set</KEYWORD2>\r
-      <KEYWORD2>String</KEYWORD2>\r
-\r
-      <!-- Standard Library Types (where differing from Sorts) -->\r
-      <KEYWORD2>BasicNaturalNumber</KEYWORD2>\r
-      <KEYWORD2>BasicNonEmptyString</KEYWORD2>\r
-      <KEYWORD2>BitNatRepr</KEYWORD2>\r
-      <KEYWORD2>Boolean</KEYWORD2>\r
-      <KEYWORD2>FBoolean</KEYWORD2>\r
-      <KEYWORD2>DecNatRepr</KEYWORD2>\r
-      <KEYWORD2>HexNatRepr</KEYWORD2>\r
-      <KEYWORD2>NatRepresentations</KEYWORD2>\r
-      <KEYWORD2>NaturalNumber</KEYWORD2>\r
-      <KEYWORD2>OctNatRepr</KEYWORD2>\r
-      <KEYWORD2>RicherNonEmptyString</KEYWORD2>\r
-      <KEYWORD2>String0</KEYWORD2>\r
-      <KEYWORD2>String1</KEYWORD2>\r
-\r
-      <!-- Standard Library Literals -->\r
-      <LITERAL1>false</LITERAL1>\r
-      <LITERAL1>true</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/lua.xml b/extra/xmode/modes/lua.xml
deleted file mode 100644 (file)
index 04f9f76..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!-- Lua 5.0 Mode, written by Philipp Janda -->\r
-\r
-<!-- TODO:\r
-  * Autoindent screws up, if { or ( gets typed after the indentNextLines trigger\r
-  -> This is very annoying, so I disabled the automatic indenting in this case!\r
-  -> It should be fixed if you set doubleBracketIndent to "true", but I keep it\r
-     disabled anyway since it is not that useful if you don't have an unindent!\r
-  * Should I use FUNCTION and OPERATOR tags inside of <KEYWORDS>??!!\r
--->\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <!-- Comments -->\r
-    <PROPERTY NAME="lineComment" VALUE="--"/>\r
-    <PROPERTY NAME="commentStart" VALUE="--[["/>\r
-    <PROPERTY NAME="commentEnd" VALUE="]]"/>\r
-    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*"/>\r
-    <!-- Auto indent -->\r
-    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>\r
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
-    <!--\r
-    <PROPERTY NAME="indentNextLines" VALUE=".*((then|else|do|function)).*"/>\r
-    -->\r
-    <PROPERTY NAME="doubleBracketIndent" VALUE="true"/>\r
-  </PROPS>\r
-  <RULES IGNORE_CASE="FALSE" NO_WORD_SEP="_:." HIGHLIGHT_DIGITS="TRUE"\r
-         DIGIT_RE="[\p{Digit}]*(\.[\p{Digit}]*)?([eE][+-]?[\p{Digit}]*)?">\r
-    <!-- Multiline comments -->\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>--[[</BEGIN>\r
-      <END>]]</END>\r
-    </SPAN>\r
-    <!-- Single line comments -->\r
-    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-    <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">#!</EOL_SPAN>\r
-    <!-- Simple string literals -->\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-    <!-- Multiline string literals -->\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>[[</BEGIN>\r
-      <END>]]</END>\r
-    </SPAN>\r
-    <!-- Operators -->\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="OPERATOR">..</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">==</SEQ>\r
-    <SEQ TYPE="OPERATOR">~=</SEQ>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <!-- Function calls and definitions -->\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">{</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">}</SEQ>\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">"</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">"</SEQ>\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">'</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">'</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- Keywords -->\r
-      <KEYWORD1>do</KEYWORD1>\r
-      <KEYWORD1>end</KEYWORD1>\r
-      <KEYWORD1>while</KEYWORD1>\r
-      <KEYWORD1>repeat</KEYWORD1>\r
-      <KEYWORD1>until</KEYWORD1>\r
-      <KEYWORD1>if</KEYWORD1>\r
-      <KEYWORD1>then</KEYWORD1>\r
-      <KEYWORD1>elseif</KEYWORD1>\r
-      <KEYWORD1>else</KEYWORD1>\r
-      <KEYWORD1>return</KEYWORD1>\r
-      <KEYWORD1>break</KEYWORD1>\r
-      <KEYWORD1>for</KEYWORD1>\r
-      <KEYWORD1>in</KEYWORD1>\r
-      <KEYWORD1>function</KEYWORD1>\r
-      <KEYWORD1>local</KEYWORD1>\r
-      <KEYWORD3>nil</KEYWORD3>\r
-      <KEYWORD3>true</KEYWORD3>\r
-      <KEYWORD3>false</KEYWORD3>\r
-      <KEYWORD1>and</KEYWORD1>\r
-      <KEYWORD1>or</KEYWORD1>\r
-      <KEYWORD1>not</KEYWORD1>\r
-      <!-- Builtin functions or special names -->\r
-      <KEYWORD2>assert</KEYWORD2>\r
-      <KEYWORD2>collectgarbage</KEYWORD2>\r
-      <KEYWORD2>dofile</KEYWORD2>\r
-      <KEYWORD2>error</KEYWORD2>\r
-      <KEYWORD2>_G</KEYWORD2>\r
-      <KEYWORD2>getfenv</KEYWORD2>\r
-      <KEYWORD2>getmetatable</KEYWORD2>\r
-      <KEYWORD2>gcinfo</KEYWORD2>\r
-      <KEYWORD2>ipairs</KEYWORD2>\r
-      <KEYWORD2>loadfile</KEYWORD2>\r
-      <KEYWORD2>loadlib</KEYWORD2>\r
-      <KEYWORD2>loadstring</KEYWORD2>\r
-      <KEYWORD2>next</KEYWORD2>\r
-      <KEYWORD2>pairs</KEYWORD2>\r
-      <KEYWORD2>pcall</KEYWORD2>\r
-      <KEYWORD2>print</KEYWORD2>\r
-      <KEYWORD2>rawequal</KEYWORD2>\r
-      <KEYWORD2>rawget</KEYWORD2>\r
-      <KEYWORD2>rawset</KEYWORD2>\r
-      <KEYWORD2>require</KEYWORD2>\r
-      <KEYWORD2>setfenv</KEYWORD2>\r
-      <KEYWORD2>setmetatable</KEYWORD2>\r
-      <KEYWORD2>tonumber</KEYWORD2>\r
-      <KEYWORD2>tostring</KEYWORD2>\r
-      <KEYWORD2>type</KEYWORD2>\r
-      <KEYWORD2>unpack</KEYWORD2>\r
-      <KEYWORD2>xpcall</KEYWORD2>\r
-      <KEYWORD2>_VERSION</KEYWORD2>\r
-      <KEYWORD2>LUA_PATH</KEYWORD2>\r
-      <KEYWORD2>_LOADED</KEYWORD2>\r
-      <KEYWORD2>_REQUIREDNAME</KEYWORD2>\r
-      <KEYWORD2>_ALERT</KEYWORD2>\r
-      <KEYWORD2>_ERRORMESSAGE</KEYWORD2>\r
-      <KEYWORD2>_PROMPT</KEYWORD2>\r
-      <KEYWORD2>__add</KEYWORD2>\r
-      <KEYWORD2>__sub</KEYWORD2>\r
-      <KEYWORD2>__mul</KEYWORD2>\r
-      <KEYWORD2>__div</KEYWORD2>\r
-      <KEYWORD2>__pow</KEYWORD2>\r
-      <KEYWORD2>__unm</KEYWORD2>\r
-      <KEYWORD2>__concat</KEYWORD2>\r
-      <KEYWORD2>__eq</KEYWORD2>\r
-      <KEYWORD2>__lt</KEYWORD2>\r
-      <KEYWORD2>__le</KEYWORD2>\r
-      <KEYWORD2>__index</KEYWORD2>\r
-      <KEYWORD2>__newindex</KEYWORD2>\r
-      <KEYWORD2>__call</KEYWORD2>\r
-      <KEYWORD2>__metatable</KEYWORD2>\r
-      <KEYWORD2>__mode</KEYWORD2>\r
-      <KEYWORD2>__tostring</KEYWORD2>\r
-      <KEYWORD2>__fenv</KEYWORD2>\r
-      <KEYWORD2>...</KEYWORD2>\r
-      <KEYWORD2>arg</KEYWORD2>\r
-      <KEYWORD2>coroutine.create</KEYWORD2>\r
-      <KEYWORD2>coroutine.resume</KEYWORD2>\r
-      <KEYWORD2>coroutine.status</KEYWORD2>\r
-      <KEYWORD2>coroutine.wrap</KEYWORD2>\r
-      <KEYWORD2>coroutine.yield</KEYWORD2>\r
-      <KEYWORD2>string.byte</KEYWORD2>\r
-      <KEYWORD2>string.char</KEYWORD2>\r
-      <KEYWORD2>string.dump</KEYWORD2>\r
-      <KEYWORD2>string.find</KEYWORD2>\r
-      <KEYWORD2>string.len</KEYWORD2>\r
-      <KEYWORD2>string.lower</KEYWORD2>\r
-      <KEYWORD2>string.rep</KEYWORD2>\r
-      <KEYWORD2>string.sub</KEYWORD2>\r
-      <KEYWORD2>string.upper</KEYWORD2>\r
-      <KEYWORD2>string.format</KEYWORD2>\r
-      <KEYWORD2>string.gfind</KEYWORD2>\r
-      <KEYWORD2>string.gsub</KEYWORD2>\r
-      <KEYWORD2>table.concat</KEYWORD2>\r
-      <KEYWORD2>table.foreach</KEYWORD2>\r
-      <KEYWORD2>table.foreachi</KEYWORD2>\r
-      <KEYWORD2>table.getn</KEYWORD2>\r
-      <KEYWORD2>table.sort</KEYWORD2>\r
-      <KEYWORD2>table.insert</KEYWORD2>\r
-      <KEYWORD2>table.remove</KEYWORD2>\r
-      <KEYWORD2>table.setn</KEYWORD2>\r
-      <KEYWORD2>math.abs</KEYWORD2>\r
-      <KEYWORD2>math.acos</KEYWORD2>\r
-      <KEYWORD2>math.asin</KEYWORD2>\r
-      <KEYWORD2>math.atan</KEYWORD2>\r
-      <KEYWORD2>math.atan2</KEYWORD2>\r
-      <KEYWORD2>math.ceil</KEYWORD2>\r
-      <KEYWORD2>math.cos</KEYWORD2>\r
-      <KEYWORD2>math.deg</KEYWORD2>\r
-      <KEYWORD2>math.exp</KEYWORD2>\r
-      <KEYWORD2>math.floor</KEYWORD2>\r
-      <KEYWORD2>math.log</KEYWORD2>\r
-      <KEYWORD2>math.log10</KEYWORD2>\r
-      <KEYWORD2>math.max</KEYWORD2>\r
-      <KEYWORD2>math.min</KEYWORD2>\r
-      <KEYWORD2>math.mod</KEYWORD2>\r
-      <KEYWORD2>math.pow</KEYWORD2>\r
-      <KEYWORD2>math.rad</KEYWORD2>\r
-      <KEYWORD2>math.sin</KEYWORD2>\r
-      <KEYWORD2>math.sqrt</KEYWORD2>\r
-      <KEYWORD2>math.tan</KEYWORD2>\r
-      <KEYWORD2>math.frexp</KEYWORD2>\r
-      <KEYWORD2>math.ldexp</KEYWORD2>\r
-      <KEYWORD2>math.random</KEYWORD2>\r
-      <KEYWORD2>math.randomseed</KEYWORD2>\r
-      <KEYWORD2>math.pi</KEYWORD2>\r
-      <KEYWORD2>io.close</KEYWORD2>\r
-      <KEYWORD2>io.flush</KEYWORD2>\r
-      <KEYWORD2>io.input</KEYWORD2>\r
-      <KEYWORD2>io.lines</KEYWORD2>\r
-      <KEYWORD2>io.open</KEYWORD2>\r
-      <KEYWORD2>io.read</KEYWORD2>\r
-      <KEYWORD2>io.tmpfile</KEYWORD2>\r
-      <KEYWORD2>io.type</KEYWORD2>\r
-      <KEYWORD2>io.write</KEYWORD2>\r
-      <KEYWORD2>io.stdin</KEYWORD2>\r
-      <KEYWORD2>io.stdout</KEYWORD2>\r
-      <KEYWORD2>io.stderr</KEYWORD2>\r
-      <KEYWORD2>os.clock</KEYWORD2>\r
-      <KEYWORD2>os.date</KEYWORD2>\r
-      <KEYWORD2>os.difftime</KEYWORD2>\r
-      <KEYWORD2>os.execute</KEYWORD2>\r
-      <KEYWORD2>os.exit</KEYWORD2>\r
-      <KEYWORD2>os.getenv</KEYWORD2>\r
-      <KEYWORD2>os.remove</KEYWORD2>\r
-      <KEYWORD2>os.rename</KEYWORD2>\r
-      <KEYWORD2>os.setlocale</KEYWORD2>\r
-      <KEYWORD2>os.time</KEYWORD2>\r
-      <KEYWORD2>os.tmpname</KEYWORD2>\r
-      <KEYWORD2>debug.debug</KEYWORD2>\r
-      <KEYWORD2>debug.gethook</KEYWORD2>\r
-      <KEYWORD2>debug.getinfo</KEYWORD2>\r
-      <KEYWORD2>debug.getlocal</KEYWORD2>\r
-      <KEYWORD2>debug.getupvalue</KEYWORD2>\r
-      <KEYWORD2>debug.setlocal</KEYWORD2>\r
-      <KEYWORD2>debug.setupvalue</KEYWORD2>\r
-      <KEYWORD2>debug.sethook</KEYWORD2>\r
-      <KEYWORD2>debug.traceback</KEYWORD2>\r
-    </KEYWORDS>\r
-  </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/mail.xml b/extra/xmode/modes/mail.xml
deleted file mode 100644 (file)
index ac49069..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=">" />\r
-               <PROPERTY NAME="noWordSep" VALUE="-_" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP="-_:)">\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT3">&gt;&gt;&gt;</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">&gt;&gt;</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">&gt;</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">| </EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">:</EOL_SPAN>\r
-               <SEQ TYPE="COMMENT2" DELEGATE="SIGNATURE"\r
-                       AT_LINE_START="TRUE">-- </SEQ>\r
-               <SEQ TYPE="KEYWORD1">:-)</SEQ>\r
-               <SEQ TYPE="KEYWORD1">:-(</SEQ>\r
-               <SEQ TYPE="KEYWORD1">:)</SEQ>\r
-               <SEQ TYPE="KEYWORD1">:(</SEQ>\r
-               <SEQ TYPE="KEYWORD1">;-)</SEQ>\r
-               <SEQ TYPE="KEYWORD1">;-(</SEQ>\r
-               <SEQ TYPE="KEYWORD1">;)</SEQ>\r
-               <SEQ TYPE="KEYWORD1">;(</SEQ>\r
-               <MARK_PREVIOUS AT_LINE_START="TRUE" TYPE="LABEL">:</MARK_PREVIOUS>\r
-       </RULES>\r
-       <RULES SET="SIGNATURE" DEFAULT="COMMENT2"/>\r
-       <RULES SET="HEADER" DEFAULT="MARKUP">\r
-               <SPAN NO_LINE_BREAK="TRUE" TYPE="KEYWORD2">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/makefile.xml b/extra/xmode/modes/makefile.xml
deleted file mode 100644 (file)
index 3f4fae7..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- Function calls -->\r
-               <SPAN_REGEXP TYPE="FUNCTION" HASH_CHAR="$" DELEGATE="MAIN">\r
-                       <BEGIN>\$\([a-zA-Z][\w-]* </BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- $(...) variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>$(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <!-- Literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+=</SEQ>\r
-               <SEQ TYPE="OPERATOR">?=</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>subst</KEYWORD1>\r
-                       <KEYWORD1>addprefix</KEYWORD1>\r
-                       <KEYWORD1>addsuffix</KEYWORD1>\r
-                       <KEYWORD1>basename</KEYWORD1>\r
-                       <KEYWORD1>dir</KEYWORD1>\r
-                       <KEYWORD1>filter</KEYWORD1>\r
-                       <KEYWORD1>filter-out</KEYWORD1>\r
-                       <KEYWORD1>findstring</KEYWORD1>\r
-                       <KEYWORD1>firstword</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>join</KEYWORD1>\r
-                       <KEYWORD1>notdir</KEYWORD1>\r
-                       <KEYWORD1>origin</KEYWORD1>\r
-                       <KEYWORD1>patsubst</KEYWORD1>\r
-                       <KEYWORD1>shell</KEYWORD1>\r
-                       <KEYWORD1>sort</KEYWORD1>\r
-                       <KEYWORD1>strip</KEYWORD1>\r
-                       <KEYWORD1>suffix</KEYWORD1>\r
-                       <KEYWORD1>wildcard</KEYWORD1>\r
-                       <KEYWORD1>word</KEYWORD1>\r
-                       <KEYWORD1>words</KEYWORD1>\r
-                       <KEYWORD1>ifeq</KEYWORD1>\r
-            <KEYWORD1>ifneq</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>endif</KEYWORD1>\r
-            <KEYWORD1>define</KEYWORD1>\r
-            <KEYWORD1>endef</KEYWORD1>\r
-            <KEYWORD1>ifdef</KEYWORD1>\r
-            <KEYWORD1>ifndef</KEYWORD1>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-       <RULES SET="VARIABLE" ESCAPE="\" IGNORE_CASE="FALSE"\r
-               DEFAULT="KEYWORD2">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- $(...) variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>$(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/maple.xml b/extra/xmode/modes/maple.xml
deleted file mode 100644 (file)
index 0bc33ca..0000000
+++ /dev/null
@@ -1,735 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Maple mode, by Jack Perry jeperry@eos.ncsu.edu -->\r
-<!-- Based on commands for Maple 7 -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-               \r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">$</SEQ>\r
-               <SEQ TYPE="OPERATOR">@@</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">||</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">::</SEQ>\r
-               <SEQ TYPE="OPERATOR">:-</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Reserved words -->\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>xor</KEYWORD1>\r
-                       <KEYWORD1>union</KEYWORD1>\r
-                       <KEYWORD1>intersect</KEYWORD1>\r
-                       <KEYWORD1>minus</KEYWORD1>\r
-                       <KEYWORD1>mod</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>assuming</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>by</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>description</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>done</KEYWORD1>\r
-                       <KEYWORD1>elif</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>error</KEYWORD1>\r
-                       <KEYWORD1>export</KEYWORD1>\r
-                       <KEYWORD1>fi</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>from</KEYWORD1>\r
-                       <KEYWORD1>global</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implies</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>module</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <KEYWORD1>od</KEYWORD1>\r
-                       <KEYWORD1>option</KEYWORD1>\r
-                       <KEYWORD1>options</KEYWORD1>\r
-                       <KEYWORD1>proc</KEYWORD1>\r
-                       <KEYWORD1>quit</KEYWORD1>\r
-                       <KEYWORD1>read</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>save</KEYWORD1>\r
-                       <KEYWORD1>stop</KEYWORD1>\r
-                       <KEYWORD1>subset</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <!-- Standard library functions -->\r
-                       <FUNCTION>about</FUNCTION>\r
-                       <FUNCTION>ans</FUNCTION>\r
-                       <FUNCTION>add</FUNCTION>\r
-                       <FUNCTION>addcoords</FUNCTION>\r
-                       <FUNCTION>additionally</FUNCTION>\r
-                       <FUNCTION>addproperty</FUNCTION>\r
-                       <FUNCTION>addressof</FUNCTION>\r
-                       <FUNCTION>AFactor</FUNCTION>\r
-                       <FUNCTION>AFactors</FUNCTION>\r
-                       <FUNCTION>AIrreduc</FUNCTION>\r
-                       <FUNCTION>AiryAi</FUNCTION>\r
-                       <FUNCTION>AiryAiZeros</FUNCTION>\r
-                       <FUNCTION>AiryBi</FUNCTION>\r
-                       <FUNCTION>AiryBiZeros</FUNCTION>\r
-                       <FUNCTION>algebraic</FUNCTION>\r
-                       <FUNCTION>algsubs</FUNCTION>\r
-                       <FUNCTION>alias</FUNCTION>\r
-                       <FUNCTION>allvalues</FUNCTION>\r
-                       <FUNCTION>anames</FUNCTION>\r
-                       <FUNCTION>AngerJ</FUNCTION>\r
-                       <FUNCTION>antihermitian</FUNCTION>\r
-                       <FUNCTION>antisymm</FUNCTION>\r
-                       <FUNCTION>apply</FUNCTION>\r
-                       <FUNCTION>applyop</FUNCTION>\r
-                       <FUNCTION>applyrule</FUNCTION>\r
-                       <FUNCTION>arccos</FUNCTION>\r
-                       <FUNCTION>arccosh</FUNCTION>\r
-                       <FUNCTION>arccot</FUNCTION>\r
-                       <FUNCTION>arccoth</FUNCTION>\r
-                       <FUNCTION>arccsc</FUNCTION>\r
-                       <FUNCTION>arccsch</FUNCTION>\r
-                       <FUNCTION>arcsec</FUNCTION>\r
-                       <FUNCTION>arcsech</FUNCTION>\r
-                       <FUNCTION>arcsin</FUNCTION>\r
-                       <FUNCTION>arcsinh</FUNCTION>\r
-                       <FUNCTION>arctan</FUNCTION>\r
-                       <FUNCTION>arctanh</FUNCTION>\r
-                       <FUNCTION>argument</FUNCTION>\r
-                       <FUNCTION>Array</FUNCTION>\r
-                       <FUNCTION>array</FUNCTION>\r
-                       <FUNCTION>ArrayDims</FUNCTION>\r
-                       <FUNCTION>ArrayElems</FUNCTION>\r
-                       <FUNCTION>ArrayIndFns</FUNCTION>\r
-                       <FUNCTION>ArrayOptions</FUNCTION>\r
-                       <FUNCTION>assign</FUNCTION>\r
-                       <FUNCTION>assigned</FUNCTION>\r
-                       <FUNCTION>asspar</FUNCTION>\r
-                       <FUNCTION>assume</FUNCTION>\r
-                       <FUNCTION>asympt</FUNCTION>\r
-                       <FUNCTION>attributes</FUNCTION>\r
-                       <FUNCTION>band</FUNCTION>\r
-                       <FUNCTION>Berlekamp</FUNCTION>\r
-                       <FUNCTION>bernoulli</FUNCTION>\r
-                       <FUNCTION>bernstein</FUNCTION>\r
-                       <FUNCTION>BesselI</FUNCTION>\r
-                       <FUNCTION>BesselJ</FUNCTION>\r
-                       <FUNCTION>BesselJZeros</FUNCTION>\r
-                       <FUNCTION>BesselK</FUNCTION>\r
-                       <FUNCTION>BesselY</FUNCTION>\r
-                       <FUNCTION>BesselYZeros</FUNCTION>\r
-                       <FUNCTION>Beta</FUNCTION>\r
-                       <FUNCTION>branches</FUNCTION>\r
-                       <FUNCTION>C</FUNCTION>\r
-                       <FUNCTION>cat</FUNCTION>\r
-                       <FUNCTION>ceil</FUNCTION>\r
-                       <FUNCTION>changecoords</FUNCTION>\r
-                       <FUNCTION>charfcn</FUNCTION>\r
-                       <FUNCTION>ChebyshevT</FUNCTION>\r
-                       <FUNCTION>ChebyShevU</FUNCTION>\r
-                       <FUNCTION>CheckArgs</FUNCTION>\r
-                       <FUNCTION>Chi</FUNCTION>\r
-                       <FUNCTION>chrem</FUNCTION>\r
-                       <FUNCTION>Ci</FUNCTION>\r
-                       <FUNCTION>close</FUNCTION>\r
-                       <FUNCTION>coeff</FUNCTION>\r
-                       <FUNCTION>coeffs</FUNCTION>\r
-                       <FUNCTION>coeftayl</FUNCTION>\r
-                       <FUNCTION>collect</FUNCTION>\r
-                       <FUNCTION>combine</FUNCTION>\r
-                       <FUNCTION>comparray</FUNCTION>\r
-                       <FUNCTION>compiletable</FUNCTION>\r
-                       <FUNCTION>compoly</FUNCTION>\r
-                       <FUNCTION>CompSeq</FUNCTION>\r
-                       <FUNCTION>conjugate</FUNCTION>\r
-                       <FUNCTION>constant</FUNCTION>\r
-                       <FUNCTION>Content</FUNCTION>\r
-                       <FUNCTION>content</FUNCTION>\r
-                       <FUNCTION>convergs</FUNCTION>\r
-                       <FUNCTION>convert</FUNCTION>\r
-                       <FUNCTION>coords</FUNCTION>\r
-                       <FUNCTION>copy</FUNCTION>\r
-                       <FUNCTION>CopySign</FUNCTION>\r
-                       <FUNCTION>cos</FUNCTION>\r
-                       <FUNCTION>cosh</FUNCTION>\r
-                       <FUNCTION>cot</FUNCTION>\r
-                       <FUNCTION>coth</FUNCTION>\r
-                       <FUNCTION>coulditbe</FUNCTION>\r
-                       <FUNCTION>csc</FUNCTION>\r
-                       <FUNCTION>csch</FUNCTION>\r
-                       <FUNCTION>csgn</FUNCTION>\r
-                       <FUNCTION>currentdir</FUNCTION>\r
-                       <FUNCTION>curry</FUNCTION>\r
-                       <FUNCTION>CylinderD</FUNCTION>\r
-                       <FUNCTION>CylinderU</FUNCTION>\r
-                       <FUNCTION>CylinderV</FUNCTION>\r
-                       <FUNCTION>D</FUNCTION>\r
-                       <FUNCTION>dawson</FUNCTION>\r
-                       <FUNCTION>Default0</FUNCTION>\r
-                       <FUNCTION>DefaultOverflow</FUNCTION>\r
-                       <FUNCTION>DefaultUnderflow</FUNCTION>\r
-                       <FUNCTION>define</FUNCTION>\r
-                       <FUNCTION>define_external</FUNCTION>\r
-                       <FUNCTION>degree</FUNCTION>\r
-                       <FUNCTION>denom</FUNCTION>\r
-                       <FUNCTION>depends</FUNCTION>\r
-                       <FUNCTION>DESol</FUNCTION>\r
-                       <FUNCTION>Det</FUNCTION>\r
-                       <FUNCTION>diagon</FUNCTION>\r
-                       <FUNCTION>Diff</FUNCTION>\r
-                       <FUNCTION>diff</FUNCTION>\r
-                       <FUNCTION>diffop</FUNCTION>\r
-                       <FUNCTION>Digits</FUNCTION>\r
-                       <FUNCTION>dilog</FUNCTION>\r
-                       <FUNCTION>dinterp</FUNCTION>\r
-                       <FUNCTION>Dirac</FUNCTION>\r
-                       <FUNCTION>disassemble</FUNCTION>\r
-                       <FUNCTION>discont</FUNCTION>\r
-                       <FUNCTION>discrim</FUNCTION>\r
-                       <FUNCTION>dismantle</FUNCTION>\r
-                       <FUNCTION>DistDeg</FUNCTION>\r
-                       <FUNCTION>Divide</FUNCTION>\r
-                       <FUNCTION>divide</FUNCTION>\r
-                       <FUNCTION>dsolve</FUNCTION>\r
-                       <FUNCTION>efficiency</FUNCTION>\r
-                       <FUNCTION>Ei</FUNCTION>\r
-                       <FUNCTION>Eigenvals</FUNCTION>\r
-                       <FUNCTION>eliminate</FUNCTION>\r
-                       <FUNCTION>ellipsoid</FUNCTION>\r
-                       <FUNCTION>EllipticCE</FUNCTION>\r
-                       <FUNCTION>EllipticCK</FUNCTION>\r
-                       <FUNCTION>EllipticCPi</FUNCTION>\r
-                       <FUNCTION>EllipticE</FUNCTION>\r
-                       <FUNCTION>EllipticF</FUNCTION>\r
-                       <FUNCTION>EllipticK</FUNCTION>\r
-                       <FUNCTION>EllipticModulus</FUNCTION>\r
-                       <FUNCTION>EllipticNome</FUNCTION>\r
-                       <FUNCTION>EllipticPi</FUNCTION>\r
-                       <FUNCTION>elliptic_int</FUNCTION>\r
-                       <FUNCTION>entries</FUNCTION>\r
-                       <FUNCTION>erf</FUNCTION>\r
-                       <FUNCTION>erfc</FUNCTION>\r
-                       <FUNCTION>erfi</FUNCTION>\r
-                       <FUNCTION>euler</FUNCTION>\r
-                       <FUNCTION>eulermac</FUNCTION>\r
-                       <FUNCTION>Eval</FUNCTION>\r
-                       <FUNCTION>eval</FUNCTION>\r
-                       <FUNCTION>evala</FUNCTION>\r
-                       <FUNCTION>evalapply</FUNCTION>\r
-                       <FUNCTION>evalb</FUNCTION>\r
-                       <FUNCTION>evalc</FUNCTION>\r
-                       <FUNCTION>evalf</FUNCTION>\r
-                       <FUNCTION>evalfint</FUNCTION>\r
-                       <FUNCTION>evalhf</FUNCTION>\r
-                       <FUNCTION>evalm</FUNCTION>\r
-                       <FUNCTION>evaln</FUNCTION>\r
-                       <FUNCTION>evalr</FUNCTION>\r
-                       <FUNCTION>evalrC</FUNCTION>\r
-                       <FUNCTION>events</FUNCTION>\r
-                       <FUNCTION>Excel</FUNCTION>\r
-                       <FUNCTION>exists</FUNCTION>\r
-                       <FUNCTION>exp</FUNCTION>\r
-                       <FUNCTION>Expand</FUNCTION>\r
-                       <FUNCTION>expand</FUNCTION>\r
-                       <FUNCTION>expandoff</FUNCTION>\r
-                       <FUNCTION>expandon</FUNCTION>\r
-                       <FUNCTION>exports</FUNCTION>\r
-                       <FUNCTION>extract</FUNCTION>\r
-                       <FUNCTION>extrema</FUNCTION>\r
-                       <FUNCTION>Factor</FUNCTION>\r
-                       <FUNCTION>factor</FUNCTION>\r
-                       <FUNCTION>Factors</FUNCTION>\r
-                       <FUNCTION>factors</FUNCTION>\r
-                       <FUNCTION>fclose</FUNCTION>\r
-                       <FUNCTION>fdiscont</FUNCTION>\r
-                       <FUNCTION>feof</FUNCTION>\r
-                       <FUNCTION>fflush</FUNCTION>\r
-                       <FUNCTION>FFT</FUNCTION>\r
-                       <FUNCTION>filepos</FUNCTION>\r
-                       <FUNCTION>fixdiv</FUNCTION>\r
-                       <FUNCTION>float</FUNCTION>\r
-                       <FUNCTION>floor</FUNCTION>\r
-                       <FUNCTION>fnormal</FUNCTION>\r
-                       <FUNCTION>fold</FUNCTION>\r
-                       <FUNCTION>fopen</FUNCTION>\r
-                       <FUNCTION>forall</FUNCTION>\r
-                       <FUNCTION>forget</FUNCTION>\r
-                       <FUNCTION>fprintf</FUNCTION>\r
-                       <FUNCTION>frac</FUNCTION>\r
-                       <FUNCTION>freeze</FUNCTION>\r
-                       <FUNCTION>frem</FUNCTION>\r
-                       <FUNCTION>fremove</FUNCTION>\r
-                       <FUNCTION>FresnelC</FUNCTION>\r
-                       <FUNCTION>Fresnelf</FUNCTION>\r
-                       <FUNCTION>Fresnelg</FUNCTION>\r
-                       <FUNCTION>FresnelS</FUNCTION>\r
-                       <FUNCTION>FromInert</FUNCTION>\r
-                       <FUNCTION>frontend</FUNCTION>\r
-                       <FUNCTION>fscanf</FUNCTION>\r
-                       <FUNCTION>fsolve</FUNCTION>\r
-                       <FUNCTION>galois</FUNCTION>\r
-                       <FUNCTION>GAMMA</FUNCTION>\r
-                       <FUNCTION>GaussAGM</FUNCTION>\r
-                       <FUNCTION>Gausselim</FUNCTION>\r
-                       <FUNCTION>Gaussjord</FUNCTION>\r
-                       <FUNCTION>gc</FUNCTION>\r
-                       <FUNCTION>Gcd</FUNCTION>\r
-                       <FUNCTION>gcd</FUNCTION>\r
-                       <FUNCTION>Gcdex</FUNCTION>\r
-                       <FUNCTION>gcdex</FUNCTION>\r
-                       <FUNCTION>GegenbauerC</FUNCTION>\r
-                       <FUNCTION>genpoly</FUNCTION>\r
-                       <FUNCTION>getenv</FUNCTION>\r
-                       <FUNCTION>GetResultDataType</FUNCTION>\r
-                       <FUNCTION>GetResultShape</FUNCTION>\r
-                       <FUNCTION>GF</FUNCTION>\r
-                       <FUNCTION>Greek</FUNCTION>\r
-                       <FUNCTION>HankelH1</FUNCTION>\r
-                       <FUNCTION>HankelH2</FUNCTION>\r
-                       <FUNCTION>harmonic</FUNCTION>\r
-                       <FUNCTION>has</FUNCTION>\r
-                       <FUNCTION>hasfun</FUNCTION>\r
-                       <FUNCTION>hasoption</FUNCTION>\r
-                       <FUNCTION>hastype</FUNCTION>\r
-                       <FUNCTION>heap</FUNCTION>\r
-                       <FUNCTION>Heaviside</FUNCTION>\r
-                       <FUNCTION>Hermite</FUNCTION>\r
-                       <FUNCTION>HermiteH</FUNCTION>\r
-                       <FUNCTION>hermitian</FUNCTION>\r
-                       <FUNCTION>Hessenberg</FUNCTION>\r
-                       <FUNCTION>hfarray</FUNCTION>\r
-                       <FUNCTION>history</FUNCTION>\r
-                       <FUNCTION>hypergeom</FUNCTION>\r
-                       <FUNCTION>icontent</FUNCTION>\r
-                       <FUNCTION>identity</FUNCTION>\r
-                       <FUNCTION>IEEEdiffs</FUNCTION>\r
-                       <FUNCTION>ifactor</FUNCTION>\r
-                       <FUNCTION>ifactors</FUNCTION>\r
-                       <FUNCTION>iFFT</FUNCTION>\r
-                       <FUNCTION>igcd</FUNCTION>\r
-                       <FUNCTION>igcdex</FUNCTION>\r
-                       <FUNCTION>ilcm</FUNCTION>\r
-                       <FUNCTION>ilog10</FUNCTION>\r
-                       <FUNCTION>ilog2</FUNCTION>\r
-                       <FUNCTION>ilog</FUNCTION>\r
-                       <FUNCTION>Im</FUNCTION>\r
-                       <FUNCTION>implicitdiff</FUNCTION>\r
-                       <FUNCTION>ImportMatrix</FUNCTION>\r
-                       <FUNCTION>ImportVector</FUNCTION>\r
-                       <FUNCTION>indets</FUNCTION>\r
-                       <FUNCTION>index</FUNCTION>\r
-                       <FUNCTION>indexed</FUNCTION>\r
-                       <FUNCTION>indices</FUNCTION>\r
-                       <FUNCTION>inifcn</FUNCTION>\r
-                       <FUNCTION>ininame</FUNCTION>\r
-                       <FUNCTION>initialcondition</FUNCTION>\r
-                       <FUNCTION>initialize</FUNCTION>\r
-                       <FUNCTION>insert</FUNCTION>\r
-                       <FUNCTION>int</FUNCTION>\r
-                       <FUNCTION>intat</FUNCTION>\r
-                       <FUNCTION>interface</FUNCTION>\r
-                       <FUNCTION>Interp</FUNCTION>\r
-                       <FUNCTION>interp</FUNCTION>\r
-                       <FUNCTION>Inverse</FUNCTION>\r
-                       <FUNCTION>invfunc</FUNCTION>\r
-                       <FUNCTION>invztrans</FUNCTION>\r
-                       <FUNCTION>iostatus</FUNCTION>\r
-                       <FUNCTION>iperfpow</FUNCTION>\r
-                       <FUNCTION>iquo</FUNCTION>\r
-                       <FUNCTION>iratrecon</FUNCTION>\r
-                       <FUNCTION>irem</FUNCTION>\r
-                       <FUNCTION>iroot</FUNCTION>\r
-                       <FUNCTION>Irreduc</FUNCTION>\r
-                       <FUNCTION>irreduc</FUNCTION>\r
-                       <FUNCTION>is</FUNCTION>\r
-                       <FUNCTION>iscont</FUNCTION>\r
-                       <FUNCTION>isdifferential</FUNCTION>\r
-                       <FUNCTION>IsMatrixShape</FUNCTION>\r
-                       <FUNCTION>isolate</FUNCTION>\r
-                       <FUNCTION>isolve</FUNCTION>\r
-                       <FUNCTION>ispoly</FUNCTION>\r
-                       <FUNCTION>isprime</FUNCTION>\r
-                       <FUNCTION>isqrfree</FUNCTION>\r
-                       <FUNCTION>isqrt</FUNCTION>\r
-                       <FUNCTION>issqr</FUNCTION>\r
-                       <FUNCTION>ithprime</FUNCTION>\r
-                       <FUNCTION>JacobiAM</FUNCTION>\r
-                       <FUNCTION>JacobiCD</FUNCTION>\r
-                       <FUNCTION>JacobiCN</FUNCTION>\r
-                       <FUNCTION>JacobiCS</FUNCTION>\r
-                       <FUNCTION>JacobiDC</FUNCTION>\r
-                       <FUNCTION>JacobiDN</FUNCTION>\r
-                       <FUNCTION>JacobiDS</FUNCTION>\r
-                       <FUNCTION>JacobiNC</FUNCTION>\r
-                       <FUNCTION>JacobiND</FUNCTION>\r
-                       <FUNCTION>JacobiNS</FUNCTION>\r
-                       <FUNCTION>JacobiP</FUNCTION>\r
-                       <FUNCTION>JacobiSC</FUNCTION>\r
-                       <FUNCTION>JacobiSD</FUNCTION>\r
-                       <FUNCTION>JacobiSN</FUNCTION>\r
-                       <FUNCTION>JacobiTheta1</FUNCTION>\r
-                       <FUNCTION>JacobiTheta2</FUNCTION>\r
-                       <FUNCTION>JacobiTheta3</FUNCTION>\r
-                       <FUNCTION>JacobiTheta4</FUNCTION>\r
-                       <FUNCTION>JacobiZeta</FUNCTION>\r
-                       <FUNCTION>KelvinBei</FUNCTION>\r
-                       <FUNCTION>KelvinBer</FUNCTION>\r
-                       <FUNCTION>KelvinHei</FUNCTION>\r
-                       <FUNCTION>KelvinHer</FUNCTION>\r
-                       <FUNCTION>KelvinKei</FUNCTION>\r
-                       <FUNCTION>KelvinKer</FUNCTION>\r
-                       <FUNCTION>KummerM</FUNCTION>\r
-                       <FUNCTION>KummerU</FUNCTION>\r
-                       <FUNCTION>LaguerreL</FUNCTION>\r
-                       <FUNCTION>LambertW</FUNCTION>\r
-                       <FUNCTION>latex</FUNCTION>\r
-                       <FUNCTION>lattice</FUNCTION>\r
-                       <FUNCTION>lcm</FUNCTION>\r
-                       <FUNCTION>Lcm</FUNCTION>\r
-                       <FUNCTION>lcoeff</FUNCTION>\r
-                       <FUNCTION>leadterm</FUNCTION>\r
-                       <FUNCTION>LegendreP</FUNCTION>\r
-                       <FUNCTION>LegendreQ</FUNCTION>\r
-                       <FUNCTION>length</FUNCTION>\r
-                       <FUNCTION>LerchPhi</FUNCTION>\r
-                       <FUNCTION>lexorder</FUNCTION>\r
-                       <FUNCTION>lhs</FUNCTION>\r
-                       <FUNCTION>CLi</FUNCTION>\r
-                       <FUNCTION>Limit</FUNCTION>\r
-                       <FUNCTION>limit</FUNCTION>\r
-                       <FUNCTION>Linsolve</FUNCTION>\r
-                       <FUNCTION>ln</FUNCTION>\r
-                       <FUNCTION>lnGAMMA</FUNCTION>\r
-                       <FUNCTION>log</FUNCTION>\r
-                       <FUNCTION>log10</FUNCTION>\r
-                       <FUNCTION>LommelS1</FUNCTION>\r
-                       <FUNCTION>Lommels2</FUNCTION>\r
-                       <FUNCTION>lprint</FUNCTION>\r
-                       <FUNCTION>map</FUNCTION>\r
-                       <FUNCTION>map2</FUNCTION>\r
-                       <FUNCTION>Maple_floats</FUNCTION>\r
-                       <FUNCTION>match</FUNCTION>\r
-                       <FUNCTION>MatlabMatrix</FUNCTION>\r
-                       <FUNCTION>Matrix</FUNCTION>\r
-                       <FUNCTION>matrix</FUNCTION>\r
-                       <FUNCTION>MatrixOptions</FUNCTION>\r
-                       <FUNCTION>max</FUNCTION>\r
-                       <FUNCTION>maximize</FUNCTION>\r
-                       <FUNCTION>maxnorm</FUNCTION>\r
-                       <FUNCTION>maxorder</FUNCTION>\r
-                       <FUNCTION>MeijerG</FUNCTION>\r
-                       <FUNCTION>member</FUNCTION>\r
-                       <FUNCTION>min</FUNCTION>\r
-                       <FUNCTION>minimize</FUNCTION>\r
-                       <FUNCTION>mkdir</FUNCTION>\r
-                       <FUNCTION>ModifiedMeijerG</FUNCTION>\r
-                       <FUNCTION>modp</FUNCTION>\r
-                       <FUNCTION>modp1</FUNCTION>\r
-                       <FUNCTION>modp2</FUNCTION>\r
-                       <FUNCTION>modpol</FUNCTION>\r
-                       <FUNCTION>mods</FUNCTION>\r
-                       <FUNCTION>module</FUNCTION>\r
-                       <FUNCTION>MOLS</FUNCTION>\r
-                       <FUNCTION>msolve</FUNCTION>\r
-                       <FUNCTION>mtaylor</FUNCTION>\r
-                       <FUNCTION>mul</FUNCTION>\r
-                       <FUNCTION>NextAfter</FUNCTION>\r
-                       <FUNCTION>nextprime</FUNCTION>\r
-                       <FUNCTION>nops</FUNCTION>\r
-                       <FUNCTION>norm</FUNCTION>\r
-                       <FUNCTION>norm</FUNCTION>\r
-                       <FUNCTION>Normal</FUNCTION>\r
-                       <FUNCTION>normal</FUNCTION>\r
-                       <FUNCTION>nprintf</FUNCTION>\r
-                       <FUNCTION>Nullspace</FUNCTION>\r
-                       <FUNCTION>numboccur</FUNCTION>\r
-                       <FUNCTION>numer</FUNCTION>\r
-                       <FUNCTION>NumericClass</FUNCTION>\r
-                       <FUNCTION>NumericEvent</FUNCTION>\r
-                       <FUNCTION>NumericEventHandler</FUNCTION>\r
-                       <FUNCTION>NumericException</FUNCTION>\r
-                       <FUNCTION>numerics</FUNCTION>\r
-                       <FUNCTION>NumericStatus</FUNCTION>\r
-                       <FUNCTION>odetest</FUNCTION>\r
-                       <FUNCTION>op</FUNCTION>\r
-                       <FUNCTION>open</FUNCTION>\r
-                       <FUNCTION>order</FUNCTION>\r
-                       <FUNCTION>OrderedNE</FUNCTION>\r
-                       <FUNCTION>parse</FUNCTION>\r
-                       <FUNCTION>patmatch</FUNCTION>\r
-                       <FUNCTION>pclose</FUNCTION>\r
-                       <FUNCTION>PDEplot_options</FUNCTION>\r
-                       <FUNCTION>pdesolve</FUNCTION>\r
-                       <FUNCTION>pdetest</FUNCTION>\r
-                       <FUNCTION>pdsolve</FUNCTION>\r
-                       <FUNCTION>piecewise</FUNCTION>\r
-                       <FUNCTION>plot</FUNCTION>\r
-                       <FUNCTION>plot3d</FUNCTION>\r
-                       <FUNCTION>plotsetup</FUNCTION>\r
-                       <FUNCTION>pochhammer</FUNCTION>\r
-                       <FUNCTION>pointto</FUNCTION>\r
-                       <FUNCTION>poisson</FUNCTION>\r
-                       <FUNCTION>polar</FUNCTION>\r
-                       <FUNCTION>polylog</FUNCTION>\r
-                       <FUNCTION>polynom</FUNCTION>\r
-                       <FUNCTION>Power</FUNCTION>\r
-                       <FUNCTION>Powmod</FUNCTION>\r
-                       <FUNCTION>powmod</FUNCTION>\r
-                       <FUNCTION>Prem</FUNCTION>\r
-                       <FUNCTION>prem</FUNCTION>\r
-                       <FUNCTION>Preprocessor</FUNCTION>\r
-                       <FUNCTION>prevprime</FUNCTION>\r
-                       <FUNCTION>Primitive</FUNCTION>\r
-                       <FUNCTION>Primpart</FUNCTION>\r
-                       <FUNCTION>primpart</FUNCTION>\r
-                       <FUNCTION>print</FUNCTION>\r
-                       <FUNCTION>printf</FUNCTION>\r
-                       <FUNCTION>ProbSplit</FUNCTION>\r
-                       <FUNCTION>procbody</FUNCTION>\r
-                       <FUNCTION>ProcessOptions</FUNCTION>\r
-                       <FUNCTION>procmake</FUNCTION>\r
-                       <FUNCTION>Product</FUNCTION>\r
-                       <FUNCTION>product</FUNCTION>\r
-                       <FUNCTION>proot</FUNCTION>\r
-                       <FUNCTION>property</FUNCTION>\r
-                       <FUNCTION>protect</FUNCTION>\r
-                       <FUNCTION>Psi</FUNCTION>\r
-                       <FUNCTION>psqrt</FUNCTION>\r
-                       <FUNCTION>queue</FUNCTION>\r
-                       <FUNCTION>Quo</FUNCTION>\r
-                       <FUNCTION>quo</FUNCTION>\r
-                       <FUNCTION>radfield</FUNCTION>\r
-                       <FUNCTION>radnormal</FUNCTION>\r
-                       <FUNCTION>radsimp</FUNCTION>\r
-                       <FUNCTION>rand</FUNCTION>\r
-                       <FUNCTION>randomize</FUNCTION>\r
-                       <FUNCTION>Randpoly</FUNCTION>\r
-                       <FUNCTION>randpoly</FUNCTION>\r
-                       <FUNCTION>Randprime</FUNCTION>\r
-                       <FUNCTION>range</FUNCTION>\r
-                       <FUNCTION>ratinterp</FUNCTION>\r
-                       <FUNCTION>rationalize</FUNCTION>\r
-                       <FUNCTION>Ratrecon</FUNCTION>\r
-                       <FUNCTION>ratrecon</FUNCTION>\r
-                       <FUNCTION>Re</FUNCTION>\r
-                       <FUNCTION>readbytes</FUNCTION>\r
-                       <FUNCTION>readdata</FUNCTION>\r
-                       <FUNCTION>readlib</FUNCTION>\r
-                       <FUNCTION>readline</FUNCTION>\r
-                       <FUNCTION>readstat</FUNCTION>\r
-                       <FUNCTION>realroot</FUNCTION>\r
-                       <FUNCTION>Record</FUNCTION>\r
-                       <FUNCTION>Reduce</FUNCTION>\r
-                       <FUNCTION>references</FUNCTION>\r
-                       <FUNCTION>release</FUNCTION>\r
-                       <FUNCTION>Rem</FUNCTION>\r
-                       <FUNCTION>rem</FUNCTION>\r
-                       <FUNCTION>remove</FUNCTION>\r
-                       <FUNCTION>repository</FUNCTION>\r
-                       <FUNCTION>requires</FUNCTION>\r
-                       <FUNCTION>residue</FUNCTION>\r
-                       <FUNCTION>RESol</FUNCTION>\r
-                       <FUNCTION>Resultant</FUNCTION>\r
-                       <FUNCTION>resultant</FUNCTION>\r
-                       <FUNCTION>rhs</FUNCTION>\r
-                       <FUNCTION>rmdir</FUNCTION>\r
-                       <FUNCTION>root</FUNCTION>\r
-                       <FUNCTION>rootbound</FUNCTION>\r
-                       <FUNCTION>RootOf</FUNCTION>\r
-                       <FUNCTION>Roots</FUNCTION>\r
-                       <FUNCTION>roots</FUNCTION>\r
-                       <FUNCTION>round</FUNCTION>\r
-                       <FUNCTION>Rounding</FUNCTION>\r
-                       <FUNCTION>rsolve</FUNCTION>\r
-                       <FUNCTION>rtable</FUNCTION>\r
-                       <FUNCTION>rtable_algebra</FUNCTION>\r
-                       <FUNCTION>rtable_dims</FUNCTION>\r
-                       <FUNCTION>rtable_elems</FUNCTION>\r
-                       <FUNCTION>rtable_indfns</FUNCTION>\r
-                       <FUNCTION>rtable_options</FUNCTION>\r
-                       <FUNCTION>rtable_printf</FUNCTION>\r
-                       <FUNCTION>rtable_scanf</FUNCTION>\r
-                       <FUNCTION>SampleRTable</FUNCTION>\r
-                       <FUNCTION>savelib</FUNCTION>\r
-                       <FUNCTION>Scale10</FUNCTION>\r
-                       <FUNCTION>Scale2</FUNCTION>\r
-                       <FUNCTION>scalar</FUNCTION>\r
-                       <FUNCTION>scan</FUNCTION>\r
-                       <FUNCTION>scanf</FUNCTION>\r
-                       <FUNCTION>SearchText</FUNCTION>\r
-                       <FUNCTION>searchtext</FUNCTION>\r
-                       <FUNCTION>sec</FUNCTION>\r
-                       <FUNCTION>sech</FUNCTION>\r
-                       <FUNCTION>select</FUNCTION>\r
-                       <FUNCTION>selectfun</FUNCTION>\r
-                       <FUNCTION>selectremove</FUNCTION>\r
-                       <FUNCTION>seq</FUNCTION>\r
-                       <FUNCTION>series</FUNCTION>\r
-                       <FUNCTION>setattribute</FUNCTION>\r
-                       <FUNCTION>SFloatExponent</FUNCTION>\r
-                       <FUNCTION>SFloatMantissa</FUNCTION>\r
-                       <FUNCTION>shale</FUNCTION>\r
-                       <FUNCTION>Shi</FUNCTION>\r
-                       <FUNCTION>showprofile</FUNCTION>\r
-                       <FUNCTION>showtime</FUNCTION>\r
-                       <FUNCTION>Si</FUNCTION>\r
-                       <FUNCTION>sign</FUNCTION>\r
-                       <FUNCTION>signum</FUNCTION>\r
-                       <FUNCTION>Simplify</FUNCTION>\r
-                       <FUNCTION>simplify</FUNCTION>\r
-                       <FUNCTION>sin</FUNCTION>\r
-                       <FUNCTION>sinh</FUNCTION>\r
-                       <FUNCTION>singular</FUNCTION>\r
-                       <FUNCTION>sinterp</FUNCTION>\r
-                       <FUNCTION>smartplot3d</FUNCTION>\r
-                       <FUNCTION>Smith</FUNCTION>\r
-                       <FUNCTION>solve</FUNCTION>\r
-                       <FUNCTION>solvefor</FUNCTION>\r
-                       <FUNCTION>sort</FUNCTION>\r
-                       <FUNCTION>sparse</FUNCTION>\r
-                       <FUNCTION>spec_eval_rule</FUNCTION>\r
-                       <FUNCTION>spline</FUNCTION>\r
-                       <FUNCTION>spreadsheet</FUNCTION>\r
-                       <FUNCTION>SPrem</FUNCTION>\r
-                       <FUNCTION>sprem</FUNCTION>\r
-                       <FUNCTION>sprintf</FUNCTION>\r
-                       <FUNCTION>Sqrfree</FUNCTION>\r
-                       <FUNCTION>sqrfree</FUNCTION>\r
-                       <FUNCTION>sqrt</FUNCTION>\r
-                       <FUNCTION>sscanf</FUNCTION>\r
-                       <FUNCTION>Ssi</FUNCTION>\r
-                       <FUNCTION>ssystem</FUNCTION>\r
-                       <FUNCTION>storage</FUNCTION>\r
-                       <FUNCTION>string</FUNCTION>\r
-                       <FUNCTION>StruveH</FUNCTION>\r
-                       <FUNCTION>StruveL</FUNCTION>\r
-                       <FUNCTION>sturm</FUNCTION>\r
-                       <FUNCTION>sturmseq</FUNCTION>\r
-                       <FUNCTION>subs</FUNCTION>\r
-                       <FUNCTION>subsindets</FUNCTION>\r
-                       <FUNCTION>subsop</FUNCTION>\r
-                       <FUNCTION>substring</FUNCTION>\r
-                       <FUNCTION>subtype</FUNCTION>\r
-                       <FUNCTION>Sum</FUNCTION>\r
-                       <FUNCTION>sum</FUNCTION>\r
-                       <FUNCTION>surd</FUNCTION>\r
-                       <FUNCTION>Svd</FUNCTION>\r
-                       <FUNCTION>symmdiff</FUNCTION>\r
-                       <FUNCTION>symmetric</FUNCTION>\r
-                       <FUNCTION>syntax</FUNCTION>\r
-                       <FUNCTION>system</FUNCTION>\r
-                       <FUNCTION>table</FUNCTION>\r
-                       <FUNCTION>tan</FUNCTION>\r
-                       <FUNCTION>tang</FUNCTION>\r
-                       <FUNCTION>taylor</FUNCTION>\r
-                       <FUNCTION>testeq</FUNCTION>\r
-                       <FUNCTION>testfloat</FUNCTION>\r
-                       <FUNCTION>TEXT</FUNCTION>\r
-                       <FUNCTION>thaw</FUNCTION>\r
-                       <FUNCTION>thiele</FUNCTION>\r
-                       <FUNCTION>time</FUNCTION>\r
-                       <FUNCTION>timelimit</FUNCTION>\r
-                       <FUNCTION>ToInert</FUNCTION>\r
-                       <FUNCTION>TopologicalSort</FUNCTION>\r
-                       <FUNCTION>traperror</FUNCTION>\r
-                       <FUNCTION>triangular</FUNCTION>\r
-                       <FUNCTION>trigsubs</FUNCTION>\r
-                       <FUNCTION>trunc</FUNCTION>\r
-                       <FUNCTION>type</FUNCTION>\r
-                       <FUNCTION>typematch</FUNCTION>\r
-                       <FUNCTION>unames</FUNCTION>\r
-                       <FUNCTION>unapply</FUNCTION>\r
-                       <FUNCTION>unassign</FUNCTION>\r
-                       <FUNCTION>undefined</FUNCTION>\r
-                       <FUNCTION>unit</FUNCTION>\r
-                       <FUNCTION>Unordered</FUNCTION>\r
-                       <FUNCTION>unprotect</FUNCTION>\r
-                       <FUNCTION>update</FUNCTION>\r
-                       <FUNCTION>UseHardwareFloats</FUNCTION>\r
-                       <FUNCTION>userinfo</FUNCTION>\r
-                       <FUNCTION>value</FUNCTION>\r
-                       <FUNCTION>Vector</FUNCTION>\r
-                       <FUNCTION>vector</FUNCTION>\r
-                       <FUNCTION>verify</FUNCTION>\r
-                       <FUNCTION>WeierstrassP</FUNCTION>\r
-                       <FUNCTION>WeberE</FUNCTION>\r
-                       <FUNCTION>WeierstrassPPrime</FUNCTION>\r
-                       <FUNCTION>WeierstrassSigma</FUNCTION>\r
-                       <FUNCTION>WeierstrassZeta</FUNCTION>\r
-                       <FUNCTION>whattype</FUNCTION>\r
-                       <FUNCTION>WhittakerM</FUNCTION>\r
-                       <FUNCTION>WhittakerW</FUNCTION>\r
-                       <FUNCTION>with</FUNCTION>\r
-                       <FUNCTION>worksheet</FUNCTION>\r
-                       <FUNCTION>writebytes</FUNCTION>\r
-                       <FUNCTION>writedata</FUNCTION>\r
-                       <FUNCTION>writeline</FUNCTION>\r
-                       <FUNCTION>writestat</FUNCTION>\r
-                       <FUNCTION>writeto</FUNCTION>\r
-                       <FUNCTION>zero</FUNCTION>\r
-                       <FUNCTION>Zeta</FUNCTION>\r
-                       <FUNCTION>zip</FUNCTION>\r
-                       <FUNCTION>ztrans</FUNCTION>\r
-\r
-                       <!-- Initially known names -->\r
-                       <LITERAL2>Catalan</LITERAL2>\r
-                       <LITERAL2>constants</LITERAL2>\r
-                       <LITERAL2>Digits</LITERAL2>\r
-                       <LITERAL2>FAIL</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>gamma</LITERAL2>\r
-                       <LITERAL2>I</LITERAL2>\r
-                       <LITERAL2>infinity</LITERAL2>\r
-                       <LITERAL2>integrate</LITERAL2>\r
-                       <LITERAL2>lasterror</LITERAL2>\r
-                       <LITERAL2>libname</LITERAL2>\r
-                       <LITERAL2>`mod`</LITERAL2>\r
-                       <LITERAL2>NULL</LITERAL2>\r
-                       <LITERAL2>Order</LITERAL2>\r
-                       <LITERAL2>Pi</LITERAL2>\r
-                       <LITERAL2>printlevel</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>undefined</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ml.xml b/extra/xmode/modes/ml.xml
deleted file mode 100644 (file)
index 97ec02c..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- SML MODE by Ingmar Stein -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="(*"/>\r
-               <PROPERTY NAME="commentEnd" VALUE="*)"/>\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>(*</BEGIN>\r
-                       <END>*)</END>\r
-               </SPAN>\r
-\r
-               <!-- character literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>#"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- string literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- built-in operators -->\r
-\r
-               <!-- infix precedence 7 -->\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <!-- infix precedence 6 -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-\r
-               <!-- infix precedence 5 -->\r
-               <SEQ TYPE="OPERATOR">::</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-\r
-               <!-- infix precedence 4 -->\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-\r
-               <!-- infix precedence 3 -->\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-\r
-               <!-- reserved words -->\r
-               <!-- <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">:&gt;</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="NULL">...</SEQ>\r
-               <SEQ TYPE="NULL">_</SEQ>\r
-               <SEQ TYPE="NULL">|</SEQ>\r
-               <SEQ TYPE="NULL">=&gt;</SEQ>\r
-               <SEQ TYPE="NULL">-&gt;</SEQ>\r
-               <SEQ TYPE="NULL">#</SEQ> -->\r
-\r
-               <KEYWORDS>\r
-                       <!-- built-in operators -->\r
-\r
-                       <!-- infix precedence 7 -->\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-\r
-                       <!-- infix precedence 3 -->\r
-                       <OPERATOR>o</OPERATOR>\r
-\r
-                       <!-- infix precedence 0 -->\r
-                       <OPERATOR>before</OPERATOR>\r
-\r
-                       <!-- reserved words -->\r
-                       <KEYWORD1>abstype</KEYWORD1>\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>andalso</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>datatype</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>eqtype</KEYWORD1>\r
-                       <KEYWORD1>exception</KEYWORD1>\r
-                       <KEYWORD1>fn</KEYWORD1>\r
-                       <KEYWORD1>fun</KEYWORD1>\r
-                       <KEYWORD1>functor</KEYWORD1>\r
-                       <KEYWORD1>handle</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>include</KEYWORD1>\r
-                       <KEYWORD1>infix</KEYWORD1>\r
-                       <KEYWORD1>infixr</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>nonfix</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>op</KEYWORD1>\r
-                       <KEYWORD1>open</KEYWORD1>\r
-                       <KEYWORD1>orelse</KEYWORD1>\r
-                       <KEYWORD1>raise</KEYWORD1>\r
-                       <KEYWORD1>rec</KEYWORD1>\r
-                       <KEYWORD1>sharing</KEYWORD1>\r
-                       <KEYWORD1>sig</KEYWORD1>\r
-                       <KEYWORD1>signature</KEYWORD1>\r
-                       <KEYWORD1>struct</KEYWORD1>\r
-                       <KEYWORD1>structure</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>type</KEYWORD1>\r
-                       <KEYWORD1>val</KEYWORD1>\r
-                       <KEYWORD1>where</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>withtype</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <!-- built-in types -->\r
-                       <KEYWORD3>array</KEYWORD3>\r
-                       <KEYWORD3>bool</KEYWORD3>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD3>exn</KEYWORD3>\r
-                       <KEYWORD3>frag</KEYWORD3>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>option</KEYWORD3>\r
-                       <KEYWORD3>order</KEYWORD3>\r
-                       <KEYWORD3>real</KEYWORD3>\r
-                       <KEYWORD3>ref</KEYWORD3>\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>substring</KEYWORD3>\r
-                       <KEYWORD3>unit</KEYWORD3>\r
-                       <KEYWORD3>vector</KEYWORD3>\r
-                       <KEYWORD3>word</KEYWORD3>\r
-                       <KEYWORD3>word8</KEYWORD3>\r
-\r
-                       <!-- build-in exception constructors -->\r
-                       <KEYWORD2>Bind</KEYWORD2>\r
-                       <KEYWORD2>Chr</KEYWORD2>\r
-                       <KEYWORD2>Domain</KEYWORD2>\r
-                       <KEYWORD2>Div</KEYWORD2>\r
-                       <KEYWORD2>Fail</KEYWORD2>\r
-                       <KEYWORD2>Graphic</KEYWORD2>\r
-                       <KEYWORD2>Interrupt</KEYWORD2>\r
-                       <KEYWORD2>Io</KEYWORD2>\r
-                       <KEYWORD2>Match</KEYWORD2>\r
-                       <KEYWORD2>Option</KEYWORD2>\r
-                       <KEYWORD2>Ord</KEYWORD2>\r
-                       <KEYWORD2>Overflow</KEYWORD2>\r
-                       <KEYWORD2>Size</KEYWORD2>\r
-                       <KEYWORD2>Subscript</KEYWORD2>\r
-                       <KEYWORD2>SysErr</KEYWORD2>\r
-\r
-                       <!-- built-in literals -->\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>QUOTE</LITERAL2>\r
-                       <LITERAL2>ANTIQUOTE</LITERAL2>\r
-                       <LITERAL2>nil</LITERAL2>\r
-                       <LITERAL2>NONE</LITERAL2>\r
-                       <LITERAL2>SOME</LITERAL2>\r
-                       <LITERAL2>LESS</LITERAL2>\r
-                       <LITERAL2>EQUAL</LITERAL2>\r
-                       <LITERAL2>GREATER</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>
\ No newline at end of file
diff --git a/extra/xmode/modes/modula3.xml b/extra/xmode/modes/modula3.xml
deleted file mode 100644 (file)
index fa04e9c..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Modula-3 mode, by Marcio Marchini mqm@magma.ca -->\r
-<!-- See http://www.research.compaq.com/SRC/m3defn/html/syntax.html -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="(*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*)" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <!-- Compiler directives. -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;*</BEGIN>\r
-                       <END>*&gt;</END>\r
-               </SPAN>\r
-               \r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>(*</BEGIN>\r
-                       <END>*)</END>\r
-               </SPAN>\r
-\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>DO</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>REPEAT</KEYWORD1>\r
-                       <KEYWORD1>UNTIL</KEYWORD1>\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>GENERIC</KEYWORD1>\r
-                       <KEYWORD1>OBJECT</KEYWORD1>\r
-                       <KEYWORD1>RETURN</KEYWORD1>\r
-                       <KEYWORD1>UNTRACED</KEYWORD1>\r
-                       <KEYWORD1>ARRAY</KEYWORD1>\r
-                       <KEYWORD1>ELSIF</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>OF</KEYWORD1>\r
-                       <KEYWORD1>REVEAL</KEYWORD1>\r
-                       <KEYWORD1>VALUE</KEYWORD1>\r
-                       <KEYWORD1>AS</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>IMPORT</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>ROOT</KEYWORD1>\r
-                       <KEYWORD1>VAR</KEYWORD1>\r
-                       <KEYWORD1>BEGIN</KEYWORD1>\r
-                       <KEYWORD1>EVAL</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>OVERRIDES</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>BITS</KEYWORD1>\r
-                       <KEYWORD1>EXCEPT</KEYWORD1>\r
-                       <KEYWORD1>INTERFACE</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>BRANDED</KEYWORD1>\r
-                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
-                       <KEYWORD1>LOCK</KEYWORD1>\r
-                       <KEYWORD1>RAISE</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>EXIT</KEYWORD1>\r
-                       <KEYWORD1>LOOP</KEYWORD1>\r
-                       <KEYWORD1>RAISES</KEYWORD1>\r
-                       <KEYWORD1>TRY</KEYWORD1>\r
-                       <KEYWORD1>CASE</KEYWORD1>\r
-                       <KEYWORD1>EXPORTS</KEYWORD1>\r
-                       <KEYWORD1>METHODS</KEYWORD1>\r
-                       <KEYWORD1>READONLY</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>CONST</KEYWORD1>\r
-                       <KEYWORD1>FINALLY</KEYWORD1>\r
-                       <KEYWORD1>MOD</KEYWORD1>\r
-                       <KEYWORD1>RECORD</KEYWORD1>\r
-                       <KEYWORD1>TYPECASE</KEYWORD1>\r
-                       <KEYWORD1>DIV</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>MODULE</KEYWORD1>\r
-                       <KEYWORD1>REF</KEYWORD1>\r
-                       <KEYWORD1>UNSAFE</KEYWORD1>\r
-\r
-                       <!-- Reserved identifiers -->\r
-                       <LITERAL2>ABS</LITERAL2>\r
-                       <LITERAL2>BYTESIZE</LITERAL2>\r
-                       <LITERAL2>EXTENDED</LITERAL2>\r
-                       <LITERAL2>INTEGER</LITERAL2>\r
-                       <LITERAL2>MIN</LITERAL2>\r
-                       <LITERAL2>NUMBER</LITERAL2>\r
-                       <LITERAL2>TEXT</LITERAL2>\r
-                       <LITERAL2>ADDRESS</LITERAL2>\r
-                       <LITERAL2>CARDINAL</LITERAL2>\r
-                       <LITERAL2>FALSE</LITERAL2>\r
-                       <LITERAL2>ISTYPE</LITERAL2>\r
-                       <LITERAL2>MUTEX</LITERAL2>\r
-                       <LITERAL2>ORD</LITERAL2>\r
-                       <LITERAL2>TRUE</LITERAL2>\r
-                       <LITERAL2>ADR</LITERAL2>\r
-                       <LITERAL2>CEILING</LITERAL2>\r
-                       <LITERAL2>FIRST</LITERAL2>\r
-                       <LITERAL2>LAST</LITERAL2>\r
-                       <LITERAL2>NARROW</LITERAL2>\r
-                       <LITERAL2>REAL</LITERAL2>\r
-                       <LITERAL2>TRUNC</LITERAL2>\r
-                       <LITERAL2>ADRSIZE</LITERAL2>\r
-                       <LITERAL2>CHAR</LITERAL2>\r
-                       <LITERAL2>FLOAT</LITERAL2>\r
-                       <LITERAL2>LONGREAL</LITERAL2>\r
-                       <LITERAL2>NEW</LITERAL2>\r
-                       <LITERAL2>REFANY</LITERAL2>\r
-                       <LITERAL2>TYPECODE</LITERAL2>\r
-                       <LITERAL2>BITSIZE</LITERAL2>\r
-                       <LITERAL2>DEC</LITERAL2>\r
-                       <LITERAL2>FLOOR</LITERAL2>\r
-                       <LITERAL2>LOOPHOLE</LITERAL2>\r
-                       <LITERAL2>NIL</LITERAL2>\r
-                       <LITERAL2>ROUND</LITERAL2>\r
-                       <LITERAL2>VAL</LITERAL2>\r
-                       <LITERAL2>BOOLEAN</LITERAL2>\r
-                       <LITERAL2>DISPOSE</LITERAL2>\r
-                       <LITERAL2>INC</LITERAL2>\r
-                       <LITERAL2>MAX</LITERAL2>\r
-                       <LITERAL2>NULL</LITERAL2>\r
-                       <LITERAL2>SUBARRAY</LITERAL2>\r
-                       \r
-                       <!-- Standard interfaces -->\r
-                       <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
-                       <KEYWORD2>Text</KEYWORD2>\r
-                       <KEYWORD2>Thread</KEYWORD2>\r
-                       <KEYWORD2>Word</KEYWORD2>\r
-                       <KEYWORD2>Real</KEYWORD2>\r
-                       <KEYWORD2>LongReal</KEYWORD2>\r
-                       <KEYWORD2>ExtendedReal</KEYWORD2>\r
-                       <KEYWORD2>RealFloat</KEYWORD2>\r
-                       <KEYWORD2>LongFloat</KEYWORD2>\r
-                       <KEYWORD2>ExtendedFloat</KEYWORD2>\r
-                       <KEYWORD2>FloatMode</KEYWORD2>\r
-\r
-                       <!-- Recommended interfaces -->\r
-                       <!--  http://www.research.compaq.com/SRC/m3defn/html/intfs.html -->\r
-                       <KEYWORD3>Fmt</KEYWORD3>\r
-                       <KEYWORD3>Lex</KEYWORD3>\r
-                       <KEYWORD3>Pickle</KEYWORD3>\r
-                       <KEYWORD3>Table</KEYWORD3>\r
-                       \r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/moin.xml b/extra/xmode/modes/moin.xml
deleted file mode 100644 (file)
index cc6ac75..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="##" />\r
-               <PROPERTY NAME="wrap" VALUE="soft" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
-\r
-               <!-- comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">##</EOL_SPAN>\r
-\r
-               <!-- directive -->\r
-               <EOL_SPAN TYPE="KEYWORD2">#pragma</EOL_SPAN>\r
-\r
-               <!-- macro -->\r
-               <SPAN TYPE="KEYWORD4">\r
-                       <BEGIN>[[</BEGIN>\r
-                       <END>]]</END>\r
-               </SPAN>\r
-\r
-               <!-- term definition -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR=' '\r
-                       AT_LINE_START='TRUE'\r
-                       TYPE="LABEL"\r
-               >\s+(?:\(|\)|\w)[\p{Alnum}\p{Blank}.()]+::</SEQ_REGEXP>\r
-\r
-               <!-- smileys -->\r
-               <!-- not on by default because it slows things down a bit\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\sB\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\)\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\;\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:D\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%lt;\:\(\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\sX\-\(\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:o\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\(\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\/\!\\\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%lt;\!\b\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\(\!\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\-\?\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\:\b\:\b\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\%\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\@\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\|\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\;\)\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\(\.\/\)\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{OK\}\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{X\}\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{i\}\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{1\}\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{2\}\s</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=' ' AT_LINE_START='FALSE' TYPE="LITERAL3">\s\{3\}\s</SEQ_REGEXP>\r
-               -->\r
-\r
-               <!-- code or literal -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>{{{</BEGIN>\r
-                       <END>}}}</END>\r
-               </SPAN>\r
-\r
-               <!-- code or literal -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <!-- bold or italic -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="''"\r
-                       TYPE="LITERAL1"\r
-               >('{2,5})[^']+\1[^']</SEQ_REGEXP>\r
-\r
-               <!-- horizontal rule -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="----"\r
-                       TYPE="LITERAL4"\r
-               >-{4,}</SEQ_REGEXP>\r
-\r
-               <!-- section header -->\r
-               <SPAN_REGEXP\r
-                       HASH_CHAR="="\r
-                       TYPE="KEYWORD1"\r
-                       AT_LINE_START="TRUE"\r
-               >\r
-                       <BEGIN>(={1,5}) </BEGIN>\r
-                       <END> $1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- implicit WikiWords - a bit of a hack, but I can't think of a better way... -->\r
-               <SEQ_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ" AT_WORD_START="TRUE" TYPE="KEYWORD2">[A-Z][a-z]+[A-Z][a-zA-Z]+</SEQ_REGEXP>\r
-\r
-               <!-- explicit WikiWord -->\r
-               <SPAN TYPE="KEYWORD2">\r
-                       <BEGIN>[&quot;</BEGIN>\r
-                       <END>&quot;]</END>\r
-               </SPAN>\r
-\r
-               <!-- url -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/mqsc.xml b/extra/xmode/modes/mqsc.xml
deleted file mode 100644 (file)
index 9fdc9c8..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--\r
-  IBM WebSphere MQ Scripting (MQSC)\r
-  - by Aaron Bell <aaron@clockworklogic.co.uk>\r
-  - accurate for WebSphere MQ 5.2.\r
-  - ensure your LITERAL1 and LITERAL2 colours are set differently.\r
--->\r
-<MODE>\r
-  <PROPS>\r
-    <!-- asterisks are comments -->\r
-    <PROPERTY NAME="lineComment" VALUE="*"/>\r
-  </PROPS>\r
-  <!-- ignore case, highlight numbers -->\r
-  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-    <!-- lines beginning with asterisk are comments -->\r
-    <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>\r
-\r
-    <!-- brackets on one line delimit parameter values, don't parse -->\r
-    <!-- case 1: string values using apostrophe marks -->\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" MATCH_TYPE="OPERATOR">\r
-      <BEGIN>('</BEGIN>\r
-      <END>')</END>\r
-    </SPAN>\r
-    <!-- case 2: literal values and object names -->\r
-    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" MATCH_TYPE="OPERATOR">\r
-      <BEGIN>(</BEGIN>\r
-      <END>)</END>\r
-    </SPAN>\r
-\r
-    <!-- line continuation symbol -->\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- KEYWORD1 are core MQSC commands -->\r
-      <KEYWORD1>all</KEYWORD1><!-- as in DIS Q(X) ALL -->\r
-      <KEYWORD1>alter</KEYWORD1>\r
-      <KEYWORD1>alt</KEYWORD1>\r
-      <KEYWORD1>clear</KEYWORD1>\r
-      <KEYWORD1>define</KEYWORD1>\r
-      <KEYWORD1>def</KEYWORD1>\r
-      <KEYWORD1>delete</KEYWORD1>\r
-      <KEYWORD1>display</KEYWORD1>\r
-      <KEYWORD1>dis</KEYWORD1>\r
-      <KEYWORD1>end</KEYWORD1>\r
-      <KEYWORD1>like</KEYWORD1><!-- as in DEF Q(X) LIKE(Y) -->\r
-      <KEYWORD1>ping</KEYWORD1>\r
-      <KEYWORD1>refresh</KEYWORD1>\r
-      <KEYWORD1>ref</KEYWORD1>\r
-      <KEYWORD1>replace</KEYWORD1><!-- as in DEF Q(X) REPLACE -->\r
-      <KEYWORD1>reset</KEYWORD1>\r
-      <KEYWORD1>resolve</KEYWORD1>\r
-      <KEYWORD1>resume</KEYWORD1>\r
-      <KEYWORD1>start</KEYWORD1>\r
-      <KEYWORD1>stop</KEYWORD1>\r
-      <KEYWORD1>suspend</KEYWORD1>\r
-\r
-      <!-- KEYWORD2 are object types -->\r
-      <KEYWORD2>channel</KEYWORD2>\r
-      <KEYWORD2>chl</KEYWORD2>\r
-      <KEYWORD2>chstatus</KEYWORD2>\r
-      <KEYWORD2>chst</KEYWORD2>\r
-      <KEYWORD2>clusqmgr</KEYWORD2>\r
-      <KEYWORD2>process</KEYWORD2>\r
-      <KEYWORD2>proc</KEYWORD2>\r
-      <KEYWORD2>namelist</KEYWORD2>\r
-      <KEYWORD2>nl</KEYWORD2>\r
-      <KEYWORD2>qalias</KEYWORD2>\r
-      <KEYWORD2>qa</KEYWORD2>\r
-      <KEYWORD2>qcluster</KEYWORD2>\r
-      <KEYWORD2>qc</KEYWORD2>\r
-      <KEYWORD2>qlocal</KEYWORD2>\r
-      <KEYWORD2>ql</KEYWORD2>\r
-      <KEYWORD2>qmodel</KEYWORD2>\r
-      <KEYWORD2>qm</KEYWORD2>\r
-      <KEYWORD2>qmgr</KEYWORD2>\r
-      <KEYWORD2>qremote</KEYWORD2>\r
-      <KEYWORD2>qr</KEYWORD2>\r
-      <KEYWORD2>queue</KEYWORD2>\r
-\r
-      <!-- MARKUP are object attributes -->\r
-      <MARKUP>altdate</MARKUP>\r
-      <MARKUP>alttime</MARKUP>\r
-      <MARKUP>applicid</MARKUP>\r
-      <MARKUP>appltype</MARKUP>\r
-      <MARKUP>authorev</MARKUP>\r
-      <MARKUP>batches</MARKUP>\r
-      <MARKUP>batchint</MARKUP>\r
-      <MARKUP>batchsz</MARKUP>\r
-      <MARKUP>boqname</MARKUP>\r
-      <MARKUP>bothresh</MARKUP>\r
-      <MARKUP>bufsrcvd</MARKUP>\r
-      <MARKUP>bufssent</MARKUP>\r
-      <MARKUP>bytsrcvd</MARKUP>\r
-      <MARKUP>bytssent</MARKUP>\r
-      <MARKUP>ccsid</MARKUP>\r
-      <MARKUP>chad</MARKUP>\r
-      <MARKUP>chadev</MARKUP>\r
-      <MARKUP>chadexit</MARKUP>\r
-      <MARKUP>channel</MARKUP>\r
-      <MARKUP>chltype</MARKUP>\r
-      <MARKUP>chstada</MARKUP>\r
-      <MARKUP>chstati</MARKUP>\r
-      <MARKUP>clusdate</MARKUP>\r
-      <MARKUP>clusinfo</MARKUP>\r
-      <MARKUP>clusnl</MARKUP>\r
-      <MARKUP>clusqmgr</MARKUP>\r
-      <MARKUP>clusqt</MARKUP>\r
-      <MARKUP>cluster</MARKUP>\r
-      <MARKUP>clustime</MARKUP>\r
-      <MARKUP>clwldata</MARKUP>\r
-      <MARKUP>clwlexit</MARKUP>\r
-      <MARKUP>clwlwen</MARKUP>\r
-      <MARKUP>cmdlevel</MARKUP>\r
-      <MARKUP>commandq</MARKUP>\r
-      <MARKUP>conname</MARKUP>\r
-      <MARKUP>convert</MARKUP>\r
-      <MARKUP>crdate</MARKUP>\r
-      <MARKUP>crtime</MARKUP>\r
-      <MARKUP>curdepth</MARKUP>\r
-      <MARKUP>curluwid</MARKUP>\r
-      <MARKUP>curmsgs</MARKUP>\r
-      <MARKUP>curseqno</MARKUP>\r
-      <MARKUP>deadq</MARKUP>\r
-      <MARKUP>defbind</MARKUP>\r
-      <MARKUP>defprty</MARKUP>\r
-      <MARKUP>defpsist</MARKUP>\r
-      <MARKUP>defsopt</MARKUP>\r
-      <MARKUP>deftype</MARKUP>\r
-      <MARKUP>defxmitq</MARKUP>\r
-      <MARKUP>descr</MARKUP>\r
-      <MARKUP>discint</MARKUP>\r
-      <MARKUP>distl</MARKUP>\r
-      <MARKUP>envrdata</MARKUP>\r
-      <MARKUP>get</MARKUP>\r
-      <MARKUP>hardenbo</MARKUP>\r
-      <MARKUP>hbint</MARKUP>\r
-      <MARKUP>indoubt</MARKUP>\r
-      <MARKUP>inhibtev</MARKUP>\r
-      <MARKUP>initq</MARKUP>\r
-      <MARKUP>ipprocs</MARKUP>\r
-      <MARKUP>jobname</MARKUP>\r
-      <MARKUP>localev</MARKUP>\r
-      <MARKUP>longrts</MARKUP>\r
-      <MARKUP>longrty</MARKUP>\r
-      <MARKUP>longtmr</MARKUP>\r
-      <MARKUP>lstluwid</MARKUP>\r
-      <MARKUP>lstmsgda</MARKUP>\r
-      <MARKUP>lstmsgti</MARKUP>\r
-      <MARKUP>lstseqno</MARKUP>\r
-      <MARKUP>maxdepth</MARKUP>\r
-      <MARKUP>maxhands</MARKUP>\r
-      <MARKUP>maxmsgl</MARKUP>\r
-      <MARKUP>maxprty</MARKUP>\r
-      <MARKUP>maxumsgs</MARKUP>\r
-      <MARKUP>mcaname</MARKUP>\r
-      <MARKUP>mcastat</MARKUP>\r
-      <MARKUP>mcatype</MARKUP>\r
-      <MARKUP>mcauser</MARKUP>\r
-      <MARKUP>modename</MARKUP>\r
-      <MARKUP>mrdata</MARKUP>\r
-      <MARKUP>mrexit</MARKUP>\r
-      <MARKUP>mrrty</MARKUP>\r
-      <MARKUP>mrtmr</MARKUP>\r
-      <MARKUP>msgdata</MARKUP>\r
-      <MARKUP>msgdlvsq</MARKUP>\r
-      <MARKUP>msgexit</MARKUP>\r
-      <MARKUP>msgs</MARKUP>\r
-      <MARKUP>namcount</MARKUP>\r
-      <MARKUP>names</MARKUP>\r
-      <MARKUP>netprty</MARKUP>\r
-      <MARKUP>npmspeed</MARKUP>\r
-      <MARKUP>opprocs</MARKUP>\r
-      <MARKUP>password</MARKUP>\r
-      <MARKUP>perfmev</MARKUP>\r
-      <MARKUP>platform</MARKUP>\r
-      <MARKUP>process</MARKUP>\r
-      <MARKUP>put</MARKUP>\r
-      <MARKUP>putaut</MARKUP>\r
-      <MARKUP>qdepthhi</MARKUP>\r
-      <MARKUP>qdepthlo</MARKUP>\r
-      <MARKUP>qdphiev</MARKUP>\r
-      <MARKUP>qdploev</MARKUP>\r
-      <MARKUP>qdpmaxev</MARKUP>\r
-      <MARKUP>qmid</MARKUP>\r
-      <MARKUP>qmname</MARKUP>\r
-      <MARKUP>qmtype</MARKUP>\r
-      <MARKUP>qsvciev</MARKUP>\r
-      <MARKUP>qsvcint</MARKUP>\r
-      <MARKUP>qtype</MARKUP>\r
-      <MARKUP>rcvdata</MARKUP>\r
-      <MARKUP>rcvexit</MARKUP>\r
-      <MARKUP>remoteev</MARKUP>\r
-      <MARKUP>repos</MARKUP>\r
-      <MARKUP>reposnl</MARKUP>\r
-      <MARKUP>retintvl</MARKUP>\r
-      <MARKUP>rname</MARKUP>\r
-      <MARKUP>rqmname</MARKUP>\r
-      <MARKUP>scope</MARKUP>\r
-      <MARKUP>scydata</MARKUP>\r
-      <MARKUP>scyexit</MARKUP>\r
-      <MARKUP>senddata</MARKUP>\r
-      <MARKUP>sendexit</MARKUP>\r
-      <MARKUP>seqwrap</MARKUP>\r
-      <MARKUP>share</MARKUP>\r
-      <MARKUP>shortrts</MARKUP>\r
-      <MARKUP>shortrty</MARKUP>\r
-      <MARKUP>shorttmr</MARKUP>\r
-      <MARKUP>status</MARKUP>\r
-      <MARKUP>stopreq</MARKUP>\r
-      <MARKUP>strstpev</MARKUP>\r
-      <MARKUP>suspend</MARKUP>\r
-      <MARKUP>syncpt</MARKUP>\r
-      <MARKUP>targq</MARKUP>\r
-      <MARKUP>tpname</MARKUP>\r
-      <MARKUP>trigdata</MARKUP>\r
-      <MARKUP>trigdpth</MARKUP>\r
-      <MARKUP>trigger</MARKUP>\r
-      <MARKUP>trigint</MARKUP>\r
-      <MARKUP>trigmpri</MARKUP>\r
-      <MARKUP>trigtype</MARKUP>\r
-      <MARKUP>trptype</MARKUP>\r
-      <MARKUP>type</MARKUP>\r
-      <MARKUP>usage</MARKUP>\r
-      <MARKUP>userdata</MARKUP>\r
-      <MARKUP>userid</MARKUP>\r
-      <MARKUP>xmitq</MARKUP>\r
-    </KEYWORDS>\r
-  </RULES>\r
-</MODE>
\ No newline at end of file
diff --git a/extra/xmode/modes/myghty.xml b/extra/xmode/modes/myghty.xml
deleted file mode 100644 (file)
index 1cf83ef..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="myghty"                    FILE="myghty.xml"\r
-                               FILE_NAME_GLOB="*.myt"/>\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">#</EOL_SPAN>\r
-               <!-- <SEQ TYPE="LITERAL4" AT_LINE_END="TRUE">\</SEQ> -->\r
-\r
-               <!-- attr block (python) -->\r
-               <SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">\r
-                       <BEGIN>&lt;%attr&gt;</BEGIN>\r
-                       <END>&lt;/%attr&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- def, closure, method -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;%" TYPE="LITERAL4" DELEGATE="DEF">\r
-                       <BEGIN>&lt;%(def|closure|method)</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="&lt;/%" TYPE="LITERAL4">&lt;/%(def|closure|method)&gt;</SEQ_REGEXP>\r
-\r
-               <!-- doc block -->\r
-               <SPAN TYPE="COMMENT4">\r
-                       <BEGIN>&lt;%doc&gt;</BEGIN>\r
-                       <END>&lt;/%doc&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- flags block (python) -->\r
-               <SPAN DELEGATE="MYGHTY" TYPE="LITERAL4">\r
-                       <BEGIN>&lt;%flags&gt;</BEGIN>\r
-                       <END>&lt;/%flags&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- python block -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;%python" DELEGATE="MYGHTY" TYPE="LITERAL4">\r
-                       <BEGIN>&lt;%python[^&gt;]*&gt;</BEGIN>\r
-                       <END>&lt;/%python&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- python block aliases - don't take args -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;%" DELEGATE="MYGHTY" TYPE="LITERAL4">\r
-                       <BEGIN>&lt;%(args|cleanup|filter|global|init|once|requestlocal|requestonce|shared|threadlocal|threadonce)&gt;</BEGIN>\r
-                       <END>&lt;/%$1&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- text block -->\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>&lt;%text&gt;</BEGIN>\r
-                       <END>&lt;/%text&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- calling component -->\r
-               <SEQ TYPE="LITERAL4">&lt;/&amp;&gt;</SEQ>\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&amp;" TYPE="LITERAL4" DELEGATE="MYGHTY">\r
-                       <BEGIN>&lt;&amp;[|]?</BEGIN>\r
-                       <END>&amp;&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- substitutions -->\r
-               <SPAN TYPE="LITERAL3" DELEGATE="MYGHTY">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN \r
-                       AT_LINE_START="TRUE" \r
-                       DELEGATE="MYGHTY" \r
-                       TYPE="LITERAL4">%</EOL_SPAN>\r
-\r
-               <IMPORT DELEGATE="html::MAIN"/>\r
-\r
-               <KEYWORDS>\r
-                       <!-- only here for complete-word -->\r
-                       <NULL>args</NULL>\r
-                       <NULL>attr</NULL>\r
-                       <NULL>cleanup</NULL>\r
-                       <NULL>closure</NULL>\r
-                       <NULL>def</NULL>\r
-                       <NULL>doc</NULL>\r
-                       <NULL>filter</NULL>\r
-                       <NULL>flags</NULL>\r
-                       <NULL>global</NULL>\r
-                       <NULL>init</NULL>\r
-                       <NULL>method</NULL>\r
-                       <NULL>once</NULL>\r
-                       <NULL>python</NULL>\r
-                       <NULL>requestlocal</NULL>\r
-                       <NULL>requestonce</NULL>\r
-                       <NULL>shared</NULL>\r
-                       <NULL>threadlocal</NULL>\r
-                       <NULL>threadonce</NULL>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-       <RULES IGNORE_CASE="FALSE" SET="MYGHTY">\r
-               <!-- alias for MODULE -->\r
-               <SEQ TYPE="KEYWORD4">@</SEQ>\r
-               <IMPORT DELEGATE="python::MAIN"/>\r
-               <KEYWORDS>\r
-                       <KEYWORD4>ARGS</KEYWORD4>\r
-                       <KEYWORD4>MODULE</KEYWORD4>\r
-                       <KEYWORD4>SELF</KEYWORD4>\r
-                       <KEYWORD4>m</KEYWORD4>\r
-                       <!-- request -->\r
-                       <KEYWORD4>r</KEYWORD4>\r
-                       <!-- session -->\r
-                       <KEYWORD4>s</KEYWORD4>\r
-                       <!-- URL encode -->\r
-                       <KEYWORD4>u</KEYWORD4>\r
-                       <!-- HTML encode -->\r
-                       <KEYWORD4>h</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <!-- only exists to color component name like a function -->\r
-       <RULES IGNORE_CASE="TRUE" SET="DEF" DEFAULT="FUNCTION">\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/mysql.xml b/extra/xmode/modes/mysql.xml
deleted file mode 100644 (file)
index fe462a7..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" ESCAPE="\">\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-               \r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ALL</KEYWORD1>\r
-                       <KEYWORD1>ALTER</KEYWORD1>\r
-                       <KEYWORD1>ANALYZE</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>AS</KEYWORD1>\r
-                       <KEYWORD1>ASC</KEYWORD1>\r
-                       <KEYWORD1>ASENSITIVE</KEYWORD1>\r
-                       <KEYWORD1>BEFORE</KEYWORD1>\r
-                       <KEYWORD1>BETWEEN</KEYWORD1>\r
-                       <KEYWORD1>BIGINT</KEYWORD1>\r
-                       <KEYWORD1>BINARY</KEYWORD1>\r
-                       <KEYWORD1>BLOB</KEYWORD1>\r
-                       <KEYWORD1>BOTH</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>CALL</KEYWORD1>\r
-                       <KEYWORD1>CASCADE</KEYWORD1>\r
-                       <KEYWORD1>CASE</KEYWORD1>\r
-                       <KEYWORD1>CHANGE</KEYWORD1>\r
-                       <KEYWORD1>CHAR</KEYWORD1>\r
-                       <KEYWORD1>CHARACTER</KEYWORD1>\r
-                       <KEYWORD1>CHECK</KEYWORD1>\r
-                       <KEYWORD1>COLLATE</KEYWORD1>\r
-                       <KEYWORD1>COLUMN</KEYWORD1>\r
-                       <KEYWORD1>CONDITION</KEYWORD1>\r
-                       <KEYWORD1>CONNECTION</KEYWORD1>\r
-                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>CONVERT</KEYWORD1>\r
-                       <KEYWORD1>CREATE</KEYWORD1>\r
-                       <KEYWORD1>CROSS</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_DATE</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_TIME</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_TIMESTAMP</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_USER</KEYWORD1>\r
-                       <KEYWORD1>CURSOR</KEYWORD1>\r
-                       <KEYWORD1>DATABASE</KEYWORD1>\r
-                       <KEYWORD1>DATABASES</KEYWORD1>\r
-                       <KEYWORD1>DAY_HOUR</KEYWORD1>\r
-                       <KEYWORD1>DAY_MICROSECOND</KEYWORD1>\r
-                       <KEYWORD1>DAY_MINUTE</KEYWORD1>\r
-                       <KEYWORD1>DAY_SECOND</KEYWORD1>\r
-                       <KEYWORD1>DEC</KEYWORD1>\r
-                       <KEYWORD1>DECIMAL</KEYWORD1>\r
-                       <KEYWORD1>DECLARE</KEYWORD1>\r
-                       <KEYWORD1>DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>DELAYED</KEYWORD1>\r
-                       <KEYWORD1>DELETE</KEYWORD1>\r
-                       <KEYWORD1>DESC</KEYWORD1>\r
-                       <KEYWORD1>DESCRIBE</KEYWORD1>\r
-                       <KEYWORD1>DETERMINISTIC</KEYWORD1>\r
-                       <KEYWORD1>DISTINCT</KEYWORD1>\r
-                       <KEYWORD1>DISTINCTROW</KEYWORD1>\r
-                       <KEYWORD1>DIV</KEYWORD1>\r
-                       <KEYWORD1>DOUBLE</KEYWORD1>\r
-                       <KEYWORD1>DROP</KEYWORD1>\r
-                       <KEYWORD1>DUAL</KEYWORD1>\r
-                       <KEYWORD1>EACH</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>ELSEIF</KEYWORD1>\r
-                       <KEYWORD1>ENCLOSED</KEYWORD1>\r
-                       <KEYWORD1>ESCAPED</KEYWORD1>\r
-                       <KEYWORD1>EXISTS</KEYWORD1>\r
-                       <KEYWORD1>EXIT</KEYWORD1>\r
-                       <KEYWORD1>EXPLAIN</KEYWORD1>\r
-                       <KEYWORD1>FALSE</KEYWORD1>\r
-                       <KEYWORD1>FETCH</KEYWORD1>\r
-                       <KEYWORD1>FLOAT</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>FORCE</KEYWORD1>\r
-                       <KEYWORD1>FOREIGN</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>FULLTEXT</KEYWORD1>\r
-                       <KEYWORD1>GOTO</KEYWORD1>\r
-                       <KEYWORD1>GRANT</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-                       <KEYWORD1>HAVING</KEYWORD1>\r
-                       <KEYWORD1>HIGH_PRIORITY</KEYWORD1>\r
-                       <KEYWORD1>HOUR_MICROSECOND</KEYWORD1>\r
-                       <KEYWORD1>HOUR_MINUTE</KEYWORD1>\r
-                       <KEYWORD1>HOUR_SECOND</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>IGNORE</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>INDEX</KEYWORD1>\r
-                       <KEYWORD1>INFILE</KEYWORD1>\r
-                       <KEYWORD1>INNER</KEYWORD1>\r
-                       <KEYWORD1>INOUT</KEYWORD1>\r
-                       <KEYWORD1>INSENSITIVE</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>INT</KEYWORD1>\r
-                       <KEYWORD1>INTEGER</KEYWORD1>\r
-                       <KEYWORD1>INTERVAL</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>IS</KEYWORD1>\r
-                       <KEYWORD1>ITERATE</KEYWORD1>\r
-                       <KEYWORD1>JOIN</KEYWORD1>\r
-                       <KEYWORD1>KEY</KEYWORD1>\r
-                       <KEYWORD1>KEYS</KEYWORD1>\r
-                       <KEYWORD1>KILL</KEYWORD1>\r
-                       <KEYWORD1>LEADING</KEYWORD1>\r
-                       <KEYWORD1>LEAVE</KEYWORD1>\r
-                       <KEYWORD1>LEFT</KEYWORD1>\r
-                       <KEYWORD1>LIKE</KEYWORD1>\r
-                       <KEYWORD1>LIMIT</KEYWORD1>\r
-                       <KEYWORD1>LINES</KEYWORD1>\r
-                       <KEYWORD1>LOAD</KEYWORD1>\r
-                       <KEYWORD1>LOCALTIME</KEYWORD1>\r
-                       <KEYWORD1>LOCALTIMESTAMP</KEYWORD1>\r
-                       <KEYWORD1>LOCK</KEYWORD1>\r
-                       <KEYWORD1>LONG</KEYWORD1>\r
-                       <KEYWORD1>LONGBLOB</KEYWORD1>\r
-                       <KEYWORD1>LONGTEXT</KEYWORD1>\r
-                       <KEYWORD1>LOOP</KEYWORD1>\r
-                       <KEYWORD1>LOW_PRIORITY</KEYWORD1>\r
-                       <KEYWORD1>MATCH</KEYWORD1>\r
-                       <KEYWORD1>MEDIUMBLOB</KEYWORD1>\r
-                       <KEYWORD1>MEDIUMINT</KEYWORD1>\r
-                       <KEYWORD1>MEDIUMTEXT</KEYWORD1>\r
-                       <KEYWORD1>MIDDLEINT</KEYWORD1>\r
-                       <KEYWORD1>MINUTE_MICROSECOND</KEYWORD1>\r
-                       <KEYWORD1>MINUTE_SECOND</KEYWORD1>\r
-                       <KEYWORD1>MOD</KEYWORD1>\r
-                       <KEYWORD1>MODIFIES</KEYWORD1>\r
-                       <KEYWORD1>NATURAL</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>NO_WRITE_TO_BINLOG</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>NUMERIC</KEYWORD1>\r
-                       <KEYWORD1>ON</KEYWORD1>\r
-                       <KEYWORD1>OPTIMIZE</KEYWORD1>\r
-                       <KEYWORD1>OPTION</KEYWORD1>\r
-                       <KEYWORD1>OPTIONALLY</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>ORDER</KEYWORD1>\r
-                       <KEYWORD1>OUT</KEYWORD1>\r
-                       <KEYWORD1>OUTER</KEYWORD1>\r
-                       <KEYWORD1>OUTFILE</KEYWORD1>\r
-                       <KEYWORD1>PRECISION</KEYWORD1>\r
-                       <KEYWORD1>PRIMARY</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
-                       <KEYWORD1>PURGE</KEYWORD1>\r
-                       <KEYWORD1>READ</KEYWORD1>\r
-                       <KEYWORD1>READS</KEYWORD1>\r
-                       <KEYWORD1>REAL</KEYWORD1>\r
-                       <KEYWORD1>REFERENCES</KEYWORD1>\r
-                       <KEYWORD1>REGEXP</KEYWORD1>\r
-                       <KEYWORD1>RENAME</KEYWORD1>\r
-                       <KEYWORD1>REPEAT</KEYWORD1>\r
-                       <KEYWORD1>REPLACE</KEYWORD1>\r
-                       <KEYWORD1>REQUIRE</KEYWORD1>\r
-                       <KEYWORD1>RESTRICT</KEYWORD1>\r
-                       <KEYWORD1>RETURN</KEYWORD1>\r
-                       <KEYWORD1>REVOKE</KEYWORD1>\r
-                       <KEYWORD1>RIGHT</KEYWORD1>\r
-                       <KEYWORD1>RLIKE</KEYWORD1>\r
-                       <KEYWORD1>SCHEMA</KEYWORD1>\r
-                       <KEYWORD1>SCHEMAS</KEYWORD1>\r
-                       <KEYWORD1>SECOND_MICROSECOND</KEYWORD1>\r
-                       <KEYWORD1>SELECT</KEYWORD1>\r
-                       <KEYWORD1>SENSITIVE</KEYWORD1>\r
-                       <KEYWORD1>SEPARATOR</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SHOW</KEYWORD1>\r
-                       <KEYWORD1>SMALLINT</KEYWORD1>\r
-                       <KEYWORD1>SONAME</KEYWORD1>\r
-                       <KEYWORD1>SPATIAL</KEYWORD1>\r
-                       <KEYWORD1>SPECIFIC</KEYWORD1>\r
-                       <KEYWORD1>SQL</KEYWORD1>\r
-                       <KEYWORD1>SQLEXCEPTION</KEYWORD1>\r
-                       <KEYWORD1>SQLSTATE</KEYWORD1>\r
-                       <KEYWORD1>SQLWARNING</KEYWORD1>\r
-                       <KEYWORD1>SQL_BIG_RESULT</KEYWORD1>\r
-                       <KEYWORD1>SQL_CALC_FOUND_ROWS</KEYWORD1>\r
-                       <KEYWORD1>SQL_SMALL_RESULT</KEYWORD1>\r
-                       <KEYWORD1>SSL</KEYWORD1>\r
-                       <KEYWORD1>STARTING</KEYWORD1>\r
-                       <KEYWORD1>STRAIGHT_JOIN</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>TERMINATED</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>TINYBLOB</KEYWORD1>\r
-                       <KEYWORD1>TINYINT</KEYWORD1>\r
-                       <KEYWORD1>TINYTEXT</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>TRAILING</KEYWORD1>\r
-                       <KEYWORD1>TRIGGER</KEYWORD1>\r
-                       <KEYWORD1>TRUE</KEYWORD1>\r
-                       <KEYWORD1>UNDO</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>UNIQUE</KEYWORD1>\r
-                       <KEYWORD1>UNLOCK</KEYWORD1>\r
-                       <KEYWORD1>UNSIGNED</KEYWORD1>\r
-                       <KEYWORD1>UPDATE</KEYWORD1>\r
-                       <KEYWORD1>USAGE</KEYWORD1>\r
-                       <KEYWORD1>USE</KEYWORD1>\r
-                       <KEYWORD1>USING</KEYWORD1>\r
-                       <KEYWORD1>UTC_DATE</KEYWORD1>\r
-                       <KEYWORD1>UTC_TIME</KEYWORD1>\r
-                       <KEYWORD1>UTC_TIMESTAMP</KEYWORD1>\r
-                       <KEYWORD1>VALUES</KEYWORD1>\r
-                       <KEYWORD1>VARBINARY</KEYWORD1>\r
-                       <KEYWORD1>VARCHAR</KEYWORD1>\r
-                       <KEYWORD1>VARCHARACTER</KEYWORD1>\r
-                       <KEYWORD1>VARYING</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>WHERE</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WRITE</KEYWORD1>\r
-                       <KEYWORD1>XOR</KEYWORD1>\r
-                       <KEYWORD1>YEAR_MONTH</KEYWORD1>\r
-                       <KEYWORD1>ZEROFILL</KEYWORD1>\r
-               \r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/netrexx.xml b/extra/xmode/modes/netrexx.xml
deleted file mode 100644 (file)
index 48d50eb..0000000
+++ /dev/null
@@ -1,414 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="indentNextLines"\r
-      VALUE="\s*(if|loop|do|else|select|otherwise|catch|finally|class|method|properties)(.*)"/>\r
-    <!-- VALUE="\s*(((if|while)\s*\(|else\s*(\{|$)|else\s+if\s*\(|case\s+.+:|default:)[^;]*|for\s*\(.*)" -->\r
-    <PROPERTY NAME="commentStart" VALUE="/*" />\r
-    <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-    <PROPERTY NAME="lineComment" VALUE="--" />\r
-    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-  </PROPS>\r
-  <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-    <!-- Documentation comment -->\r
-    <SPAN TYPE="COMMENT2" DELEGATE="java::JAVADOC">\r
-      <BEGIN>/**</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-\r
-    <!-- C style comment -->\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>/*</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-    <!-- workaround to stop "*" from being colorized\r
-         in import statements. -->\r
-    <SEQ TYPE="NULL">.*</SEQ>\r
-\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">%</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="OPERATOR">}</SEQ>\r
-    <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-    <KEYWORDS>\r
-\r
-      <FUNCTION>abbrev</FUNCTION>\r
-      <FUNCTION>abs</FUNCTION>\r
-      <FUNCTION>b2x</FUNCTION>\r
-      <FUNCTION>center</FUNCTION>\r
-      <FUNCTION>centre</FUNCTION>\r
-      <FUNCTION>changestr</FUNCTION>\r
-      <FUNCTION>charAt</FUNCTION>\r
-      <FUNCTION>compare</FUNCTION>\r
-      <FUNCTION>copies</FUNCTION>\r
-      <FUNCTION>copyIndexed</FUNCTION>\r
-      <FUNCTION>countstr</FUNCTION>\r
-      <FUNCTION>c2d</FUNCTION>\r
-      <FUNCTION>c2x</FUNCTION>\r
-      <FUNCTION>datatype</FUNCTION>\r
-      <FUNCTION>delstr</FUNCTION>\r
-      <FUNCTION>delword</FUNCTION>\r
-      <FUNCTION>d2c</FUNCTION>\r
-      <FUNCTION>d2X</FUNCTION>\r
-      <FUNCTION>equals</FUNCTION>\r
-      <FUNCTION>exists</FUNCTION>\r
-      <FUNCTION>format</FUNCTION>\r
-      <FUNCTION>hashCode</FUNCTION>\r
-      <FUNCTION>insert</FUNCTION>\r
-      <FUNCTION>lastpos</FUNCTION>\r
-      <FUNCTION>left</FUNCTION>\r
-      <FUNCTION>length</FUNCTION>\r
-      <FUNCTION>lower</FUNCTION>\r
-      <FUNCTION>max</FUNCTION>\r
-      <FUNCTION>min</FUNCTION>\r
-      <FUNCTION>nop</FUNCTION>\r
-      <FUNCTION>overlay</FUNCTION>\r
-      <FUNCTION>parse</FUNCTION>\r
-      <FUNCTION>pos</FUNCTION>\r
-      <FUNCTION>reverse</FUNCTION>\r
-      <FUNCTION>right</FUNCTION>\r
-      <FUNCTION>say</FUNCTION>\r
-      <FUNCTION>sequence</FUNCTION>\r
-      <FUNCTION>sign</FUNCTION>\r
-      <FUNCTION>space</FUNCTION>\r
-      <FUNCTION>strip</FUNCTION>\r
-      <FUNCTION>substr</FUNCTION>\r
-      <FUNCTION>subword</FUNCTION>\r
-      <FUNCTION>toCharArray</FUNCTION>\r
-      <FUNCTION>toString</FUNCTION>\r
-      <FUNCTION>toboolean</FUNCTION>\r
-      <FUNCTION>tobyte</FUNCTION>\r
-      <FUNCTION>tochar</FUNCTION>\r
-      <FUNCTION>todouble</FUNCTION>\r
-      <FUNCTION>tofloat</FUNCTION>\r
-      <FUNCTION>toint</FUNCTION>\r
-      <FUNCTION>tolong</FUNCTION>\r
-      <FUNCTION>toshort</FUNCTION>\r
-      <FUNCTION>trunc</FUNCTION>\r
-      <FUNCTION>translate</FUNCTION>\r
-      <FUNCTION>upper</FUNCTION>\r
-      <FUNCTION>verify</FUNCTION>\r
-      <FUNCTION>word</FUNCTION>\r
-      <FUNCTION>wordindex</FUNCTION>\r
-      <FUNCTION>wordlength</FUNCTION>\r
-      <FUNCTION>wordpos</FUNCTION>\r
-      <FUNCTION>words</FUNCTION>\r
-      <FUNCTION>x2b</FUNCTION>\r
-      <FUNCTION>x2c</FUNCTION>\r
-      <FUNCTION>x2d</FUNCTION>\r
-\r
-      <KEYWORD1>class</KEYWORD1>\r
-      <KEYWORD1>private</KEYWORD1>\r
-      <KEYWORD1>public</KEYWORD1>\r
-      <KEYWORD1>abstract</KEYWORD1>\r
-      <KEYWORD1>final</KEYWORD1>\r
-      <KEYWORD1>interface</KEYWORD1>\r
-      <KEYWORD1>dependent</KEYWORD1>\r
-      <KEYWORD1>adapter</KEYWORD1>\r
-      <KEYWORD1>deprecated</KEYWORD1>\r
-      <KEYWORD1>extends</KEYWORD1>\r
-      <KEYWORD1>uses</KEYWORD1>\r
-      <KEYWORD1>implements</KEYWORD1>\r
-\r
-      <KEYWORD1>method</KEYWORD1>\r
-      <KEYWORD1>native</KEYWORD1>\r
-      <KEYWORD1>returns</KEYWORD1>\r
-      <KEYWORD1>signals</KEYWORD1>\r
-\r
-      <KEYWORD1>properties</KEYWORD1>\r
-      <KEYWORD1>private</KEYWORD1>\r
-      <KEYWORD1>public</KEYWORD1>\r
-      <KEYWORD1>inheritable</KEYWORD1>\r
-      <KEYWORD1>constant</KEYWORD1>\r
-      <KEYWORD1>static</KEYWORD1>\r
-      <KEYWORD1>volatile</KEYWORD1>\r
-      <KEYWORD1>unused</KEYWORD1>\r
-      <KEYWORD1>transient</KEYWORD1>\r
-      <KEYWORD1>indirect</KEYWORD1>\r
-\r
-      <KEYWORD2>do</KEYWORD2>\r
-      <KEYWORD2>label</KEYWORD2>\r
-      <KEYWORD2>protect</KEYWORD2>\r
-      <KEYWORD2>catch</KEYWORD2>\r
-      <KEYWORD2>finally</KEYWORD2>\r
-      <KEYWORD2>end</KEYWORD2>\r
-      <KEYWORD2>signal</KEYWORD2>\r
-\r
-      <KEYWORD2>if</KEYWORD2>\r
-      <KEYWORD2>then</KEYWORD2>\r
-      <KEYWORD2>else</KEYWORD2>\r
-      <KEYWORD2>select</KEYWORD2>\r
-      <KEYWORD2>case</KEYWORD2>\r
-      <KEYWORD2>when</KEYWORD2>\r
-      <KEYWORD2>otherwise</KEYWORD2>\r
-\r
-      <KEYWORD2>loop</KEYWORD2>\r
-      <KEYWORD2>forever</KEYWORD2>\r
-      <KEYWORD2>for</KEYWORD2>\r
-      <KEYWORD2>to</KEYWORD2>\r
-      <KEYWORD2>by</KEYWORD2>\r
-      <KEYWORD2>over</KEYWORD2>\r
-      <KEYWORD2>until</KEYWORD2>\r
-      <KEYWORD2>while</KEYWORD2>\r
-      <KEYWORD2>leave</KEYWORD2>\r
-      <KEYWORD2>iterate</KEYWORD2>\r
-\r
-      <KEYWORD2>return</KEYWORD2>\r
-      <KEYWORD2>exit</KEYWORD2>\r
-\r
-      <KEYWORD3>ask</KEYWORD3>\r
-      <KEYWORD3>digits</KEYWORD3>\r
-      <KEYWORD3>form</KEYWORD3>\r
-      <KEYWORD3>null</KEYWORD3>\r
-      <KEYWORD3>source</KEYWORD3>\r
-      <KEYWORD3>this</KEYWORD3>\r
-      <KEYWORD3>super</KEYWORD3>\r
-      <KEYWORD3>parent</KEYWORD3>\r
-      <KEYWORD3>sourceline</KEYWORD3>\r
-      <KEYWORD3>version</KEYWORD3>\r
-\r
-      <KEYWORD3>trace</KEYWORD3>\r
-      <KEYWORD3>var</KEYWORD3>\r
-      <KEYWORD3>all</KEYWORD3>\r
-      <KEYWORD3>results</KEYWORD3>\r
-      <KEYWORD3>off</KEYWORD3>\r
-      <KEYWORD3>methods</KEYWORD3>\r
-\r
-      <KEYWORD3>package</KEYWORD3>\r
-      <KEYWORD3>import</KEYWORD3>\r
-      <KEYWORD3>numeric</KEYWORD3>\r
-      <KEYWORD3>scientific</KEYWORD3>\r
-      <KEYWORD3>engineering</KEYWORD3>\r
-\r
-      <LITERAL2>options</LITERAL2>\r
-      <LITERAL2>comments</LITERAL2>\r
-      <LITERAL2>nocomments</LITERAL2>\r
-      <LITERAL2>keep</LITERAL2>\r
-      <LITERAL2>nokeep</LITERAL2>\r
-      <LITERAL2>compact</LITERAL2>\r
-      <LITERAL2>nocompact</LITERAL2>\r
-      <LITERAL2>console</LITERAL2>\r
-      <LITERAL2>noconsole</LITERAL2>\r
-      <LITERAL2>decimal</LITERAL2>\r
-      <LITERAL2>nodecimal</LITERAL2>\r
-      <LITERAL2>explicit</LITERAL2>\r
-      <LITERAL2>noexplicit</LITERAL2>\r
-      <LITERAL2>java</LITERAL2>\r
-      <LITERAL2>nojava</LITERAL2>\r
-      <LITERAL2>savelog</LITERAL2>\r
-      <LITERAL2>nosavelog</LITERAL2>\r
-\r
-      <LITERAL2>sourcedir</LITERAL2>\r
-      <LITERAL2>nosourcedir</LITERAL2>\r
-      <LITERAL2>symbols</LITERAL2>\r
-      <LITERAL2>nosymbols</LITERAL2>\r
-      <LITERAL2>utf8</LITERAL2>\r
-      <LITERAL2>noutf8</LITERAL2>\r
-\r
-      <LITERAL2>notrace</LITERAL2>\r
-      <LITERAL2>binary</LITERAL2>\r
-      <LITERAL2>nobinary</LITERAL2>\r
-      <LITERAL2>crossref</LITERAL2>\r
-      <LITERAL2>nocrossref</LITERAL2>\r
-      <LITERAL2>diag</LITERAL2>\r
-      <LITERAL2>nodiag</LITERAL2>\r
-      <LITERAL2>format</LITERAL2>\r
-      <LITERAL2>noformat</LITERAL2>\r
-      <LITERAL2>logo</LITERAL2>\r
-      <LITERAL2>nologo</LITERAL2>\r
-      <LITERAL2>replace</LITERAL2>\r
-      <LITERAL2>noreplace</LITERAL2>\r
-\r
-      <LITERAL2>strictassign</LITERAL2>\r
-      <LITERAL2>nostrictassign</LITERAL2>\r
-      <LITERAL2>strictcase</LITERAL2>\r
-      <LITERAL2>nostrictcase</LITERAL2>\r
-      <LITERAL2>strictargs</LITERAL2>\r
-      <LITERAL2>nostrictargs</LITERAL2>\r
-      <LITERAL2>strictimport</LITERAL2>\r
-      <LITERAL2>nostrictimport</LITERAL2>\r
-      <LITERAL2>strictsignal</LITERAL2>\r
-      <LITERAL2>nostrictsignal</LITERAL2>\r
-      <LITERAL2>strictprops</LITERAL2>\r
-      <LITERAL2>nostrictprops</LITERAL2>\r
-\r
-      <LITERAL2>verbose</LITERAL2>\r
-      <LITERAL2>noverbose</LITERAL2>\r
-      <LITERAL2>verbose0</LITERAL2>\r
-      <LITERAL2>verbose1</LITERAL2>\r
-      <LITERAL2>verbose2</LITERAL2>\r
-      <LITERAL2>verbose3</LITERAL2>\r
-      <LITERAL2>verbose4</LITERAL2>\r
-      <LITERAL2>verbose5</LITERAL2>\r
-\r
-      <LABEL>boolean</LABEL>\r
-      <LABEL>char</LABEL>\r
-      <LABEL>byte</LABEL>\r
-      <LABEL>short</LABEL>\r
-      <LABEL>int</LABEL>\r
-      <LABEL>long</LABEL>\r
-      <LABEL>float</LABEL>\r
-      <LABEL>double</LABEL>\r
-      <LABEL>Boolean</LABEL>\r
-      <LABEL>Character</LABEL>\r
-      <LABEL>Byte</LABEL>\r
-      <LABEL>Short</LABEL>\r
-      <LABEL>Integer</LABEL>\r
-      <LABEL>Long</LABEL>\r
-      <LABEL>Float</LABEL>\r
-      <LABEL>Double</LABEL>\r
-      <LABEL>BigDecimal</LABEL>\r
-      <LABEL>BigInteger</LABEL>\r
-      <LABEL>String</LABEL>\r
-      <LABEL>Rexx</LABEL>\r
-\r
-      <LABEL>StringBuffer</LABEL>\r
-      <LABEL>Object</LABEL>\r
-      <LABEL>Number</LABEL>\r
-      <LABEL>ArrayList</LABEL>\r
-      <LABEL>Calendar</LABEL>\r
-      <LABEL>Date</LABEL>\r
-      <LABEL>HashMap</LABEL>\r
-      <LABEL>HashSet</LABEL>\r
-      <LABEL>Hashtable</LABEL>\r
-      <LABEL>LinkedHashMap</LABEL>\r
-      <LABEL>LinkedHashSet</LABEL>\r
-      <LABEL>TreeMap</LABEL>\r
-      <LABEL>TreeSet</LABEL>\r
-      <LABEL>Vector</LABEL>\r
-      <LABEL>ConcurrentModificationException</LABEL>\r
-\r
-      <LABEL>BufferedInputStream</LABEL>\r
-      <LABEL>BufferedOutputStream</LABEL>\r
-      <LABEL>BufferedReader</LABEL>\r
-      <LABEL>BufferedWriter</LABEL>\r
-      <LABEL>ByteArrayInputStream</LABEL>\r
-      <LABEL>ByteArrayOutputStream</LABEL>\r
-      <LABEL>CharArrayReader</LABEL>\r
-      <LABEL>CharArrayWriter</LABEL>\r
-      <LABEL>DataInputStream</LABEL>\r
-      <LABEL>DataOutputStream</LABEL>\r
-      <LABEL>File</LABEL>\r
-      <LABEL>FileDescriptor</LABEL>\r
-      <LABEL>FileInputStream</LABEL>\r
-      <LABEL>FileOutputStream</LABEL>\r
-      <LABEL>FilePermission</LABEL>\r
-      <LABEL>FileReader</LABEL>\r
-      <LABEL>FileWriter</LABEL>\r
-      <LABEL>FilterInputStream</LABEL>\r
-      <LABEL>FilterOutputStream</LABEL>\r
-      <LABEL>FilterReader</LABEL>\r
-      <LABEL>FilterWriter</LABEL>\r
-      <LABEL>InputStream</LABEL>\r
-      <LABEL>InputStreamReader</LABEL>\r
-      <LABEL>LineNumberInputStream</LABEL>\r
-      <LABEL>LineNumberReader</LABEL>\r
-      <LABEL>ObjectInputStream</LABEL>\r
-      <LABEL>ObjectOutputStream</LABEL>\r
-      <LABEL>OutputStream</LABEL>\r
-      <LABEL>OutputStreamWriter</LABEL>\r
-      <LABEL>PipedInputStream</LABEL>\r
-      <LABEL>PipedOutputStream</LABEL>\r
-      <LABEL>PipedReader</LABEL>\r
-      <LABEL>PipedWriter</LABEL>\r
-      <LABEL>PrintStream</LABEL>\r
-      <LABEL>PrintWriter</LABEL>\r
-      <LABEL>PushbackInputStream</LABEL>\r
-      <LABEL>PushbackReader</LABEL>\r
-      <LABEL>RandomAccessFile</LABEL>\r
-      <LABEL>Reader</LABEL>\r
-      <LABEL>SequenceInputStream</LABEL>\r
-      <LABEL>StreamTokenizer</LABEL>\r
-      <LABEL>StringBufferInputStream</LABEL>\r
-      <LABEL>StringReader</LABEL>\r
-      <LABEL>StringWriter</LABEL>\r
-      <LABEL>Writer</LABEL>\r
-\r
-      <!-- Commonly used (=java.lang.* and java.io.*) Exceptions -->\r
-      <MARKUP>ArithmeticException</MARKUP>\r
-      <MARKUP>ArrayIndexOutOfBoundsException</MARKUP>\r
-      <MARKUP>ArrayStoreException</MARKUP>\r
-      <MARKUP>ClassCastException</MARKUP>\r
-      <MARKUP>ClassNotFoundException</MARKUP>\r
-      <MARKUP>CloneNotSupportedException</MARKUP>\r
-      <MARKUP>Exception</MARKUP>\r
-      <MARKUP>IllegalAccessException</MARKUP>\r
-      <MARKUP>IllegalArgumentException</MARKUP>\r
-      <MARKUP>IllegalMonitorStateException</MARKUP>\r
-      <MARKUP>IllegalStateException</MARKUP>\r
-      <MARKUP>IllegalThreadStateException</MARKUP>\r
-      <MARKUP>IndexOutOfBoundsException</MARKUP>\r
-      <MARKUP>InstantiationException</MARKUP>\r
-      <MARKUP>InterruptedException</MARKUP>\r
-      <MARKUP>NegativeArraySizeException</MARKUP>\r
-      <MARKUP>NoSuchFieldException</MARKUP>\r
-      <MARKUP>NoSuchMethodException</MARKUP>\r
-      <MARKUP>NullPointerException</MARKUP>\r
-      <MARKUP>NumberFormatException</MARKUP>\r
-      <MARKUP>RuntimeException</MARKUP>\r
-      <MARKUP>SecurityException</MARKUP>\r
-      <MARKUP>StringIndexOutOfBoundsException</MARKUP>\r
-      <MARKUP>UnsupportedOperationException</MARKUP>\r
-\r
-      <MARKUP>CharConversionException</MARKUP>\r
-      <MARKUP>EOFException</MARKUP>\r
-      <MARKUP>FileNotFoundException</MARKUP>\r
-      <MARKUP>InterruptedIOException</MARKUP>\r
-      <MARKUP>InvalidClassException</MARKUP>\r
-      <MARKUP>InvalidObjectException</MARKUP>\r
-      <MARKUP>IOException</MARKUP>\r
-      <MARKUP>NotActiveException</MARKUP>\r
-      <MARKUP>NotSerializableException</MARKUP>\r
-      <MARKUP>ObjectStreamException</MARKUP>\r
-      <MARKUP>OptionalDataException</MARKUP>\r
-      <MARKUP>StreamCorruptedException</MARKUP>\r
-      <MARKUP>SyncFailedException</MARKUP>\r
-      <MARKUP>UnsupportedEncodingException</MARKUP>\r
-      <MARKUP>UTFDataFormatException</MARKUP>\r
-      <MARKUP>WriteAbortedException</MARKUP>\r
-\r
-      <!-- all rmi functions need to signal this -->\r
-      <MARKUP>RemoteException</MARKUP>\r
-\r
-      <!-- Rexx specific Exception -->\r
-      <MARKUP>BadArgumentException</MARKUP>\r
-      <MARKUP>BadColumnException</MARKUP>\r
-      <MARKUP>BadNumericException</MARKUP>\r
-      <MARKUP>DivideException</MARKUP>\r
-      <MARKUP>ExponentOverflowException</MARKUP>\r
-      <MARKUP>NoOtherwiseException</MARKUP>\r
-      <MARKUP>NotCharacterException</MARKUP>\r
-      <MARKUP>NotLogicException</MARKUP>\r
-\r
-    </KEYWORDS>\r
-  </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/nqc.xml b/extra/xmode/modes/nqc.xml
deleted file mode 100644 (file)
index 1c0e038..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- preprocessor statements -->\r
-               <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>__event_src</KEYWORD1>\r
-                       <KEYWORD1>__sensor</KEYWORD1>\r
-                       <KEYWORD1>__type</KEYWORD1>\r
-                       <KEYWORD1>abs</KEYWORD1>\r
-                       <KEYWORD1>aquire</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>monitor</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>sign</KEYWORD1>\r
-                       <KEYWORD1>start</KEYWORD1>\r
-                       <KEYWORD1>stop</KEYWORD1>\r
-                       <KEYWORD1>sub</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>task</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <KEYWORD2>asm</KEYWORD2>\r
-                       <KEYWORD2>inline</KEYWORD2>\r
-\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>NULL</LITERAL2>\r
-\r
-                       <LITERAL2>SENSOR_1</LITERAL2>\r
-                       <LITERAL2>SENSOR_2</LITERAL2>\r
-                       <LITERAL2>SENSOR_3</LITERAL2>\r
-\r
-                       <LITERAL2>SENSOR_TYPE_NONE</LITERAL2>\r
-                       <LITERAL2>SENSOR_TYPE_TOUCH</LITERAL2>\r
-                       <LITERAL2>SENSOR_TYPE_TEMPERATURE</LITERAL2>\r
-                       <LITERAL2>SENSOR_TYPE_LIGHT</LITERAL2>\r
-                       <LITERAL2>SENSOR_TYPE_ROTATION</LITERAL2>\r
-\r
-                       <LITERAL2>SENSOR_MODE_RAW</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_BOOL</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_EDGE</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_PULSE</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_PERCENT</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_FAHRENHEIT</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_CELSIUS</LITERAL2>\r
-                       <LITERAL2>SENSOR_MODE_ROTATION</LITERAL2>\r
-\r
-                       <LITERAL2>SENSOR_TOUCH</LITERAL2>\r
-                       <LITERAL2>SENSOR_LIGHT</LITERAL2>\r
-                       <LITERAL2>SENSOR_EDGE</LITERAL2>\r
-                       <LITERAL2>SENSOR_PULSE</LITERAL2>\r
-                       <LITERAL2>SENSOR_FAHRENHEIT</LITERAL2>\r
-                       <LITERAL2>SENSOR_CELSIUS</LITERAL2>\r
-                       <LITERAL2>SENSOR_ROTATION</LITERAL2>\r
-\r
-                       <LITERAL2>OUT_A</LITERAL2>\r
-                       <LITERAL2>OUT_B</LITERAL2>\r
-                       <LITERAL2>OUT_C</LITERAL2>\r
-\r
-                       <LITERAL2>OUT_OFF</LITERAL2>\r
-                       <LITERAL2>OUT_ON</LITERAL2>\r
-                       <LITERAL2>OUT_FLOAT</LITERAL2>\r
-\r
-                       <LITERAL2>OUT_FWD</LITERAL2>\r
-                       <LITERAL2>OUT_REV</LITERAL2>\r
-                       <LITERAL2>OUT_TOOGLE</LITERAL2>\r
-\r
-                       <LITERAL2>OUT_FULL</LITERAL2>\r
-                       <LITERAL2>OUT_HALF</LITERAL2>\r
-                       <LITERAL2>OUT_LOW</LITERAL2>\r
-\r
-                       <LITERAL2>SOUND_CLICK</LITERAL2>\r
-                       <LITERAL2>SOUND_DOUBLE_BEEP</LITERAL2>\r
-                       <LITERAL2>SOUND_DOWN</LITERAL2>\r
-                       <LITERAL2>SOUND_UP</LITERAL2>\r
-                       <LITERAL2>SOUND_LOW_BEEP</LITERAL2>\r
-                       <LITERAL2>SOUND_FAST_UP</LITERAL2>\r
-\r
-                       <LITERAL2>DISPLAY_WATCH</LITERAL2>\r
-                       <LITERAL2>DISPLAY_OUT_A</LITERAL2>\r
-                       <LITERAL2>DISPLAY_OUT_B</LITERAL2>\r
-                       <LITERAL2>DISPLAY_OUT_C</LITERAL2>\r
-                       <LITERAL2>DISPLAY_SENSOR_1</LITERAL2>\r
-                       <LITERAL2>DISPLAY_SENSOR_2</LITERAL2>\r
-                       <LITERAL2>DISPLAY_SENSOR_3</LITERAL2>\r
-\r
-                       <LITERAL2>TX_POWER_LO</LITERAL2>\r
-                       <LITERAL2>TX_POWER_HI</LITERAL2>\r
-\r
-                       <LITERAL2>SERIAL_COMM_DEFAULT</LITERAL2>\r
-                       <LITERAL2>SERIAL_COMM_4800</LITERAL2>\r
-                       <LITERAL2>SERIAL_COMM_DUTY25</LITERAL2>\r
-                       <LITERAL2>SERIAL_COMM_76KHZ</LITERAL2>\r
-\r
-                       <LITERAL2>SERIAL_PACKET_PREAMBLE</LITERAL2>\r
-                       <LITERAL2>SERIAL_PACKET_DEFAULT</LITERAL2>\r
-                       <LITERAL2>SERIAL_PACKET_NEGATED</LITERAL2>\r
-                       <LITERAL2>SERIAL_PACKET_CHECKSUM</LITERAL2>\r
-                       <LITERAL2>SERIAL_PACKET_RCX</LITERAL2>\r
-                       <LITERAL2>SERIAL_PACKET_</LITERAL2>\r
-\r
-                       <LITERAL2>ACQUIRE_OUT_A</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_OUT_B</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_OUT_C</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_SOUND</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_USER_1</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_USER_2</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_USER_3</LITERAL2>\r
-                       <LITERAL2>ACQUIRE_USER_4</LITERAL2>\r
-\r
-                       <LITERAL2>EVENT_TYPE_PRESSED</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_RELEASED</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_PULSE</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_EDGE</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_FASTCHANGE</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_LOW</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_NORMAL</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_HIGH</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_CLICK</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_DOUBLECLICK</LITERAL2>\r
-                       <LITERAL2>EVENT_TYPE_MESSAGE</LITERAL2>\r
-\r
-                       <LITERAL2>EVENT_1_PRESSED</LITERAL2>\r
-                       <LITERAL2>EVENT_1_RELEASED</LITERAL2>\r
-                       <LITERAL2>EVENT_2_PRESSED</LITERAL2>\r
-                       <LITERAL2>EVENT_2_RELEASED</LITERAL2>\r
-                       <LITERAL2>EVENT_LIGHT_HIGH</LITERAL2>\r
-                       <LITERAL2>EVENT_LIGHT_NORMAL</LITERAL2>\r
-                       <LITERAL2>EVENT_LIGHT_LOW</LITERAL2>\r
-                       <LITERAL2>EVENT_LIGHT_CLICK</LITERAL2>\r
-                       <LITERAL2>EVENT_LIGHT_DOUBLECLICK</LITERAL2>\r
-                       <LITERAL2>EVENT_COUNTER_0</LITERAL2>\r
-                       <LITERAL2>EVENT_COUNTER_1</LITERAL2>\r
-                       <LITERAL2>EVENT_TIMER_0</LITERAL2>\r
-                       <LITERAL2>EVENT_TIMER_1</LITERAL2>\r
-                       <LITERAL2>EVENT_TIMER_2</LITERAL2>\r
-                       <LITERAL2>EVENT_MESSAGE</LITERAL2>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/nsis2.xml b/extra/xmode/modes/nsis2.xml
deleted file mode 100644 (file)
index 1b104bd..0000000
+++ /dev/null
@@ -1,480 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-Nullsoft Scriptable Installation System mode by Ryan Grove 2003\r
-Updated by Uwe (donovaly@users.sourceforge.net) 2007\r
-Updated for 4.3pre9 by Alan Ezust 2007\r
-$Id: nsis2.xml 9932 2007-07-06 15:44:46Z Vampire0 $\r
-\r
-This file should be accurate as of the version of NSIS 2.25. If I've left something out, please let me know.\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-               <PROPERTY NAME="indentNextLine" VALUE="\s*(.*:|(function\s+.*)|(section\s+.*)|(subsection\s+.*))" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" ESCAPE="$\" HIGHLIGHT_DIGITS="TRUE" DEFAULT="NULL">\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="NSIS_LITERAL">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Deprecated stuff -->\r
-                       <INVALID>dim</INVALID>\r
-                       <INVALID>uninstallexename</INVALID>\r
-\r
-                       <!-- Global variables -->\r
-                       <KEYWORD3>$0</KEYWORD3>\r
-                       <KEYWORD3>$1</KEYWORD3>\r
-                       <KEYWORD3>$2</KEYWORD3>\r
-                       <KEYWORD3>$3</KEYWORD3>\r
-                       <KEYWORD3>$4</KEYWORD3>\r
-                       <KEYWORD3>$5</KEYWORD3>\r
-                       <KEYWORD3>$6</KEYWORD3>\r
-                       <KEYWORD3>$7</KEYWORD3>\r
-                       <KEYWORD3>$8</KEYWORD3>\r
-                       <KEYWORD3>$9</KEYWORD3>\r
-                       <KEYWORD3>$INSTDIR</KEYWORD3>\r
-                       <KEYWORD3>$OUTDIR</KEYWORD3>\r
-                       <KEYWORD3>$CMDLINE</KEYWORD3>\r
-                       <KEYWORD3>$LANGUAGE</KEYWORD3>\r
-\r
-                       <!-- Local variables -->\r
-                       <KEYWORD3>$R0</KEYWORD3>\r
-                       <KEYWORD3>$R1</KEYWORD3>\r
-                       <KEYWORD3>$R2</KEYWORD3>\r
-                       <KEYWORD3>$R3</KEYWORD3>\r
-                       <KEYWORD3>$R4</KEYWORD3>\r
-                       <KEYWORD3>$R5</KEYWORD3>\r
-                       <KEYWORD3>$R6</KEYWORD3>\r
-                       <KEYWORD3>$R7</KEYWORD3>\r
-                       <KEYWORD3>$R8</KEYWORD3>\r
-                       <KEYWORD3>$R9</KEYWORD3>\r
-\r
-                       <!-- Constants -->\r
-                       <LITERAL3>ARCHIVE</LITERAL3>\r
-                       <LITERAL3>CENTER</LITERAL3>\r
-                       <LITERAL3>CONTROL</LITERAL3>\r
-                       <LITERAL3>CUR</LITERAL3>\r
-                       <LITERAL3>EXT</LITERAL3>\r
-                       <LITERAL3>F1</LITERAL3>\r
-                       <LITERAL3>F2</LITERAL3>\r
-                       <LITERAL3>F3</LITERAL3>\r
-                       <LITERAL3>F4</LITERAL3>\r
-                       <LITERAL3>F5</LITERAL3>\r
-                       <LITERAL3>F6</LITERAL3>\r
-                       <LITERAL3>F7</LITERAL3>\r
-                       <LITERAL3>F8</LITERAL3>\r
-                       <LITERAL3>F9</LITERAL3>\r
-                       <LITERAL3>F10</LITERAL3>\r
-                       <LITERAL3>F11</LITERAL3>\r
-                       <LITERAL3>F12</LITERAL3>\r
-                       <LITERAL3>F13</LITERAL3>\r
-                       <LITERAL3>F14</LITERAL3>\r
-                       <LITERAL3>F15</LITERAL3>\r
-                       <LITERAL3>F16</LITERAL3>\r
-                       <LITERAL3>F17</LITERAL3>\r
-                       <LITERAL3>F18</LITERAL3>\r
-                       <LITERAL3>F19</LITERAL3>\r
-                       <LITERAL3>F20</LITERAL3>\r
-                       <LITERAL3>F21</LITERAL3>\r
-                       <LITERAL3>F22</LITERAL3>\r
-                       <LITERAL3>F23</LITERAL3>\r
-                       <LITERAL3>F24</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_ARCHIVE</LITERAL3>\r
-                       <LITERAL3>MB_ABORTRETRYIGNORE</LITERAL3>\r
-                       <LITERAL3>RIGHT</LITERAL3>\r
-                       <LITERAL3>RO</LITERAL3>\r
-                       <LITERAL3>SET</LITERAL3>\r
-                       <LITERAL3>SHIFT</LITERAL3>\r
-                       <LITERAL3>SW_SHOWMAXIMIZED</LITERAL3>\r
-                       <LITERAL3>SW_SHOWMINIMIZED</LITERAL3>\r
-                       <LITERAL3>SW_SHOWNORMAL</LITERAL3>\r
-                       <LITERAL3>a</LITERAL3>\r
-                       <LITERAL3>all</LITERAL3>\r
-                       <LITERAL3>alwaysoff</LITERAL3>\r
-                       <LITERAL3>auto</LITERAL3>\r
-                       <LITERAL3>both</LITERAL3>\r
-                       <LITERAL3>bottom</LITERAL3>\r
-                       <LITERAL3>bzip2</LITERAL3>\r
-                       <LITERAL3>checkbox</LITERAL3>\r
-                       <LITERAL3>colored</LITERAL3>\r
-                       <LITERAL3>components</LITERAL3>\r
-                       <LITERAL3>current</LITERAL3>\r
-                       <LITERAL3>custom</LITERAL3>\r
-                       <LITERAL3>directory</LITERAL3>\r
-                       <LITERAL3>false</LITERAL3>\r
-                       <LITERAL3>force</LITERAL3>\r
-                       <LITERAL3>hide</LITERAL3>\r
-                       <LITERAL3>ifnewer</LITERAL3>\r
-                       <LITERAL3>instfiles</LITERAL3>\r
-                       <LITERAL3>license</LITERAL3>\r
-                       <LITERAL3>listonly</LITERAL3>\r
-                       <LITERAL3>manual</LITERAL3>\r
-                       <LITERAL3>nevershow</LITERAL3>\r
-                       <LITERAL3>none</LITERAL3>\r
-                       <LITERAL3>off</LITERAL3>\r
-                       <LITERAL3>on</LITERAL3>\r
-                       <LITERAL3>r</LITERAL3>\r
-                       <LITERAL3>radiobuttons</LITERAL3>\r
-                       <LITERAL3>show</LITERAL3>\r
-                       <LITERAL3>silent</LITERAL3>\r
-                       <LITERAL3>silentlog</LITERAL3>\r
-                       <LITERAL3>smooth</LITERAL3>\r
-                       <LITERAL3>textonly</LITERAL3>\r
-                       <LITERAL3>top</LITERAL3>\r
-                       <LITERAL3>true</LITERAL3>\r
-                       <LITERAL3>try</LITERAL3>\r
-                       <LITERAL3>uninstConfirm</LITERAL3>\r
-                       <LITERAL3>w</LITERAL3>\r
-                       <LITERAL3>zlib</LITERAL3>\r
-                       <LITERAL3>$$</LITERAL3>\r
-                       <LITERAL3>$DESKTOP</LITERAL3>\r
-                       <LITERAL3>$EXEDIR</LITERAL3>\r
-                       <LITERAL3>$HWNDPARENT</LITERAL3>\r
-                       <LITERAL3>$PLUGINSDIR</LITERAL3>\r
-                       <LITERAL3>$PROGRAMFILES</LITERAL3>\r
-                       <LITERAL3>$QUICKLAUNCH</LITERAL3>\r
-                       <LITERAL3>$SMPROGRAMS</LITERAL3>\r
-                       <LITERAL3>$SMSTARTUP</LITERAL3>\r
-                       <LITERAL3>$STARTMENU</LITERAL3>\r
-                       <LITERAL3>$SYSDIR</LITERAL3>\r
-                       <LITERAL3>$TEMP</LITERAL3>\r
-                       <LITERAL3>$WINDIR</LITERAL3>\r
-                       <LITERAL3>$\n</LITERAL3>\r
-                       <LITERAL3>$\r</LITERAL3>\r
-                       <LITERAL3>${NSISDIR}</LITERAL3>\r
-                       <LITERAL3>ALT</LITERAL3>\r
-                       <LITERAL3>END</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_HIDDEN</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_NORMAL</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_OFFLINE</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_READONLY</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_SYSTEM</LITERAL3>\r
-                       <LITERAL3>FILE_ATTRIBUTE_TEMPORARY</LITERAL3>\r
-                       <LITERAL3>HIDDEN</LITERAL3>\r
-                       <LITERAL3>HKCC</LITERAL3>\r
-                       <LITERAL3>HKCR</LITERAL3>\r
-                       <LITERAL3>HKCU</LITERAL3>\r
-                       <LITERAL3>HKDD</LITERAL3>\r
-                       <LITERAL3>HKLM</LITERAL3>\r
-                       <LITERAL3>HKPD</LITERAL3>\r
-                       <LITERAL3>HKU</LITERAL3>\r
-                       <LITERAL3>SHCTX</LITERAL3>\r
-                       <LITERAL3>IDABORT</LITERAL3>\r
-                       <LITERAL3>IDCANCEL</LITERAL3>\r
-                       <LITERAL3>IDIGNORE</LITERAL3>\r
-                       <LITERAL3>IDNO</LITERAL3>\r
-                       <LITERAL3>IDOK</LITERAL3>\r
-                       <LITERAL3>IDRETRY</LITERAL3>\r
-                       <LITERAL3>IDYES</LITERAL3>\r
-                       <LITERAL3>LEFT</LITERAL3>\r
-                       <LITERAL3>MB_DEFBUTTON1</LITERAL3>\r
-                       <LITERAL3>MB_DEFBUTTON2</LITERAL3>\r
-                       <LITERAL3>MB_DEFBUTTON3</LITERAL3>\r
-                       <LITERAL3>MB_DEFBUTTON4</LITERAL3>\r
-                       <LITERAL3>MB_ICONEXCLAMATION</LITERAL3>\r
-                       <LITERAL3>MB_ICONINFORMATION</LITERAL3>\r
-                       <LITERAL3>MB_ICONQUESTION</LITERAL3>\r
-                       <LITERAL3>MB_ICONSTOP</LITERAL3>\r
-                       <LITERAL3>MB_OK</LITERAL3>\r
-                       <LITERAL3>MB_OKCANCEL</LITERAL3>\r
-                       <LITERAL3>MB_RETRYCANCEL</LITERAL3>\r
-                       <LITERAL3>MB_RIGHT</LITERAL3>\r
-                       <LITERAL3>MB_SETFOREGROUND</LITERAL3>\r
-                       <LITERAL3>MB_TOPMOST</LITERAL3>\r
-                       <LITERAL3>MB_YESNO</LITERAL3>\r
-                       <LITERAL3>MB_YESNOCANCEL</LITERAL3>\r
-                       <LITERAL3>NORMAL</LITERAL3>\r
-                       <LITERAL3>OFFLINE</LITERAL3>\r
-                       <LITERAL3>READONLY</LITERAL3>\r
-                       <LITERAL3>SYSTEM</LITERAL3>\r
-                       <LITERAL3>TEMPORARY</LITERAL3>\r
-\r
-                       <!-- Command flags -->\r
-                       <KEYWORD4>/0</KEYWORD4>\r
-                       <KEYWORD4>/COMPONENTSONLYONCUSTOM</KEYWORD4>\r
-                       <KEYWORD4>/CUSTOMSTRING</KEYWORD4>\r
-                       <KEYWORD4>/FILESONLY</KEYWORD4>\r
-                       <KEYWORD4>/IMGID</KEYWORD4>\r
-                       <KEYWORD4>/ITALIC</KEYWORD4>\r
-                       <KEYWORD4>/LANG</KEYWORD4>\r
-                       <KEYWORD4>/NOCUSTOM</KEYWORD4>\r
-                       <KEYWORD4>/NOUNLOAD</KEYWORD4>\r
-                       <KEYWORD4>/REBOOTOK</KEYWORD4>\r
-                       <KEYWORD4>/RESIZETOFIT</KEYWORD4>\r
-                       <KEYWORD4>/RTL</KEYWORD4>\r
-                       <KEYWORD4>/SHORT</KEYWORD4>\r
-                       <KEYWORD4>/SILENT</KEYWORD4>\r
-                       <KEYWORD4>/STRIKE</KEYWORD4>\r
-                       <KEYWORD4>/TIMEOUT</KEYWORD4>\r
-                       <KEYWORD4>/TRIM</KEYWORD4>\r
-                       <KEYWORD4>/UNDERLINE</KEYWORD4>\r
-                       <KEYWORD4>/a</KEYWORD4>\r
-                       <KEYWORD4>/e</KEYWORD4>\r
-                       <KEYWORD4>/ifempty</KEYWORD4>\r
-                       <KEYWORD4>/nonfatal</KEYWORD4>\r
-                       <KEYWORD4>/oname</KEYWORD4>\r
-                       <KEYWORD4>/r</KEYWORD4>\r
-                       <KEYWORD4>/windows</KEYWORD4>\r
-\r
-                       <!-- Compiler utility commands -->\r
-                       <KEYWORD2>!addincludedir</KEYWORD2>\r
-                       <KEYWORD2>!addplugindir</KEYWORD2>\r
-                       <KEYWORD2>!define</KEYWORD2>\r
-                       <KEYWORD2>!include</KEYWORD2>\r
-                       <KEYWORD2>!cd</KEYWORD2>\r
-                       <KEYWORD2>!echo</KEYWORD2>\r
-                       <KEYWORD2>!error</KEYWORD2>\r
-                       <KEYWORD2>!insertmacro</KEYWORD2>\r
-                       <KEYWORD2>!packhdr</KEYWORD2>\r
-                       <KEYWORD2>!system</KEYWORD2>\r
-                       <KEYWORD2>!warning</KEYWORD2>\r
-                       <KEYWORD2>!undef</KEYWORD2>\r
-                       <KEYWORD2>!verbose</KEYWORD2>\r
-\r
-                       <!-- Conditional compilation -->\r
-                       <KEYWORD1>!ifdef</KEYWORD1>\r
-                       <KEYWORD1>!ifndef</KEYWORD1>\r
-                       <KEYWORD1>!if</KEYWORD1>\r
-                       <KEYWORD1>!else</KEYWORD1>\r
-                       <KEYWORD1>!endif</KEYWORD1>\r
-                       <KEYWORD1>!macro</KEYWORD1>\r
-                       <KEYWORD1>!macroend</KEYWORD1>\r
-\r
-                       <!-- Keywords -->\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>functionend</KEYWORD1>\r
-                       <KEYWORD1>section</KEYWORD1>\r
-                       <KEYWORD1>sectionend</KEYWORD1>\r
-                       <KEYWORD1>subsection</KEYWORD1>\r
-                       <KEYWORD1>subsectionend</KEYWORD1>\r
-\r
-                       <!-- Instructions -->\r
-                       <KEYWORD2>addbrandingimage</KEYWORD2>\r
-                       <KEYWORD2>addsize</KEYWORD2>\r
-                       <KEYWORD2>allowrootdirinstall</KEYWORD2>\r
-                       <KEYWORD2>allowskipfiles</KEYWORD2>\r
-                       <KEYWORD2>autoclosewindow</KEYWORD2>\r
-                       <KEYWORD2>bggradient</KEYWORD2>\r
-                       <KEYWORD2>brandingtext</KEYWORD2>\r
-                       <KEYWORD2>bringtofront</KEYWORD2>\r
-                       <KEYWORD2>callinstdll</KEYWORD2>\r
-                       <KEYWORD2>caption</KEYWORD2>\r
-                       <KEYWORD2>changeui</KEYWORD2>\r
-                       <KEYWORD2>checkbitmap</KEYWORD2>\r
-                       <KEYWORD2>completedtext</KEYWORD2>\r
-                       <KEYWORD2>componenttext</KEYWORD2>\r
-                       <KEYWORD2>copyfiles</KEYWORD2>\r
-                       <KEYWORD2>crccheck</KEYWORD2>\r
-                       <KEYWORD2>createdirectory</KEYWORD2>\r
-                       <KEYWORD2>createfont</KEYWORD2>\r
-                       <KEYWORD2>createshortcut</KEYWORD2>\r
-                       <KEYWORD2>delete</KEYWORD2>\r
-                       <KEYWORD2>deleteinisec</KEYWORD2>\r
-                       <KEYWORD2>deleteinistr</KEYWORD2>\r
-                       <KEYWORD2>deleteregkey</KEYWORD2>\r
-                       <KEYWORD2>deleteregvalue</KEYWORD2>\r
-                       <KEYWORD2>detailprint</KEYWORD2>\r
-                       <KEYWORD2>detailsbuttontext</KEYWORD2>\r
-                       <KEYWORD2>dirshow</KEYWORD2>\r
-                       <KEYWORD2>dirtext</KEYWORD2>\r
-                       <KEYWORD2>enumregkey</KEYWORD2>\r
-                       <KEYWORD2>enumregvalue</KEYWORD2>\r
-                       <KEYWORD2>exch</KEYWORD2>\r
-                       <KEYWORD2>exec</KEYWORD2>\r
-                       <KEYWORD2>execshell</KEYWORD2>\r
-                       <KEYWORD2>execwait</KEYWORD2>\r
-                       <KEYWORD2>expandenvstrings</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>fileclose</KEYWORD2>\r
-                       <KEYWORD2>fileerrortext</KEYWORD2>\r
-                       <KEYWORD2>fileopen</KEYWORD2>\r
-                       <KEYWORD2>fileread</KEYWORD2>\r
-                       <KEYWORD2>filereadbyte</KEYWORD2>\r
-                       <KEYWORD2>fileseek</KEYWORD2>\r
-                       <KEYWORD2>filewrite</KEYWORD2>\r
-                       <KEYWORD2>filewritebyte</KEYWORD2>\r
-                       <KEYWORD2>findclose</KEYWORD2>\r
-                       <KEYWORD2>findfirst</KEYWORD2>\r
-                       <KEYWORD2>findnext</KEYWORD2>\r
-                       <KEYWORD2>findwindow</KEYWORD2>\r
-                       <KEYWORD2>flushini</KEYWORD2>\r
-                       <KEYWORD2>getcurinsttype</KEYWORD2>\r
-                       <KEYWORD2>getcurrentaddress</KEYWORD2>\r
-                       <KEYWORD2>getdlgitem</KEYWORD2>\r
-                       <KEYWORD2>getdllversion</KEYWORD2>\r
-                       <KEYWORD2>getdllversionlocal</KEYWORD2>\r
-                       <KEYWORD2>getfiletime</KEYWORD2>\r
-                       <KEYWORD2>getfiletimelocal</KEYWORD2>\r
-                       <KEYWORD2>getfullpathname</KEYWORD2>\r
-                       <KEYWORD2>getfunctionaddress</KEYWORD2>\r
-                       <KEYWORD2>getlabeladdress</KEYWORD2>\r
-                       <KEYWORD2>gettempfilename</KEYWORD2>\r
-                       <KEYWORD2>getwindowtext</KEYWORD2>\r
-                       <KEYWORD2>hidewindow</KEYWORD2>\r
-                       <KEYWORD2>icon</KEYWORD2>\r
-                       <KEYWORD2>initpluginsdir</KEYWORD2>\r
-                       <KEYWORD2>installbuttontext</KEYWORD2>\r
-                       <KEYWORD2>installcolors</KEYWORD2>\r
-                       <KEYWORD2>installdir</KEYWORD2>\r
-                       <KEYWORD2>installdirregkey</KEYWORD2>\r
-                       <KEYWORD2>instprogressflags</KEYWORD2>\r
-                       <KEYWORD2>insttype</KEYWORD2>\r
-                       <KEYWORD2>insttypegettext</KEYWORD2>\r
-                       <KEYWORD2>insttypesettext</KEYWORD2>\r
-                       <KEYWORD2>intfmt</KEYWORD2>\r
-                       <KEYWORD2>intop</KEYWORD2>\r
-                       <KEYWORD2>langstring</KEYWORD2>\r
-                       <KEYWORD2>langstringup</KEYWORD2>\r
-                       <KEYWORD2>licensebkcolor</KEYWORD2>\r
-                       <KEYWORD2>licensedata</KEYWORD2>\r
-                       <KEYWORD2>licenseforceselection</KEYWORD2>\r
-                       <KEYWORD2>licensetext</KEYWORD2>\r
-                       <KEYWORD2>loadlanguagefile</KEYWORD2>\r
-                       <KEYWORD2>loadlanguagefile</KEYWORD2>\r
-                       <KEYWORD2>logset</KEYWORD2>\r
-                       <KEYWORD2>logtext</KEYWORD2>\r
-                       <KEYWORD2>miscbuttontext</KEYWORD2>\r
-                       <KEYWORD2>name</KEYWORD2>\r
-                       <KEYWORD2>nop</KEYWORD2>\r
-                       <KEYWORD2>outfile</KEYWORD2>\r
-                       <KEYWORD2>page</KEYWORD2>\r
-                       <KEYWORD2>plugindir</KEYWORD2>\r
-                       <KEYWORD2>pop</KEYWORD2>\r
-                       <KEYWORD2>push</KEYWORD2>\r
-                       <KEYWORD2>readenvstr</KEYWORD2>\r
-                       <KEYWORD2>readinistr</KEYWORD2>\r
-                       <KEYWORD2>readregdword</KEYWORD2>\r
-                       <KEYWORD2>readregstr</KEYWORD2>\r
-                       <KEYWORD2>regdll</KEYWORD2>\r
-                       <KEYWORD2>rename</KEYWORD2>\r
-                       <KEYWORD2>reservefile</KEYWORD2>\r
-                       <KEYWORD2>rmdir</KEYWORD2>\r
-                       <KEYWORD2>searchpath</KEYWORD2>\r
-                       <KEYWORD2>sectiongetflags</KEYWORD2>\r
-                       <KEYWORD2>sectiongetinsttypes</KEYWORD2>\r
-                       <KEYWORD2>sectiongetsize</KEYWORD2>\r
-                       <KEYWORD2>sectiongettext</KEYWORD2>\r
-                       <KEYWORD2>sectionin</KEYWORD2>\r
-                       <KEYWORD2>sectionsetflags</KEYWORD2>\r
-                       <KEYWORD2>sectionsetinsttypes</KEYWORD2>\r
-                       <KEYWORD2>sectionsetsize</KEYWORD2>\r
-                       <KEYWORD2>sectionsettext</KEYWORD2>\r
-                       <KEYWORD2>sendmessage</KEYWORD2>\r
-                       <KEYWORD2>setautoclose</KEYWORD2>\r
-                       <KEYWORD2>setbkcolor</KEYWORD2>\r
-                       <KEYWORD2>setbrandingimage</KEYWORD2>\r
-                       <KEYWORD2>setcompress</KEYWORD2>\r
-                       <KEYWORD2>setcompressor</KEYWORD2>\r
-                       <KEYWORD2>setcurinsttype</KEYWORD2>\r
-                       <KEYWORD2>setdatablockoptimize</KEYWORD2>\r
-                       <KEYWORD2>setdatesave</KEYWORD2>\r
-                       <KEYWORD2>setdetailsprint</KEYWORD2>\r
-                       <KEYWORD2>setdetailsview</KEYWORD2>\r
-                       <KEYWORD2>setfileattributes</KEYWORD2>\r
-                       <KEYWORD2>setfont</KEYWORD2>\r
-                       <KEYWORD2>setoutpath</KEYWORD2>\r
-                       <KEYWORD2>setoverwrite</KEYWORD2>\r
-                       <KEYWORD2>setpluginunload</KEYWORD2>\r
-                       <KEYWORD2>setrebootflag</KEYWORD2>\r
-                       <KEYWORD2>setshellvarcontext</KEYWORD2>\r
-                       <KEYWORD2>setstaticbkcolor</KEYWORD2>\r
-                       <KEYWORD2>setwindowlong</KEYWORD2>\r
-                       <KEYWORD2>showinstdetails</KEYWORD2>\r
-                       <KEYWORD2>showuninstdetails</KEYWORD2>\r
-                       <KEYWORD2>showwindow</KEYWORD2>\r
-                       <KEYWORD2>silentinstall</KEYWORD2>\r
-                       <KEYWORD2>silentuninstall</KEYWORD2>\r
-                       <KEYWORD2>sleep</KEYWORD2>\r
-                       <KEYWORD2>spacetexts</KEYWORD2>\r
-                       <KEYWORD2>strcpy</KEYWORD2>\r
-                       <KEYWORD2>strlen</KEYWORD2>\r
-                       <KEYWORD2>subcaption</KEYWORD2>\r
-                       <KEYWORD2>uninstallbuttontext</KEYWORD2>\r
-                       <KEYWORD2>uninstallcaption</KEYWORD2>\r
-                       <KEYWORD2>uninstallicon</KEYWORD2>\r
-                       <KEYWORD2>uninstallsubcaption</KEYWORD2>\r
-                       <KEYWORD2>uninstalltext</KEYWORD2>\r
-                       <KEYWORD2>uninstpage</KEYWORD2>\r
-                       <KEYWORD2>unregdll</KEYWORD2>\r
-                       <KEYWORD2>var</KEYWORD2>\r
-                       <KEYWORD2>viaddversionkey</KEYWORD2>\r
-                       <KEYWORD2>videscription</KEYWORD2>\r
-                       <KEYWORD2>vicompanyname</KEYWORD2>\r
-                       <KEYWORD2>vicomments</KEYWORD2>\r
-                       <KEYWORD2>vilegalcopyrights</KEYWORD2>\r
-                       <KEYWORD2>vilegaltrademarks</KEYWORD2>\r
-                       <KEYWORD2>viproductname</KEYWORD2>\r
-                       <KEYWORD2>viproductversion</KEYWORD2>\r
-                       <KEYWORD2>windowicon</KEYWORD2>\r
-                       <KEYWORD2>writeinistr</KEYWORD2>\r
-                       <KEYWORD2>writeregbin</KEYWORD2>\r
-                       <KEYWORD2>writeregdword</KEYWORD2>\r
-                       <KEYWORD2>writeregexpandstr</KEYWORD2>\r
-                       <KEYWORD2>writeregstr</KEYWORD2>\r
-                       <KEYWORD2>writeuninstaller</KEYWORD2>\r
-                       <KEYWORD2>xpstyle</KEYWORD2>\r
-\r
-                       <!-- Flow control instructions -->\r
-                       <KEYWORD1>abort</KEYWORD1>\r
-                       <KEYWORD1>call</KEYWORD1>\r
-                       <KEYWORD1>clearerrors</KEYWORD1>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>ifabort</KEYWORD1>\r
-                       <KEYWORD1>iferrors</KEYWORD1>\r
-                       <KEYWORD1>iffileexists</KEYWORD1>\r
-                       <KEYWORD1>ifrebootflag</KEYWORD1>\r
-                       <KEYWORD1>intcmp</KEYWORD1>\r
-                       <KEYWORD1>intcmpu</KEYWORD1>\r
-                       <KEYWORD1>iswindow</KEYWORD1>\r
-                       <KEYWORD1>messagebox</KEYWORD1>\r
-                       <KEYWORD1>reboot</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>quit</KEYWORD1>\r
-                       <KEYWORD1>seterrors</KEYWORD1>\r
-                       <KEYWORD1>strcmp</KEYWORD1>\r
-\r
-                       <!-- Callback functions -->\r
-                       <KEYWORD3>.onguiinit</KEYWORD3>\r
-                       <KEYWORD3>.oninit</KEYWORD3>\r
-                       <KEYWORD3>.oninstfailed</KEYWORD3>\r
-                       <KEYWORD3>.oninstsuccess</KEYWORD3>\r
-                       <KEYWORD3>.onmouseoversection</KEYWORD3>\r
-                       <KEYWORD3>.onselchange</KEYWORD3>\r
-                       <KEYWORD3>.onuserabort</KEYWORD3>\r
-                       <KEYWORD3>.onverifyinstdir</KEYWORD3>\r
-                       <KEYWORD3>un.onguiinit</KEYWORD3>\r
-                       <KEYWORD3>un.oninit</KEYWORD3>\r
-                       <KEYWORD3>un.onuninstfailed</KEYWORD3>\r
-                       <KEYWORD3>un.onuninstsuccess</KEYWORD3>\r
-                       <KEYWORD3>un.onuserabort</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="NSIS_LITERAL" DEFAULT="LITERAL1" NO_WORD_SEP="-{}_">\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/objective-c.xml b/extra/xmode/modes/objective-c.xml
deleted file mode 100644 (file)
index 7496838..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Extension of c.xml to handle Objective-C keywords. -->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-       <!-- Auto indent -->\r
-       <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-       <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-       <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-       <PROPERTY NAME="indentNextLine"\r
-               VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-       <PROPERTY NAME="unindentThisLine"\r
-               VALUE="^.*(default:\s*|case.*:.*)$" />\r
-       <PROPERTY NAME="electricKeys" VALUE=":" />\r
-    </PROPS>\r
-\r
-    <RULES\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>\r
-\r
-        <IMPORT DELEGATE="c::LEX"/>\r
-        <IMPORT DELEGATE="c::CORE"/>\r
-               <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-    <!-- Core language -->\r
-    <RULES SET="CORE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <KEYWORDS>\r
-            <!-- Types (Objective C) -->\r
-            <KEYWORD3>id</KEYWORD3>\r
-            <KEYWORD3>Class</KEYWORD3>\r
-            <KEYWORD3>SEL</KEYWORD3>\r
-            <KEYWORD3>IMP</KEYWORD3>\r
-            <KEYWORD3>BOOL</KEYWORD3>\r
-\r
-            <!-- Keywords (Objective C) -->\r
-            <KEYWORD1>oneway</KEYWORD1>\r
-            <KEYWORD1>in</KEYWORD1>\r
-            <KEYWORD1>out</KEYWORD1>\r
-            <KEYWORD1>inout</KEYWORD1>\r
-            <KEYWORD1>bycopy</KEYWORD1>\r
-            <KEYWORD1>byref</KEYWORD1>\r
-            <KEYWORD1>self</KEYWORD1>\r
-            <KEYWORD1>super</KEYWORD1>\r
-\r
-            <!-- Preprocessor Directives (Objective C)-->\r
-            <KEYWORD1>@interface</KEYWORD1>\r
-            <KEYWORD1>@implementation</KEYWORD1>\r
-            <KEYWORD1>@protocol</KEYWORD1>\r
-            <KEYWORD1>@end</KEYWORD1>\r
-            <KEYWORD1>@private</KEYWORD1>\r
-            <KEYWORD1>@protected</KEYWORD1>\r
-            <KEYWORD1>@public</KEYWORD1>\r
-            <KEYWORD1>@class</KEYWORD1>\r
-            <KEYWORD1>@selector</KEYWORD1>\r
-            <KEYWORD1>@endcode</KEYWORD1>\r
-            <KEYWORD1>@defs</KEYWORD1>\r
-\r
-            <LITERAL2>TRUE</LITERAL2>\r
-            <LITERAL2>FALSE</LITERAL2>\r
-            <LITERAL2>YES</LITERAL2>\r
-            <LITERAL2>NO</LITERAL2>\r
-            <LITERAL2>NULL</LITERAL2>\r
-            <LITERAL2>nil</LITERAL2>\r
-            <LITERAL2>Nil</LITERAL2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- Preprocessor specific rules -->\r
-    <RULES SET="CPP"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-\r
-        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="import" TYPE="MARKUP" DELEGATE="c::INCLUDE">import\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>\r
-        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>\r
-\r
-        <IMPORT DELEGATE="c::LEX"/>\r
-\r
-        <!-- Directives -->\r
-        <KEYWORDS>\r
-            <MARKUP>ifdef</MARKUP>\r
-            <MARKUP>ifndef</MARKUP>\r
-            <MARKUP>else</MARKUP>\r
-            <MARKUP>error</MARKUP>\r
-            <MARKUP>line</MARKUP>\r
-            <MARKUP>pragma</MARKUP>\r
-            <MARKUP>undef</MARKUP>\r
-            <MARKUP>warning</MARKUP>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- After #define directive -->\r
-    <!-- Almost same as the normal code,\r
-        except two additional operators # and ##. -->\r
-    <RULES SET="DEFINE"\r
-        ESCAPE="\" IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">\r
-        <SEQ TYPE="OPERATOR">#</SEQ>\r
-        <IMPORT DELEGATE="c::LEX"/>\r
-        <IMPORT DELEGATE="c::CORE"/>\r
-        <IMPORT DELEGATE="CORE"/>\r
-    </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/objectrexx.xml b/extra/xmode/modes/objectrexx.xml
deleted file mode 100644 (file)
index 875e83e..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLines"\r
-                       VALUE="\s*(if|loop|do|else|select|otherwise|catch|finally|class|method|properties)(.*)"/>\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- preprocessor statements -->\r
-               <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION">::</MARK_PREVIOUS>\r
-\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>Address</KEYWORD1>\r
-                       <KEYWORD1>Arg</KEYWORD1>\r
-                       <KEYWORD1>Call</KEYWORD1>\r
-                       <KEYWORD1>Do</KEYWORD1>\r
-                       <KEYWORD1>Drop</KEYWORD1>\r
-                       <KEYWORD1>Exit</KEYWORD1>\r
-                       <KEYWORD1>Expose</KEYWORD1>\r
-                       <KEYWORD1>Forward</KEYWORD1>\r
-                       <KEYWORD1>Guard</KEYWORD1>\r
-                       <KEYWORD1>If</KEYWORD1>\r
-                       <KEYWORD1>Interpret</KEYWORD1>\r
-                       <KEYWORD1>Iterate</KEYWORD1>\r
-                       <KEYWORD1>Leave</KEYWORD1>\r
-                       <KEYWORD1>Nop</KEYWORD1>\r
-                       <KEYWORD1>Numeric</KEYWORD1>\r
-                       <KEYWORD1>Parse</KEYWORD1>\r
-                       <KEYWORD1>Procedure</KEYWORD1>\r
-                       <KEYWORD1>pull</KEYWORD1>\r
-                       <KEYWORD1>Push</KEYWORD1>\r
-                       <KEYWORD1>Queue</KEYWORD1>\r
-                       <KEYWORD1>Raise</KEYWORD1>\r
-                       <KEYWORD1>reply</KEYWORD1>\r
-                       <KEYWORD1>Return</KEYWORD1>\r
-                       <KEYWORD1>Say</KEYWORD1>\r
-                       <KEYWORD1>Seleect</KEYWORD1>\r
-                       <KEYWORD1>Signal</KEYWORD1>\r
-                       <KEYWORD1>Trace</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-                       <KEYWORD1>Class</KEYWORD1>\r
-                       <KEYWORD1>Method</KEYWORD1>\r
-                       <KEYWORD1>Requires</KEYWORD1>\r
-                       <KEYWORD1>Routine</KEYWORD1>\r
-                       <KEYWORD1>Result</KEYWORD1>\r
-                       <KEYWORD1>RC</KEYWORD1>\r
-                       <KEYWORD1>Self</KEYWORD1>\r
-                       <KEYWORD1>Sigl</KEYWORD1>\r
-                       <KEYWORD1>Super</KEYWORD1>\r
-                       <KEYWORD2>Abbrev</KEYWORD2>\r
-                       <KEYWORD2>Abs</KEYWORD2>\r
-                       <KEYWORD2>Address</KEYWORD2>\r
-                       <KEYWORD2>Arg</KEYWORD2>\r
-                       <KEYWORD2>Beep</KEYWORD2>\r
-                       <KEYWORD2>BitAnd</KEYWORD2>\r
-                       <KEYWORD2>BitOr</KEYWORD2>\r
-                       <KEYWORD2>BitXor</KEYWORD2>\r
-                       <KEYWORD2>B2X</KEYWORD2>\r
-                       <KEYWORD2>Center</KEYWORD2>\r
-                       <KEYWORD2>ChangeStr</KEYWORD2>\r
-                       <KEYWORD2>CharIn</KEYWORD2>\r
-                       <KEYWORD2>CharOut</KEYWORD2>\r
-                       <KEYWORD2>Chars</KEYWORD2>\r
-                       <KEYWORD2>Compare</KEYWORD2>\r
-                       <KEYWORD2>Consition</KEYWORD2>\r
-                       <KEYWORD2>Copies</KEYWORD2>\r
-                       <KEYWORD2>CountStr</KEYWORD2>\r
-                       <KEYWORD2>C2D</KEYWORD2>\r
-                       <KEYWORD2>C2X</KEYWORD2>\r
-                       <KEYWORD2>DataType</KEYWORD2>\r
-                       <KEYWORD2>Date</KEYWORD2>\r
-                       <KEYWORD2>DelStr</KEYWORD2>\r
-                       <KEYWORD2>DelWord</KEYWORD2>\r
-                       <KEYWORD2>Digits</KEYWORD2>\r
-                       <KEYWORD2>Directory</KEYWORD2>\r
-                       <KEYWORD2>D2C</KEYWORD2>\r
-                       <KEYWORD2>D2X</KEYWORD2>\r
-                       <KEYWORD2>ErrorText</KEYWORD2>\r
-                       <KEYWORD2>FileSpec</KEYWORD2>\r
-                       <KEYWORD2>Form</KEYWORD2>\r
-                       <KEYWORD2>Format</KEYWORD2>\r
-                       <KEYWORD2>Fuzz</KEYWORD2>\r
-                       <KEYWORD2>Insert</KEYWORD2>\r
-                       <KEYWORD2>LastPos</KEYWORD2>\r
-                       <KEYWORD2>Left</KEYWORD2>\r
-                       <KEYWORD2>Length</KEYWORD2>\r
-                       <KEYWORD2>LineIn</KEYWORD2>\r
-                       <KEYWORD2>LineOut</KEYWORD2>\r
-                       <KEYWORD2>Lines</KEYWORD2>\r
-                       <KEYWORD2>Max</KEYWORD2>\r
-                       <KEYWORD2>Min</KEYWORD2>\r
-                       <KEYWORD2>Overlay</KEYWORD2>\r
-                       <KEYWORD2>Pos</KEYWORD2>\r
-                       <KEYWORD2>Queued</KEYWORD2>\r
-                       <KEYWORD2>Random</KEYWORD2>\r
-                       <KEYWORD2>Reverse</KEYWORD2>\r
-                       <KEYWORD2>Right</KEYWORD2>\r
-                       <KEYWORD2>Sign</KEYWORD2>\r
-                       <KEYWORD2>SourceLine</KEYWORD2>\r
-                       <KEYWORD2>Space</KEYWORD2>\r
-                       <KEYWORD2>Stream</KEYWORD2>\r
-                       <KEYWORD2>Strip</KEYWORD2>\r
-                       <KEYWORD2>SubStr</KEYWORD2>\r
-                       <KEYWORD2>SubWord</KEYWORD2>\r
-                       <KEYWORD2>Symbol</KEYWORD2>\r
-                       <KEYWORD2>Time</KEYWORD2>\r
-                       <KEYWORD2>Trace</KEYWORD2>\r
-                       <KEYWORD2>Translate</KEYWORD2>\r
-                       <KEYWORD2>Trunc</KEYWORD2>\r
-                       <KEYWORD2>Value</KEYWORD2>\r
-                       <KEYWORD2>Var</KEYWORD2>\r
-                       <KEYWORD2>Verify</KEYWORD2>\r
-                       <KEYWORD2>Word</KEYWORD2>\r
-                       <KEYWORD2>WordIndex</KEYWORD2>\r
-                       <KEYWORD2>WordLength</KEYWORD2>\r
-                       <KEYWORD2>WordPos</KEYWORD2>\r
-                       <KEYWORD2>Words</KEYWORD2>\r
-                       <KEYWORD2>XRange</KEYWORD2>\r
-                       <KEYWORD2>X2B</KEYWORD2>\r
-                       <KEYWORD2>X2C</KEYWORD2>\r
-                       <KEYWORD2>X2D</KEYWORD2>\r
-                       <KEYWORD2>RxFuncAdd</KEYWORD2>\r
-                       <KEYWORD2>RxFuncDrop</KEYWORD2>\r
-                       <KEYWORD2>RxFuncQuery</KEYWORD2>\r
-                       <KEYWORD2>RxMessageBox</KEYWORD2>\r
-                       <KEYWORD2>RxWinExec</KEYWORD2>\r
-                       <KEYWORD2>SysAddRexxMacro</KEYWORD2>\r
-                       <KEYWORD2>SysBootDrive</KEYWORD2>\r
-                       <KEYWORD2>SysClearRexxMacroSpace</KEYWORD2>\r
-                       <KEYWORD2>SysCloseEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysCloseMutexSem</KEYWORD2>\r
-                       <KEYWORD2>SysCls</KEYWORD2>\r
-                       <KEYWORD2>SysCreateEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysCreateMutexSem</KEYWORD2>\r
-                       <KEYWORD2>SysCurPos</KEYWORD2>\r
-                       <KEYWORD2>SysCurState</KEYWORD2>\r
-                       <KEYWORD2>SysDriveInfo</KEYWORD2>\r
-                       <KEYWORD2>SysDriveMap</KEYWORD2>\r
-                       <KEYWORD2>SysDropFuncs</KEYWORD2>\r
-                       <KEYWORD2>SysDropRexxMacro</KEYWORD2>\r
-                       <KEYWORD2>SysDumpVariables</KEYWORD2>\r
-                       <KEYWORD2>SysFileDelete</KEYWORD2>\r
-                       <KEYWORD2>SysFileSearch</KEYWORD2>\r
-                       <KEYWORD2>SysFileSystemType</KEYWORD2>\r
-                       <KEYWORD2>SysFileTree</KEYWORD2>\r
-                       <KEYWORD2>SysFromUnicode</KEYWORD2>\r
-                       <KEYWORD2>SysToUnicode</KEYWORD2>\r
-                       <KEYWORD2>SysGetErrortext</KEYWORD2>\r
-                       <KEYWORD2>SysGetFileDateTime</KEYWORD2>\r
-                       <KEYWORD2>SysGetKey</KEYWORD2>\r
-                       <KEYWORD2>SysIni</KEYWORD2>\r
-                       <KEYWORD2>SysLoadFuncs</KEYWORD2>\r
-                       <KEYWORD2>SysLoadRexxMacroSpace</KEYWORD2>\r
-                       <KEYWORD2>SysMkDir</KEYWORD2>\r
-                       <KEYWORD2>SysOpenEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysOpenMutexSem</KEYWORD2>\r
-                       <KEYWORD2>SysPostEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysPulseEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysQueryProcess</KEYWORD2>\r
-                       <KEYWORD2>SysQueryRexxMacro</KEYWORD2>\r
-                       <KEYWORD2>SysReleaseMutexSem</KEYWORD2>\r
-                       <KEYWORD2>SysReorderRexxMacro</KEYWORD2>\r
-                       <KEYWORD2>SysRequestMutexSem</KEYWORD2>\r
-                       <KEYWORD2>SysResetEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysRmDir</KEYWORD2>\r
-                       <KEYWORD2>SysSaveRexxMacroSpace</KEYWORD2>\r
-                       <KEYWORD2>SysSearchPath</KEYWORD2>\r
-                       <KEYWORD2>SysSetFileDateTime</KEYWORD2>\r
-                       <KEYWORD2>SysSetPriority</KEYWORD2>\r
-                       <KEYWORD2>SysSleep</KEYWORD2>\r
-                       <KEYWORD2>SysStemCopy</KEYWORD2>\r
-                       <KEYWORD2>SysStemDelete</KEYWORD2>\r
-                       <KEYWORD2>SysStemInsert</KEYWORD2>\r
-                       <KEYWORD2>SysStemSort</KEYWORD2>\r
-                       <KEYWORD2>SysSwitchSession</KEYWORD2>\r
-                       <KEYWORD2>SysSystemDirectory</KEYWORD2>\r
-                       <KEYWORD2>SysTempFileName</KEYWORD2>\r
-                       <KEYWORD2>SysTextScreenRead</KEYWORD2>\r
-                       <KEYWORD2>SysTextScreenSize</KEYWORD2>\r
-                       <KEYWORD2>SysUtilVersion</KEYWORD2>\r
-                       <KEYWORD2>SysVersion</KEYWORD2>\r
-                       <KEYWORD2>SysVolumeLabel</KEYWORD2>\r
-                       <KEYWORD2>SysWaitEventSem</KEYWORD2>\r
-                       <KEYWORD2>SysWaitNamedPipe</KEYWORD2>\r
-                       <KEYWORD2>SysWinDecryptFile</KEYWORD2>\r
-                       <KEYWORD2>SysWinEncryptFile</KEYWORD2>\r
-                       <KEYWORD2>SysWinVer</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/occam.xml b/extra/xmode/modes/occam.xml
deleted file mode 100644 (file)
index 4e7265e..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Occam mode by Rick Beton. -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="" />\r
-               <PROPERTY NAME="blockComment" VALUE="" />\r
-               <PROPERTY NAME="noWordSep" VALUE="." />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <!-- Normal comments. -->\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <!-- Compiler directives. -->\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">/\</SEQ>\r
-               <SEQ TYPE="OPERATOR">\/</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-\r
-               <KEYWORDS>\r
-                        <!-- Structure keywords -->\r
-                       <KEYWORD1>ALT</KEYWORD1>\r
-                       <KEYWORD1>ASM</KEYWORD1>\r
-                       <KEYWORD1>CASE</KEYWORD1>\r
-                       <KEYWORD1>FUNCTION</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>INLINE</KEYWORD1>\r
-                       <KEYWORD1>PAR</KEYWORD1>\r
-                       <KEYWORD1>PLACED</KEYWORD1>\r
-                       <KEYWORD1>PRI</KEYWORD1>\r
-                       <KEYWORD1>PROC</KEYWORD1>\r
-                       <KEYWORD1>RESULT</KEYWORD1>\r
-                       <KEYWORD1>SEQ</KEYWORD1>\r
-                       <KEYWORD1>VALOF</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                        \r
-                       <!-- main keywords -->\r
-                        <KEYWORD2>AT</KEYWORD2>\r
-                       <KEYWORD2>ELSE</KEYWORD2>\r
-                       <KEYWORD2>FOR</KEYWORD2>\r
-                       <KEYWORD2>FROM</KEYWORD2>\r
-                       <KEYWORD2>IS</KEYWORD2>\r
-                       <KEYWORD2>PLACE</KEYWORD2>\r
-                       <KEYWORD2>PORT</KEYWORD2>\r
-                       <KEYWORD2>PROTOCOL</KEYWORD2>\r
-                       <KEYWORD2>SKIP</KEYWORD2>\r
-                       <KEYWORD2>STOP</KEYWORD2>\r
-                       <KEYWORD2>VAL</KEYWORD2>\r
-\r
-                        <!-- type and conversion keywords -->\r
-                       <KEYWORD2>AFTER</KEYWORD2>\r
-                       <KEYWORD2>AND</KEYWORD2>\r
-                       <KEYWORD2>ANY</KEYWORD2>\r
-                       <KEYWORD2>BITAND</KEYWORD2>\r
-                       <KEYWORD2>BITNOT</KEYWORD2>\r
-                       <KEYWORD2>BITOR</KEYWORD2>\r
-                       <KEYWORD2>BOOL</KEYWORD2>\r
-                       <KEYWORD2>BYTE</KEYWORD2>\r
-                       <KEYWORD2>BYTESIN</KEYWORD2>\r
-                       <KEYWORD2>CHAN</KEYWORD2>\r
-                       <KEYWORD2>DATA</KEYWORD2>\r
-                       <KEYWORD2>INT</KEYWORD2>\r
-                       <KEYWORD2>INT32</KEYWORD2>\r
-                       <KEYWORD2>INT16</KEYWORD2>\r
-                       <KEYWORD2>INT64</KEYWORD2>\r
-                       <KEYWORD2>MINUS</KEYWORD2>\r
-                       <KEYWORD2>MOSTNEG</KEYWORD2>\r
-                       <KEYWORD2>MOSTPOS</KEYWORD2>\r
-                       <KEYWORD2>NOT</KEYWORD2>\r
-                       <KEYWORD2>PLUS</KEYWORD2>\r
-                       <KEYWORD2>OF</KEYWORD2>\r
-                       <KEYWORD2>OFFSETOF</KEYWORD2>\r
-                       <KEYWORD2>OR</KEYWORD2>\r
-                       <KEYWORD2>PACKED</KEYWORD2>\r
-                       <KEYWORD2>REAL32</KEYWORD2>\r
-                       <KEYWORD2>REAL64</KEYWORD2>\r
-                       <KEYWORD2>RECORD</KEYWORD2>\r
-                       <KEYWORD2>REM</KEYWORD2>\r
-                       <KEYWORD2>RESHAPES</KEYWORD2>\r
-                       <KEYWORD2>RETYPES</KEYWORD2>\r
-                       <KEYWORD2>ROUND</KEYWORD2>\r
-                       <KEYWORD2>SIZE</KEYWORD2>\r
-                       <KEYWORD2>TIMER</KEYWORD2>\r
-                       <KEYWORD2>TIMES</KEYWORD2>\r
-                       <KEYWORD2>TRUNC</KEYWORD2>\r
-                       <KEYWORD2>TYPE</KEYWORD2>\r
-\r
-                        <!-- Occam3 and extensions to occam2.1 -->\r
-                       <KEYWORD2>BUCKET</KEYWORD2>\r
-                       <KEYWORD2>CLAIM</KEYWORD2>\r
-                       <KEYWORD2>ENROLL</KEYWORD2>\r
-                       <KEYWORD2>EVENT</KEYWORD2>\r
-                       <KEYWORD2>FALL</KEYWORD2>\r
-                       <KEYWORD2>FLUSH</KEYWORD2>\r
-                       <KEYWORD2>GRANT</KEYWORD2>\r
-                       <KEYWORD2>INITIAL</KEYWORD2>\r
-                       <KEYWORD2>RESOURCE</KEYWORD2>\r
-                       <KEYWORD2>SEMAPHORE</KEYWORD2>\r
-                       <KEYWORD2>SHARED</KEYWORD2>\r
-                       <KEYWORD2>SYNC</KEYWORD2>\r
-                        \r
-                        <!-- arithmetic & trigonometric functions -->\r
-                       <KEYWORD3>LONGADD</KEYWORD3>\r
-                       <KEYWORD3>LONGSUB</KEYWORD3>\r
-                       <KEYWORD3>ASHIFTRIGHT</KEYWORD3>\r
-                       <KEYWORD3>ASHIFTLEFT</KEYWORD3>\r
-                       <KEYWORD3>ROTATERIGHT</KEYWORD3>\r
-                       <KEYWORD3>ROTATELEFT</KEYWORD3>\r
-                       <KEYWORD3>LONGSUM</KEYWORD3>\r
-                       <KEYWORD3>LONGDIFF</KEYWORD3>\r
-                       <KEYWORD3>LONGPROD</KEYWORD3>\r
-                       <KEYWORD3>LONGDIV</KEYWORD3>\r
-                       <KEYWORD3>SHIFTLEFT</KEYWORD3>\r
-                       <KEYWORD3>SHIFTRIGHT</KEYWORD3>\r
-                       <KEYWORD3>NORMALISE</KEYWORD3>\r
-                       <KEYWORD3>ABS</KEYWORD3>\r
-                       <KEYWORD3>DABS</KEYWORD3>\r
-                       <KEYWORD3>SCALEB</KEYWORD3>\r
-                       <KEYWORD3>DSCALEB</KEYWORD3>\r
-                       <KEYWORD3>COPYSIGN</KEYWORD3>\r
-                       <KEYWORD3>DCOPYSIGN</KEYWORD3>\r
-                       <KEYWORD3>SQRT</KEYWORD3>\r
-                       <KEYWORD3>DSQRT</KEYWORD3>\r
-                       <KEYWORD3>MINUSX</KEYWORD3>\r
-                       <KEYWORD3>DMINUSX</KEYWORD3>\r
-                       <KEYWORD3>NEXTAFTER</KEYWORD3>\r
-                       <KEYWORD3>DNEXTAFTER</KEYWORD3>\r
-                       <KEYWORD3>MULBY2</KEYWORD3>\r
-                       <KEYWORD3>DMULBY2</KEYWORD3>\r
-                       <KEYWORD3>DIVBY2</KEYWORD3>\r
-                       <KEYWORD3>DDIVBY2</KEYWORD3>\r
-                       <KEYWORD3>LOGB</KEYWORD3>\r
-                       <KEYWORD3>DLOGB</KEYWORD3>\r
-                       <KEYWORD3>ISNAN</KEYWORD3>\r
-                       <KEYWORD3>DISNAN</KEYWORD3>\r
-                       <KEYWORD3>NOTFINITE</KEYWORD3>\r
-                       <KEYWORD3>DNOTFINITE</KEYWORD3>\r
-                       <KEYWORD3>ORDERED</KEYWORD3>\r
-                       <KEYWORD3>DORDERED</KEYWORD3>\r
-                       <KEYWORD3>FLOATING.UNPACK</KEYWORD3>\r
-                       <KEYWORD3>DFLOATING.UNPACK</KEYWORD3>\r
-                       <KEYWORD3>ARGUMENT.REDUCE</KEYWORD3>\r
-                       <KEYWORD3>DARGUMENT.REDUCE</KEYWORD3>\r
-                       <KEYWORD3>FPINT</KEYWORD3>\r
-                       <KEYWORD3>DFPINT</KEYWORD3>\r
-                       <KEYWORD3>REAL32OP</KEYWORD3>\r
-                       <KEYWORD3>REAL64OP</KEYWORD3>\r
-                       <KEYWORD3>IEEE32OP</KEYWORD3>\r
-                       <KEYWORD3>IEEE64OP</KEYWORD3>\r
-                       <KEYWORD3>REAL32REM</KEYWORD3>\r
-                       <KEYWORD3>REAL64REM</KEYWORD3>\r
-                       <KEYWORD3>IEEE32REM</KEYWORD3>\r
-                       <KEYWORD3>IEEE64REM</KEYWORD3>\r
-                       <KEYWORD3>REAL32EQ</KEYWORD3>\r
-                       <KEYWORD3>REAL64EQ</KEYWORD3>\r
-                       <KEYWORD3>REAL32GT</KEYWORD3>\r
-                       <KEYWORD3>REAL64GT</KEYWORD3>\r
-                       <KEYWORD3>IEEECOMPARE</KEYWORD3>\r
-                       <KEYWORD3>DIEEECOMPARE</KEYWORD3>\r
-                       <KEYWORD3>ALOG</KEYWORD3>\r
-                       <KEYWORD3>DALOG</KEYWORD3>\r
-                       <KEYWORD3>ALOG10</KEYWORD3>\r
-                       <KEYWORD3>DALOG10</KEYWORD3>\r
-                       <KEYWORD3>EXP</KEYWORD3>\r
-                       <KEYWORD3>DEXP</KEYWORD3>\r
-                       <KEYWORD3>TAN</KEYWORD3>\r
-                       <KEYWORD3>DTAN</KEYWORD3>\r
-                       <KEYWORD3>SIN</KEYWORD3>\r
-                       <KEYWORD3>DSIN</KEYWORD3>\r
-                       <KEYWORD3>ASIN</KEYWORD3>\r
-                       <KEYWORD3>DASIN</KEYWORD3>\r
-                       <KEYWORD3>COS</KEYWORD3>\r
-                       <KEYWORD3>DCOS</KEYWORD3>\r
-                       <KEYWORD3>SINH</KEYWORD3>\r
-                       <KEYWORD3>DSINH</KEYWORD3>\r
-                       <KEYWORD3>COSH</KEYWORD3>\r
-                       <KEYWORD3>DCOSH</KEYWORD3>\r
-                       <KEYWORD3>TANH</KEYWORD3>\r
-                       <KEYWORD3>DTANH</KEYWORD3>\r
-                       <KEYWORD3>ATAN</KEYWORD3>\r
-                       <KEYWORD3>DATAN</KEYWORD3>\r
-                       <KEYWORD3>ATAN2</KEYWORD3>\r
-                       <KEYWORD3>DATAN2</KEYWORD3>\r
-                       <KEYWORD3>RAN</KEYWORD3>\r
-                       <KEYWORD3>DRAN</KEYWORD3>\r
-                       <KEYWORD3>POWER</KEYWORD3>\r
-                       <KEYWORD3>DPOWER</KEYWORD3>\r
-\r
-                        <!-- basic data conversion functions -->\r
-                       <KEYWORD3>INTTOSTRING</KEYWORD3>\r
-                       <KEYWORD3>INT16TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>INT32TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>INT64TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOINT</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOINT16</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOINT32</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOINT64</KEYWORD3>\r
-                       <KEYWORD3>HEXTOSTRING</KEYWORD3>\r
-                       <KEYWORD3>HEX16TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>HEX32TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>HEX64TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOHEX</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOHEX16</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOHEX32</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOHEX64</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOREAL32</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOREAL64</KEYWORD3>\r
-                       <KEYWORD3>REAL32TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>REAL64TOSTRING</KEYWORD3>\r
-                       <KEYWORD3>STRINGTOBOOL</KEYWORD3>\r
-                       <KEYWORD3>BOOLTOSTRING</KEYWORD3>\r
-                       <KEYWORD3>RESCHEDULE</KEYWORD3>\r
-                       <KEYWORD3>ASSERT</KEYWORD3>\r
-\r
-                        <!-- preprocessor directives\r
-                        #INCLUDE\r
-                        #USE\r
-                        #OPTION\r
-                        #PRAGMA\r
-                        #COMMENT\r
-                        -->\r
-\r
-                       <LITERAL2>FALSE</LITERAL2>\r
-                       <LITERAL2>TRUE</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/omnimark.xml b/extra/xmode/modes/omnimark.xml
deleted file mode 100644 (file)
index 721ba4a..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!-- contributed by Lionel Fiol <lio-sand@ifrance.com>       -->\r
-<!-- 09/NOV/2001: add automatic indentation properties       -->\r
-<!--              correct and add some keywords              -->\r
-<!--              reorganize all keywords (sorted)           -->\r
-<!-- 20/APR/2004: all keywords are now in lower case         -->\r
-<!-- 06/MAY/2004: add specific patterns for invalid literals -->\r
-<!-- 06/JUN/2004: add '.' (dot) in the noWordSep property    -->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="indentNextLines" VALUE="\s*((PROCESS|MARKUP|EXTERNAL|DOCUMENT|DTD|ELEMENT|FIND|TRANSLATE)((-|\s).*|\s*)|(DO|ELSE|REPEAT|MATCH|CASE|USING|GROUP|DEFINE|MACRO)(\s+.*|\s*))" />\r
-        <PROPERTY NAME="lineComment" VALUE=";" />\r
-        <PROPERTY NAME="noWordSep" VALUE=".-_" />\r
-    </PROPS>\r
-    <RULES ESCAPE="%" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-        <!-- Comments -->\r
-        <EOL_SPAN TYPE="COMMENT1">#!</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-        <!-- Literals -->\r
-        <SPAN_REGEXP HASH_CHAR='"' NO_LINE_BREAK="TRUE" TYPE="INVALID">\r
-            <BEGIN>"((?!$)[^"])*$</BEGIN>\r
-            <END>$</END>\r
-        </SPAN_REGEXP>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN_REGEXP HASH_CHAR="'" NO_LINE_BREAK="TRUE" TYPE="INVALID">\r
-            <BEGIN>'((?!$)[^'])*$</BEGIN>\r
-            <END>$</END>\r
-        </SPAN_REGEXP>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-        <!-- Operators -->\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <!-- two next lines were removed as they conflict with the noWordSep property -->\r
-        <!-- <SEQ TYPE="OPERATOR">-</SEQ> -->\r
-        <!-- <SEQ TYPE="OPERATOR">_</SEQ> -->\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">$</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">?</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <!-- Keywords -->\r
-        <KEYWORDS>\r
-            <KEYWORD2>#additional-info</KEYWORD2>\r
-            <KEYWORD2>#appinfo</KEYWORD2>\r
-            <KEYWORD2>#args</KEYWORD2>\r
-            <KEYWORD2>#capacity</KEYWORD2>\r
-            <KEYWORD2>#charset</KEYWORD2>\r
-            <KEYWORD2>#class</KEYWORD2>\r
-            <KEYWORD2>#command-line-names</KEYWORD2>\r
-            <KEYWORD2>#console</KEYWORD2>\r
-            <KEYWORD2>#current-input</KEYWORD2>\r
-            <KEYWORD2>#current-output</KEYWORD2>\r
-            <KEYWORD2>#data</KEYWORD2>\r
-            <KEYWORD2>#doctype</KEYWORD2>\r
-            <KEYWORD2>#document</KEYWORD2>\r
-            <KEYWORD2>#dtd</KEYWORD2>\r
-            <KEYWORD2>#empty</KEYWORD2>\r
-            <KEYWORD2>#error</KEYWORD2>\r
-            <KEYWORD2>#error-code</KEYWORD2>\r
-            <KEYWORD2>#external-exception</KEYWORD2>\r
-            <KEYWORD2>#file-name</KEYWORD2>\r
-            <KEYWORD2>#first</KEYWORD2>\r
-            <KEYWORD2>#group</KEYWORD2>\r
-            <KEYWORD2>#implied</KEYWORD2>\r
-            <KEYWORD2>#item</KEYWORD2>\r
-            <KEYWORD2>#language-version</KEYWORD2>\r
-            <KEYWORD2>#last</KEYWORD2>\r
-            <KEYWORD2>#libpath</KEYWORD2>\r
-            <KEYWORD2>#library</KEYWORD2>\r
-            <KEYWORD2>#libvalue</KEYWORD2>\r
-            <KEYWORD2>#line-number</KEYWORD2>\r
-            <KEYWORD2>#main-input</KEYWORD2>\r
-            <KEYWORD2>#main-output</KEYWORD2>\r
-            <KEYWORD2>#markup-error-count</KEYWORD2>\r
-            <KEYWORD2>#markup-error-total</KEYWORD2>\r
-            <KEYWORD2>#markup-parser</KEYWORD2>\r
-            <KEYWORD2>#markup-warning-count</KEYWORD2>\r
-            <KEYWORD2>#markup-warning-total</KEYWORD2>\r
-            <KEYWORD2>#message</KEYWORD2>\r
-            <KEYWORD2>#none</KEYWORD2>\r
-            <KEYWORD2>#output</KEYWORD2>\r
-            <KEYWORD2>#platform-info</KEYWORD2>\r
-            <KEYWORD2>#process-input</KEYWORD2>\r
-            <KEYWORD2>#process-output</KEYWORD2>\r
-            <KEYWORD2>#program-error</KEYWORD2>\r
-            <KEYWORD2>#recovery-info</KEYWORD2>\r
-            <KEYWORD2>#sgml</KEYWORD2>\r
-            <KEYWORD2>#sgml-error-count</KEYWORD2>\r
-            <KEYWORD2>#sgml-error-total</KEYWORD2>\r
-            <KEYWORD2>#sgml-warning-count</KEYWORD2>\r
-            <KEYWORD2>#sgml-warning-total</KEYWORD2>\r
-            <KEYWORD2>#suppress</KEYWORD2>\r
-            <KEYWORD2>#syntax</KEYWORD2>\r
-            <KEYWORD2>#!</KEYWORD2>\r
-            <OPERATOR>abs</OPERATOR>\r
-            <KEYWORD1>activate</KEYWORD1>\r
-            <OPERATOR>active</OPERATOR>\r
-            <KEYWORD2>after</KEYWORD2>\r
-            <KEYWORD1>again</KEYWORD1>\r
-            <KEYWORD2>ancestor</KEYWORD2>\r
-            <KEYWORD2>and</KEYWORD2>\r
-            <KEYWORD2>another</KEYWORD2>\r
-            <KEYWORD1>always</KEYWORD1>\r
-            <OPERATOR>and</OPERATOR>\r
-            <KEYWORD3>any</KEYWORD3>\r
-            <KEYWORD3>any-text</KEYWORD3>\r
-            <KEYWORD2>arg</KEYWORD2>\r
-            <OPERATOR>as</OPERATOR>\r
-            <KEYWORD1>assert</KEYWORD1>\r
-            <KEYWORD2>attached</KEYWORD2>\r
-            <KEYWORD2>attribute</KEYWORD2>\r
-            <KEYWORD2>attributes</KEYWORD2>\r
-            <OPERATOR>base</OPERATOR>\r
-            <KEYWORD2>bcd</KEYWORD2>\r
-            <KEYWORD2>before</KEYWORD2>\r
-            <OPERATOR>binary</OPERATOR>\r
-            <KEYWORD2>binary-input</KEYWORD2>\r
-            <KEYWORD2>binary-mode</KEYWORD2>\r
-            <KEYWORD2>binary-output</KEYWORD2>\r
-            <KEYWORD3>blank</KEYWORD3>\r
-            <KEYWORD2>break-width</KEYWORD2>\r
-            <KEYWORD2>buffer</KEYWORD2>\r
-            <KEYWORD2>buffered</KEYWORD2>\r
-            <KEYWORD2>by</KEYWORD2>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>catch</KEYWORD1>\r
-            <KEYWORD2>catchable</KEYWORD2>\r
-            <KEYWORD3>cdata</KEYWORD3>\r
-            <KEYWORD2>cdata-entity</KEYWORD2>\r
-            <OPERATOR>ceiling</OPERATOR>\r
-            <KEYWORD2>children</KEYWORD2>\r
-            <KEYWORD1>clear</KEYWORD1>\r
-            <KEYWORD1>close</KEYWORD1>\r
-            <KEYWORD2>closed</KEYWORD2>\r
-            <OPERATOR>compiled-date</OPERATOR>\r
-            <OPERATOR>complement</OPERATOR>\r
-            <KEYWORD2>conref</KEYWORD2>\r
-            <KEYWORD2>content</KEYWORD2>\r
-            <KEYWORD3>content-end</KEYWORD3>\r
-            <KEYWORD3>content-start</KEYWORD3>\r
-            <KEYWORD2>context-translate</KEYWORD2>\r
-            <KEYWORD1>copy</KEYWORD1>\r
-            <KEYWORD1>copy-clear</KEYWORD1>\r
-            <KEYWORD2>counter</KEYWORD2>\r
-            <KEYWORD2>created</KEYWORD2>\r
-            <OPERATOR>creating</OPERATOR>\r
-            <OPERATOR>creator</OPERATOR>\r
-            <KEYWORD2>cross-translate</KEYWORD2>\r
-            <KEYWORD2>current</KEYWORD2>\r
-            <KEYWORD2>data-attribute</KEYWORD2>\r
-            <KEYWORD2>data-attributes</KEYWORD2>\r
-            <KEYWORD2>data-content</KEYWORD2>\r
-            <KEYWORD2>data-letters</KEYWORD2>\r
-            <OPERATOR>date</OPERATOR>\r
-            <KEYWORD1>deactivate</KEYWORD1>\r
-            <KEYWORD2>declare</KEYWORD2>\r
-            <KEYWORD2>declared-conref</KEYWORD2>\r
-            <KEYWORD2>declared-current</KEYWORD2>\r
-            <KEYWORD2>declared-defaulted</KEYWORD2>\r
-            <KEYWORD2>declared-fixed</KEYWORD2>\r
-            <KEYWORD2>declared-implied</KEYWORD2>\r
-            <KEYWORD2>declared-required</KEYWORD2>\r
-            <KEYWORD1>decrement</KEYWORD1>\r
-            <KEYWORD2>default-entity</KEYWORD2>\r
-            <KEYWORD2>defaulted</KEYWORD2>\r
-            <KEYWORD2>defaulting</KEYWORD2>\r
-            <KEYWORD2>define</KEYWORD2>\r
-            <KEYWORD2>delimiter</KEYWORD2>\r
-            <OPERATOR>difference</OPERATOR>\r
-            <KEYWORD3>digit</KEYWORD3>\r
-            <KEYWORD2>directory</KEYWORD2>\r
-            <KEYWORD1>discard</KEYWORD1>\r
-            <OPERATOR>divide</OPERATOR>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD2>doctype</KEYWORD2>\r
-            <KEYWORD2>document</KEYWORD2>\r
-            <KEYWORD2>document-element</KEYWORD2>\r
-            <KEYWORD2>document-end</KEYWORD2>\r
-            <KEYWORD2>document-start</KEYWORD2>\r
-            <KEYWORD2>domain-free</KEYWORD2>\r
-            <KEYWORD1>done</KEYWORD1>\r
-            <KEYWORD2>down-translate</KEYWORD2>\r
-            <OPERATOR>drop</OPERATOR>\r
-            <KEYWORD2>dtd</KEYWORD2>\r
-            <KEYWORD2>dtd-end</KEYWORD2>\r
-            <KEYWORD2>dtd-start</KEYWORD2>\r
-            <KEYWORD2>dtds</KEYWORD2>\r
-            <KEYWORD2>element</KEYWORD2>\r
-            <KEYWORD2>elements</KEYWORD2>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD2>elsewhere</KEYWORD2>\r
-            <KEYWORD2>empty</KEYWORD2>\r
-            <KEYWORD2>entities</KEYWORD2>\r
-            <KEYWORD2>entity</KEYWORD2>\r
-            <KEYWORD2>epilog-start</KEYWORD2>\r
-            <OPERATOR>equal</OPERATOR>\r
-            <OPERATOR>equals</OPERATOR>\r
-            <KEYWORD2>escape</KEYWORD2>\r
-            <KEYWORD1>except</KEYWORD1>\r
-            <OPERATOR>exists</OPERATOR>\r
-            <KEYWORD1>exit</KEYWORD1>\r
-            <KEYWORD2>external</KEYWORD2>\r
-            <KEYWORD2>external-data-entity</KEYWORD2>\r
-            <KEYWORD2>external-entity</KEYWORD2>\r
-            <KEYWORD2>external-function</KEYWORD2>\r
-            <KEYWORD2>external-output-function</KEYWORD2>\r
-            <KEYWORD2>external-text-entity</KEYWORD2>\r
-            <KEYWORD2>false</KEYWORD2>\r
-            <OPERATOR>file</OPERATOR>\r
-            <KEYWORD2>find</KEYWORD2>\r
-            <KEYWORD2>find-end</KEYWORD2>\r
-            <KEYWORD2>find-start</KEYWORD2>\r
-            <OPERATOR>floor</OPERATOR>\r
-            <KEYWORD1>flush</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>format</KEYWORD1>\r
-            <KEYWORD2>function</KEYWORD2>\r
-            <KEYWORD2>function-library</KEYWORD2>\r
-            <KEYWORD2>general</KEYWORD2>\r
-            <KEYWORD2>global</KEYWORD2>\r
-            <OPERATOR>greater-equal</OPERATOR>\r
-            <OPERATOR>greater-than</OPERATOR>\r
-            <KEYWORD2>group</KEYWORD2>\r
-            <KEYWORD2>groups</KEYWORD2>\r
-            <KEYWORD1>halt</KEYWORD1>\r
-            <KEYWORD1>halt-everything</KEYWORD1>\r
-            <OPERATOR>has</OPERATOR>\r
-            <OPERATOR>hasnt</OPERATOR>\r
-            <KEYWORD2>heralded-names</KEYWORD2>\r
-            <KEYWORD2>id</KEYWORD2>\r
-            <KEYWORD2>id-checking</KEYWORD2>\r
-            <KEYWORD2>idref</KEYWORD2>\r
-            <KEYWORD2>idrefs</KEYWORD2>\r
-            <KEYWORD2>ignore</KEYWORD2>\r
-            <KEYWORD2>implied</KEYWORD2>\r
-            <KEYWORD2>in</KEYWORD2>\r
-            <KEYWORD2>in-library</KEYWORD2>\r
-            <KEYWORD2>include</KEYWORD2>\r
-            <KEYWORD2>include-end</KEYWORD2>\r
-            <KEYWORD2>include-guard</KEYWORD2>\r
-            <KEYWORD2>include-start</KEYWORD2>\r
-            <KEYWORD2>inclusion</KEYWORD2>\r
-            <KEYWORD1>increment</KEYWORD1>\r
-            <KEYWORD2>initial</KEYWORD2>\r
-            <KEYWORD2>initial-size</KEYWORD2>\r
-            <KEYWORD1>input</KEYWORD1>\r
-            <KEYWORD2>insertion-break</KEYWORD2>\r
-            <KEYWORD2>instance</KEYWORD2>\r
-            <KEYWORD2>integer</KEYWORD2>\r
-            <KEYWORD2>internal</KEYWORD2>\r
-            <KEYWORD2>invalid-data</KEYWORD2>\r
-            <OPERATOR>is</OPERATOR>\r
-            <OPERATOR>isnt</OPERATOR>\r
-            <OPERATOR>item</OPERATOR>\r
-            <KEYWORD1>join</KEYWORD1>\r
-            <OPERATOR>key</OPERATOR>\r
-            <KEYWORD2>keyed</KEYWORD2>\r
-            <OPERATOR>last</OPERATOR>\r
-            <OPERATOR>lastmost</OPERATOR>\r
-            <KEYWORD3>lc</KEYWORD3>\r
-            <OPERATOR>length</OPERATOR>\r
-            <OPERATOR>less-equal</OPERATOR>\r
-            <OPERATOR>less-than</OPERATOR>\r
-            <KEYWORD3>letter</KEYWORD3>\r
-            <KEYWORD2>letters</KEYWORD2>\r
-            <KEYWORD2>library</KEYWORD2>\r
-            <KEYWORD3>line-end</KEYWORD3>\r
-            <KEYWORD3>line-start</KEYWORD3>\r
-            <OPERATOR>literal</OPERATOR>\r
-            <KEYWORD2>local</KEYWORD2>\r
-            <OPERATOR>ln</OPERATOR>\r
-            <KEYWORD1>log</KEYWORD1>\r
-            <OPERATOR>log10</OPERATOR>\r
-            <OPERATOR>lookahead</OPERATOR>\r
-            <KEYWORD2>macro</KEYWORD2>\r
-            <KEYWORD2>macro-end</KEYWORD2>\r
-            <KEYWORD2>marked-section</KEYWORD2>\r
-            <KEYWORD2>markup-comment</KEYWORD2>\r
-            <KEYWORD2>markup-error</KEYWORD2>\r
-            <KEYWORD2>markup-parser</KEYWORD2>\r
-            <KEYWORD2>markup-wrapper</KEYWORD2>\r
-            <OPERATOR>mask</OPERATOR>\r
-            <KEYWORD1>match</KEYWORD1>\r
-            <OPERATOR>matches</OPERATOR>\r
-            <OPERATOR>minus</OPERATOR>\r
-            <KEYWORD2>mixed</KEYWORD2>\r
-            <KEYWORD2>modifiable</KEYWORD2>\r
-            <OPERATOR>modulo</OPERATOR>\r
-            <OPERATOR>name</OPERATOR>\r
-            <KEYWORD2>name-letters</KEYWORD2>\r
-            <KEYWORD2>namecase</KEYWORD2>\r
-            <KEYWORD2>named</KEYWORD2>\r
-            <KEYWORD2>names</KEYWORD2>\r
-            <KEYWORD2>ndata-entity</KEYWORD2>\r
-            <OPERATOR>negate</OPERATOR>\r
-            <KEYWORD2>nested-referents</KEYWORD2>\r
-            <KEYWORD1>new</KEYWORD1>\r
-            <KEYWORD2>newline</KEYWORD2>\r
-            <KEYWORD1>next</KEYWORD1>\r
-            <KEYWORD2>nmtoken</KEYWORD2>\r
-            <KEYWORD2>nmtokens</KEYWORD2>\r
-            <KEYWORD2>no</KEYWORD2>\r
-            <KEYWORD2>no-default-io</KEYWORD2>\r
-            <KEYWORD3>non-cdata</KEYWORD3>\r
-            <KEYWORD2>non-implied</KEYWORD2>\r
-            <KEYWORD3>non-sdata</KEYWORD3>\r
-            <OPERATOR>not</OPERATOR>\r
-            <KEYWORD1>not-reached</KEYWORD1>\r
-            <KEYWORD2>notation</KEYWORD2>\r
-            <KEYWORD2>number</KEYWORD2>\r
-            <OPERATOR>number-of</OPERATOR>\r
-            <KEYWORD2>numbers</KEYWORD2>\r
-            <KEYWORD3>null</KEYWORD3>\r
-            <KEYWORD2>nutoken</KEYWORD2>\r
-            <KEYWORD2>nutokens</KEYWORD2>\r
-            <OPERATOR>occurrence</OPERATOR>\r
-            <OPERATOR>of</OPERATOR>\r
-            <KEYWORD2>opaque</KEYWORD2>\r
-            <KEYWORD1>open</KEYWORD1>\r
-            <KEYWORD2>optional</KEYWORD2>\r
-            <OPERATOR>or</OPERATOR>\r
-            <KEYWORD1>output</KEYWORD1>\r
-            <KEYWORD1>output-to</KEYWORD1>\r
-            <KEYWORD1>over</KEYWORD1>\r
-            <KEYWORD2>parameter</KEYWORD2>\r
-            <KEYWORD2>parent</KEYWORD2>\r
-            <KEYWORD2>past</KEYWORD2>\r
-            <KEYWORD2>pattern</KEYWORD2>\r
-            <KEYWORD3>pcdata</KEYWORD3>\r
-            <KEYWORD2>plus</KEYWORD2>\r
-            <KEYWORD2>preparent</KEYWORD2>\r
-            <KEYWORD2>previous</KEYWORD2>\r
-            <KEYWORD2>process</KEYWORD2>\r
-            <KEYWORD2>process-end</KEYWORD2>\r
-            <KEYWORD2>process-start</KEYWORD2>\r
-            <KEYWORD2>processing-instruction</KEYWORD2>\r
-            <KEYWORD2>prolog-end</KEYWORD2>\r
-            <KEYWORD2>prolog-in-error</KEYWORD2>\r
-            <KEYWORD2>proper</KEYWORD2>\r
-            <KEYWORD2>public</KEYWORD2>\r
-            <KEYWORD1>put</KEYWORD1>\r
-            <KEYWORD3>rcdata</KEYWORD3>\r
-            <KEYWORD1>remove</KEYWORD1>\r
-            <KEYWORD2>read-only</KEYWORD2>\r
-            <KEYWORD2>readable</KEYWORD2>\r
-            <KEYWORD2>referent</KEYWORD2>\r
-            <KEYWORD2>referents</KEYWORD2>\r
-            <KEYWORD2>referents-allowed</KEYWORD2>\r
-            <KEYWORD2>referents-displayed</KEYWORD2>\r
-            <KEYWORD2>referents-not-allowed</KEYWORD2>\r
-            <KEYWORD2>remainder</KEYWORD2>\r
-            <KEYWORD1>reopen</KEYWORD1>\r
-            <KEYWORD1>repeat</KEYWORD1>\r
-            <KEYWORD2>repeated</KEYWORD2>\r
-            <KEYWORD2>replacement-break</KEYWORD2>\r
-            <KEYWORD1>reset</KEYWORD1>\r
-            <KEYWORD1>rethrow</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD2>reversed</KEYWORD2>\r
-            <OPERATOR>round</OPERATOR>\r
-            <KEYWORD1>save</KEYWORD1>\r
-            <KEYWORD1>save-clear</KEYWORD1>\r
-            <KEYWORD1>scan</KEYWORD1>\r
-            <KEYWORD3>sdata</KEYWORD3>\r
-            <KEYWORD2>sdata-entity</KEYWORD2>\r
-            <KEYWORD1>select</KEYWORD1>\r
-            <KEYWORD1>set</KEYWORD1>\r
-            <KEYWORD1>sgml</KEYWORD1>\r
-            <KEYWORD2>sgml-comment</KEYWORD2>\r
-            <KEYWORD2>sgml-declaration-end</KEYWORD2>\r
-            <KEYWORD2>sgml-dtd</KEYWORD2>\r
-            <KEYWORD2>sgml-dtds</KEYWORD2>\r
-            <KEYWORD2>sgml-error</KEYWORD2>\r
-            <KEYWORD1>sgml-in</KEYWORD1>\r
-            <KEYWORD1>sgml-out</KEYWORD1>\r
-            <KEYWORD1>sgml-parse</KEYWORD1>\r
-            <KEYWORD1>sgml-parser</KEYWORD1>\r
-            <OPERATOR>shift</OPERATOR>\r
-            <KEYWORD2>silent-referent</KEYWORD2>\r
-            <KEYWORD2>size</KEYWORD2>\r
-            <KEYWORD1>skip</KEYWORD1>\r
-            <KEYWORD2>source</KEYWORD2>\r
-            <KEYWORD3>space</KEYWORD3>\r
-            <KEYWORD2>specified</KEYWORD2>\r
-            <OPERATOR>sqrt</OPERATOR>\r
-            <OPERATOR>status</OPERATOR>\r
-            <KEYWORD2>stream</KEYWORD2>\r
-            <KEYWORD2>subdoc-entity</KEYWORD2>\r
-            <KEYWORD2>subdocument</KEYWORD2>\r
-            <KEYWORD2>subdocuments</KEYWORD2>\r
-            <KEYWORD2>subelement</KEYWORD2>\r
-            <KEYWORD1>submit</KEYWORD1>\r
-            <KEYWORD1>succeed</KEYWORD1>\r
-            <KEYWORD1>suppress</KEYWORD1>\r
-            <KEYWORD2>switch</KEYWORD2>\r
-            <KEYWORD2>symbol</KEYWORD2>\r
-            <KEYWORD2>system</KEYWORD2>\r
-            <KEYWORD1>system-call</KEYWORD1>\r
-            <OPERATOR>take</OPERATOR>\r
-            <KEYWORD1>test-system</KEYWORD1>\r
-            <KEYWORD3>text</KEYWORD3>\r
-            <KEYWORD2>text-mode</KEYWORD2>\r
-            <OPERATOR>this</OPERATOR>\r
-            <KEYWORD1>throw</KEYWORD1>\r
-            <KEYWORD2>thrown</KEYWORD2>\r
-            <KEYWORD2>times</KEYWORD2>\r
-            <KEYWORD1>to</KEYWORD1>\r
-            <KEYWORD2>token</KEYWORD2>\r
-            <KEYWORD2>translate</KEYWORD2>\r
-            <KEYWORD2>true</KEYWORD2>\r
-            <OPERATOR>truncate</OPERATOR>\r
-            <KEYWORD3>uc</KEYWORD3>\r
-            <OPERATOR>ul</OPERATOR>\r
-            <OPERATOR>unanchored</OPERATOR>\r
-            <KEYWORD2>unattached</KEYWORD2>\r
-            <KEYWORD2>unbuffered</KEYWORD2>\r
-            <OPERATOR>union</OPERATOR>\r
-            <KEYWORD1>unless</KEYWORD1>\r
-            <KEYWORD2>up-translate</KEYWORD2>\r
-            <OPERATOR>usemap</OPERATOR>\r
-            <KEYWORD1>using</KEYWORD1>\r
-            <KEYWORD2>value</KEYWORD2>\r
-            <KEYWORD3>value-end</KEYWORD3>\r
-            <KEYWORD3>value-start</KEYWORD3>\r
-            <KEYWORD2>valued</KEYWORD2>\r
-            <KEYWORD2>variable</KEYWORD2>\r
-            <KEYWORD1>when</KEYWORD1>\r
-            <KEYWORD3>white-space</KEYWORD3>\r
-            <OPERATOR>with</OPERATOR>\r
-            <KEYWORD3>word-end</KEYWORD3>\r
-            <KEYWORD3>word-start</KEYWORD3>\r
-            <KEYWORD2>writable</KEYWORD2>\r
-            <KEYWORD2>xml</KEYWORD2>\r
-            <KEYWORD2>xml-dtd</KEYWORD2>\r
-            <KEYWORD2>xml-dtds</KEYWORD2>\r
-            <KEYWORD1>xml-parse</KEYWORD1>\r
-            <KEYWORD2>yes</KEYWORD2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/pascal.xml b/extra/xmode/modes/pascal.xml
deleted file mode 100644 (file)
index d411d56..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Pascal mode by Kristian Ovaska.\r
-     Delphi 3 was used as reference.\r
-     Modified by Barry Carr (Ixian Software Components Ltd)\r
-     Delphi 6 was used as reference.\r
-     Modified by Barry Carr (Ixian Software Components Ltd) Feb '04\r
-     Delphi 8 (for .NET) was used as reference\r
-     Keywords   = KEYWORD1\r
-     Directives = KEYWORD2.\r
-     Everything else as is-->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="{" />\r
-        <PROPERTY NAME="commentEnd" VALUE="}" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-    </PROPS>\r
-\r
-    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-        <!-- Compiler directives. -->\r
-        <SPAN TYPE="COMMENT3">\r
-            <BEGIN>{$</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-        <SPAN TYPE="COMMENT3">\r
-            <BEGIN>(*$</BEGIN>\r
-            <END>*)</END>\r
-        </SPAN>\r
-\r
-        <!-- Normal comments. -->\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <SPAN TYPE="COMMENT1">\r
-            <BEGIN>(*</BEGIN>\r
-            <END>*)</END>\r
-        </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <SEQ TYPE="OPERATOR">(</SEQ>\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-        <SEQ TYPE="OPERATOR">.</SEQ>\r
-        <SEQ TYPE="OPERATOR">,</SEQ>\r
-        <SEQ TYPE="OPERATOR">;</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">:=</SEQ>\r
-        <SEQ TYPE="OPERATOR">:</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <!-- Reserved words. Standard directives are not included, except\r
-                 private, protected, public, published, and automated. -->\r
-            <KEYWORD1>and</KEYWORD1>\r
-            <KEYWORD1>array</KEYWORD1>\r
-            <KEYWORD1>as</KEYWORD1>\r
-            <KEYWORD1>at</KEYWORD1>\r
-            <KEYWORD1>asm</KEYWORD1>\r
-            <KEYWORD1>begin</KEYWORD1>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>class</KEYWORD1>\r
-            <KEYWORD1>const</KEYWORD1>\r
-            <KEYWORD1>constructor</KEYWORD1>\r
-            <KEYWORD1>destructor</KEYWORD1>\r
-            <KEYWORD1>dispinterface</KEYWORD1>\r
-            <KEYWORD1>div</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD1>downto</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>end</KEYWORD1>\r
-            <KEYWORD1>except</KEYWORD1>\r
-            <KEYWORD1>exports</KEYWORD1>\r
-            <KEYWORD1>file</KEYWORD1>\r
-            <KEYWORD1>final</KEYWORD1>\r
-            <KEYWORD1>finalization</KEYWORD1>\r
-            <KEYWORD1>finally</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>function</KEYWORD1>\r
-            <KEYWORD1>goto</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD1>implementation</KEYWORD1>\r
-            <KEYWORD1>in</KEYWORD1>\r
-            <KEYWORD1>inherited</KEYWORD1>\r
-            <KEYWORD1>initialization</KEYWORD1>\r
-            <KEYWORD1>inline</KEYWORD1>\r
-            <KEYWORD1>interface</KEYWORD1>\r
-            <KEYWORD1>is</KEYWORD1>\r
-            <KEYWORD1>label</KEYWORD1>\r
-            <KEYWORD1>mod</KEYWORD1>\r
-            <KEYWORD1>not</KEYWORD1>\r
-            <KEYWORD1>object</KEYWORD1>\r
-            <KEYWORD1>of</KEYWORD1>\r
-            <KEYWORD1>on</KEYWORD1>\r
-            <KEYWORD1>or</KEYWORD1>\r
-            <KEYWORD1>out</KEYWORD1>\r
-            <KEYWORD1>packed</KEYWORD1>\r
-            <KEYWORD1>procedure</KEYWORD1>\r
-            <KEYWORD1>program</KEYWORD1>\r
-            <KEYWORD1>property</KEYWORD1>\r
-            <KEYWORD1>raise</KEYWORD1>\r
-            <KEYWORD1>record</KEYWORD1>\r
-            <KEYWORD1>repeat</KEYWORD1>\r
-            <KEYWORD1>resourcestring</KEYWORD1>\r
-            <KEYWORD1>set</KEYWORD1>\r
-            <KEYWORD1>sealed</KEYWORD1>\r
-            <KEYWORD1>shl</KEYWORD1>\r
-            <KEYWORD1>shr</KEYWORD1>\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <KEYWORD1>string</KEYWORD1>\r
-            <KEYWORD1>then</KEYWORD1>\r
-            <KEYWORD1>threadvar</KEYWORD1>\r
-            <KEYWORD1>to</KEYWORD1>\r
-            <KEYWORD1>try</KEYWORD1>\r
-            <KEYWORD1>type</KEYWORD1>\r
-            <KEYWORD1>unit</KEYWORD1>\r
-            <KEYWORD1>unsafe</KEYWORD1>\r
-            <KEYWORD1>until</KEYWORD1>\r
-            <KEYWORD1>uses</KEYWORD1>\r
-            <KEYWORD1>var</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-            <KEYWORD1>with</KEYWORD1>\r
-            <KEYWORD1>xor</KEYWORD1>\r
-\r
-            <KEYWORD2>absolute</KEYWORD2>\r
-            <KEYWORD2>abstract</KEYWORD2>\r
-            <KEYWORD2>assembler</KEYWORD2>\r
-            <KEYWORD2>automated</KEYWORD2>\r
-            <KEYWORD2>cdecl</KEYWORD2>\r
-            <KEYWORD2>contains</KEYWORD2>\r
-            <KEYWORD2>default</KEYWORD2>\r
-            <KEYWORD2>deprecated</KEYWORD2>\r
-            <KEYWORD2>dispid</KEYWORD2>\r
-            <KEYWORD2>dynamic</KEYWORD2>\r
-            <KEYWORD2>export</KEYWORD2>\r
-            <KEYWORD2>external</KEYWORD2>\r
-            <KEYWORD2>far</KEYWORD2>\r
-            <KEYWORD2>forward</KEYWORD2>\r
-            <KEYWORD2>implements</KEYWORD2>\r
-            <KEYWORD2>index</KEYWORD2>\r
-            <KEYWORD2>library</KEYWORD2>\r
-            <KEYWORD2>local</KEYWORD2>\r
-            <KEYWORD2>message</KEYWORD2>\r
-            <KEYWORD2>name</KEYWORD2>\r
-            <KEYWORD2>namespaces</KEYWORD2>\r
-            <KEYWORD2>near</KEYWORD2>\r
-            <KEYWORD2>nodefault</KEYWORD2>\r
-            <KEYWORD2>overload</KEYWORD2>\r
-            <KEYWORD2>override</KEYWORD2>\r
-            <KEYWORD2>package</KEYWORD2>\r
-            <KEYWORD2>pascal</KEYWORD2>\r
-            <KEYWORD2>platform</KEYWORD2>\r
-            <KEYWORD2>private</KEYWORD2>\r
-            <KEYWORD2>protected</KEYWORD2>\r
-            <KEYWORD2>public</KEYWORD2>\r
-            <KEYWORD2>published</KEYWORD2>\r
-            <KEYWORD2>read</KEYWORD2>\r
-            <KEYWORD2>readonly</KEYWORD2>\r
-            <KEYWORD2>register</KEYWORD2>\r
-            <KEYWORD2>reintroduce</KEYWORD2>\r
-            <KEYWORD2>requires</KEYWORD2>\r
-            <KEYWORD2>resident</KEYWORD2>\r
-            <KEYWORD2>safecall</KEYWORD2>\r
-            <KEYWORD2>stdcall</KEYWORD2>\r
-            <KEYWORD2>stored</KEYWORD2>\r
-            <KEYWORD2>varargs</KEYWORD2>\r
-            <KEYWORD2>virtual</KEYWORD2>\r
-            <KEYWORD2>write</KEYWORD2>\r
-            <KEYWORD2>writeonly</KEYWORD2>\r
-\r
-            <!-- Ordinal types. -->\r
-            <KEYWORD3>shortint</KEYWORD3>\r
-            <KEYWORD3>byte</KEYWORD3>\r
-            <KEYWORD3>char</KEYWORD3>\r
-            <KEYWORD3>smallint</KEYWORD3>\r
-            <KEYWORD3>integer</KEYWORD3>\r
-            <KEYWORD3>word</KEYWORD3>\r
-            <KEYWORD3>longint</KEYWORD3>\r
-            <KEYWORD3>cardinal</KEYWORD3>\r
-            <!-- Boolean types. -->\r
-            <KEYWORD3>boolean</KEYWORD3>\r
-            <KEYWORD3>bytebool</KEYWORD3>\r
-            <KEYWORD3>wordbool</KEYWORD3>\r
-            <KEYWORD3>longbool</KEYWORD3>\r
-            <!-- Real types. -->\r
-            <KEYWORD3>real</KEYWORD3>\r
-            <KEYWORD3>single</KEYWORD3>\r
-            <KEYWORD3>double</KEYWORD3>\r
-            <KEYWORD3>extended</KEYWORD3>\r
-            <KEYWORD3>comp</KEYWORD3>\r
-            <KEYWORD3>currency</KEYWORD3>\r
-            <!-- Untyped pointer. -->\r
-            <KEYWORD3>pointer</KEYWORD3>\r
-\r
-            <LITERAL2>false</LITERAL2>\r
-            <LITERAL2>nil</LITERAL2>\r
-            <LITERAL2>self</LITERAL2>\r
-            <LITERAL2>true</LITERAL2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/patch.xml b/extra/xmode/modes/patch.xml
deleted file mode 100644 (file)
index c2ac51a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <RULES>\r
-               <EOL_SPAN TYPE="LITERAL1" AT_LINE_START="TRUE">+++</EOL_SPAN>\r
-               <EOL_SPAN TYPE="LITERAL2" AT_LINE_START="TRUE">---</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">Index: </EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD1" AT_LINE_START="TRUE">+</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD1" AT_LINE_START="TRUE">&gt;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">-</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2" AT_LINE_START="TRUE">&lt;</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">!</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">@@</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD3" AT_LINE_START="TRUE">*</EOL_SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/perl.xml b/extra/xmode/modes/perl.xml
deleted file mode 100644 (file)
index 2bb9f66..0000000
+++ /dev/null
@@ -1,732 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine" VALUE="[^#]*\.\s*$" />\r
-       </PROPS>\r
-\r
-       <!-- no ESCAPE char because we need the backslash for references -->\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- TYPE is LABEL so that =head1 and =cut are highlighted as so -->\r
-               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
-                       <BEGIN>=head1</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
-                       <BEGIN>=head2</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-        <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
-                       <BEGIN>=head3</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN  AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
-                       <BEGIN>=head4</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL"  AT_LINE_START="TRUE" DELEGATE="POD">\r
-                       <BEGIN>=item</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN  AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
-                       <BEGIN>=over</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
-                       <BEGIN>=back</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
-                       <BEGIN>=pod</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="POD"  AT_LINE_START="TRUE">\r
-                       <BEGIN>=for</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="POD" AT_LINE_START="TRUE">\r
-                       <BEGIN>=begin</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-               <SPAN AT_LINE_START="TRUE" TYPE="LABEL" DELEGATE="POD">\r
-                       <BEGIN>=end</BEGIN>\r
-                       <END>=cut</END>\r
-               </SPAN>\r
-\r
-               <!-- Some other things that confuse the mode file. -->\r
-               <SEQ TYPE="OPERATOR">*"</SEQ>\r
-               <SEQ TYPE="OPERATOR">*'</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;"</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;'</SEQ>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- Scalar variables -->\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$#?((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- Array variables -->\r
-               <SEQ_REGEXP HASH_CHAR="@" TYPE="KEYWORD2">@((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- Associative Array (= Hash) variables -->\r
-               <SEQ_REGEXP HASH_CHAR="%" TYPE="KEYWORD2">%((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- Dereferences -->\r
-               <SEQ_REGEXP HASH_CHAR="$$" TYPE="KEYWORD4">\$\$+((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="@$" TYPE="KEYWORD4">@\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="%$" TYPE="KEYWORD4">%\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="*" TYPE="KEYWORD4">\*((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- Perl predefined variables -->\r
-               <SEQ_REGEXP HASH_CHAR="$^" TYPE="KEYWORD2">\$\^\p{Alpha}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$\p{Punct}</SEQ_REGEXP>\r
-\r
-               <!-- references to vars and code, starting with a backslash -->\r
-               <SEQ_REGEXP HASH_CHAR="\" TYPE="KEYWORD4">\\[@%\$&amp;]((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- complex code dereference -->\r
-               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
-                       <BEGIN>&amp;{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- Function calls from variables -->\r
-               <SEQ_REGEXP HASH_CHAR="&amp;$" TYPE="FUNCTION">&amp;\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)</SEQ_REGEXP>\r
-\r
-               <!-- Special handling for subs, since they can have a ' in the name;\r
-                        try to do highlight as well as possible - this version will\r
-                        highlight both 'sub' and the opening '{' as KEYWORD1, so the\r
-                        opening bracket will be different than other brackets. -->\r
-               <SPAN_REGEXP HASH_CHAR="sub" TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="SUB_NAME">\r
-                       <BEGIN>sub\s</BEGIN>\r
-                       <END>{</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Highlight calls to subs that contain ' in the name. -->\r
-               <SEQ_REGEXP HASH_CHAR="&amp;" TYPE="FUNCTION"\r
-               >&amp;\p{Alpha}[\p{Alnum}_]*'\p{Alpha}[\p{Alnum}_]*</SEQ_REGEXP>\r
-\r
-               <!-- Literals -->\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- apostroph literals -->\r
-               <SPAN TYPE="LITERAL1" DELEGATE="APOSTR">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- options: -text -->\r
-               <SEQ_REGEXP HASH_CHAR="-" TYPE="LITERAL1">-[\p{Lower}]\w+</SEQ_REGEXP>\r
-\r
-               <!-- file stat expressions -->\r
-               <SEQ_REGEXP HASH_CHAR="-" TYPE="KEYWORD3">-[\p{Lower}]</SEQ_REGEXP>\r
-\r
-               <!-- non-quoted literals in hashes -->\r
-               <SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="{" NO_LINE_BREAK="TRUE" DELEGATE="LITERAL">\r
-                       <BEGIN>\{(?=\s*[\p{Alpha}_\-][\p{Alnum}_]*\s*\})</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Code blocks. This is a hack to correctly highlight some\r
-                        complex expressions that can have arbitrary perl code\r
-                        inside brackets (like array deferences below). Declaring\r
-                        this *before* the other rules is needed to maintain\r
-                        correct bracket matching.\r
-               -->\r
-               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- Array dereference -->\r
-               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
-                       <BEGIN>@{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- Hash dereference -->\r
-               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" DELEGATE="MAIN">\r
-                       <BEGIN>%{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- labels, catches also package prefixes at line start :( -->\r
-               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-\r
-               <!-- __DATA__ and similar -->\r
-               <SEQ_REGEXP HASH_CHAR="__" TYPE="KEYWORD4">__\w+__</SEQ_REGEXP>\r
-\r
-               <!-- Exec -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <!-- file globs / IO operators -->\r
-               <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="KEYWORD4">&lt;[\p{Punct}\p{Alnum}_]*&gt;</SEQ_REGEXP>\r
-\r
-               <!-- Heredoc -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL2" DELEGATE="LITERAL">\r
-               <BEGIN><![CDATA[<<\p{Space}*(['"])([\p{Space}\p{Alnum}_]*)\1;?\s*]]></BEGIN>\r
-               <END>$2</END>\r
-               </SPAN_REGEXP>\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL2" DELEGATE="LITERAL">\r
-               <BEGIN><![CDATA[<<([\p{Alpha}_][\p{Alnum}_]*);?\s*]]></BEGIN>\r
-               <END>$1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- jEdit 4.1 adds regular expression syntax rules so we can\r
-                    highlight this sort of crap. -->\r
-\r
-               <!-- /Regexp/, avoid confusion with a sequence of two divisions! -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/"\r
-                       AT_WORD_START="TRUE">/.*?[^\\]/[cgimosx]*(?!\s*[\d\$\@\(\-])</SEQ_REGEXP>\r
-\r
-        <!-- q//, qq//, qr//, qx// -->\r
-               <SPAN_REGEXP HASH_CHAR="q"\r
-                                        TYPE="MARKUP"\r
-                                        MATCH_TYPE="OPERATOR"\r
-                                        DELEGATE="QUOTED"\r
-                                        AT_WORD_START="TRUE"\r
-                                        NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>q(?:|[qrxw])([#\[{(/|])</BEGIN>\r
-                       <END>~1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- tr/// transliteration -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="tr"\r
-            AT_WORD_START="TRUE">tr\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="tr"\r
-            AT_WORD_START="TRUE">tr([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*</SEQ_REGEXP>\r
-\r
-               <!-- y/// translation -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="y"\r
-            AT_WORD_START="TRUE">y\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="y"\r
-            AT_WORD_START="TRUE">y([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*</SEQ_REGEXP>\r
-\r
-               <!-- m// regular expression matching -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="m"\r
-                       AT_WORD_START="TRUE">m\s*\{.*?[^\\]\}[cgimosx]*</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="m"\r
-                       AT_WORD_START="TRUE">m([^\p{Alnum}\p{Space}\}])(?:.*?[^\\])\1[cgimosx]*</SEQ_REGEXP>\r
-\r
-               <!-- s/// regular expression substitution -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="s"\r
-            AT_WORD_START="TRUE">s\s*\{.*?\}\s*\{.*?\}[egimosx]*</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="s"\r
-            AT_WORD_START="TRUE">s([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[egimosx]*</SEQ_REGEXP>\r
-\r
-               <!-- complex operators -->\r
-               <SEQ TYPE="OPERATOR">||</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">=~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!~</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+=</SEQ>\r
-               <SEQ TYPE="OPERATOR">-=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/=</SEQ>\r
-               <SEQ TYPE="OPERATOR">*=</SEQ>\r
-               <SEQ TYPE="OPERATOR">.=</SEQ>\r
-               <SEQ TYPE="OPERATOR">%=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">|=</SEQ>\r
-               <SEQ TYPE="OPERATOR">**=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">||=</SEQ>\r
-               <SEQ TYPE="OPERATOR">^=</SEQ>\r
-               <SEQ TYPE="OPERATOR">x=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-               <!-- simple operators -->\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">**</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <!-- Keywords -->\r
-               <KEYWORDS>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>elsif</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>unless</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>BEGIN</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-\r
-                       <OPERATOR>cmp</OPERATOR>\r
-                       <OPERATOR>eq</OPERATOR>\r
-                       <OPERATOR>ne</OPERATOR>\r
-                       <OPERATOR>le</OPERATOR>\r
-                       <OPERATOR>ge</OPERATOR>\r
-                       <OPERATOR>not</OPERATOR>\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>xor</OPERATOR>\r
-\r
-                       <!-- At least attempt to highlight 'x', although this misses some -->\r
-                       <OPERATOR>x</OPERATOR>\r
-\r
-                       <!--\r
-                               The following function list was derived from the perlfunc man\r
-                               page, Perl version 5.00503\r
-\r
-                               Certain keywords have been commented out where they appear more\r
-                               than once, and the y///, qx//, etc. functions have been removed,\r
-                               since they would are colorized not as keywords, but with separate\r
-                               rules.\r
-                       -->\r
-\r
-                       <!-- Functions for SCALARs or strings -->\r
-                       <KEYWORD3>chomp</KEYWORD3>\r
-                       <KEYWORD3>chop</KEYWORD3>\r
-                       <KEYWORD3>chr</KEYWORD3>\r
-                       <KEYWORD3>crypt</KEYWORD3>\r
-                       <KEYWORD3>hex</KEYWORD3>\r
-                       <KEYWORD3>index</KEYWORD3>\r
-                       <KEYWORD3>lc</KEYWORD3>\r
-                       <KEYWORD3>lcfirst</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>oct</KEYWORD3>\r
-                       <KEYWORD3>ord</KEYWORD3>\r
-                       <KEYWORD3>pack</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>rindex</KEYWORD3>\r
-                       <KEYWORD3>sprintf</KEYWORD3>\r
-                       <KEYWORD3>substr</KEYWORD3>\r
-                       <KEYWORD3>uc</KEYWORD3>\r
-                       <KEYWORD3>ucfirst</KEYWORD3>\r
-\r
-                       <!-- Regular expressions and pattern matching -->\r
-                       <KEYWORD3>pos</KEYWORD3>\r
-                       <KEYWORD3>quotemeta</KEYWORD3>\r
-                       <KEYWORD3>split</KEYWORD3>\r
-                       <KEYWORD3>study</KEYWORD3>\r
-\r
-                       <!-- Numeric functions -->\r
-                       <KEYWORD3>abs</KEYWORD3>\r
-                       <KEYWORD3>atan2</KEYWORD3>\r
-                       <KEYWORD3>cos</KEYWORD3>\r
-                       <KEYWORD3>exp</KEYWORD3>\r
-                       <!--<KEYWORD3>hex</KEYWORD3>-->\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD3>log</KEYWORD3>\r
-                       <!--<KEYWORD3>oct</KEYWORD3>-->\r
-                       <KEYWORD3>rand</KEYWORD3>\r
-                       <KEYWORD3>sin</KEYWORD3>\r
-                       <KEYWORD3>sqrt</KEYWORD3>\r
-                       <KEYWORD3>srand</KEYWORD3>\r
-\r
-                       <!-- Functions for real @ARRAYs -->\r
-                       <KEYWORD3>pop</KEYWORD3>\r
-                       <KEYWORD3>push</KEYWORD3>\r
-                       <KEYWORD3>shift</KEYWORD3>\r
-                       <KEYWORD3>splice</KEYWORD3>\r
-                       <KEYWORD3>unshift</KEYWORD3>\r
-\r
-                       <!-- Functions for list data -->\r
-                       <KEYWORD3>grep</KEYWORD3>\r
-                       <KEYWORD3>join</KEYWORD3>\r
-                       <KEYWORD3>map</KEYWORD3>\r
-                       <!--<KEYWORD3>reverse</KEYWORD3>-->\r
-                       <KEYWORD3>sort</KEYWORD3>\r
-                       <KEYWORD3>unpack</KEYWORD3>\r
-\r
-                       <!-- Functions for real %HASHes -->\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>each</KEYWORD3>\r
-                       <KEYWORD3>exists</KEYWORD3>\r
-                       <KEYWORD3>keys</KEYWORD3>\r
-                       <KEYWORD3>values</KEYWORD3>\r
-\r
-                       <!-- Input and output functions -->\r
-                       <KEYWORD3>binmode</KEYWORD3>\r
-                       <KEYWORD3>close</KEYWORD3>\r
-                       <KEYWORD3>closedir</KEYWORD3>\r
-                       <KEYWORD3>dbmclose</KEYWORD3>\r
-                       <KEYWORD3>dbmopen</KEYWORD3>\r
-                       <!--<KEYWORD3>die</KEYWORD3>-->\r
-                       <KEYWORD3>eof</KEYWORD3>\r
-                       <KEYWORD3>fileno</KEYWORD3>\r
-                       <KEYWORD3>flock</KEYWORD3>\r
-                       <KEYWORD3>format</KEYWORD3>\r
-                       <KEYWORD3>getc</KEYWORD3>\r
-                       <KEYWORD3>print</KEYWORD3>\r
-                       <KEYWORD3>printf</KEYWORD3>\r
-                       <KEYWORD3>read</KEYWORD3>\r
-                       <KEYWORD3>readdir</KEYWORD3>\r
-                       <KEYWORD3>rewinddir</KEYWORD3>\r
-                       <KEYWORD3>seek</KEYWORD3>\r
-                       <KEYWORD3>seekdir</KEYWORD3>\r
-                       <KEYWORD3>select</KEYWORD3>\r
-                       <KEYWORD3>syscall</KEYWORD3>\r
-                       <KEYWORD3>sysread</KEYWORD3>\r
-                       <KEYWORD3>sysseek</KEYWORD3>\r
-                       <KEYWORD3>syswrite</KEYWORD3>\r
-                       <KEYWORD3>tell</KEYWORD3>\r
-                       <KEYWORD3>telldir</KEYWORD3>\r
-                       <KEYWORD3>truncate</KEYWORD3>\r
-                       <KEYWORD3>warn</KEYWORD3>\r
-                       <KEYWORD3>write</KEYWORD3>\r
-\r
-                       <!-- Functions for fixed length data or records -->\r
-                       <!--<KEYWORD3>pack</KEYWORD3>-->\r
-                       <!--<KEYWORD3>read</KEYWORD3>-->\r
-                       <!--<KEYWORD3>syscall</KEYWORD3>-->\r
-                       <!--<KEYWORD3>sysread</KEYWORD3>-->\r
-                       <!--<KEYWORD3>syswrite</KEYWORD3>-->\r
-                       <!--<KEYWORD3>unpack</KEYWORD3>-->\r
-                       <KEYWORD3>vec</KEYWORD3>\r
-\r
-                       <!-- Functions for filehandles, files, or directories -->\r
-                       <KEYWORD3>chdir</KEYWORD3>\r
-                       <KEYWORD3>chmod</KEYWORD3>\r
-                       <KEYWORD3>chown</KEYWORD3>\r
-                       <KEYWORD3>chroot</KEYWORD3>\r
-                       <KEYWORD3>fcntl</KEYWORD3>\r
-                       <KEYWORD3>glob</KEYWORD3>\r
-                       <KEYWORD3>ioctl</KEYWORD3>\r
-                       <KEYWORD3>link</KEYWORD3>\r
-                       <KEYWORD3>lstat</KEYWORD3>\r
-                       <KEYWORD3>mkdir</KEYWORD3>\r
-                       <KEYWORD3>open</KEYWORD3>\r
-                       <KEYWORD3>opendir</KEYWORD3>\r
-                       <KEYWORD3>readlink</KEYWORD3>\r
-                       <KEYWORD3>rename</KEYWORD3>\r
-                       <KEYWORD3>rmdir</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>symlink</KEYWORD3>\r
-                       <KEYWORD3>umask</KEYWORD3>\r
-                       <KEYWORD3>unlink</KEYWORD3>\r
-                       <KEYWORD3>utime</KEYWORD3>\r
-\r
-                       <!-- Keywords related to the control flow of your perl program -->\r
-                       <KEYWORD1>caller</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>die</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>dump</KEYWORD1>\r
-                       <KEYWORD1>eval</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>last</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <KEYWORD1>redo</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>wantarray</KEYWORD1>\r
-\r
-                       <!-- Keywords related to scoping -->\r
-                       <!--<KEYWORD1>caller</KEYWORD1>-->\r
-                       <!--<KEYWORD1>import</KEYWORD1>-->\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>my</KEYWORD1>\r
-                       <KEYWORD1>our</KEYWORD1>\r
-                       <KEYWORD1>package</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-\r
-                       <!-- Miscellaneous functions -->\r
-                       <KEYWORD3>defined</KEYWORD3>\r
-                       <!--<KEYWORD3>dump</KEYWORD3>-->\r
-                       <!--<KEYWORD3>eval</KEYWORD3>-->\r
-                       <KEYWORD3>formline</KEYWORD3>\r
-                       <!--<KEYWORD3>local</KEYWORD3>-->\r
-                       <!--<KEYWORD3>my</KEYWORD3>-->\r
-                       <KEYWORD3>reset</KEYWORD3>\r
-                       <KEYWORD3>scalar</KEYWORD3>\r
-                       <KEYWORD3>undef</KEYWORD3>\r
-                       <!--<KEYWORD3>wantarray</KEYWORD3>-->\r
-\r
-                       <!-- Functions for processes and process groups -->\r
-                       <KEYWORD3>alarm</KEYWORD3>\r
-                       <KEYWORD3>exec</KEYWORD3>\r
-                       <KEYWORD3>fork</KEYWORD3>\r
-                       <KEYWORD3>getpgrp</KEYWORD3>\r
-                       <KEYWORD3>getppid</KEYWORD3>\r
-                       <KEYWORD3>getpriority</KEYWORD3>\r
-                       <KEYWORD3>kill</KEYWORD3>\r
-                       <KEYWORD3>pipe</KEYWORD3>\r
-                       <KEYWORD3>setpgrp</KEYWORD3>\r
-                       <KEYWORD3>setpriority</KEYWORD3>\r
-                       <KEYWORD3>sleep</KEYWORD3>\r
-                       <KEYWORD3>system</KEYWORD3>\r
-                       <KEYWORD3>times</KEYWORD3>\r
-                       <KEYWORD3>wait</KEYWORD3>\r
-                       <KEYWORD3>waitpid</KEYWORD3>\r
-\r
-                       <!-- Keywords related to perl modules -->\r
-                       <!--<KEYWORD1>do</KEYWORD1>-->\r
-                       <KEYWORD1>import</KEYWORD1>\r
-                       <KEYWORD1>no</KEYWORD1>\r
-                       <!--<KEYWORD1>package</KEYWORD1>-->\r
-                       <KEYWORD1>require</KEYWORD1>\r
-                       <!--<KEYWORD1>use</KEYWORD1>-->\r
-\r
-                       <!-- Keywords related to classes and object-orientedness -->\r
-                       <KEYWORD3>bless</KEYWORD3>\r
-                       <!--<KEYWORD3>dbmclose</KEYWORD3>-->\r
-                       <!--<KEYWORD3>dbmopen</KEYWORD3>-->\r
-                       <!--<KEYWORD3>package</KEYWORD3>-->\r
-                       <KEYWORD3>ref</KEYWORD3>\r
-                       <KEYWORD3>tie</KEYWORD3>\r
-                       <KEYWORD3>tied</KEYWORD3>\r
-                       <KEYWORD3>untie</KEYWORD3>\r
-                       <!--<KEYWORD3>use</KEYWORD3>-->\r
-\r
-                       <!-- Low-level socket functions -->\r
-                       <KEYWORD3>accept</KEYWORD3>\r
-                       <KEYWORD3>bind</KEYWORD3>\r
-                       <KEYWORD3>connect</KEYWORD3>\r
-                       <KEYWORD3>getpeername</KEYWORD3>\r
-                       <KEYWORD3>getsockname</KEYWORD3>\r
-                       <KEYWORD3>getsockopt</KEYWORD3>\r
-                       <KEYWORD3>listen</KEYWORD3>\r
-                       <KEYWORD3>recv</KEYWORD3>\r
-                       <KEYWORD3>send</KEYWORD3>\r
-                       <KEYWORD3>setsockopt</KEYWORD3>\r
-                       <KEYWORD3>shutdown</KEYWORD3>\r
-                       <KEYWORD3>socket</KEYWORD3>\r
-                       <KEYWORD3>socketpair</KEYWORD3>\r
-\r
-                       <!-- System V interprocess communication functions -->\r
-                       <KEYWORD3>msgctl</KEYWORD3>\r
-                       <KEYWORD3>msgget</KEYWORD3>\r
-                       <KEYWORD3>msgrcv</KEYWORD3>\r
-                       <KEYWORD3>msgsnd</KEYWORD3>\r
-                       <KEYWORD3>semctl</KEYWORD3>\r
-                       <KEYWORD3>semget</KEYWORD3>\r
-\r
-                       <KEYWORD3>semop</KEYWORD3>\r
-                       <KEYWORD3>shmctl</KEYWORD3>\r
-                       <KEYWORD3>shmget</KEYWORD3>\r
-                       <KEYWORD3>shmread</KEYWORD3>\r
-                       <KEYWORD3>shmwrite</KEYWORD3>\r
-\r
-                       <!-- Fetching user and group info -->\r
-                       <KEYWORD3>endgrent</KEYWORD3>\r
-                       <KEYWORD3>endhostent</KEYWORD3>\r
-                       <KEYWORD3>endnetent</KEYWORD3>\r
-                       <KEYWORD3>endpwent</KEYWORD3>\r
-                       <KEYWORD3>getgrent</KEYWORD3>\r
-                       <KEYWORD3>getgrgid</KEYWORD3>\r
-                       <KEYWORD3>getgrnam</KEYWORD3>\r
-                       <KEYWORD3>getlogin</KEYWORD3>\r
-                       <KEYWORD3>getpwent</KEYWORD3>\r
-                       <KEYWORD3>getpwnam</KEYWORD3>\r
-                       <KEYWORD3>getpwuid</KEYWORD3>\r
-                       <KEYWORD3>setgrent</KEYWORD3>\r
-                       <KEYWORD3>setpwent</KEYWORD3>\r
-\r
-                       <!-- Fetching network info -->\r
-                       <KEYWORD3>endprotoent</KEYWORD3>\r
-                       <KEYWORD3>endservent</KEYWORD3>\r
-                       <KEYWORD3>gethostbyaddr</KEYWORD3>\r
-                       <KEYWORD3>gethostbyname</KEYWORD3>\r
-                       <KEYWORD3>gethostent</KEYWORD3>\r
-                       <KEYWORD3>getnetbyaddr</KEYWORD3>\r
-                       <KEYWORD3>getnetbyname</KEYWORD3>\r
-                       <KEYWORD3>getnetent</KEYWORD3>\r
-                       <KEYWORD3>getprotobyname</KEYWORD3>\r
-                       <KEYWORD3>getprotobynumber</KEYWORD3>\r
-                       <KEYWORD3>getprotoent</KEYWORD3>\r
-                       <KEYWORD3>getservbyname</KEYWORD3>\r
-                       <KEYWORD3>getservbyport</KEYWORD3>\r
-                       <KEYWORD3>getservent</KEYWORD3>\r
-                       <KEYWORD3>sethostent</KEYWORD3>\r
-                       <KEYWORD3>setnetent</KEYWORD3>\r
-                       <KEYWORD3>setprotoent</KEYWORD3>\r
-                       <KEYWORD3>setservent</KEYWORD3>\r
-\r
-                       <!-- Time-related functions -->\r
-                       <KEYWORD3>gmtime</KEYWORD3>\r
-                       <KEYWORD3>localtime</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <!--<KEYWORD3>times</KEYWORD3>-->\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="POD" DEFAULT="COMMENT2">\r
-               <MARK_FOLLOWING TYPE="LABEL" AT_LINE_START="TRUE">=</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <!-- Variables inside a Literal -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- object method inside a Literal -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>->{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>@{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">@</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>%{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="LITERAL1">|</SEQ>\r
-               <SEQ TYPE="LITERAL1">&amp;</SEQ>\r
-               <SEQ TYPE="LITERAL1">!</SEQ>\r
-               <SEQ TYPE="LITERAL1">&gt;</SEQ>\r
-               <SEQ TYPE="LITERAL1">&lt;</SEQ>\r
-               <SEQ TYPE="LITERAL1">)</SEQ>\r
-               <SEQ TYPE="LITERAL1">(</SEQ>\r
-               <SEQ TYPE="LITERAL1">=</SEQ>\r
-               <SEQ TYPE="LITERAL1">!</SEQ>\r
-               <SEQ TYPE="LITERAL1">+</SEQ>\r
-               <SEQ TYPE="LITERAL1">-</SEQ>\r
-               <SEQ TYPE="LITERAL1">/</SEQ>\r
-               <SEQ TYPE="LITERAL1">*</SEQ>\r
-               <SEQ TYPE="LITERAL1">^</SEQ>\r
-               <SEQ TYPE="LITERAL1">~</SEQ>\r
-               <SEQ TYPE="LITERAL1">}</SEQ>\r
-               <SEQ TYPE="LITERAL1">{</SEQ>\r
-               <SEQ TYPE="LITERAL1">.</SEQ>\r
-               <SEQ TYPE="LITERAL1">,</SEQ>\r
-               <SEQ TYPE="LITERAL1">;</SEQ>\r
-               <SEQ TYPE="LITERAL1">]</SEQ>\r
-               <SEQ TYPE="LITERAL1">[</SEQ>\r
-               <SEQ TYPE="LITERAL1">?</SEQ>\r
-               <SEQ TYPE="LITERAL1">:</SEQ>\r
-       </RULES>\r
-\r
-       <!-- Literals framed by apostrophs -->\r
-       <RULES SET="APOSTR" DEFAULT="LITERAL1" ESCAPE="\">\r
-\r
-               <!-- just a hack for sprintf -->\r
-               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%\d*\.?\d*[dfis]</SEQ_REGEXP>\r
-\r
-       </RULES>\r
-\r
-       <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>@{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">@</MARK_FOLLOWING>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-       <RULES SET="VARIABLE" DEFAULT="KEYWORD2" ESCAPE="\">\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE" DELEGATE="VARIABLE">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="REGEXP" DEFAULT="MARKUP" ESCAPE="\">\r
-               <!-- ??? -->\r
-               <SEQ TYPE="MARKUP">)(</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="SUB_NAME" DEFAULT="FUNCTION">\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-               <SPAN TYPE="OPERATOR" DELEGATE="SUB_PROTO">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="SUB_PROTO" DEFAULT="LITERAL1">\r
-               <SEQ TYPE="LITERAL2">$</SEQ>\r
-               <SEQ TYPE="LITERAL2">@</SEQ>\r
-               <SEQ TYPE="LITERAL2">%</SEQ>\r
-               <SEQ TYPE="LITERAL2">&amp;</SEQ>\r
-               <SEQ TYPE="LITERAL2">*</SEQ>\r
-               <SEQ TYPE="LITERAL3">\</SEQ>\r
-       </RULES>\r
-\r
-       <!-- Used for quote-like operators; just makes sure the brackets are balanced. -->\r
-       <RULES SET="QUOTED" DEFAULT="LITERAL1">\r
-               <SPAN_REGEXP NO_LINE_BREAK="FALSE"\r
-                                        TYPE="LITERAL1"\r
-                                        MATCH_TYPE="OPERATOR"\r
-                                        DELEGATE="QUOTED"\r
-                                        HASH_CHARS="|[{(/">\r
-                       <BEGIN>([\[{\(])</BEGIN>\r
-                       <END>~1</END>\r
-               </SPAN_REGEXP>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/php.xml b/extra/xmode/modes/php.xml
deleted file mode 100644 (file)
index 91d8781..0000000
+++ /dev/null
@@ -1,4832 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Catalog entry:\r
-<MODE NAME="php" FILE="php.xml"\r
-                               FILE_NAME_GLOB="*.{php3,php4,php5,php,phtml}"\r
-                               FIRST_LINE_GLOB="&lt;?php*" />\r
--->\r
-\r
-\r
-<!--\r
-Usage of keywords:\r
- - COMMENT1: range comments  (/* ... */)\r
- - COMMENT2: line comments   (using //)\r
- - COMMENT3: phpdoc comments (/** .. */)\r
- - COMMENT4: line comments   (using #)\r
- - DIGIT:    numbers\r
- - FUNCTION: custom functions and class/object methods, e.g. foo(), $foo->bar() and foo::bar()\r
- - KEYWORD1: basic PHP keywords, e.g. true, false, extends, implements\r
-             language constructs, e.g. if .. then .. else\r
- - KEYWORD2: internal PHP functions,\r
- - KEYWORD3: variables, e.g. $foo\r
- - KEYWORD4: class definitions, object members, internal PHP objects\r
- - LABEL:    phpdoc labels, like @see\r
-             CDATA blocks\r
- - LITERAL1: Strings in single quotes, e.g. 'foo'\r
- - LITERAL2: Strings in double quotes, e.g. "foo"\r
- - LITERAL3: Strings in backtick quotes, e.g. `foo`\r
- - LITERAL4: heredocs, e.g. "<<< FOO .... FOO\r
- - MARKUP:   tags, e.g. <?php .. ?>\r
- - OPERATOR: normal operators, e.g. + - ( ) { } [ ]\r
-             PHP language types in phpdoc block (TODO: sane?!)\r
--->\r
-\r
-<!--\r
-TODO:\r
- - cleanup/factorize PHPDOC section\r
--->\r
-\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <!-- Default comment props (used when a ruleset has no other props) -->\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while|else\s*(if)?|for(each)?|switch|declare)\s*\(.*\)[^{:;]*)|(do\s*[^\({:;]*))" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" /><!-- @deprecated since 4.3pre2 -->\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-\r
-\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <PROPS>\r
-                       <!-- comment props for "HTML"/not-PHP: -->\r
-                       <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-                       <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-                       <PROPERTY NAME="lineComment" VALUE="" />\r
-               </PROPS>\r
-\r
-               <!-- regular PHP tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;?php</BEGIN>\r
-                       <END>?&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- short tags: -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;?</BEGIN>\r
-                       <END>?&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;?=</BEGIN>\r
-                       <END>?&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- ASP style tags: -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SSI? -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;SCRIPT" TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;SCRIPT\s+LANGUAGE="?PHP"?&gt;</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT1+PHP">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT_OPENTAG">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CSS -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS_OPENTAG">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA -->\r
-               <SPAN TYPE="LABEL" DELEGATE="MAIN">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">&lt;/?\w+</SEQ_REGEXP>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-\r
-       <!-- HTML tags (from MAIN rule) -->\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-               <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ><!-- from SEQ_REGEXP delegate -->\r
-\r
-               <IMPORT DELEGATE="TO_LITERAL+PHP" />\r
-               <IMPORT DELEGATE="TO_PHP" />\r
-               <IMPORT DELEGATE="INVALID_LT" />\r
-               <IMPORT DELEGATE="html::TAGS" />\r
-       </RULES>\r
-\r
-\r
-       <!-- CSS where PHP code may be injected -->\r
-       <RULES SET="CSS_OPENTAG" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="CSS">&gt;</SEQ>\r
-\r
-               <IMPORT DELEGATE="TO_LITERAL+PHP"/>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS" DEFAULT="MARKUP">\r
-               <!-- CSS has no line comment: -->\r
-               <PROPS>\r
-                       <PROPERTY NAME="lineComment" VALUE="" />\r
-               </PROPS>\r
-\r
-               <SPAN DELEGATE="CSS"><!-- give priority to PHP -->\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-               <IMPORT DELEGATE="css::MAIN"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Helper for class references in rule PHP -->\r
-       <RULES SET="OBJECT_PHP" DEFAULT="KEYWORD4" ESCAPE="\"> <!-- TODO: ESCAPE should not be needed, see http://sourceforge.net/tracker/index.php?func=detail&aid=1600458&group_id=588&atid=100588 -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Keep brackets together and handle the expression therein with "PHP" -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <!-- Recurse methods: -->\r
-               <SEQ_REGEXP HASH_CHAR="-&gt;" TYPE="FUNCTION" DELEGATE="OBJECT_PHP">-&gt;\s*\w+\s*(?=\()</SEQ_REGEXP>\r
-\r
-               <!-- Recurse members: -->\r
-               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="OBJECT_PHP">-&gt;\w*</SEQ_REGEXP>\r
-\r
-               <!-- Operators delegate back to PHP {{{ -->\r
-               <SEQ DELEGATE="PHP"> </SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">!</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">%</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">*</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">+</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">,</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">-</SEQ><!-- "->" gets handled before -->\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">.</SEQ>\r
-               <SEQ_REGEXP HASH_CHAR="/" TYPE="OPERATOR" DELEGATE="PHP">/(?!/)</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR=":" TYPE="OPERATOR" DELEGATE="PHP">:(?!:)</SEQ_REGEXP><!-- not "::" -->\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">;</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">=</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">?</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">@</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">[</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">]</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">^</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">`</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">{</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">|</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">}</SEQ>\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">~</SEQ>\r
-               <!-- }}} -->\r
-\r
-               <IMPORT DELEGATE="PHP" />\r
-               <IMPORT DELEGATE="PHP_VAR" />\r
-               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
-       </RULES>\r
-\r
-\r
-       <!-- PHP literal where variables get parsed -->\r
-       <RULES SET="PHP_LITERAL2" DEFAULT="LITERAL2" ESCAPE="\">\r
-               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL2" DELEGATE="OBJECT_PHP">\r
-                       <BEGIN>\{(?=\$)</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-               <IMPORT DELEGATE="PHP_VAR" />\r
-       </RULES>\r
-\r
-\r
-       <!-- PHP literal in backticks, where variables get parsed; see PHP_LITERAL2 -->\r
-       <RULES SET="PHP_LITERAL3" DEFAULT="LITERAL3" ESCAPE="\">\r
-               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL3" DELEGATE="OBJECT_PHP">\r
-                       <BEGIN>\{(?=\$)</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-               <IMPORT DELEGATE="PHP_VAR" />\r
-       </RULES>\r
-\r
-\r
-       <!-- PHP heredoc blocks, where variables get parsed; see PHP_LITERAL2 -->\r
-       <RULES SET="PHP_LITERAL4" DEFAULT="LITERAL4" ESCAPE="\">\r
-               <SPAN_REGEXP HASH_CHAR="{" TYPE="LITERAL4" DELEGATE="OBJECT_PHP">\r
-                       <BEGIN>\{(?=\$)</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-               <IMPORT DELEGATE="PHP_VAR" />\r
-       </RULES>\r
-\r
-\r
-       <!-- Helper for class / interface definition -->\r
-       <RULES SET="DEF_CLASS" DEFAULT="KEYWORD4">\r
-               <SEQ TYPE="OPERATOR" DELEGATE="PHP">{</SEQ>\r
-\r
-               <!-- TODO: redundant comments {{{ -->\r
-               <!-- Silly comment -->\r
-               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- PHPdoc comment -->\r
-               <SPAN TYPE="COMMENT3" DELEGATE="PHPDOC">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT4">#</EOL_SPAN>\r
-               <!-- redundant }}} -->\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <!-- PHP variables (PHPDOC_VAR for phpdoc blocks) -->\r
-       <RULES SET="PHP_VAR">\r
-               <!-- (Class-)Variables -->\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD4">\$\w+(?=\s*=\s*(&amp;\s*)?new)</SEQ_REGEXP>\r
-\r
-               <!-- Normal variables -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="PHP" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-               <!-- Silly comment -->\r
-               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- PHPdoc comment -->\r
-               <SPAN TYPE="COMMENT3" DELEGATE="PHPDOC">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL2" DELEGATE="PHP_LITERAL2">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL3" DELEGATE="PHP_LITERAL3">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT4">#</EOL_SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR"> (</MARK_PREVIOUS>\r
-\r
-               <!-- Readins/Heredoc -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&lt;&lt;" TYPE="LITERAL4" DELEGATE="PHP_LITERAL4">\r
-                       <BEGIN><![CDATA[<<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>\r
-                       <END AT_LINE_START="TRUE">$1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- operators -->\r
-               <!-- {{{ -->\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">(array)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(bool)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(boolean)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(double)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(float)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(int)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(integer)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(object)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(real)</SEQ>\r
-               <SEQ TYPE="OPERATOR">(string)</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ_REGEXP HASH_CHAR=":" TYPE="OPERATOR">:(?!:)</SEQ_REGEXP><!-- not "::" -->\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">`</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <!-- }}} -->\r
-\r
-               <!-- Fix this variables to not start class definitions -->\r
-               <SEQ_REGEXP HASH_CHAR="$class" TYPE="KEYWORD3">\$class\w*</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="$interface" TYPE="KEYWORD3">\$interface\w*</SEQ_REGEXP>\r
-\r
-               <!-- Class definitions -->\r
-               <SEQ_REGEXP HASH_CHAR="class" AT_WORD_START="TRUE" DELEGATE="DEF_CLASS" TYPE="KEYWORD1">class(\s+|$)</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="interface" AT_WORD_START="TRUE" DELEGATE="DEF_CLASS" TYPE="KEYWORD1">interface(\s+|$)</SEQ_REGEXP>\r
-\r
-\r
-               <!-- to OBJECT_PHP: (Class-)Variables/Methods -->\r
-               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="$" DELEGATE="OBJECT_PHP">\$\w+(?=(\[\$?[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
-               <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
-\r
-               <!-- Imports: -->\r
-               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
-               <IMPORT DELEGATE="PHP_VAR" />\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="PHP_BASIC_KEYWORD1">\r
-               <KEYWORDS>\r
-                       <KEYWORD1>true</KEYWORD1>\r
-                       <KEYWORD1>false</KEYWORD1>\r
-                       <KEYWORD1>null</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="PHP_KEYWORDS">\r
-               <IMPORT DELEGATE="KEYWORDS_VISIBILITY" />\r
-               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
-\r
-               <KEYWORDS>\r
-                       <!-- start: generated by buildfunctionlist.php -->\r
-                       <!-- {{{ -->\r
-                       <!-- Internal classes (61) -->\r
-                       <KEYWORD4>arrayiterator</KEYWORD4>\r
-                       <KEYWORD4>arrayobject</KEYWORD4>\r
-                       <KEYWORD4>cachingiterator</KEYWORD4>\r
-                       <KEYWORD4>cachingrecursiveiterator</KEYWORD4>\r
-                       <KEYWORD4>collection</KEYWORD4>\r
-                       <KEYWORD4>descriptor</KEYWORD4>\r
-                       <KEYWORD4>directoryiterator</KEYWORD4>\r
-                       <KEYWORD4>domattr</KEYWORD4>\r
-                       <KEYWORD4>domattribute</KEYWORD4>\r
-                       <KEYWORD4>domcharacterdata</KEYWORD4>\r
-                       <KEYWORD4>domdocument</KEYWORD4>\r
-                       <KEYWORD4>domdocumenttype</KEYWORD4>\r
-                       <KEYWORD4>domelement</KEYWORD4>\r
-                       <KEYWORD4>domimplementation</KEYWORD4>\r
-                       <KEYWORD4>domnamednodemap</KEYWORD4>\r
-                       <KEYWORD4>domnode</KEYWORD4>\r
-                       <KEYWORD4>domnodelist</KEYWORD4>\r
-                       <KEYWORD4>domprocessinginstruction</KEYWORD4>\r
-                       <KEYWORD4>domtext</KEYWORD4>\r
-                       <KEYWORD4>domxpath</KEYWORD4>\r
-                       <KEYWORD4>domxsltstylesheet</KEYWORD4>\r
-                       <KEYWORD4>filteriterator</KEYWORD4>\r
-                       <KEYWORD4>hw_api</KEYWORD4>\r
-                       <KEYWORD4>hw_api_attribute</KEYWORD4>\r
-                       <KEYWORD4>hw_api_content</KEYWORD4>\r
-                       <KEYWORD4>hw_api_error</KEYWORD4>\r
-                       <KEYWORD4>hw_api_object</KEYWORD4>\r
-                       <KEYWORD4>hw_api_reason</KEYWORD4>\r
-                       <KEYWORD4>limititerator</KEYWORD4>\r
-                       <KEYWORD4>lob</KEYWORD4>\r
-                       <KEYWORD4>memcache</KEYWORD4>\r
-                       <KEYWORD4>parentiterator</KEYWORD4>\r
-                       <KEYWORD4>pdo</KEYWORD4>\r
-                       <KEYWORD4>pdostatement</KEYWORD4>\r
-                       <KEYWORD4>rar</KEYWORD4>\r
-                       <KEYWORD4>recursivedirectoryiterator</KEYWORD4>\r
-                       <KEYWORD4>recursiveiteratoriterator</KEYWORD4>\r
-                       <KEYWORD4>simplexmlelement</KEYWORD4>\r
-                       <KEYWORD4>simplexmliterator</KEYWORD4>\r
-                       <KEYWORD4>soapclient</KEYWORD4>\r
-                       <KEYWORD4>soapfault</KEYWORD4>\r
-                       <KEYWORD4>soapheader</KEYWORD4>\r
-                       <KEYWORD4>soapparam</KEYWORD4>\r
-                       <KEYWORD4>soapserver</KEYWORD4>\r
-                       <KEYWORD4>soapvar</KEYWORD4>\r
-                       <KEYWORD4>swfaction</KEYWORD4>\r
-                       <KEYWORD4>swfbitmap</KEYWORD4>\r
-                       <KEYWORD4>swfbutton</KEYWORD4>\r
-                       <KEYWORD4>swfdisplayitem</KEYWORD4>\r
-                       <KEYWORD4>swffill</KEYWORD4>\r
-                       <KEYWORD4>swffont</KEYWORD4>\r
-                       <KEYWORD4>swfgradient</KEYWORD4>\r
-                       <KEYWORD4>swfmorph</KEYWORD4>\r
-                       <KEYWORD4>swfmovie</KEYWORD4>\r
-                       <KEYWORD4>swfshape</KEYWORD4>\r
-                       <KEYWORD4>swfsprite</KEYWORD4>\r
-                       <KEYWORD4>swftext</KEYWORD4>\r
-                       <KEYWORD4>swftextfield</KEYWORD4>\r
-                       <KEYWORD4>tidy</KEYWORD4>\r
-                       <KEYWORD4>tidy_node</KEYWORD4>\r
-                       <KEYWORD4>variant</KEYWORD4>\r
-\r
-\r
-                       <!-- Internal functions (3549) -->\r
-                       <KEYWORD2>__call</KEYWORD2> <!-- soapclient -->\r
-                       <KEYWORD2>__construct</KEYWORD2> <!-- arrayobject, directoryiterator, pdo, tidy -->\r
-                       <KEYWORD2>__getfunctions</KEYWORD2> <!-- soapclient -->\r
-                       <KEYWORD2>__getlastrequest</KEYWORD2> <!-- soapclient -->\r
-                       <KEYWORD2>__getlastresponse</KEYWORD2> <!-- soapclient -->\r
-                       <KEYWORD2>__gettypes</KEYWORD2> <!-- soapclient -->\r
-                       <KEYWORD2>__tostring</KEYWORD2> <!-- cachingiterator -->\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>acos</KEYWORD2>\r
-                       <KEYWORD2>acosh</KEYWORD2>\r
-                       <KEYWORD2>add</KEYWORD2> <!-- memcache, swfmovie, swfsprite -->\r
-                       <KEYWORD2>add_namespace</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>add_root</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>addaction</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>addcolor</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>addcslashes</KEYWORD2>\r
-                       <KEYWORD2>addentry</KEYWORD2> <!-- swfgradient -->\r
-                       <KEYWORD2>addfill</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>addfunction</KEYWORD2> <!-- soapserver -->\r
-                       <KEYWORD2>addshape</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>addslashes</KEYWORD2>\r
-                       <KEYWORD2>addstring</KEYWORD2> <!-- swftext, swftextfield -->\r
-                       <KEYWORD2>aggregate</KEYWORD2>\r
-                       <KEYWORD2>aggregate_info</KEYWORD2>\r
-                       <KEYWORD2>aggregate_methods</KEYWORD2>\r
-                       <KEYWORD2>aggregate_methods_by_list</KEYWORD2>\r
-                       <KEYWORD2>aggregate_methods_by_regexp</KEYWORD2>\r
-                       <KEYWORD2>aggregate_properties</KEYWORD2>\r
-                       <KEYWORD2>aggregate_properties_by_list</KEYWORD2>\r
-                       <KEYWORD2>aggregate_properties_by_regexp</KEYWORD2>\r
-                       <KEYWORD2>aggregation_info</KEYWORD2>\r
-                       <KEYWORD2>align</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>apache_child_terminate</KEYWORD2>\r
-                       <KEYWORD2>apache_get_modules</KEYWORD2>\r
-                       <KEYWORD2>apache_get_version</KEYWORD2>\r
-                       <KEYWORD2>apache_getenv</KEYWORD2>\r
-                       <KEYWORD2>apache_lookup_uri</KEYWORD2>\r
-                       <KEYWORD2>apache_note</KEYWORD2>\r
-                       <KEYWORD2>apache_request_headers</KEYWORD2>\r
-                       <KEYWORD2>apache_response_headers</KEYWORD2>\r
-                       <KEYWORD2>apache_setenv</KEYWORD2>\r
-                       <KEYWORD2>apd_breakpoint</KEYWORD2>\r
-                       <KEYWORD2>apd_callstack</KEYWORD2>\r
-                       <KEYWORD2>apd_clunk</KEYWORD2>\r
-                       <KEYWORD2>apd_continue</KEYWORD2>\r
-                       <KEYWORD2>apd_croak</KEYWORD2>\r
-                       <KEYWORD2>apd_dump_function_table</KEYWORD2>\r
-                       <KEYWORD2>apd_dump_persistent_resources</KEYWORD2>\r
-                       <KEYWORD2>apd_dump_regular_resources</KEYWORD2>\r
-                       <KEYWORD2>apd_echo</KEYWORD2>\r
-                       <KEYWORD2>apd_get_active_symbols</KEYWORD2>\r
-                       <KEYWORD2>apd_set_pprof_trace</KEYWORD2>\r
-                       <KEYWORD2>apd_set_session</KEYWORD2>\r
-                       <KEYWORD2>apd_set_session_trace</KEYWORD2>\r
-                       <KEYWORD2>apd_set_socket_session_trace</KEYWORD2>\r
-                       <KEYWORD2>append</KEYWORD2> <!-- arrayobject, collection, lob -->\r
-                       <KEYWORD2>append_child</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>append_sibling</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>appendchild</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>appenddata</KEYWORD2> <!-- domcharacterdata -->\r
-                       <KEYWORD2>array_change_key_case</KEYWORD2>\r
-                       <KEYWORD2>array_chunk</KEYWORD2>\r
-                       <KEYWORD2>array_combine</KEYWORD2>\r
-                       <KEYWORD2>array_count_values</KEYWORD2>\r
-                       <KEYWORD2>array_diff</KEYWORD2>\r
-                       <KEYWORD2>array_diff_assoc</KEYWORD2>\r
-                       <KEYWORD2>array_diff_key</KEYWORD2>\r
-                       <KEYWORD2>array_diff_uassoc</KEYWORD2>\r
-                       <KEYWORD2>array_diff_ukey</KEYWORD2>\r
-                       <KEYWORD2>array_fill</KEYWORD2>\r
-                       <KEYWORD2>array_filter</KEYWORD2>\r
-                       <KEYWORD2>array_flip</KEYWORD2>\r
-                       <KEYWORD2>array_intersect</KEYWORD2>\r
-                       <KEYWORD2>array_intersect_assoc</KEYWORD2>\r
-                       <KEYWORD2>array_intersect_key</KEYWORD2>\r
-                       <KEYWORD2>array_intersect_uassoc</KEYWORD2>\r
-                       <KEYWORD2>array_intersect_ukey</KEYWORD2>\r
-                       <KEYWORD2>array_key_exists</KEYWORD2>\r
-                       <KEYWORD2>array_keys</KEYWORD2>\r
-                       <KEYWORD2>array_map</KEYWORD2>\r
-                       <KEYWORD2>array_merge</KEYWORD2>\r
-                       <KEYWORD2>array_merge_recursive</KEYWORD2>\r
-                       <KEYWORD2>array_multisort</KEYWORD2>\r
-                       <KEYWORD2>array_pad</KEYWORD2>\r
-                       <KEYWORD2>array_pop</KEYWORD2>\r
-                       <KEYWORD2>array_push</KEYWORD2>\r
-                       <KEYWORD2>array_rand</KEYWORD2>\r
-                       <KEYWORD2>array_reduce</KEYWORD2>\r
-                       <KEYWORD2>array_reverse</KEYWORD2>\r
-                       <KEYWORD2>array_search</KEYWORD2>\r
-                       <KEYWORD2>array_shift</KEYWORD2>\r
-                       <KEYWORD2>array_slice</KEYWORD2>\r
-                       <KEYWORD2>array_splice</KEYWORD2>\r
-                       <KEYWORD2>array_sum</KEYWORD2>\r
-                       <KEYWORD2>array_udiff</KEYWORD2>\r
-                       <KEYWORD2>array_udiff_assoc</KEYWORD2>\r
-                       <KEYWORD2>array_udiff_uassoc</KEYWORD2>\r
-                       <KEYWORD2>array_uintersect</KEYWORD2>\r
-                       <KEYWORD2>array_uintersect_assoc</KEYWORD2>\r
-                       <KEYWORD2>array_uintersect_uassoc</KEYWORD2>\r
-                       <KEYWORD2>array_unique</KEYWORD2>\r
-                       <KEYWORD2>array_unshift</KEYWORD2>\r
-                       <KEYWORD2>array_values</KEYWORD2>\r
-                       <KEYWORD2>array_walk</KEYWORD2>\r
-                       <KEYWORD2>array_walk_recursive</KEYWORD2>\r
-                       <KEYWORD2>arsort</KEYWORD2>\r
-                       <KEYWORD2>ascii2ebcdic</KEYWORD2>\r
-                       <KEYWORD2>asin</KEYWORD2>\r
-                       <KEYWORD2>asinh</KEYWORD2>\r
-                       <KEYWORD2>asort</KEYWORD2>\r
-                       <KEYWORD2>aspell_check</KEYWORD2>\r
-                       <KEYWORD2>aspell_check_raw</KEYWORD2>\r
-                       <KEYWORD2>aspell_new</KEYWORD2>\r
-                       <KEYWORD2>aspell_suggest</KEYWORD2>\r
-                       <KEYWORD2>assert</KEYWORD2>\r
-                       <KEYWORD2>assert_options</KEYWORD2>\r
-                       <KEYWORD2>assign</KEYWORD2> <!-- collection, hw_api_object -->\r
-                       <KEYWORD2>assignelem</KEYWORD2> <!-- collection -->\r
-                       <KEYWORD2>asxml</KEYWORD2> <!-- simplexmlelement -->\r
-                       <KEYWORD2>atan</KEYWORD2>\r
-                       <KEYWORD2>atan2</KEYWORD2>\r
-                       <KEYWORD2>atanh</KEYWORD2>\r
-                       <KEYWORD2>attreditable</KEYWORD2> <!-- hw_api_object -->\r
-                       <KEYWORD2>attributes</KEYWORD2> <!-- domnode, simplexmlelement, tidy_node -->\r
-                       <KEYWORD2>base64_decode</KEYWORD2>\r
-                       <KEYWORD2>base64_encode</KEYWORD2>\r
-                       <KEYWORD2>base_convert</KEYWORD2>\r
-                       <KEYWORD2>basename</KEYWORD2>\r
-                       <KEYWORD2>bcadd</KEYWORD2>\r
-                       <KEYWORD2>bccomp</KEYWORD2>\r
-                       <KEYWORD2>bcdiv</KEYWORD2>\r
-                       <KEYWORD2>bcmod</KEYWORD2>\r
-                       <KEYWORD2>bcmul</KEYWORD2>\r
-                       <KEYWORD2>bcpow</KEYWORD2>\r
-                       <KEYWORD2>bcpowmod</KEYWORD2>\r
-                       <KEYWORD2>bcscale</KEYWORD2>\r
-                       <KEYWORD2>bcsqrt</KEYWORD2>\r
-                       <KEYWORD2>bcsub</KEYWORD2>\r
-                       <KEYWORD2>begintransaction</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>bin2hex</KEYWORD2>\r
-                       <KEYWORD2>bind_textdomain_codeset</KEYWORD2>\r
-                       <KEYWORD2>bindcolumn</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>bindec</KEYWORD2>\r
-                       <KEYWORD2>bindparam</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>bindtextdomain</KEYWORD2>\r
-                       <KEYWORD2>bzclose</KEYWORD2>\r
-                       <KEYWORD2>bzcompress</KEYWORD2>\r
-                       <KEYWORD2>bzdecompress</KEYWORD2>\r
-                       <KEYWORD2>bzerrno</KEYWORD2>\r
-                       <KEYWORD2>bzerror</KEYWORD2>\r
-                       <KEYWORD2>bzerrstr</KEYWORD2>\r
-                       <KEYWORD2>bzflush</KEYWORD2>\r
-                       <KEYWORD2>bzopen</KEYWORD2>\r
-                       <KEYWORD2>bzread</KEYWORD2>\r
-                       <KEYWORD2>bzwrite</KEYWORD2>\r
-                       <KEYWORD2>cal_days_in_month</KEYWORD2>\r
-                       <KEYWORD2>cal_from_jd</KEYWORD2>\r
-                       <KEYWORD2>cal_info</KEYWORD2>\r
-                       <KEYWORD2>cal_to_jd</KEYWORD2>\r
-                       <KEYWORD2>call_user_func</KEYWORD2>\r
-                       <KEYWORD2>call_user_func_array</KEYWORD2>\r
-                       <KEYWORD2>call_user_method</KEYWORD2>\r
-                       <KEYWORD2>call_user_method_array</KEYWORD2>\r
-                       <KEYWORD2>ccvs_add</KEYWORD2>\r
-                       <KEYWORD2>ccvs_auth</KEYWORD2>\r
-                       <KEYWORD2>ccvs_command</KEYWORD2>\r
-                       <KEYWORD2>ccvs_count</KEYWORD2>\r
-                       <KEYWORD2>ccvs_delete</KEYWORD2>\r
-                       <KEYWORD2>ccvs_done</KEYWORD2>\r
-                       <KEYWORD2>ccvs_init</KEYWORD2>\r
-                       <KEYWORD2>ccvs_lookup</KEYWORD2>\r
-                       <KEYWORD2>ccvs_new</KEYWORD2>\r
-                       <KEYWORD2>ccvs_report</KEYWORD2>\r
-                       <KEYWORD2>ccvs_return</KEYWORD2>\r
-                       <KEYWORD2>ccvs_reverse</KEYWORD2>\r
-                       <KEYWORD2>ccvs_sale</KEYWORD2>\r
-                       <KEYWORD2>ccvs_status</KEYWORD2>\r
-                       <KEYWORD2>ccvs_textvalue</KEYWORD2>\r
-                       <KEYWORD2>ccvs_void</KEYWORD2>\r
-                       <KEYWORD2>ceil</KEYWORD2>\r
-                       <KEYWORD2>chdir</KEYWORD2>\r
-                       <KEYWORD2>checkdate</KEYWORD2>\r
-                       <KEYWORD2>checkdnsrr</KEYWORD2>\r
-                       <KEYWORD2>checkin</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>checkout</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>chgrp</KEYWORD2>\r
-                       <KEYWORD2>child_nodes</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>children</KEYWORD2> <!-- hw_api, simplexmlelement, tidy_node -->\r
-                       <KEYWORD2>chmod</KEYWORD2>\r
-                       <KEYWORD2>chop</KEYWORD2>\r
-                       <KEYWORD2>chown</KEYWORD2>\r
-                       <KEYWORD2>chr</KEYWORD2>\r
-                       <KEYWORD2>chroot</KEYWORD2>\r
-                       <KEYWORD2>chunk_split</KEYWORD2>\r
-                       <KEYWORD2>class_exists</KEYWORD2>\r
-                       <KEYWORD2>class_implements</KEYWORD2>\r
-                       <KEYWORD2>class_parents</KEYWORD2>\r
-                       <KEYWORD2>classkit_import</KEYWORD2>\r
-                       <KEYWORD2>classkit_method_add</KEYWORD2>\r
-                       <KEYWORD2>classkit_method_copy</KEYWORD2>\r
-                       <KEYWORD2>classkit_method_redefine</KEYWORD2>\r
-                       <KEYWORD2>classkit_method_remove</KEYWORD2>\r
-                       <KEYWORD2>classkit_method_rename</KEYWORD2>\r
-                       <KEYWORD2>clearstatcache</KEYWORD2>\r
-                       <KEYWORD2>clone_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>clonenode</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>close</KEYWORD2> <!-- lob, memcache -->\r
-                       <KEYWORD2>closedir</KEYWORD2>\r
-                       <KEYWORD2>closelog</KEYWORD2>\r
-                       <KEYWORD2>com</KEYWORD2>\r
-                       <KEYWORD2>com_addref</KEYWORD2>\r
-                       <KEYWORD2>com_create_guid</KEYWORD2>\r
-                       <KEYWORD2>com_event_sink</KEYWORD2>\r
-                       <KEYWORD2>com_get</KEYWORD2>\r
-                       <KEYWORD2>com_get_active_object</KEYWORD2>\r
-                       <KEYWORD2>com_invoke</KEYWORD2>\r
-                       <KEYWORD2>com_isenum</KEYWORD2>\r
-                       <KEYWORD2>com_load</KEYWORD2>\r
-                       <KEYWORD2>com_load_typelib</KEYWORD2>\r
-                       <KEYWORD2>com_message_pump</KEYWORD2>\r
-                       <KEYWORD2>com_print_typeinfo</KEYWORD2>\r
-                       <KEYWORD2>com_propget</KEYWORD2>\r
-                       <KEYWORD2>com_propput</KEYWORD2>\r
-                       <KEYWORD2>com_propset</KEYWORD2>\r
-                       <KEYWORD2>com_release</KEYWORD2>\r
-                       <KEYWORD2>com_set</KEYWORD2>\r
-                       <KEYWORD2>commit</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>compact</KEYWORD2>\r
-                       <KEYWORD2>connect</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>connection_aborted</KEYWORD2>\r
-                       <KEYWORD2>connection_status</KEYWORD2>\r
-                       <KEYWORD2>connection_timeout</KEYWORD2>\r
-                       <KEYWORD2>constant</KEYWORD2>\r
-                       <KEYWORD2>content</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>convert_cyr_string</KEYWORD2>\r
-                       <KEYWORD2>convert_uudecode</KEYWORD2>\r
-                       <KEYWORD2>convert_uuencode</KEYWORD2>\r
-                       <KEYWORD2>copy</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>cos</KEYWORD2>\r
-                       <KEYWORD2>cosh</KEYWORD2>\r
-                       <KEYWORD2>count</KEYWORD2> <!-- arrayobject, hw_api_error, hw_api_object -->\r
-                       <KEYWORD2>count_chars</KEYWORD2>\r
-                       <KEYWORD2>cpdf_add_annotation</KEYWORD2>\r
-                       <KEYWORD2>cpdf_add_outline</KEYWORD2>\r
-                       <KEYWORD2>cpdf_arc</KEYWORD2>\r
-                       <KEYWORD2>cpdf_begin_text</KEYWORD2>\r
-                       <KEYWORD2>cpdf_circle</KEYWORD2>\r
-                       <KEYWORD2>cpdf_clip</KEYWORD2>\r
-                       <KEYWORD2>cpdf_close</KEYWORD2>\r
-                       <KEYWORD2>cpdf_closepath</KEYWORD2>\r
-                       <KEYWORD2>cpdf_closepath_fill_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_closepath_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_continue_text</KEYWORD2>\r
-                       <KEYWORD2>cpdf_curveto</KEYWORD2>\r
-                       <KEYWORD2>cpdf_end_text</KEYWORD2>\r
-                       <KEYWORD2>cpdf_fill</KEYWORD2>\r
-                       <KEYWORD2>cpdf_fill_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_finalize</KEYWORD2>\r
-                       <KEYWORD2>cpdf_finalize_page</KEYWORD2>\r
-                       <KEYWORD2>cpdf_global_set_document_limits</KEYWORD2>\r
-                       <KEYWORD2>cpdf_import_jpeg</KEYWORD2>\r
-                       <KEYWORD2>cpdf_lineto</KEYWORD2>\r
-                       <KEYWORD2>cpdf_moveto</KEYWORD2>\r
-                       <KEYWORD2>cpdf_newpath</KEYWORD2>\r
-                       <KEYWORD2>cpdf_open</KEYWORD2>\r
-                       <KEYWORD2>cpdf_output_buffer</KEYWORD2>\r
-                       <KEYWORD2>cpdf_page_init</KEYWORD2>\r
-                       <KEYWORD2>cpdf_place_inline_image</KEYWORD2>\r
-                       <KEYWORD2>cpdf_rect</KEYWORD2>\r
-                       <KEYWORD2>cpdf_restore</KEYWORD2>\r
-                       <KEYWORD2>cpdf_rlineto</KEYWORD2>\r
-                       <KEYWORD2>cpdf_rmoveto</KEYWORD2>\r
-                       <KEYWORD2>cpdf_rotate</KEYWORD2>\r
-                       <KEYWORD2>cpdf_rotate_text</KEYWORD2>\r
-                       <KEYWORD2>cpdf_save</KEYWORD2>\r
-                       <KEYWORD2>cpdf_save_to_file</KEYWORD2>\r
-                       <KEYWORD2>cpdf_scale</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_action_url</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_char_spacing</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_creator</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_current_page</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_font</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_font_directories</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_font_map_file</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_horiz_scaling</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_keywords</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_leading</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_page_animation</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_subject</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_text_matrix</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_text_pos</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_text_rendering</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_text_rise</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_title</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_viewer_preferences</KEYWORD2>\r
-                       <KEYWORD2>cpdf_set_word_spacing</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setdash</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setflat</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setgray</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setgray_fill</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setgray_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setlinecap</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setlinejoin</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setlinewidth</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setmiterlimit</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setrgbcolor</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setrgbcolor_fill</KEYWORD2>\r
-                       <KEYWORD2>cpdf_setrgbcolor_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_show</KEYWORD2>\r
-                       <KEYWORD2>cpdf_show_xy</KEYWORD2>\r
-                       <KEYWORD2>cpdf_stringwidth</KEYWORD2>\r
-                       <KEYWORD2>cpdf_stroke</KEYWORD2>\r
-                       <KEYWORD2>cpdf_text</KEYWORD2>\r
-                       <KEYWORD2>cpdf_translate</KEYWORD2>\r
-                       <KEYWORD2>crack_check</KEYWORD2>\r
-                       <KEYWORD2>crack_closedict</KEYWORD2>\r
-                       <KEYWORD2>crack_getlastmessage</KEYWORD2>\r
-                       <KEYWORD2>crack_opendict</KEYWORD2>\r
-                       <KEYWORD2>crc32</KEYWORD2>\r
-                       <KEYWORD2>create_attribute</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_cdata_section</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_comment</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_element</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_element_ns</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_entity_reference</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_function</KEYWORD2>\r
-                       <KEYWORD2>create_processing_instruction</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>create_text_node</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createattribute</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createattributens</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createcdatasection</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createcomment</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createdocument</KEYWORD2> <!-- domimplementation -->\r
-                       <KEYWORD2>createdocumentfragment</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createdocumenttype</KEYWORD2> <!-- domimplementation -->\r
-                       <KEYWORD2>createelement</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createelementns</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createentityreference</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createprocessinginstruction</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>createtextnode</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>crypt</KEYWORD2>\r
-                       <KEYWORD2>ctype_alnum</KEYWORD2>\r
-                       <KEYWORD2>ctype_alpha</KEYWORD2>\r
-                       <KEYWORD2>ctype_cntrl</KEYWORD2>\r
-                       <KEYWORD2>ctype_digit</KEYWORD2>\r
-                       <KEYWORD2>ctype_graph</KEYWORD2>\r
-                       <KEYWORD2>ctype_lower</KEYWORD2>\r
-                       <KEYWORD2>ctype_print</KEYWORD2>\r
-                       <KEYWORD2>ctype_punct</KEYWORD2>\r
-                       <KEYWORD2>ctype_space</KEYWORD2>\r
-                       <KEYWORD2>ctype_upper</KEYWORD2>\r
-                       <KEYWORD2>ctype_xdigit</KEYWORD2>\r
-                       <KEYWORD2>curl_close</KEYWORD2>\r
-                       <KEYWORD2>curl_copy_handle</KEYWORD2>\r
-                       <KEYWORD2>curl_errno</KEYWORD2>\r
-                       <KEYWORD2>curl_error</KEYWORD2>\r
-                       <KEYWORD2>curl_exec</KEYWORD2>\r
-                       <KEYWORD2>curl_getinfo</KEYWORD2>\r
-                       <KEYWORD2>curl_init</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_add_handle</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_close</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_exec</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_getcontent</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_info_read</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_init</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_remove_handle</KEYWORD2>\r
-                       <KEYWORD2>curl_multi_select</KEYWORD2>\r
-                       <KEYWORD2>curl_setopt</KEYWORD2>\r
-                       <KEYWORD2>curl_version</KEYWORD2>\r
-                       <KEYWORD2>current</KEYWORD2> <!-- arrayiterator, directoryiterator, filteriterator, recursiveiteratoriterator, simplexmliterator -->\r
-                       <KEYWORD2>cybercash_base64_decode</KEYWORD2>\r
-                       <KEYWORD2>cybercash_base64_encode</KEYWORD2>\r
-                       <KEYWORD2>cybercash_decr</KEYWORD2>\r
-                       <KEYWORD2>cybercash_encr</KEYWORD2>\r
-                       <KEYWORD2>cyrus_authenticate</KEYWORD2>\r
-                       <KEYWORD2>cyrus_bind</KEYWORD2>\r
-                       <KEYWORD2>cyrus_close</KEYWORD2>\r
-                       <KEYWORD2>cyrus_connect</KEYWORD2>\r
-                       <KEYWORD2>cyrus_query</KEYWORD2>\r
-                       <KEYWORD2>cyrus_unbind</KEYWORD2>\r
-                       <KEYWORD2>data</KEYWORD2> <!-- domprocessinginstruction -->\r
-                       <KEYWORD2>date</KEYWORD2>\r
-                       <KEYWORD2>date_sunrise</KEYWORD2>\r
-                       <KEYWORD2>date_sunset</KEYWORD2>\r
-                       <KEYWORD2>dba_close</KEYWORD2>\r
-                       <KEYWORD2>dba_delete</KEYWORD2>\r
-                       <KEYWORD2>dba_exists</KEYWORD2>\r
-                       <KEYWORD2>dba_fetch</KEYWORD2>\r
-                       <KEYWORD2>dba_firstkey</KEYWORD2>\r
-                       <KEYWORD2>dba_handlers</KEYWORD2>\r
-                       <KEYWORD2>dba_insert</KEYWORD2>\r
-                       <KEYWORD2>dba_key_split</KEYWORD2>\r
-                       <KEYWORD2>dba_list</KEYWORD2>\r
-                       <KEYWORD2>dba_nextkey</KEYWORD2>\r
-                       <KEYWORD2>dba_open</KEYWORD2>\r
-                       <KEYWORD2>dba_optimize</KEYWORD2>\r
-                       <KEYWORD2>dba_popen</KEYWORD2>\r
-                       <KEYWORD2>dba_replace</KEYWORD2>\r
-                       <KEYWORD2>dba_sync</KEYWORD2>\r
-                       <KEYWORD2>dbase_add_record</KEYWORD2>\r
-                       <KEYWORD2>dbase_close</KEYWORD2>\r
-                       <KEYWORD2>dbase_create</KEYWORD2>\r
-                       <KEYWORD2>dbase_delete_record</KEYWORD2>\r
-                       <KEYWORD2>dbase_get_header_info</KEYWORD2>\r
-                       <KEYWORD2>dbase_get_record</KEYWORD2>\r
-                       <KEYWORD2>dbase_get_record_with_names</KEYWORD2>\r
-                       <KEYWORD2>dbase_numfields</KEYWORD2>\r
-                       <KEYWORD2>dbase_numrecords</KEYWORD2>\r
-                       <KEYWORD2>dbase_open</KEYWORD2>\r
-                       <KEYWORD2>dbase_pack</KEYWORD2>\r
-                       <KEYWORD2>dbase_replace_record</KEYWORD2>\r
-                       <KEYWORD2>dblist</KEYWORD2>\r
-                       <KEYWORD2>dbmclose</KEYWORD2>\r
-                       <KEYWORD2>dbmdelete</KEYWORD2>\r
-                       <KEYWORD2>dbmexists</KEYWORD2>\r
-                       <KEYWORD2>dbmfetch</KEYWORD2>\r
-                       <KEYWORD2>dbmfirstkey</KEYWORD2>\r
-                       <KEYWORD2>dbminsert</KEYWORD2>\r
-                       <KEYWORD2>dbmnextkey</KEYWORD2>\r
-                       <KEYWORD2>dbmopen</KEYWORD2>\r
-                       <KEYWORD2>dbmreplace</KEYWORD2>\r
-                       <KEYWORD2>dbplus_add</KEYWORD2>\r
-                       <KEYWORD2>dbplus_aql</KEYWORD2>\r
-                       <KEYWORD2>dbplus_chdir</KEYWORD2>\r
-                       <KEYWORD2>dbplus_close</KEYWORD2>\r
-                       <KEYWORD2>dbplus_curr</KEYWORD2>\r
-                       <KEYWORD2>dbplus_errcode</KEYWORD2>\r
-                       <KEYWORD2>dbplus_errno</KEYWORD2>\r
-                       <KEYWORD2>dbplus_find</KEYWORD2>\r
-                       <KEYWORD2>dbplus_first</KEYWORD2>\r
-                       <KEYWORD2>dbplus_flush</KEYWORD2>\r
-                       <KEYWORD2>dbplus_freealllocks</KEYWORD2>\r
-                       <KEYWORD2>dbplus_freelock</KEYWORD2>\r
-                       <KEYWORD2>dbplus_freerlocks</KEYWORD2>\r
-                       <KEYWORD2>dbplus_getlock</KEYWORD2>\r
-                       <KEYWORD2>dbplus_getunique</KEYWORD2>\r
-                       <KEYWORD2>dbplus_info</KEYWORD2>\r
-                       <KEYWORD2>dbplus_last</KEYWORD2>\r
-                       <KEYWORD2>dbplus_lockrel</KEYWORD2>\r
-                       <KEYWORD2>dbplus_next</KEYWORD2>\r
-                       <KEYWORD2>dbplus_open</KEYWORD2>\r
-                       <KEYWORD2>dbplus_prev</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rchperm</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rcreate</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rcrtexact</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rcrtlike</KEYWORD2>\r
-                       <KEYWORD2>dbplus_resolve</KEYWORD2>\r
-                       <KEYWORD2>dbplus_restorepos</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rkeys</KEYWORD2>\r
-                       <KEYWORD2>dbplus_ropen</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rquery</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rrename</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rsecindex</KEYWORD2>\r
-                       <KEYWORD2>dbplus_runlink</KEYWORD2>\r
-                       <KEYWORD2>dbplus_rzap</KEYWORD2>\r
-                       <KEYWORD2>dbplus_savepos</KEYWORD2>\r
-                       <KEYWORD2>dbplus_setindex</KEYWORD2>\r
-                       <KEYWORD2>dbplus_setindexbynumber</KEYWORD2>\r
-                       <KEYWORD2>dbplus_sql</KEYWORD2>\r
-                       <KEYWORD2>dbplus_tcl</KEYWORD2>\r
-                       <KEYWORD2>dbplus_tremove</KEYWORD2>\r
-                       <KEYWORD2>dbplus_undo</KEYWORD2>\r
-                       <KEYWORD2>dbplus_undoprepare</KEYWORD2>\r
-                       <KEYWORD2>dbplus_unlockrel</KEYWORD2>\r
-                       <KEYWORD2>dbplus_unselect</KEYWORD2>\r
-                       <KEYWORD2>dbplus_update</KEYWORD2>\r
-                       <KEYWORD2>dbplus_xlockrel</KEYWORD2>\r
-                       <KEYWORD2>dbplus_xunlockrel</KEYWORD2>\r
-                       <KEYWORD2>dbstat</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>dbx_close</KEYWORD2>\r
-                       <KEYWORD2>dbx_compare</KEYWORD2>\r
-                       <KEYWORD2>dbx_connect</KEYWORD2>\r
-                       <KEYWORD2>dbx_error</KEYWORD2>\r
-                       <KEYWORD2>dbx_escape_string</KEYWORD2>\r
-                       <KEYWORD2>dbx_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>dbx_query</KEYWORD2>\r
-                       <KEYWORD2>dbx_sort</KEYWORD2>\r
-                       <KEYWORD2>dcgettext</KEYWORD2>\r
-                       <KEYWORD2>dcngettext</KEYWORD2>\r
-                       <KEYWORD2>dcstat</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>deaggregate</KEYWORD2>\r
-                       <KEYWORD2>debug_backtrace</KEYWORD2>\r
-                       <KEYWORD2>debug_print_backtrace</KEYWORD2>\r
-                       <KEYWORD2>debug_zval_dump</KEYWORD2>\r
-                       <KEYWORD2>debugger_off</KEYWORD2>\r
-                       <KEYWORD2>debugger_on</KEYWORD2>\r
-                       <KEYWORD2>decbin</KEYWORD2>\r
-                       <KEYWORD2>dechex</KEYWORD2>\r
-                       <KEYWORD2>decoct</KEYWORD2>\r
-                       <KEYWORD2>decrement</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>define</KEYWORD2>\r
-                       <KEYWORD2>define_syslog_variables</KEYWORD2>\r
-                       <KEYWORD2>defined</KEYWORD2>\r
-                       <KEYWORD2>deg2rad</KEYWORD2>\r
-                       <KEYWORD2>delete</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>deletedata</KEYWORD2> <!-- domcharacterdata -->\r
-                       <KEYWORD2>description</KEYWORD2> <!-- hw_api_reason -->\r
-                       <KEYWORD2>dgettext</KEYWORD2>\r
-                       <KEYWORD2>dio_close</KEYWORD2>\r
-                       <KEYWORD2>dio_fcntl</KEYWORD2>\r
-                       <KEYWORD2>dio_open</KEYWORD2>\r
-                       <KEYWORD2>dio_read</KEYWORD2>\r
-                       <KEYWORD2>dio_seek</KEYWORD2>\r
-                       <KEYWORD2>dio_stat</KEYWORD2>\r
-                       <KEYWORD2>dio_tcsetattr</KEYWORD2>\r
-                       <KEYWORD2>dio_truncate</KEYWORD2>\r
-                       <KEYWORD2>dio_write</KEYWORD2>\r
-                       <KEYWORD2>dir</KEYWORD2>\r
-                       <KEYWORD2>dirname</KEYWORD2>\r
-                       <KEYWORD2>disk_free_space</KEYWORD2>\r
-                       <KEYWORD2>disk_total_space</KEYWORD2>\r
-                       <KEYWORD2>diskfreespace</KEYWORD2>\r
-                       <KEYWORD2>dl</KEYWORD2>\r
-                       <KEYWORD2>dngettext</KEYWORD2>\r
-                       <KEYWORD2>dns_check_record</KEYWORD2>\r
-                       <KEYWORD2>dns_get_mx</KEYWORD2>\r
-                       <KEYWORD2>dns_get_record</KEYWORD2>\r
-                       <KEYWORD2>doctype</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>document_element</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>dom_import_simplexml</KEYWORD2>\r
-                       <KEYWORD2>domxml_new_doc</KEYWORD2>\r
-                       <KEYWORD2>domxml_open_file</KEYWORD2>\r
-                       <KEYWORD2>domxml_open_mem</KEYWORD2>\r
-                       <KEYWORD2>domxml_version</KEYWORD2>\r
-                       <KEYWORD2>domxml_xmltree</KEYWORD2>\r
-                       <KEYWORD2>domxml_xslt_stylesheet</KEYWORD2>\r
-                       <KEYWORD2>domxml_xslt_stylesheet_doc</KEYWORD2>\r
-                       <KEYWORD2>domxml_xslt_stylesheet_file</KEYWORD2>\r
-                       <KEYWORD2>dotnet</KEYWORD2>\r
-                       <KEYWORD2>dotnet_load</KEYWORD2>\r
-                       <KEYWORD2>doubleval</KEYWORD2>\r
-                       <KEYWORD2>drawcurve</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>drawcurveto</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>drawline</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>drawlineto</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>dstanchors</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>dstofsrcanchors</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>dump_file</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>dump_mem</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>dump_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>each</KEYWORD2>\r
-                       <KEYWORD2>easter_date</KEYWORD2>\r
-                       <KEYWORD2>easter_days</KEYWORD2>\r
-                       <KEYWORD2>ebcdic2ascii</KEYWORD2>\r
-                       <KEYWORD2>end</KEYWORD2>\r
-                       <KEYWORD2>entities</KEYWORD2> <!-- domdocumenttype -->\r
-                       <KEYWORD2>eof</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>erase</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>ereg</KEYWORD2>\r
-                       <KEYWORD2>ereg_replace</KEYWORD2>\r
-                       <KEYWORD2>eregi</KEYWORD2>\r
-                       <KEYWORD2>eregi_replace</KEYWORD2>\r
-                       <KEYWORD2>error_log</KEYWORD2>\r
-                       <KEYWORD2>error_reporting</KEYWORD2>\r
-                       <KEYWORD2>errorcode</KEYWORD2> <!-- pdo, pdostatement -->\r
-                       <KEYWORD2>errorinfo</KEYWORD2> <!-- pdo, pdostatement -->\r
-                       <KEYWORD2>escapeshellarg</KEYWORD2>\r
-                       <KEYWORD2>escapeshellcmd</KEYWORD2>\r
-                       <KEYWORD2>exec</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>execute</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>exif_imagetype</KEYWORD2>\r
-                       <KEYWORD2>exif_read_data</KEYWORD2>\r
-                       <KEYWORD2>exif_tagname</KEYWORD2>\r
-                       <KEYWORD2>exif_thumbnail</KEYWORD2>\r
-                       <KEYWORD2>exp</KEYWORD2>\r
-                       <KEYWORD2>explode</KEYWORD2>\r
-                       <KEYWORD2>expm1</KEYWORD2>\r
-                       <KEYWORD2>export</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>extension_loaded</KEYWORD2>\r
-                       <KEYWORD2>extract</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>ezmlm_hash</KEYWORD2>\r
-                       <KEYWORD2>fam_cancel_monitor</KEYWORD2>\r
-                       <KEYWORD2>fam_close</KEYWORD2>\r
-                       <KEYWORD2>fam_monitor_collection</KEYWORD2>\r
-                       <KEYWORD2>fam_monitor_directory</KEYWORD2>\r
-                       <KEYWORD2>fam_monitor_file</KEYWORD2>\r
-                       <KEYWORD2>fam_next_event</KEYWORD2>\r
-                       <KEYWORD2>fam_open</KEYWORD2>\r
-                       <KEYWORD2>fam_pending</KEYWORD2>\r
-                       <KEYWORD2>fam_resume_monitor</KEYWORD2>\r
-                       <KEYWORD2>fam_suspend_monitor</KEYWORD2>\r
-                       <KEYWORD2>fbsql_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>fbsql_autocommit</KEYWORD2>\r
-                       <KEYWORD2>fbsql_blob_size</KEYWORD2>\r
-                       <KEYWORD2>fbsql_change_user</KEYWORD2>\r
-                       <KEYWORD2>fbsql_clob_size</KEYWORD2>\r
-                       <KEYWORD2>fbsql_close</KEYWORD2>\r
-                       <KEYWORD2>fbsql_commit</KEYWORD2>\r
-                       <KEYWORD2>fbsql_connect</KEYWORD2>\r
-                       <KEYWORD2>fbsql_create_blob</KEYWORD2>\r
-                       <KEYWORD2>fbsql_create_clob</KEYWORD2>\r
-                       <KEYWORD2>fbsql_create_db</KEYWORD2>\r
-                       <KEYWORD2>fbsql_data_seek</KEYWORD2>\r
-                       <KEYWORD2>fbsql_database</KEYWORD2>\r
-                       <KEYWORD2>fbsql_database_password</KEYWORD2>\r
-                       <KEYWORD2>fbsql_db_query</KEYWORD2>\r
-                       <KEYWORD2>fbsql_db_status</KEYWORD2>\r
-                       <KEYWORD2>fbsql_drop_db</KEYWORD2>\r
-                       <KEYWORD2>fbsql_errno</KEYWORD2>\r
-                       <KEYWORD2>fbsql_error</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_lengths</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>fbsql_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_flags</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_len</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_name</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_seek</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_table</KEYWORD2>\r
-                       <KEYWORD2>fbsql_field_type</KEYWORD2>\r
-                       <KEYWORD2>fbsql_free_result</KEYWORD2>\r
-                       <KEYWORD2>fbsql_get_autostart_info</KEYWORD2>\r
-                       <KEYWORD2>fbsql_hostname</KEYWORD2>\r
-                       <KEYWORD2>fbsql_insert_id</KEYWORD2>\r
-                       <KEYWORD2>fbsql_list_dbs</KEYWORD2>\r
-                       <KEYWORD2>fbsql_list_fields</KEYWORD2>\r
-                       <KEYWORD2>fbsql_list_tables</KEYWORD2>\r
-                       <KEYWORD2>fbsql_next_result</KEYWORD2>\r
-                       <KEYWORD2>fbsql_num_fields</KEYWORD2>\r
-                       <KEYWORD2>fbsql_num_rows</KEYWORD2>\r
-                       <KEYWORD2>fbsql_password</KEYWORD2>\r
-                       <KEYWORD2>fbsql_pconnect</KEYWORD2>\r
-                       <KEYWORD2>fbsql_query</KEYWORD2>\r
-                       <KEYWORD2>fbsql_read_blob</KEYWORD2>\r
-                       <KEYWORD2>fbsql_read_clob</KEYWORD2>\r
-                       <KEYWORD2>fbsql_result</KEYWORD2>\r
-                       <KEYWORD2>fbsql_rollback</KEYWORD2>\r
-                       <KEYWORD2>fbsql_select_db</KEYWORD2>\r
-                       <KEYWORD2>fbsql_set_lob_mode</KEYWORD2>\r
-                       <KEYWORD2>fbsql_set_password</KEYWORD2>\r
-                       <KEYWORD2>fbsql_set_transaction</KEYWORD2>\r
-                       <KEYWORD2>fbsql_start_db</KEYWORD2>\r
-                       <KEYWORD2>fbsql_stop_db</KEYWORD2>\r
-                       <KEYWORD2>fbsql_tablename</KEYWORD2>\r
-                       <KEYWORD2>fbsql_username</KEYWORD2>\r
-                       <KEYWORD2>fbsql_warnings</KEYWORD2>\r
-                       <KEYWORD2>fclose</KEYWORD2>\r
-                       <KEYWORD2>fdf_add_doc_javascript</KEYWORD2>\r
-                       <KEYWORD2>fdf_add_template</KEYWORD2>\r
-                       <KEYWORD2>fdf_close</KEYWORD2>\r
-                       <KEYWORD2>fdf_create</KEYWORD2>\r
-                       <KEYWORD2>fdf_enum_values</KEYWORD2>\r
-                       <KEYWORD2>fdf_errno</KEYWORD2>\r
-                       <KEYWORD2>fdf_error</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_ap</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_attachment</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_encoding</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_file</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_flags</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_opt</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_status</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_value</KEYWORD2>\r
-                       <KEYWORD2>fdf_get_version</KEYWORD2>\r
-                       <KEYWORD2>fdf_header</KEYWORD2>\r
-                       <KEYWORD2>fdf_next_field_name</KEYWORD2>\r
-                       <KEYWORD2>fdf_open</KEYWORD2>\r
-                       <KEYWORD2>fdf_open_string</KEYWORD2>\r
-                       <KEYWORD2>fdf_remove_item</KEYWORD2>\r
-                       <KEYWORD2>fdf_save</KEYWORD2>\r
-                       <KEYWORD2>fdf_save_string</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_ap</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_encoding</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_file</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_flags</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_javascript_action</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_on_import_javascript</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_opt</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_status</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_submit_form_action</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_target_frame</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_value</KEYWORD2>\r
-                       <KEYWORD2>fdf_set_version</KEYWORD2>\r
-                       <KEYWORD2>feof</KEYWORD2>\r
-                       <KEYWORD2>fetch</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>fetchall</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>fetchsingle</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>fflush</KEYWORD2>\r
-                       <KEYWORD2>fgetc</KEYWORD2>\r
-                       <KEYWORD2>fgetcsv</KEYWORD2>\r
-                       <KEYWORD2>fgets</KEYWORD2>\r
-                       <KEYWORD2>fgetss</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>file_exists</KEYWORD2>\r
-                       <KEYWORD2>file_get_contents</KEYWORD2>\r
-                       <KEYWORD2>file_put_contents</KEYWORD2>\r
-                       <KEYWORD2>fileatime</KEYWORD2>\r
-                       <KEYWORD2>filectime</KEYWORD2>\r
-                       <KEYWORD2>filegroup</KEYWORD2>\r
-                       <KEYWORD2>fileinode</KEYWORD2>\r
-                       <KEYWORD2>filemtime</KEYWORD2>\r
-                       <KEYWORD2>fileowner</KEYWORD2>\r
-                       <KEYWORD2>fileperms</KEYWORD2>\r
-                       <KEYWORD2>filepro</KEYWORD2>\r
-                       <KEYWORD2>filepro_fieldcount</KEYWORD2>\r
-                       <KEYWORD2>filepro_fieldname</KEYWORD2>\r
-                       <KEYWORD2>filepro_fieldtype</KEYWORD2>\r
-                       <KEYWORD2>filepro_fieldwidth</KEYWORD2>\r
-                       <KEYWORD2>filepro_retrieve</KEYWORD2>\r
-                       <KEYWORD2>filepro_rowcount</KEYWORD2>\r
-                       <KEYWORD2>filesize</KEYWORD2>\r
-                       <KEYWORD2>filetype</KEYWORD2>\r
-                       <KEYWORD2>find</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>first_child</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>floatval</KEYWORD2>\r
-                       <KEYWORD2>flock</KEYWORD2>\r
-                       <KEYWORD2>floor</KEYWORD2>\r
-                       <KEYWORD2>flush</KEYWORD2> <!-- lob, memcache -->\r
-                       <KEYWORD2>fmod</KEYWORD2>\r
-                       <KEYWORD2>fnmatch</KEYWORD2>\r
-                       <KEYWORD2>fopen</KEYWORD2>\r
-                       <KEYWORD2>fpassthru</KEYWORD2>\r
-                       <KEYWORD2>fprintf</KEYWORD2>\r
-                       <KEYWORD2>fputcsv</KEYWORD2>\r
-                       <KEYWORD2>fputs</KEYWORD2>\r
-                       <KEYWORD2>fread</KEYWORD2>\r
-                       <KEYWORD2>free</KEYWORD2> <!-- collection, descriptor -->\r
-                       <KEYWORD2>frenchtojd</KEYWORD2>\r
-                       <KEYWORD2>fribidi_log2vis</KEYWORD2>\r
-                       <KEYWORD2>fscanf</KEYWORD2>\r
-                       <KEYWORD2>fseek</KEYWORD2>\r
-                       <KEYWORD2>fsockopen</KEYWORD2>\r
-                       <KEYWORD2>fstat</KEYWORD2>\r
-                       <KEYWORD2>ftell</KEYWORD2>\r
-                       <KEYWORD2>ftok</KEYWORD2>\r
-                       <KEYWORD2>ftp_alloc</KEYWORD2>\r
-                       <KEYWORD2>ftp_cdup</KEYWORD2>\r
-                       <KEYWORD2>ftp_chdir</KEYWORD2>\r
-                       <KEYWORD2>ftp_chmod</KEYWORD2>\r
-                       <KEYWORD2>ftp_close</KEYWORD2>\r
-                       <KEYWORD2>ftp_connect</KEYWORD2>\r
-                       <KEYWORD2>ftp_delete</KEYWORD2>\r
-                       <KEYWORD2>ftp_exec</KEYWORD2>\r
-                       <KEYWORD2>ftp_fget</KEYWORD2>\r
-                       <KEYWORD2>ftp_fput</KEYWORD2>\r
-                       <KEYWORD2>ftp_get</KEYWORD2>\r
-                       <KEYWORD2>ftp_get_option</KEYWORD2>\r
-                       <KEYWORD2>ftp_login</KEYWORD2>\r
-                       <KEYWORD2>ftp_mdtm</KEYWORD2>\r
-                       <KEYWORD2>ftp_mkdir</KEYWORD2>\r
-                       <KEYWORD2>ftp_nb_continue</KEYWORD2>\r
-                       <KEYWORD2>ftp_nb_fget</KEYWORD2>\r
-                       <KEYWORD2>ftp_nb_fput</KEYWORD2>\r
-                       <KEYWORD2>ftp_nb_get</KEYWORD2>\r
-                       <KEYWORD2>ftp_nb_put</KEYWORD2>\r
-                       <KEYWORD2>ftp_nlist</KEYWORD2>\r
-                       <KEYWORD2>ftp_pasv</KEYWORD2>\r
-                       <KEYWORD2>ftp_put</KEYWORD2>\r
-                       <KEYWORD2>ftp_pwd</KEYWORD2>\r
-                       <KEYWORD2>ftp_quit</KEYWORD2>\r
-                       <KEYWORD2>ftp_raw</KEYWORD2>\r
-                       <KEYWORD2>ftp_rawlist</KEYWORD2>\r
-                       <KEYWORD2>ftp_rename</KEYWORD2>\r
-                       <KEYWORD2>ftp_rmdir</KEYWORD2>\r
-                       <KEYWORD2>ftp_set_option</KEYWORD2>\r
-                       <KEYWORD2>ftp_site</KEYWORD2>\r
-                       <KEYWORD2>ftp_size</KEYWORD2>\r
-                       <KEYWORD2>ftp_ssl_connect</KEYWORD2>\r
-                       <KEYWORD2>ftp_systype</KEYWORD2>\r
-                       <KEYWORD2>ftruncate</KEYWORD2>\r
-                       <KEYWORD2>ftstat</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>func_get_arg</KEYWORD2>\r
-                       <KEYWORD2>func_get_args</KEYWORD2>\r
-                       <KEYWORD2>func_num_args</KEYWORD2>\r
-                       <KEYWORD2>function_exists</KEYWORD2>\r
-                       <KEYWORD2>fwrite</KEYWORD2>\r
-                       <KEYWORD2>gd_info</KEYWORD2>\r
-                       <KEYWORD2>get</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>get_attr</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>get_attribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>get_attribute_node</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>get_browser</KEYWORD2>\r
-                       <KEYWORD2>get_cfg_var</KEYWORD2>\r
-                       <KEYWORD2>get_class</KEYWORD2>\r
-                       <KEYWORD2>get_class_methods</KEYWORD2>\r
-                       <KEYWORD2>get_class_vars</KEYWORD2>\r
-                       <KEYWORD2>get_content</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>get_current_user</KEYWORD2>\r
-                       <KEYWORD2>get_declared_classes</KEYWORD2>\r
-                       <KEYWORD2>get_declared_interfaces</KEYWORD2>\r
-                       <KEYWORD2>get_defined_constants</KEYWORD2>\r
-                       <KEYWORD2>get_defined_functions</KEYWORD2>\r
-                       <KEYWORD2>get_defined_vars</KEYWORD2>\r
-                       <KEYWORD2>get_element_by_id</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>get_elements_by_tagname</KEYWORD2> <!-- domdocument, domelement -->\r
-                       <KEYWORD2>get_extension_funcs</KEYWORD2>\r
-                       <KEYWORD2>get_headers</KEYWORD2>\r
-                       <KEYWORD2>get_html_translation_table</KEYWORD2>\r
-                       <KEYWORD2>get_include_path</KEYWORD2>\r
-                       <KEYWORD2>get_included_files</KEYWORD2>\r
-                       <KEYWORD2>get_loaded_extensions</KEYWORD2>\r
-                       <KEYWORD2>get_magic_quotes_gpc</KEYWORD2>\r
-                       <KEYWORD2>get_magic_quotes_runtime</KEYWORD2>\r
-                       <KEYWORD2>get_meta_tags</KEYWORD2>\r
-                       <KEYWORD2>get_nodes</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>get_object_vars</KEYWORD2>\r
-                       <KEYWORD2>get_parent_class</KEYWORD2>\r
-                       <KEYWORD2>get_required_files</KEYWORD2>\r
-                       <KEYWORD2>get_resource_type</KEYWORD2>\r
-                       <KEYWORD2>getallheaders</KEYWORD2>\r
-                       <KEYWORD2>getatime</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getattr</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getattribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>getattributenode</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>getattributenodens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>getattributens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>getbuffering</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>getchildren</KEYWORD2> <!-- cachingrecursiveiterator, directoryiterator, parentiterator, recursivedirectoryiterator, simplexmliterator -->\r
-                       <KEYWORD2>getcrc</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getctime</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getcwd</KEYWORD2>\r
-                       <KEYWORD2>getdate</KEYWORD2>\r
-                       <KEYWORD2>getdepth</KEYWORD2> <!-- recursiveiteratoriterator -->\r
-                       <KEYWORD2>getelem</KEYWORD2> <!-- collection -->\r
-                       <KEYWORD2>getelementbyid</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>getelementsbytagname</KEYWORD2> <!-- domdocument, domelement -->\r
-                       <KEYWORD2>getelementsbytagnamens</KEYWORD2> <!-- domdocument, domelement -->\r
-                       <KEYWORD2>getenv</KEYWORD2>\r
-                       <KEYWORD2>getfilename</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getfiletime</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getfunctions</KEYWORD2> <!-- soapserver -->\r
-                       <KEYWORD2>getgroup</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getheight</KEYWORD2> <!-- swfbitmap -->\r
-                       <KEYWORD2>gethostbyaddr</KEYWORD2>\r
-                       <KEYWORD2>gethostbyname</KEYWORD2>\r
-                       <KEYWORD2>gethostbynamel</KEYWORD2>\r
-                       <KEYWORD2>gethostos</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getimagesize</KEYWORD2>\r
-                       <KEYWORD2>getinneriterator</KEYWORD2> <!-- filteriterator -->\r
-                       <KEYWORD2>getinode</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getiterator</KEYWORD2> <!-- arrayobject -->\r
-                       <KEYWORD2>getlastmod</KEYWORD2>\r
-                       <KEYWORD2>getmethod</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getmtime</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getmxrr</KEYWORD2>\r
-                       <KEYWORD2>getmygid</KEYWORD2>\r
-                       <KEYWORD2>getmyinode</KEYWORD2>\r
-                       <KEYWORD2>getmypid</KEYWORD2>\r
-                       <KEYWORD2>getmyuid</KEYWORD2>\r
-                       <KEYWORD2>getname</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getnameditem</KEYWORD2> <!-- domnamednodemap -->\r
-                       <KEYWORD2>getnameditemns</KEYWORD2> <!-- domnamednodemap -->\r
-                       <KEYWORD2>getopt</KEYWORD2>\r
-                       <KEYWORD2>getowner</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getpackedsize</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getpath</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getpathname</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getperms</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getposition</KEYWORD2> <!-- limititerator -->\r
-                       <KEYWORD2>getprotobyname</KEYWORD2>\r
-                       <KEYWORD2>getprotobynumber</KEYWORD2>\r
-                       <KEYWORD2>getrandmax</KEYWORD2>\r
-                       <KEYWORD2>getrusage</KEYWORD2>\r
-                       <KEYWORD2>getservbyname</KEYWORD2>\r
-                       <KEYWORD2>getservbyport</KEYWORD2>\r
-                       <KEYWORD2>getshape1</KEYWORD2> <!-- swfmorph -->\r
-                       <KEYWORD2>getshape2</KEYWORD2> <!-- swfmorph -->\r
-                       <KEYWORD2>getsize</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getstats</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>getsubiterator</KEYWORD2> <!-- recursiveiteratoriterator -->\r
-                       <KEYWORD2>gettext</KEYWORD2>\r
-                       <KEYWORD2>gettimeofday</KEYWORD2>\r
-                       <KEYWORD2>gettype</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>getunpackedsize</KEYWORD2> <!-- rar -->\r
-                       <KEYWORD2>getversion</KEYWORD2> <!-- memcache, rar -->\r
-                       <KEYWORD2>getwidth</KEYWORD2> <!-- swfbitmap, swffont, swftext -->\r
-                       <KEYWORD2>glob</KEYWORD2>\r
-                       <KEYWORD2>gmdate</KEYWORD2>\r
-                       <KEYWORD2>gmmktime</KEYWORD2>\r
-                       <KEYWORD2>gmp_abs</KEYWORD2>\r
-                       <KEYWORD2>gmp_add</KEYWORD2>\r
-                       <KEYWORD2>gmp_and</KEYWORD2>\r
-                       <KEYWORD2>gmp_clrbit</KEYWORD2>\r
-                       <KEYWORD2>gmp_cmp</KEYWORD2>\r
-                       <KEYWORD2>gmp_com</KEYWORD2>\r
-                       <KEYWORD2>gmp_div</KEYWORD2>\r
-                       <KEYWORD2>gmp_div_q</KEYWORD2>\r
-                       <KEYWORD2>gmp_div_qr</KEYWORD2>\r
-                       <KEYWORD2>gmp_div_r</KEYWORD2>\r
-                       <KEYWORD2>gmp_divexact</KEYWORD2>\r
-                       <KEYWORD2>gmp_fact</KEYWORD2>\r
-                       <KEYWORD2>gmp_gcd</KEYWORD2>\r
-                       <KEYWORD2>gmp_gcdext</KEYWORD2>\r
-                       <KEYWORD2>gmp_hamdist</KEYWORD2>\r
-                       <KEYWORD2>gmp_init</KEYWORD2>\r
-                       <KEYWORD2>gmp_intval</KEYWORD2>\r
-                       <KEYWORD2>gmp_invert</KEYWORD2>\r
-                       <KEYWORD2>gmp_jacobi</KEYWORD2>\r
-                       <KEYWORD2>gmp_legendre</KEYWORD2>\r
-                       <KEYWORD2>gmp_mod</KEYWORD2>\r
-                       <KEYWORD2>gmp_mul</KEYWORD2>\r
-                       <KEYWORD2>gmp_neg</KEYWORD2>\r
-                       <KEYWORD2>gmp_or</KEYWORD2>\r
-                       <KEYWORD2>gmp_perfect_square</KEYWORD2>\r
-                       <KEYWORD2>gmp_popcount</KEYWORD2>\r
-                       <KEYWORD2>gmp_pow</KEYWORD2>\r
-                       <KEYWORD2>gmp_powm</KEYWORD2>\r
-                       <KEYWORD2>gmp_prob_prime</KEYWORD2>\r
-                       <KEYWORD2>gmp_random</KEYWORD2>\r
-                       <KEYWORD2>gmp_scan0</KEYWORD2>\r
-                       <KEYWORD2>gmp_scan1</KEYWORD2>\r
-                       <KEYWORD2>gmp_setbit</KEYWORD2>\r
-                       <KEYWORD2>gmp_sign</KEYWORD2>\r
-                       <KEYWORD2>gmp_sqrt</KEYWORD2>\r
-                       <KEYWORD2>gmp_sqrtrem</KEYWORD2>\r
-                       <KEYWORD2>gmp_strval</KEYWORD2>\r
-                       <KEYWORD2>gmp_sub</KEYWORD2>\r
-                       <KEYWORD2>gmp_xor</KEYWORD2>\r
-                       <KEYWORD2>gmstrftime</KEYWORD2>\r
-                       <KEYWORD2>gregoriantojd</KEYWORD2>\r
-                       <KEYWORD2>gzclose</KEYWORD2>\r
-                       <KEYWORD2>gzcompress</KEYWORD2>\r
-                       <KEYWORD2>gzdeflate</KEYWORD2>\r
-                       <KEYWORD2>gzencode</KEYWORD2>\r
-                       <KEYWORD2>gzeof</KEYWORD2>\r
-                       <KEYWORD2>gzfile</KEYWORD2>\r
-                       <KEYWORD2>gzgetc</KEYWORD2>\r
-                       <KEYWORD2>gzgets</KEYWORD2>\r
-                       <KEYWORD2>gzgetss</KEYWORD2>\r
-                       <KEYWORD2>gzinflate</KEYWORD2>\r
-                       <KEYWORD2>gzopen</KEYWORD2>\r
-                       <KEYWORD2>gzpassthru</KEYWORD2>\r
-                       <KEYWORD2>gzputs</KEYWORD2>\r
-                       <KEYWORD2>gzread</KEYWORD2>\r
-                       <KEYWORD2>gzrewind</KEYWORD2>\r
-                       <KEYWORD2>gzseek</KEYWORD2>\r
-                       <KEYWORD2>gztell</KEYWORD2>\r
-                       <KEYWORD2>gzuncompress</KEYWORD2>\r
-                       <KEYWORD2>gzwrite</KEYWORD2>\r
-                       <KEYWORD2>handle</KEYWORD2> <!-- soapserver -->\r
-                       <KEYWORD2>has_attribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>has_attributes</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>has_child_nodes</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>hasattribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>hasattributens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>hasattributes</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>haschildnodes</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>haschildren</KEYWORD2> <!-- cachingrecursiveiterator, parentiterator, recursivedirectoryiterator, simplexmliterator, tidy_node -->\r
-                       <KEYWORD2>hasfeature</KEYWORD2> <!-- domimplementation -->\r
-                       <KEYWORD2>hasnext</KEYWORD2> <!-- cachingiterator -->\r
-                       <KEYWORD2>hassiblings</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>header</KEYWORD2>\r
-                       <KEYWORD2>headers_list</KEYWORD2>\r
-                       <KEYWORD2>headers_sent</KEYWORD2>\r
-                       <KEYWORD2>hebrev</KEYWORD2>\r
-                       <KEYWORD2>hebrevc</KEYWORD2>\r
-                       <KEYWORD2>hexdec</KEYWORD2>\r
-                       <KEYWORD2>highlight_file</KEYWORD2>\r
-                       <KEYWORD2>highlight_string</KEYWORD2>\r
-                       <KEYWORD2>html_dump_mem</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>html_entity_decode</KEYWORD2>\r
-                       <KEYWORD2>htmlentities</KEYWORD2>\r
-                       <KEYWORD2>htmlspecialchars</KEYWORD2>\r
-                       <KEYWORD2>http_build_query</KEYWORD2>\r
-                       <KEYWORD2>hw_array2objrec</KEYWORD2>\r
-                       <KEYWORD2>hw_changeobject</KEYWORD2>\r
-                       <KEYWORD2>hw_children</KEYWORD2>\r
-                       <KEYWORD2>hw_childrenobj</KEYWORD2>\r
-                       <KEYWORD2>hw_close</KEYWORD2>\r
-                       <KEYWORD2>hw_connect</KEYWORD2>\r
-                       <KEYWORD2>hw_connection_info</KEYWORD2>\r
-                       <KEYWORD2>hw_cp</KEYWORD2>\r
-                       <KEYWORD2>hw_deleteobject</KEYWORD2>\r
-                       <KEYWORD2>hw_docbyanchor</KEYWORD2>\r
-                       <KEYWORD2>hw_docbyanchorobj</KEYWORD2>\r
-                       <KEYWORD2>hw_document_attributes</KEYWORD2>\r
-                       <KEYWORD2>hw_document_bodytag</KEYWORD2>\r
-                       <KEYWORD2>hw_document_content</KEYWORD2>\r
-                       <KEYWORD2>hw_document_setcontent</KEYWORD2>\r
-                       <KEYWORD2>hw_document_size</KEYWORD2>\r
-                       <KEYWORD2>hw_dummy</KEYWORD2>\r
-                       <KEYWORD2>hw_edittext</KEYWORD2>\r
-                       <KEYWORD2>hw_error</KEYWORD2>\r
-                       <KEYWORD2>hw_errormsg</KEYWORD2>\r
-                       <KEYWORD2>hw_free_document</KEYWORD2>\r
-                       <KEYWORD2>hw_getanchors</KEYWORD2>\r
-                       <KEYWORD2>hw_getanchorsobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getandlock</KEYWORD2>\r
-                       <KEYWORD2>hw_getchildcoll</KEYWORD2>\r
-                       <KEYWORD2>hw_getchildcollobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getchilddoccoll</KEYWORD2>\r
-                       <KEYWORD2>hw_getchilddoccollobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getobject</KEYWORD2>\r
-                       <KEYWORD2>hw_getobjectbyquery</KEYWORD2>\r
-                       <KEYWORD2>hw_getobjectbyquerycoll</KEYWORD2>\r
-                       <KEYWORD2>hw_getobjectbyquerycollobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getobjectbyqueryobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getparents</KEYWORD2>\r
-                       <KEYWORD2>hw_getparentsobj</KEYWORD2>\r
-                       <KEYWORD2>hw_getrellink</KEYWORD2>\r
-                       <KEYWORD2>hw_getremote</KEYWORD2>\r
-                       <KEYWORD2>hw_getremotechildren</KEYWORD2>\r
-                       <KEYWORD2>hw_getsrcbydestobj</KEYWORD2>\r
-                       <KEYWORD2>hw_gettext</KEYWORD2>\r
-                       <KEYWORD2>hw_getusername</KEYWORD2>\r
-                       <KEYWORD2>hw_identify</KEYWORD2>\r
-                       <KEYWORD2>hw_incollections</KEYWORD2>\r
-                       <KEYWORD2>hw_info</KEYWORD2>\r
-                       <KEYWORD2>hw_inscoll</KEYWORD2>\r
-                       <KEYWORD2>hw_insdoc</KEYWORD2>\r
-                       <KEYWORD2>hw_insertanchors</KEYWORD2>\r
-                       <KEYWORD2>hw_insertdocument</KEYWORD2>\r
-                       <KEYWORD2>hw_insertobject</KEYWORD2>\r
-                       <KEYWORD2>hw_mapid</KEYWORD2>\r
-                       <KEYWORD2>hw_modifyobject</KEYWORD2>\r
-                       <KEYWORD2>hw_mv</KEYWORD2>\r
-                       <KEYWORD2>hw_new_document</KEYWORD2>\r
-                       <KEYWORD2>hw_objrec2array</KEYWORD2>\r
-                       <KEYWORD2>hw_output_document</KEYWORD2>\r
-                       <KEYWORD2>hw_pconnect</KEYWORD2>\r
-                       <KEYWORD2>hw_pipedocument</KEYWORD2>\r
-                       <KEYWORD2>hw_root</KEYWORD2>\r
-                       <KEYWORD2>hw_setlinkroot</KEYWORD2>\r
-                       <KEYWORD2>hw_stat</KEYWORD2>\r
-                       <KEYWORD2>hw_unlock</KEYWORD2>\r
-                       <KEYWORD2>hw_who</KEYWORD2>\r
-                       <KEYWORD2>hwapi_hgcsp</KEYWORD2>\r
-                       <KEYWORD2>hwstat</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>hypot</KEYWORD2>\r
-                       <KEYWORD2>ibase_add_user</KEYWORD2>\r
-                       <KEYWORD2>ibase_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>ibase_backup</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_add</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_cancel</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_close</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_create</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_echo</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_get</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_import</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_info</KEYWORD2>\r
-                       <KEYWORD2>ibase_blob_open</KEYWORD2>\r
-                       <KEYWORD2>ibase_close</KEYWORD2>\r
-                       <KEYWORD2>ibase_commit</KEYWORD2>\r
-                       <KEYWORD2>ibase_commit_ret</KEYWORD2>\r
-                       <KEYWORD2>ibase_connect</KEYWORD2>\r
-                       <KEYWORD2>ibase_db_info</KEYWORD2>\r
-                       <KEYWORD2>ibase_delete_user</KEYWORD2>\r
-                       <KEYWORD2>ibase_drop_db</KEYWORD2>\r
-                       <KEYWORD2>ibase_errcode</KEYWORD2>\r
-                       <KEYWORD2>ibase_errmsg</KEYWORD2>\r
-                       <KEYWORD2>ibase_execute</KEYWORD2>\r
-                       <KEYWORD2>ibase_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>ibase_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>ibase_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>ibase_field_info</KEYWORD2>\r
-                       <KEYWORD2>ibase_free_event_handler</KEYWORD2>\r
-                       <KEYWORD2>ibase_free_query</KEYWORD2>\r
-                       <KEYWORD2>ibase_free_result</KEYWORD2>\r
-                       <KEYWORD2>ibase_gen_id</KEYWORD2>\r
-                       <KEYWORD2>ibase_maintain_db</KEYWORD2>\r
-                       <KEYWORD2>ibase_modify_user</KEYWORD2>\r
-                       <KEYWORD2>ibase_name_result</KEYWORD2>\r
-                       <KEYWORD2>ibase_num_fields</KEYWORD2>\r
-                       <KEYWORD2>ibase_num_params</KEYWORD2>\r
-                       <KEYWORD2>ibase_param_info</KEYWORD2>\r
-                       <KEYWORD2>ibase_pconnect</KEYWORD2>\r
-                       <KEYWORD2>ibase_prepare</KEYWORD2>\r
-                       <KEYWORD2>ibase_query</KEYWORD2>\r
-                       <KEYWORD2>ibase_restore</KEYWORD2>\r
-                       <KEYWORD2>ibase_rollback</KEYWORD2>\r
-                       <KEYWORD2>ibase_rollback_ret</KEYWORD2>\r
-                       <KEYWORD2>ibase_server_info</KEYWORD2>\r
-                       <KEYWORD2>ibase_service_attach</KEYWORD2>\r
-                       <KEYWORD2>ibase_service_detach</KEYWORD2>\r
-                       <KEYWORD2>ibase_set_event_handler</KEYWORD2>\r
-                       <KEYWORD2>ibase_timefmt</KEYWORD2>\r
-                       <KEYWORD2>ibase_trans</KEYWORD2>\r
-                       <KEYWORD2>ibase_wait_event</KEYWORD2>\r
-                       <KEYWORD2>iconv</KEYWORD2>\r
-                       <KEYWORD2>iconv_get_encoding</KEYWORD2>\r
-                       <KEYWORD2>iconv_mime_decode</KEYWORD2>\r
-                       <KEYWORD2>iconv_mime_decode_headers</KEYWORD2>\r
-                       <KEYWORD2>iconv_mime_encode</KEYWORD2>\r
-                       <KEYWORD2>iconv_set_encoding</KEYWORD2>\r
-                       <KEYWORD2>iconv_strlen</KEYWORD2>\r
-                       <KEYWORD2>iconv_strpos</KEYWORD2>\r
-                       <KEYWORD2>iconv_strrpos</KEYWORD2>\r
-                       <KEYWORD2>iconv_substr</KEYWORD2>\r
-                       <KEYWORD2>id3_get_genre_id</KEYWORD2>\r
-                       <KEYWORD2>id3_get_genre_list</KEYWORD2>\r
-                       <KEYWORD2>id3_get_genre_name</KEYWORD2>\r
-                       <KEYWORD2>id3_get_tag</KEYWORD2>\r
-                       <KEYWORD2>id3_get_version</KEYWORD2>\r
-                       <KEYWORD2>id3_remove_tag</KEYWORD2>\r
-                       <KEYWORD2>id3_set_tag</KEYWORD2>\r
-                       <KEYWORD2>idate</KEYWORD2>\r
-                       <KEYWORD2>identify</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>ifx_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>ifx_blobinfile_mode</KEYWORD2>\r
-                       <KEYWORD2>ifx_byteasvarchar</KEYWORD2>\r
-                       <KEYWORD2>ifx_close</KEYWORD2>\r
-                       <KEYWORD2>ifx_connect</KEYWORD2>\r
-                       <KEYWORD2>ifx_copy_blob</KEYWORD2>\r
-                       <KEYWORD2>ifx_create_blob</KEYWORD2>\r
-                       <KEYWORD2>ifx_create_char</KEYWORD2>\r
-                       <KEYWORD2>ifx_do</KEYWORD2>\r
-                       <KEYWORD2>ifx_error</KEYWORD2>\r
-                       <KEYWORD2>ifx_errormsg</KEYWORD2>\r
-                       <KEYWORD2>ifx_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>ifx_fieldproperties</KEYWORD2>\r
-                       <KEYWORD2>ifx_fieldtypes</KEYWORD2>\r
-                       <KEYWORD2>ifx_free_blob</KEYWORD2>\r
-                       <KEYWORD2>ifx_free_char</KEYWORD2>\r
-                       <KEYWORD2>ifx_free_result</KEYWORD2>\r
-                       <KEYWORD2>ifx_get_blob</KEYWORD2>\r
-                       <KEYWORD2>ifx_get_char</KEYWORD2>\r
-                       <KEYWORD2>ifx_getsqlca</KEYWORD2>\r
-                       <KEYWORD2>ifx_htmltbl_result</KEYWORD2>\r
-                       <KEYWORD2>ifx_nullformat</KEYWORD2>\r
-                       <KEYWORD2>ifx_num_fields</KEYWORD2>\r
-                       <KEYWORD2>ifx_num_rows</KEYWORD2>\r
-                       <KEYWORD2>ifx_pconnect</KEYWORD2>\r
-                       <KEYWORD2>ifx_prepare</KEYWORD2>\r
-                       <KEYWORD2>ifx_query</KEYWORD2>\r
-                       <KEYWORD2>ifx_textasvarchar</KEYWORD2>\r
-                       <KEYWORD2>ifx_update_blob</KEYWORD2>\r
-                       <KEYWORD2>ifx_update_char</KEYWORD2>\r
-                       <KEYWORD2>ifxus_close_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_create_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_free_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_open_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_read_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_seek_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_tell_slob</KEYWORD2>\r
-                       <KEYWORD2>ifxus_write_slob</KEYWORD2>\r
-                       <KEYWORD2>ignore_user_abort</KEYWORD2>\r
-                       <KEYWORD2>image2wbmp</KEYWORD2>\r
-                       <KEYWORD2>image_type_to_extension</KEYWORD2>\r
-                       <KEYWORD2>image_type_to_mime_type</KEYWORD2>\r
-                       <KEYWORD2>imagealphablending</KEYWORD2>\r
-                       <KEYWORD2>imageantialias</KEYWORD2>\r
-                       <KEYWORD2>imagearc</KEYWORD2>\r
-                       <KEYWORD2>imagechar</KEYWORD2>\r
-                       <KEYWORD2>imagecharup</KEYWORD2>\r
-                       <KEYWORD2>imagecolorallocate</KEYWORD2>\r
-                       <KEYWORD2>imagecolorallocatealpha</KEYWORD2>\r
-                       <KEYWORD2>imagecolorat</KEYWORD2>\r
-                       <KEYWORD2>imagecolorclosest</KEYWORD2>\r
-                       <KEYWORD2>imagecolorclosestalpha</KEYWORD2>\r
-                       <KEYWORD2>imagecolorclosesthwb</KEYWORD2>\r
-                       <KEYWORD2>imagecolordeallocate</KEYWORD2>\r
-                       <KEYWORD2>imagecolorexact</KEYWORD2>\r
-                       <KEYWORD2>imagecolorexactalpha</KEYWORD2>\r
-                       <KEYWORD2>imagecolormatch</KEYWORD2>\r
-                       <KEYWORD2>imagecolorresolve</KEYWORD2>\r
-                       <KEYWORD2>imagecolorresolvealpha</KEYWORD2>\r
-                       <KEYWORD2>imagecolorset</KEYWORD2>\r
-                       <KEYWORD2>imagecolorsforindex</KEYWORD2>\r
-                       <KEYWORD2>imagecolorstotal</KEYWORD2>\r
-                       <KEYWORD2>imagecolortransparent</KEYWORD2>\r
-                       <KEYWORD2>imagecopy</KEYWORD2>\r
-                       <KEYWORD2>imagecopymerge</KEYWORD2>\r
-                       <KEYWORD2>imagecopymergegray</KEYWORD2>\r
-                       <KEYWORD2>imagecopyresampled</KEYWORD2>\r
-                       <KEYWORD2>imagecopyresized</KEYWORD2>\r
-                       <KEYWORD2>imagecreate</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromgd</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromgd2</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromgd2part</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromgif</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromjpeg</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefrompng</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromstring</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromwbmp</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromxbm</KEYWORD2>\r
-                       <KEYWORD2>imagecreatefromxpm</KEYWORD2>\r
-                       <KEYWORD2>imagecreatetruecolor</KEYWORD2>\r
-                       <KEYWORD2>imagedashedline</KEYWORD2>\r
-                       <KEYWORD2>imagedestroy</KEYWORD2>\r
-                       <KEYWORD2>imageellipse</KEYWORD2>\r
-                       <KEYWORD2>imagefill</KEYWORD2>\r
-                       <KEYWORD2>imagefilledarc</KEYWORD2>\r
-                       <KEYWORD2>imagefilledellipse</KEYWORD2>\r
-                       <KEYWORD2>imagefilledpolygon</KEYWORD2>\r
-                       <KEYWORD2>imagefilledrectangle</KEYWORD2>\r
-                       <KEYWORD2>imagefilltoborder</KEYWORD2>\r
-                       <KEYWORD2>imagefilter</KEYWORD2>\r
-                       <KEYWORD2>imagefontheight</KEYWORD2>\r
-                       <KEYWORD2>imagefontwidth</KEYWORD2>\r
-                       <KEYWORD2>imageftbbox</KEYWORD2>\r
-                       <KEYWORD2>imagefttext</KEYWORD2>\r
-                       <KEYWORD2>imagegammacorrect</KEYWORD2>\r
-                       <KEYWORD2>imagegd</KEYWORD2>\r
-                       <KEYWORD2>imagegd2</KEYWORD2>\r
-                       <KEYWORD2>imagegif</KEYWORD2>\r
-                       <KEYWORD2>imageinterlace</KEYWORD2>\r
-                       <KEYWORD2>imageistruecolor</KEYWORD2>\r
-                       <KEYWORD2>imagejpeg</KEYWORD2>\r
-                       <KEYWORD2>imagelayereffect</KEYWORD2>\r
-                       <KEYWORD2>imageline</KEYWORD2>\r
-                       <KEYWORD2>imageloadfont</KEYWORD2>\r
-                       <KEYWORD2>imagepalettecopy</KEYWORD2>\r
-                       <KEYWORD2>imagepng</KEYWORD2>\r
-                       <KEYWORD2>imagepolygon</KEYWORD2>\r
-                       <KEYWORD2>imagepsbbox</KEYWORD2>\r
-                       <KEYWORD2>imagepscopyfont</KEYWORD2>\r
-                       <KEYWORD2>imagepsencodefont</KEYWORD2>\r
-                       <KEYWORD2>imagepsextendfont</KEYWORD2>\r
-                       <KEYWORD2>imagepsfreefont</KEYWORD2>\r
-                       <KEYWORD2>imagepsloadfont</KEYWORD2>\r
-                       <KEYWORD2>imagepsslantfont</KEYWORD2>\r
-                       <KEYWORD2>imagepstext</KEYWORD2>\r
-                       <KEYWORD2>imagerectangle</KEYWORD2>\r
-                       <KEYWORD2>imagerotate</KEYWORD2>\r
-                       <KEYWORD2>imagesavealpha</KEYWORD2>\r
-                       <KEYWORD2>imagesetbrush</KEYWORD2>\r
-                       <KEYWORD2>imagesetpixel</KEYWORD2>\r
-                       <KEYWORD2>imagesetstyle</KEYWORD2>\r
-                       <KEYWORD2>imagesetthickness</KEYWORD2>\r
-                       <KEYWORD2>imagesettile</KEYWORD2>\r
-                       <KEYWORD2>imagestring</KEYWORD2>\r
-                       <KEYWORD2>imagestringup</KEYWORD2>\r
-                       <KEYWORD2>imagesx</KEYWORD2>\r
-                       <KEYWORD2>imagesy</KEYWORD2>\r
-                       <KEYWORD2>imagetruecolortopalette</KEYWORD2>\r
-                       <KEYWORD2>imagettfbbox</KEYWORD2>\r
-                       <KEYWORD2>imagettftext</KEYWORD2>\r
-                       <KEYWORD2>imagetypes</KEYWORD2>\r
-                       <KEYWORD2>imagewbmp</KEYWORD2>\r
-                       <KEYWORD2>imagexbm</KEYWORD2>\r
-                       <KEYWORD2>imap_8bit</KEYWORD2>\r
-                       <KEYWORD2>imap_alerts</KEYWORD2>\r
-                       <KEYWORD2>imap_append</KEYWORD2>\r
-                       <KEYWORD2>imap_base64</KEYWORD2>\r
-                       <KEYWORD2>imap_binary</KEYWORD2>\r
-                       <KEYWORD2>imap_body</KEYWORD2>\r
-                       <KEYWORD2>imap_bodystruct</KEYWORD2>\r
-                       <KEYWORD2>imap_check</KEYWORD2>\r
-                       <KEYWORD2>imap_clearflag_full</KEYWORD2>\r
-                       <KEYWORD2>imap_close</KEYWORD2>\r
-                       <KEYWORD2>imap_createmailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_delete</KEYWORD2>\r
-                       <KEYWORD2>imap_deletemailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_errors</KEYWORD2>\r
-                       <KEYWORD2>imap_expunge</KEYWORD2>\r
-                       <KEYWORD2>imap_fetch_overview</KEYWORD2>\r
-                       <KEYWORD2>imap_fetchbody</KEYWORD2>\r
-                       <KEYWORD2>imap_fetchheader</KEYWORD2>\r
-                       <KEYWORD2>imap_fetchstructure</KEYWORD2>\r
-                       <KEYWORD2>imap_get_quota</KEYWORD2>\r
-                       <KEYWORD2>imap_get_quotaroot</KEYWORD2>\r
-                       <KEYWORD2>imap_getacl</KEYWORD2>\r
-                       <KEYWORD2>imap_getmailboxes</KEYWORD2>\r
-                       <KEYWORD2>imap_getsubscribed</KEYWORD2>\r
-                       <KEYWORD2>imap_header</KEYWORD2>\r
-                       <KEYWORD2>imap_headerinfo</KEYWORD2>\r
-                       <KEYWORD2>imap_headers</KEYWORD2>\r
-                       <KEYWORD2>imap_last_error</KEYWORD2>\r
-                       <KEYWORD2>imap_list</KEYWORD2>\r
-                       <KEYWORD2>imap_listmailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_listscan</KEYWORD2>\r
-                       <KEYWORD2>imap_listsubscribed</KEYWORD2>\r
-                       <KEYWORD2>imap_lsub</KEYWORD2>\r
-                       <KEYWORD2>imap_mail</KEYWORD2>\r
-                       <KEYWORD2>imap_mail_compose</KEYWORD2>\r
-                       <KEYWORD2>imap_mail_copy</KEYWORD2>\r
-                       <KEYWORD2>imap_mail_move</KEYWORD2>\r
-                       <KEYWORD2>imap_mailboxmsginfo</KEYWORD2>\r
-                       <KEYWORD2>imap_mime_header_decode</KEYWORD2>\r
-                       <KEYWORD2>imap_msgno</KEYWORD2>\r
-                       <KEYWORD2>imap_num_msg</KEYWORD2>\r
-                       <KEYWORD2>imap_num_recent</KEYWORD2>\r
-                       <KEYWORD2>imap_open</KEYWORD2>\r
-                       <KEYWORD2>imap_ping</KEYWORD2>\r
-                       <KEYWORD2>imap_qprint</KEYWORD2>\r
-                       <KEYWORD2>imap_renamemailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_reopen</KEYWORD2>\r
-                       <KEYWORD2>imap_rfc822_parse_adrlist</KEYWORD2>\r
-                       <KEYWORD2>imap_rfc822_parse_headers</KEYWORD2>\r
-                       <KEYWORD2>imap_rfc822_write_address</KEYWORD2>\r
-                       <KEYWORD2>imap_scanmailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_search</KEYWORD2>\r
-                       <KEYWORD2>imap_set_quota</KEYWORD2>\r
-                       <KEYWORD2>imap_setacl</KEYWORD2>\r
-                       <KEYWORD2>imap_setflag_full</KEYWORD2>\r
-                       <KEYWORD2>imap_sort</KEYWORD2>\r
-                       <KEYWORD2>imap_status</KEYWORD2>\r
-                       <KEYWORD2>imap_subscribe</KEYWORD2>\r
-                       <KEYWORD2>imap_thread</KEYWORD2>\r
-                       <KEYWORD2>imap_timeout</KEYWORD2>\r
-                       <KEYWORD2>imap_uid</KEYWORD2>\r
-                       <KEYWORD2>imap_undelete</KEYWORD2>\r
-                       <KEYWORD2>imap_unsubscribe</KEYWORD2>\r
-                       <KEYWORD2>imap_utf7_decode</KEYWORD2>\r
-                       <KEYWORD2>imap_utf7_encode</KEYWORD2>\r
-                       <KEYWORD2>imap_utf8</KEYWORD2>\r
-                       <KEYWORD2>implode</KEYWORD2>\r
-                       <KEYWORD2>import</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>import_request_variables</KEYWORD2>\r
-                       <KEYWORD2>importnode</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>in_array</KEYWORD2>\r
-                       <KEYWORD2>increment</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>inet_ntop</KEYWORD2>\r
-                       <KEYWORD2>inet_pton</KEYWORD2>\r
-                       <KEYWORD2>info</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>ingres_autocommit</KEYWORD2>\r
-                       <KEYWORD2>ingres_close</KEYWORD2>\r
-                       <KEYWORD2>ingres_commit</KEYWORD2>\r
-                       <KEYWORD2>ingres_connect</KEYWORD2>\r
-                       <KEYWORD2>ingres_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>ingres_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>ingres_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_length</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_name</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_nullable</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_precision</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_scale</KEYWORD2>\r
-                       <KEYWORD2>ingres_field_type</KEYWORD2>\r
-                       <KEYWORD2>ingres_num_fields</KEYWORD2>\r
-                       <KEYWORD2>ingres_num_rows</KEYWORD2>\r
-                       <KEYWORD2>ingres_pconnect</KEYWORD2>\r
-                       <KEYWORD2>ingres_query</KEYWORD2>\r
-                       <KEYWORD2>ingres_rollback</KEYWORD2>\r
-                       <KEYWORD2>ini_alter</KEYWORD2>\r
-                       <KEYWORD2>ini_get</KEYWORD2>\r
-                       <KEYWORD2>ini_get_all</KEYWORD2>\r
-                       <KEYWORD2>ini_restore</KEYWORD2>\r
-                       <KEYWORD2>ini_set</KEYWORD2>\r
-                       <KEYWORD2>insert</KEYWORD2> <!-- hw_api, hw_api_object -->\r
-                       <KEYWORD2>insert_before</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>insertanchor</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>insertbefore</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>insertcollection</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>insertdata</KEYWORD2> <!-- domcharacterdata -->\r
-                       <KEYWORD2>insertdocument</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>interface_exists</KEYWORD2>\r
-                       <KEYWORD2>internal_subset</KEYWORD2> <!-- domdocumenttype -->\r
-                       <KEYWORD2>intval</KEYWORD2>\r
-                       <KEYWORD2>ip2long</KEYWORD2>\r
-                       <KEYWORD2>iptcembed</KEYWORD2>\r
-                       <KEYWORD2>iptcparse</KEYWORD2>\r
-                       <KEYWORD2>ircg_channel_mode</KEYWORD2>\r
-                       <KEYWORD2>ircg_disconnect</KEYWORD2>\r
-                       <KEYWORD2>ircg_eval_ecmascript_params</KEYWORD2>\r
-                       <KEYWORD2>ircg_fetch_error_msg</KEYWORD2>\r
-                       <KEYWORD2>ircg_get_username</KEYWORD2>\r
-                       <KEYWORD2>ircg_html_encode</KEYWORD2>\r
-                       <KEYWORD2>ircg_ignore_add</KEYWORD2>\r
-                       <KEYWORD2>ircg_ignore_del</KEYWORD2>\r
-                       <KEYWORD2>ircg_invite</KEYWORD2>\r
-                       <KEYWORD2>ircg_is_conn_alive</KEYWORD2>\r
-                       <KEYWORD2>ircg_join</KEYWORD2>\r
-                       <KEYWORD2>ircg_kick</KEYWORD2>\r
-                       <KEYWORD2>ircg_list</KEYWORD2>\r
-                       <KEYWORD2>ircg_lookup_format_messages</KEYWORD2>\r
-                       <KEYWORD2>ircg_lusers</KEYWORD2>\r
-                       <KEYWORD2>ircg_msg</KEYWORD2>\r
-                       <KEYWORD2>ircg_names</KEYWORD2>\r
-                       <KEYWORD2>ircg_nick</KEYWORD2>\r
-                       <KEYWORD2>ircg_nickname_escape</KEYWORD2>\r
-                       <KEYWORD2>ircg_nickname_unescape</KEYWORD2>\r
-                       <KEYWORD2>ircg_notice</KEYWORD2>\r
-                       <KEYWORD2>ircg_oper</KEYWORD2>\r
-                       <KEYWORD2>ircg_part</KEYWORD2>\r
-                       <KEYWORD2>ircg_pconnect</KEYWORD2>\r
-                       <KEYWORD2>ircg_register_format_messages</KEYWORD2>\r
-                       <KEYWORD2>ircg_set_current</KEYWORD2>\r
-                       <KEYWORD2>ircg_set_file</KEYWORD2>\r
-                       <KEYWORD2>ircg_set_on_die</KEYWORD2>\r
-                       <KEYWORD2>ircg_topic</KEYWORD2>\r
-                       <KEYWORD2>ircg_who</KEYWORD2>\r
-                       <KEYWORD2>ircg_whois</KEYWORD2>\r
-                       <KEYWORD2>is_a</KEYWORD2>\r
-                       <KEYWORD2>is_array</KEYWORD2>\r
-                       <KEYWORD2>is_blank_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>is_bool</KEYWORD2>\r
-                       <KEYWORD2>is_callable</KEYWORD2>\r
-                       <KEYWORD2>is_dir</KEYWORD2>\r
-                       <KEYWORD2>is_double</KEYWORD2>\r
-                       <KEYWORD2>is_executable</KEYWORD2>\r
-                       <KEYWORD2>is_file</KEYWORD2>\r
-                       <KEYWORD2>is_finite</KEYWORD2>\r
-                       <KEYWORD2>is_float</KEYWORD2>\r
-                       <KEYWORD2>is_infinite</KEYWORD2>\r
-                       <KEYWORD2>is_int</KEYWORD2>\r
-                       <KEYWORD2>is_integer</KEYWORD2>\r
-                       <KEYWORD2>is_link</KEYWORD2>\r
-                       <KEYWORD2>is_long</KEYWORD2>\r
-                       <KEYWORD2>is_nan</KEYWORD2>\r
-                       <KEYWORD2>is_null</KEYWORD2>\r
-                       <KEYWORD2>is_numeric</KEYWORD2>\r
-                       <KEYWORD2>is_object</KEYWORD2>\r
-                       <KEYWORD2>is_readable</KEYWORD2>\r
-                       <KEYWORD2>is_real</KEYWORD2>\r
-                       <KEYWORD2>is_resource</KEYWORD2>\r
-                       <KEYWORD2>is_scalar</KEYWORD2>\r
-                       <KEYWORD2>is_soap_fault</KEYWORD2>\r
-                       <KEYWORD2>is_string</KEYWORD2>\r
-                       <KEYWORD2>is_subclass_of</KEYWORD2>\r
-                       <KEYWORD2>is_uploaded_file</KEYWORD2>\r
-                       <KEYWORD2>is_writable</KEYWORD2>\r
-                       <KEYWORD2>is_writeable</KEYWORD2>\r
-                       <KEYWORD2>isasp</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>iscomment</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>isdir</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>isdot</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>isexecutable</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>isfile</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>ishtml</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>isid</KEYWORD2> <!-- domattr -->\r
-                       <KEYWORD2>isjste</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>islink</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>isphp</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>isreadable</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>issamenode</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>issupported</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>istext</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>iswhitespaceinelementcontent</KEYWORD2> <!-- domtext -->\r
-                       <KEYWORD2>iswritable</KEYWORD2> <!-- directoryiterator -->\r
-                       <KEYWORD2>isxhtml</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>isxml</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>item</KEYWORD2> <!-- domnamednodemap, domnodelist -->\r
-                       <KEYWORD2>iterator_count</KEYWORD2>\r
-                       <KEYWORD2>iterator_to_array</KEYWORD2>\r
-                       <KEYWORD2>java_last_exception_clear</KEYWORD2>\r
-                       <KEYWORD2>java_last_exception_get</KEYWORD2>\r
-                       <KEYWORD2>jddayofweek</KEYWORD2>\r
-                       <KEYWORD2>jdmonthname</KEYWORD2>\r
-                       <KEYWORD2>jdtofrench</KEYWORD2>\r
-                       <KEYWORD2>jdtogregorian</KEYWORD2>\r
-                       <KEYWORD2>jdtojewish</KEYWORD2>\r
-                       <KEYWORD2>jdtojulian</KEYWORD2>\r
-                       <KEYWORD2>jdtounix</KEYWORD2>\r
-                       <KEYWORD2>jewishtojd</KEYWORD2>\r
-                       <KEYWORD2>join</KEYWORD2>\r
-                       <KEYWORD2>jpeg2wbmp</KEYWORD2>\r
-                       <KEYWORD2>juliantojd</KEYWORD2>\r
-                       <KEYWORD2>key</KEYWORD2> <!-- arrayiterator, directoryiterator, filteriterator, hw_api_attribute, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator -->\r
-                       <KEYWORD2>krsort</KEYWORD2>\r
-                       <KEYWORD2>ksort</KEYWORD2>\r
-                       <KEYWORD2>langdepvalue</KEYWORD2> <!-- hw_api_attribute -->\r
-                       <KEYWORD2>last_child</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>lastinsertid</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>lcg_value</KEYWORD2>\r
-                       <KEYWORD2>ldap_8859_to_t61</KEYWORD2>\r
-                       <KEYWORD2>ldap_add</KEYWORD2>\r
-                       <KEYWORD2>ldap_bind</KEYWORD2>\r
-                       <KEYWORD2>ldap_close</KEYWORD2>\r
-                       <KEYWORD2>ldap_compare</KEYWORD2>\r
-                       <KEYWORD2>ldap_connect</KEYWORD2>\r
-                       <KEYWORD2>ldap_count_entries</KEYWORD2>\r
-                       <KEYWORD2>ldap_delete</KEYWORD2>\r
-                       <KEYWORD2>ldap_dn2ufn</KEYWORD2>\r
-                       <KEYWORD2>ldap_err2str</KEYWORD2>\r
-                       <KEYWORD2>ldap_errno</KEYWORD2>\r
-                       <KEYWORD2>ldap_error</KEYWORD2>\r
-                       <KEYWORD2>ldap_explode_dn</KEYWORD2>\r
-                       <KEYWORD2>ldap_first_attribute</KEYWORD2>\r
-                       <KEYWORD2>ldap_first_entry</KEYWORD2>\r
-                       <KEYWORD2>ldap_first_reference</KEYWORD2>\r
-                       <KEYWORD2>ldap_free_result</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_attributes</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_dn</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_entries</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_option</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_values</KEYWORD2>\r
-                       <KEYWORD2>ldap_get_values_len</KEYWORD2>\r
-                       <KEYWORD2>ldap_list</KEYWORD2>\r
-                       <KEYWORD2>ldap_mod_add</KEYWORD2>\r
-                       <KEYWORD2>ldap_mod_del</KEYWORD2>\r
-                       <KEYWORD2>ldap_mod_replace</KEYWORD2>\r
-                       <KEYWORD2>ldap_modify</KEYWORD2>\r
-                       <KEYWORD2>ldap_next_attribute</KEYWORD2>\r
-                       <KEYWORD2>ldap_next_entry</KEYWORD2>\r
-                       <KEYWORD2>ldap_next_reference</KEYWORD2>\r
-                       <KEYWORD2>ldap_parse_reference</KEYWORD2>\r
-                       <KEYWORD2>ldap_parse_result</KEYWORD2>\r
-                       <KEYWORD2>ldap_read</KEYWORD2>\r
-                       <KEYWORD2>ldap_rename</KEYWORD2>\r
-                       <KEYWORD2>ldap_sasl_bind</KEYWORD2>\r
-                       <KEYWORD2>ldap_search</KEYWORD2>\r
-                       <KEYWORD2>ldap_set_option</KEYWORD2>\r
-                       <KEYWORD2>ldap_set_rebind_proc</KEYWORD2>\r
-                       <KEYWORD2>ldap_sort</KEYWORD2>\r
-                       <KEYWORD2>ldap_start_tls</KEYWORD2>\r
-                       <KEYWORD2>ldap_t61_to_8859</KEYWORD2>\r
-                       <KEYWORD2>ldap_unbind</KEYWORD2>\r
-                       <KEYWORD2>levenshtein</KEYWORD2>\r
-                       <KEYWORD2>link</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>linkinfo</KEYWORD2>\r
-                       <KEYWORD2>load</KEYWORD2> <!-- domdocument, lob -->\r
-                       <KEYWORD2>loadhtml</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>loadhtmlfile</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>loadxml</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>localeconv</KEYWORD2>\r
-                       <KEYWORD2>localtime</KEYWORD2>\r
-                       <KEYWORD2>lock</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>log</KEYWORD2>\r
-                       <KEYWORD2>log10</KEYWORD2>\r
-                       <KEYWORD2>log1p</KEYWORD2>\r
-                       <KEYWORD2>long2ip</KEYWORD2>\r
-                       <KEYWORD2>lookupnamespaceuri</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>lookupprefix</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>lstat</KEYWORD2>\r
-                       <KEYWORD2>ltrim</KEYWORD2>\r
-                       <KEYWORD2>lzf_compress</KEYWORD2>\r
-                       <KEYWORD2>lzf_decompress</KEYWORD2>\r
-                       <KEYWORD2>lzf_optimized_for</KEYWORD2>\r
-                       <KEYWORD2>mail</KEYWORD2>\r
-                       <KEYWORD2>mailparse_determine_best_xfer_encoding</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_create</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_extract_part</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_extract_part_file</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_free</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_get_part</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_get_part_data</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_get_structure</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_parse</KEYWORD2>\r
-                       <KEYWORD2>mailparse_msg_parse_file</KEYWORD2>\r
-                       <KEYWORD2>mailparse_rfc822_parse_addresses</KEYWORD2>\r
-                       <KEYWORD2>mailparse_stream_encode</KEYWORD2>\r
-                       <KEYWORD2>mailparse_uudecode_all</KEYWORD2>\r
-                       <KEYWORD2>main</KEYWORD2>\r
-                       <KEYWORD2>max</KEYWORD2> <!-- collection -->\r
-                       <KEYWORD2>mb_convert_case</KEYWORD2>\r
-                       <KEYWORD2>mb_convert_encoding</KEYWORD2>\r
-                       <KEYWORD2>mb_convert_kana</KEYWORD2>\r
-                       <KEYWORD2>mb_convert_variables</KEYWORD2>\r
-                       <KEYWORD2>mb_decode_mimeheader</KEYWORD2>\r
-                       <KEYWORD2>mb_decode_numericentity</KEYWORD2>\r
-                       <KEYWORD2>mb_detect_encoding</KEYWORD2>\r
-                       <KEYWORD2>mb_detect_order</KEYWORD2>\r
-                       <KEYWORD2>mb_encode_mimeheader</KEYWORD2>\r
-                       <KEYWORD2>mb_encode_numericentity</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_match</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_replace</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_getpos</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_getregs</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_init</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_pos</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_regs</KEYWORD2>\r
-                       <KEYWORD2>mb_ereg_search_setpos</KEYWORD2>\r
-                       <KEYWORD2>mb_eregi</KEYWORD2>\r
-                       <KEYWORD2>mb_eregi_replace</KEYWORD2>\r
-                       <KEYWORD2>mb_get_info</KEYWORD2>\r
-                       <KEYWORD2>mb_http_input</KEYWORD2>\r
-                       <KEYWORD2>mb_http_output</KEYWORD2>\r
-                       <KEYWORD2>mb_internal_encoding</KEYWORD2>\r
-                       <KEYWORD2>mb_language</KEYWORD2>\r
-                       <KEYWORD2>mb_list_encodings</KEYWORD2>\r
-                       <KEYWORD2>mb_output_handler</KEYWORD2>\r
-                       <KEYWORD2>mb_parse_str</KEYWORD2>\r
-                       <KEYWORD2>mb_preferred_mime_name</KEYWORD2>\r
-                       <KEYWORD2>mb_regex_encoding</KEYWORD2>\r
-                       <KEYWORD2>mb_regex_set_options</KEYWORD2>\r
-                       <KEYWORD2>mb_send_mail</KEYWORD2>\r
-                       <KEYWORD2>mb_split</KEYWORD2>\r
-                       <KEYWORD2>mb_strcut</KEYWORD2>\r
-                       <KEYWORD2>mb_strimwidth</KEYWORD2>\r
-                       <KEYWORD2>mb_strlen</KEYWORD2>\r
-                       <KEYWORD2>mb_strpos</KEYWORD2>\r
-                       <KEYWORD2>mb_strrpos</KEYWORD2>\r
-                       <KEYWORD2>mb_strtolower</KEYWORD2>\r
-                       <KEYWORD2>mb_strtoupper</KEYWORD2>\r
-                       <KEYWORD2>mb_strwidth</KEYWORD2>\r
-                       <KEYWORD2>mb_substitute_character</KEYWORD2>\r
-                       <KEYWORD2>mb_substr</KEYWORD2>\r
-                       <KEYWORD2>mb_substr_count</KEYWORD2>\r
-                       <KEYWORD2>mcal_append_event</KEYWORD2>\r
-                       <KEYWORD2>mcal_close</KEYWORD2>\r
-                       <KEYWORD2>mcal_create_calendar</KEYWORD2>\r
-                       <KEYWORD2>mcal_date_compare</KEYWORD2>\r
-                       <KEYWORD2>mcal_date_valid</KEYWORD2>\r
-                       <KEYWORD2>mcal_day_of_week</KEYWORD2>\r
-                       <KEYWORD2>mcal_day_of_year</KEYWORD2>\r
-                       <KEYWORD2>mcal_days_in_month</KEYWORD2>\r
-                       <KEYWORD2>mcal_delete_calendar</KEYWORD2>\r
-                       <KEYWORD2>mcal_delete_event</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_add_attribute</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_init</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_alarm</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_category</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_class</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_description</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_end</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_daily</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_monthly_mday</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_monthly_wday</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_none</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_weekly</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_recur_yearly</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_start</KEYWORD2>\r
-                       <KEYWORD2>mcal_event_set_title</KEYWORD2>\r
-                       <KEYWORD2>mcal_expunge</KEYWORD2>\r
-                       <KEYWORD2>mcal_fetch_current_stream_event</KEYWORD2>\r
-                       <KEYWORD2>mcal_fetch_event</KEYWORD2>\r
-                       <KEYWORD2>mcal_is_leap_year</KEYWORD2>\r
-                       <KEYWORD2>mcal_list_alarms</KEYWORD2>\r
-                       <KEYWORD2>mcal_list_events</KEYWORD2>\r
-                       <KEYWORD2>mcal_next_recurrence</KEYWORD2>\r
-                       <KEYWORD2>mcal_open</KEYWORD2>\r
-                       <KEYWORD2>mcal_popen</KEYWORD2>\r
-                       <KEYWORD2>mcal_rename_calendar</KEYWORD2>\r
-                       <KEYWORD2>mcal_reopen</KEYWORD2>\r
-                       <KEYWORD2>mcal_snooze</KEYWORD2>\r
-                       <KEYWORD2>mcal_store_event</KEYWORD2>\r
-                       <KEYWORD2>mcal_time_valid</KEYWORD2>\r
-                       <KEYWORD2>mcal_week_of_year</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_cbc</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_cfb</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_create_iv</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_decrypt</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_ecb</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_algorithms_name</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_block_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_iv_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_key_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_modes_name</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_get_supported_key_sizes</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_is_block_algorithm</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_is_block_algorithm_mode</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_is_block_mode</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_enc_self_test</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_encrypt</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_generic</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_generic_deinit</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_generic_end</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_generic_init</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_get_block_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_get_cipher_name</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_get_iv_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_get_key_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_list_algorithms</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_list_modes</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_close</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_get_algo_block_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_get_algo_key_size</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_get_supported_key_sizes</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_is_block_algorithm</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_is_block_algorithm_mode</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_is_block_mode</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_open</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_module_self_test</KEYWORD2>\r
-                       <KEYWORD2>mcrypt_ofb</KEYWORD2>\r
-                       <KEYWORD2>mcve_adduser</KEYWORD2>\r
-                       <KEYWORD2>mcve_adduserarg</KEYWORD2>\r
-                       <KEYWORD2>mcve_bt</KEYWORD2>\r
-                       <KEYWORD2>mcve_checkstatus</KEYWORD2>\r
-                       <KEYWORD2>mcve_chkpwd</KEYWORD2>\r
-                       <KEYWORD2>mcve_chngpwd</KEYWORD2>\r
-                       <KEYWORD2>mcve_completeauthorizations</KEYWORD2>\r
-                       <KEYWORD2>mcve_connect</KEYWORD2>\r
-                       <KEYWORD2>mcve_connectionerror</KEYWORD2>\r
-                       <KEYWORD2>mcve_deleteresponse</KEYWORD2>\r
-                       <KEYWORD2>mcve_deletetrans</KEYWORD2>\r
-                       <KEYWORD2>mcve_deleteusersetup</KEYWORD2>\r
-                       <KEYWORD2>mcve_deluser</KEYWORD2>\r
-                       <KEYWORD2>mcve_destroyconn</KEYWORD2>\r
-                       <KEYWORD2>mcve_destroyengine</KEYWORD2>\r
-                       <KEYWORD2>mcve_disableuser</KEYWORD2>\r
-                       <KEYWORD2>mcve_edituser</KEYWORD2>\r
-                       <KEYWORD2>mcve_enableuser</KEYWORD2>\r
-                       <KEYWORD2>mcve_force</KEYWORD2>\r
-                       <KEYWORD2>mcve_getcell</KEYWORD2>\r
-                       <KEYWORD2>mcve_getcellbynum</KEYWORD2>\r
-                       <KEYWORD2>mcve_getcommadelimited</KEYWORD2>\r
-                       <KEYWORD2>mcve_getheader</KEYWORD2>\r
-                       <KEYWORD2>mcve_getuserarg</KEYWORD2>\r
-                       <KEYWORD2>mcve_getuserparam</KEYWORD2>\r
-                       <KEYWORD2>mcve_gft</KEYWORD2>\r
-                       <KEYWORD2>mcve_gl</KEYWORD2>\r
-                       <KEYWORD2>mcve_gut</KEYWORD2>\r
-                       <KEYWORD2>mcve_initconn</KEYWORD2>\r
-                       <KEYWORD2>mcve_initengine</KEYWORD2>\r
-                       <KEYWORD2>mcve_initusersetup</KEYWORD2>\r
-                       <KEYWORD2>mcve_iscommadelimited</KEYWORD2>\r
-                       <KEYWORD2>mcve_liststats</KEYWORD2>\r
-                       <KEYWORD2>mcve_listusers</KEYWORD2>\r
-                       <KEYWORD2>mcve_maxconntimeout</KEYWORD2>\r
-                       <KEYWORD2>mcve_monitor</KEYWORD2>\r
-                       <KEYWORD2>mcve_numcolumns</KEYWORD2>\r
-                       <KEYWORD2>mcve_numrows</KEYWORD2>\r
-                       <KEYWORD2>mcve_override</KEYWORD2>\r
-                       <KEYWORD2>mcve_parsecommadelimited</KEYWORD2>\r
-                       <KEYWORD2>mcve_ping</KEYWORD2>\r
-                       <KEYWORD2>mcve_preauth</KEYWORD2>\r
-                       <KEYWORD2>mcve_preauthcompletion</KEYWORD2>\r
-                       <KEYWORD2>mcve_qc</KEYWORD2>\r
-                       <KEYWORD2>mcve_responseparam</KEYWORD2>\r
-                       <KEYWORD2>mcve_return</KEYWORD2>\r
-                       <KEYWORD2>mcve_returncode</KEYWORD2>\r
-                       <KEYWORD2>mcve_returnstatus</KEYWORD2>\r
-                       <KEYWORD2>mcve_sale</KEYWORD2>\r
-                       <KEYWORD2>mcve_setblocking</KEYWORD2>\r
-                       <KEYWORD2>mcve_setdropfile</KEYWORD2>\r
-                       <KEYWORD2>mcve_setip</KEYWORD2>\r
-                       <KEYWORD2>mcve_setssl</KEYWORD2>\r
-                       <KEYWORD2>mcve_setssl_files</KEYWORD2>\r
-                       <KEYWORD2>mcve_settimeout</KEYWORD2>\r
-                       <KEYWORD2>mcve_settle</KEYWORD2>\r
-                       <KEYWORD2>mcve_text_avs</KEYWORD2>\r
-                       <KEYWORD2>mcve_text_code</KEYWORD2>\r
-                       <KEYWORD2>mcve_text_cv</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionauth</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionavs</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionbatch</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactioncv</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionid</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionitem</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactionssent</KEYWORD2>\r
-                       <KEYWORD2>mcve_transactiontext</KEYWORD2>\r
-                       <KEYWORD2>mcve_transinqueue</KEYWORD2>\r
-                       <KEYWORD2>mcve_transnew</KEYWORD2>\r
-                       <KEYWORD2>mcve_transparam</KEYWORD2>\r
-                       <KEYWORD2>mcve_transsend</KEYWORD2>\r
-                       <KEYWORD2>mcve_ub</KEYWORD2>\r
-                       <KEYWORD2>mcve_uwait</KEYWORD2>\r
-                       <KEYWORD2>mcve_verifyconnection</KEYWORD2>\r
-                       <KEYWORD2>mcve_verifysslcert</KEYWORD2>\r
-                       <KEYWORD2>mcve_void</KEYWORD2>\r
-                       <KEYWORD2>md5</KEYWORD2>\r
-                       <KEYWORD2>md5_file</KEYWORD2>\r
-                       <KEYWORD2>mdecrypt_generic</KEYWORD2>\r
-                       <KEYWORD2>memcache_debug</KEYWORD2>\r
-                       <KEYWORD2>memory_get_usage</KEYWORD2>\r
-                       <KEYWORD2>metaphone</KEYWORD2>\r
-                       <KEYWORD2>method_exists</KEYWORD2>\r
-                       <KEYWORD2>mhash</KEYWORD2>\r
-                       <KEYWORD2>mhash_count</KEYWORD2>\r
-                       <KEYWORD2>mhash_get_block_size</KEYWORD2>\r
-                       <KEYWORD2>mhash_get_hash_name</KEYWORD2>\r
-                       <KEYWORD2>mhash_keygen_s2k</KEYWORD2>\r
-                       <KEYWORD2>microtime</KEYWORD2>\r
-                       <KEYWORD2>mime_content_type</KEYWORD2>\r
-                       <KEYWORD2>mimetype</KEYWORD2> <!-- hw_api_content -->\r
-                       <KEYWORD2>min</KEYWORD2>\r
-                       <KEYWORD2>ming_setcubicthreshold</KEYWORD2>\r
-                       <KEYWORD2>ming_setscale</KEYWORD2>\r
-                       <KEYWORD2>ming_useswfversion</KEYWORD2>\r
-                       <KEYWORD2>mkdir</KEYWORD2>\r
-                       <KEYWORD2>mktime</KEYWORD2>\r
-                       <KEYWORD2>money_format</KEYWORD2>\r
-                       <KEYWORD2>move</KEYWORD2> <!-- hw_api, swfdisplayitem -->\r
-                       <KEYWORD2>move_uploaded_file</KEYWORD2>\r
-                       <KEYWORD2>movepen</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>movepento</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>moveto</KEYWORD2> <!-- swfdisplayitem, swffill, swftext -->\r
-                       <KEYWORD2>msession_connect</KEYWORD2>\r
-                       <KEYWORD2>msession_count</KEYWORD2>\r
-                       <KEYWORD2>msession_create</KEYWORD2>\r
-                       <KEYWORD2>msession_destroy</KEYWORD2>\r
-                       <KEYWORD2>msession_disconnect</KEYWORD2>\r
-                       <KEYWORD2>msession_find</KEYWORD2>\r
-                       <KEYWORD2>msession_get</KEYWORD2>\r
-                       <KEYWORD2>msession_get_array</KEYWORD2>\r
-                       <KEYWORD2>msession_get_data</KEYWORD2>\r
-                       <KEYWORD2>msession_inc</KEYWORD2>\r
-                       <KEYWORD2>msession_list</KEYWORD2>\r
-                       <KEYWORD2>msession_listvar</KEYWORD2>\r
-                       <KEYWORD2>msession_lock</KEYWORD2>\r
-                       <KEYWORD2>msession_plugin</KEYWORD2>\r
-                       <KEYWORD2>msession_randstr</KEYWORD2>\r
-                       <KEYWORD2>msession_set</KEYWORD2>\r
-                       <KEYWORD2>msession_set_array</KEYWORD2>\r
-                       <KEYWORD2>msession_set_data</KEYWORD2>\r
-                       <KEYWORD2>msession_timeout</KEYWORD2>\r
-                       <KEYWORD2>msession_uniq</KEYWORD2>\r
-                       <KEYWORD2>msession_unlock</KEYWORD2>\r
-                       <KEYWORD2>msg_get_queue</KEYWORD2>\r
-                       <KEYWORD2>msg_receive</KEYWORD2>\r
-                       <KEYWORD2>msg_remove_queue</KEYWORD2>\r
-                       <KEYWORD2>msg_send</KEYWORD2>\r
-                       <KEYWORD2>msg_set_queue</KEYWORD2>\r
-                       <KEYWORD2>msg_stat_queue</KEYWORD2>\r
-                       <KEYWORD2>msql</KEYWORD2>\r
-                       <KEYWORD2>msql_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>msql_close</KEYWORD2>\r
-                       <KEYWORD2>msql_connect</KEYWORD2>\r
-                       <KEYWORD2>msql_create_db</KEYWORD2>\r
-                       <KEYWORD2>msql_createdb</KEYWORD2>\r
-                       <KEYWORD2>msql_data_seek</KEYWORD2>\r
-                       <KEYWORD2>msql_db_query</KEYWORD2>\r
-                       <KEYWORD2>msql_dbname</KEYWORD2>\r
-                       <KEYWORD2>msql_drop_db</KEYWORD2>\r
-                       <KEYWORD2>msql_error</KEYWORD2>\r
-                       <KEYWORD2>msql_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>msql_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>msql_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>msql_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>msql_field_flags</KEYWORD2>\r
-                       <KEYWORD2>msql_field_len</KEYWORD2>\r
-                       <KEYWORD2>msql_field_name</KEYWORD2>\r
-                       <KEYWORD2>msql_field_seek</KEYWORD2>\r
-                       <KEYWORD2>msql_field_table</KEYWORD2>\r
-                       <KEYWORD2>msql_field_type</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldflags</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldlen</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldname</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldtable</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldtype</KEYWORD2>\r
-                       <KEYWORD2>msql_free_result</KEYWORD2>\r
-                       <KEYWORD2>msql_list_dbs</KEYWORD2>\r
-                       <KEYWORD2>msql_list_fields</KEYWORD2>\r
-                       <KEYWORD2>msql_list_tables</KEYWORD2>\r
-                       <KEYWORD2>msql_num_fields</KEYWORD2>\r
-                       <KEYWORD2>msql_num_rows</KEYWORD2>\r
-                       <KEYWORD2>msql_numfields</KEYWORD2>\r
-                       <KEYWORD2>msql_numrows</KEYWORD2>\r
-                       <KEYWORD2>msql_pconnect</KEYWORD2>\r
-                       <KEYWORD2>msql_query</KEYWORD2>\r
-                       <KEYWORD2>msql_regcase</KEYWORD2>\r
-                       <KEYWORD2>msql_result</KEYWORD2>\r
-                       <KEYWORD2>msql_select_db</KEYWORD2>\r
-                       <KEYWORD2>msql_tablename</KEYWORD2>\r
-                       <KEYWORD2>mssql_bind</KEYWORD2>\r
-                       <KEYWORD2>mssql_close</KEYWORD2>\r
-                       <KEYWORD2>mssql_connect</KEYWORD2>\r
-                       <KEYWORD2>mssql_data_seek</KEYWORD2>\r
-                       <KEYWORD2>mssql_execute</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_batch</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>mssql_field_length</KEYWORD2>\r
-                       <KEYWORD2>mssql_field_name</KEYWORD2>\r
-                       <KEYWORD2>mssql_field_seek</KEYWORD2>\r
-                       <KEYWORD2>mssql_field_type</KEYWORD2>\r
-                       <KEYWORD2>mssql_free_result</KEYWORD2>\r
-                       <KEYWORD2>mssql_free_statement</KEYWORD2>\r
-                       <KEYWORD2>mssql_get_last_message</KEYWORD2>\r
-                       <KEYWORD2>mssql_guid_string</KEYWORD2>\r
-                       <KEYWORD2>mssql_init</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_error_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_message_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_next_result</KEYWORD2>\r
-                       <KEYWORD2>mssql_num_fields</KEYWORD2>\r
-                       <KEYWORD2>mssql_num_rows</KEYWORD2>\r
-                       <KEYWORD2>mssql_pconnect</KEYWORD2>\r
-                       <KEYWORD2>mssql_query</KEYWORD2>\r
-                       <KEYWORD2>mssql_result</KEYWORD2>\r
-                       <KEYWORD2>mssql_rows_affected</KEYWORD2>\r
-                       <KEYWORD2>mssql_select_db</KEYWORD2>\r
-                       <KEYWORD2>mt_getrandmax</KEYWORD2>\r
-                       <KEYWORD2>mt_rand</KEYWORD2>\r
-                       <KEYWORD2>mt_srand</KEYWORD2>\r
-                       <KEYWORD2>multcolor</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>muscat_close</KEYWORD2>\r
-                       <KEYWORD2>muscat_get</KEYWORD2>\r
-                       <KEYWORD2>muscat_give</KEYWORD2>\r
-                       <KEYWORD2>muscat_setup</KEYWORD2>\r
-                       <KEYWORD2>muscat_setup_net</KEYWORD2>\r
-                       <KEYWORD2>mysql_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>mysql_change_user</KEYWORD2>\r
-                       <KEYWORD2>mysql_client_encoding</KEYWORD2>\r
-                       <KEYWORD2>mysql_close</KEYWORD2>\r
-                       <KEYWORD2>mysql_connect</KEYWORD2>\r
-                       <KEYWORD2>mysql_create_db</KEYWORD2>\r
-                       <KEYWORD2>mysql_data_seek</KEYWORD2>\r
-                       <KEYWORD2>mysql_db_name</KEYWORD2>\r
-                       <KEYWORD2>mysql_db_query</KEYWORD2>\r
-                       <KEYWORD2>mysql_drop_db</KEYWORD2>\r
-                       <KEYWORD2>mysql_errno</KEYWORD2>\r
-                       <KEYWORD2>mysql_error</KEYWORD2>\r
-                       <KEYWORD2>mysql_escape_string</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_lengths</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>mysql_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_flags</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_len</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_name</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_seek</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_table</KEYWORD2>\r
-                       <KEYWORD2>mysql_field_type</KEYWORD2>\r
-                       <KEYWORD2>mysql_free_result</KEYWORD2>\r
-                       <KEYWORD2>mysql_get_client_info</KEYWORD2>\r
-                       <KEYWORD2>mysql_get_host_info</KEYWORD2>\r
-                       <KEYWORD2>mysql_get_proto_info</KEYWORD2>\r
-                       <KEYWORD2>mysql_get_server_info</KEYWORD2>\r
-                       <KEYWORD2>mysql_info</KEYWORD2>\r
-                       <KEYWORD2>mysql_insert_id</KEYWORD2>\r
-                       <KEYWORD2>mysql_list_dbs</KEYWORD2>\r
-                       <KEYWORD2>mysql_list_fields</KEYWORD2>\r
-                       <KEYWORD2>mysql_list_processes</KEYWORD2>\r
-                       <KEYWORD2>mysql_list_tables</KEYWORD2>\r
-                       <KEYWORD2>mysql_num_fields</KEYWORD2>\r
-                       <KEYWORD2>mysql_num_rows</KEYWORD2>\r
-                       <KEYWORD2>mysql_pconnect</KEYWORD2>\r
-                       <KEYWORD2>mysql_ping</KEYWORD2>\r
-                       <KEYWORD2>mysql_query</KEYWORD2>\r
-                       <KEYWORD2>mysql_real_escape_string</KEYWORD2>\r
-                       <KEYWORD2>mysql_result</KEYWORD2>\r
-                       <KEYWORD2>mysql_select_db</KEYWORD2>\r
-                       <KEYWORD2>mysql_stat</KEYWORD2>\r
-                       <KEYWORD2>mysql_tablename</KEYWORD2>\r
-                       <KEYWORD2>mysql_thread_id</KEYWORD2>\r
-                       <KEYWORD2>mysql_unbuffered_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>mysqli_autocommit</KEYWORD2>\r
-                       <KEYWORD2>mysqli_bind_param</KEYWORD2>\r
-                       <KEYWORD2>mysqli_bind_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_change_user</KEYWORD2>\r
-                       <KEYWORD2>mysqli_character_set_name</KEYWORD2>\r
-                       <KEYWORD2>mysqli_client_encoding</KEYWORD2>\r
-                       <KEYWORD2>mysqli_close</KEYWORD2>\r
-                       <KEYWORD2>mysqli_commit</KEYWORD2>\r
-                       <KEYWORD2>mysqli_connect</KEYWORD2>\r
-                       <KEYWORD2>mysqli_connect_errno</KEYWORD2>\r
-                       <KEYWORD2>mysqli_connect_error</KEYWORD2>\r
-                       <KEYWORD2>mysqli_data_seek</KEYWORD2>\r
-                       <KEYWORD2>mysqli_debug</KEYWORD2>\r
-                       <KEYWORD2>mysqli_disable_reads_from_master</KEYWORD2>\r
-                       <KEYWORD2>mysqli_disable_rpl_parse</KEYWORD2>\r
-                       <KEYWORD2>mysqli_dump_debug_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_embedded_connect</KEYWORD2>\r
-                       <KEYWORD2>mysqli_enable_reads_from_master</KEYWORD2>\r
-                       <KEYWORD2>mysqli_enable_rpl_parse</KEYWORD2>\r
-                       <KEYWORD2>mysqli_errno</KEYWORD2>\r
-                       <KEYWORD2>mysqli_error</KEYWORD2>\r
-                       <KEYWORD2>mysqli_escape_string</KEYWORD2>\r
-                       <KEYWORD2>mysqli_execute</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_field_direct</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_fields</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_lengths</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>mysqli_field_count</KEYWORD2>\r
-                       <KEYWORD2>mysqli_field_seek</KEYWORD2>\r
-                       <KEYWORD2>mysqli_field_tell</KEYWORD2>\r
-                       <KEYWORD2>mysqli_free_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_client_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_client_version</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_host_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_metadata</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_proto_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_server_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_get_server_version</KEYWORD2>\r
-                       <KEYWORD2>mysqli_info</KEYWORD2>\r
-                       <KEYWORD2>mysqli_init</KEYWORD2>\r
-                       <KEYWORD2>mysqli_insert_id</KEYWORD2>\r
-                       <KEYWORD2>mysqli_kill</KEYWORD2>\r
-                       <KEYWORD2>mysqli_master_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_more_results</KEYWORD2>\r
-                       <KEYWORD2>mysqli_multi_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_next_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_num_fields</KEYWORD2>\r
-                       <KEYWORD2>mysqli_num_rows</KEYWORD2>\r
-                       <KEYWORD2>mysqli_options</KEYWORD2>\r
-                       <KEYWORD2>mysqli_param_count</KEYWORD2>\r
-                       <KEYWORD2>mysqli_ping</KEYWORD2>\r
-                       <KEYWORD2>mysqli_prepare</KEYWORD2>\r
-                       <KEYWORD2>mysqli_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_real_connect</KEYWORD2>\r
-                       <KEYWORD2>mysqli_real_escape_string</KEYWORD2>\r
-                       <KEYWORD2>mysqli_real_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_report</KEYWORD2>\r
-                       <KEYWORD2>mysqli_rollback</KEYWORD2>\r
-                       <KEYWORD2>mysqli_rpl_parse_enabled</KEYWORD2>\r
-                       <KEYWORD2>mysqli_rpl_probe</KEYWORD2>\r
-                       <KEYWORD2>mysqli_rpl_query_type</KEYWORD2>\r
-                       <KEYWORD2>mysqli_select_db</KEYWORD2>\r
-                       <KEYWORD2>mysqli_send_long_data</KEYWORD2>\r
-                       <KEYWORD2>mysqli_send_query</KEYWORD2>\r
-                       <KEYWORD2>mysqli_server_end</KEYWORD2>\r
-                       <KEYWORD2>mysqli_server_init</KEYWORD2>\r
-                       <KEYWORD2>mysqli_set_opt</KEYWORD2>\r
-                       <KEYWORD2>mysqli_sqlstate</KEYWORD2>\r
-                       <KEYWORD2>mysqli_ssl_set</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stat</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_bind_param</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_bind_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_close</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_data_seek</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_errno</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_error</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_execute</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_fetch</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_free_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_init</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_num_rows</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_param_count</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_prepare</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_reset</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_result_metadata</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_send_long_data</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_sqlstate</KEYWORD2>\r
-                       <KEYWORD2>mysqli_stmt_store_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_store_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_thread_id</KEYWORD2>\r
-                       <KEYWORD2>mysqli_thread_safe</KEYWORD2>\r
-                       <KEYWORD2>mysqli_use_result</KEYWORD2>\r
-                       <KEYWORD2>mysqli_warning_count</KEYWORD2>\r
-                       <KEYWORD2>name</KEYWORD2> <!-- domattribute, domdocumenttype -->\r
-                       <KEYWORD2>natcasesort</KEYWORD2>\r
-                       <KEYWORD2>natsort</KEYWORD2>\r
-                       <KEYWORD2>ncurses_addch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_addchnstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_addchstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_addnstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_addstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_assume_default_colors</KEYWORD2>\r
-                       <KEYWORD2>ncurses_attroff</KEYWORD2>\r
-                       <KEYWORD2>ncurses_attron</KEYWORD2>\r
-                       <KEYWORD2>ncurses_attrset</KEYWORD2>\r
-                       <KEYWORD2>ncurses_baudrate</KEYWORD2>\r
-                       <KEYWORD2>ncurses_beep</KEYWORD2>\r
-                       <KEYWORD2>ncurses_bkgd</KEYWORD2>\r
-                       <KEYWORD2>ncurses_bkgdset</KEYWORD2>\r
-                       <KEYWORD2>ncurses_border</KEYWORD2>\r
-                       <KEYWORD2>ncurses_bottom_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_can_change_color</KEYWORD2>\r
-                       <KEYWORD2>ncurses_cbreak</KEYWORD2>\r
-                       <KEYWORD2>ncurses_clear</KEYWORD2>\r
-                       <KEYWORD2>ncurses_clrtobot</KEYWORD2>\r
-                       <KEYWORD2>ncurses_clrtoeol</KEYWORD2>\r
-                       <KEYWORD2>ncurses_color_content</KEYWORD2>\r
-                       <KEYWORD2>ncurses_color_set</KEYWORD2>\r
-                       <KEYWORD2>ncurses_curs_set</KEYWORD2>\r
-                       <KEYWORD2>ncurses_def_prog_mode</KEYWORD2>\r
-                       <KEYWORD2>ncurses_def_shell_mode</KEYWORD2>\r
-                       <KEYWORD2>ncurses_define_key</KEYWORD2>\r
-                       <KEYWORD2>ncurses_del_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_delay_output</KEYWORD2>\r
-                       <KEYWORD2>ncurses_delch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_deleteln</KEYWORD2>\r
-                       <KEYWORD2>ncurses_delwin</KEYWORD2>\r
-                       <KEYWORD2>ncurses_doupdate</KEYWORD2>\r
-                       <KEYWORD2>ncurses_echo</KEYWORD2>\r
-                       <KEYWORD2>ncurses_echochar</KEYWORD2>\r
-                       <KEYWORD2>ncurses_end</KEYWORD2>\r
-                       <KEYWORD2>ncurses_erase</KEYWORD2>\r
-                       <KEYWORD2>ncurses_erasechar</KEYWORD2>\r
-                       <KEYWORD2>ncurses_filter</KEYWORD2>\r
-                       <KEYWORD2>ncurses_flash</KEYWORD2>\r
-                       <KEYWORD2>ncurses_flushinp</KEYWORD2>\r
-                       <KEYWORD2>ncurses_getch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_getmaxyx</KEYWORD2>\r
-                       <KEYWORD2>ncurses_getmouse</KEYWORD2>\r
-                       <KEYWORD2>ncurses_getyx</KEYWORD2>\r
-                       <KEYWORD2>ncurses_halfdelay</KEYWORD2>\r
-                       <KEYWORD2>ncurses_has_colors</KEYWORD2>\r
-                       <KEYWORD2>ncurses_has_ic</KEYWORD2>\r
-                       <KEYWORD2>ncurses_has_il</KEYWORD2>\r
-                       <KEYWORD2>ncurses_has_key</KEYWORD2>\r
-                       <KEYWORD2>ncurses_hide_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_hline</KEYWORD2>\r
-                       <KEYWORD2>ncurses_inch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_init</KEYWORD2>\r
-                       <KEYWORD2>ncurses_init_color</KEYWORD2>\r
-                       <KEYWORD2>ncurses_init_pair</KEYWORD2>\r
-                       <KEYWORD2>ncurses_insch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_insdelln</KEYWORD2>\r
-                       <KEYWORD2>ncurses_insertln</KEYWORD2>\r
-                       <KEYWORD2>ncurses_insstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_instr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_isendwin</KEYWORD2>\r
-                       <KEYWORD2>ncurses_keyok</KEYWORD2>\r
-                       <KEYWORD2>ncurses_keypad</KEYWORD2>\r
-                       <KEYWORD2>ncurses_killchar</KEYWORD2>\r
-                       <KEYWORD2>ncurses_longname</KEYWORD2>\r
-                       <KEYWORD2>ncurses_meta</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mouse_trafo</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mouseinterval</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mousemask</KEYWORD2>\r
-                       <KEYWORD2>ncurses_move</KEYWORD2>\r
-                       <KEYWORD2>ncurses_move_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvaddch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvaddchnstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvaddchstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvaddnstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvaddstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvcur</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvdelch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvgetch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvhline</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvinch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvvline</KEYWORD2>\r
-                       <KEYWORD2>ncurses_mvwaddstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_napms</KEYWORD2>\r
-                       <KEYWORD2>ncurses_new_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_newpad</KEYWORD2>\r
-                       <KEYWORD2>ncurses_newwin</KEYWORD2>\r
-                       <KEYWORD2>ncurses_nl</KEYWORD2>\r
-                       <KEYWORD2>ncurses_nocbreak</KEYWORD2>\r
-                       <KEYWORD2>ncurses_noecho</KEYWORD2>\r
-                       <KEYWORD2>ncurses_nonl</KEYWORD2>\r
-                       <KEYWORD2>ncurses_noqiflush</KEYWORD2>\r
-                       <KEYWORD2>ncurses_noraw</KEYWORD2>\r
-                       <KEYWORD2>ncurses_pair_content</KEYWORD2>\r
-                       <KEYWORD2>ncurses_panel_above</KEYWORD2>\r
-                       <KEYWORD2>ncurses_panel_below</KEYWORD2>\r
-                       <KEYWORD2>ncurses_panel_window</KEYWORD2>\r
-                       <KEYWORD2>ncurses_pnoutrefresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_prefresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_putp</KEYWORD2>\r
-                       <KEYWORD2>ncurses_qiflush</KEYWORD2>\r
-                       <KEYWORD2>ncurses_raw</KEYWORD2>\r
-                       <KEYWORD2>ncurses_refresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_replace_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_reset_prog_mode</KEYWORD2>\r
-                       <KEYWORD2>ncurses_reset_shell_mode</KEYWORD2>\r
-                       <KEYWORD2>ncurses_resetty</KEYWORD2>\r
-                       <KEYWORD2>ncurses_savetty</KEYWORD2>\r
-                       <KEYWORD2>ncurses_scr_dump</KEYWORD2>\r
-                       <KEYWORD2>ncurses_scr_init</KEYWORD2>\r
-                       <KEYWORD2>ncurses_scr_restore</KEYWORD2>\r
-                       <KEYWORD2>ncurses_scr_set</KEYWORD2>\r
-                       <KEYWORD2>ncurses_scrl</KEYWORD2>\r
-                       <KEYWORD2>ncurses_show_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_attr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_attroff</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_attron</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_attrset</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_clear</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_color</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_init</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_noutrefresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_refresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_restore</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_set</KEYWORD2>\r
-                       <KEYWORD2>ncurses_slk_touch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_standend</KEYWORD2>\r
-                       <KEYWORD2>ncurses_standout</KEYWORD2>\r
-                       <KEYWORD2>ncurses_start_color</KEYWORD2>\r
-                       <KEYWORD2>ncurses_termattrs</KEYWORD2>\r
-                       <KEYWORD2>ncurses_termname</KEYWORD2>\r
-                       <KEYWORD2>ncurses_timeout</KEYWORD2>\r
-                       <KEYWORD2>ncurses_top_panel</KEYWORD2>\r
-                       <KEYWORD2>ncurses_typeahead</KEYWORD2>\r
-                       <KEYWORD2>ncurses_ungetch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_ungetmouse</KEYWORD2>\r
-                       <KEYWORD2>ncurses_update_panels</KEYWORD2>\r
-                       <KEYWORD2>ncurses_use_default_colors</KEYWORD2>\r
-                       <KEYWORD2>ncurses_use_env</KEYWORD2>\r
-                       <KEYWORD2>ncurses_use_extended_names</KEYWORD2>\r
-                       <KEYWORD2>ncurses_vidattr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_vline</KEYWORD2>\r
-                       <KEYWORD2>ncurses_waddch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_waddstr</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wattroff</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wattron</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wattrset</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wborder</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wclear</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wcolor_set</KEYWORD2>\r
-                       <KEYWORD2>ncurses_werase</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wgetch</KEYWORD2>\r
-                       <KEYWORD2>ncurses_whline</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wmouse_trafo</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wmove</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wnoutrefresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wrefresh</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wstandend</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wstandout</KEYWORD2>\r
-                       <KEYWORD2>ncurses_wvline</KEYWORD2>\r
-                       <KEYWORD2>next</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, parentiterator, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator, tidy_node -->\r
-                       <KEYWORD2>next_sibling</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>nextframe</KEYWORD2> <!-- swfmovie, swfsprite -->\r
-                       <KEYWORD2>ngettext</KEYWORD2>\r
-                       <KEYWORD2>nl2br</KEYWORD2>\r
-                       <KEYWORD2>nl_langinfo</KEYWORD2>\r
-                       <KEYWORD2>node_name</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>node_type</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>node_value</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>normalize</KEYWORD2> <!-- domdocument, domnode -->\r
-                       <KEYWORD2>notations</KEYWORD2> <!-- domdocumenttype -->\r
-                       <KEYWORD2>notes_body</KEYWORD2>\r
-                       <KEYWORD2>notes_copy_db</KEYWORD2>\r
-                       <KEYWORD2>notes_create_db</KEYWORD2>\r
-                       <KEYWORD2>notes_create_note</KEYWORD2>\r
-                       <KEYWORD2>notes_drop_db</KEYWORD2>\r
-                       <KEYWORD2>notes_find_note</KEYWORD2>\r
-                       <KEYWORD2>notes_header_info</KEYWORD2>\r
-                       <KEYWORD2>notes_list_msgs</KEYWORD2>\r
-                       <KEYWORD2>notes_mark_read</KEYWORD2>\r
-                       <KEYWORD2>notes_mark_unread</KEYWORD2>\r
-                       <KEYWORD2>notes_nav_create</KEYWORD2>\r
-                       <KEYWORD2>notes_search</KEYWORD2>\r
-                       <KEYWORD2>notes_unread</KEYWORD2>\r
-                       <KEYWORD2>notes_version</KEYWORD2>\r
-                       <KEYWORD2>nsapi_request_headers</KEYWORD2>\r
-                       <KEYWORD2>nsapi_response_headers</KEYWORD2>\r
-                       <KEYWORD2>nsapi_virtual</KEYWORD2>\r
-                       <KEYWORD2>number_format</KEYWORD2>\r
-                       <KEYWORD2>ob_clean</KEYWORD2>\r
-                       <KEYWORD2>ob_end_clean</KEYWORD2>\r
-                       <KEYWORD2>ob_end_flush</KEYWORD2>\r
-                       <KEYWORD2>ob_flush</KEYWORD2>\r
-                       <KEYWORD2>ob_get_clean</KEYWORD2>\r
-                       <KEYWORD2>ob_get_contents</KEYWORD2>\r
-                       <KEYWORD2>ob_get_flush</KEYWORD2>\r
-                       <KEYWORD2>ob_get_length</KEYWORD2>\r
-                       <KEYWORD2>ob_get_level</KEYWORD2>\r
-                       <KEYWORD2>ob_get_status</KEYWORD2>\r
-                       <KEYWORD2>ob_gzhandler</KEYWORD2>\r
-                       <KEYWORD2>ob_iconv_handler</KEYWORD2>\r
-                       <KEYWORD2>ob_implicit_flush</KEYWORD2>\r
-                       <KEYWORD2>ob_list_handlers</KEYWORD2>\r
-                       <KEYWORD2>ob_start</KEYWORD2>\r
-                       <KEYWORD2>ob_tidyhandler</KEYWORD2>\r
-                       <KEYWORD2>object</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>objectbyanchor</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>oci_bind_by_name</KEYWORD2>\r
-                       <KEYWORD2>oci_cancel</KEYWORD2>\r
-                       <KEYWORD2>oci_close</KEYWORD2>\r
-                       <KEYWORD2>oci_commit</KEYWORD2>\r
-                       <KEYWORD2>oci_connect</KEYWORD2>\r
-                       <KEYWORD2>oci_define_by_name</KEYWORD2>\r
-                       <KEYWORD2>oci_error</KEYWORD2>\r
-                       <KEYWORD2>oci_execute</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch_all</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>oci_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>oci_field_is_null</KEYWORD2>\r
-                       <KEYWORD2>oci_field_name</KEYWORD2>\r
-                       <KEYWORD2>oci_field_precision</KEYWORD2>\r
-                       <KEYWORD2>oci_field_scale</KEYWORD2>\r
-                       <KEYWORD2>oci_field_size</KEYWORD2>\r
-                       <KEYWORD2>oci_field_type</KEYWORD2>\r
-                       <KEYWORD2>oci_field_type_raw</KEYWORD2>\r
-                       <KEYWORD2>oci_free_statement</KEYWORD2>\r
-                       <KEYWORD2>oci_internal_debug</KEYWORD2>\r
-                       <KEYWORD2>oci_lob_copy</KEYWORD2>\r
-                       <KEYWORD2>oci_lob_is_equal</KEYWORD2>\r
-                       <KEYWORD2>oci_new_collection</KEYWORD2>\r
-                       <KEYWORD2>oci_new_connect</KEYWORD2>\r
-                       <KEYWORD2>oci_new_cursor</KEYWORD2>\r
-                       <KEYWORD2>oci_new_descriptor</KEYWORD2>\r
-                       <KEYWORD2>oci_num_fields</KEYWORD2>\r
-                       <KEYWORD2>oci_num_rows</KEYWORD2>\r
-                       <KEYWORD2>oci_parse</KEYWORD2>\r
-                       <KEYWORD2>oci_password_change</KEYWORD2>\r
-                       <KEYWORD2>oci_pconnect</KEYWORD2>\r
-                       <KEYWORD2>oci_result</KEYWORD2>\r
-                       <KEYWORD2>oci_rollback</KEYWORD2>\r
-                       <KEYWORD2>oci_server_version</KEYWORD2>\r
-                       <KEYWORD2>oci_set_prefetch</KEYWORD2>\r
-                       <KEYWORD2>oci_statement_type</KEYWORD2>\r
-                       <KEYWORD2>ocibindbyname</KEYWORD2>\r
-                       <KEYWORD2>ocicancel</KEYWORD2>\r
-                       <KEYWORD2>ocicloselob</KEYWORD2>\r
-                       <KEYWORD2>ocicollappend</KEYWORD2>\r
-                       <KEYWORD2>ocicollassign</KEYWORD2>\r
-                       <KEYWORD2>ocicollassignelem</KEYWORD2>\r
-                       <KEYWORD2>ocicollgetelem</KEYWORD2>\r
-                       <KEYWORD2>ocicollmax</KEYWORD2>\r
-                       <KEYWORD2>ocicollsize</KEYWORD2>\r
-                       <KEYWORD2>ocicolltrim</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnisnull</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnname</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnprecision</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnscale</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnsize</KEYWORD2>\r
-                       <KEYWORD2>ocicolumntype</KEYWORD2>\r
-                       <KEYWORD2>ocicolumntyperaw</KEYWORD2>\r
-                       <KEYWORD2>ocicommit</KEYWORD2>\r
-                       <KEYWORD2>ocidefinebyname</KEYWORD2>\r
-                       <KEYWORD2>ocierror</KEYWORD2>\r
-                       <KEYWORD2>ociexecute</KEYWORD2>\r
-                       <KEYWORD2>ocifetch</KEYWORD2>\r
-                       <KEYWORD2>ocifetchinto</KEYWORD2>\r
-                       <KEYWORD2>ocifetchstatement</KEYWORD2>\r
-                       <KEYWORD2>ocifreecollection</KEYWORD2>\r
-                       <KEYWORD2>ocifreecursor</KEYWORD2>\r
-                       <KEYWORD2>ocifreedesc</KEYWORD2>\r
-                       <KEYWORD2>ocifreestatement</KEYWORD2>\r
-                       <KEYWORD2>ociinternaldebug</KEYWORD2>\r
-                       <KEYWORD2>ociloadlob</KEYWORD2>\r
-                       <KEYWORD2>ocilogoff</KEYWORD2>\r
-                       <KEYWORD2>ocilogon</KEYWORD2>\r
-                       <KEYWORD2>ocinewcollection</KEYWORD2>\r
-                       <KEYWORD2>ocinewcursor</KEYWORD2>\r
-                       <KEYWORD2>ocinewdescriptor</KEYWORD2>\r
-                       <KEYWORD2>ocinlogon</KEYWORD2>\r
-                       <KEYWORD2>ocinumcols</KEYWORD2>\r
-                       <KEYWORD2>ociparse</KEYWORD2>\r
-                       <KEYWORD2>ociplogon</KEYWORD2>\r
-                       <KEYWORD2>ociresult</KEYWORD2>\r
-                       <KEYWORD2>ocirollback</KEYWORD2>\r
-                       <KEYWORD2>ocirowcount</KEYWORD2>\r
-                       <KEYWORD2>ocisavelob</KEYWORD2>\r
-                       <KEYWORD2>ocisavelobfile</KEYWORD2>\r
-                       <KEYWORD2>ociserverversion</KEYWORD2>\r
-                       <KEYWORD2>ocisetprefetch</KEYWORD2>\r
-                       <KEYWORD2>ocistatementtype</KEYWORD2>\r
-                       <KEYWORD2>ociwritelobtofile</KEYWORD2>\r
-                       <KEYWORD2>ociwritetemporarylob</KEYWORD2>\r
-                       <KEYWORD2>octdec</KEYWORD2>\r
-                       <KEYWORD2>odbc_autocommit</KEYWORD2>\r
-                       <KEYWORD2>odbc_binmode</KEYWORD2>\r
-                       <KEYWORD2>odbc_close</KEYWORD2>\r
-                       <KEYWORD2>odbc_close_all</KEYWORD2>\r
-                       <KEYWORD2>odbc_columnprivileges</KEYWORD2>\r
-                       <KEYWORD2>odbc_columns</KEYWORD2>\r
-                       <KEYWORD2>odbc_commit</KEYWORD2>\r
-                       <KEYWORD2>odbc_connect</KEYWORD2>\r
-                       <KEYWORD2>odbc_cursor</KEYWORD2>\r
-                       <KEYWORD2>odbc_data_source</KEYWORD2>\r
-                       <KEYWORD2>odbc_do</KEYWORD2>\r
-                       <KEYWORD2>odbc_error</KEYWORD2>\r
-                       <KEYWORD2>odbc_errormsg</KEYWORD2>\r
-                       <KEYWORD2>odbc_exec</KEYWORD2>\r
-                       <KEYWORD2>odbc_execute</KEYWORD2>\r
-                       <KEYWORD2>odbc_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>odbc_fetch_into</KEYWORD2>\r
-                       <KEYWORD2>odbc_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>odbc_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_len</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_name</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_num</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_precision</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_scale</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_type</KEYWORD2>\r
-                       <KEYWORD2>odbc_foreignkeys</KEYWORD2>\r
-                       <KEYWORD2>odbc_free_result</KEYWORD2>\r
-                       <KEYWORD2>odbc_gettypeinfo</KEYWORD2>\r
-                       <KEYWORD2>odbc_longreadlen</KEYWORD2>\r
-                       <KEYWORD2>odbc_next_result</KEYWORD2>\r
-                       <KEYWORD2>odbc_num_fields</KEYWORD2>\r
-                       <KEYWORD2>odbc_num_rows</KEYWORD2>\r
-                       <KEYWORD2>odbc_pconnect</KEYWORD2>\r
-                       <KEYWORD2>odbc_prepare</KEYWORD2>\r
-                       <KEYWORD2>odbc_primarykeys</KEYWORD2>\r
-                       <KEYWORD2>odbc_procedurecolumns</KEYWORD2>\r
-                       <KEYWORD2>odbc_procedures</KEYWORD2>\r
-                       <KEYWORD2>odbc_result</KEYWORD2>\r
-                       <KEYWORD2>odbc_result_all</KEYWORD2>\r
-                       <KEYWORD2>odbc_rollback</KEYWORD2>\r
-                       <KEYWORD2>odbc_setoption</KEYWORD2>\r
-                       <KEYWORD2>odbc_specialcolumns</KEYWORD2>\r
-                       <KEYWORD2>odbc_statistics</KEYWORD2>\r
-                       <KEYWORD2>odbc_tableprivileges</KEYWORD2>\r
-                       <KEYWORD2>odbc_tables</KEYWORD2>\r
-                       <KEYWORD2>offsetexists</KEYWORD2> <!-- arrayobject -->\r
-                       <KEYWORD2>offsetget</KEYWORD2> <!-- arrayobject -->\r
-                       <KEYWORD2>offsetset</KEYWORD2> <!-- arrayobject -->\r
-                       <KEYWORD2>offsetunset</KEYWORD2> <!-- arrayobject -->\r
-                       <KEYWORD2>openal_buffer_create</KEYWORD2>\r
-                       <KEYWORD2>openal_buffer_data</KEYWORD2>\r
-                       <KEYWORD2>openal_buffer_destroy</KEYWORD2>\r
-                       <KEYWORD2>openal_buffer_get</KEYWORD2>\r
-                       <KEYWORD2>openal_buffer_loadwav</KEYWORD2>\r
-                       <KEYWORD2>openal_context_create</KEYWORD2>\r
-                       <KEYWORD2>openal_context_current</KEYWORD2>\r
-                       <KEYWORD2>openal_context_destroy</KEYWORD2>\r
-                       <KEYWORD2>openal_context_process</KEYWORD2>\r
-                       <KEYWORD2>openal_context_suspend</KEYWORD2>\r
-                       <KEYWORD2>openal_device_close</KEYWORD2>\r
-                       <KEYWORD2>openal_device_open</KEYWORD2>\r
-                       <KEYWORD2>openal_listener_get</KEYWORD2>\r
-                       <KEYWORD2>openal_listener_set</KEYWORD2>\r
-                       <KEYWORD2>openal_source_create</KEYWORD2>\r
-                       <KEYWORD2>openal_source_destroy</KEYWORD2>\r
-                       <KEYWORD2>openal_source_get</KEYWORD2>\r
-                       <KEYWORD2>openal_source_pause</KEYWORD2>\r
-                       <KEYWORD2>openal_source_play</KEYWORD2>\r
-                       <KEYWORD2>openal_source_rewind</KEYWORD2>\r
-                       <KEYWORD2>openal_source_set</KEYWORD2>\r
-                       <KEYWORD2>openal_source_stop</KEYWORD2>\r
-                       <KEYWORD2>openal_stream</KEYWORD2>\r
-                       <KEYWORD2>opendir</KEYWORD2>\r
-                       <KEYWORD2>openlog</KEYWORD2>\r
-                       <KEYWORD2>openssl_csr_export</KEYWORD2>\r
-                       <KEYWORD2>openssl_csr_export_to_file</KEYWORD2>\r
-                       <KEYWORD2>openssl_csr_new</KEYWORD2>\r
-                       <KEYWORD2>openssl_csr_sign</KEYWORD2>\r
-                       <KEYWORD2>openssl_error_string</KEYWORD2>\r
-                       <KEYWORD2>openssl_free_key</KEYWORD2>\r
-                       <KEYWORD2>openssl_get_privatekey</KEYWORD2>\r
-                       <KEYWORD2>openssl_get_publickey</KEYWORD2>\r
-                       <KEYWORD2>openssl_open</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkcs7_decrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkcs7_encrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkcs7_sign</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkcs7_verify</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkey_export</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkey_export_to_file</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkey_get_private</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkey_get_public</KEYWORD2>\r
-                       <KEYWORD2>openssl_pkey_new</KEYWORD2>\r
-                       <KEYWORD2>openssl_private_decrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_private_encrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_public_decrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_public_encrypt</KEYWORD2>\r
-                       <KEYWORD2>openssl_seal</KEYWORD2>\r
-                       <KEYWORD2>openssl_sign</KEYWORD2>\r
-                       <KEYWORD2>openssl_verify</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_check_private_key</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_checkpurpose</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_export</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_export_to_file</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_free</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_parse</KEYWORD2>\r
-                       <KEYWORD2>openssl_x509_read</KEYWORD2>\r
-                       <KEYWORD2>ora_bind</KEYWORD2>\r
-                       <KEYWORD2>ora_close</KEYWORD2>\r
-                       <KEYWORD2>ora_columnname</KEYWORD2>\r
-                       <KEYWORD2>ora_columnsize</KEYWORD2>\r
-                       <KEYWORD2>ora_columntype</KEYWORD2>\r
-                       <KEYWORD2>ora_commit</KEYWORD2>\r
-                       <KEYWORD2>ora_commitoff</KEYWORD2>\r
-                       <KEYWORD2>ora_commiton</KEYWORD2>\r
-                       <KEYWORD2>ora_do</KEYWORD2>\r
-                       <KEYWORD2>ora_error</KEYWORD2>\r
-                       <KEYWORD2>ora_errorcode</KEYWORD2>\r
-                       <KEYWORD2>ora_exec</KEYWORD2>\r
-                       <KEYWORD2>ora_fetch</KEYWORD2>\r
-                       <KEYWORD2>ora_fetch_into</KEYWORD2>\r
-                       <KEYWORD2>ora_getcolumn</KEYWORD2>\r
-                       <KEYWORD2>ora_logoff</KEYWORD2>\r
-                       <KEYWORD2>ora_logon</KEYWORD2>\r
-                       <KEYWORD2>ora_numcols</KEYWORD2>\r
-                       <KEYWORD2>ora_numrows</KEYWORD2>\r
-                       <KEYWORD2>ora_open</KEYWORD2>\r
-                       <KEYWORD2>ora_parse</KEYWORD2>\r
-                       <KEYWORD2>ora_plogon</KEYWORD2>\r
-                       <KEYWORD2>ora_rollback</KEYWORD2>\r
-                       <KEYWORD2>ord</KEYWORD2>\r
-                       <KEYWORD2>output</KEYWORD2> <!-- swfmovie -->\r
-                       <KEYWORD2>output_add_rewrite_var</KEYWORD2>\r
-                       <KEYWORD2>output_reset_rewrite_vars</KEYWORD2>\r
-                       <KEYWORD2>overload</KEYWORD2>\r
-                       <KEYWORD2>override_function</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_close</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_commit</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_connect</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_cursor</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_exec</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_execute</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_fetch_into</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_field_len</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_field_name</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_field_num</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_field_type</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_free_result</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_longreadlen</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_num_fields</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_num_rows</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_prepare</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_result</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_result_all</KEYWORD2>\r
-                       <KEYWORD2>ovrimos_rollback</KEYWORD2>\r
-                       <KEYWORD2>owner_document</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>pack</KEYWORD2>\r
-                       <KEYWORD2>parent_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>parents</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>parse_ini_file</KEYWORD2>\r
-                       <KEYWORD2>parse_str</KEYWORD2>\r
-                       <KEYWORD2>parse_url</KEYWORD2>\r
-                       <KEYWORD2>parsekit_compile_file</KEYWORD2>\r
-                       <KEYWORD2>parsekit_compile_string</KEYWORD2>\r
-                       <KEYWORD2>parsekit_func_arginfo</KEYWORD2>\r
-                       <KEYWORD2>passthru</KEYWORD2>\r
-                       <KEYWORD2>pathinfo</KEYWORD2>\r
-                       <KEYWORD2>pclose</KEYWORD2>\r
-                       <KEYWORD2>pcntl_alarm</KEYWORD2>\r
-                       <KEYWORD2>pcntl_exec</KEYWORD2>\r
-                       <KEYWORD2>pcntl_fork</KEYWORD2>\r
-                       <KEYWORD2>pcntl_getpriority</KEYWORD2>\r
-                       <KEYWORD2>pcntl_setpriority</KEYWORD2>\r
-                       <KEYWORD2>pcntl_signal</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wait</KEYWORD2>\r
-                       <KEYWORD2>pcntl_waitpid</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wexitstatus</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wifexited</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wifsignaled</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wifstopped</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wstopsig</KEYWORD2>\r
-                       <KEYWORD2>pcntl_wtermsig</KEYWORD2>\r
-                       <KEYWORD2>pconnect</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>pdf_add_annotation</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_bookmark</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_launchlink</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_locallink</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_note</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_outline</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_pdflink</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_thumbnail</KEYWORD2>\r
-                       <KEYWORD2>pdf_add_weblink</KEYWORD2>\r
-                       <KEYWORD2>pdf_arc</KEYWORD2>\r
-                       <KEYWORD2>pdf_arcn</KEYWORD2>\r
-                       <KEYWORD2>pdf_attach_file</KEYWORD2>\r
-                       <KEYWORD2>pdf_begin_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_begin_pattern</KEYWORD2>\r
-                       <KEYWORD2>pdf_begin_template</KEYWORD2>\r
-                       <KEYWORD2>pdf_circle</KEYWORD2>\r
-                       <KEYWORD2>pdf_clip</KEYWORD2>\r
-                       <KEYWORD2>pdf_close</KEYWORD2>\r
-                       <KEYWORD2>pdf_close_image</KEYWORD2>\r
-                       <KEYWORD2>pdf_close_pdi</KEYWORD2>\r
-                       <KEYWORD2>pdf_close_pdi_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_closepath</KEYWORD2>\r
-                       <KEYWORD2>pdf_closepath_fill_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_closepath_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_concat</KEYWORD2>\r
-                       <KEYWORD2>pdf_continue_text</KEYWORD2>\r
-                       <KEYWORD2>pdf_curveto</KEYWORD2>\r
-                       <KEYWORD2>pdf_delete</KEYWORD2>\r
-                       <KEYWORD2>pdf_end_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_end_pattern</KEYWORD2>\r
-                       <KEYWORD2>pdf_end_template</KEYWORD2>\r
-                       <KEYWORD2>pdf_endpath</KEYWORD2>\r
-                       <KEYWORD2>pdf_fill</KEYWORD2>\r
-                       <KEYWORD2>pdf_fill_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_findfont</KEYWORD2>\r
-                       <KEYWORD2>pdf_fit_pdi_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_buffer</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_font</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_fontname</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_fontsize</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_image_height</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_image_width</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_majorversion</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_minorversion</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_parameter</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_pdi_parameter</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_pdi_value</KEYWORD2>\r
-                       <KEYWORD2>pdf_get_value</KEYWORD2>\r
-                       <KEYWORD2>pdf_initgraphics</KEYWORD2>\r
-                       <KEYWORD2>pdf_lineto</KEYWORD2>\r
-                       <KEYWORD2>pdf_load_font</KEYWORD2>\r
-                       <KEYWORD2>pdf_makespotcolor</KEYWORD2>\r
-                       <KEYWORD2>pdf_moveto</KEYWORD2>\r
-                       <KEYWORD2>pdf_new</KEYWORD2>\r
-                       <KEYWORD2>pdf_open</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_ccitt</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_file</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_gif</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_image</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_image_file</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_jpeg</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_memory_image</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_pdi</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_pdi_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_png</KEYWORD2>\r
-                       <KEYWORD2>pdf_open_tiff</KEYWORD2>\r
-                       <KEYWORD2>pdf_place_image</KEYWORD2>\r
-                       <KEYWORD2>pdf_place_pdi_page</KEYWORD2>\r
-                       <KEYWORD2>pdf_rect</KEYWORD2>\r
-                       <KEYWORD2>pdf_restore</KEYWORD2>\r
-                       <KEYWORD2>pdf_rotate</KEYWORD2>\r
-                       <KEYWORD2>pdf_save</KEYWORD2>\r
-                       <KEYWORD2>pdf_scale</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_border_color</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_border_dash</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_border_style</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_char_spacing</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_duration</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_font</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_horiz_scaling</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info_author</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info_creator</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info_keywords</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info_subject</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_info_title</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_leading</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_parameter</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_text_matrix</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_text_pos</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_text_rendering</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_text_rise</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_value</KEYWORD2>\r
-                       <KEYWORD2>pdf_set_word_spacing</KEYWORD2>\r
-                       <KEYWORD2>pdf_setcolor</KEYWORD2>\r
-                       <KEYWORD2>pdf_setdash</KEYWORD2>\r
-                       <KEYWORD2>pdf_setflat</KEYWORD2>\r
-                       <KEYWORD2>pdf_setfont</KEYWORD2>\r
-                       <KEYWORD2>pdf_setgray</KEYWORD2>\r
-                       <KEYWORD2>pdf_setgray_fill</KEYWORD2>\r
-                       <KEYWORD2>pdf_setgray_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_setlinecap</KEYWORD2>\r
-                       <KEYWORD2>pdf_setlinejoin</KEYWORD2>\r
-                       <KEYWORD2>pdf_setlinewidth</KEYWORD2>\r
-                       <KEYWORD2>pdf_setmatrix</KEYWORD2>\r
-                       <KEYWORD2>pdf_setmiterlimit</KEYWORD2>\r
-                       <KEYWORD2>pdf_setpolydash</KEYWORD2>\r
-                       <KEYWORD2>pdf_setrgbcolor</KEYWORD2>\r
-                       <KEYWORD2>pdf_setrgbcolor_fill</KEYWORD2>\r
-                       <KEYWORD2>pdf_setrgbcolor_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_show</KEYWORD2>\r
-                       <KEYWORD2>pdf_show_boxed</KEYWORD2>\r
-                       <KEYWORD2>pdf_show_xy</KEYWORD2>\r
-                       <KEYWORD2>pdf_skew</KEYWORD2>\r
-                       <KEYWORD2>pdf_stringwidth</KEYWORD2>\r
-                       <KEYWORD2>pdf_stroke</KEYWORD2>\r
-                       <KEYWORD2>pdf_translate</KEYWORD2>\r
-                       <KEYWORD2>pfpro_cleanup</KEYWORD2>\r
-                       <KEYWORD2>pfpro_init</KEYWORD2>\r
-                       <KEYWORD2>pfpro_process</KEYWORD2>\r
-                       <KEYWORD2>pfpro_process_raw</KEYWORD2>\r
-                       <KEYWORD2>pfpro_version</KEYWORD2>\r
-                       <KEYWORD2>pfsockopen</KEYWORD2>\r
-                       <KEYWORD2>pg_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>pg_cancel_query</KEYWORD2>\r
-                       <KEYWORD2>pg_client_encoding</KEYWORD2>\r
-                       <KEYWORD2>pg_close</KEYWORD2>\r
-                       <KEYWORD2>pg_connect</KEYWORD2>\r
-                       <KEYWORD2>pg_connection_busy</KEYWORD2>\r
-                       <KEYWORD2>pg_connection_reset</KEYWORD2>\r
-                       <KEYWORD2>pg_connection_status</KEYWORD2>\r
-                       <KEYWORD2>pg_convert</KEYWORD2>\r
-                       <KEYWORD2>pg_copy_from</KEYWORD2>\r
-                       <KEYWORD2>pg_copy_to</KEYWORD2>\r
-                       <KEYWORD2>pg_dbname</KEYWORD2>\r
-                       <KEYWORD2>pg_delete</KEYWORD2>\r
-                       <KEYWORD2>pg_end_copy</KEYWORD2>\r
-                       <KEYWORD2>pg_escape_bytea</KEYWORD2>\r
-                       <KEYWORD2>pg_escape_string</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_all</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_result</KEYWORD2>\r
-                       <KEYWORD2>pg_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>pg_field_is_null</KEYWORD2>\r
-                       <KEYWORD2>pg_field_name</KEYWORD2>\r
-                       <KEYWORD2>pg_field_num</KEYWORD2>\r
-                       <KEYWORD2>pg_field_prtlen</KEYWORD2>\r
-                       <KEYWORD2>pg_field_size</KEYWORD2>\r
-                       <KEYWORD2>pg_field_type</KEYWORD2>\r
-                       <KEYWORD2>pg_free_result</KEYWORD2>\r
-                       <KEYWORD2>pg_get_notify</KEYWORD2>\r
-                       <KEYWORD2>pg_get_pid</KEYWORD2>\r
-                       <KEYWORD2>pg_get_result</KEYWORD2>\r
-                       <KEYWORD2>pg_host</KEYWORD2>\r
-                       <KEYWORD2>pg_insert</KEYWORD2>\r
-                       <KEYWORD2>pg_last_error</KEYWORD2>\r
-                       <KEYWORD2>pg_last_notice</KEYWORD2>\r
-                       <KEYWORD2>pg_last_oid</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_close</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_create</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_export</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_import</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_open</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_read</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_read_all</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_seek</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_tell</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_unlink</KEYWORD2>\r
-                       <KEYWORD2>pg_lo_write</KEYWORD2>\r
-                       <KEYWORD2>pg_meta_data</KEYWORD2>\r
-                       <KEYWORD2>pg_num_fields</KEYWORD2>\r
-                       <KEYWORD2>pg_num_rows</KEYWORD2>\r
-                       <KEYWORD2>pg_options</KEYWORD2>\r
-                       <KEYWORD2>pg_parameter_status</KEYWORD2>\r
-                       <KEYWORD2>pg_pconnect</KEYWORD2>\r
-                       <KEYWORD2>pg_ping</KEYWORD2>\r
-                       <KEYWORD2>pg_port</KEYWORD2>\r
-                       <KEYWORD2>pg_put_line</KEYWORD2>\r
-                       <KEYWORD2>pg_query</KEYWORD2>\r
-                       <KEYWORD2>pg_result_error</KEYWORD2>\r
-                       <KEYWORD2>pg_result_seek</KEYWORD2>\r
-                       <KEYWORD2>pg_result_status</KEYWORD2>\r
-                       <KEYWORD2>pg_select</KEYWORD2>\r
-                       <KEYWORD2>pg_send_query</KEYWORD2>\r
-                       <KEYWORD2>pg_set_client_encoding</KEYWORD2>\r
-                       <KEYWORD2>pg_trace</KEYWORD2>\r
-                       <KEYWORD2>pg_tty</KEYWORD2>\r
-                       <KEYWORD2>pg_unescape_bytea</KEYWORD2>\r
-                       <KEYWORD2>pg_untrace</KEYWORD2>\r
-                       <KEYWORD2>pg_update</KEYWORD2>\r
-                       <KEYWORD2>pg_version</KEYWORD2>\r
-                       <KEYWORD2>php_check_syntax</KEYWORD2>\r
-                       <KEYWORD2>php_ini_scanned_files</KEYWORD2>\r
-                       <KEYWORD2>php_logo_guid</KEYWORD2>\r
-                       <KEYWORD2>php_sapi_name</KEYWORD2>\r
-                       <KEYWORD2>php_strip_whitespace</KEYWORD2>\r
-                       <KEYWORD2>php_uname</KEYWORD2>\r
-                       <KEYWORD2>phpcredits</KEYWORD2>\r
-                       <KEYWORD2>phpinfo</KEYWORD2>\r
-                       <KEYWORD2>phpversion</KEYWORD2>\r
-                       <KEYWORD2>pi</KEYWORD2>\r
-                       <KEYWORD2>png2wbmp</KEYWORD2>\r
-                       <KEYWORD2>popen</KEYWORD2>\r
-                       <KEYWORD2>pos</KEYWORD2>\r
-                       <KEYWORD2>posix_ctermid</KEYWORD2>\r
-                       <KEYWORD2>posix_get_last_error</KEYWORD2>\r
-                       <KEYWORD2>posix_getcwd</KEYWORD2>\r
-                       <KEYWORD2>posix_getegid</KEYWORD2>\r
-                       <KEYWORD2>posix_geteuid</KEYWORD2>\r
-                       <KEYWORD2>posix_getgid</KEYWORD2>\r
-                       <KEYWORD2>posix_getgrgid</KEYWORD2>\r
-                       <KEYWORD2>posix_getgrnam</KEYWORD2>\r
-                       <KEYWORD2>posix_getgroups</KEYWORD2>\r
-                       <KEYWORD2>posix_getlogin</KEYWORD2>\r
-                       <KEYWORD2>posix_getpgid</KEYWORD2>\r
-                       <KEYWORD2>posix_getpgrp</KEYWORD2>\r
-                       <KEYWORD2>posix_getpid</KEYWORD2>\r
-                       <KEYWORD2>posix_getppid</KEYWORD2>\r
-                       <KEYWORD2>posix_getpwnam</KEYWORD2>\r
-                       <KEYWORD2>posix_getpwuid</KEYWORD2>\r
-                       <KEYWORD2>posix_getrlimit</KEYWORD2>\r
-                       <KEYWORD2>posix_getsid</KEYWORD2>\r
-                       <KEYWORD2>posix_getuid</KEYWORD2>\r
-                       <KEYWORD2>posix_isatty</KEYWORD2>\r
-                       <KEYWORD2>posix_kill</KEYWORD2>\r
-                       <KEYWORD2>posix_mkfifo</KEYWORD2>\r
-                       <KEYWORD2>posix_setegid</KEYWORD2>\r
-                       <KEYWORD2>posix_seteuid</KEYWORD2>\r
-                       <KEYWORD2>posix_setgid</KEYWORD2>\r
-                       <KEYWORD2>posix_setpgid</KEYWORD2>\r
-                       <KEYWORD2>posix_setsid</KEYWORD2>\r
-                       <KEYWORD2>posix_setuid</KEYWORD2>\r
-                       <KEYWORD2>posix_strerror</KEYWORD2>\r
-                       <KEYWORD2>posix_times</KEYWORD2>\r
-                       <KEYWORD2>posix_ttyname</KEYWORD2>\r
-                       <KEYWORD2>posix_uname</KEYWORD2>\r
-                       <KEYWORD2>pow</KEYWORD2>\r
-                       <KEYWORD2>prefix</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>preg_grep</KEYWORD2>\r
-                       <KEYWORD2>preg_match</KEYWORD2>\r
-                       <KEYWORD2>preg_match_all</KEYWORD2>\r
-                       <KEYWORD2>preg_quote</KEYWORD2>\r
-                       <KEYWORD2>preg_replace</KEYWORD2>\r
-                       <KEYWORD2>preg_replace_callback</KEYWORD2>\r
-                       <KEYWORD2>preg_split</KEYWORD2>\r
-                       <KEYWORD2>prepare</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>prev</KEYWORD2> <!-- tidy_node -->\r
-                       <KEYWORD2>previous_sibling</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>print_r</KEYWORD2>\r
-                       <KEYWORD2>printer_abort</KEYWORD2>\r
-                       <KEYWORD2>printer_close</KEYWORD2>\r
-                       <KEYWORD2>printer_create_brush</KEYWORD2>\r
-                       <KEYWORD2>printer_create_dc</KEYWORD2>\r
-                       <KEYWORD2>printer_create_font</KEYWORD2>\r
-                       <KEYWORD2>printer_create_pen</KEYWORD2>\r
-                       <KEYWORD2>printer_delete_brush</KEYWORD2>\r
-                       <KEYWORD2>printer_delete_dc</KEYWORD2>\r
-                       <KEYWORD2>printer_delete_font</KEYWORD2>\r
-                       <KEYWORD2>printer_delete_pen</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_bmp</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_chord</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_elipse</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_line</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_pie</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_rectangle</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_roundrect</KEYWORD2>\r
-                       <KEYWORD2>printer_draw_text</KEYWORD2>\r
-                       <KEYWORD2>printer_end_doc</KEYWORD2>\r
-                       <KEYWORD2>printer_end_page</KEYWORD2>\r
-                       <KEYWORD2>printer_get_option</KEYWORD2>\r
-                       <KEYWORD2>printer_list</KEYWORD2>\r
-                       <KEYWORD2>printer_logical_fontheight</KEYWORD2>\r
-                       <KEYWORD2>printer_open</KEYWORD2>\r
-                       <KEYWORD2>printer_select_brush</KEYWORD2>\r
-                       <KEYWORD2>printer_select_font</KEYWORD2>\r
-                       <KEYWORD2>printer_select_pen</KEYWORD2>\r
-                       <KEYWORD2>printer_set_option</KEYWORD2>\r
-                       <KEYWORD2>printer_start_doc</KEYWORD2>\r
-                       <KEYWORD2>printer_start_page</KEYWORD2>\r
-                       <KEYWORD2>printer_write</KEYWORD2>\r
-                       <KEYWORD2>printf</KEYWORD2>\r
-                       <KEYWORD2>proc_close</KEYWORD2>\r
-                       <KEYWORD2>proc_get_status</KEYWORD2>\r
-                       <KEYWORD2>proc_nice</KEYWORD2>\r
-                       <KEYWORD2>proc_open</KEYWORD2>\r
-                       <KEYWORD2>proc_terminate</KEYWORD2>\r
-                       <KEYWORD2>process</KEYWORD2> <!-- domxsltstylesheet -->\r
-                       <KEYWORD2>pspell_add_to_personal</KEYWORD2>\r
-                       <KEYWORD2>pspell_add_to_session</KEYWORD2>\r
-                       <KEYWORD2>pspell_check</KEYWORD2>\r
-                       <KEYWORD2>pspell_clear_session</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_create</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_data_dir</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_dict_dir</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_ignore</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_mode</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_personal</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_repl</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_runtogether</KEYWORD2>\r
-                       <KEYWORD2>pspell_config_save_repl</KEYWORD2>\r
-                       <KEYWORD2>pspell_new</KEYWORD2>\r
-                       <KEYWORD2>pspell_new_config</KEYWORD2>\r
-                       <KEYWORD2>pspell_new_personal</KEYWORD2>\r
-                       <KEYWORD2>pspell_save_wordlist</KEYWORD2>\r
-                       <KEYWORD2>pspell_store_replacement</KEYWORD2>\r
-                       <KEYWORD2>pspell_suggest</KEYWORD2>\r
-                       <KEYWORD2>public_id</KEYWORD2> <!-- domdocumenttype -->\r
-                       <KEYWORD2>putenv</KEYWORD2>\r
-                       <KEYWORD2>qdom_error</KEYWORD2>\r
-                       <KEYWORD2>qdom_tree</KEYWORD2>\r
-                       <KEYWORD2>query</KEYWORD2> <!-- domxpath -->\r
-                       <KEYWORD2>quoted_printable_decode</KEYWORD2>\r
-                       <KEYWORD2>quotemeta</KEYWORD2>\r
-                       <KEYWORD2>rad2deg</KEYWORD2>\r
-                       <KEYWORD2>rand</KEYWORD2>\r
-                       <KEYWORD2>range</KEYWORD2>\r
-                       <KEYWORD2>rar_close</KEYWORD2>\r
-                       <KEYWORD2>rar_entry_get</KEYWORD2>\r
-                       <KEYWORD2>rar_list</KEYWORD2>\r
-                       <KEYWORD2>rar_open</KEYWORD2>\r
-                       <KEYWORD2>rawurldecode</KEYWORD2>\r
-                       <KEYWORD2>rawurlencode</KEYWORD2>\r
-                       <KEYWORD2>read</KEYWORD2> <!-- hw_api_content, lob -->\r
-                       <KEYWORD2>read_exif_data</KEYWORD2>\r
-                       <KEYWORD2>readdir</KEYWORD2>\r
-                       <KEYWORD2>readfile</KEYWORD2>\r
-                       <KEYWORD2>readgzfile</KEYWORD2>\r
-                       <KEYWORD2>readline</KEYWORD2>\r
-                       <KEYWORD2>readline_add_history</KEYWORD2>\r
-                       <KEYWORD2>readline_callback_handler_install</KEYWORD2>\r
-                       <KEYWORD2>readline_callback_handler_remove</KEYWORD2>\r
-                       <KEYWORD2>readline_callback_read_char</KEYWORD2>\r
-                       <KEYWORD2>readline_clear_history</KEYWORD2>\r
-                       <KEYWORD2>readline_completion_function</KEYWORD2>\r
-                       <KEYWORD2>readline_info</KEYWORD2>\r
-                       <KEYWORD2>readline_list_history</KEYWORD2>\r
-                       <KEYWORD2>readline_on_new_line</KEYWORD2>\r
-                       <KEYWORD2>readline_read_history</KEYWORD2>\r
-                       <KEYWORD2>readline_redisplay</KEYWORD2>\r
-                       <KEYWORD2>readline_write_history</KEYWORD2>\r
-                       <KEYWORD2>readlink</KEYWORD2>\r
-                       <KEYWORD2>realpath</KEYWORD2>\r
-                       <KEYWORD2>reason</KEYWORD2> <!-- hw_api_error -->\r
-                       <KEYWORD2>recode</KEYWORD2>\r
-                       <KEYWORD2>recode_file</KEYWORD2>\r
-                       <KEYWORD2>recode_string</KEYWORD2>\r
-                       <KEYWORD2>register_shutdown_function</KEYWORD2>\r
-                       <KEYWORD2>register_tick_function</KEYWORD2>\r
-                       <KEYWORD2>registernamespace</KEYWORD2> <!-- domxpath -->\r
-                       <KEYWORD2>relaxngvalidate</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>relaxngvalidatesource</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>remove</KEYWORD2> <!-- hw_api, hw_api_object, swfdisplayitem, swfmovie, swfsprite -->\r
-                       <KEYWORD2>remove_attribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>remove_child</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>removeattribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>removeattributenode</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>removeattributens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>removechild</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>rename</KEYWORD2>\r
-                       <KEYWORD2>rename_function</KEYWORD2>\r
-                       <KEYWORD2>replace</KEYWORD2> <!-- hw_api, memcache -->\r
-                       <KEYWORD2>replace_child</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>replace_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>replacechild</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>replacedata</KEYWORD2> <!-- domcharacterdata -->\r
-                       <KEYWORD2>reset</KEYWORD2>\r
-                       <KEYWORD2>restore_error_handler</KEYWORD2>\r
-                       <KEYWORD2>restore_exception_handler</KEYWORD2>\r
-                       <KEYWORD2>restore_include_path</KEYWORD2>\r
-                       <KEYWORD2>result_dump_file</KEYWORD2> <!-- domxsltstylesheet -->\r
-                       <KEYWORD2>result_dump_mem</KEYWORD2> <!-- domxsltstylesheet -->\r
-                       <KEYWORD2>rewind</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, lob, parentiterator, recursivedirectoryiterator, recursiveiteratoriterator, simplexmliterator -->\r
-                       <KEYWORD2>rewinddir</KEYWORD2>\r
-                       <KEYWORD2>rmdir</KEYWORD2>\r
-                       <KEYWORD2>rollback</KEYWORD2> <!-- pdo -->\r
-                       <KEYWORD2>rotate</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>rotateto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
-                       <KEYWORD2>round</KEYWORD2>\r
-                       <KEYWORD2>rowcount</KEYWORD2> <!-- pdostatement -->\r
-                       <KEYWORD2>rsort</KEYWORD2>\r
-                       <KEYWORD2>rtrim</KEYWORD2>\r
-                       <KEYWORD2>save</KEYWORD2> <!-- domdocument, lob, swfmovie -->\r
-                       <KEYWORD2>savehtml</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>savehtmlfile</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>savexml</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>scale</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>scaleto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
-                       <KEYWORD2>scandir</KEYWORD2>\r
-                       <KEYWORD2>schemavalidate</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>schemavalidatesource</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>seek</KEYWORD2> <!-- arrayiterator, limititerator, lob -->\r
-                       <KEYWORD2>sem_acquire</KEYWORD2>\r
-                       <KEYWORD2>sem_get</KEYWORD2>\r
-                       <KEYWORD2>sem_release</KEYWORD2>\r
-                       <KEYWORD2>sem_remove</KEYWORD2>\r
-                       <KEYWORD2>serialize</KEYWORD2>\r
-                       <KEYWORD2>sesam_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>sesam_commit</KEYWORD2>\r
-                       <KEYWORD2>sesam_connect</KEYWORD2>\r
-                       <KEYWORD2>sesam_diagnostic</KEYWORD2>\r
-                       <KEYWORD2>sesam_disconnect</KEYWORD2>\r
-                       <KEYWORD2>sesam_errormsg</KEYWORD2>\r
-                       <KEYWORD2>sesam_execimm</KEYWORD2>\r
-                       <KEYWORD2>sesam_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>sesam_fetch_result</KEYWORD2>\r
-                       <KEYWORD2>sesam_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>sesam_field_array</KEYWORD2>\r
-                       <KEYWORD2>sesam_field_name</KEYWORD2>\r
-                       <KEYWORD2>sesam_free_result</KEYWORD2>\r
-                       <KEYWORD2>sesam_num_fields</KEYWORD2>\r
-                       <KEYWORD2>sesam_query</KEYWORD2>\r
-                       <KEYWORD2>sesam_rollback</KEYWORD2>\r
-                       <KEYWORD2>sesam_seek_row</KEYWORD2>\r
-                       <KEYWORD2>sesam_settransaction</KEYWORD2>\r
-                       <KEYWORD2>session_cache_expire</KEYWORD2>\r
-                       <KEYWORD2>session_cache_limiter</KEYWORD2>\r
-                       <KEYWORD2>session_commit</KEYWORD2>\r
-                       <KEYWORD2>session_decode</KEYWORD2>\r
-                       <KEYWORD2>session_destroy</KEYWORD2>\r
-                       <KEYWORD2>session_encode</KEYWORD2>\r
-                       <KEYWORD2>session_get_cookie_params</KEYWORD2>\r
-                       <KEYWORD2>session_id</KEYWORD2>\r
-                       <KEYWORD2>session_is_registered</KEYWORD2>\r
-                       <KEYWORD2>session_module_name</KEYWORD2>\r
-                       <KEYWORD2>session_name</KEYWORD2>\r
-                       <KEYWORD2>session_regenerate_id</KEYWORD2>\r
-                       <KEYWORD2>session_register</KEYWORD2>\r
-                       <KEYWORD2>session_save_path</KEYWORD2>\r
-                       <KEYWORD2>session_set_cookie_params</KEYWORD2>\r
-                       <KEYWORD2>session_set_save_handler</KEYWORD2>\r
-                       <KEYWORD2>session_start</KEYWORD2>\r
-                       <KEYWORD2>session_unregister</KEYWORD2>\r
-                       <KEYWORD2>session_unset</KEYWORD2>\r
-                       <KEYWORD2>session_write_close</KEYWORD2>\r
-                       <KEYWORD2>set</KEYWORD2> <!-- memcache -->\r
-                       <KEYWORD2>set_attribute</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>set_content</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>set_error_handler</KEYWORD2>\r
-                       <KEYWORD2>set_exception_handler</KEYWORD2>\r
-                       <KEYWORD2>set_file_buffer</KEYWORD2>\r
-                       <KEYWORD2>set_include_path</KEYWORD2>\r
-                       <KEYWORD2>set_magic_quotes_runtime</KEYWORD2>\r
-                       <KEYWORD2>set_name</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>set_namespace</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>set_time_limit</KEYWORD2>\r
-                       <KEYWORD2>setaction</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>setattribute</KEYWORD2> <!-- domelement, pdo -->\r
-                       <KEYWORD2>setattributenode</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>setattributenodens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>setattributens</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>setbackground</KEYWORD2> <!-- swfmovie -->\r
-                       <KEYWORD2>setbounds</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setbuffering</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>setclass</KEYWORD2> <!-- soapserver -->\r
-                       <KEYWORD2>setcolor</KEYWORD2> <!-- swftext, swftextfield -->\r
-                       <KEYWORD2>setcommitedversion</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>setcookie</KEYWORD2>\r
-                       <KEYWORD2>setdepth</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>setdimension</KEYWORD2> <!-- swfmovie -->\r
-                       <KEYWORD2>setdown</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>setfont</KEYWORD2> <!-- swftext, swftextfield -->\r
-                       <KEYWORD2>setframes</KEYWORD2> <!-- swfmovie, swfsprite -->\r
-                       <KEYWORD2>setheight</KEYWORD2> <!-- swftext, swftextfield -->\r
-                       <KEYWORD2>sethit</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>setindentation</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setleftfill</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>setleftmargin</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setline</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>setlinespacing</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setlocale</KEYWORD2>\r
-                       <KEYWORD2>setmargins</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setname</KEYWORD2> <!-- swfdisplayitem, swftextfield -->\r
-                       <KEYWORD2>setover</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>setpersistence</KEYWORD2> <!-- soapserver -->\r
-                       <KEYWORD2>setrate</KEYWORD2> <!-- swfmovie -->\r
-                       <KEYWORD2>setratio</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>setrawcookie</KEYWORD2>\r
-                       <KEYWORD2>setrightfill</KEYWORD2> <!-- swfshape -->\r
-                       <KEYWORD2>setrightmargin</KEYWORD2> <!-- swftextfield -->\r
-                       <KEYWORD2>setspacing</KEYWORD2> <!-- swftext -->\r
-                       <KEYWORD2>settype</KEYWORD2>\r
-                       <KEYWORD2>setup</KEYWORD2> <!-- swfbutton -->\r
-                       <KEYWORD2>sha1</KEYWORD2>\r
-                       <KEYWORD2>sha1_file</KEYWORD2>\r
-                       <KEYWORD2>shell_exec</KEYWORD2>\r
-                       <KEYWORD2>shm_attach</KEYWORD2>\r
-                       <KEYWORD2>shm_detach</KEYWORD2>\r
-                       <KEYWORD2>shm_get_var</KEYWORD2>\r
-                       <KEYWORD2>shm_put_var</KEYWORD2>\r
-                       <KEYWORD2>shm_remove</KEYWORD2>\r
-                       <KEYWORD2>shm_remove_var</KEYWORD2>\r
-                       <KEYWORD2>shmop_close</KEYWORD2>\r
-                       <KEYWORD2>shmop_delete</KEYWORD2>\r
-                       <KEYWORD2>shmop_open</KEYWORD2>\r
-                       <KEYWORD2>shmop_read</KEYWORD2>\r
-                       <KEYWORD2>shmop_size</KEYWORD2>\r
-                       <KEYWORD2>shmop_write</KEYWORD2>\r
-                       <KEYWORD2>show_source</KEYWORD2>\r
-                       <KEYWORD2>shuffle</KEYWORD2>\r
-                       <KEYWORD2>similar_text</KEYWORD2>\r
-                       <KEYWORD2>simplexml_import_dom</KEYWORD2>\r
-                       <KEYWORD2>simplexml_load_file</KEYWORD2>\r
-                       <KEYWORD2>simplexml_load_string</KEYWORD2>\r
-                       <KEYWORD2>sin</KEYWORD2>\r
-                       <KEYWORD2>sinh</KEYWORD2>\r
-                       <KEYWORD2>size</KEYWORD2> <!-- collection, lob -->\r
-                       <KEYWORD2>sizeof</KEYWORD2>\r
-                       <KEYWORD2>skewx</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>skewxto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
-                       <KEYWORD2>skewy</KEYWORD2> <!-- swfdisplayitem -->\r
-                       <KEYWORD2>skewyto</KEYWORD2> <!-- swfdisplayitem, swffill -->\r
-                       <KEYWORD2>sleep</KEYWORD2>\r
-                       <KEYWORD2>snmp_get_quick_print</KEYWORD2>\r
-                       <KEYWORD2>snmp_get_valueretrieval</KEYWORD2>\r
-                       <KEYWORD2>snmp_read_mib</KEYWORD2>\r
-                       <KEYWORD2>snmp_set_enum_print</KEYWORD2>\r
-                       <KEYWORD2>snmp_set_oid_numeric_print</KEYWORD2>\r
-                       <KEYWORD2>snmp_set_quick_print</KEYWORD2>\r
-                       <KEYWORD2>snmp_set_valueretrieval</KEYWORD2>\r
-                       <KEYWORD2>snmpget</KEYWORD2>\r
-                       <KEYWORD2>snmpgetnext</KEYWORD2>\r
-                       <KEYWORD2>snmprealwalk</KEYWORD2>\r
-                       <KEYWORD2>snmpset</KEYWORD2>\r
-                       <KEYWORD2>snmpwalk</KEYWORD2>\r
-                       <KEYWORD2>snmpwalkoid</KEYWORD2>\r
-                       <KEYWORD2>socket_accept</KEYWORD2>\r
-                       <KEYWORD2>socket_bind</KEYWORD2>\r
-                       <KEYWORD2>socket_clear_error</KEYWORD2>\r
-                       <KEYWORD2>socket_close</KEYWORD2>\r
-                       <KEYWORD2>socket_connect</KEYWORD2>\r
-                       <KEYWORD2>socket_create</KEYWORD2>\r
-                       <KEYWORD2>socket_create_listen</KEYWORD2>\r
-                       <KEYWORD2>socket_create_pair</KEYWORD2>\r
-                       <KEYWORD2>socket_get_option</KEYWORD2>\r
-                       <KEYWORD2>socket_get_status</KEYWORD2>\r
-                       <KEYWORD2>socket_getpeername</KEYWORD2>\r
-                       <KEYWORD2>socket_getsockname</KEYWORD2>\r
-                       <KEYWORD2>socket_last_error</KEYWORD2>\r
-                       <KEYWORD2>socket_listen</KEYWORD2>\r
-                       <KEYWORD2>socket_read</KEYWORD2>\r
-                       <KEYWORD2>socket_recv</KEYWORD2>\r
-                       <KEYWORD2>socket_recvfrom</KEYWORD2>\r
-                       <KEYWORD2>socket_select</KEYWORD2>\r
-                       <KEYWORD2>socket_send</KEYWORD2>\r
-                       <KEYWORD2>socket_sendto</KEYWORD2>\r
-                       <KEYWORD2>socket_set_block</KEYWORD2>\r
-                       <KEYWORD2>socket_set_blocking</KEYWORD2>\r
-                       <KEYWORD2>socket_set_nonblock</KEYWORD2>\r
-                       <KEYWORD2>socket_set_option</KEYWORD2>\r
-                       <KEYWORD2>socket_set_timeout</KEYWORD2>\r
-                       <KEYWORD2>socket_shutdown</KEYWORD2>\r
-                       <KEYWORD2>socket_strerror</KEYWORD2>\r
-                       <KEYWORD2>socket_write</KEYWORD2>\r
-                       <KEYWORD2>sort</KEYWORD2>\r
-                       <KEYWORD2>soundex</KEYWORD2>\r
-                       <KEYWORD2>specified</KEYWORD2> <!-- domattribute -->\r
-                       <KEYWORD2>spl_classes</KEYWORD2>\r
-                       <KEYWORD2>split</KEYWORD2>\r
-                       <KEYWORD2>spliti</KEYWORD2>\r
-                       <KEYWORD2>splittext</KEYWORD2> <!-- domtext -->\r
-                       <KEYWORD2>sprintf</KEYWORD2>\r
-                       <KEYWORD2>sql_regcase</KEYWORD2>\r
-                       <KEYWORD2>sqlite_array_query</KEYWORD2>\r
-                       <KEYWORD2>sqlite_busy_timeout</KEYWORD2>\r
-                       <KEYWORD2>sqlite_changes</KEYWORD2>\r
-                       <KEYWORD2>sqlite_close</KEYWORD2>\r
-                       <KEYWORD2>sqlite_column</KEYWORD2>\r
-                       <KEYWORD2>sqlite_create_aggregate</KEYWORD2>\r
-                       <KEYWORD2>sqlite_create_function</KEYWORD2>\r
-                       <KEYWORD2>sqlite_current</KEYWORD2>\r
-                       <KEYWORD2>sqlite_error_string</KEYWORD2>\r
-                       <KEYWORD2>sqlite_escape_string</KEYWORD2>\r
-                       <KEYWORD2>sqlite_exec</KEYWORD2>\r
-                       <KEYWORD2>sqlite_factory</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_all</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_column_types</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_single</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_string</KEYWORD2>\r
-                       <KEYWORD2>sqlite_field_name</KEYWORD2>\r
-                       <KEYWORD2>sqlite_has_more</KEYWORD2>\r
-                       <KEYWORD2>sqlite_has_prev</KEYWORD2>\r
-                       <KEYWORD2>sqlite_last_error</KEYWORD2>\r
-                       <KEYWORD2>sqlite_last_insert_rowid</KEYWORD2>\r
-                       <KEYWORD2>sqlite_libencoding</KEYWORD2>\r
-                       <KEYWORD2>sqlite_libversion</KEYWORD2>\r
-                       <KEYWORD2>sqlite_next</KEYWORD2>\r
-                       <KEYWORD2>sqlite_num_fields</KEYWORD2>\r
-                       <KEYWORD2>sqlite_num_rows</KEYWORD2>\r
-                       <KEYWORD2>sqlite_open</KEYWORD2>\r
-                       <KEYWORD2>sqlite_popen</KEYWORD2>\r
-                       <KEYWORD2>sqlite_prev</KEYWORD2>\r
-                       <KEYWORD2>sqlite_query</KEYWORD2>\r
-                       <KEYWORD2>sqlite_rewind</KEYWORD2>\r
-                       <KEYWORD2>sqlite_seek</KEYWORD2>\r
-                       <KEYWORD2>sqlite_single_query</KEYWORD2>\r
-                       <KEYWORD2>sqlite_udf_decode_binary</KEYWORD2>\r
-                       <KEYWORD2>sqlite_udf_encode_binary</KEYWORD2>\r
-                       <KEYWORD2>sqlite_unbuffered_query</KEYWORD2>\r
-                       <KEYWORD2>sqrt</KEYWORD2>\r
-                       <KEYWORD2>srand</KEYWORD2>\r
-                       <KEYWORD2>srcanchors</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>srcsofdst</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>sscanf</KEYWORD2>\r
-                       <KEYWORD2>stat</KEYWORD2>\r
-                       <KEYWORD2>str_ireplace</KEYWORD2>\r
-                       <KEYWORD2>str_pad</KEYWORD2>\r
-                       <KEYWORD2>str_repeat</KEYWORD2>\r
-                       <KEYWORD2>str_replace</KEYWORD2>\r
-                       <KEYWORD2>str_rot13</KEYWORD2>\r
-                       <KEYWORD2>str_shuffle</KEYWORD2>\r
-                       <KEYWORD2>str_split</KEYWORD2>\r
-                       <KEYWORD2>str_word_count</KEYWORD2>\r
-                       <KEYWORD2>strcasecmp</KEYWORD2>\r
-                       <KEYWORD2>strchr</KEYWORD2>\r
-                       <KEYWORD2>strcmp</KEYWORD2>\r
-                       <KEYWORD2>strcoll</KEYWORD2>\r
-                       <KEYWORD2>strcspn</KEYWORD2>\r
-                       <KEYWORD2>stream_context_create</KEYWORD2>\r
-                       <KEYWORD2>stream_context_get_default</KEYWORD2>\r
-                       <KEYWORD2>stream_context_get_options</KEYWORD2>\r
-                       <KEYWORD2>stream_context_set_option</KEYWORD2>\r
-                       <KEYWORD2>stream_context_set_params</KEYWORD2>\r
-                       <KEYWORD2>stream_copy_to_stream</KEYWORD2>\r
-                       <KEYWORD2>stream_filter_append</KEYWORD2>\r
-                       <KEYWORD2>stream_filter_prepend</KEYWORD2>\r
-                       <KEYWORD2>stream_filter_register</KEYWORD2>\r
-                       <KEYWORD2>stream_filter_remove</KEYWORD2>\r
-                       <KEYWORD2>stream_get_contents</KEYWORD2>\r
-                       <KEYWORD2>stream_get_filters</KEYWORD2>\r
-                       <KEYWORD2>stream_get_line</KEYWORD2>\r
-                       <KEYWORD2>stream_get_meta_data</KEYWORD2>\r
-                       <KEYWORD2>stream_get_transports</KEYWORD2>\r
-                       <KEYWORD2>stream_get_wrappers</KEYWORD2>\r
-                       <KEYWORD2>stream_register_wrapper</KEYWORD2>\r
-                       <KEYWORD2>stream_select</KEYWORD2>\r
-                       <KEYWORD2>stream_set_blocking</KEYWORD2>\r
-                       <KEYWORD2>stream_set_timeout</KEYWORD2>\r
-                       <KEYWORD2>stream_set_write_buffer</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_accept</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_client</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_enable_crypto</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_get_name</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_recvfrom</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_sendto</KEYWORD2>\r
-                       <KEYWORD2>stream_socket_server</KEYWORD2>\r
-                       <KEYWORD2>stream_wrapper_register</KEYWORD2>\r
-                       <KEYWORD2>stream_wrapper_restore</KEYWORD2>\r
-                       <KEYWORD2>stream_wrapper_unregister</KEYWORD2>\r
-                       <KEYWORD2>streammp3</KEYWORD2> <!-- swfmovie -->\r
-                       <KEYWORD2>strftime</KEYWORD2>\r
-                       <KEYWORD2>strip_tags</KEYWORD2>\r
-                       <KEYWORD2>stripcslashes</KEYWORD2>\r
-                       <KEYWORD2>stripos</KEYWORD2>\r
-                       <KEYWORD2>stripslashes</KEYWORD2>\r
-                       <KEYWORD2>stristr</KEYWORD2>\r
-                       <KEYWORD2>strlen</KEYWORD2>\r
-                       <KEYWORD2>strnatcasecmp</KEYWORD2>\r
-                       <KEYWORD2>strnatcmp</KEYWORD2>\r
-                       <KEYWORD2>strncasecmp</KEYWORD2>\r
-                       <KEYWORD2>strncmp</KEYWORD2>\r
-                       <KEYWORD2>strpbrk</KEYWORD2>\r
-                       <KEYWORD2>strpos</KEYWORD2>\r
-                       <KEYWORD2>strptime</KEYWORD2>\r
-                       <KEYWORD2>strrchr</KEYWORD2>\r
-                       <KEYWORD2>strrev</KEYWORD2>\r
-                       <KEYWORD2>strripos</KEYWORD2>\r
-                       <KEYWORD2>strrpos</KEYWORD2>\r
-                       <KEYWORD2>strspn</KEYWORD2>\r
-                       <KEYWORD2>strstr</KEYWORD2>\r
-                       <KEYWORD2>strtok</KEYWORD2>\r
-                       <KEYWORD2>strtolower</KEYWORD2>\r
-                       <KEYWORD2>strtotime</KEYWORD2>\r
-                       <KEYWORD2>strtoupper</KEYWORD2>\r
-                       <KEYWORD2>strtr</KEYWORD2>\r
-                       <KEYWORD2>strval</KEYWORD2>\r
-                       <KEYWORD2>substr</KEYWORD2>\r
-                       <KEYWORD2>substr_compare</KEYWORD2>\r
-                       <KEYWORD2>substr_count</KEYWORD2>\r
-                       <KEYWORD2>substr_replace</KEYWORD2>\r
-                       <KEYWORD2>substringdata</KEYWORD2> <!-- domcharacterdata -->\r
-                       <KEYWORD2>swf_actiongeturl</KEYWORD2>\r
-                       <KEYWORD2>swf_actiongotoframe</KEYWORD2>\r
-                       <KEYWORD2>swf_actiongotolabel</KEYWORD2>\r
-                       <KEYWORD2>swf_actionnextframe</KEYWORD2>\r
-                       <KEYWORD2>swf_actionplay</KEYWORD2>\r
-                       <KEYWORD2>swf_actionprevframe</KEYWORD2>\r
-                       <KEYWORD2>swf_actionsettarget</KEYWORD2>\r
-                       <KEYWORD2>swf_actionstop</KEYWORD2>\r
-                       <KEYWORD2>swf_actiontogglequality</KEYWORD2>\r
-                       <KEYWORD2>swf_actionwaitforframe</KEYWORD2>\r
-                       <KEYWORD2>swf_addbuttonrecord</KEYWORD2>\r
-                       <KEYWORD2>swf_addcolor</KEYWORD2>\r
-                       <KEYWORD2>swf_closefile</KEYWORD2>\r
-                       <KEYWORD2>swf_definebitmap</KEYWORD2>\r
-                       <KEYWORD2>swf_definefont</KEYWORD2>\r
-                       <KEYWORD2>swf_defineline</KEYWORD2>\r
-                       <KEYWORD2>swf_definepoly</KEYWORD2>\r
-                       <KEYWORD2>swf_definerect</KEYWORD2>\r
-                       <KEYWORD2>swf_definetext</KEYWORD2>\r
-                       <KEYWORD2>swf_endbutton</KEYWORD2>\r
-                       <KEYWORD2>swf_enddoaction</KEYWORD2>\r
-                       <KEYWORD2>swf_endshape</KEYWORD2>\r
-                       <KEYWORD2>swf_endsymbol</KEYWORD2>\r
-                       <KEYWORD2>swf_fontsize</KEYWORD2>\r
-                       <KEYWORD2>swf_fontslant</KEYWORD2>\r
-                       <KEYWORD2>swf_fonttracking</KEYWORD2>\r
-                       <KEYWORD2>swf_getbitmapinfo</KEYWORD2>\r
-                       <KEYWORD2>swf_getfontinfo</KEYWORD2>\r
-                       <KEYWORD2>swf_getframe</KEYWORD2>\r
-                       <KEYWORD2>swf_labelframe</KEYWORD2>\r
-                       <KEYWORD2>swf_lookat</KEYWORD2>\r
-                       <KEYWORD2>swf_modifyobject</KEYWORD2>\r
-                       <KEYWORD2>swf_mulcolor</KEYWORD2>\r
-                       <KEYWORD2>swf_nextid</KEYWORD2>\r
-                       <KEYWORD2>swf_oncondition</KEYWORD2>\r
-                       <KEYWORD2>swf_openfile</KEYWORD2>\r
-                       <KEYWORD2>swf_ortho</KEYWORD2>\r
-                       <KEYWORD2>swf_ortho2</KEYWORD2>\r
-                       <KEYWORD2>swf_perspective</KEYWORD2>\r
-                       <KEYWORD2>swf_placeobject</KEYWORD2>\r
-                       <KEYWORD2>swf_polarview</KEYWORD2>\r
-                       <KEYWORD2>swf_popmatrix</KEYWORD2>\r
-                       <KEYWORD2>swf_posround</KEYWORD2>\r
-                       <KEYWORD2>swf_pushmatrix</KEYWORD2>\r
-                       <KEYWORD2>swf_removeobject</KEYWORD2>\r
-                       <KEYWORD2>swf_rotate</KEYWORD2>\r
-                       <KEYWORD2>swf_scale</KEYWORD2>\r
-                       <KEYWORD2>swf_setfont</KEYWORD2>\r
-                       <KEYWORD2>swf_setframe</KEYWORD2>\r
-                       <KEYWORD2>swf_shapearc</KEYWORD2>\r
-                       <KEYWORD2>swf_shapecurveto</KEYWORD2>\r
-                       <KEYWORD2>swf_shapecurveto3</KEYWORD2>\r
-                       <KEYWORD2>swf_shapefillbitmapclip</KEYWORD2>\r
-                       <KEYWORD2>swf_shapefillbitmaptile</KEYWORD2>\r
-                       <KEYWORD2>swf_shapefilloff</KEYWORD2>\r
-                       <KEYWORD2>swf_shapefillsolid</KEYWORD2>\r
-                       <KEYWORD2>swf_shapelinesolid</KEYWORD2>\r
-                       <KEYWORD2>swf_shapelineto</KEYWORD2>\r
-                       <KEYWORD2>swf_shapemoveto</KEYWORD2>\r
-                       <KEYWORD2>swf_showframe</KEYWORD2>\r
-                       <KEYWORD2>swf_startbutton</KEYWORD2>\r
-                       <KEYWORD2>swf_startdoaction</KEYWORD2>\r
-                       <KEYWORD2>swf_startshape</KEYWORD2>\r
-                       <KEYWORD2>swf_startsymbol</KEYWORD2>\r
-                       <KEYWORD2>swf_textwidth</KEYWORD2>\r
-                       <KEYWORD2>swf_translate</KEYWORD2>\r
-                       <KEYWORD2>swf_viewport</KEYWORD2>\r
-                       <KEYWORD2>swfbutton_keypress</KEYWORD2>\r
-                       <KEYWORD2>sybase_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>sybase_close</KEYWORD2>\r
-                       <KEYWORD2>sybase_connect</KEYWORD2>\r
-                       <KEYWORD2>sybase_data_seek</KEYWORD2>\r
-                       <KEYWORD2>sybase_deadlock_retry_count</KEYWORD2>\r
-                       <KEYWORD2>sybase_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>sybase_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>sybase_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>sybase_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>sybase_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>sybase_field_seek</KEYWORD2>\r
-                       <KEYWORD2>sybase_free_result</KEYWORD2>\r
-                       <KEYWORD2>sybase_get_last_message</KEYWORD2>\r
-                       <KEYWORD2>sybase_min_client_severity</KEYWORD2>\r
-                       <KEYWORD2>sybase_min_error_severity</KEYWORD2>\r
-                       <KEYWORD2>sybase_min_message_severity</KEYWORD2>\r
-                       <KEYWORD2>sybase_min_server_severity</KEYWORD2>\r
-                       <KEYWORD2>sybase_num_fields</KEYWORD2>\r
-                       <KEYWORD2>sybase_num_rows</KEYWORD2>\r
-                       <KEYWORD2>sybase_pconnect</KEYWORD2>\r
-                       <KEYWORD2>sybase_query</KEYWORD2>\r
-                       <KEYWORD2>sybase_result</KEYWORD2>\r
-                       <KEYWORD2>sybase_select_db</KEYWORD2>\r
-                       <KEYWORD2>sybase_set_message_handler</KEYWORD2>\r
-                       <KEYWORD2>sybase_unbuffered_query</KEYWORD2>\r
-                       <KEYWORD2>symlink</KEYWORD2>\r
-                       <KEYWORD2>syslog</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>system_id</KEYWORD2> <!-- domdocumenttype -->\r
-                       <KEYWORD2>tagname</KEYWORD2> <!-- domelement -->\r
-                       <KEYWORD2>tan</KEYWORD2>\r
-                       <KEYWORD2>tanh</KEYWORD2>\r
-                       <KEYWORD2>target</KEYWORD2> <!-- domprocessinginstruction -->\r
-                       <KEYWORD2>tcpwrap_check</KEYWORD2>\r
-                       <KEYWORD2>tell</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>tempnam</KEYWORD2>\r
-                       <KEYWORD2>textdomain</KEYWORD2>\r
-                       <KEYWORD2>tidy_access_count</KEYWORD2>\r
-                       <KEYWORD2>tidy_clean_repair</KEYWORD2>\r
-                       <KEYWORD2>tidy_config_count</KEYWORD2>\r
-                       <KEYWORD2>tidy_diagnose</KEYWORD2>\r
-                       <KEYWORD2>tidy_error_count</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_body</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_config</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_error_buffer</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_head</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_html</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_html_ver</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_output</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_release</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_root</KEYWORD2>\r
-                       <KEYWORD2>tidy_get_status</KEYWORD2>\r
-                       <KEYWORD2>tidy_getopt</KEYWORD2>\r
-                       <KEYWORD2>tidy_is_xhtml</KEYWORD2>\r
-                       <KEYWORD2>tidy_is_xml</KEYWORD2>\r
-                       <KEYWORD2>tidy_load_config</KEYWORD2>\r
-                       <KEYWORD2>tidy_parse_file</KEYWORD2>\r
-                       <KEYWORD2>tidy_parse_string</KEYWORD2>\r
-                       <KEYWORD2>tidy_repair_file</KEYWORD2>\r
-                       <KEYWORD2>tidy_repair_string</KEYWORD2>\r
-                       <KEYWORD2>tidy_reset_config</KEYWORD2>\r
-                       <KEYWORD2>tidy_save_config</KEYWORD2>\r
-                       <KEYWORD2>tidy_set_encoding</KEYWORD2>\r
-                       <KEYWORD2>tidy_setopt</KEYWORD2>\r
-                       <KEYWORD2>tidy_warning_count</KEYWORD2>\r
-                       <KEYWORD2>time</KEYWORD2>\r
-                       <KEYWORD2>time_nanosleep</KEYWORD2>\r
-                       <KEYWORD2>title</KEYWORD2> <!-- hw_api_object -->\r
-                       <KEYWORD2>tmpfile</KEYWORD2>\r
-                       <KEYWORD2>token_get_all</KEYWORD2>\r
-                       <KEYWORD2>token_name</KEYWORD2>\r
-                       <KEYWORD2>touch</KEYWORD2>\r
-                       <KEYWORD2>trigger_error</KEYWORD2>\r
-                       <KEYWORD2>trim</KEYWORD2> <!-- collection -->\r
-                       <KEYWORD2>truncate</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>type</KEYWORD2> <!-- hw_api_reason -->\r
-                       <KEYWORD2>uasort</KEYWORD2>\r
-                       <KEYWORD2>ucfirst</KEYWORD2>\r
-                       <KEYWORD2>ucwords</KEYWORD2>\r
-                       <KEYWORD2>udm_add_search_limit</KEYWORD2>\r
-                       <KEYWORD2>udm_alloc_agent</KEYWORD2>\r
-                       <KEYWORD2>udm_alloc_agent_array</KEYWORD2>\r
-                       <KEYWORD2>udm_api_version</KEYWORD2>\r
-                       <KEYWORD2>udm_cat_list</KEYWORD2>\r
-                       <KEYWORD2>udm_cat_path</KEYWORD2>\r
-                       <KEYWORD2>udm_check_charset</KEYWORD2>\r
-                       <KEYWORD2>udm_check_stored</KEYWORD2>\r
-                       <KEYWORD2>udm_clear_search_limits</KEYWORD2>\r
-                       <KEYWORD2>udm_close_stored</KEYWORD2>\r
-                       <KEYWORD2>udm_crc32</KEYWORD2>\r
-                       <KEYWORD2>udm_errno</KEYWORD2>\r
-                       <KEYWORD2>udm_error</KEYWORD2>\r
-                       <KEYWORD2>udm_find</KEYWORD2>\r
-                       <KEYWORD2>udm_free_agent</KEYWORD2>\r
-                       <KEYWORD2>udm_free_ispell_data</KEYWORD2>\r
-                       <KEYWORD2>udm_free_res</KEYWORD2>\r
-                       <KEYWORD2>udm_get_doc_count</KEYWORD2>\r
-                       <KEYWORD2>udm_get_res_field</KEYWORD2>\r
-                       <KEYWORD2>udm_get_res_param</KEYWORD2>\r
-                       <KEYWORD2>udm_hash32</KEYWORD2>\r
-                       <KEYWORD2>udm_load_ispell_data</KEYWORD2>\r
-                       <KEYWORD2>udm_open_stored</KEYWORD2>\r
-                       <KEYWORD2>udm_set_agent_param</KEYWORD2>\r
-                       <KEYWORD2>uksort</KEYWORD2>\r
-                       <KEYWORD2>umask</KEYWORD2>\r
-                       <KEYWORD2>uniqid</KEYWORD2>\r
-                       <KEYWORD2>unixtojd</KEYWORD2>\r
-                       <KEYWORD2>unlink</KEYWORD2>\r
-                       <KEYWORD2>unlink_node</KEYWORD2> <!-- domnode -->\r
-                       <KEYWORD2>unlock</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>unpack</KEYWORD2>\r
-                       <KEYWORD2>unregister_tick_function</KEYWORD2>\r
-                       <KEYWORD2>unserialize</KEYWORD2>\r
-                       <KEYWORD2>urldecode</KEYWORD2>\r
-                       <KEYWORD2>urlencode</KEYWORD2>\r
-                       <KEYWORD2>user</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>user_error</KEYWORD2>\r
-                       <KEYWORD2>userlist</KEYWORD2> <!-- hw_api -->\r
-                       <KEYWORD2>usleep</KEYWORD2>\r
-                       <KEYWORD2>usort</KEYWORD2>\r
-                       <KEYWORD2>utf8_decode</KEYWORD2>\r
-                       <KEYWORD2>utf8_encode</KEYWORD2>\r
-                       <KEYWORD2>valid</KEYWORD2> <!-- arrayiterator, cachingiterator, directoryiterator, filteriterator, limititerator, recursiveiteratoriterator, simplexmliterator -->\r
-                       <KEYWORD2>validate</KEYWORD2> <!-- domdocument -->\r
-                       <KEYWORD2>value</KEYWORD2> <!-- domattribute, hw_api_attribute, hw_api_object -->\r
-                       <KEYWORD2>values</KEYWORD2> <!-- hw_api_attribute -->\r
-                       <KEYWORD2>var_dump</KEYWORD2>\r
-                       <KEYWORD2>var_export</KEYWORD2>\r
-                       <KEYWORD2>variant_abs</KEYWORD2>\r
-                       <KEYWORD2>variant_add</KEYWORD2>\r
-                       <KEYWORD2>variant_and</KEYWORD2>\r
-                       <KEYWORD2>variant_cast</KEYWORD2>\r
-                       <KEYWORD2>variant_cat</KEYWORD2>\r
-                       <KEYWORD2>variant_cmp</KEYWORD2>\r
-                       <KEYWORD2>variant_date_from_timestamp</KEYWORD2>\r
-                       <KEYWORD2>variant_date_to_timestamp</KEYWORD2>\r
-                       <KEYWORD2>variant_div</KEYWORD2>\r
-                       <KEYWORD2>variant_eqv</KEYWORD2>\r
-                       <KEYWORD2>variant_fix</KEYWORD2>\r
-                       <KEYWORD2>variant_get_type</KEYWORD2>\r
-                       <KEYWORD2>variant_idiv</KEYWORD2>\r
-                       <KEYWORD2>variant_imp</KEYWORD2>\r
-                       <KEYWORD2>variant_int</KEYWORD2>\r
-                       <KEYWORD2>variant_mod</KEYWORD2>\r
-                       <KEYWORD2>variant_mul</KEYWORD2>\r
-                       <KEYWORD2>variant_neg</KEYWORD2>\r
-                       <KEYWORD2>variant_not</KEYWORD2>\r
-                       <KEYWORD2>variant_or</KEYWORD2>\r
-                       <KEYWORD2>variant_pow</KEYWORD2>\r
-                       <KEYWORD2>variant_round</KEYWORD2>\r
-                       <KEYWORD2>variant_set</KEYWORD2>\r
-                       <KEYWORD2>variant_set_type</KEYWORD2>\r
-                       <KEYWORD2>variant_sub</KEYWORD2>\r
-                       <KEYWORD2>variant_xor</KEYWORD2>\r
-                       <KEYWORD2>version_compare</KEYWORD2>\r
-                       <KEYWORD2>vfprintf</KEYWORD2>\r
-                       <KEYWORD2>virtual</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_add_alias_domain</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_add_alias_domain_ex</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_add_domain</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_add_domain_ex</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_add_user</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_alias_add</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_alias_del</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_alias_del_domain</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_alias_get</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_alias_get_all</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_auth_user</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_del_domain</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_del_domain_ex</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_del_user</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_error</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_passwd</KEYWORD2>\r
-                       <KEYWORD2>vpopmail_set_user_quota</KEYWORD2>\r
-                       <KEYWORD2>vprintf</KEYWORD2>\r
-                       <KEYWORD2>vsprintf</KEYWORD2>\r
-                       <KEYWORD2>w32api_deftype</KEYWORD2>\r
-                       <KEYWORD2>w32api_init_dtype</KEYWORD2>\r
-                       <KEYWORD2>w32api_invoke_function</KEYWORD2>\r
-                       <KEYWORD2>w32api_register_function</KEYWORD2>\r
-                       <KEYWORD2>w32api_set_call_method</KEYWORD2>\r
-                       <KEYWORD2>wddx_add_vars</KEYWORD2>\r
-                       <KEYWORD2>wddx_deserialize</KEYWORD2>\r
-                       <KEYWORD2>wddx_packet_end</KEYWORD2>\r
-                       <KEYWORD2>wddx_packet_start</KEYWORD2>\r
-                       <KEYWORD2>wddx_serialize_value</KEYWORD2>\r
-                       <KEYWORD2>wddx_serialize_vars</KEYWORD2>\r
-                       <KEYWORD2>wordwrap</KEYWORD2>\r
-                       <KEYWORD2>write</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>writetemporary</KEYWORD2> <!-- lob -->\r
-                       <KEYWORD2>xattr_get</KEYWORD2>\r
-                       <KEYWORD2>xattr_list</KEYWORD2>\r
-                       <KEYWORD2>xattr_remove</KEYWORD2>\r
-                       <KEYWORD2>xattr_set</KEYWORD2>\r
-                       <KEYWORD2>xattr_supported</KEYWORD2>\r
-                       <KEYWORD2>xdiff_file_diff</KEYWORD2>\r
-                       <KEYWORD2>xdiff_file_diff_binary</KEYWORD2>\r
-                       <KEYWORD2>xdiff_file_merge3</KEYWORD2>\r
-                       <KEYWORD2>xdiff_file_patch</KEYWORD2>\r
-                       <KEYWORD2>xdiff_file_patch_binary</KEYWORD2>\r
-                       <KEYWORD2>xdiff_string_diff</KEYWORD2>\r
-                       <KEYWORD2>xdiff_string_diff_binary</KEYWORD2>\r
-                       <KEYWORD2>xdiff_string_merge3</KEYWORD2>\r
-                       <KEYWORD2>xdiff_string_patch</KEYWORD2>\r
-                       <KEYWORD2>xdiff_string_patch_binary</KEYWORD2>\r
-                       <KEYWORD2>xinclude</KEYWORD2> <!-- domdocument, domdocument -->\r
-                       <KEYWORD2>xml_error_string</KEYWORD2>\r
-                       <KEYWORD2>xml_get_current_byte_index</KEYWORD2>\r
-                       <KEYWORD2>xml_get_current_column_number</KEYWORD2>\r
-                       <KEYWORD2>xml_get_current_line_number</KEYWORD2>\r
-                       <KEYWORD2>xml_get_error_code</KEYWORD2>\r
-                       <KEYWORD2>xml_parse</KEYWORD2>\r
-                       <KEYWORD2>xml_parse_into_struct</KEYWORD2>\r
-                       <KEYWORD2>xml_parser_create</KEYWORD2>\r
-                       <KEYWORD2>xml_parser_create_ns</KEYWORD2>\r
-                       <KEYWORD2>xml_parser_free</KEYWORD2>\r
-                       <KEYWORD2>xml_parser_get_option</KEYWORD2>\r
-                       <KEYWORD2>xml_parser_set_option</KEYWORD2>\r
-                       <KEYWORD2>xml_set_character_data_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_default_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_element_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_end_namespace_decl_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_external_entity_ref_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_notation_decl_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_object</KEYWORD2>\r
-                       <KEYWORD2>xml_set_processing_instruction_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_start_namespace_decl_handler</KEYWORD2>\r
-                       <KEYWORD2>xml_set_unparsed_entity_decl_handler</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_decode</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_decode_request</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_encode</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_encode_request</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_get_type</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_is_fault</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_parse_method_descriptions</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_add_introspection_data</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_call_method</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_create</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_destroy</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_register_introspection_callback</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_server_register_method</KEYWORD2>\r
-                       <KEYWORD2>xmlrpc_set_type</KEYWORD2>\r
-                       <KEYWORD2>xpath</KEYWORD2> <!-- simplexmlelement -->\r
-                       <KEYWORD2>xpath_eval</KEYWORD2>\r
-                       <KEYWORD2>xpath_eval_expression</KEYWORD2>\r
-                       <KEYWORD2>xpath_new_context</KEYWORD2>\r
-                       <KEYWORD2>xptr_eval</KEYWORD2>\r
-                       <KEYWORD2>xptr_new_context</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_get_parameter</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_has_exslt_support</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_import_stylesheet</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_register_php_functions</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_remove_parameter</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_set_parameter</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_transform_to_doc</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_transform_to_uri</KEYWORD2>\r
-                       <KEYWORD2>xsl_xsltprocessor_transform_to_xml</KEYWORD2>\r
-                       <KEYWORD2>xslt_backend_info</KEYWORD2>\r
-                       <KEYWORD2>xslt_backend_name</KEYWORD2>\r
-                       <KEYWORD2>xslt_backend_version</KEYWORD2>\r
-                       <KEYWORD2>xslt_create</KEYWORD2>\r
-                       <KEYWORD2>xslt_errno</KEYWORD2>\r
-                       <KEYWORD2>xslt_error</KEYWORD2>\r
-                       <KEYWORD2>xslt_free</KEYWORD2>\r
-                       <KEYWORD2>xslt_getopt</KEYWORD2>\r
-                       <KEYWORD2>xslt_process</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_base</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_encoding</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_error_handler</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_log</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_object</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_sax_handler</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_sax_handlers</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_scheme_handler</KEYWORD2>\r
-                       <KEYWORD2>xslt_set_scheme_handlers</KEYWORD2>\r
-                       <KEYWORD2>xslt_setopt</KEYWORD2>\r
-                       <KEYWORD2>yaz_addinfo</KEYWORD2>\r
-                       <KEYWORD2>yaz_ccl_conf</KEYWORD2>\r
-                       <KEYWORD2>yaz_ccl_parse</KEYWORD2>\r
-                       <KEYWORD2>yaz_close</KEYWORD2>\r
-                       <KEYWORD2>yaz_connect</KEYWORD2>\r
-                       <KEYWORD2>yaz_database</KEYWORD2>\r
-                       <KEYWORD2>yaz_element</KEYWORD2>\r
-                       <KEYWORD2>yaz_errno</KEYWORD2>\r
-                       <KEYWORD2>yaz_error</KEYWORD2>\r
-                       <KEYWORD2>yaz_es_result</KEYWORD2>\r
-                       <KEYWORD2>yaz_get_option</KEYWORD2>\r
-                       <KEYWORD2>yaz_hits</KEYWORD2>\r
-                       <KEYWORD2>yaz_itemorder</KEYWORD2>\r
-                       <KEYWORD2>yaz_present</KEYWORD2>\r
-                       <KEYWORD2>yaz_range</KEYWORD2>\r
-                       <KEYWORD2>yaz_record</KEYWORD2>\r
-                       <KEYWORD2>yaz_scan</KEYWORD2>\r
-                       <KEYWORD2>yaz_scan_result</KEYWORD2>\r
-                       <KEYWORD2>yaz_schema</KEYWORD2>\r
-                       <KEYWORD2>yaz_search</KEYWORD2>\r
-                       <KEYWORD2>yaz_set_option</KEYWORD2>\r
-                       <KEYWORD2>yaz_sort</KEYWORD2>\r
-                       <KEYWORD2>yaz_syntax</KEYWORD2>\r
-                       <KEYWORD2>yaz_wait</KEYWORD2>\r
-                       <KEYWORD2>yp_all</KEYWORD2>\r
-                       <KEYWORD2>yp_cat</KEYWORD2>\r
-                       <KEYWORD2>yp_err_string</KEYWORD2>\r
-                       <KEYWORD2>yp_errno</KEYWORD2>\r
-                       <KEYWORD2>yp_first</KEYWORD2>\r
-                       <KEYWORD2>yp_get_default_domain</KEYWORD2>\r
-                       <KEYWORD2>yp_master</KEYWORD2>\r
-                       <KEYWORD2>yp_match</KEYWORD2>\r
-                       <KEYWORD2>yp_next</KEYWORD2>\r
-                       <KEYWORD2>yp_order</KEYWORD2>\r
-                       <KEYWORD2>zend_logo_guid</KEYWORD2>\r
-                       <KEYWORD2>zend_version</KEYWORD2>\r
-                       <KEYWORD2>zip_close</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_close</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_compressedsize</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_compressionmethod</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_filesize</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_name</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_open</KEYWORD2>\r
-                       <KEYWORD2>zip_entry_read</KEYWORD2>\r
-                       <KEYWORD2>zip_open</KEYWORD2>\r
-                       <KEYWORD2>zip_read</KEYWORD2>\r
-                       <KEYWORD2>zlib_get_coding_type</KEYWORD2>\r
-\r
-\r
-                       <!-- Alias functions (343)\r
-                               http://zend.com/phpfunc/all_aliases.php -->\r
-                       <KEYWORD2>apache_request_headers</KEYWORD2>\r
-                       <KEYWORD2>apache_response_headers</KEYWORD2>\r
-                       <KEYWORD2>attr_get</KEYWORD2>\r
-                       <KEYWORD2>attr_set</KEYWORD2>\r
-                       <KEYWORD2>autocommit</KEYWORD2>\r
-                       <KEYWORD2>bind_param</KEYWORD2>\r
-                       <KEYWORD2>bind_result</KEYWORD2>\r
-                       <KEYWORD2>bzclose</KEYWORD2>\r
-                       <KEYWORD2>bzflush</KEYWORD2>\r
-                       <KEYWORD2>bzwrite</KEYWORD2>\r
-                       <KEYWORD2>change_user</KEYWORD2>\r
-                       <KEYWORD2>character_set_name</KEYWORD2>\r
-                       <KEYWORD2>checkdnsrr</KEYWORD2>\r
-                       <KEYWORD2>chop</KEYWORD2>\r
-                       <KEYWORD2>client_encoding</KEYWORD2>\r
-                       <KEYWORD2>close</KEYWORD2>\r
-                       <KEYWORD2>commit</KEYWORD2>\r
-                       <KEYWORD2>connect</KEYWORD2>\r
-                       <KEYWORD2>data_seek</KEYWORD2>\r
-                       <KEYWORD2>debug</KEYWORD2>\r
-                       <KEYWORD2>disable_reads_from_master</KEYWORD2>\r
-                       <KEYWORD2>disable_rpl_parse</KEYWORD2>\r
-                       <KEYWORD2>diskfreespace</KEYWORD2>\r
-                       <KEYWORD2>doubleval</KEYWORD2>\r
-                       <KEYWORD2>dump_debug_info</KEYWORD2>\r
-                       <KEYWORD2>enable_reads_from_master</KEYWORD2>\r
-                       <KEYWORD2>enable_rpl_parse</KEYWORD2>\r
-                       <KEYWORD2>escape_string</KEYWORD2>\r
-                       <KEYWORD2>execute</KEYWORD2>\r
-                       <KEYWORD2>fbird_add_user</KEYWORD2>\r
-                       <KEYWORD2>fbird_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>fbird_backup</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_add</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_cancel</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_close</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_create</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_echo</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_get</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_import</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_info</KEYWORD2>\r
-                       <KEYWORD2>fbird_blob_open</KEYWORD2>\r
-                       <KEYWORD2>fbird_close</KEYWORD2>\r
-                       <KEYWORD2>fbird_commit</KEYWORD2>\r
-                       <KEYWORD2>fbird_commit_ret</KEYWORD2>\r
-                       <KEYWORD2>fbird_connect</KEYWORD2>\r
-                       <KEYWORD2>fbird_db_info</KEYWORD2>\r
-                       <KEYWORD2>fbird_delete_user</KEYWORD2>\r
-                       <KEYWORD2>fbird_drop_db</KEYWORD2>\r
-                       <KEYWORD2>fbird_errcode</KEYWORD2>\r
-                       <KEYWORD2>fbird_errmsg</KEYWORD2>\r
-                       <KEYWORD2>fbird_execute</KEYWORD2>\r
-                       <KEYWORD2>fbird_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>fbird_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>fbird_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>fbird_field_info</KEYWORD2>\r
-                       <KEYWORD2>fbird_free_event_handler</KEYWORD2>\r
-                       <KEYWORD2>fbird_free_query</KEYWORD2>\r
-                       <KEYWORD2>fbird_free_result</KEYWORD2>\r
-                       <KEYWORD2>fbird_gen_id</KEYWORD2>\r
-                       <KEYWORD2>fbird_maintain_db</KEYWORD2>\r
-                       <KEYWORD2>fbird_modify_user</KEYWORD2>\r
-                       <KEYWORD2>fbird_name_result</KEYWORD2>\r
-                       <KEYWORD2>fbird_num_fields</KEYWORD2>\r
-                       <KEYWORD2>fbird_num_params</KEYWORD2>\r
-                       <KEYWORD2>fbird_num_rows</KEYWORD2>\r
-                       <KEYWORD2>fbird_param_info</KEYWORD2>\r
-                       <KEYWORD2>fbird_pconnect</KEYWORD2>\r
-                       <KEYWORD2>fbird_prepare</KEYWORD2>\r
-                       <KEYWORD2>fbird_query</KEYWORD2>\r
-                       <KEYWORD2>fbird_restore</KEYWORD2>\r
-                       <KEYWORD2>fbird_rollback</KEYWORD2>\r
-                       <KEYWORD2>fbird_rollback_ret</KEYWORD2>\r
-                       <KEYWORD2>fbird_server_info</KEYWORD2>\r
-                       <KEYWORD2>fbird_service_attach</KEYWORD2>\r
-                       <KEYWORD2>fbird_service_detach</KEYWORD2>\r
-                       <KEYWORD2>fbird_set_event_handler</KEYWORD2>\r
-                       <KEYWORD2>fbird_trans</KEYWORD2>\r
-                       <KEYWORD2>fbird_wait_event</KEYWORD2>\r
-                       <KEYWORD2>fbsql</KEYWORD2>\r
-                       <KEYWORD2>fbsql_tablename</KEYWORD2>\r
-                       <KEYWORD2>fetch</KEYWORD2>\r
-                       <KEYWORD2>fetch_array</KEYWORD2>\r
-                       <KEYWORD2>fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>fetch_field</KEYWORD2>\r
-                       <KEYWORD2>fetch_field_direct</KEYWORD2>\r
-                       <KEYWORD2>fetch_fields</KEYWORD2>\r
-                       <KEYWORD2>fetch_object</KEYWORD2>\r
-                       <KEYWORD2>fetch_row</KEYWORD2>\r
-                       <KEYWORD2>field_count</KEYWORD2>\r
-                       <KEYWORD2>field_seek</KEYWORD2>\r
-                       <KEYWORD2>fputs</KEYWORD2>\r
-                       <KEYWORD2>free</KEYWORD2>\r
-                       <KEYWORD2>free_result</KEYWORD2>\r
-                       <KEYWORD2>ftp_quit</KEYWORD2>\r
-                       <KEYWORD2>get_client_info</KEYWORD2>\r
-                       <KEYWORD2>get_required_files</KEYWORD2>\r
-                       <KEYWORD2>get_server_info</KEYWORD2>\r
-                       <KEYWORD2>getallheaders</KEYWORD2>\r
-                       <KEYWORD2>getmxrr</KEYWORD2>\r
-                       <KEYWORD2>gmp_div</KEYWORD2>\r
-                       <KEYWORD2>gzclose</KEYWORD2>\r
-                       <KEYWORD2>gzeof</KEYWORD2>\r
-                       <KEYWORD2>gzgetc</KEYWORD2>\r
-                       <KEYWORD2>gzgets</KEYWORD2>\r
-                       <KEYWORD2>gzgetss</KEYWORD2>\r
-                       <KEYWORD2>gzpassthru</KEYWORD2>\r
-                       <KEYWORD2>gzputs</KEYWORD2>\r
-                       <KEYWORD2>gzread</KEYWORD2>\r
-                       <KEYWORD2>gzrewind</KEYWORD2>\r
-                       <KEYWORD2>gzseek</KEYWORD2>\r
-                       <KEYWORD2>gztell</KEYWORD2>\r
-                       <KEYWORD2>gzwrite</KEYWORD2>\r
-                       <KEYWORD2>imap_create</KEYWORD2>\r
-                       <KEYWORD2>imap_fetchtext</KEYWORD2>\r
-                       <KEYWORD2>imap_header</KEYWORD2>\r
-                       <KEYWORD2>imap_listmailbox</KEYWORD2>\r
-                       <KEYWORD2>imap_listsubscribed</KEYWORD2>\r
-                       <KEYWORD2>imap_rename</KEYWORD2>\r
-                       <KEYWORD2>ini_alter</KEYWORD2>\r
-                       <KEYWORD2>init</KEYWORD2>\r
-                       <KEYWORD2>is_double</KEYWORD2>\r
-                       <KEYWORD2>is_int</KEYWORD2>\r
-                       <KEYWORD2>is_integer</KEYWORD2>\r
-                       <KEYWORD2>is_real</KEYWORD2>\r
-                       <KEYWORD2>is_writeable</KEYWORD2>\r
-                       <KEYWORD2>join</KEYWORD2>\r
-                       <KEYWORD2>key_exists</KEYWORD2>\r
-                       <KEYWORD2>kill</KEYWORD2>\r
-                       <KEYWORD2>ldap_close</KEYWORD2>\r
-                       <KEYWORD2>ldap_modify</KEYWORD2>\r
-                       <KEYWORD2>magic_quotes_runtime</KEYWORD2>\r
-                       <KEYWORD2>master_query</KEYWORD2>\r
-                       <KEYWORD2>ming_keypress</KEYWORD2>\r
-                       <KEYWORD2>ming_setcubicthreshold</KEYWORD2>\r
-                       <KEYWORD2>ming_setscale</KEYWORD2>\r
-                       <KEYWORD2>ming_useconstants</KEYWORD2>\r
-                       <KEYWORD2>ming_useswfversion</KEYWORD2>\r
-                       <KEYWORD2>more_results</KEYWORD2>\r
-                       <KEYWORD2>msql</KEYWORD2>\r
-                       <KEYWORD2>msql_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>msql_createdb</KEYWORD2>\r
-                       <KEYWORD2>msql_dbname</KEYWORD2>\r
-                       <KEYWORD2>msql_dropdb</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldflags</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldlen</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldname</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldtable</KEYWORD2>\r
-                       <KEYWORD2>msql_fieldtype</KEYWORD2>\r
-                       <KEYWORD2>msql_freeresult</KEYWORD2>\r
-                       <KEYWORD2>msql_listdbs</KEYWORD2>\r
-                       <KEYWORD2>msql_listfields</KEYWORD2>\r
-                       <KEYWORD2>msql_listtables</KEYWORD2>\r
-                       <KEYWORD2>msql_numfields</KEYWORD2>\r
-                       <KEYWORD2>msql_numrows</KEYWORD2>\r
-                       <KEYWORD2>msql_regcase</KEYWORD2>\r
-                       <KEYWORD2>msql_selectdb</KEYWORD2>\r
-                       <KEYWORD2>msql_tablename</KEYWORD2>\r
-                       <KEYWORD2>mssql_affected_rows</KEYWORD2>\r
-                       <KEYWORD2>mssql_close</KEYWORD2>\r
-                       <KEYWORD2>mssql_connect</KEYWORD2>\r
-                       <KEYWORD2>mssql_data_seek</KEYWORD2>\r
-                       <KEYWORD2>mssql_deadlock_retry_count</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_array</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_assoc</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_field</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_object</KEYWORD2>\r
-                       <KEYWORD2>mssql_fetch_row</KEYWORD2>\r
-                       <KEYWORD2>mssql_field_seek</KEYWORD2>\r
-                       <KEYWORD2>mssql_free_result</KEYWORD2>\r
-                       <KEYWORD2>mssql_get_last_message</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_client_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_error_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_message_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_min_server_severity</KEYWORD2>\r
-                       <KEYWORD2>mssql_num_fields</KEYWORD2>\r
-                       <KEYWORD2>mssql_num_rows</KEYWORD2>\r
-                       <KEYWORD2>mssql_pconnect</KEYWORD2>\r
-                       <KEYWORD2>mssql_query</KEYWORD2>\r
-                       <KEYWORD2>mssql_result</KEYWORD2>\r
-                       <KEYWORD2>mssql_select_db</KEYWORD2>\r
-                       <KEYWORD2>mssql_set_message_handler</KEYWORD2>\r
-                       <KEYWORD2>mssql_unbuffered_query</KEYWORD2>\r
-                       <KEYWORD2>multi_query</KEYWORD2>\r
-                       <KEYWORD2>mysql</KEYWORD2>\r
-                       <KEYWORD2>mysql_createdb</KEYWORD2>\r
-                       <KEYWORD2>mysql_db_name</KEYWORD2>\r
-                       <KEYWORD2>mysql_dbname</KEYWORD2>\r
-                       <KEYWORD2>mysql_dropdb</KEYWORD2>\r
-                       <KEYWORD2>mysql_fieldflags</KEYWORD2>\r
-                       <KEYWORD2>mysql_fieldlen</KEYWORD2>\r
-                       <KEYWORD2>mysql_fieldname</KEYWORD2>\r
-                       <KEYWORD2>mysql_fieldtable</KEYWORD2>\r
-                       <KEYWORD2>mysql_fieldtype</KEYWORD2>\r
-                       <KEYWORD2>mysql_freeresult</KEYWORD2>\r
-                       <KEYWORD2>mysql_listdbs</KEYWORD2>\r
-                       <KEYWORD2>mysql_listfields</KEYWORD2>\r
-                       <KEYWORD2>mysql_listtables</KEYWORD2>\r
-                       <KEYWORD2>mysql_numfields</KEYWORD2>\r
-                       <KEYWORD2>mysql_numrows</KEYWORD2>\r
-                       <KEYWORD2>mysql_selectdb</KEYWORD2>\r
-                       <KEYWORD2>mysql_table_name</KEYWORD2>\r
-                       <KEYWORD2>mysql_tablename</KEYWORD2>\r
-                       <KEYWORD2>mysqli</KEYWORD2>\r
-                       <KEYWORD2>mysqli_execute</KEYWORD2>\r
-                       <KEYWORD2>mysqli_fetch</KEYWORD2>\r
-                       <KEYWORD2>mysqli_set_opt</KEYWORD2>\r
-                       <KEYWORD2>next_result</KEYWORD2>\r
-                       <KEYWORD2>num_rows</KEYWORD2>\r
-                       <KEYWORD2>oci_free_cursor</KEYWORD2>\r
-                       <KEYWORD2>ocibindbyname</KEYWORD2>\r
-                       <KEYWORD2>ocicancel</KEYWORD2>\r
-                       <KEYWORD2>ocicollappend</KEYWORD2>\r
-                       <KEYWORD2>ocicollassignelem</KEYWORD2>\r
-                       <KEYWORD2>ocicollgetelem</KEYWORD2>\r
-                       <KEYWORD2>ocicollmax</KEYWORD2>\r
-                       <KEYWORD2>ocicollsize</KEYWORD2>\r
-                       <KEYWORD2>ocicolltrim</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnisnull</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnname</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnprecision</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnscale</KEYWORD2>\r
-                       <KEYWORD2>ocicolumnsize</KEYWORD2>\r
-                       <KEYWORD2>ocicolumntype</KEYWORD2>\r
-                       <KEYWORD2>ocicolumntyperaw</KEYWORD2>\r
-                       <KEYWORD2>ocicommit</KEYWORD2>\r
-                       <KEYWORD2>ocidefinebyname</KEYWORD2>\r
-                       <KEYWORD2>ocierror</KEYWORD2>\r
-                       <KEYWORD2>ociexecute</KEYWORD2>\r
-                       <KEYWORD2>ocifetch</KEYWORD2>\r
-                       <KEYWORD2>ocifetchstatement</KEYWORD2>\r
-                       <KEYWORD2>ocifreecollection</KEYWORD2>\r
-                       <KEYWORD2>ocifreecursor</KEYWORD2>\r
-                       <KEYWORD2>ocifreedesc</KEYWORD2>\r
-                       <KEYWORD2>ocifreestatement</KEYWORD2>\r
-                       <KEYWORD2>ociinternaldebug</KEYWORD2>\r
-                       <KEYWORD2>ociloadlob</KEYWORD2>\r
-                       <KEYWORD2>ocilogoff</KEYWORD2>\r
-                       <KEYWORD2>ocilogon</KEYWORD2>\r
-                       <KEYWORD2>ocinewcollection</KEYWORD2>\r
-                       <KEYWORD2>ocinewcursor</KEYWORD2>\r
-                       <KEYWORD2>ocinewdescriptor</KEYWORD2>\r
-                       <KEYWORD2>ocinlogon</KEYWORD2>\r
-                       <KEYWORD2>ocinumcols</KEYWORD2>\r
-                       <KEYWORD2>ociparse</KEYWORD2>\r
-                       <KEYWORD2>ocipasswordchange</KEYWORD2>\r
-                       <KEYWORD2>ociplogon</KEYWORD2>\r
-                       <KEYWORD2>ociresult</KEYWORD2>\r
-                       <KEYWORD2>ocirollback</KEYWORD2>\r
-                       <KEYWORD2>ocirowcount</KEYWORD2>\r
-                       <KEYWORD2>ocisavelob</KEYWORD2>\r
-                       <KEYWORD2>ocisavelobfile</KEYWORD2>\r
-                       <KEYWORD2>ociserverversion</KEYWORD2>\r
-                       <KEYWORD2>ocisetprefetch</KEYWORD2>\r
-                       <KEYWORD2>ocistatementtype</KEYWORD2>\r
-                       <KEYWORD2>ociwritelobtofile</KEYWORD2>\r
-                       <KEYWORD2>odbc_do</KEYWORD2>\r
-                       <KEYWORD2>odbc_field_precision</KEYWORD2>\r
-                       <KEYWORD2>openssl_free_key</KEYWORD2>\r
-                       <KEYWORD2>openssl_get_privatekey</KEYWORD2>\r
-                       <KEYWORD2>openssl_get_publickey</KEYWORD2>\r
-                       <KEYWORD2>options</KEYWORD2>\r
-                       <KEYWORD2>pg_clientencoding</KEYWORD2>\r
-                       <KEYWORD2>pg_cmdtuples</KEYWORD2>\r
-                       <KEYWORD2>pg_errormessage</KEYWORD2>\r
-                       <KEYWORD2>pg_exec</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldisnull</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldname</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldnum</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldprtlen</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldsize</KEYWORD2>\r
-                       <KEYWORD2>pg_fieldtype</KEYWORD2>\r
-                       <KEYWORD2>pg_freeresult</KEYWORD2>\r
-                       <KEYWORD2>pg_getlastoid</KEYWORD2>\r
-                       <KEYWORD2>pg_loclose</KEYWORD2>\r
-                       <KEYWORD2>pg_locreate</KEYWORD2>\r
-                       <KEYWORD2>pg_loexport</KEYWORD2>\r
-                       <KEYWORD2>pg_loimport</KEYWORD2>\r
-                       <KEYWORD2>pg_loopen</KEYWORD2>\r
-                       <KEYWORD2>pg_loread</KEYWORD2>\r
-                       <KEYWORD2>pg_loreadall</KEYWORD2>\r
-                       <KEYWORD2>pg_lounlink</KEYWORD2>\r
-                       <KEYWORD2>pg_lowrite</KEYWORD2>\r
-                       <KEYWORD2>pg_numfields</KEYWORD2>\r
-                       <KEYWORD2>pg_numrows</KEYWORD2>\r
-                       <KEYWORD2>pg_result</KEYWORD2>\r
-                       <KEYWORD2>pg_setclientencoding</KEYWORD2>\r
-                       <KEYWORD2>ping</KEYWORD2>\r
-                       <KEYWORD2>pos</KEYWORD2>\r
-                       <KEYWORD2>posix_errno</KEYWORD2>\r
-                       <KEYWORD2>prepare</KEYWORD2>\r
-                       <KEYWORD2>query</KEYWORD2>\r
-                       <KEYWORD2>read_exif_data</KEYWORD2>\r
-                       <KEYWORD2>real_connect</KEYWORD2>\r
-                       <KEYWORD2>real_escape_string</KEYWORD2>\r
-                       <KEYWORD2>real_query</KEYWORD2>\r
-                       <KEYWORD2>recode</KEYWORD2>\r
-                       <KEYWORD2>reset</KEYWORD2>\r
-                       <KEYWORD2>result_metadata</KEYWORD2>\r
-                       <KEYWORD2>rollback</KEYWORD2>\r
-                       <KEYWORD2>rpl_parse_enabled</KEYWORD2>\r
-                       <KEYWORD2>rpl_probe</KEYWORD2>\r
-                       <KEYWORD2>rpl_query_type</KEYWORD2>\r
-                       <KEYWORD2>select_db</KEYWORD2>\r
-                       <KEYWORD2>send_long_data</KEYWORD2>\r
-                       <KEYWORD2>session_commit</KEYWORD2>\r
-                       <KEYWORD2>set_file_buffer</KEYWORD2>\r
-                       <KEYWORD2>set_local_infile_default</KEYWORD2>\r
-                       <KEYWORD2>set_local_infile_handler</KEYWORD2>\r
-                       <KEYWORD2>set_opt</KEYWORD2>\r
-                       <KEYWORD2>show_source</KEYWORD2>\r
-                       <KEYWORD2>sizeof</KEYWORD2>\r
-                       <KEYWORD2>slave_query</KEYWORD2>\r
-                       <KEYWORD2>snmpwalkoid</KEYWORD2>\r
-                       <KEYWORD2>socket_get_status</KEYWORD2>\r
-                       <KEYWORD2>socket_getopt</KEYWORD2>\r
-                       <KEYWORD2>socket_set_blocking</KEYWORD2>\r
-                       <KEYWORD2>socket_set_timeout</KEYWORD2>\r
-                       <KEYWORD2>socket_setopt</KEYWORD2>\r
-                       <KEYWORD2>sqlite_fetch_string</KEYWORD2>\r
-                       <KEYWORD2>sqlite_has_more</KEYWORD2>\r
-                       <KEYWORD2>ssl_set</KEYWORD2>\r
-                       <KEYWORD2>stat</KEYWORD2>\r
-                       <KEYWORD2>stmt</KEYWORD2>\r
-                       <KEYWORD2>stmt_init</KEYWORD2>\r
-                       <KEYWORD2>store_result</KEYWORD2>\r
-                       <KEYWORD2>strchr</KEYWORD2>\r
-                       <KEYWORD2>stream_register_wrapper</KEYWORD2>\r
-                       <KEYWORD2>thread_safe</KEYWORD2>\r
-                       <KEYWORD2>use_result</KEYWORD2>\r
-                       <KEYWORD2>user_error</KEYWORD2>\r
-                       <KEYWORD2>velocis_autocommit</KEYWORD2>\r
-                       <KEYWORD2>velocis_close</KEYWORD2>\r
-                       <KEYWORD2>velocis_commit</KEYWORD2>\r
-                       <KEYWORD2>velocis_connect</KEYWORD2>\r
-                       <KEYWORD2>velocis_exec</KEYWORD2>\r
-                       <KEYWORD2>velocis_fetch</KEYWORD2>\r
-                       <KEYWORD2>velocis_fieldname</KEYWORD2>\r
-                       <KEYWORD2>velocis_fieldnum</KEYWORD2>\r
-                       <KEYWORD2>velocis_freeresult</KEYWORD2>\r
-                       <KEYWORD2>velocis_off_autocommit</KEYWORD2>\r
-                       <KEYWORD2>velocis_result</KEYWORD2>\r
-                       <KEYWORD2>velocis_rollback</KEYWORD2>\r
-                       <KEYWORD2>virtual</KEYWORD2>\r
-\r
-\r
-                       <!-- Language constructs (69)\r
-                               http://www.php.net/manual/en/reserved.php -->\r
-                       <KEYWORD1>__CLASS__</KEYWORD1>\r
-                       <KEYWORD1>__FILE__</KEYWORD1>\r
-                       <KEYWORD1>__FUNCTION__</KEYWORD1>\r
-                       <KEYWORD1>__LINE__</KEYWORD1>\r
-                       <KEYWORD1>__METHOD__</KEYWORD1>\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <KEYWORD1>array</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>cfunction</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>clone</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>declare</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>die</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>echo</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>elseif</KEYWORD1>\r
-                       <KEYWORD1>empty</KEYWORD1>\r
-                       <KEYWORD1>enddeclare</KEYWORD1>\r
-                       <KEYWORD1>endfor</KEYWORD1>\r
-                       <KEYWORD1>endforeach</KEYWORD1>\r
-                       <KEYWORD1>endif</KEYWORD1>\r
-                       <KEYWORD1>endswitch</KEYWORD1>\r
-                       <KEYWORD1>endwhile</KEYWORD1>\r
-                       <KEYWORD1>eval</KEYWORD1>\r
-                       <KEYWORD1>exception</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>false</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>global</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>include</KEYWORD1>\r
-                       <KEYWORD1>include_once</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD1>isset</KEYWORD1>\r
-                       <KEYWORD1>list</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>null</KEYWORD1>\r
-                       <KEYWORD1>old_function</KEYWORD1>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <KEYWORD1>php_user_filter</KEYWORD1>\r
-                       <KEYWORD1>print</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>require</KEYWORD1>\r
-                       <KEYWORD1>require_once</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>true</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>unset</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <OPERATOR>xor</OPERATOR>\r
-                       <!-- end: generated by buildfunctionlist.php -->\r
-                       <!-- }}} -->\r
-\r
-                       <!-- xdebug functions -->\r
-                       <!-- {{{ -->\r
-                       <KEYWORD2>xdebug_break</KEYWORD2>\r
-                       <KEYWORD2>xdebug_call_class</KEYWORD2>\r
-                       <KEYWORD2>xdebug_call_file</KEYWORD2>\r
-                       <KEYWORD2>xdebug_call_function</KEYWORD2>\r
-                       <KEYWORD2>xdebug_call_line</KEYWORD2>\r
-                       <KEYWORD2>xdebug_disable</KEYWORD2>\r
-                       <KEYWORD2>xdebug_dump_function_profile</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_dump_function_trace</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_dump_superglobals</KEYWORD2>\r
-                       <KEYWORD2>xdebug_enable</KEYWORD2>\r
-                       <KEYWORD2>xdebug_get_code_coverage</KEYWORD2>\r
-                       <KEYWORD2>xdebug_get_function_count</KEYWORD2>\r
-                       <KEYWORD2>xdebug_get_function_profile</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_get_function_stack</KEYWORD2>\r
-                       <KEYWORD2>xdebug_get_function_trace</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_get_stack_depth</KEYWORD2>\r
-                       <KEYWORD2>xdebug_is_enabled</KEYWORD2>\r
-                       <KEYWORD2>xdebug_memory_usage</KEYWORD2>\r
-                       <KEYWORD2>xdebug_peak_memory_usage</KEYWORD2>\r
-                       <KEYWORD2>xdebug_start_code_coverage</KEYWORD2>\r
-                       <KEYWORD2>xdebug_start_profiling</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_start_trace</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_stop_code_coverage</KEYWORD2>\r
-                       <KEYWORD2>xdebug_stop_profiling</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_stop_trace</KEYWORD2><!-- version 1 only -->\r
-                       <KEYWORD2>xdebug_time_index</KEYWORD2>\r
-                       <KEYWORD2>xdebug_var_dump</KEYWORD2>\r
-                       <!-- }}} -->\r
-\r
-                       <!-- Basic SimpleTest methods -->\r
-                       <!-- {{{ -->\r
-                       <KEYWORD2>assertCopy</KEYWORD2>\r
-                       <KEYWORD2>assertEqual</KEYWORD2>\r
-                       <KEYWORD2>assertError</KEYWORD2>\r
-                       <KEYWORD2>assertErrorPattern</KEYWORD2>\r
-                       <KEYWORD2>assertFalse</KEYWORD2>\r
-                       <KEYWORD2>assertIdentical</KEYWORD2>\r
-                       <KEYWORD2>assertIsA</KEYWORD2>\r
-                       <KEYWORD2>assertNoErrors</KEYWORD2>\r
-                       <KEYWORD2>assertNoUnwantedPattern</KEYWORD2>\r
-                       <KEYWORD2>assertNotA</KEYWORD2>\r
-                       <KEYWORD2>assertNotEqual</KEYWORD2>\r
-                       <KEYWORD2>assertNotIdentical</KEYWORD2>\r
-                       <KEYWORD2>assertNotNull</KEYWORD2>\r
-                       <KEYWORD2>assertNull</KEYWORD2>\r
-                       <KEYWORD2>assertReference</KEYWORD2>\r
-                       <KEYWORD2>assertTrue</KEYWORD2>\r
-                       <KEYWORD2>assertWantedPattern</KEYWORD2>\r
-\r
-                       <KEYWORD2>setReturnValue</KEYWORD2>\r
-                       <KEYWORD2>setReturnValueAt</KEYWORD2>\r
-                       <KEYWORD2>setReturnReference</KEYWORD2>\r
-                       <KEYWORD2>setReturnReferenceAt</KEYWORD2>\r
-                       <KEYWORD2>expectArguments</KEYWORD2>\r
-                       <KEYWORD2>expectArgumentsAt</KEYWORD2>\r
-                       <KEYWORD2>expectCallCount</KEYWORD2>\r
-                       <KEYWORD2>expectMaximumCallCount</KEYWORD2>\r
-                       <KEYWORD2>expectMinimumCallCount</KEYWORD2>\r
-                       <KEYWORD2>expectNever</KEYWORD2>\r
-                       <KEYWORD2>expectOnce</KEYWORD2>\r
-                       <KEYWORD2>expectAtLeastOnce</KEYWORD2>\r
-                       <KEYWORD2>tally</KEYWORD2>\r
-\r
-                       <KEYWORD2>dump</KEYWORD2>\r
-                       <KEYWORD2>error</KEYWORD2>\r
-                       <KEYWORD2>fail</KEYWORD2>\r
-                       <KEYWORD2>pass</KEYWORD2>\r
-                       <KEYWORD2>sendMessage</KEYWORD2>\r
-                       <KEYWORD2>setUp</KEYWORD2>\r
-                       <KEYWORD2>signal</KEYWORD2>\r
-                       <KEYWORD2>swallowErrors</KEYWORD2>\r
-                       <KEYWORD2>tearDown</KEYWORD2>\r
-                       <!-- }}} -->\r
-\r
-                       <!-- more magical functions -->\r
-                       <KEYWORD2>__autoload</KEYWORD2>\r
-                       <KEYWORD2>__destruct</KEYWORD2>\r
-                       <KEYWORD2>__get</KEYWORD2>\r
-                       <KEYWORD2>__set</KEYWORD2>\r
-                       <KEYWORD2>__sleep</KEYWORD2>\r
-                       <KEYWORD2>__wakeup</KEYWORD2>\r
-\r
-                       <!-- more constructs -->\r
-                       <KEYWORD4>parent</KEYWORD4>\r
-                       <KEYWORD4>self</KEYWORD4>\r
-                       <KEYWORD4>stdClass</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="KEYWORDS_VISIBILITY">\r
-               <KEYWORDS>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <!-- Javascript -->\r
-       <RULES SET="JAVASCRIPT_OPENTAG" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT">&gt;</SEQ>\r
-               <IMPORT DELEGATE="TO_LITERAL+PHP"/> <!-- handle PHP in <script> tag -->\r
-               <IMPORT DELEGATE="html::TAGS" /> <!-- handle e.g. 'style="width:1px"' -->\r
-       </RULES>\r
-\r
-\r
-       <!-- Handle literals, but allow switching to PHP therein, e.g. from html TAGS -->\r
-       <RULES SET="TO_LITERAL+PHP">\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL1+PHP">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL2+PHP">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" ESCAPE="\">\r
-               <IMPORT DELEGATE="TO_LITERAL+PHP"/>\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-               <IMPORT DELEGATE="javascript::MAIN"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Handle PHP tags in LITERAL1, e.g. in the "type" attribute of a <SCRIPT> tag -->\r
-       <RULES SET="LITERAL1+PHP" DEFAULT="LITERAL1">\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Handle PHP tags in LITERAL2, e.g. in the "type" attribute of a <SCRIPT> tag -->\r
-       <RULES SET="LITERAL2+PHP" DEFAULT="LITERAL2">\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Handle PHP tags in comments -->\r
-       <RULES SET="COMMENT1+PHP" DEFAULT="COMMENT1">\r
-               <IMPORT DELEGATE="TO_PHP"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Go to PHP mode again -->\r
-       <RULES SET="TO_PHP" DEFAULT="MARKUP">\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;?php</BEGIN>\r
-                       <END>?&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;?</BEGIN>\r
-                       <END>?&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="PHP">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-\r
-       <!-- Extended label block, also uses "|" as seperator -->\r
-       <RULES SET="PHPDOC_LABEL_BLOCK_EXTENDED" DEFAULT="COMMENT3"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-\r
-               <!-- Delegate back (gets not caught from PHPDOC_LABEL_BLOCK): -->\r
-               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" />\r
-               <IMPORT DELEGATE="PHPDOC_LABEL_BLOCK" />\r
-\r
-               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
-               <IMPORT DELEGATE="PHPDOC" />\r
-               <IMPORT DELEGATE="PHPDOC_VAR" />\r
-               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
-       </RULES>\r
-\r
-       <!-- A block after a label tag like "@see" -->\r
-       <RULES SET="PHPDOC_LABEL_BLOCK" DEFAULT="COMMENT3"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-\r
-               <!-- Delegate back -->\r
-               <!-- <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" /> -->\r
-\r
-               <SEQ TYPE="COMMENT3" DELEGATE="PHPDOC">*/</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION">()</MARK_PREVIOUS>\r
-\r
-               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
-               <IMPORT DELEGATE="PHPDOC" />\r
-               <IMPORT DELEGATE="PHPDOC_VAR" />\r
-               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
-\r
-               <!-- Taken from: http://php.net/manual/en/language.types.php -->\r
-               <KEYWORDS>\r
-                       <OPERATOR>array</OPERATOR>\r
-                       <OPERATOR>bool</OPERATOR>\r
-                       <OPERATOR>boolean</OPERATOR>\r
-                       <OPERATOR>callback</OPERATOR>\r
-                       <OPERATOR>double</OPERATOR>\r
-                       <OPERATOR>float</OPERATOR>\r
-                       <OPERATOR>int</OPERATOR>\r
-                       <OPERATOR>integer</OPERATOR>\r
-                       <OPERATOR>mixed</OPERATOR>\r
-                       <OPERATOR>number</OPERATOR>\r
-                       <OPERATOR>NULL</OPERATOR>\r
-                       <OPERATOR>object</OPERATOR>\r
-                       <OPERATOR>real</OPERATOR><!-- not listed, but valid in a typecast -->\r
-                       <OPERATOR>resource</OPERATOR>\r
-                       <OPERATOR>string</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-\r
-       <!-- A block after @access -->\r
-       <RULES SET="PHPDOC_LABEL_BLOCK_ACCESS" DEFAULT="COMMENT3"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-               <IMPORT DELEGATE="KEYWORDS_VISIBILITY" />\r
-\r
-               <!-- Delegate back: -->\r
-               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS"/>\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="PHPDOC_BLOCK" DEFAULT="COMMENT3"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-               <!-- highlight function/method name as token type FUNCTION -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION">()</MARK_PREVIOUS>\r
-\r
-               <!-- Delegate back: -->\r
-               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS"/>\r
-               <IMPORT DELEGATE="PHPDOC"/>\r
-               <IMPORT DELEGATE="PHPDOC_VAR"/>\r
-       </RULES>\r
-\r
-\r
-       <!-- Helper for class references in rule PHPDOC -->\r
-       <RULES SET="OBJECT_PHPDOC">\r
-               <SPAN TYPE="OPERATOR" DELEGATE="PHP">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="-&gt;" DELEGATE="PHPDOC">-&gt;\w+\s*(?=\()</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="OBJECT_PHPDOC">-&gt;\w+(?=(\[[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
-               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="-&gt;" DELEGATE="PHPDOC">-&gt;\w*</SEQ_REGEXP>\r
-\r
-               <IMPORT DELEGATE="PHP_KEYWORDS" />\r
-       </RULES>\r
-\r
-\r
-       <!-- Almost like PHP_VAR - but with another delegate -->\r
-       <RULES SET="PHPDOC_VAR">\r
-               <!-- (Class-)Variables -->\r
-               <SEQ_REGEXP TYPE="KEYWORD4" HASH_CHAR="$" DELEGATE="OBJECT_PHPDOC">\$\w+(?=(\[[\s\w'"]+\])?-&gt;)</SEQ_REGEXP>\r
-\r
-               <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
-\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD4">\$\w+(?=\s*=\s*(&amp;\s*)?new)</SEQ_REGEXP>\r
-\r
-               <!-- Normal variables -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-\r
-       <!-- phpdoc / phpDocumentor label tags -->\r
-       <RULES SET="PHPDOC_LABEL_KEYWORDS">\r
-               <!-- {{{\r
-                       Some (@global, @param, ..) are here just for complete-word -->\r
-               <KEYWORDS>\r
-                       <LABEL>@abstract</LABEL>\r
-                       <LABEL>@access</LABEL>\r
-                       <LABEL>@author</LABEL>\r
-                       <LABEL>@category</LABEL>\r
-                       <LABEL>@const</LABEL>\r
-                       <LABEL>@constant</LABEL>\r
-                       <LABEL>@copyright</LABEL>\r
-                       <LABEL>@deprecated</LABEL>\r
-                       <LABEL>@example</LABEL>\r
-                       <LABEL>@filesource</LABEL>\r
-                       <LABEL>@final</LABEL>\r
-                       <LABEL>@global</LABEL>\r
-                       <LABEL>@ignore</LABEL>\r
-                       <LABEL>@internal</LABEL>\r
-                       <LABEL>@license</LABEL>\r
-                       <LABEL>@link</LABEL>\r
-                       <LABEL>@name</LABEL>\r
-                       <LABEL>@package</LABEL>\r
-                       <LABEL>@param</LABEL>\r
-                       <LABEL>@return</LABEL>\r
-                       <LABEL>@see</LABEL>\r
-                       <LABEL>@since</LABEL>\r
-                       <LABEL>@static</LABEL>\r
-                       <LABEL>@staticvar</LABEL>\r
-                       <LABEL>@subpackage</LABEL>\r
-                       <LABEL>@todo</LABEL>\r
-                       <LABEL>@tutorial</LABEL>\r
-                       <LABEL>@uses</LABEL>\r
-                       <LABEL>@var</LABEL>\r
-                       <LABEL>@version</LABEL>\r
-               </KEYWORDS>\r
-               <!-- }}} -->\r
-       </RULES>\r
-\r
-\r
-       <!-- Delegate to PHPDOC_LABEL_BLOCK[_EXTENDED|_ACCESS] or back to PHPDOC -->\r
-       <RULES SET="PHPDOC_DELEGATE_LABEL_BLOCKS" DEFAULT="COMMENT3">\r
-               <!-- Delegate empty line (just an asterisk) back to PHPDOC -->\r
-               <SEQ_REGEXP TYPE="COMMENT3" AT_WHITESPACE_END="TRUE" DELEGATE="PHPDOC" HASH_CHAR="*">\*\s*$</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
-                       DELEGATE="PHPDOC_LABEL_BLOCK_EXTENDED">@(global|param|return|staticvar|var)</SEQ_REGEXP>\r
-\r
-               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
-                       DELEGATE="PHPDOC_LABEL_BLOCK">@(deprecated|see|uses)</SEQ_REGEXP>\r
-\r
-               <SEQ TYPE="LABEL" DELEGATE="PHPDOC_LABEL_BLOCK_ACCESS">@access</SEQ>\r
-\r
-               <!-- Delegate the remaining phpdoc tags back to PHPDOC_BLOCK: -->\r
-               <SEQ_REGEXP TYPE="LABEL" HASH_CHAR="@"\r
-                       DELEGATE="PHPDOC_BLOCK">@(abstract|author|category|const|constant|copyright|example|filesource|final|ignore|internal|license|link|name|package|since|static|subpackage|todo|tutorial|version)</SEQ_REGEXP>\r
-       </RULES>\r
-\r
-\r
-       <!-- The main phpdoc rules -->\r
-       <RULES SET="PHPDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[0-9a-f]+|([0-9]*\.)?[0-9]+(e[+-]?[0-9]+)?)">\r
-               <!-- HTML comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="PHPDOC_BLOCK">\r
-                       <BEGIN>{@internal</BEGIN>\r
-                       <END>}}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="PHPDOC_BLOCK">\r
-                       <BEGIN>{@link</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- PHPdoc allows this -->\r
-               <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt;=</SEQ>\r
-               <SEQ TYPE="COMMENT3">&lt; </SEQ>\r
-\r
-               <SPAN DELEGATE="PHP" TYPE="MARKUP">\r
-                       <BEGIN>&lt;code&gt;</BEGIN>\r
-                       <END>&lt;/code&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- HTML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Imports: -->\r
-               <IMPORT DELEGATE="PHPDOC_DELEGATE_LABEL_BLOCKS" />\r
-               <IMPORT DELEGATE="PHPDOC_LABEL_KEYWORDS" />\r
-               <IMPORT DELEGATE="PHPDOC_VAR" />\r
-               <IMPORT DELEGATE="PHP_BASIC_KEYWORD1" />\r
-       </RULES>\r
-\r
-\r
-       <RULES SET="INVALID_LT" DEFAULT="INVALID">\r
-               <SEQ TYPE="INVALID">&lt;</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/pike.xml b/extra/xmode/modes/pike.xml
deleted file mode 100644 (file)
index fa50f3e..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- Pike mode, contributed by\r
-                      Marco G?tze, <gomar@gmx.net> -->\r
-<!-- Small fixes and autodoc support contributed by\r
-                      Peter Lundqvist <peterl@update.uu.se> -->\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="/*"/>\r
-    <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
-    <PROPERTY NAME="lineComment" VALUE="//"/>\r
-    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*`"/>\r
-\r
-    <!-- Auto indent -->\r
-    <PROPERTY NAME="indentOpenBrackets" VALUE="{"/>\r
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
-    <PROPERTY NAME="indentNextLine" VALUE="\s*(((if|(for(each)?)|while|catch|gauge)\s*\(|(do|else)\s*|else\s+if\s*\()[^{;]*)"/>\r
-    <!-- set this to 'true' if you want to use GNU coding style -->\r
-    <PROPERTY NAME="doubleBracketIndent" VALUE="false"/>\r
-  </PROPS>\r
-  <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[\p{XDigit}]+|[\p{Digit}]+|0[bB][01]+)[lLdDfF]?">\r
-\r
-    <!-- comments -->\r
-    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-      <BEGIN>/*</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-    <SEQ TYPE="INVALID">*/</SEQ>\r
-\r
-    <!-- Autodoc comment -->\r
-    <EOL_SPAN TYPE="COMMENT1" DELEGATE="AUTODOC">//!</EOL_SPAN>\r
-    <!-- C++ line comment -->\r
-    <EOL_SPAN TYPE="COMMENT1" DELEGATE="COMMENT">//</EOL_SPAN>\r
-\r
-    <!-- string, char literals -->\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING_LITERAL">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1" DELEGATE="STRING_LITERAL">\r
-      <BEGIN>#"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <!-- preprocessor statements -->\r
-    <SEQ_REGEXP TYPE="KEYWORD2" HASH_CHAR="#" AT_LINE_START="TRUE">#.*?(?=($|/\*|//))</SEQ_REGEXP>\r
-\r
-    <!-- operators -->\r
-    <SEQ TYPE="OPERATOR">({</SEQ>\r
-    <SEQ TYPE="OPERATOR">})</SEQ>\r
-    <SEQ TYPE="OPERATOR">([</SEQ>\r
-    <SEQ TYPE="OPERATOR">])</SEQ>\r
-    <SEQ TYPE="OPERATOR">(&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;)</SEQ>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">%</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="OPERATOR">@</SEQ>\r
-    <SEQ TYPE="OPERATOR">`</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-\r
-    <!-- function calls -->\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- type modifiers -->\r
-      <KEYWORD1>constant</KEYWORD1>\r
-      <KEYWORD1>extern</KEYWORD1>\r
-      <KEYWORD1>final</KEYWORD1>\r
-      <KEYWORD1>inline</KEYWORD1>\r
-      <KEYWORD1>local</KEYWORD1>\r
-      <KEYWORD1>nomask</KEYWORD1>\r
-      <KEYWORD1>optional</KEYWORD1>\r
-      <KEYWORD1>private</KEYWORD1>\r
-      <KEYWORD1>protected</KEYWORD1>\r
-      <KEYWORD1>public</KEYWORD1>\r
-      <KEYWORD1>static</KEYWORD1>\r
-      <KEYWORD1>variant</KEYWORD1>\r
-\r
-      <!-- types -->\r
-      <KEYWORD3>array</KEYWORD3>\r
-      <KEYWORD3>class</KEYWORD3>\r
-      <KEYWORD3>float</KEYWORD3>\r
-      <KEYWORD3>function</KEYWORD3>\r
-      <KEYWORD3>int</KEYWORD3>\r
-      <KEYWORD3>mapping</KEYWORD3>\r
-      <KEYWORD3>mixed</KEYWORD3>\r
-      <KEYWORD3>multiset</KEYWORD3>\r
-      <KEYWORD3>object</KEYWORD3>\r
-      <KEYWORD3>program</KEYWORD3>\r
-      <KEYWORD3>string</KEYWORD3>\r
-      <KEYWORD3>void</KEYWORD3>\r
-\r
-      <!-- flow control and block-introducing keywords -->\r
-      <KEYWORD1>break</KEYWORD1>\r
-      <KEYWORD1>case</KEYWORD1>\r
-      <KEYWORD1>catch</KEYWORD1>\r
-      <KEYWORD1>continue</KEYWORD1>\r
-      <KEYWORD1>default</KEYWORD1>\r
-      <KEYWORD1>do</KEYWORD1>\r
-      <KEYWORD1>else</KEYWORD1>\r
-      <KEYWORD1>for</KEYWORD1>\r
-      <KEYWORD1>foreach</KEYWORD1>\r
-      <KEYWORD1>gauge</KEYWORD1>\r
-      <KEYWORD1>if</KEYWORD1>\r
-      <KEYWORD1>lambda</KEYWORD1>\r
-      <KEYWORD1>return</KEYWORD1>\r
-      <KEYWORD1>sscanf</KEYWORD1>\r
-      <KEYWORD1>switch</KEYWORD1>\r
-      <KEYWORD1>while</KEYWORD1>\r
-\r
-      <!-- special instructions -->\r
-      <KEYWORD2>import</KEYWORD2>\r
-      <KEYWORD2>inherit</KEYWORD2>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <RULES SET="COMMENT" IGNORE_CASE="FALSE" DEFAULT="COMMENT1">\r
-    <KEYWORDS>\r
-      <COMMENT2>FIXME</COMMENT2>\r
-      <COMMENT2>XXX</COMMENT2>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <RULES SET="AUTODOC" IGNORE_CASE="TRUE" DEFAULT="COMMENT1">\r
-\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN" MATCH_TYPE="CONTEXT">@decl</EOL_SPAN>\r
-\r
-               <!-- XML tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                 <BEGIN>@xml{</BEGIN>\r
-                       <END>@}</END>\r
-               </SPAN>\r
-               <!-- Cross references -->\r
-               <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
-               <BEGIN>@[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Brace keywords -->\r
-               <SEQ_REGEXP TYPE="FUNCTION" HASH_CHAR="@">@(b|i|u|tt|url|pre|ref|code|expr|image)?(\{.*@\})</SEQ_REGEXP>\r
-\r
-               <!-- Attempt to get syntax highlighting of @decl-ed functions\r
-                    inside of the autodoc-rule.\r
-\r
-                    It works - but jEdit 4.1 has problems keeping it highlighted\r
-                    (the syntax highlighting works depending on how you travel\r
-                    past the @decl-ed region).\r
-                    Can't figure aout how to to proper coloring of the @decl\r
-                    keyword either.\r
-\r
-                    If there are problems with what regions are highlighted -\r
-                    try to uncomment this first.\r
-               -->\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="MAIN">@decl</EOL_SPAN>\r
-\r
-               <KEYWORDS>\r
-                 <!-- Meta keywords -->\r
-                 <LABEL>@appears</LABEL>\r
-                 <LABEL>@belongs</LABEL>\r
-                 <LABEL>@class</LABEL>\r
-                 <LABEL>@endclass</LABEL>\r
-                 <LABEL>@example</LABEL>\r
-                 <LABEL>@module</LABEL>\r
-                 <LABEL>@endmodule</LABEL>\r
-                 <LABEL>@namespace</LABEL>\r
-                 <LABEL>@endnamespace</LABEL>\r
-                 <!-- <LABEL>@decl</LABEL>\r
-                 -->\r
-\r
-                 <!-- Single keywords -->\r
-                 <LABEL>@deprecated</LABEL>\r
-\r
-                 <!-- Delimiter keywords -->\r
-                 <LABEL>@note</LABEL>\r
-                 <LABEL>@example</LABEL>\r
-                 <LABEL>@bugs</LABEL>\r
-                 <LABEL>@returns</LABEL>\r
-                 <LABEL>@throws</LABEL>\r
-                 <LABEL>@param</LABEL>\r
-                 <LABEL>@seealso</LABEL>\r
-                 <LABEL>@fixme</LABEL>\r
-                 <LABEL>@constant</LABEL>\r
-                 <LABEL>@member</LABEL>\r
-                 <LABEL>@index</LABEL>\r
-                 <LABEL>@elem</LABEL>\r
-                 <LABEL>@value</LABEL>\r
-                 <LABEL>@type</LABEL>\r
-                 <LABEL>@item</LABEL>\r
-\r
-                 <!-- Container keywords -->\r
-                 <LABEL>@section</LABEL>\r
-                 <LABEL>@mapping</LABEL>\r
-                 <LABEL>@endmapping</LABEL>\r
-                 <LABEL>@multiset</LABEL>\r
-                 <LABEL>@endmultiset</LABEL>\r
-                 <LABEL>@array</LABEL>\r
-                 <LABEL>@endarray</LABEL>\r
-                 <LABEL>@int</LABEL>\r
-                 <LABEL>@endint</LABEL>\r
-                 <LABEL>@string</LABEL>\r
-                 <LABEL>@endstring</LABEL>\r
-                 <LABEL>@mixed</LABEL>\r
-                 <LABEL>@endmixed</LABEL>\r
-                 <LABEL>@dl</LABEL>\r
-                 <LABEL>@enddl</LABEL>\r
-                 <LABEL>@ol</LABEL>\r
-                 <LABEL>@endol</LABEL>\r
-                 <LABEL>@ul</LABEL>\r
-                 <LABEL>@endol</LABEL>\r
-\r
-                 <!-- Special keywords -->\r
-                 <LABEL>@ignore</LABEL>\r
-                 <LABEL>@endignore</LABEL>\r
-\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-  <RULES SET="STRING_LITERAL" ESCAPE="\" IGNORE_CASE="TRUE" DEFAULT="LITERAL1">\r
-    <SEQ_REGEXP TYPE="LITERAL2" HASH_CHAR="%">%([^ a-z]*[a-z]|\[[^\]]*\])</SEQ_REGEXP>\r
-    <SEQ TYPE="COMMENT2">DEBUG:</SEQ>\r
-  </RULES>\r
-</MODE>
\ No newline at end of file
diff --git a/extra/xmode/modes/pl-sql.xml b/extra/xmode/modes/pl-sql.xml
deleted file mode 100644 (file)
index b3e084d..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-        <PROPERTY NAME="indentNextLines" VALUE="\s*(.*THEN|ELSE|LOOP).*" />\r
-               <PROPERTY NAME="unindentNextLines" VALUE="^\s*(ELSE|ELSIF|END IF|END LOOP).*" />\r
-               <PROPERTY NAME="unindentThisLine" VALUE="^\s*(ELSE|ELSIF|END IF|END LOOP).*" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LABEL">\r
-                       <BEGIN>/*+</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="LABEL">--+</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">REM </EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">REMARK</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <MARK_FOLLOWING AT_LINE_START="TRUE" AT_WHITESPACE_END="TRUE"\r
-                TYPE="LABEL">@@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING AT_LINE_START="TRUE"\r
-                AT_WHITESPACE_END="TRUE" TYPE="LABEL">@</MARK_FOLLOWING>\r
-               <EOL_SPAN AT_LINE_START="TRUE" DELEGATE="shellscript::MAIN">!</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE"\r
-                DELEGATE="shellscript::MAIN">host</EOL_SPAN>\r
-               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <!-- reserved words -->\r
-                       <KEYWORD1>ABORT</KEYWORD1>\r
-                       <KEYWORD1>ACCESS</KEYWORD1>\r
-                       <KEYWORD1>ACCEPT</KEYWORD1>\r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ALTER</KEYWORD1>\r
-                       <KEYWORD1>ARRAY</KEYWORD1>\r
-                       <KEYWORD1>ARRAY_LEN</KEYWORD1>\r
-                       <KEYWORD1>AS</KEYWORD1>\r
-                       <KEYWORD1>ASC</KEYWORD1>\r
-                       <KEYWORD1>ASSERT</KEYWORD1>\r
-                       <KEYWORD1>ASSIGN</KEYWORD1>\r
-                       <KEYWORD1>AT</KEYWORD1>\r
-                       <KEYWORD1>AUDIT</KEYWORD1>\r
-                       <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
-                       <KEYWORD1>AVG</KEYWORD1>\r
-                       <KEYWORD1>BASE_TABLE</KEYWORD1>\r
-                       <KEYWORD1>BEGIN</KEYWORD1>\r
-                       <KEYWORD1>BINARY_INTEGER</KEYWORD1>\r
-                       <KEYWORD1>BODY</KEYWORD1>\r
-                       <KEYWORD1>BREAK</KEYWORD1>\r
-                       <KEYWORD1>BREAKS</KEYWORD1>\r
-                       <KEYWORD1>BTITLE</KEYWORD1>\r
-                       <KEYWORD1>CASE</KEYWORD1>\r
-                       <KEYWORD1>CALL</KEYWORD1>\r
-                       <KEYWORD1>CENTER</KEYWORD1>\r
-                       <KEYWORD1>CHAR</KEYWORD1>\r
-                       <KEYWORD1>CHAR_BASE</KEYWORD1>\r
-                       <KEYWORD1>CHECK</KEYWORD1>\r
-                       <KEYWORD1>CLEAR</KEYWORD1>\r
-                       <KEYWORD1>CLOSE</KEYWORD1>\r
-                       <KEYWORD1>CLUSTER</KEYWORD1>\r
-                       <KEYWORD1>CLUSTERS</KEYWORD1>\r
-                       <KEYWORD1>CMPVAR</KEYWORD1>\r
-                       <KEYWORD1>COL</KEYWORD1>\r
-                       <KEYWORD1>COLAUTH</KEYWORD1>\r
-                       <KEYWORD1>COLUMN</KEYWORD1>\r
-                       <KEYWORD1>COLUMNS</KEYWORD1>\r
-                       <KEYWORD1>COMMENT</KEYWORD1>\r
-                       <KEYWORD1>COMMIT</KEYWORD1>\r
-                       <KEYWORD1>COMPRESS</KEYWORD1>\r
-                       <KEYWORD1>COMPUTE</KEYWORD1>\r
-                       <KEYWORD1>CONSTANT</KEYWORD1>\r
-                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>COUNT</KEYWORD1>\r
-                       <KEYWORD1>CREATE</KEYWORD1>\r
-                       <KEYWORD1>CURRENT</KEYWORD1>\r
-                       <KEYWORD1>CURRVAL</KEYWORD1>\r
-                       <KEYWORD1>CURSOR</KEYWORD1>\r
-                       <KEYWORD1>DATABASE</KEYWORD1>\r
-                       <KEYWORD1>DATA_BASE</KEYWORD1>\r
-                       <KEYWORD1>DATE</KEYWORD1>\r
-                       <KEYWORD1>DBA</KEYWORD1>\r
-                       <KEYWORD1>DEBUGOFF</KEYWORD1>\r
-                       <KEYWORD1>DEBUGON</KEYWORD1>\r
-                       <KEYWORD1>DECLARE</KEYWORD1>\r
-                       <KEYWORD1>DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>DEFINITION</KEYWORD1>\r
-                       <KEYWORD1>DELAY</KEYWORD1>\r
-                       <KEYWORD1>DELETE</KEYWORD1>\r
-                       <KEYWORD1>DESC</KEYWORD1>\r
-                       <KEYWORD1>EXPLAIN</KEYWORD1>\r
-                       <KEYWORD1>DIGITS</KEYWORD1>\r
-                       <KEYWORD1>DISPOSE</KEYWORD1>\r
-                       <KEYWORD1>DISTINCT</KEYWORD1>\r
-                       <KEYWORD1>DO</KEYWORD1>\r
-                       <KEYWORD1>DROP</KEYWORD1>\r
-                       <KEYWORD1>DUMP</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>ELSIF</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>ENTRY</KEYWORD1>>\r
-                       <KEYWORD1>ERRORS</KEYWORD1>\r
-                       <KEYWORD1>EXCEPTION</KEYWORD1>\r
-                       <KEYWORD1>EXCEPTION_INIT</KEYWORD1>\r
-                       <KEYWORD1>EXCLUSIVE</KEYWORD1>\r
-                       <KEYWORD1>EXECUTE</KEYWORD1>\r
-                       <KEYWORD1>EXIT</KEYWORD1>\r
-                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
-                       <KEYWORD1>FALSE</KEYWORD1>\r
-                       <KEYWORD1>FETCH</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-            <KEYWORD1>FOREIGN</KEYWORD1>\r
-                       <KEYWORD1>FORM</KEYWORD1>\r
-                       <KEYWORD1>FORMAT</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>FUNCTION</KEYWORD1>\r
-                       <KEYWORD1>GENERIC</KEYWORD1>\r
-                       <KEYWORD1>GOTO</KEYWORD1>\r
-                       <KEYWORD1>GRANT</KEYWORD1>\r
-                       <KEYWORD1>GREATEST</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-                       <KEYWORD1>HAVING</KEYWORD1>\r
-                       <KEYWORD1>HEADING</KEYWORD1>\r
-                       <KEYWORD1>IDENTIFIED</KEYWORD1>\r
-                       <KEYWORD1>IDENTITYCOL</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>IMMEDIATE</KEYWORD1>\r
-                       <KEYWORD1>INCREMENT</KEYWORD1>\r
-                       <KEYWORD1>INDEX</KEYWORD1>\r
-                       <KEYWORD1>INDEXES</KEYWORD1>\r
-                       <KEYWORD1>INDICATOR</KEYWORD1>\r
-                       <KEYWORD1>INITIAL</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>INTERFACE</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>IS</KEYWORD1>\r
-                       <KEYWORD1>KEY</KEYWORD1>\r
-                       <KEYWORD1>LEAST</KEYWORD1>\r
-                       <KEYWORD1>LEVEL</KEYWORD1>\r
-                       <KEYWORD1>LIMITED</KEYWORD1>\r
-                       <KEYWORD1>LOCK</KEYWORD1>\r
-                       <KEYWORD1>LONG</KEYWORD1>\r
-                       <KEYWORD1>LOOP</KEYWORD1>\r
-                       <KEYWORD1>MATCHED</KEYWORD1>\r
-                       <KEYWORD1>MAX</KEYWORD1>\r
-                       <KEYWORD1>MAXEXTENTS</KEYWORD1>\r
-                       <KEYWORD1>MERGE</KEYWORD1>\r
-                       <KEYWORD1>MEMBER</KEYWORD1>\r
-                       <KEYWORD1>MIN</KEYWORD1>\r
-                       <KEYWORD1>MINUS</KEYWORD1>\r
-                       <KEYWORD1>MLSLABEL</KEYWORD1>\r
-                       <KEYWORD1>MOD</KEYWORD1>\r
-                       <KEYWORD1>MODIFY</KEYWORD1>\r
-                       <KEYWORD1>MORE</KEYWORD1>\r
-                       <KEYWORD1>NATURAL</KEYWORD1>\r
-                       <KEYWORD1>NATURALN</KEYWORD1>\r
-                       <KEYWORD1>NEW</KEYWORD1>\r
-                       <KEYWORD1>NEW_VALUE</KEYWORD1>\r
-                       <KEYWORD1>NEXT</KEYWORD1>\r
-                       <KEYWORD1>NEXTVAL</KEYWORD1>\r
-                       <KEYWORD1>NOAUDIT</KEYWORD1>\r
-                       <KEYWORD1>NOCOMPRESS</KEYWORD1>\r
-                       <KEYWORD1>NOPRINT</KEYWORD1>\r
-                       <KEYWORD1>NOWAIT</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>NUMBER</KEYWORD1>\r
-                       <KEYWORD1>NUMBER_BASE</KEYWORD1>\r
-                       <KEYWORD1>OF</KEYWORD1>\r
-                       <KEYWORD1>OFFLINE</KEYWORD1>\r
-                       <KEYWORD1>ON</KEYWORD1>\r
-                       <KEYWORD1>OFF</KEYWORD1>\r
-                       <KEYWORD1>ONLINE</KEYWORD1>\r
-                       <KEYWORD1>OPEN</KEYWORD1>\r
-                       <KEYWORD1>OPTION</KEYWORD1>\r
-                       <KEYWORD1>ORDER</KEYWORD1>\r
-                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
-                       <KEYWORD1>OTHERS</KEYWORD1>\r
-                       <KEYWORD1>OUT</KEYWORD1>\r
-                       <KEYWORD1>PACKAGE</KEYWORD1>\r
-                       <KEYWORD1>PAGE</KEYWORD1>\r
-                       <KEYWORD1>PARTITION</KEYWORD1>\r
-                       <KEYWORD1>PCTFREE</KEYWORD1>\r
-                       <KEYWORD1>PCTINCREASE</KEYWORD1>\r
-                       <KEYWORD1>PLAN</KEYWORD1>\r
-                       <KEYWORD1>POSITIVE</KEYWORD1>\r
-                       <KEYWORD1>POSITIVEN</KEYWORD1>\r
-                       <KEYWORD1>PRAGMA</KEYWORD1>\r
-                       <KEYWORD1>PRINT</KEYWORD1>\r
-                       <KEYWORD1>PRIMARY</KEYWORD1>\r
-                       <KEYWORD1>PRIOR</KEYWORD1>\r
-                       <KEYWORD1>PRIVATE</KEYWORD1>\r
-                       <KEYWORD1>PRIVILEGES</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
-                       <KEYWORD1>PROMPT</KEYWORD1>\r
-                       <KEYWORD1>PUBLIC</KEYWORD1>\r
-                       <KEYWORD1>QUOTED_IDENTIFIER</KEYWORD1>\r
-                       <KEYWORD1>RAISE</KEYWORD1>\r
-                       <KEYWORD1>RANGE</KEYWORD1>\r
-                       <KEYWORD1>RAW</KEYWORD1>\r
-                       <KEYWORD1>RECORD</KEYWORD1>\r
-                       <KEYWORD1>REF</KEYWORD1>\r
-            <KEYWORD1>REFERENCES</KEYWORD1>\r
-                       <KEYWORD1>RELEASE</KEYWORD1>\r
-                       <KEYWORD1>REMR</KEYWORD1>\r
-                       <KEYWORD1>RENAME</KEYWORD1>\r
-                       <KEYWORD1>RESOURCE</KEYWORD1>\r
-                       <KEYWORD1>RETURN</KEYWORD1>\r
-                       <KEYWORD1>REVERSE</KEYWORD1>\r
-                       <KEYWORD1>REVOKE</KEYWORD1>\r
-                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
-                       <KEYWORD1>ROW</KEYWORD1>\r
-                       <KEYWORD1>ROWID</KEYWORD1>\r
-                       <KEYWORD1>ROWLABEL</KEYWORD1>\r
-                       <KEYWORD1>ROWNUM</KEYWORD1>\r
-                       <KEYWORD1>ROWS</KEYWORD1>\r
-                       <KEYWORD1>ROWTYPE</KEYWORD1>\r
-                       <KEYWORD1>RUN</KEYWORD1>\r
-                       <KEYWORD1>SAVEPOINT</KEYWORD1>\r
-                       <KEYWORD1>SCHEMA</KEYWORD1>\r
-                       <KEYWORD1>SELECT</KEYWORD1>\r
-                       <KEYWORD1>SEPERATE</KEYWORD1>\r
-                       <KEYWORD1>SEQUENCE</KEYWORD1>\r
-                       <KEYWORD1>SESSION</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SHARE</KEYWORD1>\r
-                       <KEYWORD1>SHOW</KEYWORD1>\r
-                       <KEYWORD1>SIGNTYPE</KEYWORD1>\r
-                       <KEYWORD1>SKIP</KEYWORD1>\r
-                       <KEYWORD1>SPACE</KEYWORD1>\r
-                       <KEYWORD1>SPOOL</KEYWORD1>\r
-                       <NULL>.SQL</NULL> <!-- for 'SPOOL some.sql;' stuff -->\r
-                       <KEYWORD1>SQL</KEYWORD1>\r
-                       <KEYWORD1>SQLCODE</KEYWORD1>\r
-                       <KEYWORD1>SQLERRM</KEYWORD1>\r
-                       <KEYWORD1>SQLERROR</KEYWORD1>\r
-                       <KEYWORD1>STATEMENT</KEYWORD1>\r
-                       <KEYWORD1>STDDEV</KEYWORD1>\r
-                       <KEYWORD1>STORAGE</KEYWORD1>\r
-                       <KEYWORD1>SUBTYPE</KEYWORD1>\r
-                       <KEYWORD1>SUCCESSFULL</KEYWORD1>\r
-                       <KEYWORD1>SUM</KEYWORD1>\r
-                       <KEYWORD1>SYNONYM</KEYWORD1>\r
-                       <KEYWORD1>SYSDATE</KEYWORD1>\r
-                       <KEYWORD1>TABAUTH</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>TABLES</KEYWORD1>\r
-                       <KEYWORD1>TABLESPACE</KEYWORD1>\r
-                       <KEYWORD1>TASK</KEYWORD1>\r
-                       <KEYWORD1>TERMINATE</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>TRIGGER</KEYWORD1>\r
-                       <KEYWORD1>TRUE</KEYWORD1>\r
-                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
-                       <KEYWORD1>TTITLE</KEYWORD1>\r
-                       <KEYWORD1>TYPE</KEYWORD1>\r
-                       <KEYWORD1>UID</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>UNIQUE</KEYWORD1>\r
-                       <KEYWORD1>UNDEFINE</KEYWORD1>\r
-                       <KEYWORD1>UPDATE</KEYWORD1>\r
-                       <KEYWORD1>UPDATETEXT</KEYWORD1>\r
-                       <KEYWORD1>USE</KEYWORD1>\r
-                       <KEYWORD1>USER</KEYWORD1>\r
-                       <KEYWORD1>USING</KEYWORD1>\r
-                       <KEYWORD1>VALIDATE</KEYWORD1>\r
-                       <KEYWORD1>VALUES</KEYWORD1>\r
-                       <KEYWORD1>VARIANCE</KEYWORD1>\r
-                       <KEYWORD1>VIEW</KEYWORD1>\r
-                       <KEYWORD1>VIEWS</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>WHENEVER</KEYWORD1>\r
-                       <KEYWORD1>WHERE</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WORK</KEYWORD1>\r
-                       <KEYWORD1>WRITE</KEYWORD1>\r
-                       <KEYWORD1>XOR</KEYWORD1>\r
-\r
-                       <!-- data types -->\r
-                       <KEYWORD1>binary</KEYWORD1>\r
-                       <KEYWORD1>bit</KEYWORD1>\r
-                       <KEYWORD1>blob</KEYWORD1>\r
-                       <KEYWORD1>boolean</KEYWORD1>\r
-                       <KEYWORD1>char</KEYWORD1>\r
-                       <KEYWORD1>character</KEYWORD1>\r
-                       <KEYWORD1>datetime</KEYWORD1>\r
-                       <KEYWORD1>decimal</KEYWORD1>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>image</KEYWORD1>\r
-                       <KEYWORD1>int</KEYWORD1>\r
-                       <KEYWORD1>integer</KEYWORD1>\r
-                       <KEYWORD1>money</KEYWORD1>\r
-                       <KEYWORD1>numeric</KEYWORD1>\r
-                       <KEYWORD1>nchar</KEYWORD1>\r
-                       <KEYWORD1>nvarchar</KEYWORD1>\r
-                       <KEYWORD1>ntext</KEYWORD1>\r
-                       <KEYWORD1>object</KEYWORD1>\r
-                       <KEYWORD1>pls_integer</KEYWORD1>\r
-                       <KEYWORD1>real</KEYWORD1>\r
-                       <KEYWORD1>smalldatetime</KEYWORD1>\r
-                       <KEYWORD1>smallint</KEYWORD1>\r
-                       <KEYWORD1>smallmoney</KEYWORD1>\r
-                       <KEYWORD1>text</KEYWORD1>\r
-                       <KEYWORD1>timestamp</KEYWORD1>\r
-                       <KEYWORD1>tinyint</KEYWORD1>\r
-                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
-                       <KEYWORD1>varbinary</KEYWORD1>\r
-                       <KEYWORD1>varchar</KEYWORD1>\r
-                       <KEYWORD1>varchar2</KEYWORD1>\r
-                       <KEYWORD1>varray</KEYWORD1>\r
-\r
-                       <!-- system functions -->\r
-                       <KEYWORD2>ABS</KEYWORD2>\r
-                       <KEYWORD2>ACOS</KEYWORD2>\r
-                       <KEYWORD2>ADD_MONTHS</KEYWORD2>\r
-                       <KEYWORD2>ASCII</KEYWORD2>\r
-                       <KEYWORD2>ASIN</KEYWORD2>\r
-                       <KEYWORD2>ATAN</KEYWORD2>\r
-                       <KEYWORD2>ATAN2</KEYWORD2>\r
-                       <KEYWORD2>BITAND</KEYWORD2>\r
-                       <KEYWORD2>CEIL</KEYWORD2>\r
-                       <KEYWORD2>CHARTOROWID</KEYWORD2>\r
-                       <KEYWORD2>CHR</KEYWORD2>\r
-                       <KEYWORD2>CONCAT</KEYWORD2>\r
-                       <KEYWORD2>CONVERT</KEYWORD2>\r
-                       <KEYWORD2>COS</KEYWORD2>\r
-                       <KEYWORD2>COSH</KEYWORD2>\r
-                       <KEYWORD2>DECODE</KEYWORD2>\r
-                       <KEYWORD2>DEFINE</KEYWORD2>\r
-                       <KEYWORD2>DUAL</KEYWORD2>\r
-                       <KEYWORD2>FLOOR</KEYWORD2>\r
-                       <KEYWORD2>HEXTORAW</KEYWORD2>\r
-                       <KEYWORD2>INITCAP</KEYWORD2>\r
-                       <KEYWORD2>INSTR</KEYWORD2>\r
-                       <KEYWORD2>INSTRB</KEYWORD2>\r
-                       <KEYWORD2>LAST_DAY</KEYWORD2>\r
-                       <KEYWORD2>LENGTH</KEYWORD2>\r
-                       <KEYWORD2>LENGTHB</KEYWORD2>\r
-                       <KEYWORD2>LN</KEYWORD2>\r
-                       <KEYWORD2>LOG</KEYWORD2>\r
-                       <KEYWORD2>LOWER</KEYWORD2>\r
-                       <KEYWORD2>LPAD</KEYWORD2>\r
-                       <KEYWORD2>LTRIM</KEYWORD2>\r
-                       <KEYWORD2>MOD</KEYWORD2>\r
-                       <KEYWORD2>MONTHS_BETWEEN</KEYWORD2>\r
-                       <KEYWORD2>NEW_TIME</KEYWORD2>\r
-                       <KEYWORD2>NEXT_DAY</KEYWORD2>\r
-                       <KEYWORD2>NLSSORT</KEYWORD2>\r
-                       <KEYWORD2>NSL_INITCAP</KEYWORD2>\r
-                       <KEYWORD2>NLS_LOWER</KEYWORD2>\r
-                       <KEYWORD2>NLS_UPPER</KEYWORD2>\r
-                       <KEYWORD2>NVL</KEYWORD2>\r
-                       <KEYWORD2>POWER</KEYWORD2>\r
-                       <KEYWORD2>RAWTOHEX</KEYWORD2>\r
-                       <KEYWORD2>REPLACE</KEYWORD2>\r
-                       <KEYWORD2>ROUND</KEYWORD2>\r
-                       <KEYWORD2>ROWIDTOCHAR</KEYWORD2>\r
-                       <KEYWORD2>RPAD</KEYWORD2>\r
-                       <KEYWORD2>RTRIM</KEYWORD2>\r
-                       <KEYWORD2>SIGN</KEYWORD2>\r
-                       <KEYWORD2>SOUNDEX</KEYWORD2>\r
-                       <KEYWORD2>SIN</KEYWORD2>\r
-                       <KEYWORD2>SINH</KEYWORD2>\r
-                       <KEYWORD2>SQRT</KEYWORD2>\r
-                       <KEYWORD2>SUBSTR</KEYWORD2>\r
-                       <KEYWORD2>SUBSTRB</KEYWORD2>\r
-                       <KEYWORD2>TAN</KEYWORD2>\r
-                       <KEYWORD2>TANH</KEYWORD2>\r
-                       <KEYWORD2>TO_CHAR</KEYWORD2>\r
-                       <KEYWORD2>TO_DATE</KEYWORD2>\r
-                       <KEYWORD2>TO_MULTIBYTE</KEYWORD2>\r
-                       <KEYWORD2>TO_NUMBER</KEYWORD2>\r
-                       <KEYWORD2>TO_SINGLE_BYTE</KEYWORD2>\r
-                       <KEYWORD2>TRANSLATE</KEYWORD2>\r
-                       <KEYWORD2>TRUNC</KEYWORD2>\r
-                       <KEYWORD2>UPPER</KEYWORD2>\r
-\r
-                       <!-- operators -->\r
-                       <KEYWORD1>ALL</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>BETWEEN</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>CONNECT</KEYWORD1>\r
-                       <KEYWORD1>EXISTS</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>INTERSECT</KEYWORD1>\r
-                       <KEYWORD1>LIKE</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>START</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>NOTFOUND</KEYWORD1>\r
-                       <KEYWORD1>ISOPEN</KEYWORD1>\r
-                       <KEYWORD1>JOIN</KEYWORD1>\r
-                       <KEYWORD1>LEFT</KEYWORD1>\r
-                       <KEYWORD1>RIGHT</KEYWORD1>\r
-                       <KEYWORD1>FULL</KEYWORD1>\r
-                       <KEYWORD1>OUTER</KEYWORD1>\r
-                       <KEYWORD1>CROSS</KEYWORD1>\r
-\r
-                       <!-- Some common packages -->\r
-                       <KEYWORD3>DBMS_SQL</KEYWORD3>\r
-                       <FUNCTION>OPEN_CURSOR</FUNCTION>\r
-                       <FUNCTION>PARSE</FUNCTION>\r
-                       <FUNCTION>BIND_VARIABLE</FUNCTION>\r
-                       <FUNCTION>BIND_ARRAY</FUNCTION>\r
-                       <FUNCTION>DEFINE_COLUMN</FUNCTION>\r
-                       <FUNCTION>DEFINE_COLUMN_LONG</FUNCTION>\r
-                       <FUNCTION>DEFINE_ARRAY</FUNCTION>\r
-                       <FUNCTION>EXECUTE</FUNCTION>\r
-                       <FUNCTION>FETCH_ROWS</FUNCTION>\r
-                       <FUNCTION>EXECUTE_AND_FETCH</FUNCTION>\r
-                       <FUNCTION>VARIABLE_VALUE</FUNCTION>\r
-                       <FUNCTION>COLUMN_VALUE</FUNCTION>\r
-                       <FUNCTION>COLUMN_VALUE_LONG</FUNCTION>\r
-                       <FUNCTION>CLOSE_CURSOR</FUNCTION>\r
-                       <FUNCTION>DEFINE_COLUMN_CHAR</FUNCTION>\r
-                       <FUNCTION>COLUMN_VALUE_CHAR</FUNCTION>\r
-\r
-                       <KEYWORD3>DBMS_PROFILER</KEYWORD3>\r
-                       <FUNCTION>START_PROFILER</FUNCTION>\r
-                       <FUNCTION>STOP_PROFILER</FUNCTION>\r
-                       <FUNCTION>ROLLUP_RUN</FUNCTION>\r
-\r
-                       <!-- other keywords (output-related) -->\r
-                       <KEYWORD3>_EDITOR</KEYWORD3>\r
-                       <KEYWORD3>ARRAYSIZE</KEYWORD3>\r
-                       <KEYWORD3>AUTOTRACE</KEYWORD3>\r
-                       <KEYWORD3>DBMS_OUTPUT</KEYWORD3>\r
-                       <KEYWORD3>ECHO</KEYWORD3>\r
-                       <KEYWORD3>ENABLE</KEYWORD3>\r
-                       <KEYWORD3>FCLOSE</KEYWORD3>\r
-                       <KEYWORD3>FCLOSE_ALL</KEYWORD3>\r
-                       <KEYWORD3>FEED</KEYWORD3>\r
-                       <KEYWORD3>FEEDBACK</KEYWORD3>\r
-                       <KEYWORD3>FILE_TYPE</KEYWORD3>\r
-                       <KEYWORD3>FOPEN</KEYWORD3>\r
-                       <KEYWORD3>HEAD</KEYWORD3>\r
-                       <KEYWORD3>INVALID_OPERATION</KEYWORD3>\r
-                       <KEYWORD3>INVALID_PATH</KEYWORD3>\r
-                       <KEYWORD3>LINESIZE</KEYWORD3>\r
-                       <KEYWORD3>PAGESIZE</KEYWORD3>\r
-                       <KEYWORD3>PAGES</KEYWORD3>\r
-                       <KEYWORD3>PAUSE</KEYWORD3>\r
-                       <KEYWORD3>DOC</KEYWORD3>\r
-                       <KEYWORD3>PUTF</KEYWORD3>\r
-                       <KEYWORD3>PUT_LINE</KEYWORD3>\r
-                       <KEYWORD3>SERVEROUTPUT</KEYWORD3>\r
-                       <KEYWORD3>SQL.PNO</KEYWORD3>\r
-                       <KEYWORD3>UTL_FILE</KEYWORD3>\r
-                       <KEYWORD3>VER</KEYWORD3>\r
-                       <KEYWORD3>VERIFY</KEYWORD3>\r
-                       <KEYWORD3>WRITE_ERROR</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
-\r
diff --git a/extra/xmode/modes/pl1.xml b/extra/xmode/modes/pl1.xml
deleted file mode 100644 (file)
index ae4f609..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd"   VALUE="*/" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="TRUE"\r
-               HIGHLIGHT_DIGITS="FALSE">\r
-\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- preprocessor statements -->\r
-               <EOL_SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="*" AT_LINE_START="TRUE">\* *process</EOL_SPAN_REGEXP>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">¬</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-      <!-- Statements, keywords and directives -->\r
-                       <KEYWORD1>alias</KEYWORD1>\r
-                       <KEYWORD1>alloc</KEYWORD1>\r
-                       <KEYWORD1>allocate</KEYWORD1>\r
-                       <KEYWORD1>attach</KEYWORD1>\r
-                       <KEYWORD1>begin</KEYWORD1>\r
-      <KEYWORD1>by</KEYWORD1>\r
-      <KEYWORD1>byname</KEYWORD1>\r
-                       <KEYWORD1>call</KEYWORD1>\r
-                       <KEYWORD1>close</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>dcl</KEYWORD1>\r
-                       <KEYWORD1>declare</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>define</KEYWORD1>\r
-                       <KEYWORD1>delay</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>detach</KEYWORD1>\r
-                       <KEYWORD1>dft</KEYWORD1>\r
-                       <KEYWORD1>display</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-      <KEYWORD1>downthru</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>entry</KEYWORD1>\r
-      <KEYWORD1>exit</KEYWORD1>\r
-      <KEYWORD1>fetch</KEYWORD1>\r
-      <KEYWORD1>flush</KEYWORD1>\r
-      <KEYWORD1>format</KEYWORD1>\r
-                       <KEYWORD1>free</KEYWORD1>\r
-                       <KEYWORD1>from</KEYWORD1>\r
-      <KEYWORD1>get</KEYWORD1>\r
-      <KEYWORD1>go</KEYWORD1>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>ignore</KEYWORD1>\r
-                       <KEYWORD1>%include</KEYWORD1>\r
-                       <KEYWORD1>into</KEYWORD1>\r
-                       <KEYWORD1>iterate</KEYWORD1>\r
-                       <KEYWORD1>key</KEYWORD1>\r
-                       <KEYWORD1>keyfrom</KEYWORD1>\r
-                       <KEYWORD1>keyto</KEYWORD1>\r
-                       <KEYWORD1>leave</KEYWORD1>\r
-      <KEYWORD1>line</KEYWORD1>\r
-      <KEYWORD1>locate</KEYWORD1>\r
-      <KEYWORD1>loop</KEYWORD1>\r
-      <KEYWORD1>name</KEYWORD1>\r
-      <KEYWORD1>on</KEYWORD1>\r
-      <KEYWORD1>open</KEYWORD1>\r
-                       <KEYWORD1>ordinal</KEYWORD1>\r
-      <KEYWORD1>other</KEYWORD1>\r
-      <KEYWORD1>otherwise</KEYWORD1>\r
-      <KEYWORD1>package</KEYWORD1>\r
-      <KEYWORD1>page</KEYWORD1>\r
-      <KEYWORD1>proc</KEYWORD1>\r
-      <KEYWORD1>procedure</KEYWORD1>\r
-      <KEYWORD1>put</KEYWORD1>\r
-      <KEYWORD1>read</KEYWORD1>\r
-      <KEYWORD1>release</KEYWORD1>\r
-      <KEYWORD1>repeat</KEYWORD1>\r
-      <KEYWORD1>reply</KEYWORD1>\r
-      <KEYWORD1>resignal</KEYWORD1>\r
-      <KEYWORD1>return</KEYWORD1>\r
-      <KEYWORD1>revert</KEYWORD1>\r
-      <KEYWORD1>rewrite</KEYWORD1>\r
-      <KEYWORD1>select</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-      <KEYWORD1>signal</KEYWORD1>\r
-                       <KEYWORD1>skip</KEYWORD1>\r
-                       <KEYWORD1>snap</KEYWORD1>\r
-      <KEYWORD1>stop</KEYWORD1>\r
-                       <KEYWORD1>string</KEYWORD1>\r
-                       <KEYWORD1>structure</KEYWORD1>\r
-      <KEYWORD1>then</KEYWORD1>\r
-      <KEYWORD1>thread</KEYWORD1>\r
-      <KEYWORD1>to</KEYWORD1>\r
-      <KEYWORD1>tstack</KEYWORD1>\r
-      <KEYWORD1>unlock</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-      <KEYWORD1>upthru</KEYWORD1>\r
-      <KEYWORD1>wait</KEYWORD1>\r
-      <KEYWORD1>when</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-      <KEYWORD1>write</KEYWORD1>\r
-\r
-      <!-- Options & attributes -->\r
-                       <KEYWORD2>A</KEYWORD2>\r
-                       <KEYWORD2>abnormal</KEYWORD2>\r
-                       <KEYWORD2>aligned</KEYWORD2>\r
-                       <KEYWORD2>anycond</KEYWORD2>\r
-                       <KEYWORD2>anycondition</KEYWORD2>\r
-                       <KEYWORD2>area</KEYWORD2>\r
-                       <KEYWORD2>asgn</KEYWORD2>\r
-                       <KEYWORD2>asm</KEYWORD2>\r
-                       <KEYWORD2>assembler</KEYWORD2>\r
-                       <KEYWORD2>assignable</KEYWORD2>\r
-                       <KEYWORD2>attn</KEYWORD2>\r
-                       <KEYWORD2>attention</KEYWORD2>\r
-                       <KEYWORD2>auto</KEYWORD2>\r
-                       <KEYWORD2>automatic</KEYWORD2>\r
-                       <KEYWORD2>b</KEYWORD2>\r
-                       <KEYWORD2>b3</KEYWORD2>\r
-                       <KEYWORD2>b4</KEYWORD2>\r
-                       <KEYWORD2>based</KEYWORD2>\r
-                       <KEYWORD2>bigendian</KEYWORD2>\r
-                       <KEYWORD2>bin</KEYWORD2>\r
-                       <KEYWORD2>binary</KEYWORD2>\r
-                       <KEYWORD2>bit</KEYWORD2>\r
-                       <KEYWORD2>buf</KEYWORD2>\r
-                       <KEYWORD2>buffered</KEYWORD2>\r
-                       <KEYWORD2>builtin</KEYWORD2>\r
-                       <KEYWORD2>bx</KEYWORD2>\r
-                       <KEYWORD2>byaddr</KEYWORD2>\r
-                       <KEYWORD2>byvalue</KEYWORD2>\r
-      <KEYWORD2>C</KEYWORD2>\r
-                       <KEYWORD2>cdecl</KEYWORD2>\r
-                       <KEYWORD2>cell</KEYWORD2>\r
-                       <KEYWORD2>char</KEYWORD2>\r
-                       <KEYWORD2>character</KEYWORD2>\r
-                       <KEYWORD2>charg</KEYWORD2>\r
-                       <KEYWORD2>chargraphic</KEYWORD2>\r
-                       <KEYWORD2>cobol</KEYWORD2>\r
-                       <KEYWORD2>column</KEYWORD2>\r
-                       <KEYWORD2>complex</KEYWORD2>\r
-                       <KEYWORD2>cond</KEYWORD2>\r
-                       <KEYWORD2>condition</KEYWORD2>\r
-                       <KEYWORD2>conn</KEYWORD2>\r
-                       <KEYWORD2>connected</KEYWORD2>\r
-                       <KEYWORD2>controlled</KEYWORD2>\r
-                       <KEYWORD2>conv</KEYWORD2>\r
-                       <KEYWORD2>conversion</KEYWORD2>\r
-                       <KEYWORD2>cplx</KEYWORD2>\r
-                       <KEYWORD2>ctl</KEYWORD2>\r
-                       <KEYWORD2>data</KEYWORD2>\r
-                       <KEYWORD2>date</KEYWORD2>\r
-                       <KEYWORD2>dec</KEYWORD2>\r
-                       <KEYWORD2>decimal</KEYWORD2>\r
-                       <KEYWORD2>def</KEYWORD2>\r
-                       <KEYWORD2>defined</KEYWORD2>\r
-                       <KEYWORD2>descriptor</KEYWORD2>\r
-                       <KEYWORD2>descriptors</KEYWORD2>\r
-                       <KEYWORD2>dim</KEYWORD2>\r
-                       <KEYWORD2>dimension</KEYWORD2>\r
-                       <KEYWORD2>direct</KEYWORD2>\r
-                       <KEYWORD2>E</KEYWORD2>\r
-                       <KEYWORD2>edit</KEYWORD2>\r
-                       <KEYWORD2>endfile</KEYWORD2>\r
-                       <KEYWORD2>endpage</KEYWORD2>\r
-                       <KEYWORD2>env</KEYWORD2>\r
-                       <KEYWORD2>environment</KEYWORD2>\r
-                       <KEYWORD2>error</KEYWORD2>\r
-                       <KEYWORD2>exclusive</KEYWORD2>\r
-                       <KEYWORD2>exports</KEYWORD2>\r
-                       <KEYWORD2>ext</KEYWORD2>\r
-                       <KEYWORD2>external</KEYWORD2>\r
-                       <KEYWORD2>F</KEYWORD2>\r
-                       <KEYWORD2>fetchable</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>finish</KEYWORD2>\r
-                       <KEYWORD2>fixed</KEYWORD2>\r
-                       <KEYWORD2>fixedoverflow</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>fofl</KEYWORD2>\r
-                       <KEYWORD2>format</KEYWORD2>\r
-                       <KEYWORD2>fortran</KEYWORD2>\r
-                       <KEYWORD2>fromalien</KEYWORD2>\r
-                       <KEYWORD2>g</KEYWORD2>\r
-                       <KEYWORD2>generic</KEYWORD2>\r
-                       <KEYWORD2>graphic</KEYWORD2>\r
-                       <KEYWORD2>gx</KEYWORD2>\r
-                       <KEYWORD2>handle</KEYWORD2>\r
-                       <KEYWORD2>hexadec</KEYWORD2>\r
-                       <KEYWORD2>ieee</KEYWORD2>\r
-                       <KEYWORD2>imported</KEYWORD2>\r
-                       <KEYWORD2>init</KEYWORD2>\r
-                       <KEYWORD2>initial</KEYWORD2>\r
-                       <KEYWORD2>inline</KEYWORD2>\r
-                       <KEYWORD2>input</KEYWORD2>\r
-                       <KEYWORD2>inter</KEYWORD2>\r
-                       <KEYWORD2>internal</KEYWORD2>\r
-                       <KEYWORD2>invalidop</KEYWORD2>\r
-                       <KEYWORD2>irred</KEYWORD2>\r
-                       <KEYWORD2>irreducible</KEYWORD2>\r
-                       <KEYWORD2>keyed</KEYWORD2>\r
-                       <KEYWORD2>L</KEYWORD2>\r
-                       <KEYWORD2>label</KEYWORD2>\r
-                       <KEYWORD2>like</KEYWORD2>\r
-                       <KEYWORD2>limited</KEYWORD2>\r
-                       <KEYWORD2>linesize</KEYWORD2>\r
-                       <KEYWORD2>linkage</KEYWORD2>\r
-                       <KEYWORD2>list</KEYWORD2>\r
-                       <KEYWORD2>littleendian</KEYWORD2>\r
-                       <KEYWORD2>m</KEYWORD2>\r
-                       <KEYWORD2>main</KEYWORD2>\r
-                       <KEYWORD2>native</KEYWORD2>\r
-                       <KEYWORD2>nonasgn</KEYWORD2>\r
-                       <KEYWORD2>nocharg</KEYWORD2>\r
-                       <KEYWORD2>nochargraphic</KEYWORD2>\r
-                       <KEYWORD2>nodescriptor</KEYWORD2>\r
-                       <KEYWORD2>noexecops</KEYWORD2>\r
-                       <KEYWORD2>nomap</KEYWORD2>\r
-                       <KEYWORD2>nomapin</KEYWORD2>\r
-                       <KEYWORD2>nomapout</KEYWORD2>\r
-                       <KEYWORD2>nonasgn</KEYWORD2>\r
-                       <KEYWORD2>nonassignable</KEYWORD2>\r
-                       <KEYWORD2>nonconn</KEYWORD2>\r
-                       <KEYWORD2>nonconnected</KEYWORD2>\r
-                       <KEYWORD2>nonnative</KEYWORD2>\r
-                       <KEYWORD2>nonvar</KEYWORD2>\r
-                       <KEYWORD2>nonvarying</KEYWORD2>\r
-                       <KEYWORD2>normal</KEYWORD2>\r
-                       <KEYWORD2>offset</KEYWORD2>\r
-                       <KEYWORD2>ofl</KEYWORD2>\r
-                       <KEYWORD2>optional</KEYWORD2>\r
-                       <KEYWORD2>options</KEYWORD2>\r
-                       <KEYWORD2>optlink</KEYWORD2>\r
-                       <KEYWORD2>order</KEYWORD2>\r
-                       <KEYWORD2>output</KEYWORD2>\r
-                       <KEYWORD2>overflow</KEYWORD2>\r
-                       <KEYWORD2>P</KEYWORD2>\r
-                       <KEYWORD2>pagesize</KEYWORD2>\r
-                       <KEYWORD2>parameter</KEYWORD2>\r
-                       <KEYWORD2>pic</KEYWORD2>\r
-                       <KEYWORD2>picture</KEYWORD2>\r
-                       <KEYWORD2>pointer</KEYWORD2>\r
-                       <KEYWORD2>pos</KEYWORD2>\r
-                       <KEYWORD2>position</KEYWORD2>\r
-                       <KEYWORD2>prec</KEYWORD2>\r
-                       <KEYWORD2>precision</KEYWORD2>\r
-                       <KEYWORD2>print</KEYWORD2>\r
-                       <KEYWORD2>ptr</KEYWORD2>\r
-                       <KEYWORD2>R</KEYWORD2>\r
-                       <KEYWORD2>range</KEYWORD2>\r
-                       <KEYWORD2>real</KEYWORD2>\r
-                       <KEYWORD2>record</KEYWORD2>\r
-                       <KEYWORD2>recursive</KEYWORD2>\r
-                       <KEYWORD2>red</KEYWORD2>\r
-                       <KEYWORD2>reducible</KEYWORD2>\r
-                       <KEYWORD2>reentrant</KEYWORD2>\r
-                       <KEYWORD2>refer</KEYWORD2>\r
-                       <KEYWORD2>reorder</KEYWORD2>\r
-                       <KEYWORD2>reserved</KEYWORD2>\r
-                       <KEYWORD2>reserves</KEYWORD2>\r
-                       <KEYWORD2>retcode</KEYWORD2>\r
-                       <KEYWORD2>returns</KEYWORD2>\r
-                       <KEYWORD2>seql</KEYWORD2>\r
-                       <KEYWORD2>sequential</KEYWORD2>\r
-                       <KEYWORD2>signed</KEYWORD2>\r
-                       <KEYWORD2>size</KEYWORD2>\r
-                       <KEYWORD2>static</KEYWORD2>\r
-                       <KEYWORD2>stdcall</KEYWORD2>\r
-                       <KEYWORD2>storage</KEYWORD2>\r
-                       <KEYWORD2>stream</KEYWORD2>\r
-                       <KEYWORD2>strg</KEYWORD2>\r
-                       <KEYWORD2>stringrange</KEYWORD2>\r
-                       <KEYWORD2>strz</KEYWORD2>\r
-                       <KEYWORD2>stringsize</KEYWORD2>\r
-                       <KEYWORD2>subrg</KEYWORD2>\r
-                       <KEYWORD2>subscriptrange</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>task</KEYWORD2>\r
-                       <KEYWORD2>title</KEYWORD2>\r
-                       <KEYWORD2>transmit</KEYWORD2>\r
-                       <KEYWORD2>type</KEYWORD2>\r
-                       <KEYWORD2>ufl</KEYWORD2>\r
-                       <KEYWORD2>unal</KEYWORD2>\r
-                       <KEYWORD2>unaligned</KEYWORD2>\r
-                       <KEYWORD2>unbuf</KEYWORD2>\r
-                       <KEYWORD2>unbuffered</KEYWORD2>\r
-                       <KEYWORD2>undefinedfile</KEYWORD2>\r
-                       <KEYWORD2>underflow</KEYWORD2>\r
-                       <KEYWORD2>undf</KEYWORD2>\r
-                       <KEYWORD2>union</KEYWORD2>\r
-                       <KEYWORD2>unsigned</KEYWORD2>\r
-                       <KEYWORD2>update</KEYWORD2>\r
-                       <KEYWORD2>value</KEYWORD2>\r
-                       <KEYWORD2>var</KEYWORD2>\r
-                       <KEYWORD2>variable</KEYWORD2>\r
-                       <KEYWORD2>varying</KEYWORD2>\r
-                       <KEYWORD2>varyingz</KEYWORD2>\r
-                       <KEYWORD2>varz</KEYWORD2>\r
-                       <KEYWORD2>wchar</KEYWORD2>\r
-                       <KEYWORD2>widechar</KEYWORD2>\r
-                       <KEYWORD2>winmain</KEYWORD2>\r
-                       <KEYWORD2>wx</KEYWORD2>\r
-                       <KEYWORD2>x</KEYWORD2>\r
-                       <KEYWORD2>xn</KEYWORD2>\r
-                       <KEYWORD2>xu</KEYWORD2>\r
-                       <KEYWORD2>zdiv</KEYWORD2>\r
-                       <KEYWORD2>zerodivide</KEYWORD2>\r
-\r
-      <!-- Builtins -->\r
-                       <KEYWORD3>abs</KEYWORD3>\r
-                       <KEYWORD3>acos</KEYWORD3>\r
-                       <KEYWORD3>acosf</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>addr</KEYWORD3>\r
-                       <KEYWORD3>address</KEYWORD3>\r
-                       <KEYWORD3>addrdata</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>allocation</KEYWORD3>\r
-                       <KEYWORD3>allocn</KEYWORD3>\r
-                       <KEYWORD3>allocsize</KEYWORD3>\r
-                       <KEYWORD3>any</KEYWORD3>\r
-                       <KEYWORD3>asin</KEYWORD3>\r
-                       <KEYWORD3>asinf</KEYWORD3>\r
-                       <KEYWORD3>atan</KEYWORD3>\r
-                       <KEYWORD3>atand</KEYWORD3>\r
-                       <KEYWORD3>atanf</KEYWORD3>\r
-                       <KEYWORD3>atanh</KEYWORD3>\r
-                       <KEYWORD3>availablearea</KEYWORD3>\r
-                       <KEYWORD3>binaryvalue</KEYWORD3>\r
-                       <KEYWORD3>bind</KEYWORD3>\r
-                       <KEYWORD3>binvalue</KEYWORD3>\r
-                       <KEYWORD3>bitlocation</KEYWORD3>\r
-                       <KEYWORD3>bitloc</KEYWORD3>\r
-                       <KEYWORD3>bool</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD3>cast</KEYWORD3>\r
-                       <KEYWORD3>cds</KEYWORD3>\r
-                       <KEYWORD3>ceil</KEYWORD3>\r
-                       <KEYWORD3>center</KEYWORD3>\r
-                       <KEYWORD3>centre</KEYWORD3>\r
-                       <KEYWORD3>centreleft</KEYWORD3>\r
-                       <KEYWORD3>centreleft</KEYWORD3>\r
-                       <KEYWORD3>centreright</KEYWORD3>\r
-                       <KEYWORD3>centerright</KEYWORD3>\r
-                       <KEYWORD3>charg</KEYWORD3>\r
-                       <KEYWORD3>chargraphic</KEYWORD3>\r
-                       <KEYWORD3>chargval</KEYWORD3>\r
-                       <KEYWORD3>checkstg</KEYWORD3>\r
-                       <KEYWORD3>collate</KEYWORD3>\r
-                       <KEYWORD3>compare</KEYWORD3>\r
-                       <KEYWORD3>conjg</KEYWORD3>\r
-                       <KEYWORD3>cos</KEYWORD3>\r
-                       <KEYWORD3>cosd</KEYWORD3>\r
-                       <KEYWORD3>cosf</KEYWORD3>\r
-                       <KEYWORD3>cosh</KEYWORD3>\r
-                       <KEYWORD3>count</KEYWORD3>\r
-                       <KEYWORD3>cs</KEYWORD3>\r
-                       <KEYWORD3>cstg</KEYWORD3>\r
-                       <KEYWORD3>currentsize</KEYWORD3>\r
-                       <KEYWORD3>currentstorage</KEYWORD3>\r
-                       <KEYWORD3>datafield</KEYWORD3>\r
-                       <KEYWORD3>date</KEYWORD3>\r
-                       <KEYWORD3>datetime</KEYWORD3>\r
-                       <KEYWORD3>days</KEYWORD3>\r
-                       <KEYWORD3>daystodate</KEYWORD3>\r
-                       <KEYWORD3>daystosecs</KEYWORD3>\r
-                       <KEYWORD3>divide</KEYWORD3>\r
-                       <KEYWORD3>empty</KEYWORD3>\r
-                       <KEYWORD3>entryaddr</KEYWORD3>\r
-                       <KEYWORD3>epsilon</KEYWORD3>\r
-                       <KEYWORD3>erfc</KEYWORD3>\r
-                       <KEYWORD3>exp</KEYWORD3>\r
-                       <KEYWORD3>expf</KEYWORD3>\r
-                       <KEYWORD3>exponent</KEYWORD3>\r
-                       <KEYWORD3>fileddint</KEYWORD3>\r
-                       <KEYWORD3>fileddtest</KEYWORD3>\r
-                       <KEYWORD3>fileddword</KEYWORD3>\r
-                       <KEYWORD3>fileid</KEYWORD3>\r
-                       <KEYWORD3>fileopen</KEYWORD3>\r
-                       <KEYWORD3>fileread</KEYWORD3>\r
-                       <KEYWORD3>fileseek</KEYWORD3>\r
-                       <KEYWORD3>filetell</KEYWORD3>\r
-                       <KEYWORD3>filewrite</KEYWORD3>\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>floor</KEYWORD3>\r
-                       <KEYWORD3>gamma</KEYWORD3>\r
-                       <KEYWORD3>getenv</KEYWORD3>\r
-                       <KEYWORD3>hbound</KEYWORD3>\r
-                       <KEYWORD3>hex</KEYWORD3>\r
-                       <KEYWORD3>heximage</KEYWORD3>\r
-                       <KEYWORD3>high</KEYWORD3>\r
-                       <KEYWORD3>huge</KEYWORD3>\r
-                       <KEYWORD3>iand</KEYWORD3>\r
-                       <KEYWORD3>ieor</KEYWORD3>\r
-                       <KEYWORD3>imag</KEYWORD3>\r
-                       <KEYWORD3>index</KEYWORD3>\r
-                       <KEYWORD3>inot</KEYWORD3>\r
-                       <KEYWORD3>ior</KEYWORD3>\r
-                       <KEYWORD3>isigned</KEYWORD3>\r
-                       <KEYWORD3>isll</KEYWORD3>\r
-                       <KEYWORD3>ismain</KEYWORD3>\r
-                       <KEYWORD3>isrl</KEYWORD3>\r
-                       <KEYWORD3>iunsigned</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>lbound</KEYWORD3>\r
-                       <KEYWORD3>left</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>lineno</KEYWORD3>\r
-                       <KEYWORD3>loc</KEYWORD3>\r
-                       <KEYWORD3>location</KEYWORD3>\r
-                       <KEYWORD3>log</KEYWORD3>\r
-                       <KEYWORD3>logf</KEYWORD3>\r
-                       <KEYWORD3>loggamma</KEYWORD3>\r
-                       <KEYWORD3>log2</KEYWORD3>\r
-                       <KEYWORD3>log10</KEYWORD3>\r
-                       <KEYWORD3>log10f</KEYWORD3>\r
-                       <KEYWORD3>low</KEYWORD3>\r
-                       <KEYWORD3>lowercase</KEYWORD3>\r
-                       <KEYWORD3>lower2</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>maxexp</KEYWORD3>\r
-                       <KEYWORD3>maxlength</KEYWORD3>\r
-                       <KEYWORD3>min</KEYWORD3>\r
-                       <KEYWORD3>minexp</KEYWORD3>\r
-                       <KEYWORD3>mod</KEYWORD3>\r
-                       <KEYWORD3>mpstr</KEYWORD3>\r
-                       <KEYWORD3>multiply</KEYWORD3>\r
-                       <KEYWORD3>new</KEYWORD3>\r
-                       <KEYWORD3>null</KEYWORD3>\r
-                       <KEYWORD3>offestadd</KEYWORD3>\r
-                       <KEYWORD3>offestdiff</KEYWORD3>\r
-                       <KEYWORD3>offestsubtract</KEYWORD3>\r
-                       <KEYWORD3>offestvalue</KEYWORD3>\r
-                       <KEYWORD3>omitted</KEYWORD3>\r
-                       <KEYWORD3>onchar</KEYWORD3>\r
-                       <KEYWORD3>oncode</KEYWORD3>\r
-                       <KEYWORD3>oncondond</KEYWORD3>\r
-                       <KEYWORD3>oncondid</KEYWORD3>\r
-                       <KEYWORD3>oncount</KEYWORD3>\r
-                       <KEYWORD3>onfile</KEYWORD3>\r
-                       <KEYWORD3>ongsource</KEYWORD3>\r
-                       <KEYWORD3>onkey</KEYWORD3>\r
-                       <KEYWORD3>onloc</KEYWORD3>\r
-                       <KEYWORD3>onsource</KEYWORD3>\r
-                       <KEYWORD3>onsubcode</KEYWORD3>\r
-                       <KEYWORD3>onwchar</KEYWORD3>\r
-                       <KEYWORD3>onwsource</KEYWORD3>\r
-                       <KEYWORD3>ordinalname</KEYWORD3>\r
-                       <KEYWORD3>ordinalpred</KEYWORD3>\r
-                       <KEYWORD3>ordinalsucc</KEYWORD3>\r
-                       <KEYWORD3>packagename</KEYWORD3>\r
-                       <KEYWORD3>pageno</KEYWORD3>\r
-                       <KEYWORD3>places</KEYWORD3>\r
-                       <KEYWORD3>pliascii</KEYWORD3>\r
-                       <KEYWORD3>plianc</KEYWORD3>\r
-                       <KEYWORD3>plickpt</KEYWORD3>\r
-                       <KEYWORD3>plidelete</KEYWORD3>\r
-                       <KEYWORD3>plidump</KEYWORD3>\r
-                       <KEYWORD3>pliebcdic</KEYWORD3>\r
-                       <KEYWORD3>plifill</KEYWORD3>\r
-                       <KEYWORD3>plifree</KEYWORD3>\r
-                       <KEYWORD3>plimove</KEYWORD3>\r
-                       <KEYWORD3>pliover</KEYWORD3>\r
-                       <KEYWORD3>plirest</KEYWORD3>\r
-                       <KEYWORD3>pliretc</KEYWORD3>\r
-                       <KEYWORD3>pliretv</KEYWORD3>\r
-                       <KEYWORD3>plisaxa</KEYWORD3>\r
-                       <KEYWORD3>plisaxb</KEYWORD3>\r
-                       <KEYWORD3>plisrta</KEYWORD3>\r
-                       <KEYWORD3>plisrtb</KEYWORD3>\r
-                       <KEYWORD3>plisrtc</KEYWORD3>\r
-                       <KEYWORD3>plisrtd</KEYWORD3>\r
-                       <KEYWORD3>pointeradd</KEYWORD3>\r
-                       <KEYWORD3>ptradd</KEYWORD3>\r
-                       <KEYWORD3>pointerdiff</KEYWORD3>\r
-                       <KEYWORD3>ptrdiff</KEYWORD3>\r
-                       <KEYWORD3>pointersubtract</KEYWORD3>\r
-                       <KEYWORD3>ptrsubtract</KEYWORD3>\r
-                       <KEYWORD3>pointervalue</KEYWORD3>\r
-                       <KEYWORD3>ptrvalue</KEYWORD3>\r
-                       <KEYWORD3>poly</KEYWORD3>\r
-                       <KEYWORD3>pred</KEYWORD3>\r
-                       <KEYWORD3>present</KEYWORD3>\r
-                       <KEYWORD3>procname</KEYWORD3>\r
-                       <KEYWORD3>procedurename</KEYWORD3>\r
-                       <KEYWORD3>prod</KEYWORD3>\r
-                       <KEYWORD3>putenv</KEYWORD3>\r
-                       <KEYWORD3>radix</KEYWORD3>\r
-                       <KEYWORD3>raise</KEYWORD3>\r
-                       <KEYWORD3>random</KEYWORD3>\r
-                       <KEYWORD3>rank</KEYWORD3>\r
-                       <KEYWORD3>rem</KEYWORD3>\r
-                       <KEYWORD3>repattern</KEYWORD3>\r
-                       <KEYWORD3>respec</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>round</KEYWORD3>\r
-                       <KEYWORD3>samekey</KEYWORD3>\r
-                       <KEYWORD3>scale</KEYWORD3>\r
-                       <KEYWORD3>search</KEYWORD3>\r
-                       <KEYWORD3>searchr</KEYWORD3>\r
-                       <KEYWORD3>secs</KEYWORD3>\r
-                       <KEYWORD3>secstodate</KEYWORD3>\r
-                       <KEYWORD3>secstodays</KEYWORD3>\r
-                       <KEYWORD3>sign</KEYWORD3>\r
-                       <KEYWORD3>signed</KEYWORD3>\r
-                       <KEYWORD3>sin</KEYWORD3>\r
-                       <KEYWORD3>sind</KEYWORD3>\r
-                       <KEYWORD3>sinf</KEYWORD3>\r
-                       <KEYWORD3>sinh</KEYWORD3>\r
-                       <KEYWORD3>size</KEYWORD3>\r
-                       <KEYWORD3>sourcefile</KEYWORD3>\r
-                       <KEYWORD3>sourceline</KEYWORD3>\r
-                       <KEYWORD3>sqrt</KEYWORD3>\r
-                       <KEYWORD3>sqrtf</KEYWORD3>\r
-                       <KEYWORD3>stg</KEYWORD3>\r
-                       <KEYWORD3>storage</KEYWORD3>\r
-                       <KEYWORD3>string</KEYWORD3>\r
-                       <KEYWORD3>substr</KEYWORD3>\r
-                       <KEYWORD3>subtract</KEYWORD3>\r
-                       <KEYWORD3>succ</KEYWORD3>\r
-                       <KEYWORD3>sum</KEYWORD3>\r
-                       <KEYWORD3>sysnull</KEYWORD3>\r
-                       <KEYWORD3>tally</KEYWORD3>\r
-                       <KEYWORD3>tan</KEYWORD3>\r
-                       <KEYWORD3>tand</KEYWORD3>\r
-                       <KEYWORD3>tanf</KEYWORD3>\r
-                       <KEYWORD3>tanh</KEYWORD3>\r
-                       <KEYWORD3>threadid</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>tiny</KEYWORD3>\r
-                       <KEYWORD3>translate</KEYWORD3>\r
-                       <KEYWORD3>trim</KEYWORD3>\r
-                       <KEYWORD3>trunc</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>unallocated</KEYWORD3>\r
-                       <KEYWORD3>unspec</KEYWORD3>\r
-                       <KEYWORD3>uppercase</KEYWORD3>\r
-                       <KEYWORD3>valid</KEYWORD3>\r
-                       <KEYWORD3>validdate</KEYWORD3>\r
-                       <KEYWORD3>varglist</KEYWORD3>\r
-                       <KEYWORD3>vargsizer</KEYWORD3>\r
-                       <KEYWORD3>verify</KEYWORD3>\r
-                       <KEYWORD3>verifyr</KEYWORD3>\r
-                       <KEYWORD3>wcharval</KEYWORD3>\r
-                       <KEYWORD3>weekday</KEYWORD3>\r
-                       <KEYWORD3>whigh</KEYWORD3>\r
-                       <KEYWORD3>wlow</KEYWORD3>\r
-                       <KEYWORD3>y4date</KEYWORD3>\r
-                       <KEYWORD3>y4julian</KEYWORD3>\r
-                       <KEYWORD3>y4year</KEYWORD3>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/pop11.xml b/extra/xmode/modes/pop11.xml
deleted file mode 100644 (file)
index 47685dd..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- pop11 mode by David S. Moss -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE=";;;" />\r
-    </PROPS>\r
-\r
-       <RULES SET="MAIN" ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Normal comments. -->\r
-               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT1">;;;</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>![</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-        <!-- Functions -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <MARK_PREVIOUS AT_LINE_START="TRUE" TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-\r
-        <!-- Needs to be before conditional compilation or won't work -->\r
-        <SEQ TYPE="NULL">#_&lt;</SEQ>\r
-        <SEQ TYPE="NULL">&gt;_#</SEQ>\r
-\r
-        <!-- Conditional compilation -->\r
-        <MARK_FOLLOWING AT_LINE_START="TRUE" TYPE="LABEL">#_</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">.</SEQ>\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="NULL">^</SEQ>\r
-               <SEQ TYPE="NULL">@</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ>\r
-               <SEQ TYPE="NULL">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <KEYWORDS>\r
-                   <LITERAL2>false</LITERAL2>\r
-                   <LITERAL2>true</LITERAL2>\r
-                   <LITERAL2>database</LITERAL2>\r
-                   <LITERAL2>it</LITERAL2>\r
-                   <LITERAL2>undef</LITERAL2>\r
-\r
-            <!-- keywords -->\r
-            <KEYWORD1>define</KEYWORD1>\r
-            <KEYWORD1>class</KEYWORD1>\r
-            <KEYWORD1>enddefine</KEYWORD1>\r
-            <KEYWORD1>dlocal</KEYWORD1>\r
-            <KEYWORD1>lvars</KEYWORD1>\r
-            <KEYWORD1>vars</KEYWORD1>\r
-            <KEYWORD1>slot</KEYWORD1>\r
-            <KEYWORD1>instance</KEYWORD1>\r
-            <KEYWORD1>endinstance</KEYWORD1>\r
-            <KEYWORD1>method</KEYWORD1>\r
-                   <KEYWORD1>syntax</KEYWORD1>\r
-            <KEYWORD1>biginteger</KEYWORD1>\r
-            <KEYWORD1>boolean</KEYWORD1>\r
-            <KEYWORD1>complex</KEYWORD1>\r
-            <KEYWORD1>ddecimal</KEYWORD1>\r
-            <KEYWORD1>decimal</KEYWORD1>\r
-            <KEYWORD1>device</KEYWORD1>\r
-            <KEYWORD1>ident</KEYWORD1>\r
-            <KEYWORD1>integer</KEYWORD1>\r
-            <KEYWORD1>intvec</KEYWORD1>\r
-            <KEYWORD1>key</KEYWORD1>\r
-            <KEYWORD1>nil</KEYWORD1>\r
-            <KEYWORD1>pair</KEYWORD1>\r
-            <KEYWORD1>procedure</KEYWORD1>\r
-            <KEYWORD1>process</KEYWORD1>\r
-            <KEYWORD1>prologterm</KEYWORD1>\r
-            <KEYWORD1>prologvar</KEYWORD1>\r
-            <KEYWORD1>ratio</KEYWORD1>\r
-            <KEYWORD1>ref</KEYWORD1>\r
-            <KEYWORD1>section</KEYWORD1>\r
-            <KEYWORD1>string</KEYWORD1>\r
-            <KEYWORD1>termin</KEYWORD1>\r
-            <KEYWORD1>vector</KEYWORD1>\r
-            <KEYWORD1>word</KEYWORD1>\r
-\r
-            <!-- flow control -->\r
-            <KEYWORD3>if</KEYWORD3>\r
-            <KEYWORD3>forevery</KEYWORD3>\r
-            <KEYWORD3>endforevery</KEYWORD3>\r
-            <KEYWORD3>then</KEYWORD3>\r
-            <KEYWORD3>switchon</KEYWORD3>\r
-            <KEYWORD3>endswitchon</KEYWORD3>\r
-            <KEYWORD3>case</KEYWORD3>\r
-            <KEYWORD3>elseif</KEYWORD3>\r
-            <KEYWORD3>else</KEYWORD3>\r
-            <KEYWORD3>endif</KEYWORD3>\r
-            <KEYWORD3>for</KEYWORD3>\r
-            <KEYWORD3>repeat</KEYWORD3>\r
-            <KEYWORD3>from</KEYWORD3>\r
-            <KEYWORD3>till</KEYWORD3>\r
-            <KEYWORD3>step</KEYWORD3>\r
-            <KEYWORD3>while</KEYWORD3>\r
-            <KEYWORD3>endfor</KEYWORD3>\r
-            <KEYWORD3>endrepeat</KEYWORD3>\r
-            <KEYWORD3>endwhile</KEYWORD3>\r
-            <KEYWORD3>times</KEYWORD3>\r
-            <KEYWORD3>to</KEYWORD3>\r
-            <KEYWORD3>do</KEYWORD3>\r
-            <KEYWORD3>by</KEYWORD3>\r
-            <KEYWORD3>in</KEYWORD3>\r
-            <KEYWORD3>return</KEYWORD3>\r
-\r
-            <!-- other statements -->\r
-            <KEYWORD2>and</KEYWORD2>\r
-            <KEYWORD2>or</KEYWORD2>\r
-            <KEYWORD2>matches</KEYWORD2>\r
-            <KEYWORD2>quitloop</KEYWORD2>\r
-            <KEYWORD2>goto</KEYWORD2>\r
-            <KEYWORD2>uses</KEYWORD2>\r
-            <KEYWORD2>trace</KEYWORD2>\r
-            <KEYWORD2>cons_with</KEYWORD2>\r
-            <KEYWORD2>consstring</KEYWORD2>\r
-\r
-            <!-- Built in functions -->\r
-            <LITERAL2>interrupt</LITERAL2>\r
-            <LITERAL2>partapply</LITERAL2>\r
-            <LITERAL2>consclosure</LITERAL2>\r
-            <LITERAL2>max</LITERAL2>\r
-            <LITERAL2>add</LITERAL2>\r
-            <LITERAL2>remove</LITERAL2>\r
-            <LITERAL2>alladd</LITERAL2>\r
-            <LITERAL2>quitif</LITERAL2>\r
-            <LITERAL2>copydata</LITERAL2>\r
-            <LITERAL2>copytree</LITERAL2>\r
-            <LITERAL2>copylist</LITERAL2>\r
-            <LITERAL2>length</LITERAL2>\r
-            <LITERAL2>hd</LITERAL2>\r
-            <LITERAL2>tl</LITERAL2>\r
-            <LITERAL2>rev</LITERAL2>\r
-            <LITERAL2>shuffle</LITERAL2>\r
-            <LITERAL2>oneof</LITERAL2>\r
-            <LITERAL2>sort</LITERAL2>\r
-            <LITERAL2>syssort</LITERAL2>\r
-            <LITERAL2>random</LITERAL2>\r
-            <LITERAL2>readline</LITERAL2>\r
-            <LITERAL2>not</LITERAL2>\r
-            <LITERAL2>pr</LITERAL2>\r
-            <LITERAL2>nl</LITERAL2>\r
-            <LITERAL2>present</LITERAL2>\r
-            <LITERAL2>subword</LITERAL2>\r
-            <LITERAL2>member</LITERAL2>\r
-            <LITERAL2>length</LITERAL2>\r
-            <LITERAL2>listlength</LITERAL2>\r
-            <LITERAL2>datalength</LITERAL2>\r
-            <LITERAL2>mishap</LITERAL2>\r
-            <LITERAL2>last</LITERAL2>\r
-            <LITERAL2>delete</LITERAL2>\r
-            <LITERAL2>valof</LITERAL2>\r
-            <LITERAL2>dataword</LITERAL2>\r
-\r
-            <!-- input validation functions -->\r
-            <LITERAL2>isnumber</LITERAL2>\r
-            <LITERAL2>isinteger</LITERAL2>\r
-            <LITERAL2>islist</LITERAL2>\r
-            <LITERAL2>isboolean</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-    <RULES SET="LIST" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="TRUE">\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="LIST">\r
-                       <BEGIN>![</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="STRING">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-        <SPAN DELEGATE="MAIN" TYPE="NULL">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>%</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT1">;;;</EOL_SPAN>\r
-               <SEQ TYPE="LITERAL2">=</SEQ>\r
-               <SEQ TYPE="LITERAL2">==</SEQ>\r
-\r
-        <MARK_FOLLOWING TYPE="LITERAL2">^</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL2">?</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-    <RULES SET="STRING" ESCAPE="\" DEFAULT="LITERAL1" HIGHLIGHT_DIGITS="FALSE">\r
-    </RULES>\r
-\r
-    <RULES NO_WORD_SEP="." SET="COMMENT" DEFAULT="COMMENT1" HIGHLIGHT_DIGITS="FALSE">\r
-        <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
-               <SEQ TYPE="COMMENT1">*</SEQ>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/postscript.xml b/extra/xmode/modes/postscript.xml
deleted file mode 100644 (file)
index 1588b62..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- PostScript mode, by Slava Pestov. Based on PostScriptTokenMarker by\r
-     Ralf Engels -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="%" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT2">%!</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">%?</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">%%</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-               <!-- Literals -->\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LABEL">/</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>pop</KEYWORD1>\r
-                       <KEYWORD1>exch</KEYWORD1>\r
-                       <KEYWORD1>dup</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>roll</KEYWORD1>\r
-                       <KEYWORD1>clear</KEYWORD1>\r
-                       <KEYWORD1>count</KEYWORD1>\r
-                       <KEYWORD1>mark</KEYWORD1>\r
-                       <KEYWORD1>cleartomark</KEYWORD1>\r
-                       <KEYWORD1>counttomark</KEYWORD1>\r
-\r
-                       <KEYWORD1>exec</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>ifelse</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>stop</KEYWORD1>\r
-                       <KEYWORD1>stopped</KEYWORD1>\r
-                       <KEYWORD1>countexecstack</KEYWORD1>\r
-                       <KEYWORD1>execstack</KEYWORD1>\r
-                       <KEYWORD1>quit</KEYWORD1>\r
-                       <KEYWORD1>start</KEYWORD1>\r
-\r
-                       <OPERATOR>add</OPERATOR>\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>idiv</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <OPERATOR>mul</OPERATOR>\r
-                       <OPERATOR>sub</OPERATOR>\r
-                       <OPERATOR>abs</OPERATOR>\r
-                       <OPERATOR>ned</OPERATOR>\r
-                       <OPERATOR>ceiling</OPERATOR>\r
-                       <OPERATOR>floor</OPERATOR>\r
-                       <OPERATOR>round</OPERATOR>\r
-                       <OPERATOR>truncate</OPERATOR>\r
-                       <OPERATOR>sqrt</OPERATOR>\r
-                       <OPERATOR>atan</OPERATOR>\r
-                       <OPERATOR>cos</OPERATOR>\r
-                       <OPERATOR>sin</OPERATOR>\r
-                       <OPERATOR>exp</OPERATOR>\r
-                       <OPERATOR>ln</OPERATOR>\r
-                       <OPERATOR>log</OPERATOR>\r
-                       <OPERATOR>rand</OPERATOR>\r
-                       <OPERATOR>srand</OPERATOR>\r
-                       <OPERATOR>rrand</OPERATOR>\r
-\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>NULL</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/povray.xml b/extra/xmode/modes/povray.xml
deleted file mode 100644 (file)
index b76ba9e..0000000
+++ /dev/null
@@ -1,518 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Povray mode, by Jan Schaefer\r
-     based on original Povray mode by Slava Pestov\r
-     based on PovrayTokenMarker, by Romain Guy -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>aa_level</KEYWORD2>\r
-                       <KEYWORD2>aa_threshold</KEYWORD2>\r
-                       <FUNCTION>abs</FUNCTION>\r
-                       <KEYWORD2>absorption</KEYWORD2>\r
-                       <KEYWORD2>accuracy</KEYWORD2>\r
-                       <FUNCTION>acos</FUNCTION>\r
-                       <FUNCTION>acosh</FUNCTION>\r
-                       <KEYWORD2>adaptive</KEYWORD2>\r
-                       <KEYWORD2>adc_bailout</KEYWORD2>\r
-                       <KEYWORD2>agate</KEYWORD2>\r
-                       <KEYWORD2>agate_turb</KEYWORD2>\r
-                       <KEYWORD2>all</KEYWORD2>\r
-                       <KEYWORD2>all_intersections</KEYWORD2>\r
-                       <KEYWORD2>alpha</KEYWORD2>\r
-                       <KEYWORD2>altitude</KEYWORD2>\r
-                       <KEYWORD2>always_sample</KEYWORD2>\r
-                       <KEYWORD2>ambient</KEYWORD2>\r
-                       <KEYWORD2>ambient_light</KEYWORD2>\r
-                       <KEYWORD2>angle</KEYWORD2>\r
-                       <KEYWORD2>aperture</KEYWORD2>\r
-                       <KEYWORD2>append</KEYWORD2>\r
-                       <KEYWORD2>arc_angle</KEYWORD2>\r
-                       <KEYWORD2>area_light</KEYWORD2>\r
-                       <KEYWORD2>array</KEYWORD2>\r
-                       <FUNCTION>asc</FUNCTION>\r
-                       <KEYWORD2>ascii</KEYWORD2>\r
-                       <FUNCTION>asin</FUNCTION>\r
-                       <FUNCTION>asinh</FUNCTION>\r
-                       <KEYWORD2>assumed_gamma</KEYWORD2>\r
-                       <FUNCTION>atan</FUNCTION>\r
-                       <FUNCTION>atan2</FUNCTION>\r
-                       <FUNCTION>atanh</FUNCTION>\r
-                       <KEYWORD2>autostop</KEYWORD2>\r
-                       <KEYWORD2>average</KEYWORD2>\r
-                       <KEYWORD2>b_spline</KEYWORD2>\r
-                       <KEYWORD1>background</KEYWORD1>\r
-                       <KEYWORD2>bezier_spline</KEYWORD2>\r
-                       <KEYWORD1>bicubic_patch</KEYWORD1>\r
-                       <KEYWORD2>black_hole</KEYWORD2>\r
-                       <KEYWORD1>blob</KEYWORD1>\r
-                       <LITERAL1>blue</LITERAL1>\r
-                       <KEYWORD2>blur_samples</KEYWORD2>\r
-                       <KEYWORD1>bounded_by</KEYWORD1>\r
-                       <KEYWORD1>box</KEYWORD1>\r
-                       <KEYWORD2>boxed</KEYWORD2>\r
-                       <KEYWORD2>bozo</KEYWORD2>\r
-                       <KEYWORD1>#break</KEYWORD1>\r
-                       <KEYWORD2>brick</KEYWORD2>\r
-                       <KEYWORD2>brick_size</KEYWORD2>\r
-                       <KEYWORD2>brightness</KEYWORD2>\r
-                       <KEYWORD2>brilliance</KEYWORD2>\r
-                       <KEYWORD1>bump_map</KEYWORD1>\r
-                       <KEYWORD2>bump_size</KEYWORD2>\r
-                       <KEYWORD2>bumps</KEYWORD2>\r
-                       <KEYWORD1>camera</KEYWORD1>\r
-                       <KEYWORD1>#case</KEYWORD1>\r
-                       <KEYWORD2>caustics</KEYWORD2>\r
-                       <FUNCTION>ceil</FUNCTION>\r
-                       <KEYWORD2>cells</KEYWORD2>\r
-                       <KEYWORD2>charset</KEYWORD2>\r
-                       <KEYWORD2>checker</KEYWORD2>\r
-                       <FUNCTION>chr</FUNCTION>\r
-                       <KEYWORD2>circular</KEYWORD2>\r
-                       <KEYWORD1>clipped_by</KEYWORD1>\r
-                       <LITERAL1>clock</LITERAL1>\r
-                       <LITERAL1>clock_delta</LITERAL1>\r
-                       <LITERAL1>clock_on</LITERAL1>\r
-                       <KEYWORD2>collect</KEYWORD2>\r
-                       <KEYWORD2>color</KEYWORD2>\r
-                       <KEYWORD2>color_map</KEYWORD2>\r
-                       <KEYWORD2>colour</KEYWORD2>\r
-                       <KEYWORD2>colour_map</KEYWORD2>\r
-                       <KEYWORD2>component</KEYWORD2>\r
-                       <KEYWORD2>composite</KEYWORD2>\r
-                       <FUNCTION>concat</FUNCTION>\r
-                       <KEYWORD1>cone</KEYWORD1>\r
-                       <KEYWORD2>confidence</KEYWORD2>\r
-                       <KEYWORD2>conic_sweep</KEYWORD2>\r
-                       <KEYWORD2>conserve_energy</KEYWORD2>\r
-                       <KEYWORD1>contained_by</KEYWORD1>\r
-                       <KEYWORD2>control0</KEYWORD2>\r
-                       <KEYWORD2>control1</KEYWORD2>\r
-                       <KEYWORD2>coords</KEYWORD2>\r
-                       <FUNCTION>cos</FUNCTION>\r
-                       <FUNCTION>cosh</FUNCTION>\r
-                       <KEYWORD2>count</KEYWORD2>\r
-                       <KEYWORD2>crackle</KEYWORD2>\r
-                       <KEYWORD2>crand</KEYWORD2>\r
-                       <KEYWORD1>cube</KEYWORD1>\r
-                       <KEYWORD1>cubic</KEYWORD1>\r
-                       <KEYWORD2>cubic_spline</KEYWORD2>\r
-                       <KEYWORD2>cubic_wave</KEYWORD2>\r
-                       <KEYWORD2>cutaway_textures</KEYWORD2>\r
-                       <KEYWORD1>cylinder</KEYWORD1>\r
-                       <KEYWORD2>cylindrical</KEYWORD2>\r
-                       <KEYWORD1>#debug</KEYWORD1>\r
-                       <KEYWORD1>#declare</KEYWORD1>\r
-                       <KEYWORD1>#default</KEYWORD1>\r
-                       <FUNCTION>defined</FUNCTION>\r
-                       <FUNCTION>degrees</FUNCTION>\r
-                       <KEYWORD2>density</KEYWORD2>\r
-                       <KEYWORD2>density_file</KEYWORD2>\r
-                       <KEYWORD1>density_map</KEYWORD1>\r
-                       <KEYWORD2>dents</KEYWORD2>\r
-                       <KEYWORD2>df3</KEYWORD2>\r
-                       <KEYWORD1>difference</KEYWORD1>\r
-                       <KEYWORD2>diffuse</KEYWORD2>\r
-                       <FUNCTION>dimension_size</FUNCTION>\r
-                       <FUNCTION>dimensions</FUNCTION>\r
-                       <KEYWORD2>direction</KEYWORD2>\r
-                       <KEYWORD1>disc</KEYWORD1>\r
-                       <KEYWORD2>dispersion</KEYWORD2>\r
-                       <KEYWORD2>dispersion_samples</KEYWORD2>\r
-                       <KEYWORD2>dist_exp</KEYWORD2>\r
-                       <KEYWORD2>distance</KEYWORD2>\r
-                       <FUNCTION>div</FUNCTION>\r
-                       <KEYWORD2>double_illuminate</KEYWORD2>\r
-                       <KEYWORD2>eccentricity</KEYWORD2>\r
-                       <KEYWORD1>#else</KEYWORD1>\r
-                       <KEYWORD2>emission</KEYWORD2>\r
-                       <KEYWORD1>#end</KEYWORD1>\r
-                       <KEYWORD1>#error</KEYWORD1>\r
-                       <KEYWORD2>error_bound</KEYWORD2>\r
-                       <KEYWORD2>evaluate</KEYWORD2>\r
-                       <FUNCTION>exp</FUNCTION>\r
-                       <KEYWORD2>expand_thresholds</KEYWORD2>\r
-                       <KEYWORD2>exponent</KEYWORD2>\r
-                       <KEYWORD2>exterior</KEYWORD2>\r
-                       <KEYWORD2>extinction</KEYWORD2>\r
-                       <KEYWORD1>face_indices</KEYWORD1>\r
-                       <KEYWORD2>facets</KEYWORD2>\r
-                       <KEYWORD2>fade_color</KEYWORD2>\r
-                       <KEYWORD2>fade_colour</KEYWORD2>\r
-                       <KEYWORD2>fade_distance</KEYWORD2>\r
-                       <KEYWORD2>fade_power</KEYWORD2>\r
-                       <KEYWORD2>falloff</KEYWORD2>\r
-                       <KEYWORD2>falloff_angle</KEYWORD2>\r
-                       <LITERAL1>false</LITERAL1>\r
-                       <KEYWORD1>#fclose</KEYWORD1>\r
-                       <FUNCTION>file_exists</FUNCTION>\r
-                       <KEYWORD2>filter</KEYWORD2>\r
-                       <LITERAL1>final_clock</LITERAL1>\r
-                       <LITERAL1>final_frame</LITERAL1>\r
-                       <KEYWORD1>finish</KEYWORD1>\r
-                       <KEYWORD2>fisheye</KEYWORD2>\r
-                       <KEYWORD2>flatness</KEYWORD2>\r
-                       <KEYWORD2>flip</KEYWORD2>\r
-                       <FUNCTION>floor</FUNCTION>\r
-                       <KEYWORD2>focal_point</KEYWORD2>\r
-                       <KEYWORD1>fog</KEYWORD1>\r
-                       <KEYWORD2>fog_alt</KEYWORD2>\r
-                       <KEYWORD2>fog_offset</KEYWORD2>\r
-                       <KEYWORD2>fog_type</KEYWORD2>\r
-                       <KEYWORD1>#fopen</KEYWORD1>\r
-                       <KEYWORD2>form</KEYWORD2>\r
-                       <LITERAL1>frame_number</LITERAL1>\r
-                       <KEYWORD2>frequency</KEYWORD2>\r
-                       <KEYWORD2>fresnel</KEYWORD2>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD2>gather</KEYWORD2>\r
-                       <KEYWORD2>gif</KEYWORD2>\r
-                       <KEYWORD2>global_lights</KEYWORD2>\r
-                       <KEYWORD1>global_settings</KEYWORD1>\r
-                       <KEYWORD2>gradient</KEYWORD2>\r
-                       <KEYWORD2>granite</KEYWORD2>\r
-                       <LITERAL1>gray</LITERAL1>\r
-                       <KEYWORD2>gray_threshold</KEYWORD2>\r
-                       <LITERAL1>green</LITERAL1>\r
-                       <KEYWORD2>h_angle</KEYWORD2>\r
-                       <KEYWORD1>height_field</KEYWORD1>\r
-                       <KEYWORD2>hexagon</KEYWORD2>\r
-                       <KEYWORD2>hf_gray_16</KEYWORD2>\r
-                       <KEYWORD2>hierarchy</KEYWORD2>\r
-                       <KEYWORD2>hollow</KEYWORD2>\r
-                       <KEYWORD2>hypercomplex</KEYWORD2>\r
-                       <KEYWORD1>#if</KEYWORD1>\r
-                       <KEYWORD1>#ifdef</KEYWORD1>\r
-                       <KEYWORD2>iff</KEYWORD2>\r
-                       <KEYWORD1>#ifndef</KEYWORD1>\r
-                       <LITERAL1>image_height</LITERAL1>\r
-                       <KEYWORD1>image_map</KEYWORD1>\r
-                       <KEYWORD2>image_pattern</KEYWORD2>\r
-                       <LITERAL1>image_width</LITERAL1>\r
-                       <KEYWORD1>#include</KEYWORD1>\r
-                       <LITERAL1>initial_clock</LITERAL1>\r
-                       <LITERAL1>initial_frame</LITERAL1>\r
-                       <FUNCTION>inside</FUNCTION>\r
-                       <FUNCTION>int</FUNCTION>\r
-                       <KEYWORD1>interior</KEYWORD1>\r
-                       <KEYWORD1>interior_texture</KEYWORD1>\r
-                       <FUNCTION>internal</FUNCTION>\r
-                       <KEYWORD2>interpolate</KEYWORD2>\r
-                       <KEYWORD1>intersection</KEYWORD1>\r
-                       <KEYWORD2>intervals</KEYWORD2>\r
-                       <KEYWORD2>inverse</KEYWORD2>\r
-                       <KEYWORD1>ior</KEYWORD1>\r
-                       <KEYWORD1>irid</KEYWORD1>\r
-                       <KEYWORD2>irid_wavelength</KEYWORD2>\r
-                       <KEYWORD1>isosurface</KEYWORD1>\r
-                       <KEYWORD2>jitter</KEYWORD2>\r
-                       <KEYWORD2>jpeg</KEYWORD2>\r
-                       <KEYWORD2>julia</KEYWORD2>\r
-                       <KEYWORD1>julia_fractal</KEYWORD1>\r
-                       <KEYWORD1>lathe</KEYWORD1>\r
-                       <KEYWORD2>lambda</KEYWORD2>\r
-                       <KEYWORD2>leopard</KEYWORD2>\r
-                       <KEYWORD1>light_group</KEYWORD1>\r
-                       <KEYWORD1>light_source</KEYWORD1>\r
-                       <KEYWORD2>linear_spline</KEYWORD2>\r
-                       <KEYWORD2>linear_sweep</KEYWORD2>\r
-                       <FUNCTION>ln</FUNCTION>\r
-                       <KEYWORD2>load_file</KEYWORD2>\r
-                       <KEYWORD1>#local</KEYWORD1>\r
-                       <KEYWORD2>location</KEYWORD2>\r
-                       <FUNCTION>log</FUNCTION>\r
-                       <KEYWORD2>look_at</KEYWORD2>\r
-                       <KEYWORD1>looks_like</KEYWORD1>\r
-                       <KEYWORD2>low_error_factor</KEYWORD2>\r
-                       <KEYWORD1>#macro</KEYWORD1>\r
-                       <KEYWORD2>magnet</KEYWORD2>\r
-                       <KEYWORD2>major_radius</KEYWORD2>\r
-                       <KEYWORD2>mandel</KEYWORD2>\r
-                       <KEYWORD2>map_type</KEYWORD2>\r
-                       <KEYWORD2>marble</KEYWORD2>\r
-                       <KEYWORD1>material</KEYWORD1>\r
-                       <KEYWORD1>material_map</KEYWORD1>\r
-                       <KEYWORD2>matrix</KEYWORD2>\r
-                       <FUNCTION>max</FUNCTION>\r
-                       <KEYWORD2>max_extent</KEYWORD2>\r
-                       <KEYWORD2>max_gradient</KEYWORD2>\r
-                       <KEYWORD2>max_intersections</KEYWORD2>\r
-                       <KEYWORD2>max_iteration</KEYWORD2>\r
-                       <KEYWORD2>max_sample</KEYWORD2>\r
-                       <KEYWORD2>max_trace</KEYWORD2>\r
-                       <KEYWORD2>max_trace_level</KEYWORD2>\r
-                       <KEYWORD1>media</KEYWORD1>\r
-                       <KEYWORD2>media_attenuation</KEYWORD2>\r
-                       <KEYWORD2>media_interaction</KEYWORD2>\r
-                       <KEYWORD1>merge</KEYWORD1>\r
-                       <KEYWORD1>mesh</KEYWORD1>\r
-                       <KEYWORD1>mesh2</KEYWORD1>\r
-                       <KEYWORD2>metallic</KEYWORD2>\r
-                       <KEYWORD2>method</KEYWORD2>\r
-                       <KEYWORD2>metric</KEYWORD2>\r
-                       <FUNCTION>min</FUNCTION>\r
-                       <KEYWORD2>min_extent</KEYWORD2>\r
-                       <KEYWORD2>minimum_reuse</KEYWORD2>\r
-                       <FUNCTION>mod</FUNCTION>\r
-                       <KEYWORD2>mortar</KEYWORD2>\r
-                       <KEYWORD2>natural_spline</KEYWORD2>\r
-                       <KEYWORD2>nearest_count</KEYWORD2>\r
-                       <LITERAL1>no</LITERAL1>\r
-                       <KEYWORD2>no_bump_scale</KEYWORD2>\r
-                       <KEYWORD2>no_image</KEYWORD2>\r
-                       <KEYWORD2>no_reflection</KEYWORD2>\r
-                       <KEYWORD2>no_shadow</KEYWORD2>\r
-                       <KEYWORD2>noise_generator</KEYWORD2>\r
-                       <KEYWORD1>normal</KEYWORD1>\r
-                       <KEYWORD1>normal_indices</KEYWORD1>\r
-                       <KEYWORD1>normal_map</KEYWORD1>\r
-                       <KEYWORD1>normal_vectors</KEYWORD1>\r
-                       <KEYWORD2>number_of_waves</KEYWORD2>\r
-                       <KEYWORD1>object</KEYWORD1>\r
-                       <KEYWORD2>octaves</KEYWORD2>\r
-                       <LITERAL1>off</LITERAL1>\r
-                       <KEYWORD2>offset</KEYWORD2>\r
-                       <KEYWORD2>omega</KEYWORD2>\r
-                       <KEYWORD2>omnimax</KEYWORD2>\r
-                       <LITERAL1>on</LITERAL1>\r
-                       <KEYWORD2>once</KEYWORD2>\r
-                       <KEYWORD2>onion</KEYWORD2>\r
-                       <KEYWORD2>open</KEYWORD2>\r
-                       <KEYWORD2>orient</KEYWORD2>\r
-                       <KEYWORD2>orientation</KEYWORD2>\r
-                       <KEYWORD2>orthographic</KEYWORD2>\r
-                       <KEYWORD2>panoramic</KEYWORD2>\r
-                       <KEYWORD2>parallel</KEYWORD2>\r
-                       <KEYWORD2>parametric</KEYWORD2>\r
-                       <KEYWORD2>pass_through</KEYWORD2>\r
-                       <KEYWORD1>pattern</KEYWORD1>\r
-                       <KEYWORD2>perspective</KEYWORD2>\r
-                       <KEYWORD2>pgm</KEYWORD2>\r
-                       <KEYWORD2>phase</KEYWORD2>\r
-                       <KEYWORD2>phong</KEYWORD2>\r
-                       <KEYWORD2>phong_size</KEYWORD2>\r
-                       <KEYWORD1>photons</KEYWORD1>\r
-                       <LITERAL1>pi</LITERAL1>\r
-                       <KEYWORD1>pigment</KEYWORD1>\r
-                       <KEYWORD1>pigment_map</KEYWORD1>\r
-                       <KEYWORD1>pigment_pattern</KEYWORD1>\r
-                       <KEYWORD2>planar</KEYWORD2>\r
-                       <KEYWORD1>plane</KEYWORD1>\r
-                       <KEYWORD1>png</KEYWORD1>\r
-                       <KEYWORD2>point_at</KEYWORD2>\r
-                       <KEYWORD1>poly</KEYWORD1>\r
-                       <KEYWORD2>poly_wave</KEYWORD2>\r
-                       <KEYWORD1>polygon</KEYWORD1>\r
-                       <KEYWORD2>pot</KEYWORD2>\r
-                       <FUNCTION>pow</FUNCTION>\r
-                       <KEYWORD2>ppm</KEYWORD2>\r
-                       <KEYWORD2>precision</KEYWORD2>\r
-                       <KEYWORD2>precompute</KEYWORD2>\r
-                       <KEYWORD2>pretrace_end</KEYWORD2>\r
-                       <KEYWORD2>pretrace_start</KEYWORD2>\r
-                       <KEYWORD1>prism</KEYWORD1>\r
-                       <KEYWORD2>projected_through</KEYWORD2>\r
-                       <KEYWORD2>pwr</KEYWORD2>\r
-                       <KEYWORD2>quadratic_spline</KEYWORD2>\r
-                       <KEYWORD2>quadric</KEYWORD2>\r
-                       <KEYWORD2>quartic</KEYWORD2>\r
-                       <KEYWORD2>quaternion</KEYWORD2>\r
-                       <KEYWORD2>quick_color</KEYWORD2>\r
-                       <KEYWORD2>quick_colour</KEYWORD2>\r
-                       <KEYWORD2>quilted</KEYWORD2>\r
-                       <KEYWORD2>radial</KEYWORD2>\r
-                       <FUNCTION>radians</FUNCTION>\r
-                       <KEYWORD1>radiosity</KEYWORD1>\r
-                       <KEYWORD2>radius</KEYWORD2>\r
-                       <KEYWORD1>rainbow</KEYWORD1>\r
-                       <KEYWORD2>ramp_wave</KEYWORD2>\r
-                       <FUNCTION>rand</FUNCTION>\r
-                       <KEYWORD1>#range</KEYWORD1>\r
-                       <KEYWORD2>range_divider</KEYWORD2>\r
-                       <KEYWORD2>ratio</KEYWORD2>\r
-                       <KEYWORD1>#read</KEYWORD1>\r
-                       <KEYWORD2>reciprocal</KEYWORD2>\r
-                       <KEYWORD2>recursion_limit</KEYWORD2>\r
-                       <LITERAL1>red</LITERAL1>\r
-                       <KEYWORD1>reflection</KEYWORD1>\r
-                       <KEYWORD2>reflection_exponent</KEYWORD2>\r
-                       <KEYWORD2>refraction</KEYWORD2>\r
-                       <KEYWORD1>#render</KEYWORD1>\r
-                       <KEYWORD2>repeat</KEYWORD2>\r
-                       <KEYWORD2>rgb</KEYWORD2>\r
-                       <KEYWORD2>rgbf</KEYWORD2>\r
-                       <KEYWORD2>rgbft</KEYWORD2>\r
-                       <KEYWORD2>rgbt</KEYWORD2>\r
-                       <KEYWORD2>right</KEYWORD2>\r
-                       <KEYWORD2>ripples</KEYWORD2>\r
-                       <KEYWORD2>rotate</KEYWORD2>\r
-                       <KEYWORD2>roughness</KEYWORD2>\r
-                       <KEYWORD2>samples</KEYWORD2>\r
-                       <KEYWORD2>save_file</KEYWORD2>\r
-                       <KEYWORD2>scale</KEYWORD2>\r
-                       <KEYWORD2>scallop_wave</KEYWORD2>\r
-                       <KEYWORD2>scattering</KEYWORD2>\r
-                       <FUNCTION>seed</FUNCTION>\r
-                       <KEYWORD2>select</KEYWORD2>\r
-                       <KEYWORD2>shadowless</KEYWORD2>\r
-                       <FUNCTION>sin</FUNCTION>\r
-                       <KEYWORD2>sine_wave</KEYWORD2>\r
-                       <FUNCTION>sinh</FUNCTION>\r
-                       <KEYWORD2>size</KEYWORD2>\r
-                       <KEYWORD2>sky</KEYWORD2>\r
-                       <KEYWORD1>sky_sphere</KEYWORD1>\r
-                       <KEYWORD2>slice</KEYWORD2>\r
-                       <KEYWORD1>slope</KEYWORD1>\r
-                       <KEYWORD1>slope_map</KEYWORD1>\r
-                       <KEYWORD2>smooth</KEYWORD2>\r
-                       <KEYWORD1>smooth_triangle</KEYWORD1>\r
-                       <KEYWORD1>solid</KEYWORD1>\r
-                       <KEYWORD1>sor</KEYWORD1>\r
-                       <KEYWORD2>spacing</KEYWORD2>\r
-                       <KEYWORD2>specular</KEYWORD2>\r
-                       <KEYWORD1>sphere</KEYWORD1>\r
-                       <KEYWORD1>sphere_sweep</KEYWORD1>\r
-                       <KEYWORD2>spherical</KEYWORD2>\r
-                       <KEYWORD2>spiral1</KEYWORD2>\r
-                       <KEYWORD2>spiral2</KEYWORD2>\r
-                       <KEYWORD1>spline</KEYWORD1>\r
-                       <KEYWORD2>split_union</KEYWORD2>\r
-                       <KEYWORD2>spotlight</KEYWORD2>\r
-                       <KEYWORD2>spotted</KEYWORD2>\r
-                       <KEYWORD2>sqr</KEYWORD2>\r
-                       <FUNCTION>sqrt</FUNCTION>\r
-                       <KEYWORD1>#statistics</KEYWORD1>\r
-                       <FUNCTION>str</FUNCTION>\r
-                       <FUNCTION>strcmp</FUNCTION>\r
-                       <KEYWORD2>strength</KEYWORD2>\r
-                       <FUNCTION>strlen</FUNCTION>\r
-                       <FUNCTION>strlwr</FUNCTION>\r
-                       <FUNCTION>strupr</FUNCTION>\r
-                       <KEYWORD2>sturm</KEYWORD2>\r
-                       <FUNCTION>substr</FUNCTION>\r
-                       <KEYWORD1>superellipsoid</KEYWORD1>\r
-                       <KEYWORD1>#switch</KEYWORD1>\r
-                       <KEYWORD2>sys</KEYWORD2>\r
-                       <LITERAL1>t</LITERAL1>\r
-                       <FUNCTION>tan</FUNCTION>\r
-                       <FUNCTION>tanh</FUNCTION>\r
-                       <KEYWORD2>target</KEYWORD2>\r
-                       <KEYWORD1>text</KEYWORD1>\r
-                       <KEYWORD1>texture</KEYWORD1>\r
-                       <KEYWORD1>texture_list</KEYWORD1>\r
-                       <KEYWORD1>texture_map</KEYWORD1>\r
-                       <KEYWORD2>tga</KEYWORD2>\r
-                       <KEYWORD2>thickness</KEYWORD2>\r
-                       <KEYWORD2>threshold</KEYWORD2>\r
-                       <KEYWORD2>tiff</KEYWORD2>\r
-                       <KEYWORD2>tightness</KEYWORD2>\r
-                       <KEYWORD2>tile2</KEYWORD2>\r
-                       <KEYWORD2>tiles</KEYWORD2>\r
-                       <KEYWORD2>tolerance</KEYWORD2>\r
-                       <KEYWORD2>toroidal</KEYWORD2>\r
-                       <KEYWORD1>torus</KEYWORD1>\r
-                       <FUNCTION>trace</FUNCTION>\r
-                       <KEYWORD2>transform</KEYWORD2>\r
-                       <KEYWORD2>translate</KEYWORD2>\r
-                       <KEYWORD2>transmit</KEYWORD2>\r
-                       <KEYWORD1>triangle</KEYWORD1>\r
-                       <KEYWORD2>triangle_wave</KEYWORD2>\r
-                       <LITERAL1>true</LITERAL1>\r
-                       <KEYWORD2>ttf</KEYWORD2>\r
-                       <KEYWORD2>turb_depth</KEYWORD2>\r
-                       <KEYWORD2>turbulence</KEYWORD2>\r
-                       <KEYWORD2>type</KEYWORD2>\r
-                       <LITERAL1>u</LITERAL1>\r
-                       <KEYWORD2>u_steps</KEYWORD2>\r
-                       <KEYWORD2>ultra_wide_angle</KEYWORD2>\r
-                       <KEYWORD1>#undef</KEYWORD1>\r
-                       <KEYWORD1>union</KEYWORD1>\r
-                       <KEYWORD2>up</KEYWORD2>\r
-                       <KEYWORD2>use_alpha</KEYWORD2>\r
-                       <KEYWORD2>use_color</KEYWORD2>\r
-                       <KEYWORD2>use_colour</KEYWORD2>\r
-                       <KEYWORD2>use_index</KEYWORD2>\r
-                       <KEYWORD2>utf8</KEYWORD2>\r
-                       <KEYWORD1>uv_indices</KEYWORD1>\r
-                       <KEYWORD1>uv_mapping</KEYWORD1>\r
-                       <KEYWORD1>uv_vectors</KEYWORD1>\r
-                       <LITERAL1>v</LITERAL1>\r
-                       <KEYWORD2>v_angle</KEYWORD2>\r
-                       <KEYWORD2>v_steps</KEYWORD2>\r
-                       <FUNCTION>val</FUNCTION>\r
-                       <KEYWORD2>variance</KEYWORD2>\r
-                       <FUNCTION>vaxis_rotate</FUNCTION>\r
-                       <FUNCTION>vcross</FUNCTION>\r
-                       <FUNCTION>vdot</FUNCTION>\r
-                       <KEYWORD1>#version</KEYWORD1>\r
-                       <KEYWORD1>vertex_vectors</KEYWORD1>\r
-                       <FUNCTION>vlength</FUNCTION>\r
-                       <FUNCTION>vnormalize</FUNCTION>\r
-                       <FUNCTION>vrotate</FUNCTION>\r
-                       <FUNCTION>vstr</FUNCTION>\r
-                       <FUNCTION>vturbulence</FUNCTION>\r
-                       <KEYWORD1>#warning</KEYWORD1>\r
-                       <KEYWORD1>warp</KEYWORD1>\r
-                       <KEYWORD2>water_level</KEYWORD2>\r
-                       <KEYWORD2>waves</KEYWORD2>\r
-                       <KEYWORD1>#while</KEYWORD1>\r
-                       <KEYWORD2>width</KEYWORD2>\r
-                       <KEYWORD2>wood</KEYWORD2>\r
-                       <KEYWORD2>wrinkles</KEYWORD2>\r
-                       <KEYWORD1>#write</KEYWORD1>\r
-                       <LITERAL1>x</LITERAL1>\r
-                       <LITERAL1>y</LITERAL1>\r
-                       <LITERAL1>yes</LITERAL1>\r
-                       <LITERAL1>z</LITERAL1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/powerdynamo.xml b/extra/xmode/modes/powerdynamo.xml
deleted file mode 100644 (file)
index f5eb29e..0000000
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--\r
-Sybase PowerDynamo mode file for jEdit - v 1.0\r
-(For the 5 people in the world who still have to program in dynamo.)\r
-\r
-By Ben Williams (benw@webmedia.com.au)\r
-\r
-1.0  2003-11-13\r
-Initial release - supports dynamo script, SQL tags, and mostly complete support\r
-for the other tags (data, document, etc). more support planned for future.\r
-\r
--->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=" @       %^*()+=|\{}[]:;,.?$&amp;" />\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
-                       <BEGIN>&lt;!--script</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- these are the other dynamo tag types. for the meoment, we'll just hand them over to powerdynamo-script,\r
-                        but in future versions we can easily add individual processing for each of them, as they should have.\r
-               -->\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-data">\r
-                       <BEGIN>&lt;!--data</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-document">\r
-                       <BEGIN>&lt;!--document</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
-                       <BEGIN>&lt;!--evaluate</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
-                       <BEGIN>&lt;!--execute</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--formatting</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--/formatting</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--include</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--label</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="transact-sql::MAIN">\r
-                       <BEGIN>&lt;!--sql</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_error_code</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_error_info</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_state</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_on_no_error</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--/sql_on_no_error</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_on_error</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--/sql_on_error</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_on_no_rows</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--/sql_on_no_rows</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--sql_on_rows</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">\r
-                       <BEGIN>&lt;!--/sql_on_rows</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP">\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
-                       <BEGIN>&lt;!--script</BEGIN>\r
-                       <END>--?&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS_LITERAL" DEFAULT="LITERAL1">\r
-               <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">\r
-                       <BEGIN>&lt;!--script</BEGIN>\r
-                       <END>?--&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="powerdynamo-script" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE">\r
-               <!--PROPS>\r
-                       <PROPERTY NAME="commentStart" VALUE="/*" />\r
-                       <PROPERTY NAME="lineComment" VALUE="//" />\r
-               </PROPS-->\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Language constructs (24) -->\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>byte</KEYWORD1>\r
-                       <KEYWORD1>boolean</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>char</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>double</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>exists</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>false</KEYWORD1>\r
-                       <KEYWORD1>file</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>int</KEYWORD1>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>long</KEYWORD1>\r
-                       <KEYWORD1>length</KEYWORD1>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>null</KEYWORD1>\r
-                       <KEYWORD1>package</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>short</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>super</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>true</KEYWORD1>\r
-                       <KEYWORD1>this</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>threadsafe</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-                       <KEYWORD1>void</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <!-- objects -->\r
-                       <KEYWORD2></KEYWORD2>\r
-                       <KEYWORD2>document</KEYWORD2>\r
-                       <KEYWORD2>connection</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>query</KEYWORD2>\r
-                       <KEYWORD2>session</KEYWORD2>\r
-                       <KEYWORD2>site</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>typeof</KEYWORD2>\r
-\r
-                       <!-- methods & attributes -->\r
-                       <KEYWORD3>AskQuestion</KEYWORD3>\r
-                       <KEYWORD3>autoCommit</KEYWORD3>\r
-                       <KEYWORD3>Close</KEYWORD3>\r
-                       <KEYWORD3>Commit</KEYWORD3>\r
-                       <KEYWORD3>Connect</KEYWORD3>\r
-                       <KEYWORD3>CreateConnection</KEYWORD3>\r
-                       <KEYWORD3>CreateDocument</KEYWORD3>\r
-                       <KEYWORD3>CreatePropertySheet</KEYWORD3>\r
-                       <KEYWORD3>CreateQuery</KEYWORD3>\r
-                       <KEYWORD3>CreateWizard</KEYWORD3>\r
-                       <KEYWORD3>cachedOutputTimeOut</KEYWORD3>\r
-                       <KEYWORD3>charAt</KEYWORD3>\r
-                       <KEYWORD3>connected</KEYWORD3>\r
-                       <KEYWORD3>connection</KEYWORD3>\r
-                       <KEYWORD3>connectionId</KEYWORD3>\r
-                       <KEYWORD3>connectionName</KEYWORD3>\r
-                       <KEYWORD3>connectionType</KEYWORD3>\r
-                       <KEYWORD3>connectParameters</KEYWORD3>\r
-                       <KEYWORD3>contentType</KEYWORD3>\r
-                       <KEYWORD3>DeleteConnection</KEYWORD3>\r
-                       <KEYWORD3>DeleteDocument</KEYWORD3>\r
-                       <KEYWORD3>Disconnect</KEYWORD3>\r
-                       <KEYWORD3>database</KEYWORD3>\r
-                       <KEYWORD3>dataSource</KEYWORD3>\r
-                       <KEYWORD3>dataSourceList</KEYWORD3>\r
-                       <KEYWORD3>description</KEYWORD3>\r
-                       <KEYWORD3>Exec</KEYWORD3>\r
-                       <KEYWORD3>Execute</KEYWORD3>\r
-                       <KEYWORD3>ExportTo</KEYWORD3>\r
-                       <KEYWORD3>eof</KEYWORD3>\r
-                       <KEYWORD3>errorNumber</KEYWORD3>\r
-                       <KEYWORD3>errorString</KEYWORD3>\r
-                       <KEYWORD3>GetColumnCount</KEYWORD3>\r
-                       <KEYWORD3>GetColumnIndex</KEYWORD3>\r
-                       <KEYWORD3>GetColumnLabel</KEYWORD3>\r
-                       <KEYWORD3>GetConnection</KEYWORD3>\r
-                       <KEYWORD3>GetConnectionIdList</KEYWORD3>\r
-                       <KEYWORD3>GetConnectionNameList</KEYWORD3>\r
-                       <KEYWORD3>GetCWD</KEYWORD3>\r
-                       <KEYWORD3>GetDirectory</KEYWORD3>\r
-                       <KEYWORD3>GetDocument</KEYWORD3>\r
-                       <KEYWORD3>GetEmpty</KEYWORD3>\r
-                       <KEYWORD3>GetEnv</KEYWORD3>\r
-                       <KEYWORD3>GetErrorCode</KEYWORD3>\r
-                       <KEYWORD3>GetErrorInfo</KEYWORD3>\r
-                       <KEYWORD3>GetEventList</KEYWORD3>\r
-                       <KEYWORD3>GetFilePtr</KEYWORD3>\r
-                       <KEYWORD3>GetGenerated</KEYWORD3>\r
-                       <KEYWORD3>GetRootDocument</KEYWORD3>\r
-                       <KEYWORD3>GetRowCount</KEYWORD3>\r
-                       <KEYWORD3>GetServerVariable</KEYWORD3>\r
-                       <KEYWORD3>GetState</KEYWORD3>\r
-                       <KEYWORD3>GetSupportedMoves</KEYWORD3>\r
-                       <KEYWORD3>GetValue</KEYWORD3>\r
-                       <KEYWORD3>ImportFrom</KEYWORD3>\r
-                       <KEYWORD3>Include</KEYWORD3>\r
-                       <KEYWORD3>id</KEYWORD3>\r
-                       <KEYWORD3>indexOf</KEYWORD3>\r
-                       <KEYWORD3>lastIndexOf</KEYWORD3>\r
-                       <KEYWORD3>lastModified</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>location</KEYWORD3>\r
-                       <KEYWORD3>Move</KEYWORD3>\r
-                       <KEYWORD3>MoveFirst</KEYWORD3>\r
-                       <KEYWORD3>MoveLast</KEYWORD3>\r
-                       <KEYWORD3>MoveNext</KEYWORD3>\r
-                       <KEYWORD3>MovePrevious</KEYWORD3>\r
-                       <KEYWORD3>MoveRelative</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>name</KEYWORD3>\r
-                       <KEYWORD3>OnEvent</KEYWORD3>\r
-                       <KEYWORD3>Open</KEYWORD3>\r
-                       <KEYWORD3>Opened</KEYWORD3>\r
-                       <KEYWORD3>parent</KEYWORD3>\r
-                       <KEYWORD3>password</KEYWORD3>\r
-                       <KEYWORD3>ReadChar</KEYWORD3>\r
-                       <KEYWORD3>ReadLine</KEYWORD3>\r
-                       <KEYWORD3>Refresh</KEYWORD3>\r
-                       <KEYWORD3>Rollback</KEYWORD3>\r
-                       <KEYWORD3>redirect</KEYWORD3>\r
-                       <KEYWORD3>Seek</KEYWORD3>\r
-                       <KEYWORD3>SetEnv</KEYWORD3>\r
-                       <KEYWORD3>SetSQL</KEYWORD3>\r
-                       <KEYWORD3>ShowMessage</KEYWORD3>\r
-                       <KEYWORD3>substring</KEYWORD3>\r
-                       <KEYWORD3>server</KEYWORD3>\r
-                       <KEYWORD3>simulateCursors</KEYWORD3>\r
-                       <KEYWORD3>size</KEYWORD3>\r
-                       <KEYWORD3>source</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-                       <KEYWORD3>timeOut</KEYWORD3>\r
-                       <KEYWORD3>toLowerCase</KEYWORD3>\r
-                       <KEYWORD3>toUpperCase</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>userId</KEYWORD3>\r
-                       <KEYWORD3>value</KEYWORD3>\r
-                       <KEYWORD3>WriteLine</KEYWORD3>\r
-                       <KEYWORD3>Write</KEYWORD3>\r
-                       <KEYWORD3>write</KEYWORD3>\r
-                       <KEYWORD3>writeln</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-general">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>NAME</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-data">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>NAME</KEYWORD2>\r
-                       <KEYWORD2>QUERY</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-document">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD2>CONTENT_TYPE</KEYWORD2>\r
-                       <KEYWORD2>REDIRECT</KEYWORD2>\r
-                       <KEYWORD2>STATUS</KEYWORD2>\r
-                       <KEYWORD2>CACHED_OUTPUT_TIMEOUT</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/progress.xml b/extra/xmode/modes/progress.xml
deleted file mode 100644 (file)
index 480bdef..0000000
+++ /dev/null
@@ -1,3748 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- ====================================================================== -->\r
-<!-- Progress mode for jEdit 4.2+                                           -->\r
-<!--                                                                        -->\r
-<!-- This is a jEdit syntax file for Progress Open Edge 10.0A               -->\r
-<!--                                                                        -->\r
-<!-- For comments / suggestions / contributions, please contact me at       -->\r
-<!-- p.tingen@vcd.nl                                                        -->\r
-<!--                                                                        -->\r
-<!-- ====================================================================== -->\r
-<!--                                                                        -->\r
-<!-- Contributors: PT Patrick Tingen                                        -->\r
-<!--               GW Gerben Wieringa                                       -->\r
-<!--               SH Stephen Hawkins                                       -->\r
-<!--                                                                        -->\r
-<!-- ====================================================================== -->\r
-<!-- 2001-07-17 PT Initial version for Progress 8.2                         -->\r
-<!-- 2002-10-08 GW Added some keywords                                      -->\r
-<!-- 2003-02-18 PT Added some keywords                                      -->\r
-<!-- 2003-05-21 PT Rewritten. Thanks to GW & SH !                           -->\r
-<!-- 2004-01-26 PT Generated using Progress program for Progress 9.1D       -->\r
-<!-- 2004-02-04 PT Generated using Progress program for Open Edge 10.0A     -->\r
-<!-- 2004-02-06 PT Corrected due to validating errors against xmode.dtd     -->\r
-<!-- 2004-02-16 PT Fixed 'or choose of' being reported as invalid.          -->\r
-<!-- 2004-04-29 PT Added some appbuilder constants                          -->\r
-<!-- ====================================================================== -->\r
-<!-- Special thanks to Gerben and Stephen for their support.                -->\r
-<!-- ====================================================================== -->\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart"        VALUE="/*" />\r
-    <PROPERTY NAME="commentEnd"          VALUE="*/" />\r
-    <PROPERTY NAME="boxComment"          VALUE="**" />\r
-    <PROPERTY NAME="lineComment"         VALUE="&amp;scop cmt " />\r
-    <PROPERTY NAME="indentNextLine"      VALUE="\s*(if|do|for|else|case|repeat|procedure|function)(\s+.*|\s*)" />\r
-    <PROPERTY NAME="wordBreakChars"      VALUE=",.;:/?^[]@" />\r
-    <PROPERTY NAME="indentOpenBrackets"  VALUE="{" />\r
-    <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-  </PROPS>\r
-\r
-  <RULES SET="COMMENT" DEFAULT="COMMENT1" IGNORE_CASE="TRUE">\r
-      <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-      <BEGIN>/*</BEGIN> <END>*/</END>\r
-      </SPAN>\r
-  </RULES>\r
-\r
-  <RULES ESCAPE="~" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-    <!-- COMMENT1   : Normal Progress comments -->\r
-    <!-- LITERAL1   : text between ' or " -->\r
-    <!-- LITERAL2   :  -->\r
-    <!-- MARKUP     :  -->\r
-    <!-- LABEL      : Progress block labels -->\r
-    <!-- FUNCTION   : attributes and methods -->\r
-    <!-- OPERATOR   : All operators -->\r
-    <!-- INVALID    : Deprecated keywords -->\r
-    <!-- NON INVALID: Correction for non-invalid keywords -->\r
-\r
-    <!-- COMMENT1   : Normal Progress comments -->\r
-    <SPAN TYPE="COMMENT1" DELEGATE="COMMENT">\r
-     <BEGIN>/*</BEGIN>\r
-     <END>*/</END>\r
-    </SPAN>\r
-    <!-- LITERAL1   : text between ' or " -->\r
-      <SPAN TYPE="LITERAL1">\r
-        <BEGIN>'</BEGIN>\r
-        <END>'</END>\r
-      </SPAN>\r
-\r
-      <SPAN TYPE="LITERAL1">\r
-        <BEGIN>"</BEGIN>\r
-        <END>"</END>\r
-      </SPAN>\r
-\r
-    <!-- LABEL      : Progress block labels -->\r
-      <MARK_FOLLOWING TYPE="LABEL">{&amp;</MARK_FOLLOWING>\r
-\r
-    <!-- OPERATOR   : All operators -->\r
-      <SEQ TYPE="OPERATOR">*</SEQ>\r
-      <SEQ TYPE="OPERATOR">+</SEQ>\r
-      <SEQ TYPE="OPERATOR">,</SEQ>\r
-      <SEQ TYPE="OPERATOR">.</SEQ>\r
-      <SEQ TYPE="OPERATOR">/</SEQ>\r
-      <SEQ TYPE="OPERATOR">=</SEQ>\r
-      <SEQ TYPE="OPERATOR">?</SEQ>\r
-      <SEQ TYPE="OPERATOR">@</SEQ>\r
-      <SEQ TYPE="OPERATOR">[</SEQ>\r
-      <SEQ TYPE="OPERATOR">]</SEQ>\r
-      <SEQ TYPE="OPERATOR">^</SEQ>\r
-      <SEQ TYPE="OPERATOR">(</SEQ>\r
-      <SEQ TYPE="OPERATOR">)</SEQ>\r
-      <!-- GT, EQ etc -->\r
-      <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-      <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-      <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-\r
-    <!-- LABEL      : Progress block labels -->\r
-      <!-- Better would be to search for regexp  ^[[:blank:]]*[[:graph:]]+:$ -->\r
-      <!-- but this is not (yet) implemented since regexps cannot match     -->\r
-      <!-- anything that does not have a fixed starting character.          -->\r
-      <MARK_PREVIOUS TYPE="LABEL" AT_WHITESPACE_END="TRUE" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-\r
-    <!-- FUNCTION   : attributes and methods -->\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:accelerator</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:accept-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:accept-row-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-buffer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-calc-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-columns-from</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-events-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-fields-from</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-first</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-index-field</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-last</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-field</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-like-index</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-new-field</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-new-index</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:add-super-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:adm-data</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:after-buffer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:after-rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:after-table</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:allow-column-searching</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:always-on-top</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:ambiguous</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:append-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:appl-alert-boxes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:apply-callback</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-info</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-password</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:appserver-userid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:async-request-count</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:async-request-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:asynchronous</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:attach-data-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:attr-space</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:attribute-names</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-completion</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-delete</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-delete-xml</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-end-key</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-go</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-indent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-resize</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-return</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-validate</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:auto-zap</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:available</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:available-formats</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:background</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:base-ade</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:basic-logging</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:batch-mode</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:before-buffer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:before-rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:before-table</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:bgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:blank</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:block-iteration-display</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-bottom-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-bottom-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-left-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-left-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-right-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-right-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-top-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:border-top-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:box</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:box-selectable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-data-types</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-formats</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:browse-column-labels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-compare</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-copy</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-create</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-delete</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-field</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-lines</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-release</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-validate</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:buffer-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:bytes-read</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:bytes-written</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cache</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:call-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:call-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:can-create</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:can-delete</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:can-read</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:can-write</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-break</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-button</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cancel-requests</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cancelled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:careful-paint</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:case-sensitive</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:centered</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:character_length</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:charset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:checked</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:child-num</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:clear</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:clear-selection</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:client-connection-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:client-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:clone-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:code</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:codepage</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-bgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-dcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-fgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-label</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-movable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-pfcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-read-only</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-resizable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:column-scrolling</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:columns</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:com-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:complete</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:config-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:connect</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:connected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:context-help</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:context-help-file</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:context-help-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:control-box</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:convert-3d-colors</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:convert-to-offset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:coverage</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cpcase</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cpcoll</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cplog</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cpprint</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cprcodein</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cprcodeout</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cpstream</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cpterm</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:crc-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:create-like</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:create-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:create-node-namespace</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:create-on-add</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:create-result-list-entry</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-changed</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-environment</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-iteration</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-result-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-row-modified</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:current-window</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-char</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-line</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:cursor-offset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:data-entry-return</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:data-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:data-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dataset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:date-format</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:db-references</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dbname</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dde-error</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dde-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dde-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dde-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dde-topic</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:deblank</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:debug</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:debug-alert</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:decimals</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:default</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:default-buffer-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:default-button</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:default-commit</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:default-string</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-current-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-line</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-result-list-entry</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-selected-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delete-selected-rows</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:delimiter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:description</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-focused-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-rows</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:deselect-selected-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:detach-data-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:directory</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disable-auto-zap</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disable-connections</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disable-dump-triggers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disable-load-triggers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:disconnect</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:display-message</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:display-timezone</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:display-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:down</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:drag-enabled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:drop-target</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dump-logging-now</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:dynamic</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edge-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edge-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-can-paste</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-can-undo</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-clear</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-copy</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-cut</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-paste</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:edit-undo</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:empty</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:empty-temp-table</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:enable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:enable-connections</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:enabled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:encoding</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:end-file-drop</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:end-user-prompt</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:error-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:error-object-detail</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:error-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:error-string</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:event-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:event-procedure-context</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:event-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:exclusive-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:execution-log</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:expand</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:expandable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:export</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:extent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:fetch-selected-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:fgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-create-date</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-create-time</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-mod-date</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-mod-time</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-offset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-size</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:file-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:fill</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:fill-mode</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:filled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:find-by-rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:find-current</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:find-first</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:find-last</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:find-unique</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-async-request</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-buffer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-data-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-dataset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-query</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-server</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-server-socket</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-socket</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:first-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:fit-last-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:flat-button</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:focused-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:focused-row-selected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:font-based-layout</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:foreground</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:form-input</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:format</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:forward-only</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-col</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-spacing</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-x</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frame-y</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:frequency</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:full-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:full-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:full-pathname</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:full-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:full-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:function</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-attribute</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-attribute-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-blue-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-browse-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-buffer-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-bytes-available</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-cgi-list</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-cgi-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-child-relation</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-config-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-current</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-document-element</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-dropped-file</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-dynamic</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-first</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-green-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-iteration</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-last</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-message</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-next</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-number</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-parent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-prev</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-printers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-red-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-repositioned-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-rgb-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-selected-widget</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-signature</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-socket-option</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-text-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:get-wait-state</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:graphic-edge</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-factor-horizontal</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-factor-vertical</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-snap</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-unit-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:grid-visible</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:handler</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:has-lobs</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:has-records</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:hidden</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:horizontal</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-charset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-end-of-line</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-end-of-page</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-frame-begin</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-frame-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-header-begin</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-header-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-title-begin</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:html-title-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:hwnd</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:icfparameter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:icon</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:image</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:image-down</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:image-insensitive</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:image-up</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:immediate-display</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:import-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:in-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:increment-exclusive-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:index</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:index-information</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:initial</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:initialize-document-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:initiate</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:inner-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:inner-lines</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:input-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-backtab</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-before</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-file</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-string</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:insert-tab</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:instantiating-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:internal-entries</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:invoke</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:is-open</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:is-parameter-set</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:is-row-selected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:is-selected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:is-xml</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:items-per-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:keep-connection-open</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:keep-frame-z-order</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:keep-security-cache</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:key</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:label</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:label-bgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:label-dcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:label-fgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:label-font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:labels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:languages</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:large</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:large-to-small</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-async-request</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-server</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-server-socket</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-socket</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:last-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:line</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:list-item-pairs</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:list-items</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:listings</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:literal-question</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-icon</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-image</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-down</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-insensitive</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-image-up</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-mouse-pointer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:load-small-icon</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:local-host</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:local-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:local-port</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locator-column-number</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locator-line-number</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locator-public-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locator-system-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locator-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:locked</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:log-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:longchar-to-node-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:lookup</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:mandatory</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:manual-highlight</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:margin-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:margin-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:margin-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:margin-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-button</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-data-guess</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:max-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:md5-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:memptr-to-node-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:menu-bar</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:menu-key</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:menu-mouse</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:merge-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:merge-row-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:message-area</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:message-area-font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-button</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-column-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-column-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-schema-marshall</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:min-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:modified</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:mouse-pointer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:movable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-after-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-before-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-bottom</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-eof</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:move-to-top</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:multiple</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:multitasking-interval</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:namespace-prefix</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:namespace-uri</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:needs-appserver-prompt</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:needs-prompt</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:new</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:new-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:next-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:next-sibling</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:next-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:no-current-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:no-empty-space</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:no-focus</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:no-schema-marshall</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:no-validate</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:node-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:node-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:node-value-to-longchar</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:node-value-to-memptr</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:normalize</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-buffers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-buttons</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-child-relations</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-children</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-columns</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-dropped-files</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-entries</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-fields</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-formats</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-items</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-iterations</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-lines</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-locked-columns</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-messages</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-parameters</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-replaced</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-results</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-selected-rows</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-selected-widgets</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-tabs</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-to-retain</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:num-visible-columns</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-decimal-point</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-format</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:numeric-separator</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:ole-invoke-locale</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:ole-names-locale</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:on-frame-border</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:origin-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:origin-rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:overlay</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:owner</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:owner-document</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:page-bottom</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:page-top</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:parameter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:parent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:parent-relation</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:parse-status</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:password-field</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:pathname</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:persistent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:persistent-cache-disabled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:persistent-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:pfcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:pixels-per-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:pixels-per-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:popup-menu</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:popup-only</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:position</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:prepare-string</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:prepared</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:prev-column</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:prev-sibling</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:prev-tab-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:primary</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:printer-control-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:printer-hdc</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:printer-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:printer-port</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:private-data</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:procedure-name</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:profiling</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:progress-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:proxy</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:proxy-password</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:proxy-userid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:public-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:published-events</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:query</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:query-close</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:query-off-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:query-open</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:query-prepare</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:quit</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:radio-buttons</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:raw-transfer</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:read</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:read-file</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:read-only</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:recid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:record-length</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:refresh</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:refreshable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reject-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reject-row-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:rejected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remote</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remote-host</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remote-port</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remove-attribute</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remove-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remove-events-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:remove-super-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:replace</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:replace-child</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:replace-selection-text</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-backwards</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-forwards</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-parent-relation</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-to-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:reposition-to-rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:resizable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:resize</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:retain-shape</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:return-inserted</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:return-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:return-value-data-type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row-markers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row-resizable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:row-state</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:rowid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:rule-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:rule-y</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:save</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:save-file</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:save-row-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse-first</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sax-parse-next</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sax-xml</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:schema-change</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:schema-path</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:screen-lines</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:screen-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-bars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-delta</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-offset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-current-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-item</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scroll-to-selected-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scrollable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scrollbar-horizontal</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:scrollbar-vertical</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:search</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:select-all</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:select-focused-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:select-next-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:select-prev-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:select-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:selectable</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:selected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:selection-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:selection-start</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:selection-text</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sensitive</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:separator-fgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:separators</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-bound</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-bound-request</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-context</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server-connection-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:server-operating-mode</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:session-end</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-attribute</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-attribute-node</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-blue-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-break</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-buffers</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-callback-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-commit</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-connect-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-dynamic</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-green-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-input-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-numeric-format</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-parameter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-read-response-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-red-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-repositioned-row</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-rgb-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-rollback</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-selection</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-socket-option</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:set-wait-state</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:show-in-taskbar</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:side-label-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:side-labels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:skip-deleted-record</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:small-icon</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:small-title</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sort</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:startup-parameters</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:status-area</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:status-area-font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:stop</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:stop-parsing</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:stopped</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:stretch-to-fit</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:string-value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:sub-menu-help</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:subtype</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:super-procedures</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:suppress-namespace-processing</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:suppress-warnings</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:synchronize</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:system-alert-boxes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:system-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tab-position</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tab-stop</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:table</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:table-crc-list</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:table-handle</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:table-list</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:table-number</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:temp-directory</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:temp-table-prepare</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:text-selected</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:three-d</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tic-marks</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:time-source</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:title</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:title-bgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:title-dcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:title-fgcolor</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:title-font</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:toggle-box</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tooltip</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tooltips</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:top-only</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:trace-filter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tracing</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:tracking-changes</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:trans-init-procedure</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:transaction</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:transparent</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:type</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:undo</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:unique-id</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:unique-match</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:url</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:url-decode</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:url-encode</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:url-password</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:url-userid</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:user-data</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:v6display</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:validate</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:validate-expression</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:validate-message</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:validate-xml</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:validation-enabled</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:value</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:view-first-column-on-reopen</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-height-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:virtual-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:visible</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:warning</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:widget-enter</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:widget-leave</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:width-chars</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:window</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:window-state</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:window-system</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:word-wrap</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-height-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-width-pixels</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-x</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:work-area-y</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:write</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:write-data</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:x</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:x-document</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:xml-schema-path</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:xml-suppress-namespace-processing</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:y</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:year-offset</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="FUNCTION">:_dcm</MARK_FOLLOWING>\r
-\r
-    <!-- INVALID    : Deprecated keywords -->\r
-      <SEQ_REGEXP TYPE="INVALID" HASH_CHAR="put" AT_WORD_START="TRUE">put\s+screen</SEQ_REGEXP>\r
-      <MARK_FOLLOWING TYPE="INVALID">:WHERE-STRING</MARK_FOLLOWING>\r
-      <MARK_FOLLOWING TYPE="INVALID">:REPOSITION-PARENT-RELATION</MARK_FOLLOWING>\r
-\r
-    <!-- NON INVALID: Correction for non-invalid keywords -->\r
-      <SEQ_REGEXP TYPE="KEYWORD3" HASH_CHAR="choose" AT_WORD_START="TRUE">choose\s+of</SEQ_REGEXP>\r
-\r
-    <KEYWORDS>\r
-      <!-- Keep the following sections in the specified order since -->\r
-      <!-- some keywords occur in more than 1 section. The last one -->\r
-      <!-- determines the appearance of a certain keyword.          -->\r
-\r
-      <!-- KEYWORD3   : events -->\r
-      <!-- KEYWORD1   : Statements, functions, attributes, methods -->\r
-      <!-- KEYWORD2   : VST & metaschema files and fields -->\r
-      <!-- INVALID    : Deprecated keywords -->\r
-      <!-- COMMENT2   : Preprocessor statements -->\r
-\r
-      <!-- KEYWORD3   : events -->\r
-        <KEYWORD3>any-key</KEYWORD3>\r
-        <KEYWORD3>any-printable</KEYWORD3>\r
-        <KEYWORD3>back-tab</KEYWORD3>\r
-        <KEYWORD3>backspace</KEYWORD3>\r
-        <KEYWORD3>bell</KEYWORD3>\r
-        <KEYWORD3>choose</KEYWORD3>\r
-        <KEYWORD3>container-event</KEYWORD3>\r
-        <KEYWORD3>dde-notify</KEYWORD3>\r
-        <KEYWORD3>default-action</KEYWORD3>\r
-        <KEYWORD3>del</KEYWORD3>\r
-        <KEYWORD3>delete-char</KEYWORD3>\r
-        <KEYWORD3>delete-character</KEYWORD3>\r
-        <KEYWORD3>deselect</KEYWORD3>\r
-        <KEYWORD3>deselection</KEYWORD3>\r
-        <KEYWORD3>drop-file-notify</KEYWORD3>\r
-        <KEYWORD3>empty-selection</KEYWORD3>\r
-        <KEYWORD3>end</KEYWORD3>\r
-        <KEYWORD3>end-box-selection</KEYWORD3>\r
-        <KEYWORD3>end-error</KEYWORD3>\r
-        <KEYWORD3>end-move</KEYWORD3>\r
-        <KEYWORD3>end-resize</KEYWORD3>\r
-        <KEYWORD3>end-search</KEYWORD3>\r
-        <KEYWORD3>endkey</KEYWORD3>\r
-        <KEYWORD3>entry</KEYWORD3>\r
-        <KEYWORD3>error</KEYWORD3>\r
-        <KEYWORD3>go</KEYWORD3>\r
-        <KEYWORD3>help</KEYWORD3>\r
-        <KEYWORD3>home</KEYWORD3>\r
-        <KEYWORD3>leave</KEYWORD3>\r
-        <KEYWORD3>menu-drop</KEYWORD3>\r
-        <KEYWORD3>off-end</KEYWORD3>\r
-        <KEYWORD3>off-home</KEYWORD3>\r
-        <KEYWORD3>parent-window-close</KEYWORD3>\r
-        <KEYWORD3>procedure-complete</KEYWORD3>\r
-        <KEYWORD3>read-response</KEYWORD3>\r
-        <KEYWORD3>recall</KEYWORD3>\r
-        <KEYWORD3>return</KEYWORD3>\r
-        <KEYWORD3>row-display</KEYWORD3>\r
-        <KEYWORD3>row-entry</KEYWORD3>\r
-        <KEYWORD3>row-leave</KEYWORD3>\r
-        <KEYWORD3>scroll-notify</KEYWORD3>\r
-        <KEYWORD3>select</KEYWORD3>\r
-        <KEYWORD3>selection</KEYWORD3>\r
-        <KEYWORD3>start-box-selection</KEYWORD3>\r
-        <KEYWORD3>start-move</KEYWORD3>\r
-        <KEYWORD3>start-resize</KEYWORD3>\r
-        <KEYWORD3>start-search</KEYWORD3>\r
-        <KEYWORD3>tab</KEYWORD3>\r
-        <KEYWORD3>value-changed</KEYWORD3>\r
-        <KEYWORD3>window-close</KEYWORD3>\r
-        <KEYWORD3>window-maximized</KEYWORD3>\r
-        <KEYWORD3>window-minimized</KEYWORD3>\r
-        <KEYWORD3>window-resized</KEYWORD3>\r
-        <KEYWORD3>window-restored</KEYWORD3>\r
-\r
-\r
-      <!-- KEYWORD1   : Statements, functions -->\r
-        <KEYWORD1>abort</KEYWORD1>\r
-        <KEYWORD1>absolute</KEYWORD1>\r
-        <KEYWORD1>accelerator</KEYWORD1>\r
-        <KEYWORD1>accept-changes</KEYWORD1>\r
-        <KEYWORD1>accept-row-changes</KEYWORD1>\r
-        <KEYWORD1>accumulate</KEYWORD1>\r
-        <KEYWORD1>across</KEYWORD1>\r
-        <KEYWORD1>active</KEYWORD1>\r
-        <KEYWORD1>active-window</KEYWORD1>\r
-        <KEYWORD1>actor</KEYWORD1>\r
-        <KEYWORD1>add</KEYWORD1>\r
-        <KEYWORD1>add-buffer</KEYWORD1>\r
-        <KEYWORD1>add-calc-column</KEYWORD1>\r
-        <KEYWORD1>add-columns-from</KEYWORD1>\r
-        <KEYWORD1>add-events-procedure</KEYWORD1>\r
-        <KEYWORD1>add-fields-from</KEYWORD1>\r
-        <KEYWORD1>add-first</KEYWORD1>\r
-        <KEYWORD1>add-header-entry</KEYWORD1>\r
-        <KEYWORD1>add-index-field</KEYWORD1>\r
-        <KEYWORD1>add-interval</KEYWORD1>\r
-        <KEYWORD1>add-last</KEYWORD1>\r
-        <KEYWORD1>add-like-column</KEYWORD1>\r
-        <KEYWORD1>add-like-field</KEYWORD1>\r
-        <KEYWORD1>add-like-index</KEYWORD1>\r
-        <KEYWORD1>add-new-field</KEYWORD1>\r
-        <KEYWORD1>add-new-index</KEYWORD1>\r
-        <KEYWORD1>add-relation</KEYWORD1>\r
-        <KEYWORD1>add-source-buffer</KEYWORD1>\r
-        <KEYWORD1>add-super-procedure</KEYWORD1>\r
-        <KEYWORD1>adm-data</KEYWORD1>\r
-        <KEYWORD1>advise</KEYWORD1>\r
-        <KEYWORD1>after-buffer</KEYWORD1>\r
-        <KEYWORD1>after-rowid</KEYWORD1>\r
-        <KEYWORD1>after-table</KEYWORD1>\r
-        <KEYWORD1>alert-box</KEYWORD1>\r
-        <KEYWORD1>alias</KEYWORD1>\r
-        <KEYWORD1>all</KEYWORD1>\r
-        <KEYWORD1>allow-column-searching</KEYWORD1>\r
-        <KEYWORD1>allow-replication</KEYWORD1>\r
-        <KEYWORD1>alter</KEYWORD1>\r
-        <KEYWORD1>alternate-key</KEYWORD1>\r
-        <KEYWORD1>always-on-top</KEYWORD1>\r
-        <KEYWORD1>ambiguous</KEYWORD1>\r
-        <KEYWORD1>and</KEYWORD1>\r
-        <KEYWORD1>ansi-only</KEYWORD1>\r
-        <KEYWORD1>any</KEYWORD1>\r
-        <KEYWORD1>anywhere</KEYWORD1>\r
-        <KEYWORD1>append</KEYWORD1>\r
-        <KEYWORD1>append-child</KEYWORD1>\r
-        <KEYWORD1>append-line</KEYWORD1>\r
-        <KEYWORD1>appl-alert-boxes</KEYWORD1>\r
-        <KEYWORD1>application</KEYWORD1>\r
-        <KEYWORD1>apply</KEYWORD1>\r
-        <KEYWORD1>apply-callback</KEYWORD1>\r
-        <KEYWORD1>appserver-info</KEYWORD1>\r
-        <KEYWORD1>appserver-password</KEYWORD1>\r
-        <KEYWORD1>appserver-userid</KEYWORD1>\r
-        <KEYWORD1>array-message</KEYWORD1>\r
-        <KEYWORD1>as</KEYWORD1>\r
-        <KEYWORD1>as-cursor</KEYWORD1>\r
-        <KEYWORD1>ascending</KEYWORD1>\r
-        <KEYWORD1>ask-overwrite</KEYWORD1>\r
-        <KEYWORD1>assign</KEYWORD1>\r
-        <KEYWORD1>async-request-count</KEYWORD1>\r
-        <KEYWORD1>async-request-handle</KEYWORD1>\r
-        <KEYWORD1>asynchronous</KEYWORD1>\r
-        <KEYWORD1>at</KEYWORD1>\r
-        <KEYWORD1>attach</KEYWORD1>\r
-        <KEYWORD1>attach-data-source</KEYWORD1>\r
-        <KEYWORD1>attachment</KEYWORD1>\r
-        <KEYWORD1>attr-space</KEYWORD1>\r
-        <KEYWORD1>attribute-names</KEYWORD1>\r
-        <KEYWORD1>attribute-type</KEYWORD1>\r
-        <KEYWORD1>authorization</KEYWORD1>\r
-        <KEYWORD1>auto-completion</KEYWORD1>\r
-        <KEYWORD1>auto-delete</KEYWORD1>\r
-        <KEYWORD1>auto-delete-xml</KEYWORD1>\r
-        <KEYWORD1>auto-end-key</KEYWORD1>\r
-        <KEYWORD1>auto-endkey</KEYWORD1>\r
-        <KEYWORD1>auto-go</KEYWORD1>\r
-        <KEYWORD1>auto-indent</KEYWORD1>\r
-        <KEYWORD1>auto-resize</KEYWORD1>\r
-        <KEYWORD1>auto-return</KEYWORD1>\r
-        <KEYWORD1>auto-validate</KEYWORD1>\r
-        <KEYWORD1>auto-zap</KEYWORD1>\r
-        <KEYWORD1>automatic</KEYWORD1>\r
-        <KEYWORD1>available</KEYWORD1>\r
-        <KEYWORD1>available-formats</KEYWORD1>\r
-        <KEYWORD1>average</KEYWORD1>\r
-        <KEYWORD1>avg</KEYWORD1>\r
-        <KEYWORD1>background</KEYWORD1>\r
-        <KEYWORD1>backwards</KEYWORD1>\r
-        <KEYWORD1>base-ade</KEYWORD1>\r
-        <KEYWORD1>base-key</KEYWORD1>\r
-        <KEYWORD1>base64</KEYWORD1>\r
-        <KEYWORD1>basic-logging</KEYWORD1>\r
-        <KEYWORD1>batch-mode</KEYWORD1>\r
-        <KEYWORD1>before-buffer</KEYWORD1>\r
-        <KEYWORD1>before-hide</KEYWORD1>\r
-        <KEYWORD1>before-rowid</KEYWORD1>\r
-        <KEYWORD1>before-table</KEYWORD1>\r
-        <KEYWORD1>begins</KEYWORD1>\r
-        <KEYWORD1>between</KEYWORD1>\r
-        <KEYWORD1>bgcolor</KEYWORD1>\r
-        <KEYWORD1>big-endian</KEYWORD1>\r
-        <KEYWORD1>binary</KEYWORD1>\r
-        <KEYWORD1>bind-where</KEYWORD1>\r
-        <KEYWORD1>blank</KEYWORD1>\r
-        <KEYWORD1>blob</KEYWORD1>\r
-        <KEYWORD1>block</KEYWORD1>\r
-        <KEYWORD1>block-iteration-display</KEYWORD1>\r
-        <KEYWORD1>border-bottom</KEYWORD1>\r
-        <KEYWORD1>border-bottom-chars</KEYWORD1>\r
-        <KEYWORD1>border-bottom-pixels</KEYWORD1>\r
-        <KEYWORD1>border-left</KEYWORD1>\r
-        <KEYWORD1>border-left-chars</KEYWORD1>\r
-        <KEYWORD1>border-left-pixels</KEYWORD1>\r
-        <KEYWORD1>border-right</KEYWORD1>\r
-        <KEYWORD1>border-right-chars</KEYWORD1>\r
-        <KEYWORD1>border-right-pixels</KEYWORD1>\r
-        <KEYWORD1>border-top</KEYWORD1>\r
-        <KEYWORD1>border-top-chars</KEYWORD1>\r
-        <KEYWORD1>border-top-pixels</KEYWORD1>\r
-        <KEYWORD1>both</KEYWORD1>\r
-        <KEYWORD1>bottom</KEYWORD1>\r
-        <KEYWORD1>bottom-column</KEYWORD1>\r
-        <KEYWORD1>box</KEYWORD1>\r
-        <KEYWORD1>box-selectable</KEYWORD1>\r
-        <KEYWORD1>break</KEYWORD1>\r
-        <KEYWORD1>break-line</KEYWORD1>\r
-        <KEYWORD1>browse</KEYWORD1>\r
-        <KEYWORD1>browse-column-data-types</KEYWORD1>\r
-        <KEYWORD1>browse-column-formats</KEYWORD1>\r
-        <KEYWORD1>browse-column-labels</KEYWORD1>\r
-        <KEYWORD1>browse-header</KEYWORD1>\r
-        <KEYWORD1>btos</KEYWORD1>\r
-        <KEYWORD1>buffer</KEYWORD1>\r
-        <KEYWORD1>buffer-chars</KEYWORD1>\r
-        <KEYWORD1>buffer-compare</KEYWORD1>\r
-        <KEYWORD1>buffer-copy</KEYWORD1>\r
-        <KEYWORD1>buffer-create</KEYWORD1>\r
-        <KEYWORD1>buffer-delete</KEYWORD1>\r
-        <KEYWORD1>buffer-field</KEYWORD1>\r
-        <KEYWORD1>buffer-handle</KEYWORD1>\r
-        <KEYWORD1>buffer-lines</KEYWORD1>\r
-        <KEYWORD1>buffer-name</KEYWORD1>\r
-        <KEYWORD1>buffer-release</KEYWORD1>\r
-        <KEYWORD1>buffer-validate</KEYWORD1>\r
-        <KEYWORD1>buffer-value</KEYWORD1>\r
-        <KEYWORD1>buttons</KEYWORD1>\r
-        <KEYWORD1>by</KEYWORD1>\r
-        <KEYWORD1>by-pointer</KEYWORD1>\r
-        <KEYWORD1>by-reference</KEYWORD1>\r
-        <KEYWORD1>by-value</KEYWORD1>\r
-        <KEYWORD1>by-variant-pointer</KEYWORD1>\r
-        <KEYWORD1>byte</KEYWORD1>\r
-        <KEYWORD1>bytes-read</KEYWORD1>\r
-        <KEYWORD1>bytes-written</KEYWORD1>\r
-        <KEYWORD1>cache</KEYWORD1>\r
-        <KEYWORD1>cache-size</KEYWORD1>\r
-        <KEYWORD1>call</KEYWORD1>\r
-        <KEYWORD1>call-name</KEYWORD1>\r
-        <KEYWORD1>call-type</KEYWORD1>\r
-        <KEYWORD1>can-create</KEYWORD1>\r
-        <KEYWORD1>can-delete</KEYWORD1>\r
-        <KEYWORD1>can-do</KEYWORD1>\r
-        <KEYWORD1>can-find</KEYWORD1>\r
-        <KEYWORD1>can-query</KEYWORD1>\r
-        <KEYWORD1>can-read</KEYWORD1>\r
-        <KEYWORD1>can-set</KEYWORD1>\r
-        <KEYWORD1>can-write</KEYWORD1>\r
-        <KEYWORD1>cancel-break</KEYWORD1>\r
-        <KEYWORD1>cancel-button</KEYWORD1>\r
-        <KEYWORD1>cancel-pick</KEYWORD1>\r
-        <KEYWORD1>cancel-requests</KEYWORD1>\r
-        <KEYWORD1>cancelled</KEYWORD1>\r
-        <KEYWORD1>caps</KEYWORD1>\r
-        <KEYWORD1>careful-paint</KEYWORD1>\r
-        <KEYWORD1>case</KEYWORD1>\r
-        <KEYWORD1>case-sensitive</KEYWORD1>\r
-        <KEYWORD1>cdecl</KEYWORD1>\r
-        <KEYWORD1>centered</KEYWORD1>\r
-        <KEYWORD1>chained</KEYWORD1>\r
-        <KEYWORD1>character</KEYWORD1>\r
-        <KEYWORD1>character_length</KEYWORD1>\r
-        <KEYWORD1>charset</KEYWORD1>\r
-        <KEYWORD1>check</KEYWORD1>\r
-        <KEYWORD1>checked</KEYWORD1>\r
-        <KEYWORD1>child-buffer</KEYWORD1>\r
-        <KEYWORD1>child-num</KEYWORD1>\r
-        <KEYWORD1>choices</KEYWORD1>\r
-        <KEYWORD1>chr</KEYWORD1>\r
-        <KEYWORD1>clear</KEYWORD1>\r
-        <KEYWORD1>clear-selection</KEYWORD1>\r
-        <KEYWORD1>client-connection-id</KEYWORD1>\r
-        <KEYWORD1>client-type</KEYWORD1>\r
-        <KEYWORD1>clipboard</KEYWORD1>\r
-        <KEYWORD1>clob</KEYWORD1>\r
-        <KEYWORD1>clone-node</KEYWORD1>\r
-        <KEYWORD1>close</KEYWORD1>\r
-        <KEYWORD1>code</KEYWORD1>\r
-        <KEYWORD1>codebase-locator</KEYWORD1>\r
-        <KEYWORD1>codepage</KEYWORD1>\r
-        <KEYWORD1>codepage-convert</KEYWORD1>\r
-        <KEYWORD1>col</KEYWORD1>\r
-        <KEYWORD1>col-of</KEYWORD1>\r
-        <KEYWORD1>collate</KEYWORD1>\r
-        <KEYWORD1>colon</KEYWORD1>\r
-        <KEYWORD1>colon-aligned</KEYWORD1>\r
-        <KEYWORD1>color</KEYWORD1>\r
-        <KEYWORD1>color-table</KEYWORD1>\r
-        <KEYWORD1>column-bgcolor</KEYWORD1>\r
-        <KEYWORD1>column-codepage</KEYWORD1>\r
-        <KEYWORD1>column-dcolor</KEYWORD1>\r
-        <KEYWORD1>column-fgcolor</KEYWORD1>\r
-        <KEYWORD1>column-font</KEYWORD1>\r
-        <KEYWORD1>column-label</KEYWORD1>\r
-        <KEYWORD1>column-label-bgcolor</KEYWORD1>\r
-        <KEYWORD1>column-label-dcolor</KEYWORD1>\r
-        <KEYWORD1>column-label-fgcolor</KEYWORD1>\r
-        <KEYWORD1>column-label-font</KEYWORD1>\r
-        <KEYWORD1>column-label-height-chars</KEYWORD1>\r
-        <KEYWORD1>column-label-height-pixels</KEYWORD1>\r
-        <KEYWORD1>column-movable</KEYWORD1>\r
-        <KEYWORD1>column-of</KEYWORD1>\r
-        <KEYWORD1>column-pfcolor</KEYWORD1>\r
-        <KEYWORD1>column-read-only</KEYWORD1>\r
-        <KEYWORD1>column-resizable</KEYWORD1>\r
-        <KEYWORD1>column-scrolling</KEYWORD1>\r
-        <KEYWORD1>columns</KEYWORD1>\r
-        <KEYWORD1>com-handle</KEYWORD1>\r
-        <KEYWORD1>com-self</KEYWORD1>\r
-        <KEYWORD1>combo-box</KEYWORD1>\r
-        <KEYWORD1>command</KEYWORD1>\r
-        <KEYWORD1>compares</KEYWORD1>\r
-        <KEYWORD1>compile</KEYWORD1>\r
-        <KEYWORD1>compiler</KEYWORD1>\r
-        <KEYWORD1>complete</KEYWORD1>\r
-        <KEYWORD1>component-handle</KEYWORD1>\r
-        <KEYWORD1>component-self</KEYWORD1>\r
-        <KEYWORD1>config-name</KEYWORD1>\r
-        <KEYWORD1>connect</KEYWORD1>\r
-        <KEYWORD1>connected</KEYWORD1>\r
-        <KEYWORD1>constrained</KEYWORD1>\r
-        <KEYWORD1>contains</KEYWORD1>\r
-        <KEYWORD1>contents</KEYWORD1>\r
-        <KEYWORD1>context</KEYWORD1>\r
-        <KEYWORD1>context-help</KEYWORD1>\r
-        <KEYWORD1>context-help-file</KEYWORD1>\r
-        <KEYWORD1>context-help-id</KEYWORD1>\r
-        <KEYWORD1>context-popup</KEYWORD1>\r
-        <KEYWORD1>control</KEYWORD1>\r
-        <KEYWORD1>control-box</KEYWORD1>\r
-        <KEYWORD1>control-container</KEYWORD1>\r
-        <KEYWORD1>control-frame</KEYWORD1>\r
-        <KEYWORD1>convert</KEYWORD1>\r
-        <KEYWORD1>convert-3d-colors</KEYWORD1>\r
-        <KEYWORD1>convert-to-offset</KEYWORD1>\r
-        <KEYWORD1>copy</KEYWORD1>\r
-        <KEYWORD1>copy-lob</KEYWORD1>\r
-        <KEYWORD1>count</KEYWORD1>\r
-        <KEYWORD1>count-of</KEYWORD1>\r
-        <KEYWORD1>coverage</KEYWORD1>\r
-        <KEYWORD1>cpcase</KEYWORD1>\r
-        <KEYWORD1>cpcoll</KEYWORD1>\r
-        <KEYWORD1>cpinternal</KEYWORD1>\r
-        <KEYWORD1>cplog</KEYWORD1>\r
-        <KEYWORD1>cpprint</KEYWORD1>\r
-        <KEYWORD1>cprcodein</KEYWORD1>\r
-        <KEYWORD1>cprcodeout</KEYWORD1>\r
-        <KEYWORD1>cpstream</KEYWORD1>\r
-        <KEYWORD1>cpterm</KEYWORD1>\r
-        <KEYWORD1>crc-value</KEYWORD1>\r
-        <KEYWORD1>create</KEYWORD1>\r
-        <KEYWORD1>create-like</KEYWORD1>\r
-        <KEYWORD1>create-node</KEYWORD1>\r
-        <KEYWORD1>create-node-namespace</KEYWORD1>\r
-        <KEYWORD1>create-on-add</KEYWORD1>\r
-        <KEYWORD1>create-result-list-entry</KEYWORD1>\r
-        <KEYWORD1>create-test-file</KEYWORD1>\r
-        <KEYWORD1>ctos</KEYWORD1>\r
-        <KEYWORD1>current</KEYWORD1>\r
-        <KEYWORD1>current-changed</KEYWORD1>\r
-        <KEYWORD1>current-column</KEYWORD1>\r
-        <KEYWORD1>current-environment</KEYWORD1>\r
-        <KEYWORD1>current-iteration</KEYWORD1>\r
-        <KEYWORD1>current-language</KEYWORD1>\r
-        <KEYWORD1>current-result-row</KEYWORD1>\r
-        <KEYWORD1>current-row-modified</KEYWORD1>\r
-        <KEYWORD1>current-value</KEYWORD1>\r
-        <KEYWORD1>current-window</KEYWORD1>\r
-        <KEYWORD1>current_date</KEYWORD1>\r
-        <KEYWORD1>cursor</KEYWORD1>\r
-        <KEYWORD1>cursor-char</KEYWORD1>\r
-        <KEYWORD1>cursor-down</KEYWORD1>\r
-        <KEYWORD1>cursor-left</KEYWORD1>\r
-        <KEYWORD1>cursor-line</KEYWORD1>\r
-        <KEYWORD1>cursor-offset</KEYWORD1>\r
-        <KEYWORD1>cursor-right</KEYWORD1>\r
-        <KEYWORD1>cursor-up</KEYWORD1>\r
-        <KEYWORD1>cut</KEYWORD1>\r
-        <KEYWORD1>data-bind</KEYWORD1>\r
-        <KEYWORD1>data-entry-return</KEYWORD1>\r
-        <KEYWORD1>data-refresh-line</KEYWORD1>\r
-        <KEYWORD1>data-refresh-page</KEYWORD1>\r
-        <KEYWORD1>data-relation</KEYWORD1>\r
-        <KEYWORD1>data-source</KEYWORD1>\r
-        <KEYWORD1>data-type</KEYWORD1>\r
-        <KEYWORD1>database</KEYWORD1>\r
-        <KEYWORD1>dataservers</KEYWORD1>\r
-        <KEYWORD1>dataset</KEYWORD1>\r
-        <KEYWORD1>dataset-handle</KEYWORD1>\r
-        <KEYWORD1>date</KEYWORD1>\r
-        <KEYWORD1>date-format</KEYWORD1>\r
-        <KEYWORD1>datetime</KEYWORD1>\r
-        <KEYWORD1>datetime-tz</KEYWORD1>\r
-        <KEYWORD1>day</KEYWORD1>\r
-        <KEYWORD1>db-references</KEYWORD1>\r
-        <KEYWORD1>dbcodepage</KEYWORD1>\r
-        <KEYWORD1>dbcollation</KEYWORD1>\r
-        <KEYWORD1>dbname</KEYWORD1>\r
-        <KEYWORD1>dbparam</KEYWORD1>\r
-        <KEYWORD1>dbrestrictions</KEYWORD1>\r
-        <KEYWORD1>dbtaskid</KEYWORD1>\r
-        <KEYWORD1>dbtype</KEYWORD1>\r
-        <KEYWORD1>dbversion</KEYWORD1>\r
-        <KEYWORD1>dcolor</KEYWORD1>\r
-        <KEYWORD1>dde</KEYWORD1>\r
-        <KEYWORD1>dde-error</KEYWORD1>\r
-        <KEYWORD1>dde-id</KEYWORD1>\r
-        <KEYWORD1>dde-item</KEYWORD1>\r
-        <KEYWORD1>dde-name</KEYWORD1>\r
-        <KEYWORD1>dde-topic</KEYWORD1>\r
-        <KEYWORD1>deblank</KEYWORD1>\r
-        <KEYWORD1>debug</KEYWORD1>\r
-        <KEYWORD1>debug-alert</KEYWORD1>\r
-        <KEYWORD1>debug-list</KEYWORD1>\r
-        <KEYWORD1>debugger</KEYWORD1>\r
-        <KEYWORD1>decimal</KEYWORD1>\r
-        <KEYWORD1>decimals</KEYWORD1>\r
-        <KEYWORD1>declare</KEYWORD1>\r
-        <KEYWORD1>default</KEYWORD1>\r
-        <KEYWORD1>default-buffer-handle</KEYWORD1>\r
-        <KEYWORD1>default-button</KEYWORD1>\r
-        <KEYWORD1>default-commit</KEYWORD1>\r
-        <KEYWORD1>default-extension</KEYWORD1>\r
-        <KEYWORD1>default-noxlate</KEYWORD1>\r
-        <KEYWORD1>default-pop-up</KEYWORD1>\r
-        <KEYWORD1>default-string</KEYWORD1>\r
-        <KEYWORD1>default-window</KEYWORD1>\r
-        <KEYWORD1>defer-lob-fetch</KEYWORD1>\r
-        <KEYWORD1>define</KEYWORD1>\r
-        <KEYWORD1>defined</KEYWORD1>\r
-        <KEYWORD1>delete</KEYWORD1>\r
-        <KEYWORD1>delete-column</KEYWORD1>\r
-        <KEYWORD1>delete-current-row</KEYWORD1>\r
-        <KEYWORD1>delete-end-line</KEYWORD1>\r
-        <KEYWORD1>delete-field</KEYWORD1>\r
-        <KEYWORD1>delete-header-entry</KEYWORD1>\r
-        <KEYWORD1>delete-line</KEYWORD1>\r
-        <KEYWORD1>delete-node</KEYWORD1>\r
-        <KEYWORD1>delete-result-list-entry</KEYWORD1>\r
-        <KEYWORD1>delete-selected-row</KEYWORD1>\r
-        <KEYWORD1>delete-selected-rows</KEYWORD1>\r
-        <KEYWORD1>delete-word</KEYWORD1>\r
-        <KEYWORD1>delimiter</KEYWORD1>\r
-        <KEYWORD1>descending</KEYWORD1>\r
-        <KEYWORD1>description</KEYWORD1>\r
-        <KEYWORD1>deselect-extend</KEYWORD1>\r
-        <KEYWORD1>deselect-focused-row</KEYWORD1>\r
-        <KEYWORD1>deselect-rows</KEYWORD1>\r
-        <KEYWORD1>deselect-selected-row</KEYWORD1>\r
-        <KEYWORD1>deselection-extend</KEYWORD1>\r
-        <KEYWORD1>detach</KEYWORD1>\r
-        <KEYWORD1>detach-data-source</KEYWORD1>\r
-        <KEYWORD1>dialog-box</KEYWORD1>\r
-        <KEYWORD1>dialog-help</KEYWORD1>\r
-        <KEYWORD1>dictionary</KEYWORD1>\r
-        <KEYWORD1>dir</KEYWORD1>\r
-        <KEYWORD1>directory</KEYWORD1>\r
-        <KEYWORD1>disable</KEYWORD1>\r
-        <KEYWORD1>disable-auto-zap</KEYWORD1>\r
-        <KEYWORD1>disable-connections</KEYWORD1>\r
-        <KEYWORD1>disable-dump-triggers</KEYWORD1>\r
-        <KEYWORD1>disable-load-triggers</KEYWORD1>\r
-        <KEYWORD1>disabled</KEYWORD1>\r
-        <KEYWORD1>disconnect</KEYWORD1>\r
-        <KEYWORD1>dismiss-menu</KEYWORD1>\r
-        <KEYWORD1>display</KEYWORD1>\r
-        <KEYWORD1>display-message</KEYWORD1>\r
-        <KEYWORD1>display-timezone</KEYWORD1>\r
-        <KEYWORD1>display-type</KEYWORD1>\r
-        <KEYWORD1>distinct</KEYWORD1>\r
-        <KEYWORD1>do</KEYWORD1>\r
-        <KEYWORD1>dos</KEYWORD1>\r
-        <KEYWORD1>dos-end</KEYWORD1>\r
-        <KEYWORD1>double</KEYWORD1>\r
-        <KEYWORD1>down</KEYWORD1>\r
-        <KEYWORD1>drag-enabled</KEYWORD1>\r
-        <KEYWORD1>drop</KEYWORD1>\r
-        <KEYWORD1>drop-down</KEYWORD1>\r
-        <KEYWORD1>drop-down-list</KEYWORD1>\r
-        <KEYWORD1>drop-target</KEYWORD1>\r
-        <KEYWORD1>dump</KEYWORD1>\r
-        <KEYWORD1>dump-logging-now</KEYWORD1>\r
-        <KEYWORD1>dynamic</KEYWORD1>\r
-        <KEYWORD1>dynamic-current-value</KEYWORD1>\r
-        <KEYWORD1>dynamic-function</KEYWORD1>\r
-        <KEYWORD1>dynamic-next-value</KEYWORD1>\r
-        <KEYWORD1>each</KEYWORD1>\r
-        <KEYWORD1>echo</KEYWORD1>\r
-        <KEYWORD1>edge</KEYWORD1>\r
-        <KEYWORD1>edge-chars</KEYWORD1>\r
-        <KEYWORD1>edge-pixels</KEYWORD1>\r
-        <KEYWORD1>edit-can-paste</KEYWORD1>\r
-        <KEYWORD1>edit-can-undo</KEYWORD1>\r
-        <KEYWORD1>edit-clear</KEYWORD1>\r
-        <KEYWORD1>edit-copy</KEYWORD1>\r
-        <KEYWORD1>edit-cut</KEYWORD1>\r
-        <KEYWORD1>edit-paste</KEYWORD1>\r
-        <KEYWORD1>edit-undo</KEYWORD1>\r
-        <KEYWORD1>editing</KEYWORD1>\r
-        <KEYWORD1>editor</KEYWORD1>\r
-        <KEYWORD1>editor-backtab</KEYWORD1>\r
-        <KEYWORD1>editor-tab</KEYWORD1>\r
-        <KEYWORD1>else</KEYWORD1>\r
-        <KEYWORD1>empty</KEYWORD1>\r
-        <KEYWORD1>empty-dataset</KEYWORD1>\r
-        <KEYWORD1>empty-temp-table</KEYWORD1>\r
-        <KEYWORD1>enable</KEYWORD1>\r
-        <KEYWORD1>enable-connections</KEYWORD1>\r
-        <KEYWORD1>enabled</KEYWORD1>\r
-        <KEYWORD1>encode</KEYWORD1>\r
-        <KEYWORD1>encoding</KEYWORD1>\r
-        <KEYWORD1>end-file-drop</KEYWORD1>\r
-        <KEYWORD1>end-key</KEYWORD1>\r
-        <KEYWORD1>end-row-resize</KEYWORD1>\r
-        <KEYWORD1>end-user-prompt</KEYWORD1>\r
-        <KEYWORD1>enter-menubar</KEYWORD1>\r
-        <KEYWORD1>entered</KEYWORD1>\r
-        <KEYWORD1>entry-types-list</KEYWORD1>\r
-        <KEYWORD1>eq</KEYWORD1>\r
-        <KEYWORD1>error-column</KEYWORD1>\r
-        <KEYWORD1>error-object-detail</KEYWORD1>\r
-        <KEYWORD1>error-row</KEYWORD1>\r
-        <KEYWORD1>error-status</KEYWORD1>\r
-        <KEYWORD1>error-string</KEYWORD1>\r
-        <KEYWORD1>escape</KEYWORD1>\r
-        <KEYWORD1>etime</KEYWORD1>\r
-        <KEYWORD1>event-procedure</KEYWORD1>\r
-        <KEYWORD1>event-procedure-context</KEYWORD1>\r
-        <KEYWORD1>event-type</KEYWORD1>\r
-        <KEYWORD1>events</KEYWORD1>\r
-        <KEYWORD1>except</KEYWORD1>\r
-        <KEYWORD1>exclusive</KEYWORD1>\r
-        <KEYWORD1>exclusive-id</KEYWORD1>\r
-        <KEYWORD1>exclusive-lock</KEYWORD1>\r
-        <KEYWORD1>exclusive-web-user</KEYWORD1>\r
-        <KEYWORD1>execute</KEYWORD1>\r
-        <KEYWORD1>execution-log</KEYWORD1>\r
-        <KEYWORD1>exists</KEYWORD1>\r
-        <KEYWORD1>exit</KEYWORD1>\r
-        <KEYWORD1>exp</KEYWORD1>\r
-        <KEYWORD1>expand</KEYWORD1>\r
-        <KEYWORD1>expandable</KEYWORD1>\r
-        <KEYWORD1>explicit</KEYWORD1>\r
-        <KEYWORD1>export</KEYWORD1>\r
-        <KEYWORD1>extended</KEYWORD1>\r
-        <KEYWORD1>extent</KEYWORD1>\r
-        <KEYWORD1>external</KEYWORD1>\r
-        <KEYWORD1>extract</KEYWORD1>\r
-        <KEYWORD1>false</KEYWORD1>\r
-        <KEYWORD1>fetch</KEYWORD1>\r
-        <KEYWORD1>fetch-selected-row</KEYWORD1>\r
-        <KEYWORD1>fgcolor</KEYWORD1>\r
-        <KEYWORD1>fields</KEYWORD1>\r
-        <KEYWORD1>file</KEYWORD1>\r
-        <KEYWORD1>file-access-date</KEYWORD1>\r
-        <KEYWORD1>file-access-time</KEYWORD1>\r
-        <KEYWORD1>file-create-date</KEYWORD1>\r
-        <KEYWORD1>file-create-time</KEYWORD1>\r
-        <KEYWORD1>file-information</KEYWORD1>\r
-        <KEYWORD1>file-mod-date</KEYWORD1>\r
-        <KEYWORD1>file-mod-time</KEYWORD1>\r
-        <KEYWORD1>file-name</KEYWORD1>\r
-        <KEYWORD1>file-offset</KEYWORD1>\r
-        <KEYWORD1>file-size</KEYWORD1>\r
-        <KEYWORD1>file-type</KEYWORD1>\r
-        <KEYWORD1>filename</KEYWORD1>\r
-        <KEYWORD1>fill</KEYWORD1>\r
-        <KEYWORD1>fill-in</KEYWORD1>\r
-        <KEYWORD1>fill-mode</KEYWORD1>\r
-        <KEYWORD1>fill-where-string</KEYWORD1>\r
-        <KEYWORD1>filled</KEYWORD1>\r
-        <KEYWORD1>filters</KEYWORD1>\r
-        <KEYWORD1>find</KEYWORD1>\r
-        <KEYWORD1>find-by-rowid</KEYWORD1>\r
-        <KEYWORD1>find-case-sensitive</KEYWORD1>\r
-        <KEYWORD1>find-current</KEYWORD1>\r
-        <KEYWORD1>find-first</KEYWORD1>\r
-        <KEYWORD1>find-global</KEYWORD1>\r
-        <KEYWORD1>find-last</KEYWORD1>\r
-        <KEYWORD1>find-next</KEYWORD1>\r
-        <KEYWORD1>find-next-occurrence</KEYWORD1>\r
-        <KEYWORD1>find-prev-occurrence</KEYWORD1>\r
-        <KEYWORD1>find-previous</KEYWORD1>\r
-        <KEYWORD1>find-select</KEYWORD1>\r
-        <KEYWORD1>find-unique</KEYWORD1>\r
-        <KEYWORD1>find-wrap-around</KEYWORD1>\r
-        <KEYWORD1>finder</KEYWORD1>\r
-        <KEYWORD1>first</KEYWORD1>\r
-        <KEYWORD1>first-async-request</KEYWORD1>\r
-        <KEYWORD1>first-buffer</KEYWORD1>\r
-        <KEYWORD1>first-child</KEYWORD1>\r
-        <KEYWORD1>first-column</KEYWORD1>\r
-        <KEYWORD1>first-data-source</KEYWORD1>\r
-        <KEYWORD1>first-dataset</KEYWORD1>\r
-        <KEYWORD1>first-of</KEYWORD1>\r
-        <KEYWORD1>first-procedure</KEYWORD1>\r
-        <KEYWORD1>first-query</KEYWORD1>\r
-        <KEYWORD1>first-server</KEYWORD1>\r
-        <KEYWORD1>first-server-socket</KEYWORD1>\r
-        <KEYWORD1>first-socket</KEYWORD1>\r
-        <KEYWORD1>first-tab-item</KEYWORD1>\r
-        <KEYWORD1>fit-last-column</KEYWORD1>\r
-        <KEYWORD1>fix-codepage</KEYWORD1>\r
-        <KEYWORD1>fixed-only</KEYWORD1>\r
-        <KEYWORD1>flat-button</KEYWORD1>\r
-        <KEYWORD1>float</KEYWORD1>\r
-        <KEYWORD1>focus</KEYWORD1>\r
-        <KEYWORD1>focus-in</KEYWORD1>\r
-        <KEYWORD1>focused-row</KEYWORD1>\r
-        <KEYWORD1>focused-row-selected</KEYWORD1>\r
-        <KEYWORD1>font</KEYWORD1>\r
-        <KEYWORD1>font-based-layout</KEYWORD1>\r
-        <KEYWORD1>font-table</KEYWORD1>\r
-        <KEYWORD1>for</KEYWORD1>\r
-        <KEYWORD1>force-file</KEYWORD1>\r
-        <KEYWORD1>foreground</KEYWORD1>\r
-        <KEYWORD1>form-input</KEYWORD1>\r
-        <KEYWORD1>format</KEYWORD1>\r
-        <KEYWORD1>forward-only</KEYWORD1>\r
-        <KEYWORD1>forwards</KEYWORD1>\r
-        <KEYWORD1>frame</KEYWORD1>\r
-        <KEYWORD1>frame-col</KEYWORD1>\r
-        <KEYWORD1>frame-db</KEYWORD1>\r
-        <KEYWORD1>frame-down</KEYWORD1>\r
-        <KEYWORD1>frame-field</KEYWORD1>\r
-        <KEYWORD1>frame-file</KEYWORD1>\r
-        <KEYWORD1>frame-index</KEYWORD1>\r
-        <KEYWORD1>frame-line</KEYWORD1>\r
-        <KEYWORD1>frame-name</KEYWORD1>\r
-        <KEYWORD1>frame-row</KEYWORD1>\r
-        <KEYWORD1>frame-spacing</KEYWORD1>\r
-        <KEYWORD1>frame-value</KEYWORD1>\r
-        <KEYWORD1>frame-x</KEYWORD1>\r
-        <KEYWORD1>frame-y</KEYWORD1>\r
-        <KEYWORD1>frequency</KEYWORD1>\r
-        <KEYWORD1>from</KEYWORD1>\r
-        <KEYWORD1>from-chars</KEYWORD1>\r
-        <KEYWORD1>from-current</KEYWORD1>\r
-        <KEYWORD1>from-pixels</KEYWORD1>\r
-        <KEYWORD1>fromnoreorder</KEYWORD1>\r
-        <KEYWORD1>full-height</KEYWORD1>\r
-        <KEYWORD1>full-height-chars</KEYWORD1>\r
-        <KEYWORD1>full-height-pixels</KEYWORD1>\r
-        <KEYWORD1>full-pathname</KEYWORD1>\r
-        <KEYWORD1>full-width-chars</KEYWORD1>\r
-        <KEYWORD1>full-width-pixels</KEYWORD1>\r
-        <KEYWORD1>function</KEYWORD1>\r
-        <KEYWORD1>function-call-type</KEYWORD1>\r
-        <KEYWORD1>gateways</KEYWORD1>\r
-        <KEYWORD1>ge</KEYWORD1>\r
-        <KEYWORD1>generate-md5</KEYWORD1>\r
-        <KEYWORD1>get</KEYWORD1>\r
-        <KEYWORD1>get-attr-call-type</KEYWORD1>\r
-        <KEYWORD1>get-attribute</KEYWORD1>\r
-        <KEYWORD1>get-attribute-node</KEYWORD1>\r
-        <KEYWORD1>get-bits</KEYWORD1>\r
-        <KEYWORD1>get-blue-value</KEYWORD1>\r
-        <KEYWORD1>get-browse-column</KEYWORD1>\r
-        <KEYWORD1>get-buffer-handle</KEYWORD1>\r
-        <KEYWORD1>get-byte</KEYWORD1>\r
-        <KEYWORD1>get-byte-order</KEYWORD1>\r
-        <KEYWORD1>get-bytes</KEYWORD1>\r
-        <KEYWORD1>get-bytes-available</KEYWORD1>\r
-        <KEYWORD1>get-cgi-list</KEYWORD1>\r
-        <KEYWORD1>get-cgi-value</KEYWORD1>\r
-        <KEYWORD1>get-changes</KEYWORD1>\r
-        <KEYWORD1>get-child</KEYWORD1>\r
-        <KEYWORD1>get-child-relation</KEYWORD1>\r
-        <KEYWORD1>get-codepages</KEYWORD1>\r
-        <KEYWORD1>get-collations</KEYWORD1>\r
-        <KEYWORD1>get-config-value</KEYWORD1>\r
-        <KEYWORD1>get-current</KEYWORD1>\r
-        <KEYWORD1>get-dataset-buffer</KEYWORD1>\r
-        <KEYWORD1>get-dir</KEYWORD1>\r
-        <KEYWORD1>get-document-element</KEYWORD1>\r
-        <KEYWORD1>get-double</KEYWORD1>\r
-        <KEYWORD1>get-dropped-file</KEYWORD1>\r
-        <KEYWORD1>get-dynamic</KEYWORD1>\r
-        <KEYWORD1>get-file</KEYWORD1>\r
-        <KEYWORD1>get-first</KEYWORD1>\r
-        <KEYWORD1>get-float</KEYWORD1>\r
-        <KEYWORD1>get-green-value</KEYWORD1>\r
-        <KEYWORD1>get-header-entry</KEYWORD1>\r
-        <KEYWORD1>get-index-by-namespace-name</KEYWORD1>\r
-        <KEYWORD1>get-index-by-qname</KEYWORD1>\r
-        <KEYWORD1>get-iteration</KEYWORD1>\r
-        <KEYWORD1>get-key-value</KEYWORD1>\r
-        <KEYWORD1>get-last</KEYWORD1>\r
-        <KEYWORD1>get-localname-by-index</KEYWORD1>\r
-        <KEYWORD1>get-long</KEYWORD1>\r
-        <KEYWORD1>get-message</KEYWORD1>\r
-        <KEYWORD1>get-next</KEYWORD1>\r
-        <KEYWORD1>get-node</KEYWORD1>\r
-        <KEYWORD1>get-number</KEYWORD1>\r
-        <KEYWORD1>get-parent</KEYWORD1>\r
-        <KEYWORD1>get-pointer-value</KEYWORD1>\r
-        <KEYWORD1>get-prev</KEYWORD1>\r
-        <KEYWORD1>get-printers</KEYWORD1>\r
-        <KEYWORD1>get-qname-by-index</KEYWORD1>\r
-        <KEYWORD1>get-red-value</KEYWORD1>\r
-        <KEYWORD1>get-relation</KEYWORD1>\r
-        <KEYWORD1>get-repositioned-row</KEYWORD1>\r
-        <KEYWORD1>get-rgb-value</KEYWORD1>\r
-        <KEYWORD1>get-selected-widget</KEYWORD1>\r
-        <KEYWORD1>get-serialized</KEYWORD1>\r
-        <KEYWORD1>get-short</KEYWORD1>\r
-        <KEYWORD1>get-signature</KEYWORD1>\r
-        <KEYWORD1>get-size</KEYWORD1>\r
-        <KEYWORD1>get-socket-option</KEYWORD1>\r
-        <KEYWORD1>get-source-buffer</KEYWORD1>\r
-        <KEYWORD1>get-string</KEYWORD1>\r
-        <KEYWORD1>get-tab-item</KEYWORD1>\r
-        <KEYWORD1>get-text-height</KEYWORD1>\r
-        <KEYWORD1>get-text-height-chars</KEYWORD1>\r
-        <KEYWORD1>get-text-height-pixels</KEYWORD1>\r
-        <KEYWORD1>get-text-width</KEYWORD1>\r
-        <KEYWORD1>get-text-width-chars</KEYWORD1>\r
-        <KEYWORD1>get-text-width-pixels</KEYWORD1>\r
-        <KEYWORD1>get-top-buffer</KEYWORD1>\r
-        <KEYWORD1>get-type-by-index</KEYWORD1>\r
-        <KEYWORD1>get-type-by-namespace-name</KEYWORD1>\r
-        <KEYWORD1>get-type-by-qname</KEYWORD1>\r
-        <KEYWORD1>get-unsigned-short</KEYWORD1>\r
-        <KEYWORD1>get-uri-by-index</KEYWORD1>\r
-        <KEYWORD1>get-value-by-index</KEYWORD1>\r
-        <KEYWORD1>get-value-by-namespace-name</KEYWORD1>\r
-        <KEYWORD1>get-value-by-qname</KEYWORD1>\r
-        <KEYWORD1>get-wait-state</KEYWORD1>\r
-        <KEYWORD1>getbyte</KEYWORD1>\r
-        <KEYWORD1>global</KEYWORD1>\r
-        <KEYWORD1>go-on</KEYWORD1>\r
-        <KEYWORD1>go-pending</KEYWORD1>\r
-        <KEYWORD1>goto</KEYWORD1>\r
-        <KEYWORD1>grant</KEYWORD1>\r
-        <KEYWORD1>graphic-edge</KEYWORD1>\r
-        <KEYWORD1>grayed</KEYWORD1>\r
-        <KEYWORD1>grid-factor-horizontal</KEYWORD1>\r
-        <KEYWORD1>grid-factor-vertical</KEYWORD1>\r
-        <KEYWORD1>grid-set</KEYWORD1>\r
-        <KEYWORD1>grid-snap</KEYWORD1>\r
-        <KEYWORD1>grid-unit-height</KEYWORD1>\r
-        <KEYWORD1>grid-unit-height-chars</KEYWORD1>\r
-        <KEYWORD1>grid-unit-height-pixels</KEYWORD1>\r
-        <KEYWORD1>grid-unit-width</KEYWORD1>\r
-        <KEYWORD1>grid-unit-width-chars</KEYWORD1>\r
-        <KEYWORD1>grid-unit-width-pixels</KEYWORD1>\r
-        <KEYWORD1>grid-visible</KEYWORD1>\r
-        <KEYWORD1>group</KEYWORD1>\r
-        <KEYWORD1>gt</KEYWORD1>\r
-        <KEYWORD1>handle</KEYWORD1>\r
-        <KEYWORD1>handler</KEYWORD1>\r
-        <KEYWORD1>has-lobs</KEYWORD1>\r
-        <KEYWORD1>has-records</KEYWORD1>\r
-        <KEYWORD1>having</KEYWORD1>\r
-        <KEYWORD1>header</KEYWORD1>\r
-        <KEYWORD1>height</KEYWORD1>\r
-        <KEYWORD1>height-chars</KEYWORD1>\r
-        <KEYWORD1>height-pixels</KEYWORD1>\r
-        <KEYWORD1>help-context</KEYWORD1>\r
-        <KEYWORD1>help-topic</KEYWORD1>\r
-        <KEYWORD1>helpfile-name</KEYWORD1>\r
-        <KEYWORD1>hidden</KEYWORD1>\r
-        <KEYWORD1>hide</KEYWORD1>\r
-        <KEYWORD1>hint</KEYWORD1>\r
-        <KEYWORD1>horiz-end</KEYWORD1>\r
-        <KEYWORD1>horiz-home</KEYWORD1>\r
-        <KEYWORD1>horiz-scroll-drag</KEYWORD1>\r
-        <KEYWORD1>horizontal</KEYWORD1>\r
-        <KEYWORD1>host-byte-order</KEYWORD1>\r
-        <KEYWORD1>html-charset</KEYWORD1>\r
-        <KEYWORD1>html-end-of-line</KEYWORD1>\r
-        <KEYWORD1>html-end-of-page</KEYWORD1>\r
-        <KEYWORD1>html-frame-begin</KEYWORD1>\r
-        <KEYWORD1>html-frame-end</KEYWORD1>\r
-        <KEYWORD1>html-header-begin</KEYWORD1>\r
-        <KEYWORD1>html-header-end</KEYWORD1>\r
-        <KEYWORD1>html-title-begin</KEYWORD1>\r
-        <KEYWORD1>html-title-end</KEYWORD1>\r
-        <KEYWORD1>hwnd</KEYWORD1>\r
-        <KEYWORD1>icfparameter</KEYWORD1>\r
-        <KEYWORD1>icon</KEYWORD1>\r
-        <KEYWORD1>if</KEYWORD1>\r
-        <KEYWORD1>ignore-current-modified</KEYWORD1>\r
-        <KEYWORD1>image</KEYWORD1>\r
-        <KEYWORD1>image-down</KEYWORD1>\r
-        <KEYWORD1>image-insensitive</KEYWORD1>\r
-        <KEYWORD1>image-size</KEYWORD1>\r
-        <KEYWORD1>image-size-chars</KEYWORD1>\r
-        <KEYWORD1>image-size-pixels</KEYWORD1>\r
-        <KEYWORD1>image-up</KEYWORD1>\r
-        <KEYWORD1>immediate-display</KEYWORD1>\r
-        <KEYWORD1>import</KEYWORD1>\r
-        <KEYWORD1>import-node</KEYWORD1>\r
-        <KEYWORD1>in</KEYWORD1>\r
-        <KEYWORD1>in-handle</KEYWORD1>\r
-        <KEYWORD1>increment-exclusive-id</KEYWORD1>\r
-        <KEYWORD1>index</KEYWORD1>\r
-        <KEYWORD1>index-hint</KEYWORD1>\r
-        <KEYWORD1>index-information</KEYWORD1>\r
-        <KEYWORD1>indexed-reposition</KEYWORD1>\r
-        <KEYWORD1>indicator</KEYWORD1>\r
-        <KEYWORD1>information</KEYWORD1>\r
-        <KEYWORD1>init</KEYWORD1>\r
-        <KEYWORD1>initial</KEYWORD1>\r
-        <KEYWORD1>initial-dir</KEYWORD1>\r
-        <KEYWORD1>initial-filter</KEYWORD1>\r
-        <KEYWORD1>initialize-document-type</KEYWORD1>\r
-        <KEYWORD1>initiate</KEYWORD1>\r
-        <KEYWORD1>inner</KEYWORD1>\r
-        <KEYWORD1>inner-chars</KEYWORD1>\r
-        <KEYWORD1>inner-lines</KEYWORD1>\r
-        <KEYWORD1>input</KEYWORD1>\r
-        <KEYWORD1>input-output</KEYWORD1>\r
-        <KEYWORD1>input-value</KEYWORD1>\r
-        <KEYWORD1>insert</KEYWORD1>\r
-        <KEYWORD1>insert-backtab</KEYWORD1>\r
-        <KEYWORD1>insert-before</KEYWORD1>\r
-        <KEYWORD1>insert-column</KEYWORD1>\r
-        <KEYWORD1>insert-field</KEYWORD1>\r
-        <KEYWORD1>insert-field-data</KEYWORD1>\r
-        <KEYWORD1>insert-field-label</KEYWORD1>\r
-        <KEYWORD1>insert-file</KEYWORD1>\r
-        <KEYWORD1>insert-mode</KEYWORD1>\r
-        <KEYWORD1>insert-row</KEYWORD1>\r
-        <KEYWORD1>insert-string</KEYWORD1>\r
-        <KEYWORD1>insert-tab</KEYWORD1>\r
-        <KEYWORD1>instantiating-procedure</KEYWORD1>\r
-        <KEYWORD1>integer</KEYWORD1>\r
-        <KEYWORD1>internal-entries</KEYWORD1>\r
-        <KEYWORD1>interval</KEYWORD1>\r
-        <KEYWORD1>into</KEYWORD1>\r
-        <KEYWORD1>invoke</KEYWORD1>\r
-        <KEYWORD1>is</KEYWORD1>\r
-        <KEYWORD1>is-attr-space</KEYWORD1>\r
-        <KEYWORD1>is-codepage-fixed</KEYWORD1>\r
-        <KEYWORD1>is-column-codepage</KEYWORD1>\r
-        <KEYWORD1>is-lead-byte</KEYWORD1>\r
-        <KEYWORD1>is-open</KEYWORD1>\r
-        <KEYWORD1>is-parameter-set</KEYWORD1>\r
-        <KEYWORD1>is-row-selected</KEYWORD1>\r
-        <KEYWORD1>is-selected</KEYWORD1>\r
-        <KEYWORD1>is-xml</KEYWORD1>\r
-        <KEYWORD1>iso-date</KEYWORD1>\r
-        <KEYWORD1>item</KEYWORD1>\r
-        <KEYWORD1>items-per-row</KEYWORD1>\r
-        <KEYWORD1>iteration-changed</KEYWORD1>\r
-        <KEYWORD1>join</KEYWORD1>\r
-        <KEYWORD1>join-by-sqldb</KEYWORD1>\r
-        <KEYWORD1>kblabel</KEYWORD1>\r
-        <KEYWORD1>keep-connection-open</KEYWORD1>\r
-        <KEYWORD1>keep-frame-z-order</KEYWORD1>\r
-        <KEYWORD1>keep-messages</KEYWORD1>\r
-        <KEYWORD1>keep-security-cache</KEYWORD1>\r
-        <KEYWORD1>keep-tab-order</KEYWORD1>\r
-        <KEYWORD1>key</KEYWORD1>\r
-        <KEYWORD1>key-code</KEYWORD1>\r
-        <KEYWORD1>key-function</KEYWORD1>\r
-        <KEYWORD1>key-label</KEYWORD1>\r
-        <KEYWORD1>keycode</KEYWORD1>\r
-        <KEYWORD1>keyfunction</KEYWORD1>\r
-        <KEYWORD1>keylabel</KEYWORD1>\r
-        <KEYWORD1>keys</KEYWORD1>\r
-        <KEYWORD1>keyword</KEYWORD1>\r
-        <KEYWORD1>keyword-all</KEYWORD1>\r
-        <KEYWORD1>label</KEYWORD1>\r
-        <KEYWORD1>label-bgcolor</KEYWORD1>\r
-        <KEYWORD1>label-dcolor</KEYWORD1>\r
-        <KEYWORD1>label-fgcolor</KEYWORD1>\r
-        <KEYWORD1>label-font</KEYWORD1>\r
-        <KEYWORD1>label-pfcolor</KEYWORD1>\r
-        <KEYWORD1>labels</KEYWORD1>\r
-        <KEYWORD1>landscape</KEYWORD1>\r
-        <KEYWORD1>languages</KEYWORD1>\r
-        <KEYWORD1>large</KEYWORD1>\r
-        <KEYWORD1>large-to-small</KEYWORD1>\r
-        <KEYWORD1>last</KEYWORD1>\r
-        <KEYWORD1>last-async-request</KEYWORD1>\r
-        <KEYWORD1>last-child</KEYWORD1>\r
-        <KEYWORD1>last-event</KEYWORD1>\r
-        <KEYWORD1>last-key</KEYWORD1>\r
-        <KEYWORD1>last-of</KEYWORD1>\r
-        <KEYWORD1>last-procedure</KEYWORD1>\r
-        <KEYWORD1>last-server</KEYWORD1>\r
-        <KEYWORD1>last-server-socket</KEYWORD1>\r
-        <KEYWORD1>last-socket</KEYWORD1>\r
-        <KEYWORD1>last-tab-item</KEYWORD1>\r
-        <KEYWORD1>lastkey</KEYWORD1>\r
-        <KEYWORD1>lc</KEYWORD1>\r
-        <KEYWORD1>ldbname</KEYWORD1>\r
-        <KEYWORD1>le</KEYWORD1>\r
-        <KEYWORD1>leading</KEYWORD1>\r
-        <KEYWORD1>left</KEYWORD1>\r
-        <KEYWORD1>left-aligned</KEYWORD1>\r
-        <KEYWORD1>left-end</KEYWORD1>\r
-        <KEYWORD1>left-trim</KEYWORD1>\r
-        <KEYWORD1>length</KEYWORD1>\r
-        <KEYWORD1>library</KEYWORD1>\r
-        <KEYWORD1>like</KEYWORD1>\r
-        <KEYWORD1>line</KEYWORD1>\r
-        <KEYWORD1>line-counter</KEYWORD1>\r
-        <KEYWORD1>line-down</KEYWORD1>\r
-        <KEYWORD1>line-left</KEYWORD1>\r
-        <KEYWORD1>line-right</KEYWORD1>\r
-        <KEYWORD1>line-up</KEYWORD1>\r
-        <KEYWORD1>list-events</KEYWORD1>\r
-        <KEYWORD1>list-item-pairs</KEYWORD1>\r
-        <KEYWORD1>list-items</KEYWORD1>\r
-        <KEYWORD1>list-query-attrs</KEYWORD1>\r
-        <KEYWORD1>list-set-attrs</KEYWORD1>\r
-        <KEYWORD1>list-widgets</KEYWORD1>\r
-        <KEYWORD1>listing</KEYWORD1>\r
-        <KEYWORD1>listings</KEYWORD1>\r
-        <KEYWORD1>literal-question</KEYWORD1>\r
-        <KEYWORD1>little-endian</KEYWORD1>\r
-        <KEYWORD1>load</KEYWORD1>\r
-        <KEYWORD1>load-from</KEYWORD1>\r
-        <KEYWORD1>load-icon</KEYWORD1>\r
-        <KEYWORD1>load-image</KEYWORD1>\r
-        <KEYWORD1>load-image-down</KEYWORD1>\r
-        <KEYWORD1>load-image-insensitive</KEYWORD1>\r
-        <KEYWORD1>load-image-up</KEYWORD1>\r
-        <KEYWORD1>load-mouse-pointer</KEYWORD1>\r
-        <KEYWORD1>load-picture</KEYWORD1>\r
-        <KEYWORD1>load-small-icon</KEYWORD1>\r
-        <KEYWORD1>lob-dir</KEYWORD1>\r
-        <KEYWORD1>local-host</KEYWORD1>\r
-        <KEYWORD1>local-name</KEYWORD1>\r
-        <KEYWORD1>local-port</KEYWORD1>\r
-        <KEYWORD1>locator-column-number</KEYWORD1>\r
-        <KEYWORD1>locator-line-number</KEYWORD1>\r
-        <KEYWORD1>locator-public-id</KEYWORD1>\r
-        <KEYWORD1>locator-system-id</KEYWORD1>\r
-        <KEYWORD1>locator-type</KEYWORD1>\r
-        <KEYWORD1>locked</KEYWORD1>\r
-        <KEYWORD1>log</KEYWORD1>\r
-        <KEYWORD1>log-entry-types</KEYWORD1>\r
-        <KEYWORD1>log-id</KEYWORD1>\r
-        <KEYWORD1>log-manager</KEYWORD1>\r
-        <KEYWORD1>log-threshold</KEYWORD1>\r
-        <KEYWORD1>logfile-name</KEYWORD1>\r
-        <KEYWORD1>logging-level</KEYWORD1>\r
-        <KEYWORD1>logical</KEYWORD1>\r
-        <KEYWORD1>long</KEYWORD1>\r
-        <KEYWORD1>longchar</KEYWORD1>\r
-        <KEYWORD1>longchar-to-node-value</KEYWORD1>\r
-        <KEYWORD1>lookahead</KEYWORD1>\r
-        <KEYWORD1>lookup</KEYWORD1>\r
-        <KEYWORD1>lower</KEYWORD1>\r
-        <KEYWORD1>lt</KEYWORD1>\r
-        <KEYWORD1>machine-class</KEYWORD1>\r
-        <KEYWORD1>main-menu</KEYWORD1>\r
-        <KEYWORD1>mandatory</KEYWORD1>\r
-        <KEYWORD1>manual-highlight</KEYWORD1>\r
-        <KEYWORD1>map</KEYWORD1>\r
-        <KEYWORD1>margin-extra</KEYWORD1>\r
-        <KEYWORD1>margin-height</KEYWORD1>\r
-        <KEYWORD1>margin-height-chars</KEYWORD1>\r
-        <KEYWORD1>margin-height-pixels</KEYWORD1>\r
-        <KEYWORD1>margin-width</KEYWORD1>\r
-        <KEYWORD1>margin-width-chars</KEYWORD1>\r
-        <KEYWORD1>margin-width-pixels</KEYWORD1>\r
-        <KEYWORD1>matches</KEYWORD1>\r
-        <KEYWORD1>max</KEYWORD1>\r
-        <KEYWORD1>max-button</KEYWORD1>\r
-        <KEYWORD1>max-chars</KEYWORD1>\r
-        <KEYWORD1>max-data-guess</KEYWORD1>\r
-        <KEYWORD1>max-height</KEYWORD1>\r
-        <KEYWORD1>max-height-chars</KEYWORD1>\r
-        <KEYWORD1>max-height-pixels</KEYWORD1>\r
-        <KEYWORD1>max-rows</KEYWORD1>\r
-        <KEYWORD1>max-size</KEYWORD1>\r
-        <KEYWORD1>max-value</KEYWORD1>\r
-        <KEYWORD1>max-width</KEYWORD1>\r
-        <KEYWORD1>max-width-chars</KEYWORD1>\r
-        <KEYWORD1>max-width-pixels</KEYWORD1>\r
-        <KEYWORD1>maximize</KEYWORD1>\r
-        <KEYWORD1>maximum</KEYWORD1>\r
-        <KEYWORD1>md5-value</KEYWORD1>\r
-        <KEYWORD1>member</KEYWORD1>\r
-        <KEYWORD1>memptr</KEYWORD1>\r
-        <KEYWORD1>memptr-to-node-value</KEYWORD1>\r
-        <KEYWORD1>menu</KEYWORD1>\r
-        <KEYWORD1>menu-bar</KEYWORD1>\r
-        <KEYWORD1>menu-item</KEYWORD1>\r
-        <KEYWORD1>menu-key</KEYWORD1>\r
-        <KEYWORD1>menu-mouse</KEYWORD1>\r
-        <KEYWORD1>menubar</KEYWORD1>\r
-        <KEYWORD1>merge-changes</KEYWORD1>\r
-        <KEYWORD1>merge-row-changes</KEYWORD1>\r
-        <KEYWORD1>message</KEYWORD1>\r
-        <KEYWORD1>message-area</KEYWORD1>\r
-        <KEYWORD1>message-area-font</KEYWORD1>\r
-        <KEYWORD1>message-line</KEYWORD1>\r
-        <KEYWORD1>message-lines</KEYWORD1>\r
-        <KEYWORD1>min-button</KEYWORD1>\r
-        <KEYWORD1>min-column-width-chars</KEYWORD1>\r
-        <KEYWORD1>min-column-width-pixels</KEYWORD1>\r
-        <KEYWORD1>min-height</KEYWORD1>\r
-        <KEYWORD1>min-height-chars</KEYWORD1>\r
-        <KEYWORD1>min-height-pixels</KEYWORD1>\r
-        <KEYWORD1>min-row-height</KEYWORD1>\r
-        <KEYWORD1>min-row-height-chars</KEYWORD1>\r
-        <KEYWORD1>min-row-height-pixels</KEYWORD1>\r
-        <KEYWORD1>min-schema-marshall</KEYWORD1>\r
-        <KEYWORD1>min-size</KEYWORD1>\r
-        <KEYWORD1>min-value</KEYWORD1>\r
-        <KEYWORD1>min-width</KEYWORD1>\r
-        <KEYWORD1>min-width-chars</KEYWORD1>\r
-        <KEYWORD1>min-width-pixels</KEYWORD1>\r
-        <KEYWORD1>minimum</KEYWORD1>\r
-        <KEYWORD1>mod</KEYWORD1>\r
-        <KEYWORD1>modified</KEYWORD1>\r
-        <KEYWORD1>modulo</KEYWORD1>\r
-        <KEYWORD1>month</KEYWORD1>\r
-        <KEYWORD1>mouse</KEYWORD1>\r
-        <KEYWORD1>mouse-pointer</KEYWORD1>\r
-        <KEYWORD1>movable</KEYWORD1>\r
-        <KEYWORD1>move</KEYWORD1>\r
-        <KEYWORD1>move-after-tab-item</KEYWORD1>\r
-        <KEYWORD1>move-before-tab-item</KEYWORD1>\r
-        <KEYWORD1>move-column</KEYWORD1>\r
-        <KEYWORD1>move-to-bottom</KEYWORD1>\r
-        <KEYWORD1>move-to-eof</KEYWORD1>\r
-        <KEYWORD1>move-to-top</KEYWORD1>\r
-        <KEYWORD1>mpe</KEYWORD1>\r
-        <KEYWORD1>mtime</KEYWORD1>\r
-        <KEYWORD1>multiple</KEYWORD1>\r
-        <KEYWORD1>multiple-key</KEYWORD1>\r
-        <KEYWORD1>multitasking-interval</KEYWORD1>\r
-        <KEYWORD1>must-exist</KEYWORD1>\r
-        <KEYWORD1>must-understand</KEYWORD1>\r
-        <KEYWORD1>name</KEYWORD1>\r
-        <KEYWORD1>namespace-prefix</KEYWORD1>\r
-        <KEYWORD1>namespace-uri</KEYWORD1>\r
-        <KEYWORD1>native</KEYWORD1>\r
-        <KEYWORD1>ne</KEYWORD1>\r
-        <KEYWORD1>needs-appserver-prompt</KEYWORD1>\r
-        <KEYWORD1>needs-prompt</KEYWORD1>\r
-        <KEYWORD1>nested</KEYWORD1>\r
-        <KEYWORD1>new</KEYWORD1>\r
-        <KEYWORD1>new-line</KEYWORD1>\r
-        <KEYWORD1>new-row</KEYWORD1>\r
-        <KEYWORD1>next</KEYWORD1>\r
-        <KEYWORD1>next-column</KEYWORD1>\r
-        <KEYWORD1>next-error</KEYWORD1>\r
-        <KEYWORD1>next-frame</KEYWORD1>\r
-        <KEYWORD1>next-prompt</KEYWORD1>\r
-        <KEYWORD1>next-sibling</KEYWORD1>\r
-        <KEYWORD1>next-tab-item</KEYWORD1>\r
-        <KEYWORD1>next-value</KEYWORD1>\r
-        <KEYWORD1>next-word</KEYWORD1>\r
-        <KEYWORD1>no</KEYWORD1>\r
-        <KEYWORD1>no-apply</KEYWORD1>\r
-        <KEYWORD1>no-array-message</KEYWORD1>\r
-        <KEYWORD1>no-assign</KEYWORD1>\r
-        <KEYWORD1>no-attr</KEYWORD1>\r
-        <KEYWORD1>no-attr-list</KEYWORD1>\r
-        <KEYWORD1>no-attr-space</KEYWORD1>\r
-        <KEYWORD1>no-auto-validate</KEYWORD1>\r
-        <KEYWORD1>no-bind-where</KEYWORD1>\r
-        <KEYWORD1>no-box</KEYWORD1>\r
-        <KEYWORD1>no-column-scrolling</KEYWORD1>\r
-        <KEYWORD1>no-console</KEYWORD1>\r
-        <KEYWORD1>no-convert</KEYWORD1>\r
-        <KEYWORD1>no-convert-3d-colors</KEYWORD1>\r
-        <KEYWORD1>no-current-value</KEYWORD1>\r
-        <KEYWORD1>no-debug</KEYWORD1>\r
-        <KEYWORD1>no-drag</KEYWORD1>\r
-        <KEYWORD1>no-echo</KEYWORD1>\r
-        <KEYWORD1>no-empty-space</KEYWORD1>\r
-        <KEYWORD1>no-error</KEYWORD1>\r
-        <KEYWORD1>no-fill</KEYWORD1>\r
-        <KEYWORD1>no-focus</KEYWORD1>\r
-        <KEYWORD1>no-help</KEYWORD1>\r
-        <KEYWORD1>no-hide</KEYWORD1>\r
-        <KEYWORD1>no-index-hint</KEYWORD1>\r
-        <KEYWORD1>no-join-by-sqldb</KEYWORD1>\r
-        <KEYWORD1>no-labels</KEYWORD1>\r
-        <KEYWORD1>no-lobs</KEYWORD1>\r
-        <KEYWORD1>no-lock</KEYWORD1>\r
-        <KEYWORD1>no-lookahead</KEYWORD1>\r
-        <KEYWORD1>no-map</KEYWORD1>\r
-        <KEYWORD1>no-message</KEYWORD1>\r
-        <KEYWORD1>no-pause</KEYWORD1>\r
-        <KEYWORD1>no-prefetch</KEYWORD1>\r
-        <KEYWORD1>no-return-value</KEYWORD1>\r
-        <KEYWORD1>no-row-markers</KEYWORD1>\r
-        <KEYWORD1>no-schema-marshall</KEYWORD1>\r
-        <KEYWORD1>no-scrollbar-vertical</KEYWORD1>\r
-        <KEYWORD1>no-scrolling</KEYWORD1>\r
-        <KEYWORD1>no-separate-connection</KEYWORD1>\r
-        <KEYWORD1>no-separators</KEYWORD1>\r
-        <KEYWORD1>no-tab-stop</KEYWORD1>\r
-        <KEYWORD1>no-underline</KEYWORD1>\r
-        <KEYWORD1>no-undo</KEYWORD1>\r
-        <KEYWORD1>no-validate</KEYWORD1>\r
-        <KEYWORD1>no-wait</KEYWORD1>\r
-        <KEYWORD1>no-word-wrap</KEYWORD1>\r
-        <KEYWORD1>node-type</KEYWORD1>\r
-        <KEYWORD1>node-value</KEYWORD1>\r
-        <KEYWORD1>node-value-to-longchar</KEYWORD1>\r
-        <KEYWORD1>node-value-to-memptr</KEYWORD1>\r
-        <KEYWORD1>none</KEYWORD1>\r
-        <KEYWORD1>normalize</KEYWORD1>\r
-        <KEYWORD1>not</KEYWORD1>\r
-        <KEYWORD1>now</KEYWORD1>\r
-        <KEYWORD1>null</KEYWORD1>\r
-        <KEYWORD1>num-aliases</KEYWORD1>\r
-        <KEYWORD1>num-buffers</KEYWORD1>\r
-        <KEYWORD1>num-buttons</KEYWORD1>\r
-        <KEYWORD1>num-child-relations</KEYWORD1>\r
-        <KEYWORD1>num-children</KEYWORD1>\r
-        <KEYWORD1>num-columns</KEYWORD1>\r
-        <KEYWORD1>num-copies</KEYWORD1>\r
-        <KEYWORD1>num-dbs</KEYWORD1>\r
-        <KEYWORD1>num-dropped-files</KEYWORD1>\r
-        <KEYWORD1>num-entries</KEYWORD1>\r
-        <KEYWORD1>num-fields</KEYWORD1>\r
-        <KEYWORD1>num-formats</KEYWORD1>\r
-        <KEYWORD1>num-header-entries</KEYWORD1>\r
-        <KEYWORD1>num-items</KEYWORD1>\r
-        <KEYWORD1>num-iterations</KEYWORD1>\r
-        <KEYWORD1>num-lines</KEYWORD1>\r
-        <KEYWORD1>num-locked-columns</KEYWORD1>\r
-        <KEYWORD1>num-log-files</KEYWORD1>\r
-        <KEYWORD1>num-messages</KEYWORD1>\r
-        <KEYWORD1>num-parameters</KEYWORD1>\r
-        <KEYWORD1>num-relations</KEYWORD1>\r
-        <KEYWORD1>num-replaced</KEYWORD1>\r
-        <KEYWORD1>num-results</KEYWORD1>\r
-        <KEYWORD1>num-selected</KEYWORD1>\r
-        <KEYWORD1>num-selected-rows</KEYWORD1>\r
-        <KEYWORD1>num-selected-widgets</KEYWORD1>\r
-        <KEYWORD1>num-source-buffers</KEYWORD1>\r
-        <KEYWORD1>num-tabs</KEYWORD1>\r
-        <KEYWORD1>num-to-retain</KEYWORD1>\r
-        <KEYWORD1>num-top-buffers</KEYWORD1>\r
-        <KEYWORD1>num-visible-columns</KEYWORD1>\r
-        <KEYWORD1>numeric</KEYWORD1>\r
-        <KEYWORD1>numeric-decimal-point</KEYWORD1>\r
-        <KEYWORD1>numeric-format</KEYWORD1>\r
-        <KEYWORD1>numeric-separator</KEYWORD1>\r
-        <KEYWORD1>object</KEYWORD1>\r
-        <KEYWORD1>octet_length</KEYWORD1>\r
-        <KEYWORD1>of</KEYWORD1>\r
-        <KEYWORD1>off</KEYWORD1>\r
-        <KEYWORD1>ok</KEYWORD1>\r
-        <KEYWORD1>ok-cancel</KEYWORD1>\r
-        <KEYWORD1>old</KEYWORD1>\r
-        <KEYWORD1>ole-invoke-locale</KEYWORD1>\r
-        <KEYWORD1>ole-names-locale</KEYWORD1>\r
-        <KEYWORD1>on</KEYWORD1>\r
-        <KEYWORD1>on-frame-border</KEYWORD1>\r
-        <KEYWORD1>open</KEYWORD1>\r
-        <KEYWORD1>open-line-above</KEYWORD1>\r
-        <KEYWORD1>opsys</KEYWORD1>\r
-        <KEYWORD1>option</KEYWORD1>\r
-        <KEYWORD1>options</KEYWORD1>\r
-        <KEYWORD1>or</KEYWORD1>\r
-        <KEYWORD1>ordered-join</KEYWORD1>\r
-        <KEYWORD1>ordinal</KEYWORD1>\r
-        <KEYWORD1>orientation</KEYWORD1>\r
-        <KEYWORD1>origin-handle</KEYWORD1>\r
-        <KEYWORD1>origin-rowid</KEYWORD1>\r
-        <KEYWORD1>os-append</KEYWORD1>\r
-        <KEYWORD1>os-command</KEYWORD1>\r
-        <KEYWORD1>os-copy</KEYWORD1>\r
-        <KEYWORD1>os-create-dir</KEYWORD1>\r
-        <KEYWORD1>os-delete</KEYWORD1>\r
-        <KEYWORD1>os-dir</KEYWORD1>\r
-        <KEYWORD1>os-drives</KEYWORD1>\r
-        <KEYWORD1>os-error</KEYWORD1>\r
-        <KEYWORD1>os-getenv</KEYWORD1>\r
-        <KEYWORD1>os-rename</KEYWORD1>\r
-        <KEYWORD1>os2</KEYWORD1>\r
-        <KEYWORD1>os400</KEYWORD1>\r
-        <KEYWORD1>otherwise</KEYWORD1>\r
-        <KEYWORD1>out-of-data</KEYWORD1>\r
-        <KEYWORD1>outer</KEYWORD1>\r
-        <KEYWORD1>outer-join</KEYWORD1>\r
-        <KEYWORD1>output</KEYWORD1>\r
-        <KEYWORD1>overlay</KEYWORD1>\r
-        <KEYWORD1>override</KEYWORD1>\r
-        <KEYWORD1>owner</KEYWORD1>\r
-        <KEYWORD1>owner-document</KEYWORD1>\r
-        <KEYWORD1>page</KEYWORD1>\r
-        <KEYWORD1>page-bottom</KEYWORD1>\r
-        <KEYWORD1>page-down</KEYWORD1>\r
-        <KEYWORD1>page-left</KEYWORD1>\r
-        <KEYWORD1>page-number</KEYWORD1>\r
-        <KEYWORD1>page-right</KEYWORD1>\r
-        <KEYWORD1>page-right-text</KEYWORD1>\r
-        <KEYWORD1>page-size</KEYWORD1>\r
-        <KEYWORD1>page-top</KEYWORD1>\r
-        <KEYWORD1>page-up</KEYWORD1>\r
-        <KEYWORD1>page-width</KEYWORD1>\r
-        <KEYWORD1>paged</KEYWORD1>\r
-        <KEYWORD1>parameter</KEYWORD1>\r
-        <KEYWORD1>parent</KEYWORD1>\r
-        <KEYWORD1>parent-buffer</KEYWORD1>\r
-        <KEYWORD1>parent-relation</KEYWORD1>\r
-        <KEYWORD1>parse-status</KEYWORD1>\r
-        <KEYWORD1>partial-key</KEYWORD1>\r
-        <KEYWORD1>pascal</KEYWORD1>\r
-        <KEYWORD1>password-field</KEYWORD1>\r
-        <KEYWORD1>paste</KEYWORD1>\r
-        <KEYWORD1>pathname</KEYWORD1>\r
-        <KEYWORD1>pause</KEYWORD1>\r
-        <KEYWORD1>pdbname</KEYWORD1>\r
-        <KEYWORD1>performance</KEYWORD1>\r
-        <KEYWORD1>persistent</KEYWORD1>\r
-        <KEYWORD1>persistent-cache-disabled</KEYWORD1>\r
-        <KEYWORD1>persistent-procedure</KEYWORD1>\r
-        <KEYWORD1>pfcolor</KEYWORD1>\r
-        <KEYWORD1>pick</KEYWORD1>\r
-        <KEYWORD1>pick-area</KEYWORD1>\r
-        <KEYWORD1>pick-both</KEYWORD1>\r
-        <KEYWORD1>pixels</KEYWORD1>\r
-        <KEYWORD1>pixels-per-column</KEYWORD1>\r
-        <KEYWORD1>pixels-per-row</KEYWORD1>\r
-        <KEYWORD1>popup-menu</KEYWORD1>\r
-        <KEYWORD1>popup-only</KEYWORD1>\r
-        <KEYWORD1>portrait</KEYWORD1>\r
-        <KEYWORD1>position</KEYWORD1>\r
-        <KEYWORD1>precision</KEYWORD1>\r
-        <KEYWORD1>prepare-string</KEYWORD1>\r
-        <KEYWORD1>prepared</KEYWORD1>\r
-        <KEYWORD1>preprocess</KEYWORD1>\r
-        <KEYWORD1>preselect</KEYWORD1>\r
-        <KEYWORD1>prev</KEYWORD1>\r
-        <KEYWORD1>prev-column</KEYWORD1>\r
-        <KEYWORD1>prev-frame</KEYWORD1>\r
-        <KEYWORD1>prev-sibling</KEYWORD1>\r
-        <KEYWORD1>prev-tab-item</KEYWORD1>\r
-        <KEYWORD1>prev-word</KEYWORD1>\r
-        <KEYWORD1>primary</KEYWORD1>\r
-        <KEYWORD1>printer</KEYWORD1>\r
-        <KEYWORD1>printer-control-handle</KEYWORD1>\r
-        <KEYWORD1>printer-hdc</KEYWORD1>\r
-        <KEYWORD1>printer-name</KEYWORD1>\r
-        <KEYWORD1>printer-port</KEYWORD1>\r
-        <KEYWORD1>printer-setup</KEYWORD1>\r
-        <KEYWORD1>private</KEYWORD1>\r
-        <KEYWORD1>private-data</KEYWORD1>\r
-        <KEYWORD1>privileges</KEYWORD1>\r
-        <KEYWORD1>proc-handle</KEYWORD1>\r
-        <KEYWORD1>proc-status</KEYWORD1>\r
-        <KEYWORD1>procedure</KEYWORD1>\r
-        <KEYWORD1>procedure-call-type</KEYWORD1>\r
-        <KEYWORD1>procedure-name</KEYWORD1>\r
-        <KEYWORD1>process</KEYWORD1>\r
-        <KEYWORD1>profile-file</KEYWORD1>\r
-        <KEYWORD1>profiler</KEYWORD1>\r
-        <KEYWORD1>profiling</KEYWORD1>\r
-        <KEYWORD1>program-name</KEYWORD1>\r
-        <KEYWORD1>progress</KEYWORD1>\r
-        <KEYWORD1>progress-source</KEYWORD1>\r
-        <KEYWORD1>prompt</KEYWORD1>\r
-        <KEYWORD1>prompt-for</KEYWORD1>\r
-        <KEYWORD1>promsgs</KEYWORD1>\r
-        <KEYWORD1>propath</KEYWORD1>\r
-        <KEYWORD1>proversion</KEYWORD1>\r
-        <KEYWORD1>proxy</KEYWORD1>\r
-        <KEYWORD1>proxy-password</KEYWORD1>\r
-        <KEYWORD1>proxy-userid</KEYWORD1>\r
-        <KEYWORD1>public-id</KEYWORD1>\r
-        <KEYWORD1>publish</KEYWORD1>\r
-        <KEYWORD1>published-events</KEYWORD1>\r
-        <KEYWORD1>put</KEYWORD1>\r
-        <KEYWORD1>put-bits</KEYWORD1>\r
-        <KEYWORD1>put-byte</KEYWORD1>\r
-        <KEYWORD1>put-bytes</KEYWORD1>\r
-        <KEYWORD1>put-double</KEYWORD1>\r
-        <KEYWORD1>put-float</KEYWORD1>\r
-        <KEYWORD1>put-key-value</KEYWORD1>\r
-        <KEYWORD1>put-long</KEYWORD1>\r
-        <KEYWORD1>put-short</KEYWORD1>\r
-        <KEYWORD1>put-string</KEYWORD1>\r
-        <KEYWORD1>put-unsigned-short</KEYWORD1>\r
-        <KEYWORD1>putbyte</KEYWORD1>\r
-        <KEYWORD1>query</KEYWORD1>\r
-        <KEYWORD1>query-close</KEYWORD1>\r
-        <KEYWORD1>query-off-end</KEYWORD1>\r
-        <KEYWORD1>query-open</KEYWORD1>\r
-        <KEYWORD1>query-prepare</KEYWORD1>\r
-        <KEYWORD1>query-tuning</KEYWORD1>\r
-        <KEYWORD1>question</KEYWORD1>\r
-        <KEYWORD1>quit</KEYWORD1>\r
-        <KEYWORD1>quoter</KEYWORD1>\r
-        <KEYWORD1>r-index</KEYWORD1>\r
-        <KEYWORD1>radio-buttons</KEYWORD1>\r
-        <KEYWORD1>radio-set</KEYWORD1>\r
-        <KEYWORD1>random</KEYWORD1>\r
-        <KEYWORD1>raw</KEYWORD1>\r
-        <KEYWORD1>raw-transfer</KEYWORD1>\r
-        <KEYWORD1>rcode-information</KEYWORD1>\r
-        <KEYWORD1>read</KEYWORD1>\r
-        <KEYWORD1>read-available</KEYWORD1>\r
-        <KEYWORD1>read-exact-num</KEYWORD1>\r
-        <KEYWORD1>read-file</KEYWORD1>\r
-        <KEYWORD1>read-only</KEYWORD1>\r
-        <KEYWORD1>readkey</KEYWORD1>\r
-        <KEYWORD1>real</KEYWORD1>\r
-        <KEYWORD1>recid</KEYWORD1>\r
-        <KEYWORD1>record-length</KEYWORD1>\r
-        <KEYWORD1>rectangle</KEYWORD1>\r
-        <KEYWORD1>recursive</KEYWORD1>\r
-        <KEYWORD1>refresh</KEYWORD1>\r
-        <KEYWORD1>refreshable</KEYWORD1>\r
-        <KEYWORD1>reject-changes</KEYWORD1>\r
-        <KEYWORD1>reject-row-changes</KEYWORD1>\r
-        <KEYWORD1>rejected</KEYWORD1>\r
-        <KEYWORD1>relation-fields</KEYWORD1>\r
-        <KEYWORD1>relations-active</KEYWORD1>\r
-        <KEYWORD1>release</KEYWORD1>\r
-        <KEYWORD1>remote</KEYWORD1>\r
-        <KEYWORD1>remote-host</KEYWORD1>\r
-        <KEYWORD1>remote-port</KEYWORD1>\r
-        <KEYWORD1>remove-attribute</KEYWORD1>\r
-        <KEYWORD1>remove-child</KEYWORD1>\r
-        <KEYWORD1>remove-events-procedure</KEYWORD1>\r
-        <KEYWORD1>remove-super-procedure</KEYWORD1>\r
-        <KEYWORD1>repeat</KEYWORD1>\r
-        <KEYWORD1>replace</KEYWORD1>\r
-        <KEYWORD1>replace-child</KEYWORD1>\r
-        <KEYWORD1>replace-selection-text</KEYWORD1>\r
-        <KEYWORD1>replication-create</KEYWORD1>\r
-        <KEYWORD1>replication-delete</KEYWORD1>\r
-        <KEYWORD1>replication-write</KEYWORD1>\r
-        <KEYWORD1>reports</KEYWORD1>\r
-        <KEYWORD1>reposition</KEYWORD1>\r
-        <KEYWORD1>reposition-backwards</KEYWORD1>\r
-        <KEYWORD1>reposition-forwards</KEYWORD1>\r
-        <KEYWORD1>reposition-mode</KEYWORD1>\r
-        <KEYWORD1>reposition-parent-relation</KEYWORD1>\r
-        <KEYWORD1>reposition-to-row</KEYWORD1>\r
-        <KEYWORD1>reposition-to-rowid</KEYWORD1>\r
-        <KEYWORD1>request</KEYWORD1>\r
-        <KEYWORD1>resizable</KEYWORD1>\r
-        <KEYWORD1>resize</KEYWORD1>\r
-        <KEYWORD1>result</KEYWORD1>\r
-        <KEYWORD1>resume-display</KEYWORD1>\r
-        <KEYWORD1>retain</KEYWORD1>\r
-        <KEYWORD1>retain-shape</KEYWORD1>\r
-        <KEYWORD1>retry</KEYWORD1>\r
-        <KEYWORD1>retry-cancel</KEYWORD1>\r
-        <KEYWORD1>return-inserted</KEYWORD1>\r
-        <KEYWORD1>return-to-start-dir</KEYWORD1>\r
-        <KEYWORD1>return-value</KEYWORD1>\r
-        <KEYWORD1>return-value-data-type</KEYWORD1>\r
-        <KEYWORD1>returns</KEYWORD1>\r
-        <KEYWORD1>reverse-from</KEYWORD1>\r
-        <KEYWORD1>revert</KEYWORD1>\r
-        <KEYWORD1>revoke</KEYWORD1>\r
-        <KEYWORD1>rgb-value</KEYWORD1>\r
-        <KEYWORD1>right</KEYWORD1>\r
-        <KEYWORD1>right-aligned</KEYWORD1>\r
-        <KEYWORD1>right-end</KEYWORD1>\r
-        <KEYWORD1>right-trim</KEYWORD1>\r
-        <KEYWORD1>round</KEYWORD1>\r
-        <KEYWORD1>row</KEYWORD1>\r
-        <KEYWORD1>row-created</KEYWORD1>\r
-        <KEYWORD1>row-deleted</KEYWORD1>\r
-        <KEYWORD1>row-height</KEYWORD1>\r
-        <KEYWORD1>row-height-chars</KEYWORD1>\r
-        <KEYWORD1>row-height-pixels</KEYWORD1>\r
-        <KEYWORD1>row-markers</KEYWORD1>\r
-        <KEYWORD1>row-modified</KEYWORD1>\r
-        <KEYWORD1>row-of</KEYWORD1>\r
-        <KEYWORD1>row-resizable</KEYWORD1>\r
-        <KEYWORD1>row-state</KEYWORD1>\r
-        <KEYWORD1>row-unmodified</KEYWORD1>\r
-        <KEYWORD1>rowid</KEYWORD1>\r
-        <KEYWORD1>rule</KEYWORD1>\r
-        <KEYWORD1>rule-row</KEYWORD1>\r
-        <KEYWORD1>rule-y</KEYWORD1>\r
-        <KEYWORD1>run</KEYWORD1>\r
-        <KEYWORD1>run-procedure</KEYWORD1>\r
-        <KEYWORD1>save</KEYWORD1>\r
-        <KEYWORD1>save-as</KEYWORD1>\r
-        <KEYWORD1>save-file</KEYWORD1>\r
-        <KEYWORD1>save-row-changes</KEYWORD1>\r
-        <KEYWORD1>save-where-string</KEYWORD1>\r
-        <KEYWORD1>sax-attributes</KEYWORD1>\r
-        <KEYWORD1>sax-complete</KEYWORD1>\r
-        <KEYWORD1>sax-parse</KEYWORD1>\r
-        <KEYWORD1>sax-parse-first</KEYWORD1>\r
-        <KEYWORD1>sax-parse-next</KEYWORD1>\r
-        <KEYWORD1>sax-parser-error</KEYWORD1>\r
-        <KEYWORD1>sax-reader</KEYWORD1>\r
-        <KEYWORD1>sax-running</KEYWORD1>\r
-        <KEYWORD1>sax-uninitialized</KEYWORD1>\r
-        <KEYWORD1>sax-xml</KEYWORD1>\r
-        <KEYWORD1>schema</KEYWORD1>\r
-        <KEYWORD1>schema-change</KEYWORD1>\r
-        <KEYWORD1>schema-path</KEYWORD1>\r
-        <KEYWORD1>screen</KEYWORD1>\r
-        <KEYWORD1>screen-io</KEYWORD1>\r
-        <KEYWORD1>screen-lines</KEYWORD1>\r
-        <KEYWORD1>screen-value</KEYWORD1>\r
-        <KEYWORD1>scroll</KEYWORD1>\r
-        <KEYWORD1>scroll-bars</KEYWORD1>\r
-        <KEYWORD1>scroll-delta</KEYWORD1>\r
-        <KEYWORD1>scroll-left</KEYWORD1>\r
-        <KEYWORD1>scroll-mode</KEYWORD1>\r
-        <KEYWORD1>scroll-offset</KEYWORD1>\r
-        <KEYWORD1>scroll-right</KEYWORD1>\r
-        <KEYWORD1>scroll-to-current-row</KEYWORD1>\r
-        <KEYWORD1>scroll-to-item</KEYWORD1>\r
-        <KEYWORD1>scroll-to-selected-row</KEYWORD1>\r
-        <KEYWORD1>scrollable</KEYWORD1>\r
-        <KEYWORD1>scrollbar-drag</KEYWORD1>\r
-        <KEYWORD1>scrollbar-horizontal</KEYWORD1>\r
-        <KEYWORD1>scrollbar-vertical</KEYWORD1>\r
-        <KEYWORD1>scrolled-row-position</KEYWORD1>\r
-        <KEYWORD1>scrolling</KEYWORD1>\r
-        <KEYWORD1>sdbname</KEYWORD1>\r
-        <KEYWORD1>search</KEYWORD1>\r
-        <KEYWORD1>search-self</KEYWORD1>\r
-        <KEYWORD1>search-target</KEYWORD1>\r
-        <KEYWORD1>section</KEYWORD1>\r
-        <KEYWORD1>seek</KEYWORD1>\r
-        <KEYWORD1>select-all</KEYWORD1>\r
-        <KEYWORD1>select-extend</KEYWORD1>\r
-        <KEYWORD1>select-focused-row</KEYWORD1>\r
-        <KEYWORD1>select-next-row</KEYWORD1>\r
-        <KEYWORD1>select-prev-row</KEYWORD1>\r
-        <KEYWORD1>select-repositioned-row</KEYWORD1>\r
-        <KEYWORD1>select-row</KEYWORD1>\r
-        <KEYWORD1>selectable</KEYWORD1>\r
-        <KEYWORD1>selected</KEYWORD1>\r
-        <KEYWORD1>selected-items</KEYWORD1>\r
-        <KEYWORD1>selection-end</KEYWORD1>\r
-        <KEYWORD1>selection-extend</KEYWORD1>\r
-        <KEYWORD1>selection-list</KEYWORD1>\r
-        <KEYWORD1>selection-start</KEYWORD1>\r
-        <KEYWORD1>selection-text</KEYWORD1>\r
-        <KEYWORD1>self</KEYWORD1>\r
-        <KEYWORD1>send</KEYWORD1>\r
-        <KEYWORD1>sensitive</KEYWORD1>\r
-        <KEYWORD1>separate-connection</KEYWORD1>\r
-        <KEYWORD1>separator-fgcolor</KEYWORD1>\r
-        <KEYWORD1>separators</KEYWORD1>\r
-        <KEYWORD1>server</KEYWORD1>\r
-        <KEYWORD1>server-connection-bound</KEYWORD1>\r
-        <KEYWORD1>server-connection-bound-request</KEYWORD1>\r
-        <KEYWORD1>server-connection-context</KEYWORD1>\r
-        <KEYWORD1>server-connection-id</KEYWORD1>\r
-        <KEYWORD1>server-operating-mode</KEYWORD1>\r
-        <KEYWORD1>server-socket</KEYWORD1>\r
-        <KEYWORD1>session</KEYWORD1>\r
-        <KEYWORD1>session-end</KEYWORD1>\r
-        <KEYWORD1>set</KEYWORD1>\r
-        <KEYWORD1>set-actor</KEYWORD1>\r
-        <KEYWORD1>set-attr-call-type</KEYWORD1>\r
-        <KEYWORD1>set-attribute</KEYWORD1>\r
-        <KEYWORD1>set-attribute-node</KEYWORD1>\r
-        <KEYWORD1>set-blue-value</KEYWORD1>\r
-        <KEYWORD1>set-break</KEYWORD1>\r
-        <KEYWORD1>set-buffers</KEYWORD1>\r
-        <KEYWORD1>set-byte-order</KEYWORD1>\r
-        <KEYWORD1>set-callback-procedure</KEYWORD1>\r
-        <KEYWORD1>set-cell-focus</KEYWORD1>\r
-        <KEYWORD1>set-commit</KEYWORD1>\r
-        <KEYWORD1>set-connect-procedure</KEYWORD1>\r
-        <KEYWORD1>set-contents</KEYWORD1>\r
-        <KEYWORD1>set-dynamic</KEYWORD1>\r
-        <KEYWORD1>set-green-value</KEYWORD1>\r
-        <KEYWORD1>set-input-source</KEYWORD1>\r
-        <KEYWORD1>set-must-understand</KEYWORD1>\r
-        <KEYWORD1>set-node</KEYWORD1>\r
-        <KEYWORD1>set-numeric-format</KEYWORD1>\r
-        <KEYWORD1>set-parameter</KEYWORD1>\r
-        <KEYWORD1>set-pointer-value</KEYWORD1>\r
-        <KEYWORD1>set-read-response-procedure</KEYWORD1>\r
-        <KEYWORD1>set-red-value</KEYWORD1>\r
-        <KEYWORD1>set-repositioned-row</KEYWORD1>\r
-        <KEYWORD1>set-rgb-value</KEYWORD1>\r
-        <KEYWORD1>set-rollback</KEYWORD1>\r
-        <KEYWORD1>set-selection</KEYWORD1>\r
-        <KEYWORD1>set-serialized</KEYWORD1>\r
-        <KEYWORD1>set-size</KEYWORD1>\r
-        <KEYWORD1>set-socket-option</KEYWORD1>\r
-        <KEYWORD1>set-wait-state</KEYWORD1>\r
-        <KEYWORD1>settings</KEYWORD1>\r
-        <KEYWORD1>setuserid</KEYWORD1>\r
-        <KEYWORD1>share-lock</KEYWORD1>\r
-        <KEYWORD1>shared</KEYWORD1>\r
-        <KEYWORD1>short</KEYWORD1>\r
-        <KEYWORD1>show-in-taskbar</KEYWORD1>\r
-        <KEYWORD1>show-stats</KEYWORD1>\r
-        <KEYWORD1>side-label</KEYWORD1>\r
-        <KEYWORD1>side-label-handle</KEYWORD1>\r
-        <KEYWORD1>side-labels</KEYWORD1>\r
-        <KEYWORD1>silent</KEYWORD1>\r
-        <KEYWORD1>simple</KEYWORD1>\r
-        <KEYWORD1>single</KEYWORD1>\r
-        <KEYWORD1>size</KEYWORD1>\r
-        <KEYWORD1>size-chars</KEYWORD1>\r
-        <KEYWORD1>size-pixels</KEYWORD1>\r
-        <KEYWORD1>skip</KEYWORD1>\r
-        <KEYWORD1>skip-deleted-record</KEYWORD1>\r
-        <KEYWORD1>skip-schema-check</KEYWORD1>\r
-        <KEYWORD1>slider</KEYWORD1>\r
-        <KEYWORD1>small-icon</KEYWORD1>\r
-        <KEYWORD1>small-title</KEYWORD1>\r
-        <KEYWORD1>smallint</KEYWORD1>\r
-        <KEYWORD1>soap-fault</KEYWORD1>\r
-        <KEYWORD1>soap-fault-actor</KEYWORD1>\r
-        <KEYWORD1>soap-fault-code</KEYWORD1>\r
-        <KEYWORD1>soap-fault-detail</KEYWORD1>\r
-        <KEYWORD1>soap-fault-string</KEYWORD1>\r
-        <KEYWORD1>soap-header</KEYWORD1>\r
-        <KEYWORD1>soap-header-entryref</KEYWORD1>\r
-        <KEYWORD1>socket</KEYWORD1>\r
-        <KEYWORD1>some</KEYWORD1>\r
-        <KEYWORD1>sort</KEYWORD1>\r
-        <KEYWORD1>source</KEYWORD1>\r
-        <KEYWORD1>source-procedure</KEYWORD1>\r
-        <KEYWORD1>space</KEYWORD1>\r
-        <KEYWORD1>sql</KEYWORD1>\r
-        <KEYWORD1>sqrt</KEYWORD1>\r
-        <KEYWORD1>start</KEYWORD1>\r
-        <KEYWORD1>start-extend-box-selection</KEYWORD1>\r
-        <KEYWORD1>start-row-resize</KEYWORD1>\r
-        <KEYWORD1>starting</KEYWORD1>\r
-        <KEYWORD1>startup-parameters</KEYWORD1>\r
-        <KEYWORD1>status</KEYWORD1>\r
-        <KEYWORD1>status-area</KEYWORD1>\r
-        <KEYWORD1>status-area-font</KEYWORD1>\r
-        <KEYWORD1>stdcall</KEYWORD1>\r
-        <KEYWORD1>stop</KEYWORD1>\r
-        <KEYWORD1>stop-display</KEYWORD1>\r
-        <KEYWORD1>stop-parsing</KEYWORD1>\r
-        <KEYWORD1>stopped</KEYWORD1>\r
-        <KEYWORD1>stored-procedure</KEYWORD1>\r
-        <KEYWORD1>stream</KEYWORD1>\r
-        <KEYWORD1>stream-io</KEYWORD1>\r
-        <KEYWORD1>stretch-to-fit</KEYWORD1>\r
-        <KEYWORD1>string</KEYWORD1>\r
-        <KEYWORD1>string-value</KEYWORD1>\r
-        <KEYWORD1>string-xref</KEYWORD1>\r
-        <KEYWORD1>sub-average</KEYWORD1>\r
-        <KEYWORD1>sub-count</KEYWORD1>\r
-        <KEYWORD1>sub-maximum</KEYWORD1>\r
-        <KEYWORD1>sub-menu</KEYWORD1>\r
-        <KEYWORD1>sub-menu-help</KEYWORD1>\r
-        <KEYWORD1>sub-minimum</KEYWORD1>\r
-        <KEYWORD1>sub-total</KEYWORD1>\r
-        <KEYWORD1>subscribe</KEYWORD1>\r
-        <KEYWORD1>substitute</KEYWORD1>\r
-        <KEYWORD1>substring</KEYWORD1>\r
-        <KEYWORD1>subtype</KEYWORD1>\r
-        <KEYWORD1>sum</KEYWORD1>\r
-        <KEYWORD1>summary</KEYWORD1>\r
-        <KEYWORD1>super</KEYWORD1>\r
-        <KEYWORD1>super-procedures</KEYWORD1>\r
-        <KEYWORD1>suppress-namespace-processing</KEYWORD1>\r
-        <KEYWORD1>suppress-warnings</KEYWORD1>\r
-        <KEYWORD1>synchronize</KEYWORD1>\r
-        <KEYWORD1>system-alert-boxes</KEYWORD1>\r
-        <KEYWORD1>system-dialog</KEYWORD1>\r
-        <KEYWORD1>system-help</KEYWORD1>\r
-        <KEYWORD1>system-id</KEYWORD1>\r
-        <KEYWORD1>tab-position</KEYWORD1>\r
-        <KEYWORD1>tab-stop</KEYWORD1>\r
-        <KEYWORD1>table</KEYWORD1>\r
-        <KEYWORD1>table-crc-list</KEYWORD1>\r
-        <KEYWORD1>table-handle</KEYWORD1>\r
-        <KEYWORD1>table-list</KEYWORD1>\r
-        <KEYWORD1>table-number</KEYWORD1>\r
-        <KEYWORD1>target</KEYWORD1>\r
-        <KEYWORD1>target-procedure</KEYWORD1>\r
-        <KEYWORD1>temp-directory</KEYWORD1>\r
-        <KEYWORD1>temp-table</KEYWORD1>\r
-        <KEYWORD1>temp-table-prepare</KEYWORD1>\r
-        <KEYWORD1>term</KEYWORD1>\r
-        <KEYWORD1>terminal</KEYWORD1>\r
-        <KEYWORD1>terminate</KEYWORD1>\r
-        <KEYWORD1>text</KEYWORD1>\r
-        <KEYWORD1>text-cursor</KEYWORD1>\r
-        <KEYWORD1>text-seg-growth</KEYWORD1>\r
-        <KEYWORD1>text-selected</KEYWORD1>\r
-        <KEYWORD1>then</KEYWORD1>\r
-        <KEYWORD1>this-procedure</KEYWORD1>\r
-        <KEYWORD1>three-d</KEYWORD1>\r
-        <KEYWORD1>through</KEYWORD1>\r
-        <KEYWORD1>thru</KEYWORD1>\r
-        <KEYWORD1>tic-marks</KEYWORD1>\r
-        <KEYWORD1>time</KEYWORD1>\r
-        <KEYWORD1>time-source</KEYWORD1>\r
-        <KEYWORD1>timezone</KEYWORD1>\r
-        <KEYWORD1>title</KEYWORD1>\r
-        <KEYWORD1>title-bgcolor</KEYWORD1>\r
-        <KEYWORD1>title-dcolor</KEYWORD1>\r
-        <KEYWORD1>title-fgcolor</KEYWORD1>\r
-        <KEYWORD1>title-font</KEYWORD1>\r
-        <KEYWORD1>to</KEYWORD1>\r
-        <KEYWORD1>to-rowid</KEYWORD1>\r
-        <KEYWORD1>today</KEYWORD1>\r
-        <KEYWORD1>toggle-box</KEYWORD1>\r
-        <KEYWORD1>tooltip</KEYWORD1>\r
-        <KEYWORD1>tooltips</KEYWORD1>\r
-        <KEYWORD1>top</KEYWORD1>\r
-        <KEYWORD1>top-column</KEYWORD1>\r
-        <KEYWORD1>top-only</KEYWORD1>\r
-        <KEYWORD1>topic</KEYWORD1>\r
-        <KEYWORD1>total</KEYWORD1>\r
-        <KEYWORD1>trace-filter</KEYWORD1>\r
-        <KEYWORD1>tracing</KEYWORD1>\r
-        <KEYWORD1>tracking-changes</KEYWORD1>\r
-        <KEYWORD1>trailing</KEYWORD1>\r
-        <KEYWORD1>trans</KEYWORD1>\r
-        <KEYWORD1>trans-init-procedure</KEYWORD1>\r
-        <KEYWORD1>transaction</KEYWORD1>\r
-        <KEYWORD1>transaction-mode</KEYWORD1>\r
-        <KEYWORD1>transparent</KEYWORD1>\r
-        <KEYWORD1>trigger</KEYWORD1>\r
-        <KEYWORD1>triggers</KEYWORD1>\r
-        <KEYWORD1>trim</KEYWORD1>\r
-        <KEYWORD1>true</KEYWORD1>\r
-        <KEYWORD1>truncate</KEYWORD1>\r
-        <KEYWORD1>ttcodepage</KEYWORD1>\r
-        <KEYWORD1>type</KEYWORD1>\r
-        <KEYWORD1>unbuffered</KEYWORD1>\r
-        <KEYWORD1>underline</KEYWORD1>\r
-        <KEYWORD1>undo</KEYWORD1>\r
-        <KEYWORD1>unformatted</KEYWORD1>\r
-        <KEYWORD1>union</KEYWORD1>\r
-        <KEYWORD1>unique</KEYWORD1>\r
-        <KEYWORD1>unique-id</KEYWORD1>\r
-        <KEYWORD1>unique-match</KEYWORD1>\r
-        <KEYWORD1>unix</KEYWORD1>\r
-        <KEYWORD1>unix-end</KEYWORD1>\r
-        <KEYWORD1>unless-hidden</KEYWORD1>\r
-        <KEYWORD1>unload</KEYWORD1>\r
-        <KEYWORD1>unsigned-short</KEYWORD1>\r
-        <KEYWORD1>unsubscribe</KEYWORD1>\r
-        <KEYWORD1>up</KEYWORD1>\r
-        <KEYWORD1>update</KEYWORD1>\r
-        <KEYWORD1>upper</KEYWORD1>\r
-        <KEYWORD1>url</KEYWORD1>\r
-        <KEYWORD1>url-decode</KEYWORD1>\r
-        <KEYWORD1>url-encode</KEYWORD1>\r
-        <KEYWORD1>url-password</KEYWORD1>\r
-        <KEYWORD1>url-userid</KEYWORD1>\r
-        <KEYWORD1>use</KEYWORD1>\r
-        <KEYWORD1>use-dict-exps</KEYWORD1>\r
-        <KEYWORD1>use-filename</KEYWORD1>\r
-        <KEYWORD1>use-index</KEYWORD1>\r
-        <KEYWORD1>use-revvideo</KEYWORD1>\r
-        <KEYWORD1>use-text</KEYWORD1>\r
-        <KEYWORD1>use-underline</KEYWORD1>\r
-        <KEYWORD1>user</KEYWORD1>\r
-        <KEYWORD1>user-data</KEYWORD1>\r
-        <KEYWORD1>userid</KEYWORD1>\r
-        <KEYWORD1>using</KEYWORD1>\r
-        <KEYWORD1>utc-offset</KEYWORD1>\r
-        <KEYWORD1>v6display</KEYWORD1>\r
-        <KEYWORD1>v6frame</KEYWORD1>\r
-        <KEYWORD1>valid-event</KEYWORD1>\r
-        <KEYWORD1>valid-handle</KEYWORD1>\r
-        <KEYWORD1>validate</KEYWORD1>\r
-        <KEYWORD1>validate-expression</KEYWORD1>\r
-        <KEYWORD1>validate-message</KEYWORD1>\r
-        <KEYWORD1>validate-xml</KEYWORD1>\r
-        <KEYWORD1>validation-enabled</KEYWORD1>\r
-        <KEYWORD1>value</KEYWORD1>\r
-        <KEYWORD1>values</KEYWORD1>\r
-        <KEYWORD1>variable</KEYWORD1>\r
-        <KEYWORD1>verbose</KEYWORD1>\r
-        <KEYWORD1>vertical</KEYWORD1>\r
-        <KEYWORD1>view</KEYWORD1>\r
-        <KEYWORD1>view-as</KEYWORD1>\r
-        <KEYWORD1>view-first-column-on-reopen</KEYWORD1>\r
-        <KEYWORD1>virtual-height</KEYWORD1>\r
-        <KEYWORD1>virtual-height-chars</KEYWORD1>\r
-        <KEYWORD1>virtual-height-pixels</KEYWORD1>\r
-        <KEYWORD1>virtual-width</KEYWORD1>\r
-        <KEYWORD1>virtual-width-chars</KEYWORD1>\r
-        <KEYWORD1>virtual-width-pixels</KEYWORD1>\r
-        <KEYWORD1>visible</KEYWORD1>\r
-        <KEYWORD1>vms</KEYWORD1>\r
-        <KEYWORD1>wait</KEYWORD1>\r
-        <KEYWORD1>wait-for</KEYWORD1>\r
-        <KEYWORD1>warning</KEYWORD1>\r
-        <KEYWORD1>web-context</KEYWORD1>\r
-        <KEYWORD1>web-notify</KEYWORD1>\r
-        <KEYWORD1>weekday</KEYWORD1>\r
-        <KEYWORD1>when</KEYWORD1>\r
-        <KEYWORD1>where</KEYWORD1>\r
-        <KEYWORD1>where-string</KEYWORD1>\r
-        <KEYWORD1>while</KEYWORD1>\r
-        <KEYWORD1>widget</KEYWORD1>\r
-        <KEYWORD1>widget-enter</KEYWORD1>\r
-        <KEYWORD1>widget-handle</KEYWORD1>\r
-        <KEYWORD1>widget-leave</KEYWORD1>\r
-        <KEYWORD1>widget-pool</KEYWORD1>\r
-        <KEYWORD1>width</KEYWORD1>\r
-        <KEYWORD1>width-chars</KEYWORD1>\r
-        <KEYWORD1>width-pixels</KEYWORD1>\r
-        <KEYWORD1>window</KEYWORD1>\r
-        <KEYWORD1>window-delayed-minimize</KEYWORD1>\r
-        <KEYWORD1>window-name</KEYWORD1>\r
-        <KEYWORD1>window-normal</KEYWORD1>\r
-        <KEYWORD1>window-state</KEYWORD1>\r
-        <KEYWORD1>window-system</KEYWORD1>\r
-        <KEYWORD1>with</KEYWORD1>\r
-        <KEYWORD1>word-index</KEYWORD1>\r
-        <KEYWORD1>word-wrap</KEYWORD1>\r
-        <KEYWORD1>work-area-height-pixels</KEYWORD1>\r
-        <KEYWORD1>work-area-width-pixels</KEYWORD1>\r
-        <KEYWORD1>work-area-x</KEYWORD1>\r
-        <KEYWORD1>work-area-y</KEYWORD1>\r
-        <KEYWORD1>work-table</KEYWORD1>\r
-        <KEYWORD1>workfile</KEYWORD1>\r
-        <KEYWORD1>write</KEYWORD1>\r
-        <KEYWORD1>write-data</KEYWORD1>\r
-        <KEYWORD1>x</KEYWORD1>\r
-        <KEYWORD1>x-document</KEYWORD1>\r
-        <KEYWORD1>x-noderef</KEYWORD1>\r
-        <KEYWORD1>x-of</KEYWORD1>\r
-        <KEYWORD1>xcode</KEYWORD1>\r
-        <KEYWORD1>xml-schema-path</KEYWORD1>\r
-        <KEYWORD1>xml-suppress-namespace-processing</KEYWORD1>\r
-        <KEYWORD1>xref</KEYWORD1>\r
-        <KEYWORD1>y</KEYWORD1>\r
-        <KEYWORD1>y-of</KEYWORD1>\r
-        <KEYWORD1>year</KEYWORD1>\r
-        <KEYWORD1>year-offset</KEYWORD1>\r
-        <KEYWORD1>yes</KEYWORD1>\r
-        <KEYWORD1>yes-no</KEYWORD1>\r
-        <KEYWORD1>yes-no-cancel</KEYWORD1>\r
-        <KEYWORD1>_dcm</KEYWORD1>\r
-\r
-      <!-- Some commonly used abbreviations -->\r
-        <!-- And words missing from -zgenkwlist option -->\r
-        <KEYWORD1>accum</KEYWORD1>\r
-        <KEYWORD1>asc</KEYWORD1>\r
-        <KEYWORD1>avail</KEYWORD1>\r
-        <KEYWORD1>button</KEYWORD1>\r
-        <KEYWORD1>char</KEYWORD1>\r
-        <KEYWORD1>column</KEYWORD1>\r
-        <KEYWORD1>dec</KEYWORD1>\r
-        <KEYWORD1>def</KEYWORD1>\r
-        <KEYWORD1>disp</KEYWORD1>\r
-        <KEYWORD1>dict</KEYWORD1>\r
-        <KEYWORD1>dyn-function</KEYWORD1>\r
-        <KEYWORD1>excl</KEYWORD1>\r
-        <KEYWORD1>field</KEYWORD1>\r
-        <KEYWORD1>field-group</KEYWORD1>\r
-        <KEYWORD1>file-info</KEYWORD1>\r
-        <KEYWORD1>form</KEYWORD1>\r
-        <KEYWORD1>forward</KEYWORD1>\r
-        <KEYWORD1>funct</KEYWORD1>\r
-        <KEYWORD1>int</KEYWORD1>\r
-        <KEYWORD1>info</KEYWORD1>\r
-        <KEYWORD1>index-field</KEYWORD1>\r
-        <KEYWORD1>log</KEYWORD1>\r
-        <KEYWORD1>literal</KEYWORD1>\r
-        <KEYWORD1>load-control</KEYWORD1>\r
-        <KEYWORD1>no-label</KEYWORD1>\r
-        <KEYWORD1>prim</KEYWORD1>\r
-        <KEYWORD1>rcode-info</KEYWORD1>\r
-        <KEYWORD1>share</KEYWORD1>\r
-        <KEYWORD1>substr</KEYWORD1>\r
-        <KEYWORD1>var</KEYWORD1>\r
-\r
-\r
-      <!-- KEYWORD2   : VST & metaschema files and fields -->\r
-        <KEYWORD2>_abbreviate</KEYWORD2>\r
-        <KEYWORD2>_account_expires</KEYWORD2>\r
-        <KEYWORD2>_actailog</KEYWORD2>\r
-        <KEYWORD2>_actbilog</KEYWORD2>\r
-        <KEYWORD2>_actbuffer</KEYWORD2>\r
-        <KEYWORD2>_actindex</KEYWORD2>\r
-        <KEYWORD2>_actiofile</KEYWORD2>\r
-        <KEYWORD2>_actiotype</KEYWORD2>\r
-        <KEYWORD2>_active</KEYWORD2>\r
-        <KEYWORD2>_actlock</KEYWORD2>\r
-        <KEYWORD2>_actother</KEYWORD2>\r
-        <KEYWORD2>_actpws</KEYWORD2>\r
-        <KEYWORD2>_actrecord</KEYWORD2>\r
-        <KEYWORD2>_actserver</KEYWORD2>\r
-        <KEYWORD2>_actspace</KEYWORD2>\r
-        <KEYWORD2>_actsummary</KEYWORD2>\r
-        <KEYWORD2>_admin</KEYWORD2>\r
-        <KEYWORD2>_ailog-aiwwrites</KEYWORD2>\r
-        <KEYWORD2>_ailog-bbuffwaits</KEYWORD2>\r
-        <KEYWORD2>_ailog-byteswritn</KEYWORD2>\r
-        <KEYWORD2>_ailog-forcewaits</KEYWORD2>\r
-        <KEYWORD2>_ailog-id</KEYWORD2>\r
-        <KEYWORD2>_ailog-misc</KEYWORD2>\r
-        <KEYWORD2>_ailog-nobufavail</KEYWORD2>\r
-        <KEYWORD2>_ailog-partialwrt</KEYWORD2>\r
-        <KEYWORD2>_ailog-recwriten</KEYWORD2>\r
-        <KEYWORD2>_ailog-totwrites</KEYWORD2>\r
-        <KEYWORD2>_ailog-trans</KEYWORD2>\r
-        <KEYWORD2>_ailog-uptime</KEYWORD2>\r
-        <KEYWORD2>_alt</KEYWORD2>\r
-        <KEYWORD2>_area</KEYWORD2>\r
-        <KEYWORD2>_area-attrib</KEYWORD2>\r
-        <KEYWORD2>_area-block</KEYWORD2>\r
-        <KEYWORD2>_area-blocksize</KEYWORD2>\r
-        <KEYWORD2>_area-clustersize</KEYWORD2>\r
-        <KEYWORD2>_area-extents</KEYWORD2>\r
-        <KEYWORD2>_area-misc</KEYWORD2>\r
-        <KEYWORD2>_area-name</KEYWORD2>\r
-        <KEYWORD2>_area-number</KEYWORD2>\r
-        <KEYWORD2>_area-recbits</KEYWORD2>\r
-        <KEYWORD2>_area-recid</KEYWORD2>\r
-        <KEYWORD2>_area-type</KEYWORD2>\r
-        <KEYWORD2>_area-version</KEYWORD2>\r
-        <KEYWORD2>_areaextent</KEYWORD2>\r
-        <KEYWORD2>_areastatus</KEYWORD2>\r
-        <KEYWORD2>_areastatus-areaname</KEYWORD2>\r
-        <KEYWORD2>_areastatus-areanum</KEYWORD2>\r
-        <KEYWORD2>_areastatus-extents</KEYWORD2>\r
-        <KEYWORD2>_areastatus-freenum</KEYWORD2>\r
-        <KEYWORD2>_areastatus-hiwater</KEYWORD2>\r
-        <KEYWORD2>_areastatus-id</KEYWORD2>\r
-        <KEYWORD2>_areastatus-lastextent</KEYWORD2>\r
-        <KEYWORD2>_areastatus-rmnum</KEYWORD2>\r
-        <KEYWORD2>_areastatus-totblocks</KEYWORD2>\r
-        <KEYWORD2>_argtype</KEYWORD2>\r
-        <KEYWORD2>_ascending</KEYWORD2>\r
-        <KEYWORD2>_attribute</KEYWORD2>\r
-        <KEYWORD2>_attributes1</KEYWORD2>\r
-        <KEYWORD2>_auth-id</KEYWORD2>\r
-        <KEYWORD2>_autoincr</KEYWORD2>\r
-        <KEYWORD2>_base-col</KEYWORD2>\r
-        <KEYWORD2>_base-tables</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-apwq</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-ckpmarked</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-ckpq</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-hashsize</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-id</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-lastckpnum</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-lru</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-misc</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-modbuffs</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-totbufs</KEYWORD2>\r
-        <KEYWORD2>_bfstatus-usedbuffs</KEYWORD2>\r
-        <KEYWORD2>_bilog-bbuffwaits</KEYWORD2>\r
-        <KEYWORD2>_bilog-biwwrites</KEYWORD2>\r
-        <KEYWORD2>_bilog-bytesread</KEYWORD2>\r
-        <KEYWORD2>_bilog-byteswrtn</KEYWORD2>\r
-        <KEYWORD2>_bilog-clstrclose</KEYWORD2>\r
-        <KEYWORD2>_bilog-ebuffwaits</KEYWORD2>\r
-        <KEYWORD2>_bilog-forcewaits</KEYWORD2>\r
-        <KEYWORD2>_bilog-forcewrts</KEYWORD2>\r
-        <KEYWORD2>_bilog-id</KEYWORD2>\r
-        <KEYWORD2>_bilog-misc</KEYWORD2>\r
-        <KEYWORD2>_bilog-partialwrts</KEYWORD2>\r
-        <KEYWORD2>_bilog-recread</KEYWORD2>\r
-        <KEYWORD2>_bilog-recwriten</KEYWORD2>\r
-        <KEYWORD2>_bilog-totalwrts</KEYWORD2>\r
-        <KEYWORD2>_bilog-totreads</KEYWORD2>\r
-        <KEYWORD2>_bilog-trans</KEYWORD2>\r
-        <KEYWORD2>_bilog-uptime</KEYWORD2>\r
-        <KEYWORD2>_block</KEYWORD2>\r
-        <KEYWORD2>_block-area</KEYWORD2>\r
-        <KEYWORD2>_block-bkupctr</KEYWORD2>\r
-        <KEYWORD2>_block-block</KEYWORD2>\r
-        <KEYWORD2>_block-chaintype</KEYWORD2>\r
-        <KEYWORD2>_block-dbkey</KEYWORD2>\r
-        <KEYWORD2>_block-id</KEYWORD2>\r
-        <KEYWORD2>_block-misc</KEYWORD2>\r
-        <KEYWORD2>_block-nextdbkey</KEYWORD2>\r
-        <KEYWORD2>_block-type</KEYWORD2>\r
-        <KEYWORD2>_block-update</KEYWORD2>\r
-        <KEYWORD2>_buffer-apwenq</KEYWORD2>\r
-        <KEYWORD2>_buffer-chkpts</KEYWORD2>\r
-        <KEYWORD2>_buffer-deferred</KEYWORD2>\r
-        <KEYWORD2>_buffer-flushed</KEYWORD2>\r
-        <KEYWORD2>_buffer-id</KEYWORD2>\r
-        <KEYWORD2>_buffer-logicrds</KEYWORD2>\r
-        <KEYWORD2>_buffer-logicwrts</KEYWORD2>\r
-        <KEYWORD2>_buffer-lruskips</KEYWORD2>\r
-        <KEYWORD2>_buffer-lruwrts</KEYWORD2>\r
-        <KEYWORD2>_buffer-marked</KEYWORD2>\r
-        <KEYWORD2>_buffer-misc</KEYWORD2>\r
-        <KEYWORD2>_buffer-osrds</KEYWORD2>\r
-        <KEYWORD2>_buffer-oswrts</KEYWORD2>\r
-        <KEYWORD2>_buffer-trans</KEYWORD2>\r
-        <KEYWORD2>_buffer-uptime</KEYWORD2>\r
-        <KEYWORD2>_buffstatus</KEYWORD2>\r
-        <KEYWORD2>_cache</KEYWORD2>\r
-        <KEYWORD2>_can-create</KEYWORD2>\r
-        <KEYWORD2>_can-delete</KEYWORD2>\r
-        <KEYWORD2>_can-dump</KEYWORD2>\r
-        <KEYWORD2>_can-load</KEYWORD2>\r
-        <KEYWORD2>_can-read</KEYWORD2>\r
-        <KEYWORD2>_can-write</KEYWORD2>\r
-        <KEYWORD2>_casesensitive</KEYWORD2>\r
-        <KEYWORD2>_charset</KEYWORD2>\r
-        <KEYWORD2>_checkpoint</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-apwq</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-cptq</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-dirty</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-flush</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-id</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-len</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-misc</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-scan</KEYWORD2>\r
-        <KEYWORD2>_checkpoint-time</KEYWORD2>\r
-        <KEYWORD2>_chkclause</KEYWORD2>\r
-        <KEYWORD2>_chkseq</KEYWORD2>\r
-        <KEYWORD2>_cnstrname</KEYWORD2>\r
-        <KEYWORD2>_cnstrtype</KEYWORD2>\r
-        <KEYWORD2>_code-feature</KEYWORD2>\r
-        <KEYWORD2>_codefeature-id</KEYWORD2>\r
-        <KEYWORD2>_codefeature-res01</KEYWORD2>\r
-        <KEYWORD2>_codefeature-res02</KEYWORD2>\r
-        <KEYWORD2>_codefeature_name</KEYWORD2>\r
-        <KEYWORD2>_codefeature_required</KEYWORD2>\r
-        <KEYWORD2>_codefeature_supported</KEYWORD2>\r
-        <KEYWORD2>_codepage</KEYWORD2>\r
-        <KEYWORD2>_col</KEYWORD2>\r
-        <KEYWORD2>_col-label</KEYWORD2>\r
-        <KEYWORD2>_col-label-sa</KEYWORD2>\r
-        <KEYWORD2>_col-name</KEYWORD2>\r
-        <KEYWORD2>_colid</KEYWORD2>\r
-        <KEYWORD2>_coll-cp</KEYWORD2>\r
-        <KEYWORD2>_coll-data</KEYWORD2>\r
-        <KEYWORD2>_coll-name</KEYWORD2>\r
-        <KEYWORD2>_coll-segment</KEYWORD2>\r
-        <KEYWORD2>_coll-sequence</KEYWORD2>\r
-        <KEYWORD2>_coll-strength</KEYWORD2>\r
-        <KEYWORD2>_coll-tran-subtype</KEYWORD2>\r
-        <KEYWORD2>_coll-tran-version</KEYWORD2>\r
-        <KEYWORD2>_collation</KEYWORD2>\r
-        <KEYWORD2>_colname</KEYWORD2>\r
-        <KEYWORD2>_colposition</KEYWORD2>\r
-        <KEYWORD2>_connect</KEYWORD2>\r
-        <KEYWORD2>_connect-2phase</KEYWORD2>\r
-        <KEYWORD2>_connect-batch</KEYWORD2>\r
-        <KEYWORD2>_connect-device</KEYWORD2>\r
-        <KEYWORD2>_connect-disconnect</KEYWORD2>\r
-        <KEYWORD2>_connect-id</KEYWORD2>\r
-        <KEYWORD2>_connect-interrupt</KEYWORD2>\r
-        <KEYWORD2>_connect-misc</KEYWORD2>\r
-        <KEYWORD2>_connect-name</KEYWORD2>\r
-        <KEYWORD2>_connect-pid</KEYWORD2>\r
-        <KEYWORD2>_connect-resync</KEYWORD2>\r
-        <KEYWORD2>_connect-semid</KEYWORD2>\r
-        <KEYWORD2>_connect-semnum</KEYWORD2>\r
-        <KEYWORD2>_connect-server</KEYWORD2>\r
-        <KEYWORD2>_connect-time</KEYWORD2>\r
-        <KEYWORD2>_connect-transid</KEYWORD2>\r
-        <KEYWORD2>_connect-type</KEYWORD2>\r
-        <KEYWORD2>_connect-usr</KEYWORD2>\r
-        <KEYWORD2>_connect-wait</KEYWORD2>\r
-        <KEYWORD2>_connect-wait1</KEYWORD2>\r
-        <KEYWORD2>_cp-attr</KEYWORD2>\r
-        <KEYWORD2>_cp-dbrecid</KEYWORD2>\r
-        <KEYWORD2>_cp-name</KEYWORD2>\r
-        <KEYWORD2>_cp-sequence</KEYWORD2>\r
-        <KEYWORD2>_crc</KEYWORD2>\r
-        <KEYWORD2>_create-limit</KEYWORD2>\r
-        <KEYWORD2>_createparams</KEYWORD2>\r
-        <KEYWORD2>_create_date</KEYWORD2>\r
-        <KEYWORD2>_creator</KEYWORD2>\r
-        <KEYWORD2>_cycle-ok</KEYWORD2>\r
-        <KEYWORD2>_data-type</KEYWORD2>\r
-        <KEYWORD2>_database-feature</KEYWORD2>\r
-        <KEYWORD2>_datatype</KEYWORD2>\r
-        <KEYWORD2>_db</KEYWORD2>\r
-        <KEYWORD2>_db-addr</KEYWORD2>\r
-        <KEYWORD2>_db-coll-name</KEYWORD2>\r
-        <KEYWORD2>_db-collate</KEYWORD2>\r
-        <KEYWORD2>_db-comm</KEYWORD2>\r
-        <KEYWORD2>_db-lang</KEYWORD2>\r
-        <KEYWORD2>_db-local</KEYWORD2>\r
-        <KEYWORD2>_db-misc1</KEYWORD2>\r
-        <KEYWORD2>_db-misc2</KEYWORD2>\r
-        <KEYWORD2>_db-name</KEYWORD2>\r
-        <KEYWORD2>_db-recid</KEYWORD2>\r
-        <KEYWORD2>_db-res1</KEYWORD2>\r
-        <KEYWORD2>_db-res2</KEYWORD2>\r
-        <KEYWORD2>_db-revision</KEYWORD2>\r
-        <KEYWORD2>_db-slave</KEYWORD2>\r
-        <KEYWORD2>_db-type</KEYWORD2>\r
-        <KEYWORD2>_db-xl-name</KEYWORD2>\r
-        <KEYWORD2>_db-xlate</KEYWORD2>\r
-        <KEYWORD2>_dbaacc</KEYWORD2>\r
-        <KEYWORD2>_dbfeature-id</KEYWORD2>\r
-        <KEYWORD2>_dbfeature-res01</KEYWORD2>\r
-        <KEYWORD2>_dbfeature-res02</KEYWORD2>\r
-        <KEYWORD2>_dbfeature_active</KEYWORD2>\r
-        <KEYWORD2>_dbfeature_enabled</KEYWORD2>\r
-        <KEYWORD2>_dbfeature_name</KEYWORD2>\r
-        <KEYWORD2>_dblink</KEYWORD2>\r
-        <KEYWORD2>_dbstatus</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-aiblksize</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-biblksize</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-biclsize</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-biopen</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-bisize</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-bitrunc</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-cachestamp</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-changed</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-clversminor</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-codepage</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-collation</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-createdate</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-dbblksize</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-dbvers</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-dbversminor</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-emptyblks</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-fbdate</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-freeblks</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-hiwater</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-ibdate</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-ibseq</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-id</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-integrity</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-intflags</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-lastopen</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-lasttable</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-lasttran</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-misc</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-mostlocks</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-numareas</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-numlocks</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-numsems</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-prevopen</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-rmfreeblks</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-sharedmemver</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-shmvers</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-starttime</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-state</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-tainted</KEYWORD2>\r
-        <KEYWORD2>_dbstatus-totalblks</KEYWORD2>\r
-        <KEYWORD2>_decimals</KEYWORD2>\r
-        <KEYWORD2>_del</KEYWORD2>\r
-        <KEYWORD2>_deleterule</KEYWORD2>\r
-        <KEYWORD2>_desc</KEYWORD2>\r
-        <KEYWORD2>_description</KEYWORD2>\r
-        <KEYWORD2>_dfltvalue</KEYWORD2>\r
-        <KEYWORD2>_dft-pk</KEYWORD2>\r
-        <KEYWORD2>_dhtypename</KEYWORD2>\r
-        <KEYWORD2>_disabled</KEYWORD2>\r
-        <KEYWORD2>_dtype</KEYWORD2>\r
-        <KEYWORD2>_dump-name</KEYWORD2>\r
-        <KEYWORD2>_email</KEYWORD2>\r
-        <KEYWORD2>_event</KEYWORD2>\r
-        <KEYWORD2>_exe</KEYWORD2>\r
-        <KEYWORD2>_extent</KEYWORD2>\r
-        <KEYWORD2>_extent-attrib</KEYWORD2>\r
-        <KEYWORD2>_extent-misc</KEYWORD2>\r
-        <KEYWORD2>_extent-number</KEYWORD2>\r
-        <KEYWORD2>_extent-path</KEYWORD2>\r
-        <KEYWORD2>_extent-size</KEYWORD2>\r
-        <KEYWORD2>_extent-system</KEYWORD2>\r
-        <KEYWORD2>_extent-type</KEYWORD2>\r
-        <KEYWORD2>_extent-version</KEYWORD2>\r
-        <KEYWORD2>_fetch-type</KEYWORD2>\r
-        <KEYWORD2>_field</KEYWORD2>\r
-        <KEYWORD2>_field-map</KEYWORD2>\r
-        <KEYWORD2>_field-name</KEYWORD2>\r
-        <KEYWORD2>_field-physpos</KEYWORD2>\r
-        <KEYWORD2>_field-recid</KEYWORD2>\r
-        <KEYWORD2>_field-rpos</KEYWORD2>\r
-        <KEYWORD2>_field-trig</KEYWORD2>\r
-        <KEYWORD2>_fil-misc1</KEYWORD2>\r
-        <KEYWORD2>_fil-misc2</KEYWORD2>\r
-        <KEYWORD2>_fil-res1</KEYWORD2>\r
-        <KEYWORD2>_fil-res2</KEYWORD2>\r
-        <KEYWORD2>_file</KEYWORD2>\r
-        <KEYWORD2>_file-label</KEYWORD2>\r
-        <KEYWORD2>_file-label-sa</KEYWORD2>\r
-        <KEYWORD2>_file-name</KEYWORD2>\r
-        <KEYWORD2>_file-number</KEYWORD2>\r
-        <KEYWORD2>_file-recid</KEYWORD2>\r
-        <KEYWORD2>_file-trig</KEYWORD2>\r
-        <KEYWORD2>_filelist</KEYWORD2>\r
-        <KEYWORD2>_filelist-blksize</KEYWORD2>\r
-        <KEYWORD2>_filelist-extend</KEYWORD2>\r
-        <KEYWORD2>_filelist-id</KEYWORD2>\r
-        <KEYWORD2>_filelist-logicalsz</KEYWORD2>\r
-        <KEYWORD2>_filelist-misc</KEYWORD2>\r
-        <KEYWORD2>_filelist-name</KEYWORD2>\r
-        <KEYWORD2>_filelist-openmode</KEYWORD2>\r
-        <KEYWORD2>_filelist-size</KEYWORD2>\r
-        <KEYWORD2>_fire_4gl</KEYWORD2>\r
-        <KEYWORD2>_fld</KEYWORD2>\r
-        <KEYWORD2>_fld-case</KEYWORD2>\r
-        <KEYWORD2>_fld-misc1</KEYWORD2>\r
-        <KEYWORD2>_fld-misc2</KEYWORD2>\r
-        <KEYWORD2>_fld-res1</KEYWORD2>\r
-        <KEYWORD2>_fld-res2</KEYWORD2>\r
-        <KEYWORD2>_fld-stdtype</KEYWORD2>\r
-        <KEYWORD2>_fld-stlen</KEYWORD2>\r
-        <KEYWORD2>_fld-stoff</KEYWORD2>\r
-        <KEYWORD2>_for-allocated</KEYWORD2>\r
-        <KEYWORD2>_for-cnt1</KEYWORD2>\r
-        <KEYWORD2>_for-cnt2</KEYWORD2>\r
-        <KEYWORD2>_for-flag</KEYWORD2>\r
-        <KEYWORD2>_for-format</KEYWORD2>\r
-        <KEYWORD2>_for-id</KEYWORD2>\r
-        <KEYWORD2>_for-info</KEYWORD2>\r
-        <KEYWORD2>_for-itype</KEYWORD2>\r
-        <KEYWORD2>_for-maxsize</KEYWORD2>\r
-        <KEYWORD2>_for-name</KEYWORD2>\r
-        <KEYWORD2>_for-number</KEYWORD2>\r
-        <KEYWORD2>_for-owner</KEYWORD2>\r
-        <KEYWORD2>_for-primary</KEYWORD2>\r
-        <KEYWORD2>_for-retrieve</KEYWORD2>\r
-        <KEYWORD2>_for-scale</KEYWORD2>\r
-        <KEYWORD2>_for-separator</KEYWORD2>\r
-        <KEYWORD2>_for-size</KEYWORD2>\r
-        <KEYWORD2>_for-spacing</KEYWORD2>\r
-        <KEYWORD2>_for-type</KEYWORD2>\r
-        <KEYWORD2>_for-xpos</KEYWORD2>\r
-        <KEYWORD2>_format</KEYWORD2>\r
-        <KEYWORD2>_format-sa</KEYWORD2>\r
-        <KEYWORD2>_frozen</KEYWORD2>\r
-        <KEYWORD2>_given_name</KEYWORD2>\r
-        <KEYWORD2>_grantee</KEYWORD2>\r
-        <KEYWORD2>_grantor</KEYWORD2>\r
-        <KEYWORD2>_group-by</KEYWORD2>\r
-        <KEYWORD2>_group_number</KEYWORD2>\r
-        <KEYWORD2>_has-ccnstrs</KEYWORD2>\r
-        <KEYWORD2>_has-fcnstrs</KEYWORD2>\r
-        <KEYWORD2>_has-pcnstrs</KEYWORD2>\r
-        <KEYWORD2>_has-ucnstrs</KEYWORD2>\r
-        <KEYWORD2>_hasresultset</KEYWORD2>\r
-        <KEYWORD2>_hasreturnval</KEYWORD2>\r
-        <KEYWORD2>_help</KEYWORD2>\r
-        <KEYWORD2>_help-sa</KEYWORD2>\r
-        <KEYWORD2>_hidden</KEYWORD2>\r
-        <KEYWORD2>_host</KEYWORD2>\r
-        <KEYWORD2>_i-misc1</KEYWORD2>\r
-        <KEYWORD2>_i-misc2</KEYWORD2>\r
-        <KEYWORD2>_i-res1</KEYWORD2>\r
-        <KEYWORD2>_i-res2</KEYWORD2>\r
-        <KEYWORD2>_ianum</KEYWORD2>\r
-        <KEYWORD2>_id</KEYWORD2>\r
-        <KEYWORD2>_idx-crc</KEYWORD2>\r
-        <KEYWORD2>_idx-num</KEYWORD2>\r
-        <KEYWORD2>_idxid</KEYWORD2>\r
-        <KEYWORD2>_idxmethod</KEYWORD2>\r
-        <KEYWORD2>_idxname</KEYWORD2>\r
-        <KEYWORD2>_idxowner</KEYWORD2>\r
-        <KEYWORD2>_if-misc1</KEYWORD2>\r
-        <KEYWORD2>_if-misc2</KEYWORD2>\r
-        <KEYWORD2>_if-res1</KEYWORD2>\r
-        <KEYWORD2>_if-res2</KEYWORD2>\r
-        <KEYWORD2>_index</KEYWORD2>\r
-        <KEYWORD2>_index-create</KEYWORD2>\r
-        <KEYWORD2>_index-delete</KEYWORD2>\r
-        <KEYWORD2>_index-field</KEYWORD2>\r
-        <KEYWORD2>_index-find</KEYWORD2>\r
-        <KEYWORD2>_index-free</KEYWORD2>\r
-        <KEYWORD2>_index-id</KEYWORD2>\r
-        <KEYWORD2>_index-misc</KEYWORD2>\r
-        <KEYWORD2>_index-name</KEYWORD2>\r
-        <KEYWORD2>_index-recid</KEYWORD2>\r
-        <KEYWORD2>_index-remove</KEYWORD2>\r
-        <KEYWORD2>_index-seq</KEYWORD2>\r
-        <KEYWORD2>_index-splits</KEYWORD2>\r
-        <KEYWORD2>_index-trans</KEYWORD2>\r
-        <KEYWORD2>_index-uptime</KEYWORD2>\r
-        <KEYWORD2>_indexbase</KEYWORD2>\r
-        <KEYWORD2>_indexstat</KEYWORD2>\r
-        <KEYWORD2>_indexstat-blockdelete</KEYWORD2>\r
-        <KEYWORD2>_indexstat-create</KEYWORD2>\r
-        <KEYWORD2>_indexstat-delete</KEYWORD2>\r
-        <KEYWORD2>_indexstat-id</KEYWORD2>\r
-        <KEYWORD2>_indexstat-read</KEYWORD2>\r
-        <KEYWORD2>_indexstat-split</KEYWORD2>\r
-        <KEYWORD2>_initial</KEYWORD2>\r
-        <KEYWORD2>_initial-sa</KEYWORD2>\r
-        <KEYWORD2>_ins</KEYWORD2>\r
-        <KEYWORD2>_iofile-bufreads</KEYWORD2>\r
-        <KEYWORD2>_iofile-bufwrites</KEYWORD2>\r
-        <KEYWORD2>_iofile-extends</KEYWORD2>\r
-        <KEYWORD2>_iofile-filename</KEYWORD2>\r
-        <KEYWORD2>_iofile-id</KEYWORD2>\r
-        <KEYWORD2>_iofile-misc</KEYWORD2>\r
-        <KEYWORD2>_iofile-reads</KEYWORD2>\r
-        <KEYWORD2>_iofile-trans</KEYWORD2>\r
-        <KEYWORD2>_iofile-ubufreads</KEYWORD2>\r
-        <KEYWORD2>_iofile-ubufwrites</KEYWORD2>\r
-        <KEYWORD2>_iofile-uptime</KEYWORD2>\r
-        <KEYWORD2>_iofile-writes</KEYWORD2>\r
-        <KEYWORD2>_iotype-airds</KEYWORD2>\r
-        <KEYWORD2>_iotype-aiwrts</KEYWORD2>\r
-        <KEYWORD2>_iotype-birds</KEYWORD2>\r
-        <KEYWORD2>_iotype-biwrts</KEYWORD2>\r
-        <KEYWORD2>_iotype-datareads</KEYWORD2>\r
-        <KEYWORD2>_iotype-datawrts</KEYWORD2>\r
-        <KEYWORD2>_iotype-id</KEYWORD2>\r
-        <KEYWORD2>_iotype-idxrds</KEYWORD2>\r
-        <KEYWORD2>_iotype-idxwrts</KEYWORD2>\r
-        <KEYWORD2>_iotype-misc</KEYWORD2>\r
-        <KEYWORD2>_iotype-trans</KEYWORD2>\r
-        <KEYWORD2>_iotype-uptime</KEYWORD2>\r
-        <KEYWORD2>_ispublic</KEYWORD2>\r
-        <KEYWORD2>_keyvalue-expr</KEYWORD2>\r
-        <KEYWORD2>_label</KEYWORD2>\r
-        <KEYWORD2>_label-sa</KEYWORD2>\r
-        <KEYWORD2>_lang</KEYWORD2>\r
-        <KEYWORD2>_last-change</KEYWORD2>\r
-        <KEYWORD2>_last-modified</KEYWORD2>\r
-        <KEYWORD2>_last_login</KEYWORD2>\r
-        <KEYWORD2>_latch</KEYWORD2>\r
-        <KEYWORD2>_latch-busy</KEYWORD2>\r
-        <KEYWORD2>_latch-hold</KEYWORD2>\r
-        <KEYWORD2>_latch-id</KEYWORD2>\r
-        <KEYWORD2>_latch-lock</KEYWORD2>\r
-        <KEYWORD2>_latch-lockedt</KEYWORD2>\r
-        <KEYWORD2>_latch-lockt</KEYWORD2>\r
-        <KEYWORD2>_latch-name</KEYWORD2>\r
-        <KEYWORD2>_latch-qhold</KEYWORD2>\r
-        <KEYWORD2>_latch-spin</KEYWORD2>\r
-        <KEYWORD2>_latch-type</KEYWORD2>\r
-        <KEYWORD2>_latch-wait</KEYWORD2>\r
-        <KEYWORD2>_latch-waitt</KEYWORD2>\r
-        <KEYWORD2>_lic-activeconns</KEYWORD2>\r
-        <KEYWORD2>_lic-batchconns</KEYWORD2>\r
-        <KEYWORD2>_lic-currconns</KEYWORD2>\r
-        <KEYWORD2>_lic-id</KEYWORD2>\r
-        <KEYWORD2>_lic-maxactive</KEYWORD2>\r
-        <KEYWORD2>_lic-maxbatch</KEYWORD2>\r
-        <KEYWORD2>_lic-maxcurrent</KEYWORD2>\r
-        <KEYWORD2>_lic-minactive</KEYWORD2>\r
-        <KEYWORD2>_lic-minbatch</KEYWORD2>\r
-        <KEYWORD2>_lic-mincurrent</KEYWORD2>\r
-        <KEYWORD2>_lic-validusers</KEYWORD2>\r
-        <KEYWORD2>_license</KEYWORD2>\r
-        <KEYWORD2>_linkowner</KEYWORD2>\r
-        <KEYWORD2>_literalprefix</KEYWORD2>\r
-        <KEYWORD2>_literalsuffix</KEYWORD2>\r
-        <KEYWORD2>_localtypename</KEYWORD2>\r
-        <KEYWORD2>_lock</KEYWORD2>\r
-        <KEYWORD2>_lock-canclreq</KEYWORD2>\r
-        <KEYWORD2>_lock-chain</KEYWORD2>\r
-        <KEYWORD2>_lock-downgrade</KEYWORD2>\r
-        <KEYWORD2>_lock-exclfind</KEYWORD2>\r
-        <KEYWORD2>_lock-excllock</KEYWORD2>\r
-        <KEYWORD2>_lock-exclreq</KEYWORD2>\r
-        <KEYWORD2>_lock-exclwait</KEYWORD2>\r
-        <KEYWORD2>_lock-flags</KEYWORD2>\r
-        <KEYWORD2>_lock-id</KEYWORD2>\r
-        <KEYWORD2>_lock-misc</KEYWORD2>\r
-        <KEYWORD2>_lock-name</KEYWORD2>\r
-        <KEYWORD2>_lock-recgetlock</KEYWORD2>\r
-        <KEYWORD2>_lock-recgetreq</KEYWORD2>\r
-        <KEYWORD2>_lock-recgetwait</KEYWORD2>\r
-        <KEYWORD2>_lock-recid</KEYWORD2>\r
-        <KEYWORD2>_lock-redreq</KEYWORD2>\r
-        <KEYWORD2>_lock-shrfind</KEYWORD2>\r
-        <KEYWORD2>_lock-shrlock</KEYWORD2>\r
-        <KEYWORD2>_lock-shrreq</KEYWORD2>\r
-        <KEYWORD2>_lock-shrwait</KEYWORD2>\r
-        <KEYWORD2>_lock-table</KEYWORD2>\r
-        <KEYWORD2>_lock-trans</KEYWORD2>\r
-        <KEYWORD2>_lock-type</KEYWORD2>\r
-        <KEYWORD2>_lock-upglock</KEYWORD2>\r
-        <KEYWORD2>_lock-upgreq</KEYWORD2>\r
-        <KEYWORD2>_lock-upgwait</KEYWORD2>\r
-        <KEYWORD2>_lock-uptime</KEYWORD2>\r
-        <KEYWORD2>_lock-usr</KEYWORD2>\r
-        <KEYWORD2>_lockreq</KEYWORD2>\r
-        <KEYWORD2>_lockreq-exclfind</KEYWORD2>\r
-        <KEYWORD2>_lockreq-id</KEYWORD2>\r
-        <KEYWORD2>_lockreq-misc</KEYWORD2>\r
-        <KEYWORD2>_lockreq-name</KEYWORD2>\r
-        <KEYWORD2>_lockreq-num</KEYWORD2>\r
-        <KEYWORD2>_lockreq-reclock</KEYWORD2>\r
-        <KEYWORD2>_lockreq-recwait</KEYWORD2>\r
-        <KEYWORD2>_lockreq-schlock</KEYWORD2>\r
-        <KEYWORD2>_lockreq-schwait</KEYWORD2>\r
-        <KEYWORD2>_lockreq-shrfind</KEYWORD2>\r
-        <KEYWORD2>_lockreq-trnlock</KEYWORD2>\r
-        <KEYWORD2>_lockreq-trnwait</KEYWORD2>\r
-        <KEYWORD2>_logging</KEYWORD2>\r
-        <KEYWORD2>_logging-2pc</KEYWORD2>\r
-        <KEYWORD2>_logging-2pcnickname</KEYWORD2>\r
-        <KEYWORD2>_logging-2pcpriority</KEYWORD2>\r
-        <KEYWORD2>_logging-aibegin</KEYWORD2>\r
-        <KEYWORD2>_logging-aiblksize</KEYWORD2>\r
-        <KEYWORD2>_logging-aibuffs</KEYWORD2>\r
-        <KEYWORD2>_logging-aicurrext</KEYWORD2>\r
-        <KEYWORD2>_logging-aiextents</KEYWORD2>\r
-        <KEYWORD2>_logging-aigennum</KEYWORD2>\r
-        <KEYWORD2>_logging-aiio</KEYWORD2>\r
-        <KEYWORD2>_logging-aijournal</KEYWORD2>\r
-        <KEYWORD2>_logging-ailogsize</KEYWORD2>\r
-        <KEYWORD2>_logging-ainew</KEYWORD2>\r
-        <KEYWORD2>_logging-aiopen</KEYWORD2>\r
-        <KEYWORD2>_logging-biblksize</KEYWORD2>\r
-        <KEYWORD2>_logging-bibuffs</KEYWORD2>\r
-        <KEYWORD2>_logging-bibytesfree</KEYWORD2>\r
-        <KEYWORD2>_logging-biclage</KEYWORD2>\r
-        <KEYWORD2>_logging-biclsize</KEYWORD2>\r
-        <KEYWORD2>_logging-biextents</KEYWORD2>\r
-        <KEYWORD2>_logging-bifullbuffs</KEYWORD2>\r
-        <KEYWORD2>_logging-biio</KEYWORD2>\r
-        <KEYWORD2>_logging-bilogsize</KEYWORD2>\r
-        <KEYWORD2>_logging-commitdelay</KEYWORD2>\r
-        <KEYWORD2>_logging-crashprot</KEYWORD2>\r
-        <KEYWORD2>_logging-id</KEYWORD2>\r
-        <KEYWORD2>_logging-lastckp</KEYWORD2>\r
-        <KEYWORD2>_logging-misc</KEYWORD2>\r
-        <KEYWORD2>_logins</KEYWORD2>\r
-        <KEYWORD2>_login_failures</KEYWORD2>\r
-        <KEYWORD2>_mandatory</KEYWORD2>\r
-        <KEYWORD2>_max_logins</KEYWORD2>\r
-        <KEYWORD2>_max_tries</KEYWORD2>\r
-        <KEYWORD2>_middle_initial</KEYWORD2>\r
-        <KEYWORD2>_mod-sequence</KEYWORD2>\r
-        <KEYWORD2>_mode</KEYWORD2>\r
-        <KEYWORD2>_mstrblk</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-aiblksize</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-biblksize</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-biopen</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-biprev</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-bistate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-cfilnum</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-crdate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-dbstate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-dbvers</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-fbdate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-hiwater</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-ibdate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-ibseq</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-id</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-integrity</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-lasttask</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-misc</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-oppdate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-oprdate</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-rlclsize</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-rltime</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-tainted</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-timestamp</KEYWORD2>\r
-        <KEYWORD2>_mstrblk-totblks</KEYWORD2>\r
-        <KEYWORD2>_myconn-id</KEYWORD2>\r
-        <KEYWORD2>_myconn-numseqbuffers</KEYWORD2>\r
-        <KEYWORD2>_myconn-pid</KEYWORD2>\r
-        <KEYWORD2>_myconn-usedseqbuffers</KEYWORD2>\r
-        <KEYWORD2>_myconn-userid</KEYWORD2>\r
-        <KEYWORD2>_myconnection</KEYWORD2>\r
-        <KEYWORD2>_name_loc</KEYWORD2>\r
-        <KEYWORD2>_ndx</KEYWORD2>\r
-        <KEYWORD2>_nullable</KEYWORD2>\r
-        <KEYWORD2>_nullflag</KEYWORD2>\r
-        <KEYWORD2>_num-comp</KEYWORD2>\r
-        <KEYWORD2>_numfld</KEYWORD2>\r
-        <KEYWORD2>_numkcomp</KEYWORD2>\r
-        <KEYWORD2>_numkey</KEYWORD2>\r
-        <KEYWORD2>_numkfld</KEYWORD2>\r
-        <KEYWORD2>_object-associate</KEYWORD2>\r
-        <KEYWORD2>_object-associate-type</KEYWORD2>\r
-        <KEYWORD2>_object-attrib</KEYWORD2>\r
-        <KEYWORD2>_object-block</KEYWORD2>\r
-        <KEYWORD2>_object-misc</KEYWORD2>\r
-        <KEYWORD2>_object-number</KEYWORD2>\r
-        <KEYWORD2>_object-root</KEYWORD2>\r
-        <KEYWORD2>_object-system</KEYWORD2>\r
-        <KEYWORD2>_object-type</KEYWORD2>\r
-        <KEYWORD2>_odbcmoney</KEYWORD2>\r
-        <KEYWORD2>_order</KEYWORD2>\r
-        <KEYWORD2>_other-commit</KEYWORD2>\r
-        <KEYWORD2>_other-flushmblk</KEYWORD2>\r
-        <KEYWORD2>_other-id</KEYWORD2>\r
-        <KEYWORD2>_other-misc</KEYWORD2>\r
-        <KEYWORD2>_other-trans</KEYWORD2>\r
-        <KEYWORD2>_other-undo</KEYWORD2>\r
-        <KEYWORD2>_other-uptime</KEYWORD2>\r
-        <KEYWORD2>_other-wait</KEYWORD2>\r
-        <KEYWORD2>_override</KEYWORD2>\r
-        <KEYWORD2>_owner</KEYWORD2>\r
-        <KEYWORD2>_password</KEYWORD2>\r
-        <KEYWORD2>_prime-index</KEYWORD2>\r
-        <KEYWORD2>_proc-name</KEYWORD2>\r
-        <KEYWORD2>_procbin</KEYWORD2>\r
-        <KEYWORD2>_procid</KEYWORD2>\r
-        <KEYWORD2>_procname</KEYWORD2>\r
-        <KEYWORD2>_proctext</KEYWORD2>\r
-        <KEYWORD2>_proctype</KEYWORD2>\r
-        <KEYWORD2>_property</KEYWORD2>\r
-        <KEYWORD2>_pw-apwqwrites</KEYWORD2>\r
-        <KEYWORD2>_pw-buffsscaned</KEYWORD2>\r
-        <KEYWORD2>_pw-bufsckp</KEYWORD2>\r
-        <KEYWORD2>_pw-checkpoints</KEYWORD2>\r
-        <KEYWORD2>_pw-ckpqwrites</KEYWORD2>\r
-        <KEYWORD2>_pw-dbwrites</KEYWORD2>\r
-        <KEYWORD2>_pw-flushed</KEYWORD2>\r
-        <KEYWORD2>_pw-id</KEYWORD2>\r
-        <KEYWORD2>_pw-marked</KEYWORD2>\r
-        <KEYWORD2>_pw-misc</KEYWORD2>\r
-        <KEYWORD2>_pw-scancycles</KEYWORD2>\r
-        <KEYWORD2>_pw-scanwrites</KEYWORD2>\r
-        <KEYWORD2>_pw-totdbwrites</KEYWORD2>\r
-        <KEYWORD2>_pw-trans</KEYWORD2>\r
-        <KEYWORD2>_pw-uptime</KEYWORD2>\r
-        <KEYWORD2>_pwd</KEYWORD2>\r
-        <KEYWORD2>_pwd_duration</KEYWORD2>\r
-        <KEYWORD2>_pwd_expires</KEYWORD2>\r
-        <KEYWORD2>_record-bytescreat</KEYWORD2>\r
-        <KEYWORD2>_record-bytesdel</KEYWORD2>\r
-        <KEYWORD2>_record-bytesread</KEYWORD2>\r
-        <KEYWORD2>_record-bytesupd</KEYWORD2>\r
-        <KEYWORD2>_record-fragcreat</KEYWORD2>\r
-        <KEYWORD2>_record-fragdel</KEYWORD2>\r
-        <KEYWORD2>_record-fragread</KEYWORD2>\r
-        <KEYWORD2>_record-fragupd</KEYWORD2>\r
-        <KEYWORD2>_record-id</KEYWORD2>\r
-        <KEYWORD2>_record-misc</KEYWORD2>\r
-        <KEYWORD2>_record-reccreat</KEYWORD2>\r
-        <KEYWORD2>_record-recdel</KEYWORD2>\r
-        <KEYWORD2>_record-recread</KEYWORD2>\r
-        <KEYWORD2>_record-recupd</KEYWORD2>\r
-        <KEYWORD2>_record-trans</KEYWORD2>\r
-        <KEYWORD2>_record-uptime</KEYWORD2>\r
-        <KEYWORD2>_ref</KEYWORD2>\r
-        <KEYWORD2>_ref-table</KEYWORD2>\r
-        <KEYWORD2>_refcnstrname</KEYWORD2>\r
-        <KEYWORD2>_referstonew</KEYWORD2>\r
-        <KEYWORD2>_referstoold</KEYWORD2>\r
-        <KEYWORD2>_refowner</KEYWORD2>\r
-        <KEYWORD2>_reftblname</KEYWORD2>\r
-        <KEYWORD2>_remowner</KEYWORD2>\r
-        <KEYWORD2>_remtbl</KEYWORD2>\r
-        <KEYWORD2>_repl-agent</KEYWORD2>\r
-        <KEYWORD2>_repl-agentcontrol</KEYWORD2>\r
-        <KEYWORD2>_repl-server</KEYWORD2>\r
-        <KEYWORD2>_replagt-agentid</KEYWORD2>\r
-        <KEYWORD2>_replagt-agentname</KEYWORD2>\r
-        <KEYWORD2>_replagt-blocksack</KEYWORD2>\r
-        <KEYWORD2>_replagt-blocksprocessed</KEYWORD2>\r
-        <KEYWORD2>_replagt-blocksreceived</KEYWORD2>\r
-        <KEYWORD2>_replagt-commstatus</KEYWORD2>\r
-        <KEYWORD2>_replagt-connecttime</KEYWORD2>\r
-        <KEYWORD2>_replagt-dbname</KEYWORD2>\r
-        <KEYWORD2>_replagt-lasttrid</KEYWORD2>\r
-        <KEYWORD2>_replagt-method</KEYWORD2>\r
-        <KEYWORD2>_replagt-notesprocessed</KEYWORD2>\r
-        <KEYWORD2>_replagt-port</KEYWORD2>\r
-        <KEYWORD2>_replagt-reservedchar</KEYWORD2>\r
-        <KEYWORD2>_replagt-reservedint</KEYWORD2>\r
-        <KEYWORD2>_replagt-serverhost</KEYWORD2>\r
-        <KEYWORD2>_replagt-status</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-agentid</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-agentname</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-blocksack</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-blockssent</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-commstatus</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-connecttime</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-lastblocksentat</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-method</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-port</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-remotedbname</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-remotehost</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-reservedchar</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-reservedint</KEYWORD2>\r
-        <KEYWORD2>_replagtctl-status</KEYWORD2>\r
-        <KEYWORD2>_replsrv-agentcount</KEYWORD2>\r
-        <KEYWORD2>_replsrv-blockssent</KEYWORD2>\r
-        <KEYWORD2>_replsrv-id</KEYWORD2>\r
-        <KEYWORD2>_replsrv-lastblocksentat</KEYWORD2>\r
-        <KEYWORD2>_replsrv-reservedchar</KEYWORD2>\r
-        <KEYWORD2>_replsrv-reservedint</KEYWORD2>\r
-        <KEYWORD2>_replsrv-starttime</KEYWORD2>\r
-        <KEYWORD2>_resacc</KEYWORD2>\r
-        <KEYWORD2>_resrc</KEYWORD2>\r
-        <KEYWORD2>_resrc-id</KEYWORD2>\r
-        <KEYWORD2>_resrc-lock</KEYWORD2>\r
-        <KEYWORD2>_resrc-name</KEYWORD2>\r
-        <KEYWORD2>_resrc-time</KEYWORD2>\r
-        <KEYWORD2>_resrc-wait</KEYWORD2>\r
-        <KEYWORD2>_rolename</KEYWORD2>\r
-        <KEYWORD2>_rssid</KEYWORD2>\r
-        <KEYWORD2>_scale</KEYWORD2>\r
-        <KEYWORD2>_schemaname</KEYWORD2>\r
-        <KEYWORD2>_screator</KEYWORD2>\r
-        <KEYWORD2>_searchable</KEYWORD2>\r
-        <KEYWORD2>_segment-bytefree</KEYWORD2>\r
-        <KEYWORD2>_segment-bytesused</KEYWORD2>\r
-        <KEYWORD2>_segment-id</KEYWORD2>\r
-        <KEYWORD2>_segment-misc</KEYWORD2>\r
-        <KEYWORD2>_segment-segid</KEYWORD2>\r
-        <KEYWORD2>_segment-segsize</KEYWORD2>\r
-        <KEYWORD2>_segments</KEYWORD2>\r
-        <KEYWORD2>_sel</KEYWORD2>\r
-        <KEYWORD2>_seq</KEYWORD2>\r
-        <KEYWORD2>_seq-incr</KEYWORD2>\r
-        <KEYWORD2>_seq-init</KEYWORD2>\r
-        <KEYWORD2>_seq-max</KEYWORD2>\r
-        <KEYWORD2>_seq-min</KEYWORD2>\r
-        <KEYWORD2>_seq-misc</KEYWORD2>\r
-        <KEYWORD2>_seq-name</KEYWORD2>\r
-        <KEYWORD2>_seq-num</KEYWORD2>\r
-        <KEYWORD2>_seq-owner</KEYWORD2>\r
-        <KEYWORD2>_sequence</KEYWORD2>\r
-        <KEYWORD2>_server-byterec</KEYWORD2>\r
-        <KEYWORD2>_server-bytesent</KEYWORD2>\r
-        <KEYWORD2>_server-currusers</KEYWORD2>\r
-        <KEYWORD2>_server-id</KEYWORD2>\r
-        <KEYWORD2>_server-logins</KEYWORD2>\r
-        <KEYWORD2>_server-maxusers</KEYWORD2>\r
-        <KEYWORD2>_server-misc</KEYWORD2>\r
-        <KEYWORD2>_server-msgrec</KEYWORD2>\r
-        <KEYWORD2>_server-msgsent</KEYWORD2>\r
-        <KEYWORD2>_server-num</KEYWORD2>\r
-        <KEYWORD2>_server-pendconn</KEYWORD2>\r
-        <KEYWORD2>_server-pid</KEYWORD2>\r
-        <KEYWORD2>_server-portnum</KEYWORD2>\r
-        <KEYWORD2>_server-protocol</KEYWORD2>\r
-        <KEYWORD2>_server-qryrec</KEYWORD2>\r
-        <KEYWORD2>_server-recrec</KEYWORD2>\r
-        <KEYWORD2>_server-recsent</KEYWORD2>\r
-        <KEYWORD2>_server-timeslice</KEYWORD2>\r
-        <KEYWORD2>_server-trans</KEYWORD2>\r
-        <KEYWORD2>_server-type</KEYWORD2>\r
-        <KEYWORD2>_server-uptime</KEYWORD2>\r
-        <KEYWORD2>_servers</KEYWORD2>\r
-        <KEYWORD2>_sname</KEYWORD2>\r
-        <KEYWORD2>_sowner</KEYWORD2>\r
-        <KEYWORD2>_space-allocnewrm</KEYWORD2>\r
-        <KEYWORD2>_space-backadd</KEYWORD2>\r
-        <KEYWORD2>_space-bytesalloc</KEYWORD2>\r
-        <KEYWORD2>_space-dbexd</KEYWORD2>\r
-        <KEYWORD2>_space-examined</KEYWORD2>\r
-        <KEYWORD2>_space-fromfree</KEYWORD2>\r
-        <KEYWORD2>_space-fromrm</KEYWORD2>\r
-        <KEYWORD2>_space-front2back</KEYWORD2>\r
-        <KEYWORD2>_space-frontadd</KEYWORD2>\r
-        <KEYWORD2>_space-id</KEYWORD2>\r
-        <KEYWORD2>_space-locked</KEYWORD2>\r
-        <KEYWORD2>_space-misc</KEYWORD2>\r
-        <KEYWORD2>_space-removed</KEYWORD2>\r
-        <KEYWORD2>_space-retfree</KEYWORD2>\r
-        <KEYWORD2>_space-takefree</KEYWORD2>\r
-        <KEYWORD2>_space-trans</KEYWORD2>\r
-        <KEYWORD2>_space-uptime</KEYWORD2>\r
-        <KEYWORD2>_spare1</KEYWORD2>\r
-        <KEYWORD2>_spare2</KEYWORD2>\r
-        <KEYWORD2>_spare3</KEYWORD2>\r
-        <KEYWORD2>_spare4</KEYWORD2>\r
-        <KEYWORD2>_sql_properties</KEYWORD2>\r
-        <KEYWORD2>_sremdb</KEYWORD2>\r
-        <KEYWORD2>_startup</KEYWORD2>\r
-        <KEYWORD2>_startup-aibuffs</KEYWORD2>\r
-        <KEYWORD2>_startup-ainame</KEYWORD2>\r
-        <KEYWORD2>_startup-apwbuffs</KEYWORD2>\r
-        <KEYWORD2>_startup-apwmaxwrites</KEYWORD2>\r
-        <KEYWORD2>_startup-apwqtime</KEYWORD2>\r
-        <KEYWORD2>_startup-apwstime</KEYWORD2>\r
-        <KEYWORD2>_startup-bibuffs</KEYWORD2>\r
-        <KEYWORD2>_startup-bidelay</KEYWORD2>\r
-        <KEYWORD2>_startup-biio</KEYWORD2>\r
-        <KEYWORD2>_startup-biname</KEYWORD2>\r
-        <KEYWORD2>_startup-bitrunc</KEYWORD2>\r
-        <KEYWORD2>_startup-buffs</KEYWORD2>\r
-        <KEYWORD2>_startup-crashprot</KEYWORD2>\r
-        <KEYWORD2>_startup-directio</KEYWORD2>\r
-        <KEYWORD2>_startup-id</KEYWORD2>\r
-        <KEYWORD2>_startup-locktable</KEYWORD2>\r
-        <KEYWORD2>_startup-maxclients</KEYWORD2>\r
-        <KEYWORD2>_startup-maxservers</KEYWORD2>\r
-        <KEYWORD2>_startup-maxusers</KEYWORD2>\r
-        <KEYWORD2>_startup-misc</KEYWORD2>\r
-        <KEYWORD2>_startup-spin</KEYWORD2>\r
-        <KEYWORD2>_statbase</KEYWORD2>\r
-        <KEYWORD2>_statbase-id</KEYWORD2>\r
-        <KEYWORD2>_statementorrow</KEYWORD2>\r
-        <KEYWORD2>_stbl</KEYWORD2>\r
-        <KEYWORD2>_stblowner</KEYWORD2>\r
-        <KEYWORD2>_storageobject</KEYWORD2>\r
-        <KEYWORD2>_summary-aiwrites</KEYWORD2>\r
-        <KEYWORD2>_summary-bireads</KEYWORD2>\r
-        <KEYWORD2>_summary-biwrites</KEYWORD2>\r
-        <KEYWORD2>_summary-chkpts</KEYWORD2>\r
-        <KEYWORD2>_summary-commits</KEYWORD2>\r
-        <KEYWORD2>_summary-dbaccesses</KEYWORD2>\r
-        <KEYWORD2>_summary-dbreads</KEYWORD2>\r
-        <KEYWORD2>_summary-dbwrites</KEYWORD2>\r
-        <KEYWORD2>_summary-flushed</KEYWORD2>\r
-        <KEYWORD2>_summary-id</KEYWORD2>\r
-        <KEYWORD2>_summary-misc</KEYWORD2>\r
-        <KEYWORD2>_summary-reccreat</KEYWORD2>\r
-        <KEYWORD2>_summary-recdel</KEYWORD2>\r
-        <KEYWORD2>_summary-reclock</KEYWORD2>\r
-        <KEYWORD2>_summary-recreads</KEYWORD2>\r
-        <KEYWORD2>_summary-recupd</KEYWORD2>\r
-        <KEYWORD2>_summary-recwait</KEYWORD2>\r
-        <KEYWORD2>_summary-transcomm</KEYWORD2>\r
-        <KEYWORD2>_summary-undos</KEYWORD2>\r
-        <KEYWORD2>_summary-uptime</KEYWORD2>\r
-        <KEYWORD2>_surname</KEYWORD2>\r
-        <KEYWORD2>_sys-field</KEYWORD2>\r
-        <KEYWORD2>_sysattachtbls</KEYWORD2>\r
-        <KEYWORD2>_sysbigintstat</KEYWORD2>\r
-        <KEYWORD2>_syscalctable</KEYWORD2>\r
-        <KEYWORD2>_syscharstat</KEYWORD2>\r
-        <KEYWORD2>_syschkcolusage</KEYWORD2>\r
-        <KEYWORD2>_syschkconstrs</KEYWORD2>\r
-        <KEYWORD2>_syschkconstr_name_map</KEYWORD2>\r
-        <KEYWORD2>_syscolauth</KEYWORD2>\r
-        <KEYWORD2>_syscolstat</KEYWORD2>\r
-        <KEYWORD2>_sysdatatypes</KEYWORD2>\r
-        <KEYWORD2>_sysdatestat</KEYWORD2>\r
-        <KEYWORD2>_sysdbauth</KEYWORD2>\r
-        <KEYWORD2>_sysdblinks</KEYWORD2>\r
-        <KEYWORD2>_sysfloatstat</KEYWORD2>\r
-        <KEYWORD2>_sysidxstat</KEYWORD2>\r
-        <KEYWORD2>_sysintstat</KEYWORD2>\r
-        <KEYWORD2>_syskeycolusage</KEYWORD2>\r
-        <KEYWORD2>_sysncharstat</KEYWORD2>\r
-        <KEYWORD2>_sysnumstat</KEYWORD2>\r
-        <KEYWORD2>_sysnvarcharstat</KEYWORD2>\r
-        <KEYWORD2>_sysprocbin</KEYWORD2>\r
-        <KEYWORD2>_sysproccolumns</KEYWORD2>\r
-        <KEYWORD2>_sysprocedures</KEYWORD2>\r
-        <KEYWORD2>_sysproctext</KEYWORD2>\r
-        <KEYWORD2>_sysrealstat</KEYWORD2>\r
-        <KEYWORD2>_sysrefconstrs</KEYWORD2>\r
-        <KEYWORD2>_sysroles</KEYWORD2>\r
-        <KEYWORD2>_sysschemas</KEYWORD2>\r
-        <KEYWORD2>_sysseqauth</KEYWORD2>\r
-        <KEYWORD2>_syssmintstat</KEYWORD2>\r
-        <KEYWORD2>_syssynonyms</KEYWORD2>\r
-        <KEYWORD2>_systabauth</KEYWORD2>\r
-        <KEYWORD2>_systblconstrs</KEYWORD2>\r
-        <KEYWORD2>_systblstat</KEYWORD2>\r
-        <KEYWORD2>_systimestat</KEYWORD2>\r
-        <KEYWORD2>_systinyintstat</KEYWORD2>\r
-        <KEYWORD2>_systrigcols</KEYWORD2>\r
-        <KEYWORD2>_systrigger</KEYWORD2>\r
-        <KEYWORD2>_systsstat</KEYWORD2>\r
-        <KEYWORD2>_syststzstat</KEYWORD2>\r
-        <KEYWORD2>_sysvarcharstat</KEYWORD2>\r
-        <KEYWORD2>_sysviews</KEYWORD2>\r
-        <KEYWORD2>_sysviews_name_map</KEYWORD2>\r
-        <KEYWORD2>_tablebase</KEYWORD2>\r
-        <KEYWORD2>_tablestat</KEYWORD2>\r
-        <KEYWORD2>_tablestat-create</KEYWORD2>\r
-        <KEYWORD2>_tablestat-delete</KEYWORD2>\r
-        <KEYWORD2>_tablestat-id</KEYWORD2>\r
-        <KEYWORD2>_tablestat-read</KEYWORD2>\r
-        <KEYWORD2>_tablestat-update</KEYWORD2>\r
-        <KEYWORD2>_tbl</KEYWORD2>\r
-        <KEYWORD2>_tbl-status</KEYWORD2>\r
-        <KEYWORD2>_tbl-type</KEYWORD2>\r
-        <KEYWORD2>_tblid</KEYWORD2>\r
-        <KEYWORD2>_tblname</KEYWORD2>\r
-        <KEYWORD2>_tblowner</KEYWORD2>\r
-        <KEYWORD2>_telephone</KEYWORD2>\r
-        <KEYWORD2>_template</KEYWORD2>\r
-        <KEYWORD2>_toss-limit</KEYWORD2>\r
-        <KEYWORD2>_trans</KEYWORD2>\r
-        <KEYWORD2>_trans-coord</KEYWORD2>\r
-        <KEYWORD2>_trans-coordtx</KEYWORD2>\r
-        <KEYWORD2>_trans-counter</KEYWORD2>\r
-        <KEYWORD2>_trans-duration</KEYWORD2>\r
-        <KEYWORD2>_trans-flags</KEYWORD2>\r
-        <KEYWORD2>_trans-id</KEYWORD2>\r
-        <KEYWORD2>_trans-misc</KEYWORD2>\r
-        <KEYWORD2>_trans-num</KEYWORD2>\r
-        <KEYWORD2>_trans-state</KEYWORD2>\r
-        <KEYWORD2>_trans-txtime</KEYWORD2>\r
-        <KEYWORD2>_trans-usrnum</KEYWORD2>\r
-        <KEYWORD2>_trig-crc</KEYWORD2>\r
-        <KEYWORD2>_triggerevent</KEYWORD2>\r
-        <KEYWORD2>_triggerid</KEYWORD2>\r
-        <KEYWORD2>_triggername</KEYWORD2>\r
-        <KEYWORD2>_triggertime</KEYWORD2>\r
-        <KEYWORD2>_txe-id</KEYWORD2>\r
-        <KEYWORD2>_txe-locks</KEYWORD2>\r
-        <KEYWORD2>_txe-lockss</KEYWORD2>\r
-        <KEYWORD2>_txe-time</KEYWORD2>\r
-        <KEYWORD2>_txe-type</KEYWORD2>\r
-        <KEYWORD2>_txe-wait-time</KEYWORD2>\r
-        <KEYWORD2>_txe-waits</KEYWORD2>\r
-        <KEYWORD2>_txe-waitss</KEYWORD2>\r
-        <KEYWORD2>_txelock</KEYWORD2>\r
-        <KEYWORD2>_typeprecision</KEYWORD2>\r
-        <KEYWORD2>_u-misc1</KEYWORD2>\r
-        <KEYWORD2>_u-misc2</KEYWORD2>\r
-        <KEYWORD2>_unique</KEYWORD2>\r
-        <KEYWORD2>_unsignedattr</KEYWORD2>\r
-        <KEYWORD2>_unsorted</KEYWORD2>\r
-        <KEYWORD2>_upd</KEYWORD2>\r
-        <KEYWORD2>_updatable</KEYWORD2>\r
-        <KEYWORD2>_user</KEYWORD2>\r
-        <KEYWORD2>_user-misc</KEYWORD2>\r
-        <KEYWORD2>_user-name</KEYWORD2>\r
-        <KEYWORD2>_userid</KEYWORD2>\r
-        <KEYWORD2>_userio</KEYWORD2>\r
-        <KEYWORD2>_userio-airead</KEYWORD2>\r
-        <KEYWORD2>_userio-aiwrite</KEYWORD2>\r
-        <KEYWORD2>_userio-biread</KEYWORD2>\r
-        <KEYWORD2>_userio-biwrite</KEYWORD2>\r
-        <KEYWORD2>_userio-dbaccess</KEYWORD2>\r
-        <KEYWORD2>_userio-dbread</KEYWORD2>\r
-        <KEYWORD2>_userio-dbwrite</KEYWORD2>\r
-        <KEYWORD2>_userio-id</KEYWORD2>\r
-        <KEYWORD2>_userio-misc</KEYWORD2>\r
-        <KEYWORD2>_userio-name</KEYWORD2>\r
-        <KEYWORD2>_userio-usr</KEYWORD2>\r
-        <KEYWORD2>_userlock</KEYWORD2>\r
-        <KEYWORD2>_userlock-chain</KEYWORD2>\r
-        <KEYWORD2>_userlock-flags</KEYWORD2>\r
-        <KEYWORD2>_userlock-id</KEYWORD2>\r
-        <KEYWORD2>_userlock-misc</KEYWORD2>\r
-        <KEYWORD2>_userlock-name</KEYWORD2>\r
-        <KEYWORD2>_userlock-recid</KEYWORD2>\r
-        <KEYWORD2>_userlock-type</KEYWORD2>\r
-        <KEYWORD2>_userlock-usr</KEYWORD2>\r
-        <KEYWORD2>_username</KEYWORD2>\r
-        <KEYWORD2>_userstatus</KEYWORD2>\r
-        <KEYWORD2>_userstatus-counter</KEYWORD2>\r
-        <KEYWORD2>_userstatus-objectid</KEYWORD2>\r
-        <KEYWORD2>_userstatus-objecttype</KEYWORD2>\r
-        <KEYWORD2>_userstatus-operation</KEYWORD2>\r
-        <KEYWORD2>_userstatus-state</KEYWORD2>\r
-        <KEYWORD2>_userstatus-target</KEYWORD2>\r
-        <KEYWORD2>_userstatus-userid</KEYWORD2>\r
-        <KEYWORD2>_user_number</KEYWORD2>\r
-        <KEYWORD2>_valexp</KEYWORD2>\r
-        <KEYWORD2>_valmsg</KEYWORD2>\r
-        <KEYWORD2>_valmsg-sa</KEYWORD2>\r
-        <KEYWORD2>_value</KEYWORD2>\r
-        <KEYWORD2>_value_ch</KEYWORD2>\r
-        <KEYWORD2>_value_n</KEYWORD2>\r
-        <KEYWORD2>_val_ts</KEYWORD2>\r
-        <KEYWORD2>_vcol-order</KEYWORD2>\r
-        <KEYWORD2>_version</KEYWORD2>\r
-        <KEYWORD2>_view</KEYWORD2>\r
-        <KEYWORD2>_view-as</KEYWORD2>\r
-        <KEYWORD2>_view-col</KEYWORD2>\r
-        <KEYWORD2>_view-def</KEYWORD2>\r
-        <KEYWORD2>_view-name</KEYWORD2>\r
-        <KEYWORD2>_view-ref</KEYWORD2>\r
-        <KEYWORD2>_viewname</KEYWORD2>\r
-        <KEYWORD2>_viewtext</KEYWORD2>\r
-        <KEYWORD2>_where-cls</KEYWORD2>\r
-        <KEYWORD2>_width</KEYWORD2>\r
-        <KEYWORD2>_word-rule</KEYWORD2>\r
-        <KEYWORD2>_word-rules</KEYWORD2>\r
-        <KEYWORD2>_wordidx</KEYWORD2>\r
-        <KEYWORD2>_wr-attr</KEYWORD2>\r
-        <KEYWORD2>_wr-cp</KEYWORD2>\r
-        <KEYWORD2>_wr-name</KEYWORD2>\r
-        <KEYWORD2>_wr-number</KEYWORD2>\r
-        <KEYWORD2>_wr-segment</KEYWORD2>\r
-        <KEYWORD2>_wr-type</KEYWORD2>\r
-        <KEYWORD2>_wr-version</KEYWORD2>\r
-\r
-\r
-\r
-\r
-\r
-\r
-      <!-- INVALID    : Deprecated keywords -->\r
-        <INVALID>USE-INDEX</INVALID>\r
-        <INVALID>UNIX</INVALID>\r
-        <INVALID>DOS</INVALID>\r
-        <INVALID>VMS</INVALID>\r
-        <INVALID>BTOS</INVALID>\r
-        <INVALID>CTOS</INVALID>\r
-        <INVALID>OS2</INVALID>\r
-        <INVALID>OS400</INVALID>\r
-        <INVALID>EDITING</INVALID>\r
-        <INVALID>CHOOSE</INVALID>\r
-        <INVALID>PROMPT-FOR</INVALID>\r
-        <INVALID>SHARE-LOCK</INVALID>\r
-        <INVALID>READKEY</INVALID>\r
-        <INVALID>GO-PENDING</INVALID>\r
-        <INVALID>VALIDATE</INVALID>\r
-        <INVALID>IS-ATTR-SPACE</INVALID>\r
-        <INVALID>GATEWAYS</INVALID>\r
-        <INVALID>SCROLL</INVALID>\r
-\r
-        <!-- Removed or renamed keywords -->\r
-        <INVALID>ITERATION-CHANGED</INVALID>\r
-        <INVALID>BEFORE-RECORD-FILL</INVALID>\r
-        <INVALID>AFTER-RECORD-FILL</INVALID>\r
-        <INVALID>REPOSITION-MODE</INVALID>\r
-\r
-\r
-\r
-      <!-- COMMENT2   : Preprocessor statements -->\r
-        <COMMENT2>&amp;ADM-CONTAINER</COMMENT2>\r
-        <COMMENT2>&amp;ADM-SUPPORTED-LINKS</COMMENT2>\r
-        <COMMENT2>&amp;ANALYZE-RESUME</COMMENT2>\r
-        <COMMENT2>&amp;ANALYZE-SUSPEND</COMMENT2>\r
-        <COMMENT2>&amp;BATCH-MODE</COMMENT2>\r
-        <COMMENT2>&amp;BROWSE-NAME</COMMENT2>\r
-        <COMMENT2>&amp;DEFINED</COMMENT2>\r
-        <COMMENT2>&amp;DISPLAYED-FIELDS</COMMENT2>\r
-        <COMMENT2>&amp;DISPLAYED-OBJECTS</COMMENT2>\r
-        <COMMENT2>&amp;ELSE</COMMENT2>\r
-        <COMMENT2>&amp;ELSEIF</COMMENT2>\r
-        <COMMENT2>&amp;ENABLED-FIELDS-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;ENABLED-FIELDS</COMMENT2>\r
-        <COMMENT2>&amp;ENABLED-OBJECTS</COMMENT2>\r
-        <COMMENT2>&amp;ENABLED-TABLES-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;ENABLED-TABLES</COMMENT2>\r
-        <COMMENT2>&amp;ENDIF</COMMENT2>\r
-        <COMMENT2>&amp;EXTERNAL-TABLES</COMMENT2>\r
-        <COMMENT2>&amp;FIELD-PAIRS-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;FIELD-PAIRS</COMMENT2>\r
-        <COMMENT2>&amp;FIELDS-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;FILE-NAME</COMMENT2>\r
-        <COMMENT2>&amp;FIRST-EXTERNAL-TABLE</COMMENT2>\r
-        <COMMENT2>&amp;FIRST-TABLE-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;FRAME-NAME</COMMENT2>\r
-        <COMMENT2>&amp;GLOB</COMMENT2>\r
-        <COMMENT2>&amp;GLOBAL-DEFINE</COMMENT2>\r
-        <COMMENT2>&amp;IF</COMMENT2>\r
-        <COMMENT2>&amp;INCLUDE</COMMENT2>\r
-        <COMMENT2>&amp;INTERNAL-TABLES</COMMENT2>\r
-        <COMMENT2>&amp;LAYOUT-VARIABLE</COMMENT2>\r
-        <COMMENT2>&amp;LINE-NUMBER</COMMENT2>\r
-        <COMMENT2>&amp;LIST-1</COMMENT2>\r
-        <COMMENT2>&amp;LIST-2</COMMENT2>\r
-        <COMMENT2>&amp;LIST-3</COMMENT2>\r
-        <COMMENT2>&amp;LIST-4</COMMENT2>\r
-        <COMMENT2>&amp;LIST-5</COMMENT2>\r
-        <COMMENT2>&amp;LIST-6</COMMENT2>\r
-        <COMMENT2>&amp;MESSAGE</COMMENT2>\r
-        <COMMENT2>&amp;NEW</COMMENT2>\r
-        <COMMENT2>&amp;OPEN-BROWSERS-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;OPEN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;OPSYS</COMMENT2>\r
-        <COMMENT2>&amp;PROCEDURE-TYPE</COMMENT2>\r
-        <COMMENT2>&amp;QUERY-NAME</COMMENT2>\r
-        <COMMENT2>&amp;SCOP</COMMENT2>\r
-        <COMMENT2>&amp;SCOPED-DEFINE</COMMENT2>\r
-        <COMMENT2>&amp;SELF-NAME</COMMENT2>\r
-        <COMMENT2>&amp;SEQUENCE</COMMENT2>\r
-        <COMMENT2>&amp;TABLES-IN-QUERY</COMMENT2>\r
-        <COMMENT2>&amp;THEN</COMMENT2>\r
-        <COMMENT2>&amp;UIB_is_Running</COMMENT2>\r
-        <COMMENT2>&amp;UNDEFINE</COMMENT2>\r
-        <COMMENT2>&amp;WINDOW-NAME</COMMENT2>\r
-        <COMMENT2>&amp;WINDOW-SYSTEM</COMMENT2>\r
-        <COMMENT2>DEFINED</COMMENT2>\r
-        <COMMENT2>PROCEDURE-TYPE</COMMENT2>\r
-        <COMMENT2>_CREATE-WINDOW</COMMENT2>\r
-        <COMMENT2>_CUSTOM _DEFINITIONS</COMMENT2>\r
-        <COMMENT2>_CUSTOM _MAIN-BLOCK</COMMENT2>\r
-        <COMMENT2>_CUSTOM</COMMENT2>\r
-        <COMMENT2>_DEFINITIONS</COMMENT2>\r
-        <COMMENT2>_END-PROCEDURE-SETTINGS</COMMENT2>\r
-        <COMMENT2>_FUNCTION-FORWARD</COMMENT2>\r
-        <COMMENT2>_FUNCTION</COMMENT2>\r
-        <COMMENT2>_INCLUDED-LIB</COMMENT2>\r
-        <COMMENT2>_INLINE</COMMENT2>\r
-        <COMMENT2>_MAIN-BLOCK</COMMENT2>\r
-        <COMMENT2>_PROCEDURE-SETTINGS</COMMENT2>\r
-        <COMMENT2>_PROCEDURE</COMMENT2>\r
-        <COMMENT2>_UIB-CODE-BLOCK</COMMENT2>\r
-        <COMMENT2>_UIB-PREPROCESSOR-BLOCK</COMMENT2>\r
-        <COMMENT2>_VERSION-NUMBER</COMMENT2>\r
-        <COMMENT2>_XFTR</COMMENT2>\r
-\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/prolog.xml b/extra/xmode/modes/prolog.xml
deleted file mode 100644 (file)
index bd5adbd..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--   jEdit Prolog syntax file\r
-       based on the INRIA ISO Prolog web page @ http://pauillac.inria.fr/~hodgson/prolog\r
-\r
-       written by      Giulio Piancastelli\r
-       version         1.0\r
-       created on      31st December 2001\r
-       last revised    19th November 2002\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="%" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-       \r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-               <!--- ISO compliant C-style comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               \r
-               <!-- String literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               \r
-               <!-- List literals -->\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               \r
-               <!-- Operators -->\r
-               <SEQ TYPE="OPERATOR">--&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">:-</SEQ>\r
-               <SEQ TYPE="OPERATOR">?-</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">\+</SEQ> <!-- ISO Prolog uses it instead of 'not' -->\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">\==</SEQ>\r
-               <SEQ TYPE="OPERATOR">\=</SEQ>\r
-               <SEQ TYPE="OPERATOR">@&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">@=&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">@&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">@&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=..</SEQ>\r
-               <SEQ TYPE="OPERATOR">=:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=\=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/\</SEQ>\r
-               <SEQ TYPE="OPERATOR">\/</SEQ>\r
-               <SEQ TYPE="OPERATOR">//</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">**</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               \r
-               <!-- The '.' at the end of each clause -->\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               \r
-               <!-- Parentheses -->\r
-               <SEQ TYPE="MARKUP">(</SEQ>\r
-               <SEQ TYPE="MARKUP">)</SEQ>\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               \r
-               <KEYWORDS>\r
-               \r
-                       <!-- Keywords that are 0 arity built-in predicates -->\r
-                       <KEYWORD1>true</KEYWORD1>\r
-                       <KEYWORD1>fail</KEYWORD1>\r
-                       <KEYWORD1>!</KEYWORD1> <!-- cut -->\r
-                       <KEYWORD1>at_end_of_stream</KEYWORD1>\r
-                       <KEYWORD1>nl</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>halt</KEYWORD1>\r
-                       \r
-                       <!-- Keywords that are built-in predicates with arity greater than or equal to 1 -->\r
-                       <FUNCTION>call</FUNCTION>\r
-                       <FUNCTION>catch</FUNCTION>\r
-                       <FUNCTION>throw</FUNCTION>\r
-                       <FUNCTION>unify_with_occurs_check</FUNCTION>\r
-                       <FUNCTION>var</FUNCTION>\r
-                       <FUNCTION>atom</FUNCTION>\r
-                       <FUNCTION>integer</FUNCTION>\r
-                       <FUNCTION>float</FUNCTION>\r
-                       <FUNCTION>atomic</FUNCTION>\r
-                       <FUNCTION>compound</FUNCTION>\r
-                       <FUNCTION>nonvar</FUNCTION>\r
-                       <FUNCTION>number</FUNCTION>\r
-                       <FUNCTION>functor</FUNCTION>\r
-                       <FUNCTION>arg</FUNCTION>\r
-                       <FUNCTION>copy_term</FUNCTION>\r
-                       <FUNCTION>clause</FUNCTION>\r
-                       <FUNCTION>current_predicate</FUNCTION>\r
-                       <FUNCTION>asserta</FUNCTION>\r
-                       <FUNCTION>assertz</FUNCTION>\r
-                       <FUNCTION>retract</FUNCTION>\r
-                       <FUNCTION>abolish</FUNCTION>\r
-                       <FUNCTION>findall</FUNCTION>\r
-                       <FUNCTION>bagof</FUNCTION>\r
-                       <FUNCTION>setof</FUNCTION>\r
-                       <FUNCTION>current_input</FUNCTION>\r
-                       <FUNCTION>current_output</FUNCTION>\r
-                       <FUNCTION>set_input</FUNCTION>\r
-                       <FUNCTION>set_output</FUNCTION>\r
-                       <FUNCTION>open</FUNCTION>\r
-                       <FUNCTION>close</FUNCTION>\r
-                       <FUNCTION>stream_property</FUNCTION>\r
-                       <FUNCTION>at_end_of_stream</FUNCTION> <!-- arity 1 -->\r
-                       <FUNCTION>set_stream_position</FUNCTION>\r
-                       <FUNCTION>get_char</FUNCTION>\r
-                       <FUNCTION>get_code</FUNCTION>\r
-                       <FUNCTION>peek_char</FUNCTION>\r
-                       <FUNCTION>peek_code</FUNCTION>\r
-                       <FUNCTION>put_char</FUNCTION>\r
-                       <FUNCTION>put_code</FUNCTION>\r
-                       <FUNCTION>nl</FUNCTION> <!-- arity 1 -->\r
-                       <FUNCTION>get_byte</FUNCTION>\r
-                       <FUNCTION>peek_byte</FUNCTION>\r
-                       <FUNCTION>put_byte</FUNCTION>\r
-                       <FUNCTION>read_term</FUNCTION>\r
-                       <FUNCTION>read</FUNCTION>\r
-                       <FUNCTION>write_term</FUNCTION>\r
-                       <FUNCTION>write</FUNCTION>\r
-                       <FUNCTION>writeq</FUNCTION>\r
-                       <FUNCTION>write_canonical</FUNCTION>\r
-                       <FUNCTION>op</FUNCTION>\r
-                       <FUNCTION>current_op</FUNCTION>\r
-                       <FUNCTION>char_conversion</FUNCTION>\r
-                       <FUNCTION>current_char_conversion</FUNCTION>\r
-                       <FUNCTION>once</FUNCTION>\r
-                       <FUNCTION>atom_length</FUNCTION>\r
-                       <FUNCTION>atom_concat</FUNCTION>\r
-                       <FUNCTION>sub_atom</FUNCTION>\r
-                       <FUNCTION>atom_chars</FUNCTION>\r
-                       <FUNCTION>atom_codes</FUNCTION>\r
-                       <FUNCTION>char_code</FUNCTION>\r
-                       <FUNCTION>number_chars</FUNCTION>\r
-                       <FUNCTION>number_codes</FUNCTION>\r
-                       <FUNCTION>set_prolog_flag</FUNCTION>\r
-                       <FUNCTION>current_prolog_flag</FUNCTION>\r
-                       <FUNCTION>halt</FUNCTION> <!-- arity 1 -->\r
-                       \r
-                       <!-- Mathematical functions -->\r
-                       <FUNCTION>sin</FUNCTION>\r
-                       <FUNCTION>cos</FUNCTION>\r
-                       <FUNCTION>atan</FUNCTION>\r
-                       <FUNCTION>exp</FUNCTION>\r
-                       <FUNCTION>log</FUNCTION>\r
-                       <FUNCTION>sqrt</FUNCTION>\r
-                       \r
-                       <!-- Keywords that should be operators -->\r
-                       <KEYWORD2>is</KEYWORD2>\r
-                       <KEYWORD2>rem</KEYWORD2>\r
-                       <KEYWORD2>mod</KEYWORD2>\r
-                       \r
-                       <!-- Singleton variable -->\r
-                       <KEYWORD3>_</KEYWORD3>\r
-                       \r
-               </KEYWORDS>\r
-               \r
-       </RULES>\r
-\r
-       <RULES SET="LIST" DEFAULT="LITERAL2">\r
-               <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/props.xml b/extra/xmode/modes/props.xml
deleted file mode 100644 (file)
index f3d0511..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-       <RULES DEFAULT="KEYWORD1">\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">=</EOL_SPAN>\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">:</EOL_SPAN>\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE"> </EOL_SPAN>\r
-               <EOL_SPAN TYPE="NULL" DELEGATE="PROP_VALUE">    </EOL_SPAN>\r
-       </RULES>\r
-       <RULES SET="PROP_VALUE" HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="([\p{Digit}]+|#[\p{XDigit}]+)"\r
-               NO_WORD_SEP="#">\r
-               <!-- MessageFormat { ... } stuff -->\r
-               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <!-- Sillyness -->\r
-               <MARK_FOLLOWING TYPE="DIGIT">#</MARK_FOLLOWING>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/psp.xml b/extra/xmode/modes/psp.xml
deleted file mode 100644 (file)
index 2adc5a1..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE">\r
-\r
-               <SPAN TYPE="LITERAL4" DELEGATE="DIRECTIVE">\r
-                       <BEGIN>&lt;%@</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- PSP comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;%--</BEGIN>\r
-                       <END>--%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- inline Python code -->\r
-               <SPAN TYPE="LITERAL3" DELEGATE="python::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Client-side javascript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="jscript"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script language="javascript"&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP" DELEGATE="javascript::MAIN">\r
-                       <BEGIN>&lt;script&gt;</BEGIN>\r
-                       <END>&lt;/script&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Server-Side include -->\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="css::MAIN">\r
-                       <BEGIN>&lt;STYLE&gt;</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-       </RULES>\r
-\r
-       <!-- ESCAPE is not exactly right but it is needed to correctly\r
-            handle JavaScript in on* parameters -->\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <!-- PSP comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>&lt;%--</BEGIN>\r
-                       <END>--%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL3" DELEGATE="python::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="DIRECTIVE" DEFAULT="LITERAL4">\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD4>include</KEYWORD4>\r
-\r
-                       <KEYWORD4>file</KEYWORD4>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ptl.xml b/extra/xmode/modes/ptl.xml
deleted file mode 100644 (file)
index b47f9a9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="ptl"                       FILE="ptl.xml"\r
-                               FILE_NAME_GLOB="*.ptl"/>\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <IMPORT DELEGATE="python::MAIN"/>\r
-\r
-               <SEQ TYPE="KEYWORD4">[html]</SEQ>\r
-               <SEQ TYPE="KEYWORD4">[plain]</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <LITERAL4>_q_access</LITERAL4>\r
-                       <LITERAL4>_q_exports</LITERAL4>\r
-                       <LITERAL4>_q_index</LITERAL4>\r
-                       <LITERAL4>_q_lookup</LITERAL4>\r
-                       <LITERAL4>_q_resolve</LITERAL4>\r
-                       <LITERAL4>_q_exception_handler</LITERAL4>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/pvwave.xml b/extra/xmode/modes/pvwave.xml
deleted file mode 100644 (file)
index 8a74b4a..0000000
+++ /dev/null
@@ -1,722 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- PV-WAVE mode, by Ed Stewart\r
-     based on Java mode by Mike Dillon and IDLTokenMarker by Juha Lindfors -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">#</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="LABEL">$</SEQ>\r
-               <SEQ TYPE="LABEL">&amp;</SEQ>\r
-               <SEQ TYPE="LABEL">@</SEQ>\r
-               <SEQ TYPE="LABEL">!</SEQ>\r
-\r
-               <KEYWORDS>\r
-               <!--KEYWORD1s are standard functions and procedures -->\r
-                       <KEYWORD1>abs</KEYWORD1>\r
-                       <KEYWORD1>acos</KEYWORD1>\r
-                       <KEYWORD1>add_exec_on_select</KEYWORD1>\r
-                       <KEYWORD1>addsysvar</KEYWORD1>\r
-                       <KEYWORD1>addvar</KEYWORD1>\r
-                       <KEYWORD1>affine</KEYWORD1>\r
-                       <KEYWORD1>alog</KEYWORD1>\r
-                       <KEYWORD1>alog10</KEYWORD1>\r
-                       <KEYWORD1>asarr</KEYWORD1>\r
-                       <KEYWORD1>asin</KEYWORD1>\r
-                       <KEYWORD1>askeys</KEYWORD1>\r
-                       <KEYWORD1>assoc</KEYWORD1>\r
-                       <KEYWORD1>atan</KEYWORD1>\r
-                       <KEYWORD1>avg</KEYWORD1>\r
-                       <KEYWORD1>axis</KEYWORD1>\r
-                       <KEYWORD1>bar</KEYWORD1>\r
-                       <KEYWORD1>bar2d</KEYWORD1>\r
-                       <KEYWORD1>bar3d</KEYWORD1>\r
-                       <KEYWORD1>beseli</KEYWORD1>\r
-                       <KEYWORD1>beselj</KEYWORD1>\r
-                       <KEYWORD1>besely</KEYWORD1>\r
-                       <KEYWORD1>bilinear</KEYWORD1>\r
-                       <KEYWORD1>bindgen</KEYWORD1>\r
-                       <KEYWORD1>blob</KEYWORD1>\r
-                       <KEYWORD1>blobcount</KEYWORD1>\r
-                       <KEYWORD1>boundary</KEYWORD1>\r
-                       <KEYWORD1>build_table</KEYWORD1>\r
-                       <KEYWORD1>buildresourcefilename</KEYWORD1>\r
-                       <KEYWORD1>bytarr</KEYWORD1>\r
-                       <KEYWORD1>byte</KEYWORD1>\r
-                       <KEYWORD1>byteorder</KEYWORD1>\r
-                       <KEYWORD1>bytscl</KEYWORD1>\r
-                       <KEYWORD1>c_edit</KEYWORD1>\r
-                       <KEYWORD1>call_unix</KEYWORD1>\r
-                       <KEYWORD1>cd</KEYWORD1>\r
-                       <KEYWORD1>center_view</KEYWORD1>\r
-                       <KEYWORD1>chebyshev</KEYWORD1>\r
-                       <KEYWORD1>check_math</KEYWORD1>\r
-                       <KEYWORD1>checkfile</KEYWORD1>\r
-                       <KEYWORD1>cindgen</KEYWORD1>\r
-                       <KEYWORD1>close</KEYWORD1>\r
-                       <KEYWORD1>color_convert</KEYWORD1>\r
-                       <KEYWORD1>color_edit</KEYWORD1>\r
-                       <KEYWORD1>color_palette</KEYWORD1>\r
-                       <KEYWORD1>complex</KEYWORD1>\r
-                       <KEYWORD1>complexarr</KEYWORD1>\r
-                       <KEYWORD1>cone</KEYWORD1>\r
-                       <KEYWORD1>congrid</KEYWORD1>\r
-                       <KEYWORD1>conj</KEYWORD1>\r
-                       <KEYWORD1>contour</KEYWORD1>\r
-                       <KEYWORD1>contour2</KEYWORD1>\r
-                       <KEYWORD1>contourfill</KEYWORD1>\r
-                       <KEYWORD1>conv_from_rect</KEYWORD1>\r
-                       <KEYWORD1>conv_to_rect</KEYWORD1>\r
-                       <KEYWORD1>convert_coord</KEYWORD1>\r
-                       <KEYWORD1>convol</KEYWORD1>\r
-                       <KEYWORD1>correlate</KEYWORD1>\r
-                       <KEYWORD1>cos</KEYWORD1>\r
-                       <KEYWORD1>cosh</KEYWORD1>\r
-                       <KEYWORD1>cosines</KEYWORD1>\r
-                       <KEYWORD1>cprod</KEYWORD1>\r
-                       <KEYWORD1>create_holidays</KEYWORD1>\r
-                       <KEYWORD1>create_weekdends</KEYWORD1>\r
-                       <KEYWORD1>crossp</KEYWORD1>\r
-                       <KEYWORD1>cursor</KEYWORD1>\r
-                       <KEYWORD1>curvatures</KEYWORD1>\r
-                       <KEYWORD1>curvefit</KEYWORD1>\r
-                       <KEYWORD1>cylinder</KEYWORD1>\r
-                       <KEYWORD1>day_name</KEYWORD1>\r
-                       <KEYWORD1>day_of_week</KEYWORD1>\r
-                       <KEYWORD1>day_of_year</KEYWORD1>\r
-                       <KEYWORD1>dblarr</KEYWORD1>\r
-                       <KEYWORD1>dc_error_msg</KEYWORD1>\r
-                       <KEYWORD1>dc_options</KEYWORD1>\r
-                       <KEYWORD1>dc_read_24_bit</KEYWORD1>\r
-                       <KEYWORD1>dc_read_8_bit</KEYWORD1>\r
-                       <KEYWORD1>dc_read_container</KEYWORD1>\r
-                       <KEYWORD1>dc_read_dib</KEYWORD1>\r
-                       <KEYWORD1>dc_read_fixed</KEYWORD1>\r
-                       <KEYWORD1>dc_read_free</KEYWORD1>\r
-                       <KEYWORD1>dc_read_tiff</KEYWORD1>\r
-                       <KEYWORD1>dc_scan_container</KEYWORD1>\r
-                       <KEYWORD1>dc_write_24_bit</KEYWORD1>\r
-                       <KEYWORD1>dc_write_8_bit</KEYWORD1>\r
-                       <KEYWORD1>dc_write_dib</KEYWORD1>\r
-                       <KEYWORD1>dc_write_fixed</KEYWORD1>\r
-                       <KEYWORD1>dc_write_free</KEYWORD1>\r
-                       <KEYWORD1>dc_write_tiff</KEYWORD1>\r
-                       <KEYWORD1>dcindgen</KEYWORD1>\r
-                       <KEYWORD1>dcomplex</KEYWORD1>\r
-                       <KEYWORD1>dcomplexarr</KEYWORD1>\r
-                       <KEYWORD1>declare func</KEYWORD1>\r
-                       <KEYWORD1>declare function</KEYWORD1>\r
-                       <KEYWORD1>define_key</KEYWORD1>\r
-                       <KEYWORD1>defroi</KEYWORD1>\r
-                       <KEYWORD1>defsysv</KEYWORD1>\r
-                       <KEYWORD1>del_file</KEYWORD1>\r
-                       <KEYWORD1>delfunc</KEYWORD1>\r
-                       <KEYWORD1>dellog</KEYWORD1>\r
-                       <KEYWORD1>delproc</KEYWORD1>\r
-                       <KEYWORD1>delstruct</KEYWORD1>\r
-                       <KEYWORD1>delvar</KEYWORD1>\r
-                       <KEYWORD1>demo</KEYWORD1>\r
-                       <KEYWORD1>deriv</KEYWORD1>\r
-                       <KEYWORD1>derivn</KEYWORD1>\r
-                       <KEYWORD1>determ</KEYWORD1>\r
-                       <KEYWORD1>device</KEYWORD1>\r
-                       <KEYWORD1>diag</KEYWORD1>\r
-                       <KEYWORD1>dicm_tag_info</KEYWORD1>\r
-                       <KEYWORD1>digital_filter</KEYWORD1>\r
-                       <KEYWORD1>dilate</KEYWORD1>\r
-                       <KEYWORD1>dindgen</KEYWORD1>\r
-                       <KEYWORD1>dist</KEYWORD1>\r
-                       <KEYWORD1>dminit</KEYWORD1>\r
-                       <KEYWORD1>doc_lib_unix</KEYWORD1>\r
-                       <KEYWORD1>doc_library</KEYWORD1>\r
-                       <KEYWORD1>double</KEYWORD1>\r
-                       <KEYWORD1>drop_exec_on_select</KEYWORD1>\r
-                       <KEYWORD1>dt_add</KEYWORD1>\r
-                       <KEYWORD1>dt_addly</KEYWORD1>\r
-                       <KEYWORD1>dt_compress</KEYWORD1>\r
-                       <KEYWORD1>dt_duration</KEYWORD1>\r
-                       <KEYWORD1>dt_print</KEYWORD1>\r
-                       <KEYWORD1>dt_subly</KEYWORD1>\r
-                       <KEYWORD1>dt_subtract</KEYWORD1>\r
-                       <KEYWORD1>dt_to_sec</KEYWORD1>\r
-                       <KEYWORD1>dt_to_str</KEYWORD1>\r
-                       <KEYWORD1>dt_to_var</KEYWORD1>\r
-                       <KEYWORD1>dtegn</KEYWORD1>\r
-                       <KEYWORD1>empty</KEYWORD1>\r
-                       <KEYWORD1>environment</KEYWORD1>\r
-                       <KEYWORD1>eof</KEYWORD1>\r
-                       <KEYWORD1>erase</KEYWORD1>\r
-                       <KEYWORD1>erode</KEYWORD1>\r
-                       <KEYWORD1>errorf</KEYWORD1>\r
-                       <KEYWORD1>errplot</KEYWORD1>\r
-                       <KEYWORD1>euclidean</KEYWORD1>\r
-                       <KEYWORD1>exec_on_select</KEYWORD1>\r
-                       <KEYWORD1>execute</KEYWORD1>\r
-                       <KEYWORD1>exp</KEYWORD1>\r
-                       <KEYWORD1>expand</KEYWORD1>\r
-                       <KEYWORD1>expon</KEYWORD1>\r
-                       <KEYWORD1>extrema</KEYWORD1>\r
-                       <KEYWORD1>factor</KEYWORD1>\r
-                       <KEYWORD1>fast_grid2</KEYWORD1>\r
-                       <KEYWORD1>fast_grid3</KEYWORD1>\r
-                       <KEYWORD1>fast_grid4</KEYWORD1>\r
-                       <KEYWORD1>fft</KEYWORD1>\r
-                       <KEYWORD1>filepath</KEYWORD1>\r
-                       <KEYWORD1>findfile</KEYWORD1>\r
-                       <KEYWORD1>findgen</KEYWORD1>\r
-                       <KEYWORD1>finite</KEYWORD1>\r
-                       <KEYWORD1>fix</KEYWORD1>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>fltarr</KEYWORD1>\r
-                       <KEYWORD1>flush</KEYWORD1>\r
-                       <KEYWORD1>free_lun</KEYWORD1>\r
-                       <KEYWORD1>fstat</KEYWORD1>\r
-                       <KEYWORD1>funct</KEYWORD1>\r
-                       <KEYWORD1>gamma</KEYWORD1>\r
-                       <KEYWORD1>gaussfit</KEYWORD1>\r
-                       <KEYWORD1>gaussint</KEYWORD1>\r
-                       <KEYWORD1>gcd</KEYWORD1>\r
-                       <KEYWORD1>get_kbrd</KEYWORD1>\r
-                       <KEYWORD1>get_lun</KEYWORD1>\r
-                       <KEYWORD1>getenv</KEYWORD1>\r
-                       <KEYWORD1>get_named_color</KEYWORD1>\r
-                       <KEYWORD1>getncerr</KEYWORD1>\r
-                       <KEYWORD1>getncopts</KEYWORD1>\r
-                       <KEYWORD1>getparam</KEYWORD1>\r
-                       <KEYWORD1>great_int</KEYWORD1>\r
-                       <KEYWORD1>grid</KEYWORD1>\r
-                       <KEYWORD1>grid_2d</KEYWORD1>\r
-                       <KEYWORD1>grid_3d</KEYWORD1>\r
-                       <KEYWORD1>grid_4d</KEYWORD1>\r
-                       <KEYWORD1>grid_sphere</KEYWORD1>\r
-                       <KEYWORD1>gridn</KEYWORD1>\r
-                       <KEYWORD1>group_by</KEYWORD1>\r
-                       <KEYWORD1>hak</KEYWORD1>\r
-                       <KEYWORD1>hanning</KEYWORD1>\r
-                       <KEYWORD1>hdf_test</KEYWORD1>\r
-                       <KEYWORD1>hdfgetsds</KEYWORD1>\r
-                       <KEYWORD1>help</KEYWORD1>\r
-                       <KEYWORD1>hilbert</KEYWORD1>\r
-                       <KEYWORD1>hist_equal</KEYWORD1>\r
-                       <KEYWORD1>hist_equal_ct</KEYWORD1>\r
-                       <KEYWORD1>histn</KEYWORD1>\r
-                       <KEYWORD1>histogram</KEYWORD1>\r
-                       <KEYWORD1>hls</KEYWORD1>\r
-                       <KEYWORD1>hsv</KEYWORD1>\r
-                       <KEYWORD1>hsv_to_rgd</KEYWORD1>\r
-                       <KEYWORD1>image_check</KEYWORD1>\r
-                       <KEYWORD1>image_color_quant</KEYWORD1>\r
-                       <KEYWORD1>image_cont</KEYWORD1>\r
-                       <KEYWORD1>image_create</KEYWORD1>\r
-                       <KEYWORD1>image_display</KEYWORD1>\r
-                       <KEYWORD1>image_filetypes</KEYWORD1>\r
-                       <KEYWORD1>image_query_file</KEYWORD1>\r
-                       <KEYWORD1>image_read</KEYWORD1>\r
-                       <KEYWORD1>image_write</KEYWORD1>\r
-                       <KEYWORD1>imaginary</KEYWORD1>\r
-                       <KEYWORD1>img_true8</KEYWORD1>\r
-                       <KEYWORD1>index_and</KEYWORD1>\r
-                       <KEYWORD1>index_conv</KEYWORD1>\r
-                       <KEYWORD1>index_or</KEYWORD1>\r
-                       <KEYWORD1>indgen</KEYWORD1>\r
-                       <KEYWORD1>intarr</KEYWORD1>\r
-                       <KEYWORD1>interpol</KEYWORD1>\r
-                       <KEYWORD1>interpolate</KEYWORD1>\r
-                       <KEYWORD1>intrp</KEYWORD1>\r
-                       <KEYWORD1>invert</KEYWORD1>\r
-                       <KEYWORD1>isaskey</KEYWORD1>\r
-                       <KEYWORD1>ishft</KEYWORD1>\r
-                       <KEYWORD1>jacobian</KEYWORD1>\r
-                       <KEYWORD1>jul_to_dt</KEYWORD1>\r
-                       <KEYWORD1>keyword_set</KEYWORD1>\r
-                       <KEYWORD1>lcm</KEYWORD1>\r
-                       <KEYWORD1>leefilt</KEYWORD1>\r
-                       <KEYWORD1>legend</KEYWORD1>\r
-                       <KEYWORD1>lindgen</KEYWORD1>\r
-                       <KEYWORD1>linknload</KEYWORD1>\r
-                       <KEYWORD1>list</KEYWORD1>\r
-                       <KEYWORD1>listarr</KEYWORD1>\r
-                       <KEYWORD1>load_holidays</KEYWORD1>\r
-                       <KEYWORD1>load_option</KEYWORD1>\r
-                       <KEYWORD1>load_weekends</KEYWORD1>\r
-                       <KEYWORD1>loadct</KEYWORD1>\r
-                       <KEYWORD1>loadct_custom</KEYWORD1>\r
-                       <KEYWORD1>loadresources</KEYWORD1>\r
-                       <KEYWORD1>loadstrings</KEYWORD1>\r
-                       <KEYWORD1>lonarr</KEYWORD1>\r
-                       <KEYWORD1>long</KEYWORD1>\r
-                       <KEYWORD1>lubksb</KEYWORD1>\r
-                       <KEYWORD1>ludcmp</KEYWORD1>\r
-                       <KEYWORD1>make_array</KEYWORD1>\r
-                       <KEYWORD1>map</KEYWORD1>\r
-                       <KEYWORD1>map_axes</KEYWORD1>\r
-                       <KEYWORD1>map_contour</KEYWORD1>\r
-                       <KEYWORD1>map_grid</KEYWORD1>\r
-                       <KEYWORD1>map_plots</KEYWORD1>\r
-                       <KEYWORD1>map_polyfill</KEYWORD1>\r
-                       <KEYWORD1>map_proj</KEYWORD1>\r
-                       <KEYWORD1>map_reverse</KEYWORD1>\r
-                       <KEYWORD1>map_velovect</KEYWORD1>\r
-                       <KEYWORD1>map_version</KEYWORD1>\r
-                       <KEYWORD1>map_xyouts</KEYWORD1>\r
-                       <KEYWORD1>max</KEYWORD1>\r
-                       <KEYWORD1>median</KEYWORD1>\r
-                       <KEYWORD1>mesh</KEYWORD1>\r
-                       <KEYWORD1>message</KEYWORD1>\r
-                       <KEYWORD1>min</KEYWORD1>\r
-                       <KEYWORD1>modifyct</KEYWORD1>\r
-                       <KEYWORD1>molec</KEYWORD1>\r
-                       <KEYWORD1>moment</KEYWORD1>\r
-                       <KEYWORD1>month_name</KEYWORD1>\r
-                       <KEYWORD1>movie</KEYWORD1>\r
-                       <KEYWORD1>mprove</KEYWORD1>\r
-                       <KEYWORD1>msword_cgm_setup</KEYWORD1>\r
-                       <KEYWORD1>n_elements</KEYWORD1>\r
-                       <KEYWORD1>n_params</KEYWORD1>\r
-                       <KEYWORD1>n_tags</KEYWORD1>\r
-                       <KEYWORD1>nint</KEYWORD1>\r
-                       <KEYWORD1>normals</KEYWORD1>\r
-                       <KEYWORD1>null_processor</KEYWORD1>\r
-                       <KEYWORD1>openr</KEYWORD1>\r
-                       <KEYWORD1>openu</KEYWORD1>\r
-                       <KEYWORD1>openw</KEYWORD1>\r
-                       <KEYWORD1>oplot</KEYWORD1>\r
-                       <KEYWORD1>oploterr</KEYWORD1>\r
-                       <KEYWORD1>option_is_loaded</KEYWORD1>\r
-                       <KEYWORD1>order_by</KEYWORD1>\r
-                       <KEYWORD1>padit</KEYWORD1>\r
-                       <KEYWORD1>packimage</KEYWORD1>\r
-                       <KEYWORD1>packtable</KEYWORD1>\r
-                       <KEYWORD1>palette</KEYWORD1>\r
-                       <KEYWORD1>param_present</KEYWORD1>\r
-                       <KEYWORD1>parsefilename</KEYWORD1>\r
-                       <KEYWORD1>pie</KEYWORD1>\r
-                       <KEYWORD1>pie_chart</KEYWORD1>\r
-                       <KEYWORD1>plot</KEYWORD1>\r
-                       <KEYWORD1>plot_field</KEYWORD1>\r
-                       <KEYWORD1>plot_histogram</KEYWORD1>\r
-                       <KEYWORD1>plot_io</KEYWORD1>\r
-                       <KEYWORD1>plot_oi</KEYWORD1>\r
-                       <KEYWORD1>plot_oo</KEYWORD1>\r
-                       <KEYWORD1>plot_windrose</KEYWORD1>\r
-                       <KEYWORD1>ploterr</KEYWORD1>\r
-                       <KEYWORD1>plots</KEYWORD1>\r
-                       <KEYWORD1>pm</KEYWORD1>\r
-                       <KEYWORD1>pmf</KEYWORD1>\r
-                       <KEYWORD1>point_lun</KEYWORD1>\r
-                       <KEYWORD1>poly</KEYWORD1>\r
-                       <KEYWORD1>poly_2d</KEYWORD1>\r
-                       <KEYWORD1>poly_area</KEYWORD1>\r
-                       <KEYWORD1>poly_c_conv</KEYWORD1>\r
-                       <KEYWORD1>poly_count</KEYWORD1>\r
-                       <KEYWORD1>poly_dev</KEYWORD1>\r
-                       <KEYWORD1>poly_fit</KEYWORD1>\r
-                       <KEYWORD1>poly_merge</KEYWORD1>\r
-                       <KEYWORD1>poly_norm</KEYWORD1>\r
-                       <KEYWORD1>poly_plot</KEYWORD1>\r
-                       <KEYWORD1>poly_sphere</KEYWORD1>\r
-                       <KEYWORD1>poly_surf</KEYWORD1>\r
-                       <KEYWORD1>poly_trans</KEYWORD1>\r
-                       <KEYWORD1>polyfill</KEYWORD1>\r
-                       <KEYWORD1>polyfillv</KEYWORD1>\r
-                       <KEYWORD1>polyfitw</KEYWORD1>\r
-                       <KEYWORD1>polyshade</KEYWORD1>\r
-                       <KEYWORD1>polywarp</KEYWORD1>\r
-                       <KEYWORD1>popd</KEYWORD1>\r
-                       <KEYWORD1>prime</KEYWORD1>\r
-                       <KEYWORD1>print</KEYWORD1>\r
-                       <KEYWORD1>printd</KEYWORD1>\r
-                       <KEYWORD1>printf</KEYWORD1>\r
-                       <KEYWORD1>profile</KEYWORD1>\r
-                       <KEYWORD1>profiles</KEYWORD1>\r
-                       <KEYWORD1>prompt</KEYWORD1>\r
-                       <KEYWORD1>pseudo</KEYWORD1>\r
-                       <KEYWORD1>pushd</KEYWORD1>\r
-                       <KEYWORD1>query_table</KEYWORD1>\r
-                       <KEYWORD1>randomn</KEYWORD1>\r
-                       <KEYWORD1>randomu</KEYWORD1>\r
-                       <KEYWORD1>rdpix</KEYWORD1>\r
-                       <KEYWORD1>read</KEYWORD1>\r
-                       <KEYWORD1>read_airs</KEYWORD1>\r
-                       <KEYWORD1>read_xbm</KEYWORD1>\r
-                       <KEYWORD1>readf</KEYWORD1>\r
-                       <KEYWORD1>readu</KEYWORD1>\r
-                       <KEYWORD1>rebin</KEYWORD1>\r
-                       <KEYWORD1>reform</KEYWORD1>\r
-                       <KEYWORD1>regress</KEYWORD1>\r
-                       <KEYWORD1>rename</KEYWORD1>\r
-                       <KEYWORD1>render</KEYWORD1>\r
-                       <KEYWORD1>render24</KEYWORD1>\r
-                       <KEYWORD1>replicate</KEYWORD1>\r
-                       <KEYWORD1>replv</KEYWORD1>\r
-                       <KEYWORD1>resamp</KEYWORD1>\r
-                       <KEYWORD1>reverse</KEYWORD1>\r
-                       <KEYWORD1>rgb_to_hsv</KEYWORD1>\r
-                       <KEYWORD1>rm</KEYWORD1>\r
-                       <KEYWORD1>rmf</KEYWORD1>\r
-                       <KEYWORD1>roberts</KEYWORD1>\r
-                       <KEYWORD1>rot</KEYWORD1>\r
-                       <KEYWORD1>rot_int</KEYWORD1>\r
-                       <KEYWORD1>rotate</KEYWORD1>\r
-                       <KEYWORD1>same</KEYWORD1>\r
-                       <KEYWORD1>scale3d</KEYWORD1>\r
-                       <KEYWORD1>sec_to_dt</KEYWORD1>\r
-                       <KEYWORD1>select_read_lun</KEYWORD1>\r
-                       <KEYWORD1>set_plot</KEYWORD1>\r
-                       <KEYWORD1>set_screen</KEYWORD1>\r
-                       <KEYWORD1>set_shading</KEYWORD1>\r
-                       <KEYWORD1>set_symbol</KEYWORD1>\r
-                       <KEYWORD1>set_view3d</KEYWORD1>\r
-                       <KEYWORD1>set_viewport</KEYWORD1>\r
-                       <KEYWORD1>set_xy</KEYWORD1>\r
-                       <KEYWORD1>setdemo</KEYWORD1>\r
-                       <KEYWORD1>setenv</KEYWORD1>\r
-                       <KEYWORD1>setimagesize</KEYWORD1>\r
-                       <KEYWORD1>setlog</KEYWORD1>\r
-                       <KEYWORD1>setncopts</KEYWORD1>\r
-                       <KEYWORD1>setup_keys</KEYWORD1>\r
-                       <KEYWORD1>sgn</KEYWORD1>\r
-                       <KEYWORD1>shade_surf</KEYWORD1>\r
-                       <KEYWORD1>shade_surf_irr</KEYWORD1>\r
-                       <KEYWORD1>shade_volume</KEYWORD1>\r
-                       <KEYWORD1>shif</KEYWORD1>\r
-                       <KEYWORD1>shift</KEYWORD1>\r
-                       <KEYWORD1>show_options</KEYWORD1>\r
-                       <KEYWORD1>show3</KEYWORD1>\r
-                       <KEYWORD1>sigma</KEYWORD1>\r
-                       <KEYWORD1>sin</KEYWORD1>\r
-                       <KEYWORD1>sindgen</KEYWORD1>\r
-                       <KEYWORD1>sinh</KEYWORD1>\r
-                       <KEYWORD1>size</KEYWORD1>\r
-                       <KEYWORD1>skipf</KEYWORD1>\r
-                       <KEYWORD1>slice</KEYWORD1>\r
-                       <KEYWORD1>slice_vol</KEYWORD1>\r
-                       <KEYWORD1>small_int</KEYWORD1>\r
-                       <KEYWORD1>smooth</KEYWORD1>\r
-                       <KEYWORD1>sobel</KEYWORD1>\r
-                       <KEYWORD1>socket_accept</KEYWORD1>\r
-                       <KEYWORD1>socket_close</KEYWORD1>\r
-                       <KEYWORD1>socket_connect</KEYWORD1>\r
-                       <KEYWORD1>socket_getport</KEYWORD1>\r
-                       <KEYWORD1>socket_init</KEYWORD1>\r
-                       <KEYWORD1>socket_read</KEYWORD1>\r
-                       <KEYWORD1>socket_write</KEYWORD1>\r
-                       <KEYWORD1>sort</KEYWORD1>\r
-                       <KEYWORD1>sortn</KEYWORD1>\r
-                       <KEYWORD1>spawn</KEYWORD1>\r
-                       <KEYWORD1>sphere</KEYWORD1>\r
-                       <KEYWORD1>spline</KEYWORD1>\r
-                       <KEYWORD1>sqrt</KEYWORD1>\r
-                       <KEYWORD1>stdev</KEYWORD1>\r
-                       <KEYWORD1>str_to_dt</KEYWORD1>\r
-                       <KEYWORD1>strarr</KEYWORD1>\r
-                       <KEYWORD1>strcompress</KEYWORD1>\r
-                       <KEYWORD1>stretch</KEYWORD1>\r
-                       <KEYWORD1>string</KEYWORD1>\r
-                       <KEYWORD1>strjoin</KEYWORD1>\r
-                       <KEYWORD1>strlen</KEYWORD1>\r
-                       <KEYWORD1>strlookup</KEYWORD1>\r
-                       <KEYWORD1>strlowcase</KEYWORD1>\r
-                       <KEYWORD1>strmatch</KEYWORD1>\r
-                       <KEYWORD1>strmessage</KEYWORD1>\r
-                       <KEYWORD1>strmid</KEYWORD1>\r
-                       <KEYWORD1>strpos</KEYWORD1>\r
-                       <KEYWORD1>strput</KEYWORD1>\r
-                       <KEYWORD1>strsplit</KEYWORD1>\r
-                       <KEYWORD1>strsubst</KEYWORD1>\r
-                       <KEYWORD1>strtrim</KEYWORD1>\r
-                       <KEYWORD1>structref</KEYWORD1>\r
-                       <KEYWORD1>strupcase</KEYWORD1>\r
-                       <KEYWORD1>sum</KEYWORD1>\r
-                       <KEYWORD1>surface</KEYWORD1>\r
-                       <KEYWORD1>surface_fit</KEYWORD1>\r
-                       <KEYWORD1>surfr</KEYWORD1>\r
-                       <KEYWORD1>svbksb</KEYWORD1>\r
-                       <KEYWORD1>svd</KEYWORD1>\r
-                       <KEYWORD1>svdfit</KEYWORD1>\r
-                       <KEYWORD1>systime</KEYWORD1>\r
-                       <KEYWORD1>t3d</KEYWORD1>\r
-                       <KEYWORD1>tag_names</KEYWORD1>\r
-                       <KEYWORD1>tan</KEYWORD1>\r
-                       <KEYWORD1>tanh</KEYWORD1>\r
-                       <KEYWORD1>tek_color</KEYWORD1>\r
-                       <KEYWORD1>tensor_add</KEYWORD1>\r
-                       <KEYWORD1>tensor_div</KEYWORD1>\r
-                       <KEYWORD1>tensor_eq</KEYWORD1>\r
-                       <KEYWORD1>tensor_exp</KEYWORD1>\r
-                       <KEYWORD1>tensor_ge</KEYWORD1>\r
-                       <KEYWORD1>tensor_gt</KEYWORD1>\r
-                       <KEYWORD1>tensor_le</KEYWORD1>\r
-                       <KEYWORD1>tensor_lt</KEYWORD1>\r
-                       <KEYWORD1>tensor_max</KEYWORD1>\r
-                       <KEYWORD1>tensor_min</KEYWORD1>\r
-                       <KEYWORD1>tensor_mod</KEYWORD1>\r
-                       <KEYWORD1>tensor_mul</KEYWORD1>\r
-                       <KEYWORD1>tensor_ne</KEYWORD1>\r
-                       <KEYWORD1>tensor_sub</KEYWORD1>\r
-                       <KEYWORD1>threed</KEYWORD1>\r
-                       <KEYWORD1>today</KEYWORD1>\r
-                       <KEYWORD1>total</KEYWORD1>\r
-                       <KEYWORD1>tqli</KEYWORD1>\r
-                       <KEYWORD1>transpose</KEYWORD1>\r
-                       <KEYWORD1>tred2</KEYWORD1>\r
-                       <KEYWORD1>tridag</KEYWORD1>\r
-                       <KEYWORD1>tv</KEYWORD1>\r
-                       <KEYWORD1>tvcrs</KEYWORD1>\r
-                       <KEYWORD1>tvlct</KEYWORD1>\r
-                       <KEYWORD1>tvrd</KEYWORD1>\r
-                       <KEYWORD1>tvscl</KEYWORD1>\r
-                       <KEYWORD1>tvsize</KEYWORD1>\r
-                       <KEYWORD1>uniqn</KEYWORD1>\r
-                       <KEYWORD1>unique</KEYWORD1>\r
-                       <KEYWORD1>unix_listen</KEYWORD1>\r
-                       <KEYWORD1>unix_reply</KEYWORD1>\r
-                       <KEYWORD1>unload_option</KEYWORD1>\r
-                       <KEYWORD1>upvar</KEYWORD1>\r
-                       <KEYWORD1>usersym</KEYWORD1>\r
-                       <KEYWORD1>usgs_names</KEYWORD1>\r
-                       <KEYWORD1>value_length</KEYWORD1>\r
-                       <KEYWORD1>var_match</KEYWORD1>\r
-                       <KEYWORD1>var_to_dt</KEYWORD1>\r
-                       <KEYWORD1>vector_field3</KEYWORD1>\r
-                       <KEYWORD1>vel</KEYWORD1>\r
-                       <KEYWORD1>velovect</KEYWORD1>\r
-                       <KEYWORD1>viewer</KEYWORD1>\r
-                       <KEYWORD1>vol_marker</KEYWORD1>\r
-                       <KEYWORD1>vol_pad</KEYWORD1>\r
-                       <KEYWORD1>vol_red</KEYWORD1>\r
-                       <KEYWORD1>vol_trans</KEYWORD1>\r
-                       <KEYWORD1>volume</KEYWORD1>\r
-                       <KEYWORD1>vtkaddattribute</KEYWORD1>\r
-                       <KEYWORD1>vtkaxes</KEYWORD1>\r
-                       <KEYWORD1>vtkcamera</KEYWORD1>\r
-                       <KEYWORD1>vtkclose</KEYWORD1>\r
-                       <KEYWORD1>vtkcolorbar</KEYWORD1>\r
-                       <KEYWORD1>vtkcolornames</KEYWORD1>\r
-                       <KEYWORD1>vtkcommand</KEYWORD1>\r
-                       <KEYWORD1>vtkerase</KEYWORD1>\r
-                       <KEYWORD1>vtkformat</KEYWORD1>\r
-                       <KEYWORD1>vtkgrid</KEYWORD1>\r
-                       <KEYWORD1>vtkhedgehog</KEYWORD1>\r
-                       <KEYWORD1>vtkinit</KEYWORD1>\r
-                       <KEYWORD1>vtklight</KEYWORD1>\r
-                       <KEYWORD1>vtkplots</KEYWORD1>\r
-                       <KEYWORD1>vtkpolydata</KEYWORD1>\r
-                       <KEYWORD1>vtkpolyformat</KEYWORD1>\r
-                       <KEYWORD1>vtkpolyshade</KEYWORD1>\r
-                       <KEYWORD1>vtkppmread</KEYWORD1>\r
-                       <KEYWORD1>vtkppmwrite</KEYWORD1>\r
-                       <KEYWORD1>vtkreadvtk</KEYWORD1>\r
-                       <KEYWORD1>vtkrectilineargrid</KEYWORD1>\r
-                       <KEYWORD1>vtkrenderwindow</KEYWORD1>\r
-                       <KEYWORD1>vtkscatter</KEYWORD1>\r
-                       <KEYWORD1>vtkslicevol</KEYWORD1>\r
-                       <KEYWORD1>vtkstructuredpoints</KEYWORD1>\r
-                       <KEYWORD1>vtkstructuredgrid</KEYWORD1>\r
-                       <KEYWORD1>vtksurface</KEYWORD1>\r
-                       <KEYWORD1>vtksurfgen</KEYWORD1>\r
-                       <KEYWORD1>vtktext</KEYWORD1>\r
-                       <KEYWORD1>vtktvrd</KEYWORD1>\r
-                       <KEYWORD1>vtkunstructuredgrid</KEYWORD1>\r
-                       <KEYWORD1>vtkwdelete</KEYWORD1>\r
-                       <KEYWORD1>vtkwindow</KEYWORD1>\r
-                       <KEYWORD1>vtkwritevrml</KEYWORD1>\r
-                       <KEYWORD1>vtkwset</KEYWORD1>\r
-                       <KEYWORD1>wait</KEYWORD1>\r
-                       <KEYWORD1>wavedatamanager</KEYWORD1>\r
-                       <KEYWORD1>waveserver</KEYWORD1>\r
-                       <KEYWORD1>wcopy</KEYWORD1>\r
-                       <KEYWORD1>wdelete</KEYWORD1>\r
-                       <KEYWORD1>where</KEYWORD1>\r
-                       <KEYWORD1>wherein</KEYWORD1>\r
-                       <KEYWORD1>window</KEYWORD1>\r
-                       <KEYWORD1>wmenu</KEYWORD1>\r
-                       <KEYWORD1>wpaste</KEYWORD1>\r
-                       <KEYWORD1>wprint</KEYWORD1>\r
-                       <KEYWORD1>wread_dib</KEYWORD1>\r
-                       <KEYWORD1>wread_meta</KEYWORD1>\r
-                       <KEYWORD1>write_xbm</KEYWORD1>\r
-                       <KEYWORD1>writeu</KEYWORD1>\r
-                       <KEYWORD1>wset</KEYWORD1>\r
-                       <KEYWORD1>whow</KEYWORD1>\r
-                       <KEYWORD1>wwrite_dib</KEYWORD1>\r
-                       <KEYWORD1>wwrite_meta</KEYWORD1>\r
-                       <KEYWORD1>xyouts</KEYWORD1>\r
-                       <KEYWORD1>zoom</KEYWORD1>\r
-                       <KEYWORD1>zroots</KEYWORD1>\r
-               <!--KEYWORD2s are PV-WAVE keywords -->\r
-                       <KEYWORD2>begin</KEYWORD2>\r
-                       <KEYWORD2>breakpoint</KEYWORD2>\r
-                       <KEYWORD2>case</KEYWORD2>\r
-                       <KEYWORD2>common</KEYWORD2>\r
-                       <KEYWORD2>compile</KEYWORD2>\r
-                       <KEYWORD2>declare</KEYWORD2>\r
-                       <KEYWORD2>do</KEYWORD2>\r
-                       <KEYWORD2>else</KEYWORD2>\r
-                       <KEYWORD2>end</KEYWORD2>\r
-                       <KEYWORD2>endcase</KEYWORD2>\r
-                       <KEYWORD2>endelse</KEYWORD2>\r
-                       <KEYWORD2>endfor</KEYWORD2>\r
-                       <KEYWORD2>endif</KEYWORD2>\r
-                       <KEYWORD2>endrepeat</KEYWORD2>\r
-                       <KEYWORD2>endwhile</KEYWORD2>\r
-                       <KEYWORD2>exit</KEYWORD2>\r
-                       <KEYWORD2>for</KEYWORD2>\r
-                       <KEYWORD2>func</KEYWORD2>\r
-                       <KEYWORD2>function</KEYWORD2>\r
-                       <KEYWORD2>goto</KEYWORD2>\r
-                       <KEYWORD2>help</KEYWORD2>\r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>info</KEYWORD2>\r
-                       <KEYWORD2>journal</KEYWORD2>\r
-                       <KEYWORD2>locals</KEYWORD2>\r
-                       <KEYWORD2>of</KEYWORD2>\r
-                       <KEYWORD2>on_error</KEYWORD2>\r
-                       <KEYWORD2>on_error_goto</KEYWORD2>\r
-                       <KEYWORD2>on_ioerror</KEYWORD2>\r
-                       <KEYWORD2>pro</KEYWORD2>\r
-                       <KEYWORD2>quit</KEYWORD2>\r
-                       <KEYWORD2>repeat</KEYWORD2>\r
-                       <KEYWORD2>restore</KEYWORD2>\r
-                       <KEYWORD2>retall</KEYWORD2>\r
-                       <KEYWORD2>return</KEYWORD2>\r
-                       <KEYWORD2>save</KEYWORD2>\r
-                       <KEYWORD2>stop</KEYWORD2>\r
-                       <KEYWORD2>then</KEYWORD2>\r
-                       <KEYWORD2>while</KEYWORD2>\r
-               <!-- KEYWORD3s are binary ops and Widget stuff -->\r
-                       <KEYWORD3>and</KEYWORD3>\r
-                       <KEYWORD3>not</KEYWORD3>\r
-                       <KEYWORD3>or</KEYWORD3>\r
-                       <KEYWORD3>xor</KEYWORD3>\r
-                       <KEYWORD3>eq</KEYWORD3>\r
-                       <KEYWORD3>ne</KEYWORD3>\r
-                       <KEYWORD3>gt</KEYWORD3>\r
-                       <KEYWORD3>lt</KEYWORD3>\r
-                       <KEYWORD3>ge</KEYWORD3>\r
-                       <KEYWORD3>le</KEYWORD3>\r
-                       <KEYWORD3>mod</KEYWORD3>\r
-                       <KEYWORD3>WgAnimateTool</KEYWORD3>\r
-                       <KEYWORD3>WgCbarTool</KEYWORD3>\r
-                       <KEYWORD3>WgCtTool</KEYWORD3>\r
-                       <KEYWORD3>WgIsoSurfTool</KEYWORD3>\r
-                       <KEYWORD3>WgMovieTool</KEYWORD3>\r
-                       <KEYWORD3>WgSimageTool</KEYWORD3>\r
-                       <KEYWORD3>WgSliceTool</KEYWORD3>\r
-                       <KEYWORD3>WgSurfaceTool</KEYWORD3>\r
-                       <KEYWORD3>WgTextTool</KEYWORD3>\r
-                       <KEYWORD3>WoAddButtons</KEYWORD3>\r
-                       <KEYWORD3>WoAddMessage</KEYWORD3>\r
-                       <KEYWORD3>WoAddStatus</KEYWORD3>\r
-                       <KEYWORD3>WoButtonBar</KEYWORD3>\r
-                       <KEYWORD3>WoCheckFile</KEYWORD3>\r
-                       <KEYWORD3>WoColorButton</KEYWORD3>\r
-                       <KEYWORD3>WoColorConvert</KEYWORD3>\r
-                       <KEYWORD3>WoColorGrid</KEYWORD3>\r
-                       <KEYWORD3>WoColorWheel</KEYWORD3>\r
-                       <KEYWORD3>WoConfirmClose</KEYWORD3>\r
-                       <KEYWORD3>WoDialogStatus</KEYWORD3>\r
-                       <KEYWORD3>WoFontOptionMenu</KEYWORD3>\r
-                       <KEYWORD3>WoGenericDialog</KEYWORD3>\r
-                       <KEYWORD3>WoLabeledText</KEYWORD3>\r
-                       <KEYWORD3>WoMenuBar</KEYWORD3>\r
-                       <KEYWORD3>WoMessage</KEYWORD3>\r
-                       <KEYWORD3>WoSaveAsPixmap</KEYWORD3>\r
-                       <KEYWORD3>WoSetCursor</KEYWORD3>\r
-                       <KEYWORD3>WoSetWindowTitle</KEYWORD3>\r
-                       <KEYWORD3>WoStatus</KEYWORD3>\r
-                       <KEYWORD3>WoVariableOptionMenu</KEYWORD3>\r
-                       <KEYWORD3>WtAddCallback</KEYWORD3>\r
-                       <KEYWORD3>WtAddHandler</KEYWORD3>\r
-                       <KEYWORD3>WtCursor</KEYWORD3>\r
-                       <KEYWORD3>WtGet</KEYWORD3>\r
-                       <KEYWORD3>WtPointer</KEYWORD3>\r
-                       <KEYWORD3>WtSet</KEYWORD3>\r
-                       <KEYWORD3>WtTimer</KEYWORD3>\r
-                       <KEYWORD3>WwAlert</KEYWORD3>\r
-                       <KEYWORD3>WwAlertPopdown</KEYWORD3>\r
-                       <KEYWORD3>WwButtonBox</KEYWORD3>\r
-                       <KEYWORD3>WwCallback</KEYWORD3>\r
-                       <KEYWORD3>WwControlsBox</KEYWORD3>\r
-                       <KEYWORD3>WwDialog</KEYWORD3>\r
-                       <KEYWORD3>WwDrawing</KEYWORD3>\r
-                       <KEYWORD3>WwFileSelection</KEYWORD3>\r
-                       <KEYWORD3>WwGenericDialog</KEYWORD3>\r
-                       <KEYWORD3>WwGetButton</KEYWORD3>\r
-                       <KEYWORD3>WwGetKey</KEYWORD3>\r
-                       <KEYWORD3>WwGetPosition</KEYWORD3>\r
-                       <KEYWORD3>WwGetValue</KEYWORD3>\r
-                       <KEYWORD3>WwHandler</KEYWORD3>\r
-                       <KEYWORD3>WwInit</KEYWORD3>\r
-                       <KEYWORD3>WwLayout</KEYWORD3>\r
-                       <KEYWORD3>WwList</KEYWORD3>\r
-                       <KEYWORD3>WwListUtils</KEYWORD3>\r
-                       <KEYWORD3>WwLoop</KEYWORD3>\r
-                       <KEYWORD3>WwMainWindow</KEYWORD3>\r
-                       <KEYWORD3>WwMenuBar</KEYWORD3>\r
-                       <KEYWORD3>WwMenuItem</KEYWORD3>\r
-                       <KEYWORD3>WwMessage</KEYWORD3>\r
-                       <KEYWORD3>WwMultiClickHandler</KEYWORD3>\r
-                       <KEYWORD3>WwOptionMenu</KEYWORD3>\r
-                       <KEYWORD3>WwPickFile</KEYWORD3>\r
-                       <KEYWORD3>WwPopupMenu</KEYWORD3>\r
-                       <KEYWORD3>WwPreview</KEYWORD3>\r
-                       <KEYWORD3>WwPreviewUtils</KEYWORD3>\r
-                       <KEYWORD3>WwRadioBox</KEYWORD3>\r
-                       <KEYWORD3>WwResource</KEYWORD3>\r
-                       <KEYWORD3>WwSeparator</KEYWORD3>\r
-                       <KEYWORD3>WwSetCursor</KEYWORD3>\r
-                       <KEYWORD3>WwSetValue</KEYWORD3>\r
-                       <KEYWORD3>WwTable</KEYWORD3>\r
-                       <KEYWORD3>WwTableUtils</KEYWORD3>\r
-                       <KEYWORD3>WwText</KEYWORD3>\r
-                       <KEYWORD3>WwTimer</KEYWORD3>\r
-                       <KEYWORD3>WwToolBox</KEYWORD3>\r
-                       <KEYWORD3>WzAnimate</KEYWORD3>\r
-                       <KEYWORD3>WzColorEdit</KEYWORD3>\r
-                       <KEYWORD3>WzContour</KEYWORD3>\r
-                       <KEYWORD3>WzExport</KEYWORD3>\r
-                       <KEYWORD3>WzHistogram</KEYWORD3>\r
-                       <KEYWORD3>WzImage</KEYWORD3>\r
-                       <KEYWORD3>WzImport</KEYWORD3>\r
-                       <KEYWORD3>WzMultiView</KEYWORD3>\r
-                       <KEYWORD3>WzPlot</KEYWORD3>\r
-                       <KEYWORD3>WzPreview</KEYWORD3>\r
-                       <KEYWORD3>WzSurface</KEYWORD3>\r
-                       <KEYWORD3>WzTable</KEYWORD3>\r
-                       <KEYWORD3>WzVariable</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/pyrex.xml b/extra/xmode/modes/pyrex.xml
deleted file mode 100644 (file)
index c46d574..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <IMPORT DELEGATE="python::MAIN"/>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD4>cdef</KEYWORD4>\r
-                       <KEYWORD4>char</KEYWORD4>\r
-                       <KEYWORD4>cinclude</KEYWORD4>\r
-                       <KEYWORD4>ctypedef</KEYWORD4>\r
-                       <KEYWORD4>double</KEYWORD4>\r
-                       <KEYWORD4>enum</KEYWORD4>\r
-                       <KEYWORD4>extern</KEYWORD4>\r
-                       <KEYWORD4>float</KEYWORD4>\r
-                       <KEYWORD4>include</KEYWORD4>\r
-                       <KEYWORD4>private</KEYWORD4>\r
-                       <KEYWORD4>public</KEYWORD4>\r
-                       <KEYWORD4>short</KEYWORD4>\r
-                       <KEYWORD4>signed</KEYWORD4>\r
-                       <KEYWORD4>sizeof</KEYWORD4>\r
-                       <KEYWORD4>struct</KEYWORD4>\r
-                       <KEYWORD4>union</KEYWORD4>\r
-                       <KEYWORD4>unsigned</KEYWORD4>\r
-                       <KEYWORD4>void</KEYWORD4>\r
-\r
-                       <LITERAL3>NULL</LITERAL3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/python.xml b/extra/xmode/modes/python.xml
deleted file mode 100644 (file)
index 654860e..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Python mode, by Slava Pestov. Based on PythonTokenMarker by -->\r
-<!-- Jonathan Revusky -->\r
-\r
-<!-- Modified 19-Jul-00 by Ivan Frohne to: -->\r
-<!--  (a) implement 'indentOnEnter'; -->\r
-<!--  (b) indent next line automatically after control structures followed -->\r
-<!--     by ':'; -->\r
-<!--  (c) make """ or ''' multiline quotes TYPE LITERAL2; -->\r
-<!--  (d) add TYPE FUNCTION identified by a following '(' -->\r
-<!--  (e) eliminate the '?' SEQ TYPE ('?' has no meaning in Python); -->\r
-<!--  (f) change the TYPE of 'and', 'or', and 'not' to KEYWORD1; and -->\r
-<!--  (g) add all builtin functions, builtin exceptions, -->\r
-<!--     builtin type methods, File object methods, and special type -->\r
-<!--     attributes as TYPE KEYWORD3. -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="unindentNextLines" VALUE="^\s*(pass|else\s*:|elif\s.*:|except(\s.*)?:|finally\s*:)$" />\r
-               <PROPERTY NAME="unindentThisLine" VALUE="^\s*(else|elif\s.*|except(\s.*)?|finally)\s*:" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-               <PROPERTY NAME="ignoreWhitespace" VALUE="false" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- decorator -->\r
-               <EOL_SPAN_REGEXP HASH_CHAR="@" AT_WORD_START="TRUE" TYPE="KEYWORD4">@\w</EOL_SPAN_REGEXP>\r
-\r
-               <!-- Triple-quotes -->\r
-               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL_TWO">\r
-                       <BEGIN>"""</BEGIN>\r
-                       <END>"""</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL2" DELEGATE="LITERAL_TWO">\r
-                       <BEGIN>'''</BEGIN>\r
-                       <END>'''</END>\r
-               </SPAN>\r
-\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL_ONE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL_ONE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="KEYWORD1">:</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION"\r
-                       MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!--  Reserved Words  -->\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>assert</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>def</KEYWORD1>\r
-                       <KEYWORD1>del</KEYWORD1>\r
-                       <KEYWORD1>elif</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>except</KEYWORD1>\r
-                       <KEYWORD1>exec</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>from</KEYWORD1>\r
-                       <KEYWORD1>global</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>import</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>is</KEYWORD1>\r
-                       <KEYWORD1>lambda</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>pass</KEYWORD1>\r
-                       <KEYWORD1>print</KEYWORD1>\r
-                       <KEYWORD1>raise</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>reversed</KEYWORD1>\r
-                       <KEYWORD1>sorted</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>yield</KEYWORD1>\r
-                       <KEYWORD1>self</KEYWORD1>\r
-\r
-                       <!-- builtins -->\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>all</KEYWORD2>\r
-                       <KEYWORD2>any</KEYWORD2>\r
-                       <KEYWORD2>apply</KEYWORD2>\r
-                       <KEYWORD2>bool</KEYWORD2>\r
-                       <KEYWORD2>buffer</KEYWORD2>\r
-                       <KEYWORD2>callable</KEYWORD2>\r
-                       <KEYWORD2>chr</KEYWORD2>\r
-                       <KEYWORD2>classmethod</KEYWORD2>\r
-                       <KEYWORD2>cmp</KEYWORD2>\r
-                       <KEYWORD2>coerce</KEYWORD2>\r
-                       <KEYWORD2>compile</KEYWORD2>\r
-                       <KEYWORD2>complex</KEYWORD2>\r
-                       <KEYWORD2>delattr</KEYWORD2>\r
-                       <KEYWORD2>dict</KEYWORD2>\r
-                       <KEYWORD2>dir</KEYWORD2>\r
-                       <KEYWORD2>divmod</KEYWORD2>\r
-                       <KEYWORD2>enumerate</KEYWORD2>\r
-                       <KEYWORD2>eval</KEYWORD2>\r
-                       <KEYWORD2>execfile</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>filter</KEYWORD2>\r
-                       <KEYWORD2>float</KEYWORD2>\r
-                       <KEYWORD2>frozenset</KEYWORD2>\r
-                       <KEYWORD2>getattr</KEYWORD2>\r
-                       <KEYWORD2>globals</KEYWORD2>\r
-                       <KEYWORD2>hasattr</KEYWORD2>\r
-                       <KEYWORD2>hash</KEYWORD2>\r
-                       <KEYWORD2>hex</KEYWORD2>\r
-                       <KEYWORD2>id</KEYWORD2>\r
-                       <KEYWORD2>input</KEYWORD2>\r
-                       <KEYWORD2>int</KEYWORD2>\r
-                       <KEYWORD2>intern</KEYWORD2>\r
-                       <KEYWORD2>isinstance</KEYWORD2>\r
-                       <KEYWORD2>issubclass</KEYWORD2>\r
-                       <KEYWORD2>iter</KEYWORD2>\r
-                       <KEYWORD2>len</KEYWORD2>\r
-                       <KEYWORD2>list</KEYWORD2>\r
-                       <KEYWORD2>locals</KEYWORD2>\r
-                       <KEYWORD2>long</KEYWORD2>\r
-                       <KEYWORD2>map</KEYWORD2>\r
-                       <KEYWORD2>max</KEYWORD2>\r
-                       <KEYWORD2>min</KEYWORD2>\r
-                       <KEYWORD2>object</KEYWORD2>\r
-                       <KEYWORD2>oct</KEYWORD2>\r
-                       <KEYWORD2>open</KEYWORD2>\r
-                       <KEYWORD2>ord</KEYWORD2>\r
-                       <KEYWORD2>pow</KEYWORD2>\r
-                       <KEYWORD2>property</KEYWORD2>\r
-                       <KEYWORD2>range</KEYWORD2>\r
-                       <KEYWORD2>raw_input</KEYWORD2>\r
-                       <KEYWORD2>reduce</KEYWORD2>\r
-                       <KEYWORD2>reload</KEYWORD2>\r
-                       <KEYWORD2>repr</KEYWORD2>\r
-                       <KEYWORD2>round</KEYWORD2>\r
-                       <KEYWORD2>set</KEYWORD2>\r
-                       <KEYWORD2>setattr</KEYWORD2>\r
-                       <KEYWORD2>slice</KEYWORD2>\r
-                       <KEYWORD2>staticmethod</KEYWORD2>\r
-                       <KEYWORD2>str</KEYWORD2>\r
-                       <KEYWORD2>sum</KEYWORD2>\r
-                       <KEYWORD2>super</KEYWORD2>\r
-                       <KEYWORD2>tuple</KEYWORD2>\r
-                       <KEYWORD2>type</KEYWORD2>\r
-                       <KEYWORD2>unichr</KEYWORD2>\r
-                       <KEYWORD2>unicode</KEYWORD2>\r
-                       <KEYWORD2>vars</KEYWORD2>\r
-                       <KEYWORD2>xrange</KEYWORD2>\r
-                       <KEYWORD2>zip</KEYWORD2>\r
-\r
-                       <!-- exceptions -->\r
-                       <KEYWORD3>ArithmeticError</KEYWORD3>\r
-                       <KEYWORD3>AssertionError</KEYWORD3>\r
-                       <KEYWORD3>AttributeError</KEYWORD3>\r
-                       <KEYWORD3>DeprecationWarning</KEYWORD3>\r
-                       <KEYWORD3>EOFError</KEYWORD3>\r
-                       <KEYWORD3>EnvironmentError</KEYWORD3>\r
-                       <KEYWORD3>Exception</KEYWORD3>\r
-                       <KEYWORD3>FloatingPointError</KEYWORD3>\r
-                       <KEYWORD3>IOError</KEYWORD3>\r
-                       <KEYWORD3>ImportError</KEYWORD3>\r
-                       <KEYWORD3>IndentationError</KEYWORD3>\r
-                       <KEYWORD3>IndexError</KEYWORD3>\r
-                       <KEYWORD3>KeyError</KEYWORD3>\r
-                       <KEYWORD3>KeyboardInterrupt</KEYWORD3>\r
-                       <KEYWORD3>LookupError</KEYWORD3>\r
-                       <KEYWORD3>MemoryError</KEYWORD3>\r
-                       <KEYWORD3>NameError</KEYWORD3>\r
-                       <KEYWORD3>NotImplemented</KEYWORD3>\r
-                       <KEYWORD3>NotImplementedError</KEYWORD3>\r
-                       <KEYWORD3>OSError</KEYWORD3>\r
-                       <KEYWORD3>OverflowError</KEYWORD3>\r
-                       <KEYWORD3>OverflowWarning</KEYWORD3>\r
-                       <KEYWORD3>ReferenceError</KEYWORD3>\r
-                       <KEYWORD3>RuntimeError</KEYWORD3>\r
-                       <KEYWORD3>RuntimeWarning</KEYWORD3>\r
-                       <KEYWORD3>StandardError</KEYWORD3>\r
-                       <KEYWORD3>StopIteration</KEYWORD3>\r
-                       <KEYWORD3>SyntaxError</KEYWORD3>\r
-                       <KEYWORD3>SyntaxWarning</KEYWORD3>\r
-                       <KEYWORD3>SystemError</KEYWORD3>\r
-                       <KEYWORD3>SystemExit</KEYWORD3>\r
-                       <KEYWORD3>TabError</KEYWORD3>\r
-                       <KEYWORD3>TypeError</KEYWORD3>\r
-                       <KEYWORD3>UnboundLocalError</KEYWORD3>\r
-                       <KEYWORD3>UnicodeError</KEYWORD3>\r
-                       <KEYWORD3>UserWarning</KEYWORD3>\r
-                       <KEYWORD3>ValueError</KEYWORD3>\r
-                       <KEYWORD3>Warning</KEYWORD3>\r
-                       <KEYWORD3>WindowsError</KEYWORD3>\r
-                       <KEYWORD3>ZeroDivisionError</KEYWORD3>\r
-\r
-                       <!-- types (from types module) -->\r
-                       <KEYWORD3>BufferType</KEYWORD3>\r
-                       <KEYWORD3>BuiltinFunctionType</KEYWORD3>\r
-                       <KEYWORD3>BuiltinMethodType</KEYWORD3>\r
-                       <KEYWORD3>ClassType</KEYWORD3>\r
-                       <KEYWORD3>CodeType</KEYWORD3>\r
-                       <KEYWORD3>ComplexType</KEYWORD3>\r
-                       <KEYWORD3>DictProxyType</KEYWORD3>\r
-                       <KEYWORD3>DictType</KEYWORD3>\r
-                       <KEYWORD3>DictionaryType</KEYWORD3>\r
-                       <KEYWORD3>EllipsisType</KEYWORD3>\r
-                       <KEYWORD3>FileType</KEYWORD3>\r
-                       <KEYWORD3>FloatType</KEYWORD3>\r
-                       <KEYWORD3>FrameType</KEYWORD3>\r
-                       <KEYWORD3>FunctionType</KEYWORD3>\r
-                       <KEYWORD3>GeneratorType</KEYWORD3>\r
-                       <KEYWORD3>InstanceType</KEYWORD3>\r
-                       <KEYWORD3>IntType</KEYWORD3>\r
-                       <KEYWORD3>LambdaType</KEYWORD3>\r
-                       <KEYWORD3>ListType</KEYWORD3>\r
-                       <KEYWORD3>LongType</KEYWORD3>\r
-                       <KEYWORD3>MethodType</KEYWORD3>\r
-                       <KEYWORD3>ModuleType</KEYWORD3>\r
-                       <KEYWORD3>NoneType</KEYWORD3>\r
-                       <KEYWORD3>ObjectType</KEYWORD3>\r
-                       <KEYWORD3>SliceType</KEYWORD3>\r
-                       <KEYWORD3>StringType</KEYWORD3>\r
-                       <KEYWORD3>StringTypes</KEYWORD3>\r
-                       <KEYWORD3>TracebackType</KEYWORD3>\r
-                       <KEYWORD3>TupleType</KEYWORD3>\r
-                       <KEYWORD3>TypeType</KEYWORD3>\r
-                       <KEYWORD3>UnboundMethodType</KEYWORD3>\r
-                       <KEYWORD3>UnicodeType</KEYWORD3>\r
-                       <KEYWORD3>XRangeType</KEYWORD3>\r
-\r
-                       <KEYWORD3>False</KEYWORD3>\r
-                       <KEYWORD3>None</KEYWORD3>\r
-                       <KEYWORD3>True</KEYWORD3>\r
-\r
-                       <KEYWORD3>__abs__</KEYWORD3>\r
-                       <KEYWORD3>__add__</KEYWORD3>\r
-                       <KEYWORD3>__all__</KEYWORD3>\r
-                       <KEYWORD3>__author__</KEYWORD3>\r
-                       <KEYWORD3>__bases__</KEYWORD3>\r
-                       <KEYWORD3>__builtins__</KEYWORD3>\r
-                       <KEYWORD3>__call__</KEYWORD3>\r
-                       <KEYWORD3>__class__</KEYWORD3>\r
-                       <KEYWORD3>__cmp__</KEYWORD3>\r
-                       <KEYWORD3>__coerce__</KEYWORD3>\r
-                       <KEYWORD3>__contains__</KEYWORD3>\r
-                       <KEYWORD3>__debug__</KEYWORD3>\r
-                       <KEYWORD3>__del__</KEYWORD3>\r
-                       <KEYWORD3>__delattr__</KEYWORD3>\r
-                       <KEYWORD3>__delitem__</KEYWORD3>\r
-                       <KEYWORD3>__delslice__</KEYWORD3>\r
-                       <KEYWORD3>__dict__</KEYWORD3>\r
-                       <KEYWORD3>__div__</KEYWORD3>\r
-                       <KEYWORD3>__divmod__</KEYWORD3>\r
-                       <KEYWORD3>__doc__</KEYWORD3>\r
-                       <KEYWORD3>__docformat__</KEYWORD3>\r
-                       <KEYWORD3>__eq__</KEYWORD3>\r
-                       <KEYWORD3>__file__</KEYWORD3>\r
-                       <KEYWORD3>__float__</KEYWORD3>\r
-                       <KEYWORD3>__floordiv__</KEYWORD3>\r
-                       <KEYWORD3>__future__</KEYWORD3>\r
-                       <KEYWORD3>__ge__</KEYWORD3>\r
-                       <KEYWORD3>__getattr__</KEYWORD3>\r
-                       <KEYWORD3>__getattribute__</KEYWORD3>\r
-                       <KEYWORD3>__getitem__</KEYWORD3>\r
-                       <KEYWORD3>__getslice__</KEYWORD3>\r
-                       <KEYWORD3>__gt__</KEYWORD3>\r
-                       <KEYWORD3>__hash__</KEYWORD3>\r
-                       <KEYWORD3>__hex__</KEYWORD3>\r
-                       <KEYWORD3>__iadd__</KEYWORD3>\r
-                       <KEYWORD3>__import__</KEYWORD3>\r
-                       <KEYWORD3>__imul__</KEYWORD3>\r
-                       <KEYWORD3>__init__</KEYWORD3>\r
-                       <KEYWORD3>__int__</KEYWORD3>\r
-                       <KEYWORD3>__invert__</KEYWORD3>\r
-                       <KEYWORD3>__iter__</KEYWORD3>\r
-                       <KEYWORD3>__le__</KEYWORD3>\r
-                       <KEYWORD3>__len__</KEYWORD3>\r
-                       <KEYWORD3>__long__</KEYWORD3>\r
-                       <KEYWORD3>__lshift__</KEYWORD3>\r
-                       <KEYWORD3>__lt__</KEYWORD3>\r
-                       <KEYWORD3>__members__</KEYWORD3>\r
-                       <KEYWORD3>__metaclass__</KEYWORD3>\r
-                       <KEYWORD3>__mod__</KEYWORD3>\r
-                       <KEYWORD3>__mro__</KEYWORD3>\r
-                       <KEYWORD3>__mul__</KEYWORD3>\r
-                       <KEYWORD3>__name__</KEYWORD3>\r
-                       <KEYWORD3>__ne__</KEYWORD3>\r
-                       <KEYWORD3>__neg__</KEYWORD3>\r
-                       <KEYWORD3>__new__</KEYWORD3>\r
-                       <KEYWORD3>__nonzero__</KEYWORD3>\r
-                       <KEYWORD3>__oct__</KEYWORD3>\r
-                       <KEYWORD3>__or__</KEYWORD3>\r
-                       <KEYWORD3>__path__</KEYWORD3>\r
-                       <KEYWORD3>__pos__</KEYWORD3>\r
-                       <KEYWORD3>__pow__</KEYWORD3>\r
-                       <KEYWORD3>__radd__</KEYWORD3>\r
-                       <KEYWORD3>__rdiv__</KEYWORD3>\r
-                       <KEYWORD3>__rdivmod__</KEYWORD3>\r
-                       <KEYWORD3>__reduce__</KEYWORD3>\r
-                       <KEYWORD3>__repr__</KEYWORD3>\r
-                       <KEYWORD3>__rfloordiv__</KEYWORD3>\r
-                       <KEYWORD3>__rlshift__</KEYWORD3>\r
-                       <KEYWORD3>__rmod__</KEYWORD3>\r
-                       <KEYWORD3>__rmul__</KEYWORD3>\r
-                       <KEYWORD3>__ror__</KEYWORD3>\r
-                       <KEYWORD3>__rpow__</KEYWORD3>\r
-                       <KEYWORD3>__rrshift__</KEYWORD3>\r
-                       <KEYWORD3>__rsub__</KEYWORD3>\r
-                       <KEYWORD3>__rtruediv__</KEYWORD3>\r
-                       <KEYWORD3>__rxor__</KEYWORD3>\r
-                       <KEYWORD3>__setattr__</KEYWORD3>\r
-                       <KEYWORD3>__setitem__</KEYWORD3>\r
-                       <KEYWORD3>__setslice__</KEYWORD3>\r
-                       <KEYWORD3>__self__</KEYWORD3>\r
-                       <KEYWORD3>__slots__</KEYWORD3>\r
-                       <KEYWORD3>__str__</KEYWORD3>\r
-                       <KEYWORD3>__sub__</KEYWORD3>\r
-                       <KEYWORD3>__truediv__</KEYWORD3>\r
-                       <KEYWORD3>__version__</KEYWORD3>\r
-                       <KEYWORD3>__xor__</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <!-- rulesets to syntax highlight string interpolation sequences -->\r
-       <RULES SET="LITERAL_ONE" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%[.]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="%(" TYPE="LITERAL4">%\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
-       </RULES>\r
-       <!-- triple-quoted strings has its own, since it's LITERAL2 by default -->\r
-       <RULES SET="LITERAL_TWO" DEFAULT="LITERAL2" ESCAPE="\">\r
-               <SEQ_REGEXP HASH_CHAR="%" TYPE="LITERAL4">%\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="%(" TYPE="LITERAL4">%\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs]</SEQ_REGEXP>\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>B{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>C{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>E{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>I{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>L{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <!--\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="python::MAIN" TYPE="LITERAL3">&gt;&gt;&gt;</EOL_SPAN>\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" DELEGATE="python::MAIN" TYPE="LITERAL3">...</EOL_SPAN>\r
-               -->\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="LITERAL3">&gt;&gt;&gt;</EOL_SPAN>\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="LITERAL3">...</EOL_SPAN>\r
-               <MARK_FOLLOWING TYPE="LITERAL3" AT_WHITESPACE_END="TRUE">@</MARK_FOLLOWING>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/quake.xml b/extra/xmode/modes/quake.xml
deleted file mode 100644 (file)
index 08af289..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       Quake mode by Marcus Augustine <mail [at] ma [dash] online [dot] net>\r
--->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="commentStart" VALUE="/*" />\r
-        <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-        <PROPERTY NAME="lineComment" VALUE="//" />\r
-    </PROPS>\r
-\r
-    <RULES IGNORE_CASE="TRUE">\r
-            <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                <BEGIN>"</BEGIN>\r
-                <END>"</END>\r
-            </SPAN>\r
-            \r
-            <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                <BEGIN>'</BEGIN>\r
-                <END>'</END>\r
-            </SPAN>\r
-            \r
-            <SPAN TYPE="COMMENT1">\r
-                <BEGIN>/*</BEGIN>\r
-                <END>*/</END>\r
-            </SPAN>\r
-            \r
-             <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-            \r
-            <KEYWORDS>\r
-                <KEYWORD2>+attack</KEYWORD2>\r
-                <KEYWORD2>+back</KEYWORD2>\r
-                <KEYWORD2>+forward</KEYWORD2>\r
-                <KEYWORD2>+klook</KEYWORD2>\r
-                <KEYWORD2>+left</KEYWORD2>\r
-                <KEYWORD2>+lookdown</KEYWORD2>\r
-                <KEYWORD2>+lookup</KEYWORD2>\r
-                <KEYWORD2>+mlook</KEYWORD2>\r
-                <KEYWORD2>+movedown</KEYWORD2>\r
-                <KEYWORD2>+moveleft</KEYWORD2>\r
-                <KEYWORD2>+moveright</KEYWORD2>\r
-                <KEYWORD2>+moveup</KEYWORD2>\r
-                <KEYWORD2>+right</KEYWORD2>\r
-                <KEYWORD2>+speed</KEYWORD2>\r
-                <KEYWORD2>+strafe</KEYWORD2>\r
-                <KEYWORD2>+use</KEYWORD2>\r
-                <KEYWORD2>-attack</KEYWORD2>\r
-                <KEYWORD2>-back</KEYWORD2>\r
-                <KEYWORD2>-forward</KEYWORD2>\r
-                <KEYWORD2>-klook</KEYWORD2>\r
-                <KEYWORD2>-left</KEYWORD2>\r
-                <KEYWORD2>-lookdown</KEYWORD2>\r
-                <KEYWORD2>-lookup</KEYWORD2>\r
-                <KEYWORD2>-mlook</KEYWORD2>\r
-                <KEYWORD2>-movedown</KEYWORD2>\r
-                <KEYWORD2>-moveleft</KEYWORD2>\r
-                <KEYWORD2>-moveright</KEYWORD2>\r
-                <KEYWORD2>-moveup</KEYWORD2>\r
-                <KEYWORD2>-right</KEYWORD2>\r
-                <KEYWORD2>-speed</KEYWORD2>\r
-                <KEYWORD2>-strafe</KEYWORD2>\r
-                <KEYWORD2>-use</KEYWORD2>\r
-                <KEYWORD3>adr0</KEYWORD3>\r
-                <KEYWORD3>adr1</KEYWORD3>\r
-                <KEYWORD3>adr2</KEYWORD3>\r
-                <KEYWORD3>adr3</KEYWORD3>\r
-                <KEYWORD3>adr4</KEYWORD3>\r
-                <KEYWORD3>adr5</KEYWORD3>\r
-                <KEYWORD3>adr6</KEYWORD3>\r
-                <KEYWORD3>adr7</KEYWORD3>\r
-                <KEYWORD3>adr8</KEYWORD3>\r
-                <KEYWORD3>alias</KEYWORD3>\r
-                <KEYWORD3>allow_download</KEYWORD3>\r
-                <KEYWORD3>allow_download_maps</KEYWORD3>\r
-                <KEYWORD3>allow_download_models</KEYWORD3>\r
-                <KEYWORD3>allow_download_players</KEYWORD3>\r
-                <KEYWORD3>allow_download_sounds</KEYWORD3>\r
-                <KEYWORD3>basedir</KEYWORD3>\r
-                <KEYWORD1>bind</KEYWORD1>\r
-                <KEYWORD3>bindlist</KEYWORD3>\r
-                <KEYWORD3>bob_pitch</KEYWORD3>\r
-                <KEYWORD3>bob_roll</KEYWORD3>\r
-                <KEYWORD3>bob_up</KEYWORD3>\r
-                <KEYWORD3>cd</KEYWORD3>\r
-                <KEYWORD3>cd_loopcount</KEYWORD3>\r
-                <KEYWORD3>cd_looptrack</KEYWORD3>\r
-                <KEYWORD3>cd_nocd</KEYWORD3>\r
-                <KEYWORD3>cddir</KEYWORD3>\r
-                <KEYWORD3>centerview</KEYWORD3>\r
-                <KEYWORD3>changing</KEYWORD3>\r
-                <KEYWORD3>cheats</KEYWORD3>\r
-                <KEYWORD3>cl_anglespeedkey</KEYWORD3>\r
-                <KEYWORD3>cl_autoskins</KEYWORD3>\r
-                <KEYWORD3>cl_blend</KEYWORD3>\r
-                <KEYWORD3>cl_entities</KEYWORD3>\r
-                <KEYWORD3>cl_footsteps</KEYWORD3>\r
-                <KEYWORD3>cl_forwardspeed</KEYWORD3>\r
-                <KEYWORD3>cl_gun</KEYWORD3>\r
-                <KEYWORD3>cl_lights</KEYWORD3>\r
-                <KEYWORD3>cl_maxfps</KEYWORD3>\r
-                <KEYWORD3>cl_nodelta</KEYWORD3>\r
-                <KEYWORD3>cl_noskins</KEYWORD3>\r
-                <KEYWORD3>cl_particles</KEYWORD3>\r
-                <KEYWORD3>cl_pitchspeed</KEYWORD3>\r
-                <KEYWORD3>cl_predict</KEYWORD3>\r
-                <KEYWORD3>cl_run</KEYWORD3>\r
-                <KEYWORD3>cl_showmiss</KEYWORD3>\r
-                <KEYWORD3>cl_shownet</KEYWORD3>\r
-                <KEYWORD3>cl_sidespeed</KEYWORD3>\r
-                <KEYWORD3>cl_stats</KEYWORD3>\r
-                <KEYWORD3>cl_stereo</KEYWORD3>\r
-                <KEYWORD3>cl_stereo_separation</KEYWORD3>\r
-                <KEYWORD3>cl_testblend</KEYWORD3>\r
-                <KEYWORD3>cl_testentities</KEYWORD3>\r
-                <KEYWORD3>cl_testlights</KEYWORD3>\r
-                <KEYWORD3>cl_testparticles</KEYWORD3>\r
-                <KEYWORD3>cl_timeout</KEYWORD3>\r
-                <KEYWORD3>cl_upspeed</KEYWORD3>\r
-                <KEYWORD3>cl_vwep</KEYWORD3>\r
-                <KEYWORD3>cl_yawspeed</KEYWORD3>\r
-                <KEYWORD3>clear</KEYWORD3>\r
-                <KEYWORD3>clientport</KEYWORD3>\r
-                <KEYWORD3>cmd</KEYWORD3>\r
-                <KEYWORD3>cmdlist</KEYWORD3>\r
-                <KEYWORD3>con_notifytime</KEYWORD3>\r
-                <KEYWORD3>condump</KEYWORD3>\r
-                <KEYWORD3>connect</KEYWORD3>\r
-                <KEYWORD3>coop</KEYWORD3>\r
-                <KEYWORD3>crosshair</KEYWORD3>\r
-                <KEYWORD3>cvarlist</KEYWORD3>\r
-                <KEYWORD3>deathmatch</KEYWORD3>\r
-                <KEYWORD3>debuggraph</KEYWORD3>\r
-                <KEYWORD3>dedicated</KEYWORD3>\r
-                <KEYWORD3>demomap</KEYWORD3>\r
-                <KEYWORD3>developer</KEYWORD3>\r
-                <KEYWORD3>dir</KEYWORD3>\r
-                <KEYWORD3>disconnect</KEYWORD3>\r
-                <KEYWORD3>dmflags</KEYWORD3>\r
-                <KEYWORD3>download</KEYWORD3>\r
-                <KEYWORD3>drop</KEYWORD3>\r
-                <KEYWORD3>dumpuser</KEYWORD3>\r
-                <KEYWORD3>echo</KEYWORD3>\r
-                <KEYWORD3>error</KEYWORD3>\r
-                <KEYWORD3>exec</KEYWORD3>\r
-                <KEYWORD3>filterban</KEYWORD3>\r
-                <KEYWORD3>fixedtime</KEYWORD3>\r
-                <KEYWORD3>flood_msgs</KEYWORD3>\r
-                <KEYWORD3>flood_persecond</KEYWORD3>\r
-                <KEYWORD3>flood_waitdelay</KEYWORD3>\r
-                <KEYWORD3>flushmap</KEYWORD3>\r
-                <KEYWORD3>fov</KEYWORD3>\r
-                <KEYWORD3>fraglimit</KEYWORD3>\r
-                <KEYWORD3>freelook</KEYWORD3>\r
-                <KEYWORD3>g_select_empty</KEYWORD3>\r
-                <KEYWORD3>game</KEYWORD3>\r
-                <KEYWORD3>gamedate</KEYWORD3>\r
-                <KEYWORD3>gamedir</KEYWORD3>\r
-                <KEYWORD3>gamemap</KEYWORD3>\r
-                <KEYWORD3>gamename</KEYWORD3>\r
-                <KEYWORD3>gameversion</KEYWORD3>\r
-                <KEYWORD3>gender</KEYWORD3>\r
-                <KEYWORD3>gender_auto</KEYWORD3>\r
-                <KEYWORD3>give</KEYWORD3>\r
-                <KEYWORD3>gl_3dlabs_broken</KEYWORD3>\r
-                <KEYWORD3>gl_allow_software</KEYWORD3>\r
-                <KEYWORD3>gl_bitdepth</KEYWORD3>\r
-                <KEYWORD3>gl_clear</KEYWORD3>\r
-                <KEYWORD3>gl_cull</KEYWORD3>\r
-                <KEYWORD3>gl_drawbuffer</KEYWORD3>\r
-                <KEYWORD3>gl_driver</KEYWORD3>\r
-                <KEYWORD3>gl_dynamic</KEYWORD3>\r
-                <KEYWORD3>gl_ext_compiled_vertex_array</KEYWORD3>\r
-                <KEYWORD3>gl_ext_multitexture</KEYWORD3>\r
-                <KEYWORD3>gl_ext_palettedtexture</KEYWORD3>\r
-                <KEYWORD3>gl_ext_pointparameters</KEYWORD3>\r
-                <KEYWORD3>gl_ext_swapinterval</KEYWORD3>\r
-                <KEYWORD3>gl_finish</KEYWORD3>\r
-                <KEYWORD3>gl_flashblend</KEYWORD3>\r
-                <KEYWORD3>gl_lightmap</KEYWORD3>\r
-                <KEYWORD3>gl_lockpvs</KEYWORD3>\r
-                <KEYWORD3>gl_log</KEYWORD3>\r
-                <KEYWORD3>gl_mode</KEYWORD3>\r
-                <KEYWORD3>gl_modulate</KEYWORD3>\r
-                <KEYWORD3>gl_monolightmap</KEYWORD3>\r
-                <KEYWORD3>gl_nobind</KEYWORD3>\r
-                <KEYWORD3>gl_nosubimage</KEYWORD3>\r
-                <KEYWORD3>gl_particle_att_a</KEYWORD3>\r
-                <KEYWORD3>gl_particle_att_b</KEYWORD3>\r
-                <KEYWORD3>gl_particle_att_c</KEYWORD3>\r
-                <KEYWORD3>gl_particle_max_size</KEYWORD3>\r
-                <KEYWORD3>gl_particle_min_size</KEYWORD3>\r
-                <KEYWORD3>gl_particle_size</KEYWORD3>\r
-                <KEYWORD3>gl_picmip</KEYWORD3>\r
-                <KEYWORD3>gl_playermip</KEYWORD3>\r
-                <KEYWORD3>gl_polyblend</KEYWORD3>\r
-                <KEYWORD3>gl_round_down</KEYWORD3>\r
-                <KEYWORD3>gl_saturatelighting</KEYWORD3>\r
-                <KEYWORD3>gl_shadows</KEYWORD3>\r
-                <KEYWORD3>gl_showtris</KEYWORD3>\r
-                <KEYWORD3>gl_skymip</KEYWORD3>\r
-                <KEYWORD3>gl_swapinterval</KEYWORD3>\r
-                <KEYWORD3>gl_texturealphamode</KEYWORD3>\r
-                <KEYWORD3>gl_texturemode</KEYWORD3>\r
-                <KEYWORD3>gl_texturesolidmode</KEYWORD3>\r
-                <KEYWORD3>gl_triplebuffer</KEYWORD3>\r
-                <KEYWORD3>gl_vertex_arrays</KEYWORD3>\r
-                <KEYWORD3>gl_ztrick</KEYWORD3>\r
-                <KEYWORD3>god</KEYWORD3>\r
-                <KEYWORD3>graphheight</KEYWORD3>\r
-                <KEYWORD3>graphscale</KEYWORD3>\r
-                <KEYWORD3>graphshift</KEYWORD3>\r
-                <KEYWORD3>gun_model</KEYWORD3>\r
-                <KEYWORD3>gun_next</KEYWORD3>\r
-                <KEYWORD3>gun_prev</KEYWORD3>\r
-                <KEYWORD3>gun_x</KEYWORD3>\r
-                <KEYWORD3>gun_y</KEYWORD3>\r
-                <KEYWORD3>gun_z</KEYWORD3>\r
-                <KEYWORD3>hand</KEYWORD3>\r
-                <KEYWORD3>heartbeat</KEYWORD3>\r
-                <KEYWORD3>host_speeds</KEYWORD3>\r
-                <KEYWORD3>hostname</KEYWORD3>\r
-                <KEYWORD3>hostport</KEYWORD3>\r
-                <KEYWORD3>imagelist</KEYWORD3>\r
-                <KEYWORD3>impulse</KEYWORD3>\r
-                <KEYWORD3>in_initjoy</KEYWORD3>\r
-                <KEYWORD3>in_initmouse</KEYWORD3>\r
-                <KEYWORD3>in_joystick</KEYWORD3>\r
-                <KEYWORD3>in_mouse</KEYWORD3>\r
-                <KEYWORD3>info</KEYWORD3>\r
-                <KEYWORD3>intensity</KEYWORD3>\r
-                <KEYWORD3>invdrop</KEYWORD3>\r
-                <KEYWORD3>inven</KEYWORD3>\r
-                <KEYWORD3>invnext</KEYWORD3>\r
-                <KEYWORD3>invnextp</KEYWORD3>\r
-                <KEYWORD3>invnextw</KEYWORD3>\r
-                <KEYWORD3>invprev</KEYWORD3>\r
-                <KEYWORD3>invprevp</KEYWORD3>\r
-                <KEYWORD3>invprevw</KEYWORD3>\r
-                <KEYWORD3>invuse</KEYWORD3>\r
-                <KEYWORD3>ip</KEYWORD3>\r
-                <KEYWORD3>ip_clientport</KEYWORD3>\r
-                <KEYWORD3>ip_hostport</KEYWORD3>\r
-                <KEYWORD3>ipx_clientport</KEYWORD3>\r
-                <KEYWORD3>ipx_hostport</KEYWORD3>\r
-                <KEYWORD3>joy_advanced</KEYWORD3>\r
-                <KEYWORD3>joy_advancedupdate</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisr</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisu</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisv</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisx</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisy</KEYWORD3>\r
-                <KEYWORD3>joy_advaxisz</KEYWORD3>\r
-                <KEYWORD3>joy_forwardsensitivity</KEYWORD3>\r
-                <KEYWORD3>joy_forwardthreshold</KEYWORD3>\r
-                <KEYWORD3>joy_name</KEYWORD3>\r
-                <KEYWORD3>joy_pitchsensitivity</KEYWORD3>\r
-                <KEYWORD3>joy_pitchthreshold</KEYWORD3>\r
-                <KEYWORD3>joy_sidesensitivity</KEYWORD3>\r
-                <KEYWORD3>joy_sidethreshold</KEYWORD3>\r
-                <KEYWORD3>joy_upsensitivity</KEYWORD3>\r
-                <KEYWORD3>joy_upthreshold</KEYWORD3>\r
-                <KEYWORD3>joy_yawsensitivity</KEYWORD3>\r
-                <KEYWORD3>joy_yawthreshold</KEYWORD3>\r
-                <KEYWORD3>kick</KEYWORD3>\r
-                <KEYWORD3>kill</KEYWORD3>\r
-                <KEYWORD3>killserver</KEYWORD3>\r
-                <KEYWORD3>link</KEYWORD3>\r
-                <KEYWORD3>load</KEYWORD3>\r
-                <KEYWORD3>loading</KEYWORD3>\r
-                <KEYWORD3>log_stats</KEYWORD3>\r
-                <KEYWORD3>logfile</KEYWORD3>\r
-                <KEYWORD3>lookspring</KEYWORD3>\r
-                <KEYWORD3>lookstrafe</KEYWORD3>\r
-                <KEYWORD3>m_filter</KEYWORD3>\r
-                <KEYWORD3>m_forward</KEYWORD3>\r
-                <KEYWORD3>m_pitch</KEYWORD3>\r
-                <KEYWORD3>m_side</KEYWORD3>\r
-                <KEYWORD3>m_yaw</KEYWORD3>\r
-                <KEYWORD3>map</KEYWORD3>\r
-                <KEYWORD3>map_noareas</KEYWORD3>\r
-                <KEYWORD3>mapname</KEYWORD3>\r
-                <KEYWORD3>maxclients</KEYWORD3>\r
-                <KEYWORD3>maxentities</KEYWORD3>\r
-                <KEYWORD3>maxspectators</KEYWORD3>\r
-                <KEYWORD3>menu_addressbook</KEYWORD3>\r
-                <KEYWORD3>menu_credits</KEYWORD3>\r
-                <KEYWORD3>menu_dmoptions</KEYWORD3>\r
-                <KEYWORD3>menu_game</KEYWORD3>\r
-                <KEYWORD3>menu_joinserver</KEYWORD3>\r
-                <KEYWORD3>menu_keys</KEYWORD3>\r
-                <KEYWORD3>menu_loadgame</KEYWORD3>\r
-                <KEYWORD3>menu_main</KEYWORD3>\r
-                <KEYWORD3>menu_multiplayer</KEYWORD3>\r
-                <KEYWORD3>menu_options</KEYWORD3>\r
-                <KEYWORD3>menu_playerconfig</KEYWORD3>\r
-                <KEYWORD3>menu_quit</KEYWORD3>\r
-                <KEYWORD3>menu_savegame</KEYWORD3>\r
-                <KEYWORD3>menu_startserver</KEYWORD3>\r
-                <KEYWORD3>menu_video</KEYWORD3>\r
-                <KEYWORD3>messagemode</KEYWORD3>\r
-                <KEYWORD3>messagemode3</KEYWORD3>\r
-                <KEYWORD3>modellist</KEYWORD3>\r
-                <KEYWORD3>msg</KEYWORD3>\r
-                <KEYWORD3>name</KEYWORD3>\r
-                <KEYWORD3>needpass</KEYWORD3>\r
-                <KEYWORD3>net_shownet</KEYWORD3>\r
-                <KEYWORD3>netgraph</KEYWORD3>\r
-                <KEYWORD3>nextserver</KEYWORD3>\r
-                <KEYWORD3>noclip</KEYWORD3>\r
-                <KEYWORD3>noipx</KEYWORD3>\r
-                <KEYWORD3>notarget</KEYWORD3>\r
-                <KEYWORD3>noudp</KEYWORD3>\r
-                <KEYWORD3>password</KEYWORD3>\r
-                <KEYWORD3>path</KEYWORD3>\r
-                <KEYWORD3>pause</KEYWORD3>\r
-                <KEYWORD3>paused</KEYWORD3>\r
-                <KEYWORD3>pingservers</KEYWORD3>\r
-                <KEYWORD3>play</KEYWORD3>\r
-                <KEYWORD3>playerlist</KEYWORD3>\r
-                <KEYWORD3>players</KEYWORD3>\r
-                <KEYWORD3>port</KEYWORD3>\r
-                <KEYWORD3>precache</KEYWORD3>\r
-                <KEYWORD3>prog</KEYWORD3>\r
-                <KEYWORD3>protocol</KEYWORD3>\r
-                <KEYWORD3>public</KEYWORD3>\r
-                <KEYWORD3>qport</KEYWORD3>\r
-                <KEYWORD3>quit</KEYWORD3>\r
-                <KEYWORD3>r_drawentities</KEYWORD3>\r
-                <KEYWORD3>r_drawworld</KEYWORD3>\r
-                <KEYWORD3>r_dspeeds</KEYWORD3>\r
-                <KEYWORD3>r_fullbright</KEYWORD3>\r
-                <KEYWORD3>r_lerpmodels</KEYWORD3>\r
-                <KEYWORD3>r_lightlevel</KEYWORD3>\r
-                <KEYWORD3>r_nocull</KEYWORD3>\r
-                <KEYWORD3>r_norefresh</KEYWORD3>\r
-                <KEYWORD3>r_novis</KEYWORD3>\r
-                <KEYWORD3>r_speeds</KEYWORD3>\r
-                <KEYWORD3>rate</KEYWORD3>\r
-                <KEYWORD3>rcon</KEYWORD3>\r
-                <KEYWORD3>rcon_address</KEYWORD3>\r
-                <KEYWORD3>rcon_password</KEYWORD3>\r
-                <KEYWORD3>reconnect</KEYWORD3>\r
-                <KEYWORD3>record</KEYWORD3>\r
-                <KEYWORD3>run_pitch</KEYWORD3>\r
-                <KEYWORD3>run_roll</KEYWORD3>\r
-                <KEYWORD3>s_initsound</KEYWORD3>\r
-                <KEYWORD3>s_khz</KEYWORD3>\r
-                <KEYWORD3>s_loadas8bit</KEYWORD3>\r
-                <KEYWORD3>s_mixahead</KEYWORD3>\r
-                <KEYWORD3>s_primary</KEYWORD3>\r
-                <KEYWORD3>s_show</KEYWORD3>\r
-                <KEYWORD3>s_testsound</KEYWORD3>\r
-                <KEYWORD3>s_volume</KEYWORD3>\r
-                <KEYWORD3>s_wavonly</KEYWORD3>\r
-                <KEYWORD3>save</KEYWORD3>\r
-                <KEYWORD3>say</KEYWORD3>\r
-                <KEYWORD3>say_team</KEYWORD3>\r
-                <KEYWORD3>score</KEYWORD3>\r
-                <KEYWORD3>scr_centertime</KEYWORD3>\r
-                <KEYWORD3>scr_conspeed</KEYWORD3>\r
-                <KEYWORD3>scr_drawall</KEYWORD3>\r
-                <KEYWORD3>scr_printspeed</KEYWORD3>\r
-                <KEYWORD3>scr_showpause</KEYWORD3>\r
-                <KEYWORD3>scr_showturtle</KEYWORD3>\r
-                <KEYWORD3>screenshot</KEYWORD3>\r
-                <KEYWORD3>sensitivity</KEYWORD3>\r
-                <KEYWORD3>serverinfo</KEYWORD3>\r
-                <KEYWORD3>serverrecord</KEYWORD3>\r
-                <KEYWORD3>serverstop</KEYWORD3>\r
-                <KEYWORD1>set</KEYWORD1>\r
-                <KEYWORD3>setenv</KEYWORD3>\r
-                <KEYWORD3>setmaster</KEYWORD3>\r
-                <KEYWORD3>showclamp</KEYWORD3>\r
-                <KEYWORD3>showdrop</KEYWORD3>\r
-                <KEYWORD3>showpackets</KEYWORD3>\r
-                <KEYWORD3>showtrace</KEYWORD3>\r
-                <KEYWORD3>sizedown</KEYWORD3>\r
-                <KEYWORD3>sizeup</KEYWORD3>\r
-                <KEYWORD3>skill</KEYWORD3>\r
-                <KEYWORD3>skin</KEYWORD3>\r
-                <KEYWORD3>skins</KEYWORD3>\r
-                <KEYWORD3>sky</KEYWORD3>\r
-                <KEYWORD3>snd_restart</KEYWORD3>\r
-                <KEYWORD3>soundinfo</KEYWORD3>\r
-                <KEYWORD3>soundlist</KEYWORD3>\r
-                <KEYWORD3>spectator</KEYWORD3>\r
-                <KEYWORD3>spectator_password</KEYWORD3>\r
-                <KEYWORD3>status</KEYWORD3>\r
-                <KEYWORD3>stop</KEYWORD3>\r
-                <KEYWORD3>stopsound</KEYWORD3>\r
-                <KEYWORD3>sv</KEYWORD3>\r
-                <KEYWORD3>sv_airaccelerate</KEYWORD3>\r
-                <KEYWORD3>sv_enforcetime</KEYWORD3>\r
-                <KEYWORD3>sv_gravity</KEYWORD3>\r
-                <KEYWORD3>sv_maplist</KEYWORD3>\r
-                <KEYWORD3>sv_maxvelocity</KEYWORD3>\r
-                <KEYWORD3>sv_noreload</KEYWORD3>\r
-                <KEYWORD3>sv_reconnect_limit</KEYWORD3>\r
-                <KEYWORD3>sv_rollangle</KEYWORD3>\r
-                <KEYWORD3>sv_rollspeed</KEYWORD3>\r
-                <KEYWORD3>sw_allow_modex</KEYWORD3>\r
-                <KEYWORD3>sw_clearcolor</KEYWORD3>\r
-                <KEYWORD3>sw_drawflat</KEYWORD3>\r
-                <KEYWORD3>sw_draworder</KEYWORD3>\r
-                <KEYWORD3>sw_maxedges</KEYWORD3>\r
-                <KEYWORD3>sw_maxsurfs</KEYWORD3>\r
-                <KEYWORD3>sw_mipcap</KEYWORD3>\r
-                <KEYWORD3>sw_mipscale</KEYWORD3>\r
-                <KEYWORD3>sw_mode</KEYWORD3>\r
-                <KEYWORD3>sw_polymodelstats</KEYWORD3>\r
-                <KEYWORD3>sw_reportedgeout</KEYWORD3>\r
-                <KEYWORD3>sw_reportsurfout</KEYWORD3>\r
-                <KEYWORD3>sw_stipplealpha</KEYWORD3>\r
-                <KEYWORD3>sw_surfcacheoverride</KEYWORD3>\r
-                <KEYWORD3>sw_waterwarp</KEYWORD3>\r
-                <KEYWORD3>timedemo</KEYWORD3>\r
-                <KEYWORD3>timegraph</KEYWORD3>\r
-                <KEYWORD3>timelimit</KEYWORD3>\r
-                <KEYWORD3>timeout</KEYWORD3>\r
-                <KEYWORD3>timerefresh</KEYWORD3>\r
-                <KEYWORD3>timescale</KEYWORD3>\r
-                <KEYWORD3>togglechat</KEYWORD3>\r
-                <KEYWORD3>toggleconsole</KEYWORD3>\r
-                <KEYWORD3>unbind</KEYWORD3>\r
-                <KEYWORD3>unbindall</KEYWORD3>\r
-                <KEYWORD3>use</KEYWORD3>\r
-                <KEYWORD3>userinfo</KEYWORD3>\r
-                <KEYWORD3>v_centermove</KEYWORD3>\r
-                <KEYWORD3>v_centerspeed</KEYWORD3>\r
-                <KEYWORD3>version</KEYWORD3>\r
-                <KEYWORD3>vid_front</KEYWORD3>\r
-                <KEYWORD3>vid_fullscreen</KEYWORD3>\r
-                <KEYWORD3>vid_gamma</KEYWORD3>\r
-                <KEYWORD3>vid_ref</KEYWORD3>\r
-                <KEYWORD3>vid_restart</KEYWORD3>\r
-                <KEYWORD3>vid_xpos</KEYWORD3>\r
-                <KEYWORD3>vid_ypos</KEYWORD3>\r
-                <KEYWORD3>viewpos</KEYWORD3>\r
-                <KEYWORD3>viewsize</KEYWORD3>\r
-                <KEYWORD3>wait</KEYWORD3>\r
-                <KEYWORD3>wave</KEYWORD3>\r
-                <KEYWORD3>weaplast</KEYWORD3>\r
-                <KEYWORD3>weapnext</KEYWORD3>\r
-                <KEYWORD3>weapprev</KEYWORD3>\r
-                <KEYWORD3>win_noalttab</KEYWORD3>\r
-                <KEYWORD3>z_stats</KEYWORD3>\r
-                <KEYWORD1>zombietime</KEYWORD1>\r
-                <KEYWORD4>shift</KEYWORD4>\r
-                <KEYWORD4>ctrl</KEYWORD4>\r
-                <KEYWORD4>space</KEYWORD4>\r
-                <KEYWORD4>tab</KEYWORD4>\r
-                <KEYWORD4>enter</KEYWORD4>\r
-                <KEYWORD4>escape</KEYWORD4>\r
-                <KEYWORD4>F1</KEYWORD4>\r
-                <KEYWORD4>F2</KEYWORD4>\r
-                <KEYWORD4>F3</KEYWORD4>\r
-                <KEYWORD4>F4</KEYWORD4>\r
-                <KEYWORD4>F5</KEYWORD4>\r
-                <KEYWORD4>F6</KEYWORD4>\r
-                <KEYWORD4>F7</KEYWORD4>\r
-                <KEYWORD4>F8</KEYWORD4>\r
-                <KEYWORD4>F9</KEYWORD4>\r
-                <KEYWORD4>F10</KEYWORD4>\r
-                <KEYWORD4>F11</KEYWORD4>\r
-                <KEYWORD4>F12</KEYWORD4>\r
-                <KEYWORD4>INS</KEYWORD4>\r
-                <KEYWORD4>DEL</KEYWORD4>\r
-                <KEYWORD4>PGUP</KEYWORD4>\r
-                <KEYWORD4>PGDN</KEYWORD4>\r
-                <KEYWORD4>HOME</KEYWORD4>\r
-                <KEYWORD4>END</KEYWORD4>\r
-                <KEYWORD4>MOUSE1</KEYWORD4>\r
-                <KEYWORD4>MOUSE2</KEYWORD4>\r
-                <KEYWORD4>uparrow</KEYWORD4>\r
-                <KEYWORD4>downarrow</KEYWORD4>\r
-                <KEYWORD4>leftarrow</KEYWORD4>\r
-                <KEYWORD4>rightarrow</KEYWORD4>\r
-                <KEYWORD4>mwheelup</KEYWORD4>\r
-                <KEYWORD4>mwheeldown</KEYWORD4>\r
-                <KEYWORD4>backspace</KEYWORD4>\r
-            </KEYWORDS>\r
-        </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rcp.xml b/extra/xmode/modes/rcp.xml
deleted file mode 100644 (file)
index 1b2f4c5..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!--\r
- **\r
- ** Pilrc *.prc highlight rules for jEdit\r
- **\r
- ** Marcin Orlowski - carlos@wfmh.org.pl\r
- **\r
- ** v1.0 (2006.04.25)\r
- **\r
--->\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-       <!--\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       -->\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE">\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-       </RULES>\r
-\r
-\r
-       <RULES>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-       </RULES>\r
-\r
-\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE">\r
-               <PROPS>\r
-                       <PROPERTY NAME="commentStart" VALUE="/*" />\r
-                       <PROPERTY NAME="lineComment" VALUE="//" />\r
-               </PROPS>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="RCP_LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <FUNCTION>ALERT</FUNCTION>\r
-                       <FUNCTION>APPLICATION</FUNCTION>\r
-                       <FUNCTION>APPLICATIONICONNAME</FUNCTION>\r
-                       <FUNCTION>AREA</FUNCTION>\r
-                       <FUNCTION>BITMAP</FUNCTION>\r
-                       <FUNCTION>BITMAPCOLOR</FUNCTION>\r
-                       <FUNCTION>BITMAPCOLOR16</FUNCTION>\r
-                       <FUNCTION>BITMAPCOLOR16K</FUNCTION>\r
-                       <FUNCTION>BITMAPFAMILY</FUNCTION>\r
-                       <FUNCTION>BITMAPFAMILYEX</FUNCTION>\r
-                       <FUNCTION>BITMAPFAMILYSPECIAL</FUNCTION>\r
-                       <FUNCTION>BITMAPGREY</FUNCTION>\r
-                       <FUNCTION>BITMAPGREY16</FUNCTION>\r
-                       <FUNCTION>BITMAPSCREENFAMILY</FUNCTION>\r
-                       <FUNCTION>BOOTSCREENFAMILY</FUNCTION>\r
-                       <FUNCTION>BUTTON</FUNCTION>\r
-                       <FUNCTION>BUTTONS</FUNCTION>\r
-                       <FUNCTION>BYTELIST</FUNCTION>\r
-                       <FUNCTION>CATEGORIES</FUNCTION>\r
-                       <FUNCTION>CHECKBOX</FUNCTION>\r
-                       <FUNCTION>COUNTRYLOCALISATION</FUNCTION>\r
-                       <FUNCTION>DATA</FUNCTION>\r
-                       <FUNCTION>FEATURE</FUNCTION>\r
-                       <FUNCTION>FIELD</FUNCTION>\r
-                       <FUNCTION>FONTINDEX</FUNCTION>\r
-                       <FUNCTION>FORM</FUNCTION>\r
-                       <FUNCTION>FORMBITMAP</FUNCTION>\r
-                       <FUNCTION>GADGET</FUNCTION>\r
-                       <FUNCTION>GENERATEHEADER</FUNCTION>\r
-                       <FUNCTION>GRAFFITIINPUTAREA</FUNCTION>\r
-                       <FUNCTION>GRAFFITISTATEINDICATOR</FUNCTION>\r
-                       <FUNCTION>HEX</FUNCTION>\r
-                       <FUNCTION>ICON</FUNCTION>\r
-                       <FUNCTION>ICONFAMILY</FUNCTION>\r
-                       <FUNCTION>ICONFAMILYEX</FUNCTION>\r
-                       <FUNCTION>INTEGER</FUNCTION>\r
-                       <FUNCTION>KEYBOARD</FUNCTION>\r
-                       <FUNCTION>LABEL</FUNCTION>\r
-                       <FUNCTION>LAUNCHERCATEGORY</FUNCTION>\r
-                       <FUNCTION>LIST</FUNCTION>\r
-                       <FUNCTION>LONGWORDLIST</FUNCTION>\r
-                       <FUNCTION>MENU</FUNCTION>\r
-                       <FUNCTION>MENUITEM</FUNCTION>\r
-                       <FUNCTION>MESSAGE</FUNCTION>\r
-                       <FUNCTION>MIDI</FUNCTION>\r
-                       <FUNCTION>NOGRAFFITISTATEINDICATOR</FUNCTION>\r
-                       <FUNCTION>PALETTETABLE</FUNCTION>\r
-                       <FUNCTION>POPUPLIST</FUNCTION>\r
-                       <FUNCTION>POPUPTRIGGER</FUNCTION>\r
-                       <FUNCTION>PULLDOWN</FUNCTION>\r
-                       <FUNCTION>PUSHBUTTON</FUNCTION>\r
-                       <FUNCTION>REPEATBUTTON</FUNCTION>\r
-                       <FUNCTION>RESETAUTOID</FUNCTION>\r
-                       <FUNCTION>SCROLLBAR</FUNCTION>\r
-                       <FUNCTION>SELECTORTRIGGER</FUNCTION>\r
-                       <FUNCTION>SLIDER</FUNCTION>\r
-                       <FUNCTION>SMALLICON</FUNCTION>\r
-                       <FUNCTION>SMALLICONFAMILY</FUNCTION>\r
-                       <FUNCTION>SMALLICONFAMILYEX</FUNCTION>\r
-                       <FUNCTION>STRING</FUNCTION>\r
-                       <FUNCTION>STRINGTABLE</FUNCTION>\r
-                       <FUNCTION>TABLE</FUNCTION>\r
-                       <FUNCTION>TITLE</FUNCTION>\r
-                       <FUNCTION>TRANSLATION</FUNCTION>\r
-                       <FUNCTION>TRAP</FUNCTION>\r
-                       <FUNCTION>VERSION</FUNCTION>\r
-                       <FUNCTION>WORDLIST</FUNCTION>\r
-\r
-                       <KEYWORD1>PREVTOP</KEYWORD1>\r
-                       <KEYWORD1>PREVBOTTOM</KEYWORD1>\r
-                       <KEYWORD1>PREVLEFT</KEYWORD1>\r
-                       <KEYWORD1>PREVRIGHT</KEYWORD1>\r
-                       <KEYWORD1>AUTO</KEYWORD1>\r
-                       <KEYWORD1>AUTOID</KEYWORD1>\r
-\r
-                       <KEYWORD2>AT</KEYWORD2>\r
-                       <KEYWORD2>AUTOSHIFT</KEYWORD2>\r
-                       <KEYWORD2>BACKGROUNDID</KEYWORD2>\r
-                       <KEYWORD2>BITMAPID</KEYWORD2>\r
-                       <KEYWORD2>BOLDFRAME</KEYWORD2>\r
-                       <KEYWORD2>BPP</KEYWORD2>\r
-                       <KEYWORD2>CHECKED</KEYWORD2>\r
-                       <KEYWORD2>COLORTABLE</KEYWORD2>\r
-                       <KEYWORD2>COLUMNS</KEYWORD2>\r
-                       <KEYWORD2>COLUMNWIDTHS</KEYWORD2>\r
-                       <KEYWORD2>COMPRESS</KEYWORD2>\r
-                       <KEYWORD2>COMPRESSBEST</KEYWORD2>\r
-                       <KEYWORD2>COMPRESSPACKBITS</KEYWORD2>\r
-                       <KEYWORD2>COMPRESSRLE</KEYWORD2>\r
-                       <KEYWORD2>COMPRESSSCANLINE</KEYWORD2>\r
-                       <KEYWORD2>CONFIRMATION</KEYWORD2>\r
-                       <KEYWORD2>COUNTRY</KEYWORD2>\r
-                       <KEYWORD2>CREATOR</KEYWORD2>\r
-                       <KEYWORD2>CURRENCYDECIMALPLACES</KEYWORD2>\r
-                       <KEYWORD2>CURRENCYNAME</KEYWORD2>\r
-                       <KEYWORD2>CURRENCYSYMBOL</KEYWORD2>\r
-                       <KEYWORD2>CURRENCYUNIQUESYMBOL</KEYWORD2>\r
-                       <KEYWORD2>DATEFORMAT</KEYWORD2>\r
-                       <KEYWORD2>DAYLIGHTSAVINGS</KEYWORD2>\r
-                       <KEYWORD2>DEFAULTBTNID</KEYWORD2>\r
-                       <KEYWORD2>DEFAULTBUTTON</KEYWORD2>\r
-                       <KEYWORD2>DENSITY</KEYWORD2>\r
-                       <KEYWORD2>DISABLED</KEYWORD2>\r
-                       <KEYWORD2>DYNAMICSIZE</KEYWORD2>\r
-                       <KEYWORD2>EDITABLE</KEYWORD2>\r
-                       <KEYWORD2>ENTRY</KEYWORD2>\r
-                       <KEYWORD2>ERROR</KEYWORD2>\r
-                       <KEYWORD2>EXTENDED</KEYWORD2>\r
-                       <KEYWORD2>FEEDBACK</KEYWORD2>\r
-                       <KEYWORD2>FILE</KEYWORD2>\r
-                       <KEYWORD2>FONTID</KEYWORD2>\r
-                       <KEYWORD2>FORCECOMPRESS</KEYWORD2>\r
-                       <KEYWORD2>FRAME</KEYWORD2>\r
-                       <KEYWORD2>GRAFFITI</KEYWORD2>\r
-                       <KEYWORD2>GRAPHICAL</KEYWORD2>\r
-                       <KEYWORD2>GROUP</KEYWORD2>\r
-                       <KEYWORD2>HASSCROLLBAR</KEYWORD2>\r
-                       <KEYWORD2>HELPID</KEYWORD2>\r
-                       <KEYWORD2>ID</KEYWORD2>\r
-                       <KEYWORD2>INDEX</KEYWORD2>\r
-                       <KEYWORD2>INFORMATION</KEYWORD2>\r
-                       <KEYWORD2>KEYDOWNCHR</KEYWORD2>\r
-                       <KEYWORD2>KEYDOWNKEYCODE</KEYWORD2>\r
-                       <KEYWORD2>KEYDOWNMODIFIERS</KEYWORD2>\r
-                       <KEYWORD2>LANGUAGE</KEYWORD2>\r
-                       <KEYWORD2>LEFTALIGN</KEYWORD2>\r
-                       <KEYWORD2>LEFTANCHOR</KEYWORD2>\r
-                       <KEYWORD2>LONGDATEFORMAT</KEYWORD2>\r
-                       <KEYWORD2>MAX</KEYWORD2>\r
-                       <KEYWORD2>MAXCHARS</KEYWORD2>\r
-                       <KEYWORD2>MEASUREMENTSYSTEM</KEYWORD2>\r
-                       <KEYWORD2>MENUID</KEYWORD2>\r
-                       <KEYWORD2>MIN</KEYWORD2>\r
-                       <KEYWORD2>LOCALE</KEYWORD2>\r
-                       <KEYWORD2>MINUTESWESTOFGMT</KEYWORD2>\r
-                       <KEYWORD2>MODAL</KEYWORD2>\r
-                       <KEYWORD2>MULTIPLELINES</KEYWORD2>\r
-                       <KEYWORD2>NAME</KEYWORD2>\r
-                       <KEYWORD2>NOCOLORTABLE</KEYWORD2>\r
-                       <KEYWORD2>NOCOMPRESS</KEYWORD2>\r
-                       <KEYWORD2>NOFRAME</KEYWORD2>\r
-                       <KEYWORD2>NONEDITABLE</KEYWORD2>\r
-                       <KEYWORD2>NONEXTENDED</KEYWORD2>\r
-                       <KEYWORD2>NONUSABLE</KEYWORD2>\r
-                       <KEYWORD2>NOSAVEBEHIND</KEYWORD2>\r
-                       <KEYWORD2>NUMBER</KEYWORD2>\r
-                       <KEYWORD2>NUMBERFORMAT</KEYWORD2>\r
-                       <KEYWORD2>NUMERIC</KEYWORD2>\r
-                       <KEYWORD2>PAGESIZE</KEYWORD2>\r
-                       <KEYWORD2>RECTFRAME</KEYWORD2>\r
-                       <KEYWORD2>RIGHTALIGN</KEYWORD2>\r
-                       <KEYWORD2>RIGHTANCHOR</KEYWORD2>\r
-                       <KEYWORD2>ROWS</KEYWORD2>\r
-                       <KEYWORD2>SAVEBEHIND</KEYWORD2>\r
-                       <KEYWORD2>SEARCH</KEYWORD2>\r
-                       <KEYWORD2>SCREEN</KEYWORD2>\r
-                       <KEYWORD2>SELECTEDBITMAPID</KEYWORD2>\r
-                       <KEYWORD2>SINGLELINE</KEYWORD2>\r
-                       <KEYWORD2>THUMBID</KEYWORD2>\r
-                       <KEYWORD2>TRANSPARENTINDEX</KEYWORD2>\r
-                       <KEYWORD2>TIMEFORMAT</KEYWORD2>\r
-                       <KEYWORD2>UNDERLINED</KEYWORD2>\r
-                       <KEYWORD2>USABLE</KEYWORD2>\r
-                       <KEYWORD2>VALUE</KEYWORD2>\r
-                       <KEYWORD2>VERTICAL</KEYWORD2>\r
-                       <KEYWORD2>VISIBLEITEMS</KEYWORD2>\r
-                       <KEYWORD2>WARNING</KEYWORD2>\r
-                       <KEYWORD2>WEEKSTARTDAY</KEYWORD2>\r
-\r
-                       <KEYWORD2>FONT</KEYWORD2>\r
-                       <!-- FONT ID -->\r
-                       <KEYWORD2>TRANSPARENT</KEYWORD2>\r
-\r
-                       <KEYWORD3>BEGIN</KEYWORD3>\r
-                       <KEYWORD3>END</KEYWORD3>\r
-\r
-                       <!-- Language constructs (24) -->\r
-                       <KEYWORD4>#include</KEYWORD4>\r
-                       <KEYWORD4>#define</KEYWORD4>\r
-                       <KEYWORD4>equ</KEYWORD4>\r
-                       <KEYWORD4>#undef</KEYWORD4>\r
-                       <KEYWORD4>#ifdef</KEYWORD4>\r
-                       <KEYWORD4>#ifndef</KEYWORD4>\r
-                       <KEYWORD4>#else</KEYWORD4>\r
-                       <KEYWORD4>#endif</KEYWORD4>\r
-\r
-                       <KEYWORD4>package</KEYWORD4>\r
-                       <!-- syn region pilrcInclude start="public class" end="}" -->\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="RCP_LITERAL" ESCAPE="\" DEFAULT="LITERAL1">\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>\r
-               <SEQ TYPE="LITERAL1">\</SEQ>\r
-               <SEQ TYPE="LITERAL1">=</SEQ>\r
-               <SEQ TYPE="LITERAL1">!</SEQ>\r
-               <SEQ TYPE="LITERAL1">=</SEQ>\r
-               <SEQ TYPE="LITERAL1">+</SEQ>\r
-               <SEQ TYPE="LITERAL1">-</SEQ>\r
-               <SEQ TYPE="LITERAL1">/</SEQ>\r
-               <SEQ TYPE="LITERAL1">*</SEQ>\r
-               <SEQ TYPE="LITERAL1">%</SEQ>\r
-               <SEQ TYPE="LITERAL1">|</SEQ>\r
-               <SEQ TYPE="LITERAL1">^</SEQ>\r
-               <SEQ TYPE="LITERAL1">~</SEQ>\r
-               <SEQ TYPE="LITERAL1">.</SEQ>\r
-               <SEQ TYPE="LITERAL1">}</SEQ>\r
-               <SEQ TYPE="LITERAL1">{</SEQ>\r
-               <SEQ TYPE="LITERAL1">,</SEQ>\r
-               <SEQ TYPE="LITERAL1">;</SEQ>\r
-               <SEQ TYPE="LITERAL1">]</SEQ>\r
-               <SEQ TYPE="LITERAL1">[</SEQ>\r
-               <SEQ TYPE="LITERAL1">?</SEQ>\r
-               <SEQ TYPE="LITERAL1">@</SEQ>\r
-               <SEQ TYPE="LITERAL1">:</SEQ>\r
-               <SEQ TYPE="LITERAL1">)</SEQ>\r
-               <SEQ TYPE="LITERAL1">'</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rd.xml b/extra/xmode/modes/rd.xml
deleted file mode 100644 (file)
index 2c94a64..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" ?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd"> \r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <KEYWORDS>\r
-                       <KEYWORD1>\name</KEYWORD1>\r
-                       <KEYWORD1>\alias</KEYWORD1>\r
-                       <KEYWORD1>\title</KEYWORD1>\r
-                       <KEYWORD1>\description</KEYWORD1>\r
-                       <KEYWORD1>\synopsis</KEYWORD1>\r
-                       <KEYWORD1>\usage</KEYWORD1>\r
-                       <KEYWORD1>\arguments</KEYWORD1>\r
-                       <KEYWORD1>\details</KEYWORD1>\r
-                       <KEYWORD1>\value</KEYWORD1>\r
-                       <KEYWORD1>\references</KEYWORD1>\r
-                       <KEYWORD1>\note</KEYWORD1>\r
-                       <KEYWORD1>\author</KEYWORD1>\r
-                       <KEYWORD1>\seealso</KEYWORD1>\r
-                       <KEYWORD1>\examples</KEYWORD1>\r
-                       <KEYWORD1>\keyword</KEYWORD1>\r
-                       <KEYWORD2>\itemize</KEYWORD2>\r
-                       <KEYWORD2>\method</KEYWORD2>\r
-                       <KEYWORD2>\docType</KEYWORD2>\r
-                       <KEYWORD2>\format</KEYWORD2>\r
-                       <KEYWORD2>\source</KEYWORD2>\r
-                       <KEYWORD2>\itemize</KEYWORD2>\r
-                       <KEYWORD2>\section</KEYWORD2>\r
-                       <KEYWORD2>\enumerate</KEYWORD2>\r
-                       <KEYWORD2>\describe</KEYWORD2>\r
-                       <KEYWORD2>\tabular</KEYWORD2>\r
-                       <KEYWORD2>\link</KEYWORD2>\r
-                       <KEYWORD2>\item</KEYWORD2>\r
-                       <KEYWORD2>\eqn</KEYWORD2>\r
-                       <KEYWORD2>\deqn</KEYWORD2>\r
-                       <KEYWORD2>\concept</KEYWORD2>\r
-                       <KEYWORD3>\emph</KEYWORD3>\r
-                       <KEYWORD3>\strong</KEYWORD3>\r
-                       <KEYWORD3>\bold</KEYWORD3>\r
-                       <KEYWORD3>\sQuote</KEYWORD3>\r
-                       <KEYWORD3>\dQuote</KEYWORD3>\r
-                       <KEYWORD3>\code</KEYWORD3>\r
-                       <KEYWORD3>\preformatted</KEYWORD3>\r
-                       <KEYWORD3>\kbd</KEYWORD3>\r
-                       <KEYWORD3>\samp</KEYWORD3>\r
-                       <KEYWORD3>\pkg</KEYWORD3>\r
-                       <KEYWORD3>\file</KEYWORD3>\r
-                       <KEYWORD3>\email</KEYWORD3>\r
-                       <KEYWORD3>\url</KEYWORD3>\r
-                       <KEYWORD3>\var</KEYWORD3>\r
-                       <KEYWORD3>\env</KEYWORD3>\r
-                       <KEYWORD3>\option</KEYWORD3>\r
-                       <KEYWORD3>\command</KEYWORD3>\r
-                       <KEYWORD3>\dfn</KEYWORD3>\r
-                       <KEYWORD3>\cite</KEYWORD3>\r
-                       <KEYWORD3>\acronym</KEYWORD3>\r
-                       <KEYWORD3>\tab</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rebol.xml b/extra/xmode/modes/rebol.xml
deleted file mode 100644 (file)
index 6d672b9..0000000
+++ /dev/null
@@ -1,546 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{[(" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}])" />\r
-               <PROPERTY NAME="commentStart" VALUE="comment {" />\r
-               <PROPERTY NAME="commentEnd" VALUE="}" />\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-               <PROPERTY NAME="noWordSep" VALUE="_-" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-               <!-- Javadoc comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>comment {</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>comment{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL2" MATCH_TYPE="OPERATOR">'</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>abs</KEYWORD1>\r
-                       <KEYWORD1>absolute</KEYWORD1>\r
-                       <KEYWORD1>add</KEYWORD1>\r
-                       <KEYWORD1>and~</KEYWORD1>\r
-                       <KEYWORD1>at</KEYWORD1>\r
-                       <KEYWORD1>back</KEYWORD1>\r
-                       <KEYWORD1>change</KEYWORD1>\r
-                       <KEYWORD1>clear</KEYWORD1>\r
-                       <KEYWORD1>complement</KEYWORD1>\r
-                       <KEYWORD1>copy</KEYWORD1>\r
-                       <KEYWORD1>cp</KEYWORD1>\r
-                       <KEYWORD1>divide</KEYWORD1>\r
-                       <KEYWORD1>fifth</KEYWORD1>\r
-                       <KEYWORD1>find</KEYWORD1>\r
-                       <KEYWORD1>first</KEYWORD1>\r
-                       <KEYWORD1>fourth</KEYWORD1>\r
-                       <KEYWORD1>head</KEYWORD1>\r
-                       <KEYWORD1>insert</KEYWORD1>\r
-                       <KEYWORD1>last</KEYWORD1>\r
-                       <KEYWORD1>make</KEYWORD1>\r
-                       <KEYWORD1>max</KEYWORD1>\r
-                       <KEYWORD1>maximum</KEYWORD1>\r
-                       <KEYWORD1>min</KEYWORD1>\r
-                       <KEYWORD1>minimum</KEYWORD1>\r
-                       <KEYWORD1>multiply</KEYWORD1>\r
-                       <KEYWORD1>negate</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <KEYWORD1>or~</KEYWORD1>\r
-                       <KEYWORD1>pick</KEYWORD1>\r
-                       <KEYWORD1>poke</KEYWORD1>\r
-                       <KEYWORD1>power</KEYWORD1>\r
-                       <KEYWORD1>random</KEYWORD1>\r
-                       <KEYWORD1>remainder</KEYWORD1>\r
-                       <KEYWORD1>remove</KEYWORD1>\r
-                       <KEYWORD1>second</KEYWORD1>\r
-                       <KEYWORD1>select</KEYWORD1>\r
-                       <KEYWORD1>skip</KEYWORD1>\r
-                       <KEYWORD1>sort</KEYWORD1>\r
-                       <KEYWORD1>subtract</KEYWORD1>\r
-                       <KEYWORD1>tail</KEYWORD1>\r
-                       <KEYWORD1>third</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>trim</KEYWORD1>\r
-                       <KEYWORD1>xor~</KEYWORD1>\r
-                       <KEYWORD1>alias</KEYWORD1>\r
-                       <KEYWORD1>all</KEYWORD1>\r
-                       <KEYWORD1>any</KEYWORD1>\r
-                       <KEYWORD1>arccosine</KEYWORD1>\r
-                       <KEYWORD1>arcsine</KEYWORD1>\r
-                       <KEYWORD1>arctangent</KEYWORD1>\r
-                       <KEYWORD1>bind</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>browse</KEYWORD1>\r
-                       <KEYWORD1>call</KEYWORD1>\r
-                       <KEYWORD1>caret-to-offset</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>checksum</KEYWORD1>\r
-                       <KEYWORD1>close</KEYWORD1>\r
-                       <KEYWORD1>comment</KEYWORD1>\r
-                       <KEYWORD1>compose</KEYWORD1>\r
-                       <KEYWORD1>compress</KEYWORD1>\r
-                       <KEYWORD1>cosine</KEYWORD1>\r
-                       <KEYWORD1>debase</KEYWORD1>\r
-                       <KEYWORD1>decompress</KEYWORD1>\r
-                       <KEYWORD1>dehex</KEYWORD1>\r
-                       <KEYWORD1>detab</KEYWORD1>\r
-                       <KEYWORD1>dh-compute-key</KEYWORD1>\r
-                       <KEYWORD1>dh-generate-key</KEYWORD1>\r
-                       <KEYWORD1>dh-make-key</KEYWORD1>\r
-                       <KEYWORD1>difference</KEYWORD1>\r
-                       <KEYWORD1>disarm</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>dsa-generate-key</KEYWORD1>\r
-                       <KEYWORD1>dsa-make-key</KEYWORD1>\r
-                       <KEYWORD1>dsa-make-signature</KEYWORD1>\r
-                       <KEYWORD1>dsa-verify-signature</KEYWORD1>\r
-                       <KEYWORD1>either</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>enbase</KEYWORD1>\r
-                       <KEYWORD1>entab</KEYWORD1>\r
-                       <KEYWORD1>exclude</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>exp</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>form</KEYWORD1>\r
-                       <KEYWORD1>free</KEYWORD1>\r
-                       <KEYWORD1>get</KEYWORD1>\r
-                       <KEYWORD1>get-modes</KEYWORD1>\r
-                       <KEYWORD1>halt</KEYWORD1>\r
-                       <KEYWORD1>hide</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>intersect</KEYWORD1>\r
-                       <KEYWORD1>load</KEYWORD1>\r
-                       <KEYWORD1>log-10</KEYWORD1>\r
-                       <KEYWORD1>log-2</KEYWORD1>\r
-                       <KEYWORD1>log-e</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <KEYWORD1>lowercase</KEYWORD1>\r
-                       <KEYWORD1>maximum-of</KEYWORD1>\r
-                       <KEYWORD1>minimum-of</KEYWORD1>\r
-                       <KEYWORD1>mold</KEYWORD1>\r
-                       <KEYWORD1>not</KEYWORD1>\r
-                       <KEYWORD1>now</KEYWORD1>\r
-                       <KEYWORD1>offset-to-caret</KEYWORD1>\r
-                       <KEYWORD1>open</KEYWORD1>\r
-                       <KEYWORD1>parse</KEYWORD1>\r
-                       <KEYWORD1>prin</KEYWORD1>\r
-                       <KEYWORD1>print</KEYWORD1>\r
-                       <KEYWORD1>protect</KEYWORD1>\r
-                       <KEYWORD1>q</KEYWORD1>\r
-                       <KEYWORD1>query</KEYWORD1>\r
-                       <KEYWORD1>quit</KEYWORD1>\r
-                       <KEYWORD1>read</KEYWORD1>\r
-                       <KEYWORD1>read-io</KEYWORD1>\r
-                       <KEYWORD1>recycle</KEYWORD1>\r
-                       <KEYWORD1>reduce</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>reverse</KEYWORD1>\r
-                       <KEYWORD1>rsa-encrypt</KEYWORD1>\r
-                       <KEYWORD1>rsa-generate-key</KEYWORD1>\r
-                       <KEYWORD1>rsa-make-key</KEYWORD1>\r
-                       <KEYWORD1>save</KEYWORD1>\r
-                       <KEYWORD1>secure</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-                       <KEYWORD1>set-modes</KEYWORD1>\r
-                       <KEYWORD1>show</KEYWORD1>\r
-                       <KEYWORD1>sine</KEYWORD1>\r
-                       <KEYWORD1>size-text</KEYWORD1>\r
-                       <KEYWORD1>square-root</KEYWORD1>\r
-                       <KEYWORD1>tangent</KEYWORD1>\r
-                       <KEYWORD1>textinfo</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>to-hex</KEYWORD1>\r
-                       <KEYWORD1>to-local-file</KEYWORD1>\r
-                       <KEYWORD1>to-rebol-file</KEYWORD1>\r
-                       <KEYWORD1>trace</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>union</KEYWORD1>\r
-                       <KEYWORD1>unique</KEYWORD1>\r
-                       <KEYWORD1>unprotect</KEYWORD1>\r
-                       <KEYWORD1>unset</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>update</KEYWORD1>\r
-                       <KEYWORD1>uppercase</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-                       <KEYWORD1>wait</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>write</KEYWORD1>\r
-                       <KEYWORD1>write-io</KEYWORD1>\r
-                       <KEYWORD1>basic-syntax-header</KEYWORD1>\r
-                       <KEYWORD1>crlf</KEYWORD1>\r
-                       <KEYWORD1>font-fixed</KEYWORD1>\r
-                       <KEYWORD1>font-sans-serif</KEYWORD1>\r
-                       <KEYWORD1>font-serif</KEYWORD1>\r
-                       <KEYWORD1>list-words</KEYWORD1>\r
-                       <KEYWORD1>outstr</KEYWORD1>\r
-                       <KEYWORD1>val</KEYWORD1>\r
-                       <KEYWORD1>value</KEYWORD1>\r
-                       <KEYWORD1>about</KEYWORD1>\r
-                       <KEYWORD1>alert</KEYWORD1>\r
-                       <KEYWORD1>alter</KEYWORD1>\r
-                       <KEYWORD1>append</KEYWORD1>\r
-                       <KEYWORD1>array</KEYWORD1>\r
-                       <KEYWORD1>ask</KEYWORD1>\r
-                       <KEYWORD1>boot-prefs</KEYWORD1>\r
-                       <KEYWORD1>build-tag</KEYWORD1>\r
-                       <KEYWORD1>center-face</KEYWORD1>\r
-                       <KEYWORD1>change-dir</KEYWORD1>\r
-                       <KEYWORD1>charset</KEYWORD1>\r
-                       <KEYWORD1>choose</KEYWORD1>\r
-                       <KEYWORD1>clean-path</KEYWORD1>\r
-                       <KEYWORD1>clear-fields</KEYWORD1>\r
-                       <KEYWORD1>confine</KEYWORD1>\r
-                       <KEYWORD1>confirm</KEYWORD1>\r
-                       <KEYWORD1>context</KEYWORD1>\r
-                       <KEYWORD1>cvs-date</KEYWORD1>\r
-                       <KEYWORD1>cvs-version</KEYWORD1>\r
-                       <KEYWORD1>decode-cgi</KEYWORD1>\r
-                       <KEYWORD1>decode-url</KEYWORD1>\r
-                       <KEYWORD1>deflag-face</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>demo</KEYWORD1>\r
-                       <KEYWORD1>desktop</KEYWORD1>\r
-                       <KEYWORD1>dirize</KEYWORD1>\r
-                       <KEYWORD1>dispatch</KEYWORD1>\r
-                       <KEYWORD1>do-boot</KEYWORD1>\r
-                       <KEYWORD1>do-events</KEYWORD1>\r
-                       <KEYWORD1>do-face</KEYWORD1>\r
-                       <KEYWORD1>do-face-alt</KEYWORD1>\r
-                       <KEYWORD1>does</KEYWORD1>\r
-                       <KEYWORD1>dump-face</KEYWORD1>\r
-                       <KEYWORD1>dump-pane</KEYWORD1>\r
-                       <KEYWORD1>echo</KEYWORD1>\r
-                       <KEYWORD1>editor</KEYWORD1>\r
-                       <KEYWORD1>emailer</KEYWORD1>\r
-                       <KEYWORD1>emit</KEYWORD1>\r
-                       <KEYWORD1>extract</KEYWORD1>\r
-                       <KEYWORD1>find-by-type</KEYWORD1>\r
-                       <KEYWORD1>find-key-face</KEYWORD1>\r
-                       <KEYWORD1>find-window</KEYWORD1>\r
-                       <KEYWORD1>flag-face</KEYWORD1>\r
-                       <KEYWORD1>flash</KEYWORD1>\r
-                       <KEYWORD1>focus</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>forall</KEYWORD1>\r
-                       <KEYWORD1>forever</KEYWORD1>\r
-                       <KEYWORD1>forskip</KEYWORD1>\r
-                       <KEYWORD1>func</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>get-net-info</KEYWORD1>\r
-                       <KEYWORD1>get-style</KEYWORD1>\r
-                       <KEYWORD1>has</KEYWORD1>\r
-                       <KEYWORD1>help</KEYWORD1>\r
-                       <KEYWORD1>hide-popup</KEYWORD1>\r
-                       <KEYWORD1>import-email</KEYWORD1>\r
-                       <KEYWORD1>inform</KEYWORD1>\r
-                       <KEYWORD1>input</KEYWORD1>\r
-                       <KEYWORD1>insert-event-func</KEYWORD1>\r
-                       <KEYWORD1>join</KEYWORD1>\r
-                       <KEYWORD1>launch</KEYWORD1>\r
-                       <KEYWORD1>launch-thru</KEYWORD1>\r
-                       <KEYWORD1>layout</KEYWORD1>\r
-                       <KEYWORD1>license</KEYWORD1>\r
-                       <KEYWORD1>list-dir</KEYWORD1>\r
-                       <KEYWORD1>load-image</KEYWORD1>\r
-                       <KEYWORD1>load-prefs</KEYWORD1>\r
-                       <KEYWORD1>load-thru</KEYWORD1>\r
-                       <KEYWORD1>make-dir</KEYWORD1>\r
-                       <KEYWORD1>make-face</KEYWORD1>\r
-                       <KEYWORD1>net-error</KEYWORD1>\r
-                       <KEYWORD1>open-events</KEYWORD1>\r
-                       <KEYWORD1>parse-email-addrs</KEYWORD1>\r
-                       <KEYWORD1>parse-header</KEYWORD1>\r
-                       <KEYWORD1>parse-header-date</KEYWORD1>\r
-                       <KEYWORD1>parse-xml</KEYWORD1>\r
-                       <KEYWORD1>path-thru</KEYWORD1>\r
-                       <KEYWORD1>probe</KEYWORD1>\r
-                       <KEYWORD1>protect-system</KEYWORD1>\r
-                       <KEYWORD1>read-net</KEYWORD1>\r
-                       <KEYWORD1>read-thru</KEYWORD1>\r
-                       <KEYWORD1>reboot</KEYWORD1>\r
-                       <KEYWORD1>reform</KEYWORD1>\r
-                       <KEYWORD1>rejoin</KEYWORD1>\r
-                       <KEYWORD1>remold</KEYWORD1>\r
-                       <KEYWORD1>remove-event-func</KEYWORD1>\r
-                       <KEYWORD1>rename</KEYWORD1>\r
-                       <KEYWORD1>repend</KEYWORD1>\r
-                       <KEYWORD1>replace</KEYWORD1>\r
-                       <KEYWORD1>request</KEYWORD1>\r
-                       <KEYWORD1>request-color</KEYWORD1>\r
-                       <KEYWORD1>request-date</KEYWORD1>\r
-                       <KEYWORD1>request-download</KEYWORD1>\r
-                       <KEYWORD1>request-file</KEYWORD1>\r
-                       <KEYWORD1>request-list</KEYWORD1>\r
-                       <KEYWORD1>request-pass</KEYWORD1>\r
-                       <KEYWORD1>request-text</KEYWORD1>\r
-                       <KEYWORD1>resend</KEYWORD1>\r
-                       <KEYWORD1>save-prefs</KEYWORD1>\r
-                       <KEYWORD1>save-user</KEYWORD1>\r
-                       <KEYWORD1>scroll-para</KEYWORD1>\r
-                       <KEYWORD1>send</KEYWORD1>\r
-                       <KEYWORD1>set-font</KEYWORD1>\r
-                       <KEYWORD1>set-net</KEYWORD1>\r
-                       <KEYWORD1>set-para</KEYWORD1>\r
-                       <KEYWORD1>set-style</KEYWORD1>\r
-                       <KEYWORD1>set-user</KEYWORD1>\r
-                       <KEYWORD1>set-user-name</KEYWORD1>\r
-                       <KEYWORD1>show-popup</KEYWORD1>\r
-                       <KEYWORD1>source</KEYWORD1>\r
-                       <KEYWORD1>split-path</KEYWORD1>\r
-                       <KEYWORD1>stylize</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>throw-on-error</KEYWORD1>\r
-                       <KEYWORD1>to-binary</KEYWORD1>\r
-                       <KEYWORD1>to-bitset</KEYWORD1>\r
-                       <KEYWORD1>to-block</KEYWORD1>\r
-                       <KEYWORD1>to-char</KEYWORD1>\r
-                       <KEYWORD1>to-date</KEYWORD1>\r
-                       <KEYWORD1>to-decimal</KEYWORD1>\r
-                       <KEYWORD1>to-email</KEYWORD1>\r
-                       <KEYWORD1>to-event</KEYWORD1>\r
-                       <KEYWORD1>to-file</KEYWORD1>\r
-                       <KEYWORD1>to-get-word</KEYWORD1>\r
-                       <KEYWORD1>to-hash</KEYWORD1>\r
-                       <KEYWORD1>to-idate</KEYWORD1>\r
-                       <KEYWORD1>to-image</KEYWORD1>\r
-                       <KEYWORD1>to-integer</KEYWORD1>\r
-                       <KEYWORD1>to-issue</KEYWORD1>\r
-                       <KEYWORD1>to-list</KEYWORD1>\r
-                       <KEYWORD1>to-lit-path</KEYWORD1>\r
-                       <KEYWORD1>to-lit-word</KEYWORD1>\r
-                       <KEYWORD1>to-logic</KEYWORD1>\r
-                       <KEYWORD1>to-money</KEYWORD1>\r
-                       <KEYWORD1>to-none</KEYWORD1>\r
-                       <KEYWORD1>to-pair</KEYWORD1>\r
-                       <KEYWORD1>to-paren</KEYWORD1>\r
-                       <KEYWORD1>to-path</KEYWORD1>\r
-                       <KEYWORD1>to-refinement</KEYWORD1>\r
-                       <KEYWORD1>to-set-path</KEYWORD1>\r
-                       <KEYWORD1>to-set-word</KEYWORD1>\r
-                       <KEYWORD1>to-string</KEYWORD1>\r
-                       <KEYWORD1>to-tag</KEYWORD1>\r
-                       <KEYWORD1>to-time</KEYWORD1>\r
-                       <KEYWORD1>to-tuple</KEYWORD1>\r
-                       <KEYWORD1>to-url</KEYWORD1>\r
-                       <KEYWORD1>to-word</KEYWORD1>\r
-                       <KEYWORD1>unfocus</KEYWORD1>\r
-                       <KEYWORD1>uninstall</KEYWORD1>\r
-                       <KEYWORD1>unview</KEYWORD1>\r
-                       <KEYWORD1>upgrade</KEYWORD1>\r
-                       <KEYWORD1>Usage</KEYWORD1>\r
-                       <KEYWORD1>vbug</KEYWORD1>\r
-                       <KEYWORD1>view</KEYWORD1>\r
-                       <KEYWORD1>view-install</KEYWORD1>\r
-                       <KEYWORD1>view-prefs</KEYWORD1>\r
-                       <KEYWORD1>what</KEYWORD1>\r
-                       <KEYWORD1>what-dir</KEYWORD1>\r
-                       <KEYWORD1>write-user</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>at</KEYWORD1>\r
-                       <KEYWORD1>space</KEYWORD1>\r
-                       <KEYWORD1>pad</KEYWORD1>\r
-                       <KEYWORD1>across</KEYWORD1>\r
-                       <KEYWORD1>below</KEYWORD1>\r
-                       <KEYWORD1>origin</KEYWORD1>\r
-                       <KEYWORD1>guide</KEYWORD1>\r
-                       <KEYWORD1>tabs</KEYWORD1>\r
-                       <KEYWORD1>indent</KEYWORD1>\r
-                       <KEYWORD1>style</KEYWORD1>\r
-                       <KEYWORD1>styles</KEYWORD1>\r
-                       <KEYWORD1>size</KEYWORD1>\r
-                       <KEYWORD1>sense</KEYWORD1>\r
-                       <KEYWORD1>backcolor</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>none</KEYWORD1>\r
-                       <KEYWORD2>action?</KEYWORD2>\r
-                       <KEYWORD2>any-block?</KEYWORD2>\r
-                       <KEYWORD2>any-function?</KEYWORD2>\r
-                       <KEYWORD2>any-string?</KEYWORD2>\r
-                       <KEYWORD2>any-type?</KEYWORD2>\r
-                       <KEYWORD2>any-word?</KEYWORD2>\r
-                       <KEYWORD2>binary?</KEYWORD2>\r
-                       <KEYWORD2>bitset?</KEYWORD2>\r
-                       <KEYWORD2>block?</KEYWORD2>\r
-                       <KEYWORD2>char?</KEYWORD2>\r
-                       <KEYWORD2>datatype?</KEYWORD2>\r
-                       <KEYWORD2>date?</KEYWORD2>\r
-                       <KEYWORD2>decimal?</KEYWORD2>\r
-                       <KEYWORD2>email?</KEYWORD2>\r
-                       <KEYWORD2>empty?</KEYWORD2>\r
-                       <KEYWORD2>equal?</KEYWORD2>\r
-                       <KEYWORD2>error?</KEYWORD2>\r
-                       <KEYWORD2>even?</KEYWORD2>\r
-                       <KEYWORD2>event?</KEYWORD2>\r
-                       <KEYWORD2>file?</KEYWORD2>\r
-                       <KEYWORD2>function?</KEYWORD2>\r
-                       <KEYWORD2>get-word?</KEYWORD2>\r
-                       <KEYWORD2>greater-or-equal?</KEYWORD2>\r
-                       <KEYWORD2>greater?</KEYWORD2>\r
-                       <KEYWORD2>hash?</KEYWORD2>\r
-                       <KEYWORD2>head?</KEYWORD2>\r
-                       <KEYWORD2>image?</KEYWORD2>\r
-                       <KEYWORD2>index?</KEYWORD2>\r
-                       <KEYWORD2>integer?</KEYWORD2>\r
-                       <KEYWORD2>issue?</KEYWORD2>\r
-                       <KEYWORD2>length?</KEYWORD2>\r
-                       <KEYWORD2>lesser-or-equal?</KEYWORD2>\r
-                       <KEYWORD2>lesser?</KEYWORD2>\r
-                       <KEYWORD2>library?</KEYWORD2>\r
-                       <KEYWORD2>list?</KEYWORD2>\r
-                       <KEYWORD2>lit-path?</KEYWORD2>\r
-                       <KEYWORD2>lit-word?</KEYWORD2>\r
-                       <KEYWORD2>logic?</KEYWORD2>\r
-                       <KEYWORD2>money?</KEYWORD2>\r
-                       <KEYWORD2>native?</KEYWORD2>\r
-                       <KEYWORD2>negative?</KEYWORD2>\r
-                       <KEYWORD2>none?</KEYWORD2>\r
-                       <KEYWORD2>not-equal?</KEYWORD2>\r
-                       <KEYWORD2>number?</KEYWORD2>\r
-                       <KEYWORD2>object?</KEYWORD2>\r
-                       <KEYWORD2>odd?</KEYWORD2>\r
-                       <KEYWORD2>op?</KEYWORD2>\r
-                       <KEYWORD2>pair?</KEYWORD2>\r
-                       <KEYWORD2>paren?</KEYWORD2>\r
-                       <KEYWORD2>path?</KEYWORD2>\r
-                       <KEYWORD2>port?</KEYWORD2>\r
-                       <KEYWORD2>positive?</KEYWORD2>\r
-                       <KEYWORD2>refinement?</KEYWORD2>\r
-                       <KEYWORD2>routine?</KEYWORD2>\r
-                       <KEYWORD2>same?</KEYWORD2>\r
-                       <KEYWORD2>series?</KEYWORD2>\r
-                       <KEYWORD2>set-path?</KEYWORD2>\r
-                       <KEYWORD2>set-word?</KEYWORD2>\r
-                       <KEYWORD2>strict-equal?</KEYWORD2>\r
-                       <KEYWORD2>strict-not-equal?</KEYWORD2>\r
-                       <KEYWORD2>string?</KEYWORD2>\r
-                       <KEYWORD2>struct?</KEYWORD2>\r
-                       <KEYWORD2>tag?</KEYWORD2>\r
-                       <KEYWORD2>tail?</KEYWORD2>\r
-                       <KEYWORD2>time?</KEYWORD2>\r
-                       <KEYWORD2>tuple?</KEYWORD2>\r
-                       <KEYWORD2>unset?</KEYWORD2>\r
-                       <KEYWORD2>url?</KEYWORD2>\r
-                       <KEYWORD2>word?</KEYWORD2>\r
-                       <KEYWORD2>zero?</KEYWORD2>\r
-                       <KEYWORD2>connected?</KEYWORD2>\r
-                       <KEYWORD2>crypt-strength?</KEYWORD2>\r
-                       <KEYWORD2>exists-key?</KEYWORD2>\r
-                       <KEYWORD2>input?</KEYWORD2>\r
-                       <KEYWORD2>script?</KEYWORD2>\r
-                       <KEYWORD2>type?</KEYWORD2>\r
-                       <KEYWORD2>value?</KEYWORD2>\r
-                       <KEYWORD2>?</KEYWORD2>\r
-                       <KEYWORD2>??</KEYWORD2>\r
-                       <KEYWORD2>dir?</KEYWORD2>\r
-                       <KEYWORD2>exists-thru?</KEYWORD2>\r
-                       <KEYWORD2>exists?</KEYWORD2>\r
-                       <KEYWORD2>flag-face?</KEYWORD2>\r
-                       <KEYWORD2>found?</KEYWORD2>\r
-                       <KEYWORD2>in-window?</KEYWORD2>\r
-                       <KEYWORD2>info?</KEYWORD2>\r
-                       <KEYWORD2>inside?</KEYWORD2>\r
-                       <KEYWORD2>link-app?</KEYWORD2>\r
-                       <KEYWORD2>link?</KEYWORD2>\r
-                       <KEYWORD2>modified?</KEYWORD2>\r
-                       <KEYWORD2>offset?</KEYWORD2>\r
-                       <KEYWORD2>outside?</KEYWORD2>\r
-                       <KEYWORD2>screen-offset?</KEYWORD2>\r
-                       <KEYWORD2>size?</KEYWORD2>\r
-                       <KEYWORD2>span?</KEYWORD2>\r
-                       <KEYWORD2>view?</KEYWORD2>\r
-                       <KEYWORD2>viewed?</KEYWORD2>\r
-                       <KEYWORD2>win-offset?</KEYWORD2>\r
-                       <KEYWORD2>within?</KEYWORD2>\r
-                       <KEYWORD3>action!</KEYWORD3>\r
-                       <KEYWORD3>any-block!</KEYWORD3>\r
-                       <KEYWORD3>any-function!</KEYWORD3>\r
-                       <KEYWORD3>any-string!</KEYWORD3>\r
-                       <KEYWORD3>any-type!</KEYWORD3>\r
-                       <KEYWORD3>any-word!</KEYWORD3>\r
-                       <KEYWORD3>binary!</KEYWORD3>\r
-                       <KEYWORD3>bitset!</KEYWORD3>\r
-                       <KEYWORD3>block!</KEYWORD3>\r
-                       <KEYWORD3>char!</KEYWORD3>\r
-                       <KEYWORD3>datatype!</KEYWORD3>\r
-                       <KEYWORD3>date!</KEYWORD3>\r
-                       <KEYWORD3>decimal!</KEYWORD3>\r
-                       <KEYWORD3>email!</KEYWORD3>\r
-                       <KEYWORD3>error!</KEYWORD3>\r
-                       <KEYWORD3>event!</KEYWORD3>\r
-                       <KEYWORD3>file!</KEYWORD3>\r
-                       <KEYWORD3>function!</KEYWORD3>\r
-                       <KEYWORD3>get-word!</KEYWORD3>\r
-                       <KEYWORD3>hash!</KEYWORD3>\r
-                       <KEYWORD3>image!</KEYWORD3>\r
-                       <KEYWORD3>integer!</KEYWORD3>\r
-                       <KEYWORD3>issue!</KEYWORD3>\r
-                       <KEYWORD3>library!</KEYWORD3>\r
-                       <KEYWORD3>list!</KEYWORD3>\r
-                       <KEYWORD3>lit-path!</KEYWORD3>\r
-                       <KEYWORD3>lit-word!</KEYWORD3>\r
-                       <KEYWORD3>logic!</KEYWORD3>\r
-                       <KEYWORD3>money!</KEYWORD3>\r
-                       <KEYWORD3>native!</KEYWORD3>\r
-                       <KEYWORD3>none!</KEYWORD3>\r
-                       <KEYWORD3>number!</KEYWORD3>\r
-                       <KEYWORD3>object!</KEYWORD3>\r
-                       <KEYWORD3>op!</KEYWORD3>\r
-                       <KEYWORD3>pair!</KEYWORD3>\r
-                       <KEYWORD3>paren!</KEYWORD3>\r
-                       <KEYWORD3>path!</KEYWORD3>\r
-                       <KEYWORD3>port!</KEYWORD3>\r
-                       <KEYWORD3>refinement!</KEYWORD3>\r
-                       <KEYWORD3>routine!</KEYWORD3>\r
-                       <KEYWORD3>series!</KEYWORD3>\r
-                       <KEYWORD3>set-path!</KEYWORD3>\r
-                       <KEYWORD3>set-word!</KEYWORD3>\r
-                       <KEYWORD3>string!</KEYWORD3>\r
-                       <KEYWORD3>struct!</KEYWORD3>\r
-                       <KEYWORD3>symbol!</KEYWORD3>\r
-                       <KEYWORD3>tag!</KEYWORD3>\r
-                       <KEYWORD3>time!</KEYWORD3>\r
-                       <KEYWORD3>tuple!</KEYWORD3>\r
-                       <KEYWORD3>unset!</KEYWORD3>\r
-                       <KEYWORD3>url!</KEYWORD3>\r
-                       <KEYWORD3>word!</KEYWORD3>\r
-\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>self</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/redcode.xml b/extra/xmode/modes/redcode.xml
deleted file mode 100644 (file)
index 1c64d60..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-\r
-       redcode syntax highlighting file for jedit\r
-\r
-       Will Varfar, 2002\r
-\r
--->\r
-\r
-<MODE>\r
-\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=";" />\r
-       </PROPS>\r
-\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
-\r
-           <EOL_SPAN TYPE="COMMENT2">;redcode</EOL_SPAN>\r
-           <EOL_SPAN TYPE="COMMENT2">;author</EOL_SPAN>\r
-           <EOL_SPAN TYPE="COMMENT2">;name</EOL_SPAN>\r
-           <EOL_SPAN TYPE="COMMENT2">;strategy</EOL_SPAN>\r
-           <EOL_SPAN TYPE="COMMENT2">;password</EOL_SPAN>\r
-           <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-\r
-               <SEQ TYPE="KEYWORD3">.AB</SEQ> <!-- Instructions read the A-field of the A-instruction  and the B-field of the B-instruction and write to B-fields. -->\r
-               <SEQ TYPE="KEYWORD3">.BA</SEQ> <!-- Instructions read the B-field of the A-instruction  and the A-field of the B-instruction and write to A-fields. -->\r
-               <SEQ TYPE="KEYWORD3">.A</SEQ> <!--Instructions read and write A-fields. -->\r
-               <SEQ TYPE="KEYWORD3">.B</SEQ> <!-- Instructions read and write B-fields. -->\r
-               <SEQ TYPE="KEYWORD3">.F</SEQ> <!-- Instructions read both A- and B-fields of  the  the  A- and  B-instruction and write to both A- and B-fields (A to A and B to B). -->\r
-               <SEQ TYPE="KEYWORD3">.X</SEQ> <!-- Instructions read both A- and B-fields of  the  the  A- and  B-instruction  and  write  to both A- and B-fields exchanging fields (A to B and B to A). -->\r
-               <SEQ TYPE="KEYWORD3">.I</SEQ> <!-- Instructions read and write entire instructions. -->\r
-\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <!-- Arithmetic: -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>   <!-- addition or unary plus -->\r
-               <SEQ TYPE="OPERATOR">-</SEQ>   <!-- subtraction or unary minus -->\r
-               <SEQ TYPE="OPERATOR">/</SEQ>   <!-- division -->\r
-               <SEQ TYPE="OPERATOR">%</SEQ>   <!-- modulo (remainder of division) -->\r
-\r
-               <!-- Comparison (*): -->\r
-               <SEQ TYPE="OPERATOR">==</SEQ>  <!-- equality -->\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>  <!-- inequality -->\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>  <!-- less than or equal -->\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>  <!-- greater than or equal -->\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>   <!-- less than -->\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>   <!-- greater than -->\r
-\r
-               <!-- Logical (*): -->\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>  <!-- and -->\r
-               <SEQ TYPE="OPERATOR">||</SEQ>  <!-- or -->\r
-               <SEQ TYPE="OPERATOR">!</SEQ>   <!-- unary negation -->\r
-\r
-               <!-- Assignment (*): -->\r
-               <SEQ TYPE="OPERATOR">=</SEQ>   <!-- (to register variables a..z) -->\r
-\r
-\r
-               <SEQ TYPE="LITERAL1">$</SEQ>\r
-               <SEQ TYPE="LITERAL1">@</SEQ>\r
-               <SEQ TYPE="LITERAL1">#</SEQ>\r
-               <SEQ TYPE="LITERAL1">*</SEQ>\r
-               <SEQ TYPE="LITERAL1">{</SEQ>\r
-               <SEQ TYPE="LITERAL1">}</SEQ>\r
-\r
-               <KEYWORDS>\r
-\r
-                       <LITERAL2>CORESIZE</LITERAL2> <!-- value of -s parameter (default: 8000) -->\r
-                       <LITERAL2>MAXPROCESSES</LITERAL2> <!-- value of -p parameter (default: 8000) -->\r
-                       <LITERAL2>MAXCYCLES</LITERAL2> <!-- value of -c parameter (default: 80000) -->\r
-                       <LITERAL2>MAXLENGTH</LITERAL2> <!-- value of -l parameter (default: 100) -->\r
-                       <LITERAL2>MINDISTANCE</LITERAL2> <!-- value of -d parameter (default: 100) -->\r
-                       <LITERAL2>ROUNDS</LITERAL2> <!-- (+) value of -r parameter (default: 1) -->\r
-                       <LITERAL2>PSPACESIZE</LITERAL2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->\r
-                       <LITERAL2>CURLINE</LITERAL2> <!-- current line in generated assembly (starts with 0) -->\r
-                       <LITERAL2>VERSION</LITERAL2> <!-- pMARS version ("60" is v0.6.0) -->\r
-                       <LITERAL2>WARRIORS</LITERAL2> <!-- number of warriors specified on command line -->\r
-\r
-                       <KEYWORD1>DAT</KEYWORD1> <!-- terminate process -->\r
-                       <KEYWORD1>MOV</KEYWORD1> <!-- move from A to B -->\r
-                       <KEYWORD1>ADD</KEYWORD1> <!-- add A to B, store result in B -->\r
-                       <KEYWORD1>SUB</KEYWORD1> <!-- subtract A from B, store result in B -->\r
-                       <KEYWORD1>MUL</KEYWORD1> <!-- multiply A by B, store result in B -->\r
-                       <KEYWORD1>DIV</KEYWORD1> <!-- divide B by A, store result in B if A <> 0, else terminate -->\r
-                       <KEYWORD1>MOD</KEYWORD1> <!-- divide B by A, store remainder in B if A <> 0, else terminate -->\r
-                       <KEYWORD1>JMP</KEYWORD1> <!-- transfer execution to A -->\r
-                       <KEYWORD1>JMZ</KEYWORD1> <!-- transfer execution to A if B is zero -->\r
-                       <KEYWORD1>JMN</KEYWORD1> <!-- transfer execution to A if B is non-zero -->\r
-                       <KEYWORD1>DJN</KEYWORD1> <!-- decrement B, if B is non-zero, transfer execution to A -->\r
-                       <KEYWORD1>SPL</KEYWORD1> <!-- split off process to A -->\r
-                       <KEYWORD1>SLT</KEYWORD1> <!-- skip next instruction if A is less than B -->\r
-                       <KEYWORD1>CMP</KEYWORD1> <!-- same as SEQ -->\r
-                       <KEYWORD1>SEQ</KEYWORD1> <!-- (*) Skip next instruction if A is equal to B -->\r
-                       <KEYWORD1>SNE</KEYWORD1> <!-- (*) Skip next instruction if A is not equal to B -->\r
-                       <KEYWORD1>NOP</KEYWORD1> <!-- (*) No operation -->\r
-                       <KEYWORD1>LDP</KEYWORD1> <!-- (+) Load P-space cell A into core address B -->\r
-                       <KEYWORD1>STP</KEYWORD1> <!-- (+) Store A-number into P-space cell B -->\r
-\r
-                       <KEYWORD2>EQU</KEYWORD2>\r
-                       <KEYWORD2>ORG</KEYWORD2>\r
-                       <KEYWORD2>FOR</KEYWORD2>\r
-                       <KEYWORD2>ROF</KEYWORD2>\r
-                       <KEYWORD2>END</KEYWORD2>\r
-                       <KEYWORD2>PIN</KEYWORD2>\r
-                       <KEYWORD2>CORESIZE</KEYWORD2> <!-- value of -s parameter (default: 8000) -->\r
-                       <KEYWORD2>MAXPROCESSES</KEYWORD2> <!-- value of -p parameter (default: 8000) -->\r
-                       <KEYWORD2>MAXCYCLES</KEYWORD2> <!-- value of -c parameter (default: 80000) -->\r
-                       <KEYWORD2>MAXLENGTH</KEYWORD2> <!-- value of -l parameter (default: 100) -->\r
-                       <KEYWORD2>MINDISTANCE</KEYWORD2> <!-- value of -d parameter (default: 100) -->\r
-                       <KEYWORD2>ROUNDS</KEYWORD2> <!-- (+) value of -r parameter (default: 1) -->\r
-                       <KEYWORD2>PSPACESIZE</KEYWORD2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->\r
-                       <KEYWORD2>CURLINE</KEYWORD2> <!-- current line in generated assembly (starts with 0) -->\r
-                       <KEYWORD2>VERSION</KEYWORD2> <!-- pMARS version ("60" is v0.6.0) -->\r
-                       <KEYWORD2>WARRIORS</KEYWORD2> <!-- number of warriors specified on command line -->\r
-\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-</MODE>\r
-\r
-\r
diff --git a/extra/xmode/modes/relax-ng-compact.xml b/extra/xmode/modes/relax-ng-compact.xml
deleted file mode 100644 (file)
index cdf6706..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version='1.0'?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- RELAX NG Compact Syntax mode, by Randy Hudson. -->\r
-<!-- mode catalog entry:\r
-     \r
-  <MODE NAME="relax-ng-compact" FILE="relax-ng-compact.xml"\r
-      FILE_NAME_GLOB="*.rnc" /> \r
-  -->\r
-\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-        <PROPERTY NAME="lineComment" VALUE="#" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-    </PROPS>  \r
-    \r
-    <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-    \r
-        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-        <SPAN TYPE='LITERAL2'>\r
-            <BEGIN>"""</BEGIN>\r
-            <END>"""</END>\r
-        </SPAN>\r
-        <SPAN TYPE='LITERAL2'>\r
-            <BEGIN>'''</BEGIN>\r
-            <END>'''</END>\r
-        </SPAN>\r
\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">?</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|=</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        \r
-        <MARK_FOLLOWING TYPE="NULL">\</MARK_FOLLOWING>\r
-        \r
-        <KEYWORDS>\r
-            <KEYWORD1>attribute</KEYWORD1>\r
-            <KEYWORD1>default</KEYWORD1>\r
-            <KEYWORD1>datatypes</KEYWORD1>\r
-            <KEYWORD1>div</KEYWORD1>\r
-            <KEYWORD1>element</KEYWORD1>\r
-            <KEYWORD1>empty</KEYWORD1>\r
-            <KEYWORD1>external</KEYWORD1>\r
-            <KEYWORD1>grammar</KEYWORD1>\r
-            <KEYWORD1>include</KEYWORD1>\r
-            <KEYWORD1>inherit</KEYWORD1>\r
-            <KEYWORD1>list</KEYWORD1>\r
-            <KEYWORD1>mixed</KEYWORD1>\r
-            <KEYWORD1>namespace</KEYWORD1>\r
-            <KEYWORD1>notAllowed</KEYWORD1>\r
-            <KEYWORD1>parent</KEYWORD1>\r
-            <KEYWORD1>start</KEYWORD1>\r
-            <KEYWORD2>string</KEYWORD2>\r
-            <KEYWORD1>text</KEYWORD1>\r
-            <KEYWORD2>token</KEYWORD2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rest.xml b/extra/xmode/modes/rest.xml
deleted file mode 100644 (file)
index 0f51ecf..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE=".. "/>\r
-               <!-- indent after literal blocks and directives -->\r
-               <PROPERTY NAME="indentNextLines" VALUE=".*::$"/>\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" ESCAPE="\">\r
-\r
-               <!-- targets -->\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD3">__</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD3">.. _</EOL_SPAN>\r
-\r
-               <!-- section titles -->\r
-               <SEQ_REGEXP HASH_CHAR="===" TYPE="LABEL">={3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="---" TYPE="LABEL">-{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="~~~" TYPE="LABEL">~{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="###" TYPE="LABEL">#{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR='"""' TYPE="LABEL">"{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="^^^" TYPE="LABEL">\^{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="+++" TYPE="LABEL">\+{3,}</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="***" TYPE="LABEL">\*{3,}</SEQ_REGEXP>\r
-\r
-               <!-- replacement -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR=".."\r
-                       AT_LINE_START="TRUE"\r
-                       TYPE="LITERAL3"\r
-               >\.\.\s\|[^|]+\|</SEQ_REGEXP>\r
-\r
-               <!-- substitution -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="|"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="LITERAL4"\r
-               >\|[^|]+\|</SEQ_REGEXP>\r
-\r
-               <!-- directives: .. name:: -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR=".."\r
-                       AT_LINE_START="TRUE"\r
-                       TYPE="LITERAL2"\r
-               >\.\.\s[A-z][A-z0-9-_]+::</SEQ_REGEXP>\r
-\r
-               <!-- strong emphasis: **...** -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="**"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD2"\r
-               >\*\*[^*]+\*\*</SEQ_REGEXP>\r
-\r
-               <!-- emphasis: *...* -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="*"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >\*[^\s*][^*]*\*</SEQ_REGEXP>\r
-\r
-               <!-- comments -->\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">.. </EOL_SPAN>\r
-\r
-               <!-- links: `...`_ or `...`__ -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="`"\r
-                       TYPE="LABEL"\r
-               >`[A-z0-9]+[^`]+`_{1,2}</SEQ_REGEXP>\r
-\r
-               <!-- footnote reference: [0]_ -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="["\r
-                       TYPE="LABEL"\r
-               >\[[0-9]+\]_</SEQ_REGEXP>\r
-\r
-               <!-- footnote reference: [#]_ or [#foo]_ -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="[#"\r
-                       TYPE="LABEL"\r
-               >\[#[A-z0-9_]*\]_</SEQ_REGEXP>\r
-\r
-               <!-- footnote reference: [*]_ -->\r
-               <SEQ TYPE="LABEL">[*]_</SEQ>\r
-\r
-               <!-- citation reference: [foo]_ -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="["\r
-                       TYPE="LABEL"\r
-               >\[[A-z][A-z0-9_-]*\]_</SEQ_REGEXP>\r
-\r
-               <!-- inline literal: ``...``-->\r
-               <!--<SEQ_REGEXP\r
-                       HASH_CHAR="``"\r
-                       TYPE="LITERAL1"\r
-               >``[^`]+``</SEQ_REGEXP>-->\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>``</BEGIN>\r
-                       <END>``</END>\r
-               </SPAN>\r
-\r
-               <!-- interpreted text: `...` -->\r
-               <!--\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="`"\r
-                       TYPE="KEYWORD1"\r
-               >`[^`]+`</SEQ_REGEXP>\r
-               -->\r
-               <SPAN TYPE="KEYWORD1">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <SEQ_REGEXP HASH_CHAR="```" TYPE="LABEL">`{3,}</SEQ_REGEXP>\r
-\r
-               <!-- :field list: -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR=":"\r
-                       TYPE="KEYWORD1"\r
-               >:[A-z][A-z0-9  =\s\t_]*:</SEQ_REGEXP>\r
-\r
-               <!-- table -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="+-"\r
-                       TYPE="LABEL"\r
-               >\+-[+-]+</SEQ_REGEXP>\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="+?"\r
-                       TYPE="LABEL"\r
-               >\+=[+=]+</SEQ_REGEXP>\r
-\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/rfc.xml b/extra/xmode/modes/rfc.xml
deleted file mode 100644 (file)
index 9d84db8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- RFC mode by Matthieu Casanova -->\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<MODE>\r
-       <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">\r
-               <SEQ_REGEXP HASH_CHAR="[" TYPE="KEYWORD3">\[Page \d+\]</SEQ_REGEXP>\r
-               <SEQ_REGEXP HASH_CHAR="[" TYPE="KEYWORD2">\[RFC\d+\]</SEQ_REGEXP>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <KEYWORDS>\r
-                       <!--{{{ Keyword list from RFC2119 -->\r
-                       <KEYWORD1>MUST</KEYWORD1>\r
-                       <KEYWORD1>MUST NOT</KEYWORD1>\r
-                       <KEYWORD1>REQUIRED</KEYWORD1>\r
-                       <KEYWORD1>SHALL</KEYWORD1>\r
-                       <KEYWORD1>SHALL NOT</KEYWORD1>\r
-                       <KEYWORD1>SHOULD</KEYWORD1>\r
-                       <KEYWORD1>SHOULD NOT</KEYWORD1>\r
-                       <KEYWORD1>RECOMMENDED</KEYWORD1>\r
-                       <KEYWORD1>MAY</KEYWORD1>\r
-                       <KEYWORD1>OPTIONAL</KEYWORD1> \r
-                       <!--}}}-->\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rhtml.xml b/extra/xmode/modes/rhtml.xml
deleted file mode 100644 (file)
index 76e4f91..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- rhtml (ruby+html) mode -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;%#" />\r
-               <PROPERTY NAME="commentEnd" VALUE="%&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               \r
-               <!-- eRuby comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;%#</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- eRuby assignment -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ruby::MAIN">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- eRuby statement -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ruby::MAIN">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP">\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;%#</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS_LITERAL" DEFAULT="LITERAL1">\r
-\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;%</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="MARKUP">\r
-                       <BEGIN>&lt;%=</BEGIN>\r
-                       <END>%&gt;</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rib.xml b/extra/xmode/modes/rib.xml
deleted file mode 100644 (file)
index 81b579f..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!--\r
-jEdit edit mode for Renderman Interface Bytestream (*.rib) files\r
-version 1.0 - 9 nov 2003\r
-by Alessandro Falappa (alessandro@falappa.net)\r
-Initial keyword list taken from a syntax highlighting definition\r
-for TextPad text editor by Kharitonov Konstantin (aqua@sm.bmstu.ru)\r
--->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="lineComment" VALUE="#" />\r
-        <PROPERTY NAME="indentNextLines" VALUE="Begin|WorldBegin|FrameBegin|TransformBegin|AttributeBegin|SolidBegin|ObjectBegin|MotionBegin" />\r
-        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-    </PROPS>\r
-    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="([\p{Digit}]+(e[\p{Digit}]*)?)">\r
-               <EOL_SPAN AT_WHITESPACE_END="TRUE" TYPE="COMMENT1">#</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">#</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="LITERALS">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <KEYWORDS>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>string</KEYWORD1>\r
-                       <KEYWORD1>color</KEYWORD1>\r
-                       <KEYWORD1>point</KEYWORD1>\r
-                       <KEYWORD1>vector</KEYWORD1>\r
-                       <KEYWORD1>normal</KEYWORD1>\r
-                       <KEYWORD1>matrix</KEYWORD1>\r
-                       <KEYWORD1>void</KEYWORD1>\r
-                       <KEYWORD1>varying</KEYWORD1>\r
-                       <KEYWORD1>uniform</KEYWORD1>\r
-                       <KEYWORD1>output</KEYWORD1>\r
-                       <KEYWORD1>extern</KEYWORD1>\r
-\r
-                       <KEYWORD2>Begin</KEYWORD2>\r
-                       <KEYWORD2>End</KEYWORD2>\r
-                       <KEYWORD2>Declare</KEYWORD2>\r
-                       <KEYWORD2>RtContextHandle </KEYWORD2>\r
-                       <KEYWORD2>ContextHandle </KEYWORD2>\r
-                       <KEYWORD2>Context</KEYWORD2>\r
-                       <KEYWORD2>FrameBegin</KEYWORD2>\r
-                       <KEYWORD2>FrameEnd</KEYWORD2>\r
-                       <KEYWORD2>WorldBegin</KEYWORD2>\r
-                       <KEYWORD2>WorldEnd</KEYWORD2>\r
-                       <KEYWORD2>SolidBegin</KEYWORD2>\r
-                       <KEYWORD2>SolidEnd</KEYWORD2>\r
-                       <KEYWORD2>MotionBegin</KEYWORD2>\r
-                       <KEYWORD2>MotionEnd</KEYWORD2>\r
-                       <KEYWORD2>ObjectBegin</KEYWORD2>\r
-                       <KEYWORD2>ObjectEnd</KEYWORD2>\r
-                       <KEYWORD2>Format</KEYWORD2>\r
-                       <KEYWORD2>FrameAspectRatio</KEYWORD2>\r
-                       <KEYWORD2>ScreenWindow</KEYWORD2>\r
-                       <KEYWORD2>CropWindow</KEYWORD2>\r
-                       <KEYWORD2>Projection</KEYWORD2>\r
-                       <KEYWORD2>Clipping</KEYWORD2>\r
-                       <KEYWORD2>ClippingPlane</KEYWORD2>\r
-                       <KEYWORD2>DepthOfField</KEYWORD2>\r
-                       <KEYWORD2>Shutter</KEYWORD2>\r
-                       <KEYWORD2>PixelVariance</KEYWORD2>\r
-                       <KEYWORD2>PixelSamples</KEYWORD2>\r
-                       <KEYWORD2>PixelFilter</KEYWORD2>\r
-                       <KEYWORD2>Exposure</KEYWORD2>\r
-                       <KEYWORD2>Imager</KEYWORD2>\r
-                       <KEYWORD2>Quantize</KEYWORD2>\r
-                       <KEYWORD2>Display</KEYWORD2>\r
-                       <KEYWORD2>Hider</KEYWORD2>\r
-                       <KEYWORD2>ColorSamples</KEYWORD2>\r
-                       <KEYWORD2>RelativeDetail</KEYWORD2>\r
-                       <KEYWORD2>Option</KEYWORD2>\r
-                       <KEYWORD2>AttributeBegin</KEYWORD2>\r
-                       <KEYWORD2>AttributeEnd</KEYWORD2>\r
-                       <KEYWORD2>Color</KEYWORD2>\r
-                       <KEYWORD2>Opacity</KEYWORD2>\r
-                       <KEYWORD2>TextureCoordinates</KEYWORD2>\r
-                       <KEYWORD2>RtLightHandle</KEYWORD2>\r
-                       <KEYWORD2>LightSource</KEYWORD2>\r
-                       <KEYWORD2>AreaLightSource</KEYWORD2>\r
-                       <KEYWORD2>Illuminate</KEYWORD2>\r
-                       <KEYWORD2>Surface</KEYWORD2>\r
-                       <KEYWORD2>Displacement</KEYWORD2>\r
-                       <KEYWORD2>Atmosphere</KEYWORD2>\r
-                       <KEYWORD2>Interior</KEYWORD2>\r
-                       <KEYWORD2>Exterior</KEYWORD2>\r
-                       <KEYWORD2>ShadingRate</KEYWORD2>\r
-                       <KEYWORD2>ShadingInterpolation</KEYWORD2>\r
-                       <KEYWORD2>Matte</KEYWORD2>\r
-                       <KEYWORD2>Bound</KEYWORD2>\r
-                       <KEYWORD2>Detail</KEYWORD2>\r
-                       <KEYWORD2>DetailRange</KEYWORD2>\r
-                       <KEYWORD2>GeometricApproximation</KEYWORD2>\r
-                       <KEYWORD2>Orientation</KEYWORD2>\r
-                       <KEYWORD2>ReverseOrientation</KEYWORD2>\r
-                       <KEYWORD2>Sides</KEYWORD2>\r
-                       <KEYWORD2>Identity</KEYWORD2>\r
-                       <KEYWORD2>Transform</KEYWORD2>\r
-                       <KEYWORD2>ConcatTransform</KEYWORD2>\r
-                       <KEYWORD2>Perspective</KEYWORD2>\r
-                       <KEYWORD2>Translate</KEYWORD2>\r
-                       <KEYWORD2>Rotate</KEYWORD2>\r
-                       <KEYWORD2>Scale</KEYWORD2>\r
-                       <KEYWORD2>Skew</KEYWORD2>\r
-                       <KEYWORD2>CoordinateSystem</KEYWORD2>\r
-                       <KEYWORD2>CoordSysTransform</KEYWORD2>\r
-                       <KEYWORD2>TransformPoints</KEYWORD2>\r
-                       <KEYWORD2>TransformBegin</KEYWORD2>\r
-                       <KEYWORD2>TransformEnd</KEYWORD2>\r
-                       <KEYWORD2>Attribute</KEYWORD2>\r
-\r
-                       <KEYWORD3>Polygon</KEYWORD3>\r
-                       <KEYWORD3>GeneralPolygon</KEYWORD3>\r
-                       <KEYWORD3>PointsPolygons</KEYWORD3>\r
-                       <KEYWORD3>PointsGeneralPolygons</KEYWORD3>\r
-                       <KEYWORD3>Basis</KEYWORD3>\r
-                       <KEYWORD3>Patch</KEYWORD3>\r
-                       <KEYWORD3>PatchMesh</KEYWORD3>\r
-                       <KEYWORD3>NuPatch</KEYWORD3>\r
-                       <KEYWORD3>TrimCurve</KEYWORD3>\r
-                       <KEYWORD3>SubdivisionMesh</KEYWORD3>\r
-                       <KEYWORD3>Sphere</KEYWORD3>\r
-                       <KEYWORD3>Cone</KEYWORD3>\r
-                       <KEYWORD3>Cylinder</KEYWORD3>\r
-                       <KEYWORD3>Hyperboloid</KEYWORD3>\r
-                       <KEYWORD3>Paraboloid</KEYWORD3>\r
-                       <KEYWORD3>Disk</KEYWORD3>\r
-                       <KEYWORD3>Torus</KEYWORD3>\r
-                       <KEYWORD3>Points</KEYWORD3>\r
-                       <KEYWORD3>Curves</KEYWORD3>\r
-                       <KEYWORD3>Blobby</KEYWORD3>\r
-                       <KEYWORD3>Procedural</KEYWORD3>\r
-                       <KEYWORD3>DelayedReadArchive</KEYWORD3>\r
-                       <KEYWORD3>RunProgram</KEYWORD3>\r
-                       <KEYWORD3>DynamicLoad</KEYWORD3>\r
-                       <KEYWORD3>Geometry</KEYWORD3>\r
-                       <KEYWORD3>SolidBegin</KEYWORD3>\r
-                       <KEYWORD3>SolidEnd</KEYWORD3>\r
-                       <KEYWORD3>RtObjectHandle</KEYWORD3>\r
-                       <KEYWORD3>ObjectBegin</KEYWORD3>\r
-                       <KEYWORD3>ObjectEnd</KEYWORD3>\r
-                       <KEYWORD3>ObjectInstance</KEYWORD3>\r
-\r
-                       <KEYWORD4>MakeTexture</KEYWORD4>\r
-                       <KEYWORD4>MakeLatLongEnvironment</KEYWORD4>\r
-                       <KEYWORD4>MakeCubeFaceEnvironment</KEYWORD4>\r
-                       <KEYWORD4>MakeShadow</KEYWORD4>\r
-                       <KEYWORD4>ErrorHandler</KEYWORD4>\r
-                       <KEYWORD4>ArchiveRecord</KEYWORD4>\r
-                       <KEYWORD4>ReadArchive</KEYWORD4>\r
-                       <KEYWORD4>Deformation</KEYWORD4>\r
-                       <KEYWORD4>MakeBump</KEYWORD4>\r
-               </KEYWORDS>\r
-    </RULES>\r
-    <RULES SET="LITERALS" ESCAPE="\" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">\r
-               <KEYWORDS>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>string</KEYWORD1>\r
-                       <KEYWORD1>color</KEYWORD1>\r
-                       <KEYWORD1>point</KEYWORD1>\r
-                       <KEYWORD1>vector</KEYWORD1>\r
-                       <KEYWORD1>normal</KEYWORD1>\r
-                       <KEYWORD1>matrix</KEYWORD1>\r
-                       <KEYWORD1>void</KEYWORD1>\r
-                       <KEYWORD1>varying</KEYWORD1>\r
-                       <KEYWORD1>uniform</KEYWORD1>\r
-                       <KEYWORD1>output</KEYWORD1>\r
-                       <KEYWORD1>extern</KEYWORD1>\r
-\r
-                       <LITERAL2>P</LITERAL2>\r
-                       <LITERAL2>Pw</LITERAL2>\r
-                       <LITERAL2>Pz</LITERAL2>\r
-                       <LITERAL2>N</LITERAL2>\r
-                       <LITERAL2>Cs</LITERAL2>\r
-                       <LITERAL2>Os</LITERAL2>\r
-                       <LITERAL2>RI_NULL</LITERAL2>\r
-                       <LITERAL2>RI_INFINITY</LITERAL2>\r
-                       <LITERAL2>orthographic</LITERAL2>\r
-                       <LITERAL2>perspective</LITERAL2>\r
-                       <LITERAL2>bezier</LITERAL2>\r
-                       <LITERAL2>catmull-rom</LITERAL2>\r
-                       <LITERAL2>b-spline</LITERAL2>\r
-                       <LITERAL2>hermite</LITERAL2>\r
-                       <LITERAL2>power</LITERAL2>\r
-                       <LITERAL2>catmull-clark</LITERAL2>\r
-                       <LITERAL2>hole</LITERAL2>\r
-                       <LITERAL2>crease</LITERAL2>\r
-                       <LITERAL2>corner</LITERAL2>\r
-                       <LITERAL2>interpolateboundary</LITERAL2>\r
-                       <LITERAL2>object</LITERAL2>\r
-                       <LITERAL2>world</LITERAL2>\r
-                       <LITERAL2>camera</LITERAL2>\r
-                       <LITERAL2>screen</LITERAL2>\r
-                       <LITERAL2>raster</LITERAL2>\r
-                       <LITERAL2>NDC</LITERAL2>\r
-                       <LITERAL2>box</LITERAL2>\r
-                       <LITERAL2>triangle</LITERAL2>\r
-                       <LITERAL2>sinc</LITERAL2>\r
-                       <LITERAL2>gaussian</LITERAL2>\r
-                       <LITERAL2>constant</LITERAL2>\r
-                       <LITERAL2>smooth</LITERAL2>\r
-                       <LITERAL2>outside</LITERAL2>\r
-                       <LITERAL2>inside</LITERAL2>\r
-                       <LITERAL2>lh</LITERAL2>\r
-                       <LITERAL2>rh</LITERAL2>\r
-                       <LITERAL2>bicubic</LITERAL2>\r
-                       <LITERAL2>bilinear</LITERAL2>\r
-                       <LITERAL2>periodic</LITERAL2>\r
-                       <LITERAL2>nonperiodic</LITERAL2>\r
-                       <LITERAL2>hidden</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-               </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/rpmspec.xml b/extra/xmode/modes/rpmspec.xml
deleted file mode 100644 (file)
index 9bc3e12..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">#</EOL_SPAN>\r
-\r
-               <!-- Dependency operators -->\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <!-- %attr -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="ATTR" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%attr(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <!-- %verify -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="VERIFY" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%verify(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <!-- Source -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD1"\r
-                       AT_LINE_START="TRUE">Source</MARK_FOLLOWING>\r
-\r
-               <!-- Patch -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD1"\r
-                       AT_LINE_START="TRUE">Patch</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="FUNCTION"\r
-                       AT_LINE_START="TRUE">%patch</MARK_FOLLOWING>\r
-\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>%{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$&lt;</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>Summary:</KEYWORD1>\r
-                       <KEYWORD1>Name:</KEYWORD1>\r
-                       <KEYWORD1>Version:</KEYWORD1>\r
-                       <KEYWORD1>Release:</KEYWORD1>\r
-                       <KEYWORD1>Copyright:</KEYWORD1>\r
-                       <KEYWORD1>Group:</KEYWORD1>\r
-                       <KEYWORD1>URL:</KEYWORD1>\r
-                       <KEYWORD1>Packager:</KEYWORD1>\r
-                       <KEYWORD1>Prefix:</KEYWORD1>\r
-                       <KEYWORD1>Distribution:</KEYWORD1>\r
-                       <KEYWORD1>Vendor:</KEYWORD1>\r
-                       <KEYWORD1>Icon:</KEYWORD1>\r
-                       <KEYWORD1>Provides:</KEYWORD1>\r
-                       <KEYWORD1>Requires:</KEYWORD1>\r
-                       <KEYWORD1>Serial:</KEYWORD1>\r
-                       <KEYWORD1>Conflicts:</KEYWORD1>\r
-                       <KEYWORD1>AutoReqProv:</KEYWORD1>\r
-                       <KEYWORD1>BuildArch:</KEYWORD1>\r
-                       <KEYWORD1>ExcludeArch:</KEYWORD1>\r
-                       <KEYWORD1>ExclusiveArch:</KEYWORD1>\r
-                       <KEYWORD1>ExclusiveOS:</KEYWORD1>\r
-                       <KEYWORD1>BuildRoot:</KEYWORD1>\r
-                       <KEYWORD1>NoSource:</KEYWORD1>\r
-                       <KEYWORD1>NoPatch:</KEYWORD1>\r
-\r
-                       <LABEL>%prep</LABEL>\r
-                       <LABEL>%install</LABEL>\r
-                       <LABEL>%description</LABEL>\r
-                       <LABEL>%build</LABEL>\r
-                       <LABEL>%files</LABEL>\r
-                       <LABEL>%clean</LABEL>\r
-                       <LABEL>%pre</LABEL>\r
-                       <LABEL>%post</LABEL>\r
-                       <LABEL>%preun</LABEL>\r
-                       <LABEL>%postun</LABEL>\r
-                       <LABEL>%verifyscript</LABEL>\r
-\r
-                       <FUNCTION>%setup</FUNCTION>\r
-                       <FUNCTION>%ifarch</FUNCTION>\r
-                       <FUNCTION>%ifnarch</FUNCTION>\r
-                       <FUNCTION>%ifos</FUNCTION>\r
-                       <FUNCTION>%ifnos</FUNCTION>\r
-                       <FUNCTION>%else</FUNCTION>\r
-                       <FUNCTION>%endif</FUNCTION>\r
-\r
-                       <MARKUP>%doc</MARKUP>\r
-                       <MARKUP>%config</MARKUP>\r
-                       <MARKUP>%docdir</MARKUP>\r
-                       <MARKUP>%dir</MARKUP>\r
-                       <MARKUP>%package</MARKUP>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="ATTR" HIGHLIGHT_DIGITS="TRUE">\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="VERIFY">\r
-               <KEYWORDS>\r
-                       <KEYWORD2>owner</KEYWORD2>\r
-                       <KEYWORD2>group</KEYWORD2>\r
-                       <KEYWORD2>mode</KEYWORD2>\r
-                       <KEYWORD2>md5</KEYWORD2>\r
-                       <KEYWORD2>size</KEYWORD2>\r
-                       <KEYWORD2>maj</KEYWORD2>\r
-                       <KEYWORD2>min</KEYWORD2>\r
-                       <KEYWORD2>symlink</KEYWORD2>\r
-                       <KEYWORD2>mtime</KEYWORD2>\r
-                       <OPERATOR>not</OPERATOR>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rtf.xml b/extra/xmode/modes/rtf.xml
deleted file mode 100644 (file)
index 889e79e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- contributed by Lionel Fiol <lio-sand@ifrance.com>  -->\r
-<!-- 30/MAR/2004: initial contribution                  -->\r
-\r
-<MODE>\r
-  <RULES ESCAPE="\\">\r
-    <!-- groups -->\r
-    <SEQ TYPE="OPERATOR">{</SEQ>\r
-    <SEQ TYPE="OPERATOR">}</SEQ>\r
-    <!-- characters as hexadecimal values - eg "\'e9" -->\r
-    <SEQ_REGEXP HASH_CHAR="\'" TYPE="LITERAL2">\\'\w\d</SEQ_REGEXP>\r
-    <!-- control words added after the RTF Specification published in March 1987 - eg "\*\panose" -->\r
-    <MARK_FOLLOWING TYPE="KEYWORD2">\*\</MARK_FOLLOWING>\r
-    <!-- control words - eg "\par" -->\r
-    <MARK_FOLLOWING TYPE="KEYWORD1">\</MARK_FOLLOWING>\r
-  </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ruby.xml b/extra/xmode/modes/ruby.xml
deleted file mode 100644 (file)
index 2d29c2d..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<!-- Ruby mode by Ian Maclean (Ruby edit mode v0.6.2) -->\r
-<!-- tweakage by Chris Morris - clabs.org -->\r
-<!-- further tweakage by Christophe Grandsire -->\r
-<!-- further tweakage by Robert McKinnon 2004 -->\r
-<!-- Major overhaul by Karl von Laudermann -->\r
-<!-- recommended mode catalog entry:\r
-    <MODE NAME="ruby" FILE="ruby.xml" FILE_NAME_GLOB="*.{rb,rbw}" FIRST_LINE_GLOB="#!*/*ruby*" /> -->\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE=""/>\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}"/>\r
-        <PROPERTY NAME="lineUpClosingBracket" VALUE="true"/>\r
-        <PROPERTY NAME="commentStart" VALUE="=begin"/>\r
-        <PROPERTY NAME="commentEnd" VALUE="=end"/>\r
-        <PROPERTY NAME="lineComment" VALUE="#"/>\r
-        <PROPERTY NAME="indentNextLines" VALUE="\s*((if\s+.*|elsif\s+.*|else\s*|do(\s*|\s+.*)|case\s+.*|when\s+.*|while\s+.*|for\s+.*|until\s+.*|loop\s+.*|def\s+.*|class\s+.*|module\s+.*|begin.*|unless\s+.*)*)"/>\r
-    </PROPS>\r
-    <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0b[01]([01_]*[01])?)|(0x[\p{XDigit}]([\p{XDigit}_]*[\p{XDigit}])?)|(0([0-7_]*[0-7])?)|(0d[0-9]([0-9_]*[0-9])?)|([1-9]([0-9_]*[0-9])?)|([0-9]([0-9_]*[0-9])?[Ee]([0-9]([0-9_]*[0-9])?)?)">\r
-        <!--       ^ Binary literal    | ^ Hex literal                               | ^ Octal literal  | ^ "0d" Style Dec lit   | ^ Normal Dec literal | ^ Float literal w/out dec point, with exp. -->\r
-\r
-        <!-- Ruby comment (Inline Documentation ) -->\r
-        <SPAN TYPE="COMMENT2">\r
-            <BEGIN>=begin</BEGIN>\r
-            <END>=end</END>\r
-        </SPAN>\r
-\r
-        <!-- Class and instance vars -->\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>\r
-\r
-               <!-- Perl-style regexps - from perl.xml -->\r
-               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/" AT_WORD_START="TRUE"\r
-               >/[^\p{Blank}]*?/</SEQ_REGEXP>\r
-\r
-        <!-- String literals -->\r
-\r
-        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <!-- %Q(Hello world) %(Hello world)-->\r
-        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%Q?\(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %q(Hello world) -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%q(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN>\r
-\r
-        <!-- %Q{Hello world} %{Hello world} -->\r
-        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%Q?\{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %q{Hello world} -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%q{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- %Q[Hello world] %[Hello world] -->\r
-        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%Q?\[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %q[Hello world] -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%q[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN>\r
-\r
-        <!-- %Q<Hello world> %<Hello world> -->\r
-        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%Q?&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %q<Hello world> -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%q&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- I made the next three forms as three instead of two, because the\r
-         first two actually support whitespace as a delimiter, and the third\r
-         one doesn't. -->\r
-        <!-- %Q$Hello world$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%Q" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%Q([^\p{Alnum}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %q$Hello world$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%q" TYPE="LITERAL1">\r
-            <BEGIN>%q([^\p{Alnum}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %$Hello world$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%([^\p{Alnum}\p{Space}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %W(Array of strings) -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%W(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN>\r
-\r
-        <!-- %w(Array of strings) -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%w(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN>\r
-\r
-        <!-- %W{Array of strings} -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%W{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- %w{Array of strings} -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%w{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- %W[Array of strings] -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%W[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN>\r
-\r
-        <!-- %w[Array of strings] -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%w[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN>\r
-\r
-        <!-- %W<Array of strings>  -->\r
-        <SPAN TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%W&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- %w<Array of strings> -->\r
-        <SPAN TYPE="LITERAL1">\r
-            <BEGIN>%w&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- %W$Array of strings$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%W" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>%W([^\p{Alnum}\p{Space}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- %w@Array of strings@ -->\r
-        <SPAN_REGEXP HASH_CHAR="%w" TYPE="LITERAL1">\r
-            <BEGIN>%w([^\p{Alnum}\p{Space}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- Here documents <<"FOO" <<-"FOO" -->\r
-        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
-         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
-         document will terminate highlighting; I couldn't make it smarter. -->\r
-        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>&lt;&lt;-?"([\p{Graph}]+)"</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- Here documents <<'FOO' <<-'FOO' -->\r
-        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
-         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
-         document will terminate highlighting; I couldn't make it smarter. -->\r
-        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1">\r
-            <BEGIN>&lt;&lt;-?'([\p{Graph}]+)'</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- Here documents <<FOO <<-FOO -->\r
-        <!-- Unfortunately, in a SPAN_REGEXP element only the <BEGIN> tag takes\r
-         a regex, not the <END> tag. So an instance of FOO anywhere in the here\r
-         document will terminate highlighting; I couldn't make it smarter. -->\r
-        <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="doubleQuoteLiteral">\r
-            <BEGIN>&lt;&lt;-?([A-Za-z_]+)</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- Shell command strings -->\r
-\r
-        <!-- `echo foo` -->\r
-        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>`</BEGIN>\r
-            <END>`</END>\r
-        </SPAN>\r
-\r
-        <!-- %x(echo foo) -->\r
-        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>%x(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN>\r
-\r
-        <!-- %x{echo foo} -->\r
-        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>%x{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- %x[echo foo] -->\r
-        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>%x[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN>\r
-\r
-        <!-- %x<echo foo> -->\r
-        <SPAN TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>%x&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- %x$echo foo$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%x" TYPE="LITERAL2" DELEGATE="BackquoteLiteral">\r
-            <BEGIN>%x([^\p{Alnum}\p{Space}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- Regular expressions   -->\r
-\r
-        <!-- /regexp?/i -->\r
-        <!-- This doesn't really work well, because it can't distinguish a regexp\r
-         from multiple instances of the "/" division operator on the same line. -->\r
-        <!-- <SEQ_REGEXP HASH_CHAR="/" AT_WORD_START="TRUE"\r
-            TYPE="LITERAL3">/[^/]+/[iomx]*</SEQ_REGEXP> -->\r
-\r
-        <!-- %r(regexp?) -->\r
-        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
-            <BEGIN>%r(</BEGIN>\r
-            <END>)</END>\r
-        </SPAN>\r
-\r
-        <!-- %r{regexp?} -->\r
-        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
-            <BEGIN>%r{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- %r[regexp?] -->\r
-        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
-            <BEGIN>%r[</BEGIN>\r
-            <END>]</END>\r
-        </SPAN>\r
-\r
-        <!-- %r<regexp?> -->\r
-        <SPAN TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
-            <BEGIN>%r&lt;</BEGIN>\r
-            <END>&gt;</END>\r
-        </SPAN>\r
-\r
-        <!-- %r$regexp?$ -->\r
-        <SPAN_REGEXP HASH_CHAR="%r" TYPE="LITERAL3" DELEGATE="RegexpLiteral">\r
-            <BEGIN>%r([^\p{Alnum}\p{Space}])</BEGIN>\r
-            <END>$1</END>\r
-        </SPAN_REGEXP>\r
-\r
-        <!-- (/regexp/) -->\r
-        <SPAN DELEGATE="RegexpLiteral" MATCH_TYPE="OPERATOR" TYPE="LITERAL3">\r
-            <BEGIN>(/</BEGIN>\r
-            <END>/</END>\r
-        </SPAN>\r
-\r
-        <!-- Nested code block -->\r
-        <!-- I included this just because it can appear in a "/" delimited\r
-        regular expression, handling of which is commented out above. So this\r
-        would otherwise be colored as a comment. -->\r
-        <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
-            <BEGIN>#{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-\r
-        <!-- Std Comment -->\r
-        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-        <!-- Predefined global variables -->\r
-        <SEQ_REGEXP HASH_CHAR="$-" TYPE="KEYWORD3" AT_WORD_START="TRUE">\$-[0adFiIKlpvw](?![\p{Alnum}_])</SEQ_REGEXP>\r
-\r
-        <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD3" AT_WORD_START="TRUE">\$[0-9!@&amp;\+`'=~/\\,\.;&lt;&gt;_\*"\$\?\:F](?![\p{Alnum}_])</SEQ_REGEXP>\r
-\r
-        <!-- Because of the ? char, this can't be done as a KEYWORD element -->\r
-        <SEQ TYPE="KEYWORD1" AT_WORD_START="TRUE">defined?</SEQ>\r
-\r
-        <!-- Highlight "include" but not "include?" -->\r
-        <SEQ_REGEXP HASH_CHAR="include" TYPE="KEYWORD2" AT_WORD_START="TRUE">include(?![\p{Alnum}_\?])</SEQ_REGEXP>\r
-\r
-        <!-- Not Operators but like the syntax highlight to match operators -->\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">(</SEQ>\r
-        <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-        <!-- Arithmetic operators -->\r
-        <SEQ TYPE="OPERATOR">::</SEQ>\r
-        <SEQ TYPE="OPERATOR">===</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">**</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-        <!-- Logical Operators -->\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-\r
-        <!-- Range operators -->\r
-        <SEQ TYPE="OPERATOR">...</SEQ>\r
-        <SEQ TYPE="OPERATOR">..</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">]</SEQ>\r
-        <SEQ TYPE="OPERATOR">[</SEQ>\r
-        <SEQ TYPE="OPERATOR">?</SEQ>\r
-\r
-        <!-- Symbols -->\r
-        <SEQ_REGEXP AT_WORD_START="TRUE" HASH_CHAR=":" TYPE="LABEL">:[\p{Alpha}_][\p{Alnum}_]*</SEQ_REGEXP>\r
-\r
-        <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <KEYWORD1>BEGIN</KEYWORD1>\r
-            <KEYWORD1>END</KEYWORD1>\r
-            <KEYWORD1>alias</KEYWORD1>\r
-            <KEYWORD1>begin</KEYWORD1>\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>class</KEYWORD1>\r
-            <KEYWORD1>def</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>elsif</KEYWORD1>\r
-            <KEYWORD1>end</KEYWORD1>\r
-            <KEYWORD1>ensure</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD1>in</KEYWORD1>\r
-            <KEYWORD1>module</KEYWORD1>\r
-            <KEYWORD1>next</KEYWORD1>\r
-            <KEYWORD1>redo</KEYWORD1>\r
-            <KEYWORD1>rescue</KEYWORD1>\r
-            <KEYWORD1>retry</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>then</KEYWORD1>\r
-            <KEYWORD1>undef</KEYWORD1>\r
-            <KEYWORD1>unless</KEYWORD1>\r
-            <KEYWORD1>until</KEYWORD1>\r
-            <KEYWORD1>when</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-            <KEYWORD1>yield</KEYWORD1>\r
-\r
-            <KEYWORD2>load</KEYWORD2>\r
-            <KEYWORD2>require</KEYWORD2>\r
-\r
-            <OPERATOR>and</OPERATOR>\r
-            <OPERATOR>not</OPERATOR>\r
-            <OPERATOR>or</OPERATOR>\r
-\r
-            <KEYWORD3>false</KEYWORD3>\r
-            <KEYWORD3>nil</KEYWORD3>\r
-            <KEYWORD3>self</KEYWORD3>\r
-            <KEYWORD3>super</KEYWORD3>\r
-            <KEYWORD3>true</KEYWORD3>\r
-\r
-            <KEYWORD3>$defout</KEYWORD3>\r
-            <KEYWORD3>$deferr</KEYWORD3>\r
-            <KEYWORD3>$stderr</KEYWORD3>\r
-            <KEYWORD3>$stdin</KEYWORD3>\r
-            <KEYWORD3>$stdout</KEYWORD3>\r
-            <KEYWORD3>$DEBUG</KEYWORD3>\r
-            <KEYWORD3>$FILENAME</KEYWORD3>\r
-            <KEYWORD3>$LOAD_PATH</KEYWORD3>\r
-            <KEYWORD3>$SAFE</KEYWORD3>\r
-            <KEYWORD3>$VERBOSE</KEYWORD3>\r
-            <KEYWORD3>__FILE__</KEYWORD3>\r
-            <KEYWORD3>__LINE__</KEYWORD3>\r
-            <KEYWORD3>ARGF</KEYWORD3>\r
-            <KEYWORD3>ARGV</KEYWORD3>\r
-            <KEYWORD3>ENV</KEYWORD3>\r
-            <KEYWORD3>DATA</KEYWORD3>\r
-            <KEYWORD3>FALSE</KEYWORD3>\r
-            <KEYWORD3>NIL</KEYWORD3>\r
-            <KEYWORD3>RUBY_PLATFORM</KEYWORD3>\r
-            <KEYWORD3>RUBY_RELEASE_DATE</KEYWORD3>\r
-            <KEYWORD3>RUBY_VERSION</KEYWORD3>\r
-            <KEYWORD3>STDERR</KEYWORD3>\r
-            <KEYWORD3>STDIN</KEYWORD3>\r
-            <KEYWORD3>STDOUT</KEYWORD3>\r
-            <KEYWORD3>SCRIPT_LINES__</KEYWORD3>\r
-            <KEYWORD3>TOPLEVEL_BINDING</KEYWORD3>\r
-            <KEYWORD3>TRUE</KEYWORD3>\r
-        </KEYWORDS>\r
-    </RULES>\r
-\r
-    <!-- Delegate contents of #{} expression in double quotes to MAIN so that\r
-     it will be syntax highlighted as well -->\r
-    <RULES DEFAULT="LITERAL1" SET="doubleQuoteLiteral">\r
-        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
-            <BEGIN>#{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
-    </RULES>\r
-\r
-    <!-- Delegate contents of #{} expression in backquotes to MAIN so that\r
-     it will be syntax highlighted as well -->\r
-    <RULES DEFAULT="LITERAL2" SET="BackquoteLiteral">\r
-        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
-            <BEGIN>#{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
-    </RULES>\r
-\r
-    <!-- Delegate contents of #{} expression in a regexp to MAIN so that\r
-     it will be syntax highlighted as well -->\r
-    <RULES DEFAULT="LITERAL3" SET="RegexpLiteral">\r
-        <SPAN DELEGATE="MAIN" TYPE="OPERATOR">\r
-            <BEGIN>#{</BEGIN>\r
-            <END>}</END>\r
-        </SPAN>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="KEYWORD4">#@</MARK_FOLLOWING>\r
-        <MARK_FOLLOWING TYPE="NULL">#$</MARK_FOLLOWING>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/rview.xml b/extra/xmode/modes/rview.xml
deleted file mode 100644 (file)
index 2ca2fdf..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-  Relational View (rview) mode by Will Sargent <wsargent@atg.com>\r
--->\r
-<MODE>\r
-       <PROPS>\r
-                <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-                <PROPERTY NAME="lineComment" VALUE="//" />\r
-       </PROPS>\r
-\r
-        <!--\r
-          Unicode escapes are allowed in identifiers.\r
-          Ignoring case is bad.\r
-          Digits may be returned from functions.\r
-        -->\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-                <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- Javadoc comment -->\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>/**</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-                <!-- Java comment (C style) -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="RVIEWSTMT">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-                <SEQ TYPE="OPERATOR">}</SEQ>\r
-                <SEQ TYPE="OPERATOR">{</SEQ>\r
-                <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-                <!-- Function calls -->\r
-                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-                               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-                <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-                <KEYWORDS>\r
-\r
-                        <!--\r
-                          Keywords (WAY more than I thought there were, please\r
-                          e-mail me if I've left one out).\r
-                        -->\r
-                        <KEYWORD1>unique</KEYWORD1>\r
-                        <KEYWORD1>relationalview</KEYWORD1>\r
-                        <KEYWORD1>class</KEYWORD1>\r
-\r
-                        <KEYWORD1>rowmap</KEYWORD1>\r
-                        <KEYWORD1>table</KEYWORD1>\r
-                        <KEYWORD1>function</KEYWORD1>\r
-                        <KEYWORD1>subview</KEYWORD1>\r
-                        <KEYWORD1>query</KEYWORD1>\r
-\r
-                        <KEYWORD1>join</KEYWORD1>\r
-                        <KEYWORD1>jointype</KEYWORD1>\r
-                        <KEYWORD1>leftouter</KEYWORD1>\r
-                        <KEYWORD1>rightouter</KEYWORD1>\r
-\r
-                        <KEYWORD1>switch</KEYWORD1>\r
-                        <KEYWORD1>case</KEYWORD1>\r
-\r
-                        <KEYWORD1>sql</KEYWORD1>\r
-                        <KEYWORD1>constraints</KEYWORD1>\r
-                        <KEYWORD1>where</KEYWORD1>\r
-                        <KEYWORD1>orderby</KEYWORD1>\r
-                        <KEYWORD1>return</KEYWORD1>\r
-                        <KEYWORD1>distinct</KEYWORD1>\r
-\r
-                        <!--\r
-                          Allow parameters...\r
-                        -->\r
-                        <KEYWORD1>allow</KEYWORD1>\r
-                        <KEYWORD1>delete</KEYWORD1>\r
-                        <!-- also used in update function -->\r
-                        <KEYWORD1>update</KEYWORD1>\r
-                        <KEYWORD1>select</KEYWORD1>\r
-                        <KEYWORD1>insert</KEYWORD1>\r
-\r
-                        <!-- We're allowed to return primitive types -->\r
-                        <KEYWORD3>boolean</KEYWORD3>\r
-                        <KEYWORD3>byte</KEYWORD3>\r
-                        <KEYWORD3>char</KEYWORD3>\r
-                        <KEYWORD3>double</KEYWORD3>\r
-                        <KEYWORD3>float</KEYWORD3>\r
-                        <KEYWORD3>int</KEYWORD3>\r
-                        <KEYWORD3>long</KEYWORD3>\r
-                        <KEYWORD3>short</KEYWORD3>\r
-\r
-                        <KEYWORD1>useCallableStatement</KEYWORD1>\r
-\r
-                        <!--\r
-                          JDBC mapping statements (must be UPPERCASE)\r
-                        -->\r
-                        <KEYWORD3>CHAR</KEYWORD3>\r
-                        <KEYWORD3>VARCHAR</KEYWORD3>\r
-                        <KEYWORD3>LONGVARCHAR</KEYWORD3>\r
-                        <KEYWORD3>NUMERIC</KEYWORD3>\r
-                        <KEYWORD3>DECIMAL</KEYWORD3>\r
-                        <KEYWORD3>BIT</KEYWORD3>\r
-                        <KEYWORD3>TINYINT</KEYWORD3>\r
-                        <KEYWORD3>SMALLINT</KEYWORD3>\r
-                        <KEYWORD3>INTEGER</KEYWORD3>\r
-                        <KEYWORD3>BIGINT</KEYWORD3>\r
-                        <KEYWORD3>REAL</KEYWORD3>\r
-                        <KEYWORD3>FLOAT</KEYWORD3>\r
-                        <KEYWORD3>DOUBLE</KEYWORD3>\r
-                        <KEYWORD3>BINARY</KEYWORD3>\r
-                        <KEYWORD3>VARBINARY</KEYWORD3>\r
-                        <KEYWORD3>LONGVARBINARY</KEYWORD3>\r
-                        <KEYWORD3>DATE</KEYWORD3>\r
-                        <KEYWORD3>TIME</KEYWORD3>\r
-                        <KEYWORD3>TIMESTAMP</KEYWORD3>\r
-                </KEYWORDS>\r
-        </RULES>\r
-\r
-        <!--\r
-          Everything that happens in between quotes happens here.\r
-        -->\r
-        <RULES SET="RVIEWSTMT" ESCAPE="\" DEFAULT="LITERAL1"\r
-               HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">\r
-                <!-- Allow quoting for characters. -->\r
-                <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                        <BEGIN>'</BEGIN>\r
-                        <END>'</END>\r
-                </SPAN>\r
-\r
-                <!--\r
-                  Standard arithmetic\r
-                -->\r
-                <SEQ TYPE="OPERATOR">+</SEQ>\r
-                <SEQ TYPE="OPERATOR">-</SEQ>\r
-                <SEQ TYPE="OPERATOR">/</SEQ>\r
-                <SEQ TYPE="OPERATOR">*</SEQ>\r
-                <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-                <!--\r
-                  Standard logic\r
-                -->\r
-                <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-                <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-                <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-                <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-                <!--\r
-                  For callable statements, { } must be used.\r
-                -->\r
-                <SEQ TYPE="OPERATOR">}</SEQ>\r
-                <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-                <!--\r
-                  Escape colons for full tables\r
-                -->\r
-                <SEQ TYPE="NULL">::</SEQ>\r
-\r
-                <!-- Mark most colons as a label indicator -->\r
-                <MARK_FOLLOWING TYPE="LABEL">:</MARK_FOLLOWING>\r
-\r
-                <!-- Function calls (these can happen even inside quotes) -->\r
-                <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-                               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-                <KEYWORDS>\r
-                        <KEYWORD1>SELECT</KEYWORD1>\r
-                        <KEYWORD1>FROM</KEYWORD1>\r
-                        <KEYWORD1>WHERE</KEYWORD1>\r
-                        <KEYWORD1>AND</KEYWORD1>\r
-                        <KEYWORD1>NOT</KEYWORD1>\r
-                        <KEYWORD1>IN</KEYWORD1>\r
-                        <KEYWORD1>BETWEEN</KEYWORD1>\r
-                        <KEYWORD1>UPDATE</KEYWORD1>\r
-                        <KEYWORD1>SET</KEYWORD1>\r
-\r
-                        <KEYWORD1>call</KEYWORD1>\r
-                        <KEYWORD1>desc</KEYWORD1>\r
-\r
-                        <!--\r
-                          It's possible to do casting to a particular SQL\r
-                          type, so include the JDBC types here\r
-                        -->\r
-                        <KEYWORD3>CHAR</KEYWORD3>\r
-                        <KEYWORD3>VARCHAR</KEYWORD3>\r
-                        <KEYWORD3>LONGVARCHAR</KEYWORD3>\r
-                        <KEYWORD3>NUMERIC</KEYWORD3>\r
-                        <KEYWORD3>DECIMAL</KEYWORD3>\r
-                        <KEYWORD3>BIT</KEYWORD3>\r
-                        <KEYWORD3>TINYINT</KEYWORD3>\r
-                        <KEYWORD3>SMALLINT</KEYWORD3>\r
-                        <KEYWORD3>INTEGER</KEYWORD3>\r
-                        <KEYWORD3>BIGINT</KEYWORD3>\r
-                        <KEYWORD3>REAL</KEYWORD3>\r
-                        <KEYWORD3>FLOAT</KEYWORD3>\r
-                        <KEYWORD3>DOUBLE</KEYWORD3>\r
-                        <KEYWORD3>BINARY</KEYWORD3>\r
-                        <KEYWORD3>VARBINARY</KEYWORD3>\r
-                        <KEYWORD3>LONGVARBINARY</KEYWORD3>\r
-                        <KEYWORD3>DATE</KEYWORD3>\r
-                        <KEYWORD3>TIME</KEYWORD3>\r
-                        <KEYWORD3>TIMESTAMP</KEYWORD3>\r
-                </KEYWORDS>\r
-        </RULES>\r
-\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/sas.xml b/extra/xmode/modes/sas.xml
deleted file mode 100644 (file)
index 4f51536..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--  \r
-      SAS edit mode by Bill McMilleon (bill@mcmilleon.com)\r
-      March 19, 2003\r
-      \r
-      Suggested catalog file entry:\r
-\r
-      <MODE NAME="SAS"         FILE="sas.xml" FILE_NAME_GLOB="*.{sas}" />\r
-\r
--->\r
\r
-\r
-<MODE>\r
-\r
-    \r
-    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-\r
-<!-- In fixed form, column 72 is the last column parsed, unless the\r
-\extend_source option is invoked -->\r
-    <!-- TERMINATE AT_CHAR="72" / -->\r
-\r
-               <!-- C style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-    <!-- Highlighted Operators -->\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">_</SEQ>\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <SEQ TYPE="OPERATOR">~</SEQ>\r
-    <SEQ TYPE="OPERATOR">^</SEQ>\r
-    <SEQ TYPE="OPERATOR">@</SEQ>\r
-    <SEQ TYPE="OPERATOR">?</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    \r
-    <KEYWORDS>\r
-      <KEYWORD2>$ASCII</KEYWORD2>\r
-      <KEYWORD2>$BINARY</KEYWORD2>\r
-      <KEYWORD2>$CB</KEYWORD2>\r
-      <KEYWORD2>$CHAR</KEYWORD2>\r
-      <KEYWORD2>$CHARZB</KEYWORD2>\r
-      <KEYWORD2>$EBCDIC</KEYWORD2>\r
-      <KEYWORD2>$HEX</KEYWORD2>\r
-      <KEYWORD2>$OCTAL</KEYWORD2>\r
-      <KEYWORD2>$VARYING</KEYWORD2>\r
-      <KEYWORD2>%BQUOTE</KEYWORD2>\r
-      <KEYWORD2>%DO</KEYWORD2>\r
-      <KEYWORD2>%ELSE</KEYWORD2>\r
-      <KEYWORD2>%END</KEYWORD2>\r
-      <KEYWORD2>%EVAL</KEYWORD2>\r
-      <KEYWORD2>%Global</KEYWORD2>\r
-      <KEYWORD2>%GOTO</KEYWORD2>\r
-      <KEYWORD2>%IF</KEYWORD2>\r
-      <KEYWORD2>%INC</KEYWORD2>\r
-      <KEYWORD2>%INCLUDE</KEYWORD2>\r
-      <KEYWORD2>%INDEX</KEYWORD2>\r
-      <KEYWORD2>%INPUT</KEYWORD2>\r
-      <KEYWORD2>%LENGTH</KEYWORD2>\r
-      <KEYWORD2>%LET</KEYWORD2>\r
-      <KEYWORD2>%LOCAL</KEYWORD2>\r
-      <KEYWORD2>%MACRO</KEYWORD2>\r
-      <KEYWORD2>%MEND</KEYWORD2>\r
-      <KEYWORD2>%NRBQUOTE</KEYWORD2>\r
-      <KEYWORD2>%NRQUOTE</KEYWORD2>\r
-      <KEYWORD2>%NRSTR</KEYWORD2>\r
-      <KEYWORD2>%PUT</KEYWORD2>\r
-      <KEYWORD2>%QSCAN</KEYWORD2>\r
-      <KEYWORD2>%Quote</KEYWORD2>\r
-      <KEYWORD2>%RUN</KEYWORD2>\r
-      <KEYWORD2>%SUBSTR</KEYWORD2>\r
-      <KEYWORD2>%SYSEXEC</KEYWORD2>\r
-      <KEYWORD2>%THEN</KEYWORD2>\r
-      <KEYWORD2>%UNTIL</KEYWORD2>\r
-      <KEYWORD2>%WHILE</KEYWORD2>\r
-      <KEYWORD2>%WINDOW</KEYWORD2>\r
-      <KEYWORD2>_ALL_</KEYWORD2>\r
-      <KEYWORD2>_CHARACTER_</KEYWORD2>\r
-      <KEYWORD2>_CMD_</KEYWORD2>\r
-      <KEYWORD2>_ERROR_</KEYWORD2>\r
-      <KEYWORD2>_I_</KEYWORD2>\r
-      <KEYWORD2>_INFILE_</KEYWORD2>\r
-      <KEYWORD2>_LAST_</KEYWORD2>\r
-      <KEYWORD2>_MSG_</KEYWORD2>\r
-      <KEYWORD2>_N_</KEYWORD2>\r
-      <KEYWORD2>_NULL_</KEYWORD2>\r
-      <KEYWORD2>_NUMERIC_</KEYWORD2>\r
-      <KEYWORD2>_TEMPORARY_</KEYWORD2>\r
-      <KEYWORD2>_TYPE_</KEYWORD2>\r
-      <KEYWORD2>=DATA</KEYWORD2>\r
-      <KEYWORD2>ABORT</KEYWORD2>\r
-      <KEYWORD2>ADD</KEYWORD2>\r
-      <KEYWORD2>ADJRSQ</KEYWORD2>\r
-      <KEYWORD2>AND</KEYWORD2>\r
-      <KEYWORD2>ARRAY</KEYWORD2>\r
-      <KEYWORD2>ATTRIB</KEYWORD2>\r
-      <KEYWORD2>BACKWARD</KEYWORD2>\r
-      <KEYWORD2>BINARY</KEYWORD2>\r
-      <KEYWORD2>BLOCKSIZE</KEYWORD2>\r
-      <KEYWORD2>BY</KEYWORD2>\r
-      <KEYWORD2>BZ</KEYWORD2>\r
-      <KEYWORD2>CALL</KEYWORD2>\r
-      <KEYWORD2>CARDS</KEYWORD2>\r
-      <KEYWORD2>CARDS4</KEYWORD2>\r
-      <KEYWORD2>CHAR</KEYWORD2>\r
-      <KEYWORD2>CLASS</KEYWORD2>\r
-      <KEYWORD2>COL</KEYWORD2>\r
-      <KEYWORD2>COLLIN</KEYWORD2>\r
-      <KEYWORD2>COLUMN</KEYWORD2>\r
-      <KEYWORD2>COMMA</KEYWORD2>\r
-      <KEYWORD2>COMMAX</KEYWORD2>\r
-      <KEYWORD2>CREATE</KEYWORD2>\r
-      <KEYWORD2>DATA</KEYWORD2>\r
-      <KEYWORD2>DATA=</KEYWORD2>\r
-      <KEYWORD2>DATE</KEYWORD2>\r
-      <KEYWORD2>DATETIME</KEYWORD2>\r
-      <KEYWORD2>DDMMYY</KEYWORD2>\r
-      <KEYWORD2>DECENDING</KEYWORD2>\r
-      <KEYWORD2>DEFINE</KEYWORD2>\r
-      <KEYWORD2>DELETE</KEYWORD2>\r
-      <KEYWORD2>DELIMITER</KEYWORD2>\r
-      <KEYWORD2>DISPLAY</KEYWORD2>\r
-      <KEYWORD2>DLM</KEYWORD2>\r
-      <KEYWORD2>DO</KEYWORD2>\r
-      <KEYWORD2>DROP</KEYWORD2>\r
-      <KEYWORD2>ELSE</KEYWORD2>\r
-      <KEYWORD2>END</KEYWORD2>\r
-      <KEYWORD2>ENDSAS</KEYWORD2>\r
-      <KEYWORD2>EOF</KEYWORD2>\r
-      <KEYWORD2>EOV</KEYWORD2>\r
-      <KEYWORD2>EQ</KEYWORD2>\r
-      <KEYWORD2>ERRORS</KEYWORD2>\r
-      <KEYWORD2>FILE</KEYWORD2>\r
-      <KEYWORD2>FILENAME</KEYWORD2>\r
-      <KEYWORD2>FILEVAR</KEYWORD2>\r
-      <KEYWORD2>FIRST.</KEYWORD2>\r
-      <KEYWORD2>FIRSTOBS</KEYWORD2>\r
-      <KEYWORD2>FOOTNOTE</KEYWORD2>\r
-      <KEYWORD2>FOOTNOTE1</KEYWORD2>\r
-      <KEYWORD2>FOOTNOTE2</KEYWORD2>\r
-      <KEYWORD2>FOOTNOTE3</KEYWORD2>\r
-      <KEYWORD2>FORM</KEYWORD2>\r
-      <KEYWORD2>FORMAT</KEYWORD2>\r
-      <KEYWORD2>FORMCHAR</KEYWORD2>\r
-      <KEYWORD2>FORMDELIM</KEYWORD2>\r
-      <KEYWORD2>FORMDLIM</KEYWORD2>\r
-      <KEYWORD2>FORWARD</KEYWORD2>\r
-      <KEYWORD2>FROM</KEYWORD2>\r
-      <KEYWORD2>GO</KEYWORD2>\r
-      <KEYWORD2>GROUP</KEYWORD2>\r
-      <KEYWORD2>GT</KEYWORD2>\r
-      <KEYWORD2>HBAR</KEYWORD2>\r
-      <KEYWORD2>HEX</KEYWORD2>\r
-      <KEYWORD2>HPCT</KEYWORD2>\r
-      <KEYWORD2>HVAR</KEYWORD2>\r
-      <KEYWORD2>IB</KEYWORD2>\r
-      <KEYWORD2>ID</KEYWORD2>\r
-      <KEYWORD2>IEEE</KEYWORD2>\r
-      <KEYWORD2>IF</KEYWORD2>\r
-      <KEYWORD2>IN</KEYWORD2>\r
-      <KEYWORD2>INFILE</KEYWORD2>\r
-      <KEYWORD2>INFORMAT</KEYWORD2>\r
-      <KEYWORD2>INPUT</KEYWORD2>\r
-      <KEYWORD2>INR</KEYWORD2>\r
-      <KEYWORD2>JOIN</KEYWORD2>\r
-      <KEYWORD2>JULIAN</KEYWORD2>\r
-      <KEYWORD2>KEEP</KEYWORD2>\r
-      <KEYWORD2>LABEL</KEYWORD2>\r
-      <KEYWORD2>LAG</KEYWORD2>\r
-      <KEYWORD2>LAST.</KEYWORD2>\r
-      <KEYWORD2>LE</KEYWORD2>\r
-      <KEYWORD2>LIB</KEYWORD2>\r
-      <KEYWORD2>LIBNAME</KEYWORD2>\r
-      <KEYWORD2>LINE</KEYWORD2>\r
-      <KEYWORD2>LINESIZE</KEYWORD2>\r
-      <KEYWORD2>LINK</KEYWORD2>\r
-      <KEYWORD2>LIST</KEYWORD2>\r
-      <KEYWORD2>LOSTCARD</KEYWORD2>\r
-      <KEYWORD2>LRECL</KEYWORD2>\r
-      <KEYWORD2>LS</KEYWORD2>\r
-      <KEYWORD2>MACRO</KEYWORD2>\r
-      <KEYWORD2>MACROGEN</KEYWORD2>\r
-      <KEYWORD2>MAXDEC</KEYWORD2>\r
-      <KEYWORD2>MAXR</KEYWORD2>\r
-      <KEYWORD2>MEDIAN</KEYWORD2>\r
-      <KEYWORD2>MEMTYPE</KEYWORD2>\r
-      <KEYWORD2>MERGE</KEYWORD2>\r
-      <KEYWORD2>MERROR</KEYWORD2>\r
-      <KEYWORD2>MISSOVE</KEYWORD2>\r
-      <KEYWORD2>MLOGIC</KEYWORD2>\r
-      <KEYWORD2>MMDDYY</KEYWORD2>\r
-      <KEYWORD2>MODE</KEYWORD2>\r
-      <KEYWORD2>MODEL</KEYWORD2>\r
-      <KEYWORD2>MONYY</KEYWORD2>\r
-      <KEYWORD2>MPRINT</KEYWORD2>\r
-      <KEYWORD2>MRECALL</KEYWORD2>\r
-      <KEYWORD2>NE</KEYWORD2>\r
-      <KEYWORD2>NEW</KEYWORD2>\r
-      <KEYWORD2>NO</KEYWORD2>\r
-      <KEYWORD2>NOBS</KEYWORD2>\r
-      <KEYWORD2>NOCENTER</KEYWORD2>\r
-      <KEYWORD2>NOCUM</KEYWORD2>\r
-      <KEYWORD2>NODATE</KEYWORD2>\r
-      <KEYWORD2>NODUP</KEYWORD2>\r
-      <KEYWORD2>NODUPKEY</KEYWORD2>\r
-      <KEYWORD2>NOINT</KEYWORD2>\r
-      <KEYWORD2>NONUMBER</KEYWORD2>\r
-      <KEYWORD2>NOPAD</KEYWORD2>\r
-      <KEYWORD2>NOPRINT</KEYWORD2>\r
-      <KEYWORD2>NOROW</KEYWORD2>\r
-      <KEYWORD2>NOT</KEYWORD2>\r
-      <KEYWORD2>NOTITLE</KEYWORD2>\r
-      <KEYWORD2>NOTITLES</KEYWORD2>\r
-      <KEYWORD2>NOXSYNC</KEYWORD2>\r
-      <KEYWORD2>NOXWAIT</KEYWORD2>\r
-      <KEYWORD2>NUMBER</KEYWORD2>\r
-      <KEYWORD2>NWAY</KEYWORD2>\r
-      <KEYWORD2>OBS</KEYWORD2>\r
-      <KEYWORD2>OPTION</KEYWORD2>\r
-      <KEYWORD2>OPTIONS</KEYWORD2>\r
-      <KEYWORD2>OR</KEYWORD2>\r
-      <KEYWORD2>ORDER</KEYWORD2>\r
-      <KEYWORD2>OTHERWISE</KEYWORD2>\r
-      <KEYWORD2>OUT</KEYWORD2>\r
-      <KEYWORD2>OUTPUT</KEYWORD2>\r
-      <KEYWORD2>OVER</KEYWORD2>\r
-      <KEYWORD2>PAD</KEYWORD2>\r
-      <KEYWORD2>PAD2</KEYWORD2>\r
-      <KEYWORD2>PAGESIZE</KEYWORD2>\r
-      <KEYWORD2>PD</KEYWORD2>\r
-      <KEYWORD2>PERCENT</KEYWORD2>\r
-      <KEYWORD2>PIB</KEYWORD2>\r
-      <KEYWORD2>PK</KEYWORD2>\r
-      <KEYWORD2>POINT</KEYWORD2>\r
-      <KEYWORD2>POSITION</KEYWORD2>\r
-      <KEYWORD2>PRINTER</KEYWORD2>\r
-      <KEYWORD2>PROC</KEYWORD2>\r
-      <KEYWORD2>PS</KEYWORD2>\r
-      <KEYWORD2>PUT</KEYWORD2>\r
-      <KEYWORD2>QUIT</KEYWORD2>\r
-      <KEYWORD2>R</KEYWORD2>\r
-      <KEYWORD2>RB</KEYWORD2>\r
-      <KEYWORD2>RECFM</KEYWORD2>\r
-      <KEYWORD2>REG</KEYWORD2>\r
-      <KEYWORD2>REGR</KEYWORD2>\r
-      <KEYWORD2>RENAME</KEYWORD2>\r
-      <KEYWORD2>REPLACE</KEYWORD2>\r
-      <KEYWORD2>RETAIN</KEYWORD2>\r
-      <KEYWORD2>RETURN</KEYWORD2>\r
-      <KEYWORD2>REUSE</KEYWORD2>\r
-      <KEYWORD2>RSQUARE</KEYWORD2>\r
-      <KEYWORD2>RUN</KEYWORD2>\r
-      <KEYWORD2>SASAUTOS</KEYWORD2>\r
-      <KEYWORD2>SCAN</KEYWORD2>\r
-      <KEYWORD2>SELECT</KEYWORD2>\r
-      <KEYWORD2>SELECTION</KEYWORD2>\r
-      <KEYWORD2>SERROR</KEYWORD2>\r
-      <KEYWORD2>SET</KEYWORD2>\r
-      <KEYWORD2>SIMPLE</KEYWORD2>\r
-      <KEYWORD2>SLE</KEYWORD2>\r
-      <KEYWORD2>SLS</KEYWORD2>\r
-      <KEYWORD2>START</KEYWORD2>\r
-      <KEYWORD2>STDIN</KEYWORD2>\r
-      <KEYWORD2>STOP</KEYWORD2>\r
-      <KEYWORD2>STOPOVER</KEYWORD2>\r
-      <KEYWORD2>SUBSTR</KEYWORD2>\r
-      <KEYWORD2>SYMBOL</KEYWORD2>\r
-      <KEYWORD2>SYMBOLGEN</KEYWORD2>\r
-      <KEYWORD2>T</KEYWORD2>\r
-      <KEYWORD2>TABLE</KEYWORD2>\r
-      <KEYWORD2>TABLES</KEYWORD2>\r
-      <KEYWORD2>THEN</KEYWORD2>\r
-      <KEYWORD2>TITLE</KEYWORD2>\r
-      <KEYWORD2>TITLE1</KEYWORD2>\r
-      <KEYWORD2>TITLE2</KEYWORD2>\r
-      <KEYWORD2>TITLE3</KEYWORD2>\r
-      <KEYWORD2>TITLE4</KEYWORD2>\r
-      <KEYWORD2>TITLE5</KEYWORD2>\r
-      <KEYWORD2>TO</KEYWORD2>\r
-      <KEYWORD2>TOL</KEYWORD2>\r
-      <KEYWORD2>UNFORMATTED</KEYWORD2>\r
-      <KEYWORD2>UNTIL</KEYWORD2>\r
-      <KEYWORD2>UPDATE</KEYWORD2>\r
-      <KEYWORD2>VALUE</KEYWORD2>\r
-      <KEYWORD2>VAR</KEYWORD2>\r
-      <KEYWORD2>WHEN</KEYWORD2>\r
-      <KEYWORD2>WHERE</KEYWORD2>\r
-      <KEYWORD2>WHILE</KEYWORD2>\r
-      <KEYWORD2>WINDOW</KEYWORD2>\r
-      <KEYWORD2>WORK</KEYWORD2>\r
-      <KEYWORD2>X</KEYWORD2>\r
-      <KEYWORD2>XSYNC</KEYWORD2>\r
-      <KEYWORD2>XWAIT</KEYWORD2>\r
-      <KEYWORD2>YES</KEYWORD2>\r
-      <KEYWORD2>YYMMDD</KEYWORD2>\r
-    </KEYWORDS>\r
-\r
-    </RULES>\r
-</MODE>\r
-\r
-\r
-\r
diff --git a/extra/xmode/modes/scheme.xml b/extra/xmode/modes/scheme.xml
deleted file mode 100644 (file)
index 1117eaa..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd"><MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="#|"/>\r
-               <PROPERTY NAME="commentEnd" VALUE="|#"/>\r
-               <PROPERTY NAME="lineComment" VALUE=";"/>\r
-               <PROPERTY NAME="noWordSep" VALUE="_-+?:*/!"/>\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="("/>\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")"/>\r
-               <PROPERTY NAME="multipleBracketIndent" VALUE="true" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" NO_WORD_SEP="_-+?:*/!">\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>#|</BEGIN>\r
-                       <END>|#</END>\r
-               </SPAN>\r
-               <SEQ TYPE="NULL">'(</SEQ>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">#\</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">#b</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">#d</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">#o</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1">#x</MARK_FOLLOWING>\r
-               <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <KEYWORDS>\r
-                       <KEYWORD1>and</KEYWORD1>\r
-                       <KEYWORD1>begin</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>cond</KEYWORD1>\r
-                       <KEYWORD1>cond-expand</KEYWORD1>\r
-                       <KEYWORD1>define</KEYWORD1>\r
-                       <KEYWORD1>define-macro</KEYWORD1>\r
-                       <KEYWORD1>delay</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>fluid-let</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>lambda</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>let*</KEYWORD1>\r
-                       <KEYWORD1>letrec</KEYWORD1>\r
-                       <KEYWORD1>or</KEYWORD1>\r
-                       <KEYWORD1>quasiquote</KEYWORD1>\r
-                       <KEYWORD1>quote</KEYWORD1>\r
-                       <KEYWORD1>set!</KEYWORD1>\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>acos</KEYWORD2>\r
-                       <KEYWORD2>angle</KEYWORD2>\r
-                       <KEYWORD2>append</KEYWORD2>\r
-                       <KEYWORD2>apply</KEYWORD2>\r
-                       <KEYWORD2>asin</KEYWORD2>\r
-                       <KEYWORD2>assoc</KEYWORD2>\r
-                       <KEYWORD2>assq</KEYWORD2>\r
-                       <KEYWORD2>assv</KEYWORD2>\r
-                       <KEYWORD2>atan</KEYWORD2>\r
-                       <KEYWORD2>car</KEYWORD2>\r
-                       <KEYWORD2>cdr</KEYWORD2>\r
-                       <KEYWORD2>caar</KEYWORD2>\r
-                       <KEYWORD2>cadr</KEYWORD2>\r
-                       <KEYWORD2>cdar</KEYWORD2>\r
-                       <KEYWORD2>cddr</KEYWORD2>\r
-                       <KEYWORD2>caaar</KEYWORD2>\r
-                       <KEYWORD2>caadr</KEYWORD2>\r
-                       <KEYWORD2>cadar</KEYWORD2>\r
-                       <KEYWORD2>caddr</KEYWORD2>\r
-                       <KEYWORD2>cdaar</KEYWORD2>\r
-                       <KEYWORD2>cdadr</KEYWORD2>\r
-                       <KEYWORD2>cddar</KEYWORD2>\r
-                       <KEYWORD2>cdddr</KEYWORD2>\r
-                       <KEYWORD2>call-with-current-continuation</KEYWORD2>\r
-                       <KEYWORD2>call-with-input-file</KEYWORD2>\r
-                       <KEYWORD2>call-with-output-file</KEYWORD2>\r
-                       <KEYWORD2>call-with-values</KEYWORD2>\r
-                       <KEYWORD2>call/cc</KEYWORD2>\r
-                       <KEYWORD2>catch</KEYWORD2>\r
-                       <KEYWORD2>ceiling</KEYWORD2>\r
-                       <KEYWORD2>char-&gt;integer</KEYWORD2>\r
-                       <KEYWORD2>char-downcase</KEYWORD2>\r
-                       <KEYWORD2>char-upcase</KEYWORD2>\r
-                       <KEYWORD2>close-input-port</KEYWORD2>\r
-                       <KEYWORD2>close-output-port</KEYWORD2>\r
-                       <KEYWORD2>cons</KEYWORD2>\r
-                       <KEYWORD2>cos</KEYWORD2>\r
-                       <KEYWORD2>current-input-port</KEYWORD2>\r
-                       <KEYWORD2>current-output-port</KEYWORD2>\r
-                       <KEYWORD2>delete-file</KEYWORD2>\r
-                       <KEYWORD2>display</KEYWORD2>\r
-                       <KEYWORD2>dynamic-wind</KEYWORD2>\r
-                       <KEYWORD2>eval</KEYWORD2>\r
-                       <KEYWORD2>exit</KEYWORD2>\r
-                       <KEYWORD2>exact-&gt;inexact</KEYWORD2>\r
-                       <KEYWORD2>exp</KEYWORD2>\r
-                       <KEYWORD2>expt</KEYWORD2>\r
-                       <KEYWORD2>file-or-directory-modify-seconds</KEYWORD2>\r
-                       <KEYWORD2>floor</KEYWORD2>\r
-                       <KEYWORD2>force</KEYWORD2>\r
-                       <KEYWORD2>for-each</KEYWORD2>\r
-                       <KEYWORD2>gcd</KEYWORD2>\r
-                       <KEYWORD2>gensym</KEYWORD2>\r
-                       <KEYWORD2>get-output-string</KEYWORD2>\r
-                       <KEYWORD2>getenv</KEYWORD2>\r
-                       <KEYWORD2>imag-part</KEYWORD2>\r
-                       <KEYWORD2>integer-&gt;char</KEYWORD2>\r
-                       <KEYWORD2>lcm</KEYWORD2>\r
-                       <KEYWORD2>length</KEYWORD2>\r
-                       <KEYWORD2>list</KEYWORD2>\r
-                       <KEYWORD2>list-&gt;string</KEYWORD2>\r
-                       <KEYWORD2>list-&gt;vector</KEYWORD2>\r
-                       <KEYWORD2>list-ref</KEYWORD2>\r
-                       <KEYWORD2>list-tail</KEYWORD2>\r
-                       <KEYWORD2>load</KEYWORD2>\r
-                       <KEYWORD2>log</KEYWORD2>\r
-                       <KEYWORD2>magnitude</KEYWORD2>\r
-                       <KEYWORD2>make-polar</KEYWORD2>\r
-                       <KEYWORD2>make-rectangular</KEYWORD2>\r
-                       <KEYWORD2>make-string</KEYWORD2>\r
-                       <KEYWORD2>make-vector</KEYWORD2>\r
-                       <KEYWORD2>map</KEYWORD2>\r
-                       <KEYWORD2>max</KEYWORD2>\r
-                       <KEYWORD2>member</KEYWORD2>\r
-                       <KEYWORD2>memq</KEYWORD2>\r
-                       <KEYWORD2>memv</KEYWORD2>\r
-                       <KEYWORD2>min</KEYWORD2>\r
-                       <KEYWORD2>modulo</KEYWORD2>\r
-                       <KEYWORD2>newline</KEYWORD2>\r
-                       <KEYWORD2>nil</KEYWORD2>\r
-                       <KEYWORD2>not</KEYWORD2>\r
-                       <KEYWORD2>number-&gt;string</KEYWORD2>\r
-                       <KEYWORD2>open-input-file</KEYWORD2>\r
-                       <KEYWORD2>open-input-string</KEYWORD2>\r
-                       <KEYWORD2>open-output-file</KEYWORD2>\r
-                       <KEYWORD2>open-output-string</KEYWORD2>\r
-                       <KEYWORD2>peek-char</KEYWORD2>\r
-                       <KEYWORD2>quotient</KEYWORD2>\r
-                       <KEYWORD2>read</KEYWORD2>\r
-                       <KEYWORD2>read-char</KEYWORD2>\r
-                       <KEYWORD2>read-line</KEYWORD2>\r
-                       <KEYWORD2>real-part</KEYWORD2>\r
-                       <KEYWORD2>remainder</KEYWORD2>\r
-                       <KEYWORD2>reverse</KEYWORD2>\r
-                       <KEYWORD2>reverse!</KEYWORD2>\r
-                       <KEYWORD2>round</KEYWORD2>\r
-                       <KEYWORD2>set-car!</KEYWORD2>\r
-                       <KEYWORD2>set-cdr!</KEYWORD2>\r
-                       <KEYWORD2>sin</KEYWORD2>\r
-                       <KEYWORD2>sqrt</KEYWORD2>\r
-                       <KEYWORD2>string</KEYWORD2>\r
-                       <KEYWORD2>string-&gt;list</KEYWORD2>\r
-                       <KEYWORD2>string-&gt;number</KEYWORD2>\r
-                       <KEYWORD2>string-&gt;symbol</KEYWORD2>\r
-                       <KEYWORD2>string-append</KEYWORD2>\r
-                       <KEYWORD2>string-copy</KEYWORD2>\r
-                       <KEYWORD2>string-fill!</KEYWORD2>\r
-                       <KEYWORD2>string-length</KEYWORD2>\r
-                       <KEYWORD2>string-ref</KEYWORD2>\r
-                       <KEYWORD2>string-set!</KEYWORD2>\r
-                       <KEYWORD2>substring</KEYWORD2>\r
-                       <KEYWORD2>symbol-&gt;string</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>tan</KEYWORD2>\r
-                       <KEYWORD2>truncate</KEYWORD2>\r
-                       <KEYWORD2>values</KEYWORD2>\r
-                       <KEYWORD2>vector</KEYWORD2>\r
-                       <KEYWORD2>vector-&gt;list</KEYWORD2>\r
-                       <KEYWORD2>vector-fill!</KEYWORD2>\r
-                       <KEYWORD2>vector-length</KEYWORD2>\r
-                       <KEYWORD2>vector-ref</KEYWORD2>\r
-                       <KEYWORD2>vector-set!</KEYWORD2>\r
-                       <KEYWORD2>with-input-from-file</KEYWORD2>\r
-                       <KEYWORD2>with-output-to-file</KEYWORD2>\r
-                       <KEYWORD2>write</KEYWORD2>\r
-                       <KEYWORD2>write-char</KEYWORD2>\r
-                       <KEYWORD3>boolean?</KEYWORD3>\r
-                       <KEYWORD3>char-alphabetic?</KEYWORD3>\r
-                       <KEYWORD3>char-ci&lt;=?</KEYWORD3>\r
-                       <KEYWORD3>char-ci&lt;?</KEYWORD3>\r
-                       <KEYWORD3>char-ci=?</KEYWORD3>\r
-                       <KEYWORD3>char-ci&gt;=?</KEYWORD3>\r
-                       <KEYWORD3>char-ci&gt;?</KEYWORD3>\r
-                       <KEYWORD3>char-lower-case?</KEYWORD3>\r
-                       <KEYWORD3>char-numeric?</KEYWORD3>\r
-                       <KEYWORD3>char-ready?</KEYWORD3>\r
-                       <KEYWORD3>char-upper-case?</KEYWORD3>\r
-                       <KEYWORD3>char-whitespace?</KEYWORD3>\r
-                       <KEYWORD3>char&lt;=?</KEYWORD3>\r
-                       <KEYWORD3>char&lt;?</KEYWORD3>\r
-                       <KEYWORD3>char=?</KEYWORD3>\r
-                       <KEYWORD3>char&gt;=?</KEYWORD3>\r
-                       <KEYWORD3>char&gt;?</KEYWORD3>\r
-                       <KEYWORD3>char?</KEYWORD3>\r
-                       <KEYWORD3>complex?</KEYWORD3>\r
-                       <KEYWORD3>eof-object?</KEYWORD3>\r
-                       <KEYWORD3>eq?</KEYWORD3>\r
-                       <KEYWORD3>equal?</KEYWORD3>\r
-                       <KEYWORD3>eqv?</KEYWORD3>\r
-                       <KEYWORD3>even?</KEYWORD3>\r
-                       <KEYWORD3>exact?</KEYWORD3>\r
-                       <KEYWORD3>file-exists?</KEYWORD3>\r
-                       <KEYWORD3>inexact?</KEYWORD3>\r
-                       <KEYWORD3>input-port?</KEYWORD3>\r
-                       <KEYWORD3>integer?</KEYWORD3>\r
-                       <KEYWORD3>list?</KEYWORD3>\r
-                       <KEYWORD3>negative?</KEYWORD3>\r
-                       <KEYWORD3>null?</KEYWORD3>\r
-                       <KEYWORD3>number?</KEYWORD3>\r
-                       <KEYWORD3>odd?</KEYWORD3>\r
-                       <KEYWORD3>output-port?</KEYWORD3>\r
-                       <KEYWORD3>pair?</KEYWORD3>\r
-                       <KEYWORD3>port?</KEYWORD3>\r
-                       <KEYWORD3>positive?</KEYWORD3>\r
-                       <KEYWORD3>procedure?</KEYWORD3>\r
-                       <KEYWORD3>rational?</KEYWORD3>\r
-                       <KEYWORD3>real?</KEYWORD3>\r
-                       <KEYWORD3>string-ci&lt;=?</KEYWORD3>\r
-                       <KEYWORD3>string-ci&lt;?</KEYWORD3>\r
-                       <KEYWORD3>string-ci=?</KEYWORD3>\r
-                       <KEYWORD3>string-ci&gt;=?</KEYWORD3>\r
-                       <KEYWORD3>string-ci&gt;?</KEYWORD3>\r
-                       <KEYWORD3>string&lt;=?</KEYWORD3>\r
-                       <KEYWORD3>string&lt;?</KEYWORD3>\r
-                       <KEYWORD3>string=?</KEYWORD3>\r
-                       <KEYWORD3>string&gt;=?</KEYWORD3>\r
-                       <KEYWORD3>string&gt;?</KEYWORD3>\r
-                       <KEYWORD3>string?</KEYWORD3>\r
-                       <KEYWORD3>symbol?</KEYWORD3>\r
-                       <KEYWORD3>vector?</KEYWORD3>\r
-                       <KEYWORD3>zero?</KEYWORD3>\r
-                       <LITERAL2>#t</LITERAL2>\r
-                       <LITERAL2>#f</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/sdl_pr.xml b/extra/xmode/modes/sdl_pr.xml
deleted file mode 100644 (file)
index 0f67aa8..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-  sdl_pr.xml   K. J. Turner <kjt@cs.stir.ac.uk>        26th February 2004\r
-\r
-  SDL (Specification and Description Language) is an ITU standard (Z.100)\r
-  for a formal specification language used in communications and system specification generally.\r
-\r
-  This mode handles SDL/PR (Phrase Representation), but does not (yet) deal with SDL 2000.\r
-\r
-  Auto-indentation occurs if the following are at the start of a line (ignoring\r
-  leading white space): "block", "channel", "connection", "decision", "generator", "input", "macro", "newtype", "operator", "package", "procedure", "process", "refinement", "service", "start", "state", "substructure", "syntype", "system".\r
-\r
-  This also happens if the following appear on their own (i.e. also ignoring\r
-  trailing white space): "signal".\r
--->\r
-\r
-<MODE>\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="/*"/>\r
-    <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
-    <PROPERTY NAME="indentNextLines"\r
-      VALUE="\s*(block|channel|connection|decision|generator|input|macro|newtype|operator|package|procedure|process|refinement|service|start|state|substructure|syntype|system).*|\s*(signal)\s*"/>\r
-  </PROPS>\r
-\r
-  <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-    <!-- SDT/TAU Comments -->\r
-    <SPAN TYPE="COMMENT2">\r
-      <BEGIN>/*#SDTREF</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-\r
-    <!-- Standard Comments -->\r
-    <SPAN TYPE="COMMENT1">\r
-      <BEGIN>/*</BEGIN>\r
-      <END>*/</END>\r
-    </SPAN>\r
-\r
-    <!-- String Literals -->\r
-    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-\r
-    <!-- Standard Operators -->\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <SEQ TYPE="OPERATOR">-</SEQ>\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <SEQ TYPE="OPERATOR">==</SEQ>\r
-    <SEQ TYPE="OPERATOR">/=</SEQ>\r
-    <SEQ TYPE="OPERATOR">:=</SEQ>\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-    <SEQ TYPE="OPERATOR">.</SEQ>\r
-    <SEQ TYPE="OPERATOR">!</SEQ>\r
-    <SEQ TYPE="OPERATOR">//</SEQ>\r
-\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">and</SEQ>\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">mod</SEQ>\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">not</SEQ>\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">or</SEQ>\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">rem</SEQ>\r
-    <SEQ TYPE="OPERATOR" AT_WORD_START="TRUE">xor</SEQ>\r
-\r
-    <KEYWORDS>\r
-      <!-- Reserved Words -->\r
-      <KEYWORD1>active</KEYWORD1>\r
-      <KEYWORD1>adding</KEYWORD1>\r
-      <KEYWORD1>all</KEYWORD1>\r
-      <KEYWORD1>alternative</KEYWORD1>\r
-      <KEYWORD1>any</KEYWORD1>\r
-      <KEYWORD1>as</KEYWORD1>\r
-      <KEYWORD1>atleast</KEYWORD1>\r
-      <KEYWORD1>axioms</KEYWORD1>\r
-      <KEYWORD1>block</KEYWORD1>\r
-      <KEYWORD1>call</KEYWORD1>\r
-      <KEYWORD1>channel</KEYWORD1>\r
-      <KEYWORD1>comment</KEYWORD1>\r
-      <KEYWORD1>connect</KEYWORD1>\r
-      <KEYWORD1>connection</KEYWORD1>\r
-      <KEYWORD1>constant</KEYWORD1>\r
-      <KEYWORD1>constants</KEYWORD1>\r
-      <KEYWORD1>create</KEYWORD1>\r
-      <KEYWORD1>dcl</KEYWORD1>\r
-      <KEYWORD1>decision</KEYWORD1>\r
-      <KEYWORD1>default</KEYWORD1>\r
-      <KEYWORD1>else</KEYWORD1>\r
-      <KEYWORD1>end</KEYWORD1>\r
-      <KEYWORD1>endalternative</KEYWORD1>\r
-      <KEYWORD1>endblock</KEYWORD1>\r
-      <KEYWORD1>endchannel</KEYWORD1>\r
-      <KEYWORD1>endconnection</KEYWORD1>\r
-      <KEYWORD1>enddecision</KEYWORD1>\r
-      <KEYWORD1>endgenerator</KEYWORD1>\r
-      <KEYWORD1>endmacro</KEYWORD1>\r
-      <KEYWORD1>endnewtype</KEYWORD1>\r
-      <KEYWORD1>endoperator</KEYWORD1>\r
-      <KEYWORD1>endpackage</KEYWORD1>\r
-      <KEYWORD1>endprocedure</KEYWORD1>\r
-      <KEYWORD1>endprocess</KEYWORD1>\r
-      <KEYWORD1>endrefinement</KEYWORD1>\r
-      <KEYWORD1>endselect</KEYWORD1>\r
-      <KEYWORD1>endservice</KEYWORD1>\r
-      <KEYWORD1>endstate</KEYWORD1>\r
-      <KEYWORD1>endsubstructure</KEYWORD1>\r
-      <KEYWORD1>endsyntype</KEYWORD1>\r
-      <KEYWORD1>endsystem</KEYWORD1>\r
-      <KEYWORD1>env</KEYWORD1>\r
-      <KEYWORD1>error</KEYWORD1>\r
-      <KEYWORD1>export</KEYWORD1>\r
-      <KEYWORD1>exported</KEYWORD1>\r
-      <KEYWORD1>external</KEYWORD1>\r
-      <KEYWORD1>fi</KEYWORD1>\r
-      <KEYWORD1>finalized</KEYWORD1>\r
-      <KEYWORD1>for</KEYWORD1>\r
-      <KEYWORD1>fpar</KEYWORD1>\r
-      <KEYWORD1>from</KEYWORD1>\r
-      <KEYWORD1>gate</KEYWORD1>\r
-      <KEYWORD1>generator</KEYWORD1>\r
-      <KEYWORD1>if</KEYWORD1>\r
-      <KEYWORD1>import</KEYWORD1>\r
-      <KEYWORD1>imported</KEYWORD1>\r
-      <KEYWORD1>in</KEYWORD1>\r
-      <KEYWORD1>inherits</KEYWORD1>\r
-      <KEYWORD1>input</KEYWORD1>\r
-      <KEYWORD1>interface</KEYWORD1>\r
-      <KEYWORD1>join</KEYWORD1>\r
-      <KEYWORD1>literal</KEYWORD1>\r
-      <KEYWORD1>literals</KEYWORD1>\r
-      <KEYWORD1>macro</KEYWORD1>\r
-      <KEYWORD1>macrodefinition</KEYWORD1>\r
-      <KEYWORD1>macroid</KEYWORD1>\r
-      <KEYWORD1>map</KEYWORD1>\r
-      <KEYWORD1>nameclass</KEYWORD1>\r
-      <KEYWORD1>newtype</KEYWORD1>\r
-      <KEYWORD1>nextstate</KEYWORD1>\r
-      <KEYWORD1>nodelay</KEYWORD1>\r
-      <KEYWORD1>noequality</KEYWORD1>\r
-      <KEYWORD1>none</KEYWORD1>\r
-      <KEYWORD1>now</KEYWORD1>\r
-      <KEYWORD1>offspring</KEYWORD1>\r
-      <KEYWORD1>operator</KEYWORD1>\r
-      <KEYWORD1>operators</KEYWORD1>\r
-      <KEYWORD1>ordering</KEYWORD1>\r
-      <KEYWORD1>out</KEYWORD1>\r
-      <KEYWORD1>output</KEYWORD1>\r
-      <KEYWORD1>package</KEYWORD1>\r
-      <KEYWORD1>parent</KEYWORD1>\r
-      <KEYWORD1>priority</KEYWORD1>\r
-      <KEYWORD1>procedure</KEYWORD1>\r
-      <KEYWORD1>process</KEYWORD1>\r
-      <KEYWORD1>provided</KEYWORD1>\r
-      <KEYWORD1>redefined</KEYWORD1>\r
-      <KEYWORD1>referenced</KEYWORD1>\r
-      <KEYWORD1>refinement</KEYWORD1>\r
-      <KEYWORD1>remote</KEYWORD1>\r
-      <KEYWORD1>reset</KEYWORD1>\r
-      <KEYWORD1>return</KEYWORD1>\r
-      <KEYWORD1>returns</KEYWORD1>\r
-      <KEYWORD1>revealed</KEYWORD1>\r
-      <KEYWORD1>reverse</KEYWORD1>\r
-      <KEYWORD1>route</KEYWORD1>\r
-      <KEYWORD1>save</KEYWORD1>\r
-      <KEYWORD1>select</KEYWORD1>\r
-      <KEYWORD1>self</KEYWORD1>\r
-      <KEYWORD1>sender</KEYWORD1>\r
-      <KEYWORD1>service</KEYWORD1>\r
-      <KEYWORD1>set</KEYWORD1>\r
-      <KEYWORD1>signal</KEYWORD1>\r
-      <KEYWORD1>signallist</KEYWORD1>\r
-      <KEYWORD1>signalroute</KEYWORD1>\r
-      <KEYWORD1>signalset</KEYWORD1>\r
-      <KEYWORD1>spelling</KEYWORD1>\r
-      <KEYWORD1>start</KEYWORD1>\r
-      <KEYWORD1>state</KEYWORD1>\r
-      <KEYWORD1>stop</KEYWORD1>\r
-      <KEYWORD1>struct</KEYWORD1>\r
-      <KEYWORD1>substructure</KEYWORD1>\r
-      <KEYWORD1>synonym</KEYWORD1>\r
-      <KEYWORD1>syntype</KEYWORD1>\r
-      <KEYWORD1>system</KEYWORD1>\r
-      <KEYWORD1>task</KEYWORD1>\r
-      <KEYWORD1>then</KEYWORD1>\r
-      <KEYWORD1>this</KEYWORD1>\r
-      <KEYWORD1>timer</KEYWORD1>\r
-      <KEYWORD1>to</KEYWORD1>\r
-      <KEYWORD1>type</KEYWORD1>\r
-      <KEYWORD1>use</KEYWORD1>\r
-      <KEYWORD1>via</KEYWORD1>\r
-      <KEYWORD1>view</KEYWORD1>\r
-      <KEYWORD1>viewed</KEYWORD1>\r
-      <KEYWORD1>virtual</KEYWORD1>\r
-      <KEYWORD1>with</KEYWORD1>\r
-\r
-      <!-- Standard Library Sorts -->\r
-      <KEYWORD2>Boolean</KEYWORD2>\r
-      <KEYWORD2>Character</KEYWORD2>\r
-      <KEYWORD2>Charstring</KEYWORD2>\r
-      <KEYWORD2>Duration</KEYWORD2>\r
-      <KEYWORD2>Integer</KEYWORD2>\r
-      <KEYWORD2>Natural</KEYWORD2>\r
-      <KEYWORD2>Real</KEYWORD2>\r
-      <KEYWORD2>PId</KEYWORD2>\r
-      <KEYWORD2>Time</KEYWORD2>\r
-\r
-      <!-- Standard Library Generators -->\r
-      <KEYWORD3>Array</KEYWORD3>\r
-      <KEYWORD3>String</KEYWORD3>\r
-      <KEYWORD3>Powerset</KEYWORD3>\r
-\r
-      <!-- Standard Library Literals -->\r
-      <LITERAL1>false</LITERAL1>\r
-      <LITERAL1>null</LITERAL1>\r
-      <LITERAL1>true</LITERAL1>\r
-    </KEYWORDS>\r
-  </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/sgml.xml b/extra/xmode/modes/sgml.xml
deleted file mode 100644 (file)
index 6f7737d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD Entity declarations -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::ENTITY-TAGS">\r
-                       <BEGIN>&lt;!ENTITY</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA sections -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/shellscript.xml b/extra/xmode/modes/shellscript.xml
deleted file mode 100644 (file)
index 5d265b7..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comments -->\r
-               <EOL_SPAN TYPE="COMMENT2">#!</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$@</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$$</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$&lt;</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-               <MARK_PREVIOUS TYPE="KEYWORD2" MATCH_TYPE="OPERATOR">=</MARK_PREVIOUS>\r
-\r
-               <!-- weird stuff -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
-                       <BEGIN>$((</BEGIN>\r
-                       <END>))</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
-                       <BEGIN>$(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
-                       <BEGIN>$[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">\r
-                       <BEGIN>`</BEGIN>\r
-                       <END>`</END>\r
-               </SPAN>\r
-\r
-               <!-- Literals -->\r
-               <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- Readins -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">\r
-                       <BEGIN><![CDATA[<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>\r
-                       <END>$1</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Operators -->\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-\r
-               <!-- %jobnumber -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>\r
-\r
-               <!-- functions -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>elif</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>fi</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <OPERATOR>;;</OPERATOR>\r
-                       <KEYWORD1>esac</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>done</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-\r
-                       <KEYWORD1>local</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-               </KEYWORDS>\r
-\r
-               <!-- some of these should be marked OPERATOR -->\r
-               <!-- <SEQ TYPE="NULL">)</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">=</SEQ>\r
-               <SEQ TYPE="NULL">!</SEQ>\r
-               <SEQ TYPE="NULL">&gt;=</SEQ>\r
-               <SEQ TYPE="NULL">&lt;=</SEQ>\r
-               <SEQ TYPE="NULL">+</SEQ>\r
-               <SEQ TYPE="NULL">-</SEQ>\r
-               <SEQ TYPE="NULL">/</SEQ>\r
-               <SEQ TYPE="NULL">*</SEQ>\r
-               <SEQ TYPE="NULL">^</SEQ>\r
-               <SEQ TYPE="NULL">~</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               SEQ TYPE="NULL">.</SEQ\r
-               <SEQ TYPE="NULL">,</SEQ>\r
-               <SEQ TYPE="NULL">;</SEQ>\r
-               <SEQ TYPE="NULL">]</SEQ>\r
-               <SEQ TYPE="NULL">[</SEQ>\r
-               <SEQ TYPE="NULL">?</SEQ>\r
-               <SEQ TYPE="NULL">:</SEQ> -->\r
-       </RULES>\r
-\r
-       <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-       </RULES>\r
-\r
-       <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">\r
-               <!-- Variables -->\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>$((</BEGIN>\r
-                       <END>))</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>$(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>$[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/shtml.xml b/extra/xmode/modes/shtml.xml
deleted file mode 100644 (file)
index b5ee02e..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- SSI -->\r
-               <!-- SSI directives should ALWAYS end like this, with a space\r
-                       before the tag end, so let's make it colorize poorly otherwise -->\r
-               <!-- ... or really? see bug report 964860 -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="SSI">\r
-                       <BEGIN>&lt;!--#</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="SSI" DEFAULT="KEYWORD3">\r
-               <SPAN TYPE="LITERAL1" MATCH_TYPE="OPERATOR" DELEGATE="SSI-EXPRESSION">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- MD: i don't think this is valid\r
-               <SPAN TYPE="LITERAL1" MATCH_TYPE="OPERATOR" DELEGATE="SSI-EXPRESSION">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               -->\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>config</KEYWORD1>\r
-                       <KEYWORD1>echo</KEYWORD1>\r
-                       <KEYWORD1>exec</KEYWORD1>\r
-                       <KEYWORD1>flastmod</KEYWORD1>\r
-                       <KEYWORD1>fsize</KEYWORD1>\r
-                       <KEYWORD1>include</KEYWORD1>\r
-\r
-                       <KEYWORD2>cgi</KEYWORD2>\r
-                       <KEYWORD2>errmsg</KEYWORD2>\r
-                       <KEYWORD2>file</KEYWORD2>\r
-                       <KEYWORD2>sizefmt</KEYWORD2>\r
-                       <KEYWORD2>timefmt</KEYWORD2>\r
-                       <KEYWORD2>var</KEYWORD2>\r
-                       <KEYWORD2>cmd</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="SSI-EXPRESSION" DEFAULT="LITERAL1" ESCAPE="\">\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">||</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/slate.xml b/extra/xmode/modes/slate.xml
deleted file mode 100644 (file)
index 4f9b2c5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="["/>\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE="]"/>\r
-               <PROPERTY NAME="commentStart" VALUE="&quot;"/>\r
-               <PROPERTY NAME="commentEnd" VALUE="&quot;"/>\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE" ESCAPE="\"\r
-               HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="-?\d+([./]\d+)?">\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
-               \r
-               <SEQ TYPE="MARKUP">@</SEQ>\r
-               \r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               \r
-               <SPAN TYPE="KEYWORD1">\r
-                       <BEGIN>|</BEGIN>\r
-                       <END>|</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL4">&amp;</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">`</MARK_FOLLOWING>\r
-               \r
-               <MARK_FOLLOWING TYPE="LITERAL3">$\</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL3">$</MARK_FOLLOWING>\r
-               \r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/smalltalk.xml b/extra/xmode/modes/smalltalk.xml
deleted file mode 100644 (file)
index 27eefe7..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Smalltalk mode, by Marcio Marchini mqm@magma.ca -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&quot;" />\r
-               <PROPERTY NAME="commentEnd" VALUE="&quot;" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
-\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">_</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="KEYWORD3" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR">#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1" MATCH_TYPE="OPERATOR">$</MARK_FOLLOWING>\r
-\r
-\r
-               <KEYWORDS>\r
-                       <!-- Constants -->\r
-                       <KEYWORD1>true</KEYWORD1>\r
-                       <KEYWORD1>false</KEYWORD1>\r
-                       <KEYWORD1>nil</KEYWORD1>\r
-\r
-                       <!-- Reserved identifiers -->\r
-                       <KEYWORD2>self</KEYWORD2>\r
-                       <KEYWORD2>super</KEYWORD2>\r
-\r
-                       <!-- not really keywords, but a different color works well-->\r
-                       <KEYWORD3>isNil</KEYWORD3>\r
-                       <KEYWORD3>not</KEYWORD3>\r
-\r
-                       <!-- not really -->\r
-                       <LITERAL2>Smalltalk</LITERAL2>\r
-                       <LITERAL2>Transcript</LITERAL2>\r
-\r
-                       <!-- base classes -->\r
-                       <LITERAL2>Date</LITERAL2>\r
-                       <LITERAL2>Time</LITERAL2>\r
-                       <LITERAL2>Boolean</LITERAL2>\r
-                       <LITERAL2>True</LITERAL2>\r
-                       <LITERAL2>False</LITERAL2>\r
-                       <LITERAL2>Character</LITERAL2>\r
-                       <LITERAL2>String</LITERAL2>\r
-                       <LITERAL2>Array</LITERAL2>\r
-                       <LITERAL2>Symbol</LITERAL2>\r
-                       <LITERAL2>Integer</LITERAL2>\r
-                       <LITERAL2>Object</LITERAL2>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/smi-mib.xml b/extra/xmode/modes/smi-mib.xml
deleted file mode 100644 (file)
index ed8982e..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       SMI MIB mode by Scott Allen (scotta@idirect.com)\r
-       For "Structure of Management Information" version 2 (SMIv2)\r
-           "Management Information Base" (MIB) modules as used by the\r
-           "Simple Network Management Protocol" (SNMP).\r
-\r
-       As per RFC's 2578, 2579 and 2580\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-\r
-               <PROPERTY NAME="noWordSep" VALUE="-_" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unindentNextLines" VALUE=".*::=\s*\{.*\}\s*$" />\r
-               <PROPERTY NAME="indentNextLines"\r
-                       VALUE=".*(::=|AGENT-CAPABILITIES|DESCRIPTION|IMPORTS|MODULE-COMPLIANCE|MODULE-IDENTITY|NOTIFICATION-GROUP|NOTIFICATION-TYPE|OBJECT-GROUP|OBJECT-IDENTITY|OBJECT-TYPE|TEXTUAL-CONVENTION)\s*$" />\r
-       </PROPS>\r
-\r
-       <RULES\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE">\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">::=</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <SEQ TYPE="KEYWORD2">OBJECT IDENTIFIER</SEQ>\r
-               <SEQ TYPE="KEYWORD2">SEQUENCE OF</SEQ>\r
-               <SEQ TYPE="KEYWORD2">OCTET STRING</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <FUNCTION>AGENT-CAPABILITIES</FUNCTION>\r
-                       <FUNCTION>BEGIN</FUNCTION>\r
-                       <FUNCTION>END</FUNCTION>\r
-                       <FUNCTION>FROM</FUNCTION>\r
-                       <FUNCTION>IMPORTS</FUNCTION>\r
-                       <FUNCTION>MODULE-COMPLIANCE</FUNCTION>\r
-                       <FUNCTION>MODULE-IDENTITY</FUNCTION>\r
-                       <FUNCTION>NOTIFICATION-GROUP</FUNCTION>\r
-                       <FUNCTION>NOTIFICATION-TYPE</FUNCTION>\r
-                       <FUNCTION>OBJECT-GROUP</FUNCTION>\r
-                       <FUNCTION>OBJECT-IDENTITY</FUNCTION>\r
-                       <FUNCTION>OBJECT-TYPE</FUNCTION>\r
-                       <FUNCTION>TEXTUAL-CONVENTION</FUNCTION>\r
-\r
-                       <KEYWORD1>ACCESS</KEYWORD1>\r
-                       <KEYWORD1>AUGMENTS</KEYWORD1>\r
-                       <KEYWORD1>CONTACT-INFO</KEYWORD1>\r
-                       <KEYWORD1>CREATION-REQUIRES</KEYWORD1>\r
-                       <KEYWORD1>DEFINITIONS</KEYWORD1>\r
-                       <KEYWORD1>DEFVAL</KEYWORD1>\r
-                       <KEYWORD1>DESCRIPTION</KEYWORD1>\r
-                       <KEYWORD1>DISPLAY-HINT</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-                       <KEYWORD1>INCLUDES</KEYWORD1>\r
-                       <KEYWORD1>INDEX</KEYWORD1>\r
-                       <KEYWORD1>LAST-UPDATED</KEYWORD1>\r
-                       <KEYWORD1>MANDATORY-GROUPS</KEYWORD1>\r
-                       <KEYWORD1>MAX-ACCESS</KEYWORD1>\r
-                       <KEYWORD1>MIN-ACCESS</KEYWORD1>\r
-                       <KEYWORD1>MODULE</KEYWORD1>\r
-                       <KEYWORD1>NOTIFICATIONS</KEYWORD1>\r
-                       <KEYWORD1>OBJECT</KEYWORD1>\r
-                       <KEYWORD1>OBJECTS</KEYWORD1>\r
-                       <KEYWORD1>ORGANIZATION</KEYWORD1>\r
-                       <KEYWORD1>PRODUCT-RELEASE</KEYWORD1>\r
-                       <KEYWORD1>REFERENCE</KEYWORD1>\r
-                       <KEYWORD1>REVISION</KEYWORD1>\r
-                       <KEYWORD1>STATUS</KEYWORD1>\r
-                       <KEYWORD1>SYNTAX</KEYWORD1>\r
-                       <KEYWORD1>SUPPORTS</KEYWORD1>\r
-                       <KEYWORD1>UNITS</KEYWORD1>\r
-                       <KEYWORD1>VARIATION</KEYWORD1>\r
-                       <KEYWORD1>WRITE-SYNTAX</KEYWORD1>\r
-\r
-                       <KEYWORD2>AutonomousType</KEYWORD2>\r
-                       <KEYWORD2>BITS</KEYWORD2>\r
-                       <KEYWORD2>Counter32</KEYWORD2>\r
-                       <KEYWORD2>Counter64</KEYWORD2>\r
-                       <KEYWORD2>DateAndTime</KEYWORD2>\r
-                       <KEYWORD2>DisplayString</KEYWORD2>\r
-                       <KEYWORD2>Gauge32</KEYWORD2>\r
-                       <KEYWORD2>InstancePointer</KEYWORD2>\r
-                       <KEYWORD2>INTEGER</KEYWORD2>\r
-                       <KEYWORD2>Integer32</KEYWORD2>\r
-                       <KEYWORD2>IpAddress</KEYWORD2>\r
-                       <KEYWORD2>MacAddress</KEYWORD2>\r
-                       <KEYWORD2>Opaque</KEYWORD2>\r
-                       <KEYWORD2>PhysAddress</KEYWORD2>\r
-                       <KEYWORD2>RowPointer</KEYWORD2>\r
-                       <KEYWORD2>RowStatus</KEYWORD2>\r
-                       <KEYWORD2>SEQUENCE</KEYWORD2>\r
-                       <KEYWORD2>TAddress</KEYWORD2>\r
-                       <KEYWORD2>TDomain</KEYWORD2>\r
-                       <KEYWORD2>TestAndIncr</KEYWORD2>\r
-                       <KEYWORD2>TimeInterval</KEYWORD2>\r
-                       <KEYWORD2>TimeStamp</KEYWORD2>\r
-                       <KEYWORD2>TimeTicks</KEYWORD2>\r
-                       <KEYWORD2>TruthValue</KEYWORD2>\r
-                       <KEYWORD2>StorageType</KEYWORD2>\r
-                       <KEYWORD2>Unsigned32</KEYWORD2>\r
-                       <KEYWORD2>VariablePointer</KEYWORD2>\r
-\r
-                       <KEYWORD3>accessible-for-notify</KEYWORD3>\r
-                       <KEYWORD3>current</KEYWORD3>\r
-                       <KEYWORD3>deprecated</KEYWORD3>\r
-                       <KEYWORD3>not-accessible</KEYWORD3>\r
-                       <KEYWORD3>obsolete</KEYWORD3>\r
-                       <KEYWORD3>read-create</KEYWORD3>\r
-                       <KEYWORD3>read-only</KEYWORD3>\r
-                       <KEYWORD3>read-write</KEYWORD3>\r
-                       <KEYWORD3>SIZE</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/splus.xml b/extra/xmode/modes/splus.xml
deleted file mode 100644 (file)
index 12e10d7..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-    <PROPS>\r
-        <PROPERTY NAME="lineComment" VALUE="#" />\r
-        <PROPERTY NAME="wordBreakChars" VALUE="_,+-=&lt;&gt;/?^&amp;*" />\r
-\r
-        <!-- Auto indent -->\r
-        <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-        <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-        <PROPERTY NAME="indentNextLine"\r
-            VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-        <!-- set this to 'true' if you want to use GNU coding style -->\r
-        <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-    </PROPS>\r
-    <RULES ESCAPE="\"\r
-        IGNORE_CASE="FALSE"\r
-        HIGHLIGHT_DIGITS="TRUE"\r
-        DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>"</BEGIN>\r
-            <END>"</END>\r
-        </SPAN>\r
-        <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-            <BEGIN>'</BEGIN>\r
-            <END>'</END>\r
-        </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <SEQ TYPE="OPERATOR">_</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">%</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-            MATCH_TYPE="OPERATOR"\r
-            TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-        <!-- Function calls -->\r
-        <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-        <KEYWORDS>\r
-            <KEYWORD1>break</KEYWORD1>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>continue</KEYWORD1>\r
-            <KEYWORD1>default</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>goto</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>sizeof</KEYWORD1>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-\r
-            <KEYWORD1>function</KEYWORD1>\r
-\r
-            <LITERAL2>T</LITERAL2>\r
-            <LITERAL2>F</LITERAL2>\r
-        </KEYWORDS>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/sql-loader.xml b/extra/xmode/modes/sql-loader.xml
deleted file mode 100644 (file)
index ae62fc3..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN DELEGATE="pl-sql::MAIN">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-        \r
-               <KEYWORDS>\r
-                       <!-- reserved words -->\r
-                       <KEYWORD1>LOAD</KEYWORD1>\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>INFILE</KEYWORD1>\r
-                       <KEYWORD1>BADFILE</KEYWORD1>\r
-                       <KEYWORD1>DISCARDFILE</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>FIELDS</KEYWORD1>\r
-                       <KEYWORD1>TERMINATED</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>OPTIONALLY</KEYWORD1>\r
-                       <KEYWORD1>ENCLOSED</KEYWORD1>\r
-                       <KEYWORD1>EXTERNAL</KEYWORD1>\r
-                       <KEYWORD1>TRAILING</KEYWORD1>\r
-                       <KEYWORD1>NULLCOLS</KEYWORD1>\r
-                       <KEYWORD1>NULLIF</KEYWORD1>\r
-                       <KEYWORD1>DATA</KEYWORD1>\r
-                       <KEYWORD1>BLANKS</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>POSITION</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>APPEND</KEYWORD1>\r
-                       <KEYWORD1>REPLACE</KEYWORD1>\r
-                       <KEYWORD1>EOF</KEYWORD1>\r
-                       <KEYWORD1>LOBFILE</KEYWORD1>\r
-                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
-                       <KEYWORD1>COLUMN</KEYWORD1>\r
-            \r
-            <!--function-->\r
-                       <KEYWORD1>COUNT</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>SDF</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>SYSDATE</KEYWORD1>\r
-\r
-                       <!-- data types -->\r
-                       <KEYWORD1>binary</KEYWORD1>\r
-                       <KEYWORD1>bit</KEYWORD1>\r
-                       <KEYWORD1>blob</KEYWORD1>\r
-                       <KEYWORD1>boolean</KEYWORD1>\r
-                       <KEYWORD1>char</KEYWORD1>\r
-                       <KEYWORD1>character</KEYWORD1>\r
-                       <KEYWORD1>constant</KEYWORD1>\r
-                       <KEYWORD1>date</KEYWORD1>\r
-                       <KEYWORD1>datetime</KEYWORD1>\r
-                       <KEYWORD1>decimal</KEYWORD1>\r
-                       <KEYWORD1>double</KEYWORD1>\r
-                       <KEYWORD1>filler</KEYWORD1>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>image</KEYWORD1>\r
-                       <KEYWORD1>int</KEYWORD1>\r
-                       <KEYWORD1>integer</KEYWORD1>\r
-                       <KEYWORD1>money</KEYWORD1>\r
-                       <!-- KEYWORD1>name</KEYWORD1 -->\r
-                       <KEYWORD1>numeric</KEYWORD1>\r
-                       <KEYWORD1>nchar</KEYWORD1>\r
-                       <KEYWORD1>nvarchar</KEYWORD1>\r
-                       <KEYWORD1>ntext</KEYWORD1>\r
-                       <KEYWORD1>object</KEYWORD1>\r
-                       <KEYWORD1>pls_integer</KEYWORD1>\r
-                       <KEYWORD1>raw</KEYWORD1>\r
-                       <KEYWORD1>real</KEYWORD1>\r
-                       <KEYWORD1>smalldatetime</KEYWORD1>\r
-                       <KEYWORD1>smallint</KEYWORD1>\r
-                       <KEYWORD1>smallmoney</KEYWORD1>\r
-                       <KEYWORD1>sequence</KEYWORD1>\r
-                       <KEYWORD1>text</KEYWORD1>\r
-                       <KEYWORD1>timestamp</KEYWORD1>\r
-                       <KEYWORD1>tinyint</KEYWORD1>\r
-                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
-                       <KEYWORD1>varbinary</KEYWORD1>\r
-                       <KEYWORD1>varchar</KEYWORD1>\r
-                       <KEYWORD1>varchar2</KEYWORD1>\r
-                       <KEYWORD1>varray</KEYWORD1>\r
-                       <KEYWORD1>zoned</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
-                \r
diff --git a/extra/xmode/modes/sqr.xml b/extra/xmode/modes/sqr.xml
deleted file mode 100644 (file)
index 6e28544..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- SQR Mode by Richard F. Ashwell III  -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="!" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Normal comments. -->\r
-               <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>\r
-\r
-               <!-- Literal String --> \r
-               <SPAN TYPE="LABEL" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN> \r
-\r
-               <!-- SQR Replacement String -->                 \r
-               <SPAN TYPE="LABEL" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN> \r
-               \r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">@</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               \r
-               <MARK_FOLLOWING TYPE="LITERAL1">$</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL2">#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="MARKUP">&amp;</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Section KeyWords -->\r
-                       <FUNCTION>begin-procedure</FUNCTION>                     \r
-                       <FUNCTION>end-procedure</FUNCTION>                      \r
-                       <FUNCTION>begin-report</FUNCTION>\r
-                       <FUNCTION>end-report</FUNCTION>\r
-                       <FUNCTION>begin-heading</FUNCTION>\r
-                       <FUNCTION>end-heading</FUNCTION>\r
-                       <FUNCTION>begin-setup</FUNCTION>\r
-                       <FUNCTION>end-setup</FUNCTION>\r
-                       <FUNCTION>begin-footing</FUNCTION>\r
-                       <FUNCTION>end-footing</FUNCTION>\r
-                       <FUNCTION>begin-program</FUNCTION>\r
-                       <FUNCTION>end-program</FUNCTION>\r
-\r
-                       <!-- Block Keywords -->\r
-                       <KEYWORD1>begin-select</KEYWORD1>\r
-                       <KEYWORD1>end-select</KEYWORD1>\r
-                       <KEYWORD1>begin-sql</KEYWORD1>\r
-                       <KEYWORD1>end-sql</KEYWORD1>\r
-                       \r
-                       <!-- SQR Functional Keywords -->\r
-                       <KEYWORD2>add</KEYWORD2> \r
-                       <KEYWORD2>array-add</KEYWORD2> \r
-                       <KEYWORD2>array-divide</KEYWORD2> \r
-                       <KEYWORD2>array-multiply</KEYWORD2> \r
-                       <KEYWORD2>array-subtract</KEYWORD2> \r
-                       <KEYWORD2>ask</KEYWORD2>\r
-                       <KEYWORD2>break</KEYWORD2>\r
-                       <KEYWORD2>call</KEYWORD2> \r
-                       <KEYWORD2>clear-array</KEYWORD2> \r
-                       <KEYWORD2>close</KEYWORD2> \r
-                       <KEYWORD2>columns</KEYWORD2> \r
-                       <KEYWORD2>commit</KEYWORD2> \r
-                       <KEYWORD2>concat</KEYWORD2> \r
-                       <KEYWORD2>connect</KEYWORD2> \r
-                       <KEYWORD2>create-array</KEYWORD2>\r
-                       <KEYWORD2>date-time</KEYWORD2> \r
-                       <KEYWORD2>display</KEYWORD2> \r
-                       <KEYWORD2>divide</KEYWORD2> \r
-                       <KEYWORD2>do</KEYWORD2> \r
-                       <KEYWORD2>dollar-symbol</KEYWORD2>\r
-                       <KEYWORD2>else</KEYWORD2> \r
-                       <KEYWORD2>encode</KEYWORD2> \r
-                       <KEYWORD2>end-evaluate</KEYWORD2> \r
-                       <KEYWORD2>end-if</KEYWORD2> \r
-                       <KEYWORD2>end-while</KEYWORD2> \r
-                       <KEYWORD2>evaluate</KEYWORD2> \r
-                       <KEYWORD2>execute</KEYWORD2> \r
-                       <KEYWORD2>extract</KEYWORD2>\r
-                       <KEYWORD2>find</KEYWORD2> \r
-                       <KEYWORD2>font</KEYWORD2>\r
-                       <KEYWORD2>get</KEYWORD2> \r
-                       <KEYWORD2>goto</KEYWORD2> \r
-                       <KEYWORD2>graphic</KEYWORD2>\r
-                       <KEYWORD2>if</KEYWORD2>\r
-                       <KEYWORD2>last-page</KEYWORD2> \r
-                       <KEYWORD2>let</KEYWORD2> \r
-                       <KEYWORD2>lookup</KEYWORD2> \r
-                       <KEYWORD2>lowercase</KEYWORD2>\r
-                       <KEYWORD2>money-symbol</KEYWORD2> \r
-                       <KEYWORD2>move</KEYWORD2> \r
-                       <KEYWORD2>multiply</KEYWORD2>\r
-                       <KEYWORD2>new-page</KEYWORD2> \r
-                       <KEYWORD2>new-report</KEYWORD2> \r
-                       <KEYWORD2>next-column</KEYWORD2> \r
-                       <KEYWORD2>next-listing</KEYWORD2> \r
-                       <KEYWORD2>no-formfeed</KEYWORD2>\r
-                       <KEYWORD2>open</KEYWORD2>\r
-                       <KEYWORD2>page-number</KEYWORD2> \r
-                       <KEYWORD2>page-size</KEYWORD2> \r
-                       <KEYWORD2>position</KEYWORD2> \r
-                       <KEYWORD2>print</KEYWORD2> \r
-                       <KEYWORD2>print-bar-code</KEYWORD2> \r
-                       <KEYWORD2>print-chart</KEYWORD2> \r
-                       <KEYWORD2>print-direct</KEYWORD2> \r
-                       <KEYWORD2>print-image</KEYWORD2> \r
-                       <KEYWORD2>printer-deinit</KEYWORD2> \r
-                       <KEYWORD2>printer-init</KEYWORD2> \r
-                       <KEYWORD2>put</KEYWORD2>\r
-                       <KEYWORD2>read</KEYWORD2> \r
-                       <KEYWORD2>rollback</KEYWORD2>\r
-                       <KEYWORD2>show</KEYWORD2> \r
-                       <KEYWORD2>stop</KEYWORD2> \r
-                       <KEYWORD2>string</KEYWORD2> \r
-                       <KEYWORD2>subtract</KEYWORD2>\r
-                       <KEYWORD2>unstring</KEYWORD2> \r
-                       <KEYWORD2>uppercase</KEYWORD2> \r
-                       <KEYWORD2>use</KEYWORD2> \r
-                       <KEYWORD2>use-column</KEYWORD2> \r
-                       <KEYWORD2>use-printer-type</KEYWORD2> \r
-                       <KEYWORD2>use-procedure</KEYWORD2> \r
-                       <KEYWORD2>use-report</KEYWORD2> \r
-                       <KEYWORD2>use-report</KEYWORD2>\r
-                       <KEYWORD2>while</KEYWORD2> \r
-                       <KEYWORD2>write</KEYWORD2>\r
-                       <KEYWORD2>to</KEYWORD2>\r
-\r
-                       <!-- SQL Keywords -->\r
-                       <KEYWORD3>from</KEYWORD3>\r
-                       <KEYWORD3>where</KEYWORD3>\r
-                       <KEYWORD3>and</KEYWORD3>\r
-                       <KEYWORD3>between</KEYWORD3>\r
-                       <KEYWORD3>or</KEYWORD3>\r
-                       <KEYWORD3>in</KEYWORD3>\r
-                       \r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/squidconf.xml b/extra/xmode/modes/squidconf.xml
deleted file mode 100644 (file)
index d8d84a6..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Highlighting for squid.conf by Kris Kopicki (29/11/2003). For squid 2.5-stable -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#"/>\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Comment -->\r
-               <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
-               \r
-               <KEYWORDS>\r
-                       <KEYWORD1>http_port</KEYWORD1>\r
-                       <KEYWORD1>https_port</KEYWORD1>\r
-                       <KEYWORD1>ssl_unclean_shutdown</KEYWORD1>\r
-                       <KEYWORD1>icp_port</KEYWORD1>\r
-                       <KEYWORD1>htcp_port</KEYWORD1>\r
-                       <KEYWORD1>mcast_groups</KEYWORD1>\r
-                       <KEYWORD1>udp_incoming_address</KEYWORD1>\r
-                       <KEYWORD1>udp_outgoing_address</KEYWORD1>\r
-                       <KEYWORD1>cache_peer</KEYWORD1>\r
-                       <KEYWORD1>cache_peer_domain</KEYWORD1>\r
-                       <KEYWORD1>neighbor_type_domain</KEYWORD1>\r
-                       <KEYWORD1>icp_query_timeout</KEYWORD1>\r
-                       <KEYWORD1>maximum_icp_query_timeout</KEYWORD1>\r
-                       <KEYWORD1>mcast_icp_query_timeout</KEYWORD1>\r
-                       <KEYWORD1>dead_peer_timeout</KEYWORD1>\r
-                       <KEYWORD1>hierarchy_stoplist</KEYWORD1>\r
-                       <KEYWORD1>no_cache</KEYWORD1>\r
-                       <KEYWORD1>cache_mem</KEYWORD1>\r
-                       <KEYWORD1>cache_swap_low</KEYWORD1>\r
-                       <KEYWORD1>cache_swap_high</KEYWORD1>\r
-                       <KEYWORD1>maximum_object_size</KEYWORD1>\r
-                       <KEYWORD1>minimum_object_size</KEYWORD1>\r
-                       <KEYWORD1>maximum_object_size_in_memory</KEYWORD1>\r
-                       <KEYWORD1>ipcache_size</KEYWORD1>\r
-                       <KEYWORD1>ipcache_low</KEYWORD1>\r
-                       <KEYWORD1>ipcache_high</KEYWORD1>\r
-                       <KEYWORD1>fqdncache_size</KEYWORD1>\r
-                       <KEYWORD1>cache_replacement_policy</KEYWORD1>\r
-                       <KEYWORD1>memory_replacement_policy</KEYWORD1>\r
-                       <KEYWORD1>cache_dir</KEYWORD1>\r
-                       <KEYWORD1>cache_access_log</KEYWORD1>\r
-                       <KEYWORD1>cache_log</KEYWORD1>\r
-                       <KEYWORD1>cache_store_log</KEYWORD1>\r
-                       <KEYWORD1>cache_swap_log</KEYWORD1>\r
-                       <KEYWORD1>emulate_httpd_log</KEYWORD1>\r
-                       <KEYWORD1>log_ip_on_direct</KEYWORD1>\r
-                       <KEYWORD1>mime_table</KEYWORD1>\r
-                       <KEYWORD1>log_mime_hdrs</KEYWORD1>\r
-                       <KEYWORD1>useragent_log</KEYWORD1>\r
-                       <KEYWORD1>referer_log</KEYWORD1>\r
-                       <KEYWORD1>pid_filename</KEYWORD1>\r
-                       <KEYWORD1>debug_options</KEYWORD1>\r
-                       <KEYWORD1>log_fqdn</KEYWORD1>\r
-                       <KEYWORD1>client_netmask</KEYWORD1>\r
-                       <KEYWORD1>ftp_user</KEYWORD1>\r
-                       <KEYWORD1>ftp_list_width</KEYWORD1>\r
-                       <KEYWORD1>ftp_passive</KEYWORD1>\r
-                       <KEYWORD1>ftp_sanitycheck</KEYWORD1>\r
-                       <KEYWORD1>cache_dns_program</KEYWORD1>\r
-                       <KEYWORD1>dns_children</KEYWORD1>\r
-                       <KEYWORD1>dns_retransmit_interval</KEYWORD1>\r
-                       <KEYWORD1>dns_timeout</KEYWORD1>\r
-                       <KEYWORD1>dns_defnames</KEYWORD1>\r
-                       <KEYWORD1>dns_nameservers</KEYWORD1>\r
-                       <KEYWORD1>hosts_file</KEYWORD1>\r
-                       <KEYWORD1>diskd_program</KEYWORD1>\r
-                       <KEYWORD1>unlinkd_program</KEYWORD1>\r
-                       <KEYWORD1>pinger_program</KEYWORD1>\r
-                       <KEYWORD1>redirect_program</KEYWORD1>\r
-                       <KEYWORD1>redirect_children</KEYWORD1>\r
-                       <KEYWORD1>redirect_rewrites_host_header</KEYWORD1>\r
-                       <KEYWORD1>redirector_access</KEYWORD1>\r
-                       <KEYWORD1>auth_param</KEYWORD1>\r
-                       <KEYWORD1>authenticate_cache_garbage_interval</KEYWORD1>\r
-                       <KEYWORD1>authenticate_ttl</KEYWORD1>\r
-                       <KEYWORD1>authenticate_ip_ttl</KEYWORD1>\r
-                       <KEYWORD1>external_acl_type</KEYWORD1>\r
-                       <KEYWORD1>wais_relay_host</KEYWORD1>\r
-                       <KEYWORD1>wais_relay_port</KEYWORD1>\r
-                       <KEYWORD1>request_header_max_size</KEYWORD1>\r
-                       <KEYWORD1>request_body_max_size</KEYWORD1>\r
-                       <KEYWORD1>refresh_pattern</KEYWORD1>\r
-                       <KEYWORD1>quick_abort_min</KEYWORD1>\r
-                       <KEYWORD1>quick_abort_max</KEYWORD1>\r
-                       <KEYWORD1>quick_abort_pct</KEYWORD1>\r
-                       <KEYWORD1>negative_ttl</KEYWORD1>\r
-                       <KEYWORD1>positive_dns_ttl</KEYWORD1>\r
-                       <KEYWORD1>negative_dns_ttl</KEYWORD1>\r
-                       <KEYWORD1>range_offset_limit</KEYWORD1>\r
-                       <KEYWORD1>connect_timeout</KEYWORD1>\r
-                       <KEYWORD1>peer_connect_timeout</KEYWORD1>\r
-                       <KEYWORD1>read_timeout</KEYWORD1>\r
-                       <KEYWORD1>request_timeout</KEYWORD1>\r
-                       <KEYWORD1>persistent_request_timeout</KEYWORD1>\r
-                       <KEYWORD1>client_lifetime</KEYWORD1>\r
-                       <KEYWORD1>half_closed_clients</KEYWORD1>\r
-                       <KEYWORD1>pconn_timeout</KEYWORD1>\r
-                       <KEYWORD1>ident_timeout</KEYWORD1>\r
-                       <KEYWORD1>shutdown_lifetime</KEYWORD1>\r
-                       <KEYWORD1>acl</KEYWORD1>\r
-                       <KEYWORD1>http_access</KEYWORD1>\r
-                       <KEYWORD1>http_reply_access</KEYWORD1>\r
-                       <KEYWORD1>icp_access</KEYWORD1>\r
-                       <KEYWORD1>miss_access</KEYWORD1>\r
-                       <KEYWORD1>cache_peer_access</KEYWORD1>\r
-                       <KEYWORD1>ident_lookup_access</KEYWORD1>\r
-                       <KEYWORD1>tcp_outgoing_tos</KEYWORD1>\r
-                       <KEYWORD1>tcp_outgoing_address</KEYWORD1>\r
-                       <KEYWORD1>reply_body_max_size</KEYWORD1>\r
-                       <KEYWORD1>cache_mgr</KEYWORD1>\r
-                       <KEYWORD1>cache_effective_user</KEYWORD1>\r
-                       <KEYWORD1>cache_effective_group</KEYWORD1>\r
-                       <KEYWORD1>visible_hostname</KEYWORD1>\r
-                       <KEYWORD1>unique_hostname</KEYWORD1>\r
-                       <KEYWORD1>hostname_aliases</KEYWORD1>\r
-                       <KEYWORD1>announce_period</KEYWORD1>\r
-                       <KEYWORD1>announce_host</KEYWORD1>\r
-                       <KEYWORD1>announce_file</KEYWORD1>\r
-                       <KEYWORD1>announce_port</KEYWORD1>\r
-                       <KEYWORD1>httpd_accel_host</KEYWORD1>\r
-                       <KEYWORD1>httpd_accel_port</KEYWORD1>\r
-                       <KEYWORD1>httpd_accel_single_host</KEYWORD1>\r
-                       <KEYWORD1>httpd_accel_with_proxy</KEYWORD1>\r
-                       <KEYWORD1>httpd_accel_uses_host_header</KEYWORD1>\r
-                       <KEYWORD1>dns_testnames</KEYWORD1>\r
-                       <KEYWORD1>logfile_rotate</KEYWORD1>\r
-                       <KEYWORD1>append_domain</KEYWORD1>\r
-                       <KEYWORD1>tcp_recv_bufsize</KEYWORD1>\r
-                       <KEYWORD1>err_html_text</KEYWORD1>\r
-                       <KEYWORD1>deny_info</KEYWORD1>\r
-                       <KEYWORD1>memory_pools</KEYWORD1>\r
-                       <KEYWORD1>memory_pools_limit</KEYWORD1>\r
-                       <KEYWORD1>forwarded_for</KEYWORD1>\r
-                       <KEYWORD1>log_icp_queries</KEYWORD1>\r
-                       <KEYWORD1>icp_hit_stale</KEYWORD1>\r
-                       <KEYWORD1>minimum_direct_hops</KEYWORD1>\r
-                       <KEYWORD1>minimum_direct_rtt</KEYWORD1>\r
-                       <KEYWORD1>cachemgr_passwd</KEYWORD1>\r
-                       <KEYWORD1>store_avg_object_size</KEYWORD1>\r
-                       <KEYWORD1>store_objects_per_bucket</KEYWORD1>\r
-                       <KEYWORD1>client_db</KEYWORD1>\r
-                       <KEYWORD1>netdb_low</KEYWORD1>\r
-                       <KEYWORD1>netdb_high</KEYWORD1>\r
-                       <KEYWORD1>netdb_ping_period</KEYWORD1>\r
-                       <KEYWORD1>query_icmp</KEYWORD1>\r
-                       <KEYWORD1>test_reachability</KEYWORD1>\r
-                       <KEYWORD1>buffered_logs</KEYWORD1>\r
-                       <KEYWORD1>reload_into_ims</KEYWORD1>\r
-                       <KEYWORD1>always_direct</KEYWORD1>\r
-                       <KEYWORD1>never_direct</KEYWORD1>\r
-                       <KEYWORD1>header_access</KEYWORD1>\r
-                       <KEYWORD1>header_replace</KEYWORD1>\r
-                       <KEYWORD1>icon_directory</KEYWORD1>\r
-                       <KEYWORD1>error_directory</KEYWORD1>\r
-                       <KEYWORD1>maximum_single_addr_tries</KEYWORD1>\r
-                       <KEYWORD1>snmp_port</KEYWORD1>\r
-                       <KEYWORD1>snmp_access</KEYWORD1>\r
-                       <KEYWORD1>snmp_incoming_address</KEYWORD1>\r
-                       <KEYWORD1>snmp_outgoing_address</KEYWORD1>\r
-                       <KEYWORD1>as_whois_server</KEYWORD1>\r
-                       <KEYWORD1>wccp_router</KEYWORD1>\r
-                       <KEYWORD1>wccp_version</KEYWORD1>\r
-                       <KEYWORD1>wccp_incoming_address</KEYWORD1>\r
-                       <KEYWORD1>wccp_outgoing_address</KEYWORD1>\r
-                       <KEYWORD1>delay_pools</KEYWORD1>\r
-                       <KEYWORD1>delay_class</KEYWORD1>\r
-                       <KEYWORD1>delay_access</KEYWORD1>\r
-                       <KEYWORD1>delay_parameters</KEYWORD1>\r
-                       <KEYWORD1>delay_initial_bucket_level</KEYWORD1>\r
-                       <KEYWORD1>incoming_icp_average</KEYWORD1>\r
-                       <KEYWORD1>incoming_http_average</KEYWORD1>\r
-                       <KEYWORD1>incoming_dns_average</KEYWORD1>\r
-                       <KEYWORD1>min_icp_poll_cnt</KEYWORD1>\r
-                       <KEYWORD1>min_dns_poll_cnt</KEYWORD1>\r
-                       <KEYWORD1>min_http_poll_cnt</KEYWORD1>\r
-                       <KEYWORD1>max_open_disk_fds</KEYWORD1>\r
-                       <KEYWORD1>offline_mode</KEYWORD1>\r
-                       <KEYWORD1>uri_whitespace</KEYWORD1>\r
-                       <KEYWORD1>broken_posts</KEYWORD1>\r
-                       <KEYWORD1>mcast_miss_addr</KEYWORD1>\r
-                       <KEYWORD1>mcast_miss_ttl</KEYWORD1>\r
-                       <KEYWORD1>mcast_miss_port</KEYWORD1>\r
-                       <KEYWORD1>mcast_miss_encode_key</KEYWORD1>\r
-                       <KEYWORD1>nonhierarchical_direct</KEYWORD1>\r
-                       <KEYWORD1>prefer_direct</KEYWORD1>\r
-                       <KEYWORD1>strip_query_terms</KEYWORD1>\r
-                       <KEYWORD1>coredump_dir</KEYWORD1>\r
-                       <KEYWORD1>redirector_bypass</KEYWORD1>\r
-                       <KEYWORD1>ignore_unknown_nameservers</KEYWORD1>\r
-                       <KEYWORD1>digest_generation</KEYWORD1>\r
-                       <KEYWORD1>digest_bits_per_entry</KEYWORD1>\r
-                       <KEYWORD1>digest_rebuild_period</KEYWORD1>\r
-                       <KEYWORD1>digest_rewrite_period</KEYWORD1>\r
-                       <KEYWORD1>digest_swapout_chunk_size</KEYWORD1>\r
-                       <KEYWORD1>digest_rebuild_chunk_percentage</KEYWORD1>\r
-                       <KEYWORD1>chroot</KEYWORD1>\r
-                       <KEYWORD1>client_persistent_connections</KEYWORD1>\r
-                       <KEYWORD1>server_persistent_connections</KEYWORD1>\r
-                       <KEYWORD1>pipeline_prefetch</KEYWORD1>\r
-                       <KEYWORD1>extension_methods</KEYWORD1>\r
-                       <KEYWORD1>request_entities</KEYWORD1>\r
-                       <KEYWORD1>high_response_time_warning</KEYWORD1>\r
-                       <KEYWORD1>high_page_fault_warning</KEYWORD1>\r
-                       <KEYWORD1>high_memory_warning</KEYWORD1>\r
-                       <KEYWORD1>store_dir_select_algorithm</KEYWORD1>\r
-                       <KEYWORD1>forward_log</KEYWORD1>\r
-                       <KEYWORD1>ie_refresh</KEYWORD1>\r
-                       <KEYWORD1>vary_ignore_expire</KEYWORD1>\r
-                       <KEYWORD1>sleep_after_fork</KEYWORD1>\r
-                       \r
-                       <KEYWORD2>dst</KEYWORD2>\r
-                       <KEYWORD2>src</KEYWORD2>\r
-                       <KEYWORD2>method</KEYWORD2>\r
-                       <KEYWORD2>port</KEYWORD2>\r
-                       <KEYWORD2>proxy_auth</KEYWORD2>\r
-                       \r
-                       <LITERAL2>on</LITERAL2>\r
-                       <LITERAL2>off</LITERAL2>\r
-                       <LITERAL2>allow</LITERAL2>\r
-                       <LITERAL2>deny</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/ssharp.xml b/extra/xmode/modes/ssharp.xml
deleted file mode 100644 (file)
index 019a6fd..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- S# mode, by Barry Carr (Ixian Software Components Ltd)\r
-     based on Marcio Marchini mqm@magma.ca Smalltalk mode -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-        <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="commentStart" VALUE="&quot;" />\r
-               <PROPERTY NAME="commentEnd" VALUE="&quot;" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
-\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
-               <!-- Standard literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-        <EOL_SPAN TYPE="COMMENT3">#</EOL_SPAN>\r
-        <EOL_SPAN TYPE="COMMENT2">""</EOL_SPAN>\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-        <SPAN TYPE="LITERAL2" >\r
-            <BEGIN>«</BEGIN>\r
-            <END>»</END>\r
-        </SPAN>\r
-\r
-        <SEQ TYPE="OPERATOR">(</SEQ>\r
-        <SEQ TYPE="OPERATOR">)</SEQ>\r
-        <SEQ TYPE="OPERATOR">{</SEQ>\r
-        <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">:=</SEQ>\r
-               <SEQ TYPE="OPERATOR">_</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">==</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">//</SEQ>\r
-        <SEQ TYPE="OPERATOR">\\</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">**</SEQ>\r
-        <SEQ TYPE="OPERATOR">#</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">^^</SEQ>\r
-        <SEQ TYPE="OPERATOR">;</SEQ>\r
-        <SEQ TYPE="OPERATOR">.</SEQ>\r
-        <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">||</SEQ>\r
-        <SEQ TYPE="OPERATOR">^|</SEQ>\r
-        <SEQ TYPE="OPERATOR">!=</SEQ>\r
-        <SEQ TYPE="OPERATOR">~=</SEQ>\r
-        <SEQ TYPE="OPERATOR">!==</SEQ>\r
-        <SEQ TYPE="OPERATOR">~~</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="KEYWORD3" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-               <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR">#</MARK_FOLLOWING>\r
-               <MARK_FOLLOWING TYPE="LITERAL1" MATCH_TYPE="OPERATOR">$</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Constants -->\r
-            <KEYWORD1>disable</KEYWORD1>\r
-            <KEYWORD1>enable</KEYWORD1>\r
-            <KEYWORD1>no</KEYWORD1>\r
-            <KEYWORD1>off</KEYWORD1>\r
-            <KEYWORD1>on</KEYWORD1>\r
-                       <KEYWORD1>yes</KEYWORD1>\r
-\r
-                       <!-- Reserved identifiers -->\r
-                       <KEYWORD2>self</KEYWORD2>\r
-                       <KEYWORD2>true</KEYWORD2>\r
-            <KEYWORD2>false</KEYWORD2>\r
-            <KEYWORD2>nil</KEYWORD2>\r
-            <KEYWORD2>super</KEYWORD2>\r
-            <KEYWORD2>thread</KEYWORD2>\r
-            <KEYWORD2>sender</KEYWORD2>\r
-            <KEYWORD2>senderMethod</KEYWORD2>\r
-            <KEYWORD2>blockSelf</KEYWORD2>\r
-            <KEYWORD2>scheduler</KEYWORD2>\r
-            <KEYWORD2>¼</KEYWORD2>\r
-\r
-                       <!-- not really keywords, but a different color works well-->\r
-                       <KEYWORD4>isNil</KEYWORD4>\r
-                       <KEYWORD4>not</KEYWORD4>\r
-\r
-                       <!-- not really -->\r
-                       <LITERAL2>Smalltalk</LITERAL2>\r
-                       <LITERAL2>Transcript</LITERAL2>\r
-\r
-                       <!-- base classes -->\r
-                       <LITERAL2>Date</LITERAL2>\r
-                       <LITERAL2>Time</LITERAL2>\r
-                       <LITERAL2>Boolean</LITERAL2>\r
-                       <LITERAL2>True</LITERAL2>\r
-                       <LITERAL2>False</LITERAL2>\r
-                       <LITERAL2>Character</LITERAL2>\r
-                       <LITERAL2>String</LITERAL2>\r
-                       <LITERAL2>Array</LITERAL2>\r
-                       <LITERAL2>Symbol</LITERAL2>\r
-                       <LITERAL2>Integer</LITERAL2>\r
-                       <LITERAL2>Object</LITERAL2>\r
-\r
-            <LITERAL3>Application</LITERAL3>\r
-            <LITERAL3>Category</LITERAL3>\r
-            <LITERAL3>Class</LITERAL3>\r
-            <LITERAL3>Compiler</LITERAL3>\r
-            <LITERAL3>EntryPoint</LITERAL3>\r
-            <LITERAL3>Enum</LITERAL3>\r
-            <LITERAL3>Eval</LITERAL3>\r
-            <LITERAL3>Exception</LITERAL3>\r
-            <LITERAL3>Function</LITERAL3>\r
-            <LITERAL3>IconResource</LITERAL3>\r
-            <LITERAL3>Interface</LITERAL3>\r
-            <LITERAL3>Literal</LITERAL3>\r
-            <LITERAL3>Namespace</LITERAL3>\r
-            <LITERAL3>Method</LITERAL3>\r
-            <LITERAL3>Mixin</LITERAL3>\r
-            <LITERAL3>Module</LITERAL3>\r
-            <LITERAL3>Project</LITERAL3>\r
-            <LITERAL3>Reference</LITERAL3>\r
-            <LITERAL3>Require</LITERAL3>\r
-            <LITERAL3>Resource</LITERAL3>\r
-            <LITERAL3>Signal</LITERAL3>\r
-            <LITERAL3>Struct</LITERAL3>\r
-            <LITERAL3>Subsystem</LITERAL3>\r
-            <LITERAL3>Specifications</LITERAL3>\r
-            <LITERAL3>Warning</LITERAL3>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/svn-commit.xml b/extra/xmode/modes/svn-commit.xml
deleted file mode 100644 (file)
index 5cd415c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="svn-commit"                FILE="svn-commit.xml"/>\r
--->\r
-\r
-<MODE>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">\r
-               <SEQ TYPE="COMMENT1" \r
-                       DELEGATE="CHANGED" \r
-                       AT_LINE_START="TRUE"\r
-               >--This line, and those below, will be ignored--</SEQ>\r
-       </RULES>\r
-       <RULES SET="CHANGED">\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">A</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">D</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">M</EOL_SPAN>\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT2">_</EOL_SPAN>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/swig.xml b/extra/xmode/modes/swig.xml
deleted file mode 100644 (file)
index ac5a23a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <SPAN TYPE="LITERAL3">\r
-                       <BEGIN>%{</BEGIN>\r
-                       <END>%}</END>\r
-               </SPAN>\r
-\r
-               <!-- swig directive -->\r
-               <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="KEYWORD4">%</MARK_FOLLOWING>\r
-\r
-               <IMPORT DELEGATE="c::MAIN"/>\r
-    </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/tcl.xml b/extra/xmode/modes/tcl.xml
deleted file mode 100644 (file)
index 4927f13..0000000
+++ /dev/null
@@ -1,682 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Tcl mode by Michael Jacobson.\r
-     cplusplus and pascal modes used as reference.\r
-    2006/10/20 Jean-Francois Larvoire: \r
-     - Fixed comments detection: Only # at the beginning of Tcl commands are comments!\r
-     - Quoted strings can span multiple lines.\r
-     - Added recursive in-string substituted command and variable analysis.\r
-     - Added numerous missing tcl keywords and variables up to version 8.4.14.\r
-     - Removed $ on global variable keywords, as they're often used with $::.\r
-     - Added Expect keywords, as KEYWORD2. (send was already in tk as KEYWORD2)\r
-     - Avoid colouring substituted variables that are homonyms of a keyword.\r
-     - Highlight hexadecimal numbers too.\r
-    2006/10/23 Jean-Francois Larvoire:\r
-     - Strings and blocks only begin at word start.\r
-     - Updated {# comment detection to manage the whole {} block. This catches\r
-       all { and }, and makes it unnecessary to define them as KEYWORDs.\r
-     - Bug fix: Do not delegate content evaluation for ${} scalar variables.\r
-    Limitations:\r
-     - Unbalanced quotes or brackets within braces, such as in regular expressions,\r
-       will confuse the analysis. Workaround: If possible, use a \ to escape the\r
-       unbalanced character. Else add a ;# comment with a closing " or ].\r
-    Known bugs:\r
-     - Continuation line detection does not work. Same bug as espace chars below.\r
-     - ; highlighting as an OPERATOR does not work.\r
-    Known bugs (Were there before, and I failed to fix them):\r
-     - \c escape colouring does not work for escapes embedded in words.\r
-           I attemted numerous workarounds using spans and regexps, but they\r
-          all seem to fail to detect anything beginning with a \. And using\r
-          NO_ESCAPE="TRUE" does not help.\r
-     - {} within quoted strings should not affect indentation. -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" \r
-               DIGIT_RE="0x\p{XDigit}+|\d+">\r
-\r
-               <!-- Continuation line. Processed before anything else by Tcl. (Does not work)-->\r
-               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>\r
-\r
-               <!-- Comments after a ; command separator -->\r
-               <!-- Note: The ; isn't bolded as other operators. Why?-->\r
-               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR=";" DELEGATE="TCL_COMMENT">;\s*(?=#)</EOL_SPAN_REGEXP>\r
-               <!-- Comments at the { opening of a block -->\r
-               <SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="{" DELEGATE="TCL_COMMENT">\r
-                       <BEGIN>\{\s*(?=#)</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-               <!-- Comments on a line of their own. -->\r
-               <EOL_SPAN TYPE="COMMENT1" AT_WHITESPACE_END="TRUE">#</EOL_SPAN>\r
-\r
-               <!-- Quoted strings -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="TCL_STRING">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- Avoid colouring substituted variables that are homonyms of a keyword -->\r
-               <!-- Indexed array variable. Delegate to MAIN, as the index string is evaluated by Tcl.-->\r
-               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
-                       <BEGIN>\$(\w|::)+\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-               <!-- General scalar variable. Do not delegate, as the ${} block content is not evalutated by Tcl. -->\r
-               <SPAN TYPE="NULL">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <!-- Plain scalar variable. -->\r
-               <SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>\r
-\r
-               <!-- Sub-block -->\r
-               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="MAIN">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <!-- Sub-commands to be substituted -->\r
-               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Escaped characters -->\r
-               <SEQ TYPE="KEYWORD3">\a</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\b</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\f</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\n</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\r</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\t</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\v</SEQ>\r
-\r
-               <!-- Tcl syntax operators. -->\r
-               <!-- Note that "{}[]" are already caught above.-->\r
-               <!-- Delegate to main, as a new command begins after the ; -->\r
-               <SEQ TYPE="OPERATOR" DELEGATE="MAIN">;</SEQ>\r
-               <SEQ TYPE="NULL">::</SEQ>\r
-\r
-               <!-- Math expression operators -->\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Tcl keywords-->\r
-                       <KEYWORD1>append</KEYWORD1>\r
-                       <KEYWORD1>array</KEYWORD1>\r
-                       <KEYWORD1>concat</KEYWORD1>\r
-                       <KEYWORD1>console</KEYWORD1>\r
-                       <KEYWORD1>eval</KEYWORD1>\r
-                       <KEYWORD1>expr</KEYWORD1>\r
-                       <KEYWORD1>format</KEYWORD1>\r
-                       <KEYWORD1>global</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-                       <KEYWORD1>trace</KEYWORD1>\r
-                       <KEYWORD1>unset</KEYWORD1>\r
-                       <KEYWORD1>upvar</KEYWORD1>\r
-                       <KEYWORD1>join</KEYWORD1>\r
-                       <KEYWORD1>lappend</KEYWORD1>\r
-                       <KEYWORD1>lindex</KEYWORD1>\r
-                       <KEYWORD1>linsert</KEYWORD1>\r
-                       <KEYWORD1>list</KEYWORD1>\r
-                       <KEYWORD1>llength</KEYWORD1>\r
-                       <KEYWORD1>lrange</KEYWORD1>\r
-                       <KEYWORD1>lreplace</KEYWORD1>\r
-                       <KEYWORD1>lsearch</KEYWORD1>\r
-                       <KEYWORD1>lsort</KEYWORD1>\r
-                       <KEYWORD1>split</KEYWORD1>\r
-                       <KEYWORD1>scan</KEYWORD1>\r
-                       <KEYWORD1>string</KEYWORD1>\r
-                       <KEYWORD1>regexp</KEYWORD1>\r
-                       <KEYWORD1>regsub</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>elseif</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>foreach</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>proc</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>source</KEYWORD1>\r
-                       <KEYWORD1>unknown</KEYWORD1>\r
-                       <KEYWORD1>uplevel</KEYWORD1>\r
-                       <KEYWORD1>cd</KEYWORD1>\r
-                       <KEYWORD1>close</KEYWORD1>\r
-                       <KEYWORD1>eof</KEYWORD1>\r
-                       <KEYWORD1>file</KEYWORD1>\r
-                       <KEYWORD1>flush</KEYWORD1>\r
-                       <KEYWORD1>gets</KEYWORD1>\r
-                       <KEYWORD1>glob</KEYWORD1>\r
-                       <KEYWORD1>open</KEYWORD1>\r
-                       <KEYWORD1>read</KEYWORD1>\r
-                       <KEYWORD1>puts</KEYWORD1>\r
-                       <KEYWORD1>pwd</KEYWORD1>\r
-                       <KEYWORD1>seek</KEYWORD1>\r
-                       <KEYWORD1>tell</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>error</KEYWORD1>\r
-                       <KEYWORD1>exec</KEYWORD1>\r
-                       <KEYWORD1>pid</KEYWORD1>\r
-                       <KEYWORD1>after</KEYWORD1>\r
-                       <KEYWORD1>time</KEYWORD1>\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>history</KEYWORD1>\r
-                       <KEYWORD1>rename</KEYWORD1>\r
-                       <KEYWORD1>info</KEYWORD1>\r
-                       <!-- expr keywords-->\r
-                       <KEYWORD1>ceil</KEYWORD1>\r
-                       <KEYWORD1>floor</KEYWORD1>\r
-                       <KEYWORD1>round</KEYWORD1>\r
-                       <KEYWORD1>incr</KEYWORD1>\r
-                       <KEYWORD1>abs</KEYWORD1>\r
-                       <KEYWORD1>acos</KEYWORD1>\r
-                       <KEYWORD1>cos</KEYWORD1>\r
-                       <KEYWORD1>cosh</KEYWORD1>\r
-                       <KEYWORD1>asin</KEYWORD1>\r
-                       <KEYWORD1>sin</KEYWORD1>\r
-                       <KEYWORD1>sinh</KEYWORD1>\r
-                       <KEYWORD1>atan</KEYWORD1>\r
-                       <KEYWORD1>atan2</KEYWORD1>\r
-                       <KEYWORD1>tan</KEYWORD1>\r
-                       <KEYWORD1>tanh</KEYWORD1>\r
-                       <KEYWORD1>log</KEYWORD1>\r
-                       <KEYWORD1>log10</KEYWORD1>\r
-                       <KEYWORD1>fmod</KEYWORD1>\r
-                       <KEYWORD1>pow</KEYWORD1>\r
-                       <KEYWORD1>hypot</KEYWORD1>\r
-                       <KEYWORD1>sqrt</KEYWORD1>\r
-                       <KEYWORD1>double</KEYWORD1>\r
-                       <KEYWORD1>int</KEYWORD1>\r
-                       <!-- New Tcl keywords up to tcl 8.4.14 -->\r
-                       <KEYWORD1>bgerror</KEYWORD1>\r
-                       <KEYWORD1>binary</KEYWORD1>\r
-                       <KEYWORD1>clock</KEYWORD1>\r
-                       <KEYWORD1>dde</KEYWORD1>\r
-                       <KEYWORD1>encoding</KEYWORD1>\r
-                       <KEYWORD1>fblocked</KEYWORD1>\r
-                       <KEYWORD1>fconfigure</KEYWORD1>\r
-                       <KEYWORD1>fcopy</KEYWORD1>\r
-                       <KEYWORD1>fileevent</KEYWORD1>\r
-                       <KEYWORD1>filename</KEYWORD1>\r
-                       <KEYWORD1>http</KEYWORD1>\r
-                       <KEYWORD1>interp</KEYWORD1>\r
-                       <KEYWORD1>load</KEYWORD1>\r
-                       <KEYWORD1>lset</KEYWORD1>\r
-                       <KEYWORD1>memory</KEYWORD1>\r
-                       <KEYWORD1>msgcat</KEYWORD1>\r
-                       <KEYWORD1>namespace</KEYWORD1>\r
-                       <KEYWORD1>package</KEYWORD1>\r
-                       <KEYWORD1>pkg::create</KEYWORD1>\r
-                       <KEYWORD1>pkg_mkIndex</KEYWORD1>\r
-                       <KEYWORD1>registry</KEYWORD1>\r
-                       <KEYWORD1>resource</KEYWORD1>\r
-                       <KEYWORD1>socket</KEYWORD1>\r
-                       <KEYWORD1>subst</KEYWORD1>\r
-                       <KEYWORD1>update</KEYWORD1>\r
-                       <KEYWORD1>variable</KEYWORD1>\r
-                       <KEYWORD1>vwait</KEYWORD1>\r
-                       <!-- Standard library of Tcl interpretor procedures -->\r
-                       <KEYWORD1>auto_execok</KEYWORD1>\r
-                       <KEYWORD1>auto_import</KEYWORD1>\r
-                       <KEYWORD1>auto_load</KEYWORD1>\r
-                       <KEYWORD1>auto_mkindex</KEYWORD1>\r
-                       <KEYWORD1>auto_mkindex_old</KEYWORD1>\r
-                       <KEYWORD1>auto_qualify</KEYWORD1>\r
-                       <KEYWORD1>auto_reset</KEYWORD1>\r
-                       <KEYWORD1>parray</KEYWORD1>\r
-                       <KEYWORD1>tcl_endOfWord</KEYWORD1>\r
-                       <KEYWORD1>tcl_findLibrary</KEYWORD1>\r
-                       <KEYWORD1>tcl_startOfNextWord</KEYWORD1>\r
-                       <KEYWORD1>tcl_startOfPreviousWord</KEYWORD1>\r
-                       <KEYWORD1>tcl_wordBreakAfter</KEYWORD1>\r
-                       <KEYWORD1>tcl_wordBreakBefore</KEYWORD1>\r
-\r
-                       <!-- Tk keywords -->\r
-                       <KEYWORD2>bind</KEYWORD2>\r
-                       <KEYWORD2>button</KEYWORD2>\r
-                       <KEYWORD2>canvas</KEYWORD2>\r
-                       <KEYWORD2>checkbutton</KEYWORD2>\r
-                       <KEYWORD2>destroy</KEYWORD2>\r
-                       <KEYWORD2>entry</KEYWORD2>\r
-                       <KEYWORD2>focus</KEYWORD2>\r
-                       <KEYWORD2>frame</KEYWORD2>\r
-                       <KEYWORD2>grab</KEYWORD2>\r
-                       <KEYWORD2>image</KEYWORD2>\r
-                       <KEYWORD2>label</KEYWORD2>\r
-                       <KEYWORD2>listbox</KEYWORD2>\r
-                       <KEYWORD2>lower</KEYWORD2>\r
-                       <KEYWORD2>menu</KEYWORD2>\r
-                       <KEYWORD2>menubutton</KEYWORD2>\r
-                       <KEYWORD2>message</KEYWORD2>\r
-                       <KEYWORD2>option</KEYWORD2>\r
-                       <KEYWORD2>pack</KEYWORD2>\r
-                       <KEYWORD2>placer</KEYWORD2>\r
-                       <KEYWORD2>radiobutton</KEYWORD2>\r
-                       <KEYWORD2>raise</KEYWORD2>\r
-                       <KEYWORD2>scale</KEYWORD2>\r
-                       <KEYWORD2>scrollbar</KEYWORD2>\r
-                       <KEYWORD2>selection</KEYWORD2>\r
-                       <KEYWORD2>send</KEYWORD2>\r
-                       <KEYWORD2>text</KEYWORD2>\r
-                       <KEYWORD2>tk</KEYWORD2>\r
-                       <KEYWORD2>tkerror</KEYWORD2>\r
-                       <KEYWORD2>tkwait</KEYWORD2>\r
-                       <KEYWORD2>toplevel</KEYWORD2>\r
-                       <KEYWORD2>update</KEYWORD2>\r
-                       <KEYWORD2>winfo</KEYWORD2>\r
-                       <KEYWORD2>wm</KEYWORD2>\r
-\r
-                       <!-- Expect keywords. Using KEYWORD2 as send is already one -->\r
-                       <!-- KEYWORD2 close -->\r
-                       <KEYWORD2>debug</KEYWORD2>\r
-                       <KEYWORD2>disconnect</KEYWORD2>\r
-                       <!-- KEYWORD2 exit -->\r
-                       <KEYWORD2>exp_continue</KEYWORD2>\r
-                       <KEYWORD2>exp_internal</KEYWORD2>\r
-                       <KEYWORD2>exp_open</KEYWORD2>\r
-                       <KEYWORD2>exp_pid</KEYWORD2>\r
-                       <KEYWORD2>exp_version</KEYWORD2>\r
-                       <KEYWORD2>expect</KEYWORD2>\r
-                       <KEYWORD2>expect_after</KEYWORD2>\r
-                       <KEYWORD2>expect_background</KEYWORD2>\r
-                       <KEYWORD2>expect_before</KEYWORD2>\r
-                       <KEYWORD2>expect_tty</KEYWORD2>\r
-                       <KEYWORD2>expect_user</KEYWORD2>\r
-                       <KEYWORD2>fork</KEYWORD2>\r
-                       <KEYWORD2>inter_return</KEYWORD2>\r
-                       <KEYWORD2>interact</KEYWORD2>\r
-                       <KEYWORD2>interpreter</KEYWORD2>\r
-                       <KEYWORD2>log_file</KEYWORD2>\r
-                       <KEYWORD2>log_user</KEYWORD2>\r
-                       <KEYWORD2>match_max</KEYWORD2>\r
-                       <KEYWORD2>overlay</KEYWORD2>\r
-                       <KEYWORD2>parity</KEYWORD2>\r
-                       <KEYWORD2>promptl</KEYWORD2>\r
-                       <KEYWORD2>prompt2</KEYWORD2>\r
-                       <KEYWORD2>remove_nulls</KEYWORD2>\r
-                       <!-- KEYWORD2 send -->\r
-                       <KEYWORD2>send_error </KEYWORD2>\r
-                       <KEYWORD2>send_log</KEYWORD2>\r
-                       <KEYWORD2>send_tty</KEYWORD2>\r
-                       <KEYWORD2>send_user</KEYWORD2>\r
-                       <KEYWORD2>sleep</KEYWORD2>\r
-                       <KEYWORD2>spawn</KEYWORD2>\r
-                       <KEYWORD2>strace</KEYWORD2>\r
-                       <KEYWORD2>stty</KEYWORD2>\r
-                       <KEYWORD2>system</KEYWORD2>\r
-                       <KEYWORD2>timestamp</KEYWORD2>\r
-                       <KEYWORD2>trap</KEYWORD2>\r
-                       <KEYWORD2>wait</KEYWORD2>\r
-                       <!-- Arguments to expect commands-->\r
-                       <KEYWORD3>full_buffer</KEYWORD3>\r
-                       <KEYWORD3>timeout</KEYWORD3>\r
-                       <!-- KEYWORD3 eof-->\r
-\r
-                       <!-- Global variables-->\r
-                       <KEYWORD3>argv0</KEYWORD3>\r
-                       <KEYWORD3>argv</KEYWORD3>\r
-                       <KEYWORD3>argc</KEYWORD3>\r
-                       <KEYWORD3>tk_version</KEYWORD3>\r
-                       <KEYWORD3>tk_library</KEYWORD3>\r
-                       <KEYWORD3>tk_strictMotif</KEYWORD3>\r
-                       <!-- New global variables up to tcl 8.4.14 -->\r
-                       <KEYWORD3>env</KEYWORD3>\r
-                       <KEYWORD3>errorCode</KEYWORD3>\r
-                       <KEYWORD3>errorInfo</KEYWORD3>\r
-                       <KEYWORD3>geometry</KEYWORD3>\r
-                       <KEYWORD3>tcl_library</KEYWORD3>\r
-                       <KEYWORD3>tcl_patchLevel</KEYWORD3>\r
-                       <KEYWORD3>tcl_pkgPath</KEYWORD3>\r
-                       <KEYWORD3>tcl_platform</KEYWORD3>\r
-                       <KEYWORD3>tcl_precision</KEYWORD3>\r
-                       <KEYWORD3>tcl_rcFileName</KEYWORD3>\r
-                       <KEYWORD3>tcl_rcRsrcName</KEYWORD3>\r
-                       <KEYWORD3>tcl_traceCompile</KEYWORD3>\r
-                       <KEYWORD3>tcl_traceExec</KEYWORD3>\r
-                       <KEYWORD3>tcl_wordchars</KEYWORD3>\r
-                       <KEYWORD3>tcl_nonwordchars</KEYWORD3>\r
-                       <KEYWORD3>tcl_version</KEYWORD3>\r
-                       <KEYWORD3>tcl_interactive</KEYWORD3>\r
-\r
-                       <!-- Common arguments to tcl and Tk keywords -->\r
-                       <KEYWORD3>exact</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-                       <KEYWORD3>indices</KEYWORD3>\r
-                       <KEYWORD3>nocase</KEYWORD3>\r
-                       <KEYWORD3>nocomplain</KEYWORD3>\r
-                       <KEYWORD3>nonewline</KEYWORD3>\r
-                       <KEYWORD3>code</KEYWORD3>\r
-                       <KEYWORD3>errorinfo</KEYWORD3>\r
-                       <KEYWORD3>errorcode</KEYWORD3>\r
-                       <KEYWORD3>atime</KEYWORD3>\r
-                       <KEYWORD3>anymore</KEYWORD3>\r
-                       <KEYWORD3>args</KEYWORD3>\r
-                       <KEYWORD3>body</KEYWORD3>\r
-                       <KEYWORD3>compare</KEYWORD3>\r
-                       <KEYWORD3>cmdcount</KEYWORD3>\r
-                       <KEYWORD3>commands</KEYWORD3>\r
-                       <KEYWORD3>ctime</KEYWORD3>\r
-                       <KEYWORD3>current</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>dev</KEYWORD3>\r
-                       <KEYWORD3>dirname</KEYWORD3>\r
-                       <KEYWORD3>donesearch</KEYWORD3>\r
-                       <KEYWORD3>errorinfo</KEYWORD3>\r
-                       <KEYWORD3>executable</KEYWORD3>\r
-                       <KEYWORD3>extension</KEYWORD3>\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>globals</KEYWORD3>\r
-                       <KEYWORD3>gid</KEYWORD3>\r
-                       <KEYWORD3>index</KEYWORD3>\r
-                       <KEYWORD3>ino</KEYWORD3>\r
-                       <KEYWORD3>isdirectory</KEYWORD3>\r
-                       <KEYWORD3>isfile</KEYWORD3>\r
-                       <KEYWORD3>keep</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>level</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>library</KEYWORD3>\r
-                       <KEYWORD3>locals</KEYWORD3>\r
-                       <KEYWORD3>lstat</KEYWORD3>\r
-                       <KEYWORD3>match</KEYWORD3>\r
-                       <KEYWORD3>mode</KEYWORD3>\r
-                       <KEYWORD3>mtime</KEYWORD3>\r
-                       <KEYWORD3>names</KEYWORD3>\r
-                       <KEYWORD3>nextelement</KEYWORD3>\r
-                       <KEYWORD3>nextid</KEYWORD3>\r
-                       <KEYWORD3>nlink</KEYWORD3>\r
-                       <KEYWORD3>none</KEYWORD3>\r
-                       <KEYWORD3>procs</KEYWORD3>\r
-                       <KEYWORD3>owned</KEYWORD3>\r
-                       <KEYWORD3>range</KEYWORD3>\r
-                       <KEYWORD3>readable</KEYWORD3>\r
-                       <KEYWORD3>readlink</KEYWORD3>\r
-                       <KEYWORD3>redo</KEYWORD3>\r
-                       <KEYWORD3>release</KEYWORD3>\r
-                       <KEYWORD3>rootname</KEYWORD3>\r
-                       <KEYWORD3>script</KEYWORD3>\r
-                       <KEYWORD3>show</KEYWORD3>\r
-                       <KEYWORD3>size</KEYWORD3>\r
-                       <KEYWORD3>startsearch</KEYWORD3>\r
-                       <KEYWORD3>stat</KEYWORD3>\r
-                       <KEYWORD3>status</KEYWORD3>\r
-                       <KEYWORD3>substitute</KEYWORD3>\r
-                       <KEYWORD3>tail</KEYWORD3>\r
-                       <KEYWORD3>tclversion</KEYWORD3>\r
-                       <KEYWORD3>tolower</KEYWORD3>\r
-                       <KEYWORD3>toupper</KEYWORD3>\r
-                       <KEYWORD3>trim</KEYWORD3>\r
-                       <KEYWORD3>trimleft</KEYWORD3>\r
-                       <KEYWORD3>trimright</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>uid</KEYWORD3>\r
-                       <KEYWORD3>variable</KEYWORD3>\r
-                       <KEYWORD3>vars</KEYWORD3>\r
-                       <KEYWORD3>vdelete</KEYWORD3>\r
-                       <KEYWORD3>vinfo</KEYWORD3>\r
-                       <KEYWORD3>visibility</KEYWORD3>\r
-                       <KEYWORD3>window</KEYWORD3>\r
-                       <KEYWORD3>writable</KEYWORD3>\r
-                       <KEYWORD3>accelerator</KEYWORD3>\r
-                       <KEYWORD3>activeforeground</KEYWORD3>\r
-                       <KEYWORD3>activebackground</KEYWORD3>\r
-                       <KEYWORD3>anchor</KEYWORD3>\r
-                       <KEYWORD3>aspect</KEYWORD3>\r
-                       <KEYWORD3>background</KEYWORD3>\r
-                       <KEYWORD3>before</KEYWORD3>\r
-                       <KEYWORD3>bg</KEYWORD3>\r
-                       <KEYWORD3>borderwidth</KEYWORD3>\r
-                       <KEYWORD3>bd</KEYWORD3>\r
-                       <KEYWORD3>bitmap</KEYWORD3>\r
-                       <KEYWORD3>command</KEYWORD3>\r
-                       <KEYWORD3>cursor</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-                       <KEYWORD3>expand</KEYWORD3>\r
-                       <KEYWORD3>family</KEYWORD3>\r
-                       <KEYWORD3>fg</KEYWORD3>\r
-                       <KEYWORD3>fill</KEYWORD3>\r
-                       <KEYWORD3>font</KEYWORD3>\r
-                       <KEYWORD3>force</KEYWORD3>\r
-                       <KEYWORD3>foreground</KEYWORD3>\r
-                       <KEYWORD3>from</KEYWORD3>\r
-                       <KEYWORD3>height</KEYWORD3>\r
-                       <KEYWORD3>icon</KEYWORD3>\r
-                       <KEYWORD3>question</KEYWORD3>\r
-                       <KEYWORD3>warning</KEYWORD3>\r
-                       <KEYWORD3>in</KEYWORD3>\r
-                       <KEYWORD3>ipadx</KEYWORD3>\r
-                       <KEYWORD3>ipady</KEYWORD3>\r
-                       <KEYWORD3>justify</KEYWORD3>\r
-                       <KEYWORD3>left</KEYWORD3>\r
-                       <KEYWORD3>center</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>padx</KEYWORD3>\r
-                       <KEYWORD3>pady</KEYWORD3>\r
-                       <KEYWORD3>offvalue</KEYWORD3>\r
-                       <KEYWORD3>onvalue</KEYWORD3>\r
-                       <KEYWORD3>orient</KEYWORD3>\r
-                       <KEYWORD3>horizontal</KEYWORD3>\r
-                       <KEYWORD3>vertical</KEYWORD3>\r
-                       <KEYWORD3>outline</KEYWORD3>\r
-                       <KEYWORD3>oversrike</KEYWORD3>\r
-                       <KEYWORD3>relief</KEYWORD3>\r
-                       <KEYWORD3>raised</KEYWORD3>\r
-                       <KEYWORD3>sunken</KEYWORD3>\r
-                       <KEYWORD3>flat</KEYWORD3>\r
-                       <KEYWORD3>groove</KEYWORD3>\r
-                       <KEYWORD3>ridge</KEYWORD3>\r
-                       <KEYWORD3>solid</KEYWORD3>\r
-                       <KEYWORD3>screen</KEYWORD3>\r
-                       <KEYWORD3>selectbackground</KEYWORD3>\r
-                       <KEYWORD3>selectforeground</KEYWORD3>\r
-                       <KEYWORD3>setgrid</KEYWORD3>\r
-                       <KEYWORD3>side</KEYWORD3>\r
-                       <KEYWORD3>size</KEYWORD3>\r
-                       <KEYWORD3>slant</KEYWORD3>\r
-                       <KEYWORD3>left</KEYWORD3>\r
-                       <KEYWORD3>right</KEYWORD3>\r
-                       <KEYWORD3>top</KEYWORD3>\r
-                       <KEYWORD3>bottom</KEYWORD3>\r
-                       <KEYWORD3>spacing1</KEYWORD3>\r
-                       <KEYWORD3>spacing2</KEYWORD3>\r
-                       <KEYWORD3>spacing3</KEYWORD3>\r
-                       <KEYWORD3>state</KEYWORD3>\r
-                       <KEYWORD3>stipple</KEYWORD3>\r
-                       <KEYWORD3>takefocus</KEYWORD3>\r
-                       <KEYWORD3>tearoff</KEYWORD3>\r
-                       <KEYWORD3>textvariable</KEYWORD3>\r
-                       <KEYWORD3>title</KEYWORD3>\r
-                       <KEYWORD3>to</KEYWORD3>\r
-                       <KEYWORD3>type</KEYWORD3>\r
-                       <KEYWORD3>abortretryignore</KEYWORD3>\r
-                       <KEYWORD3>ok</KEYWORD3>\r
-                       <KEYWORD3>okcancel</KEYWORD3>\r
-                       <KEYWORD3>retrycancel</KEYWORD3>\r
-                       <KEYWORD3>yesno</KEYWORD3>\r
-                       <KEYWORD3>yesnocancel</KEYWORD3>\r
-                       <KEYWORD3>underline</KEYWORD3>\r
-                       <KEYWORD3>value</KEYWORD3>\r
-                       <KEYWORD3>variable</KEYWORD3>\r
-                       <KEYWORD3>weight</KEYWORD3>\r
-                       <KEYWORD3>width</KEYWORD3>\r
-                       <KEYWORD3>xscrollcommand</KEYWORD3>\r
-                       <KEYWORD3>yscrollcommand</KEYWORD3>\r
-                       <KEYWORD3>active</KEYWORD3>\r
-                       <KEYWORD3>add</KEYWORD3>\r
-                       <KEYWORD3>arc</KEYWORD3>\r
-                       <KEYWORD3>aspect</KEYWORD3>\r
-                       <KEYWORD3>bitmap</KEYWORD3>\r
-                       <KEYWORD3>cascade</KEYWORD3>\r
-                       <KEYWORD3>cget</KEYWORD3>\r
-                       <KEYWORD3>children</KEYWORD3>\r
-                       <KEYWORD3>class</KEYWORD3>\r
-                       <KEYWORD3>clear</KEYWORD3>\r
-                       <KEYWORD3>client</KEYWORD3>\r
-                       <KEYWORD3>create</KEYWORD3>\r
-                       <KEYWORD3>colormodel</KEYWORD3>\r
-                       <KEYWORD3>command</KEYWORD3>\r
-                       <KEYWORD3>configure</KEYWORD3>\r
-                       <KEYWORD3>deiconify</KEYWORD3>\r
-                       <KEYWORD3>delete</KEYWORD3>\r
-                       <KEYWORD3>disabled</KEYWORD3>\r
-                       <KEYWORD3>exists</KEYWORD3>\r
-                       <KEYWORD3>focusmodel</KEYWORD3>\r
-                       <KEYWORD3>flash</KEYWORD3>\r
-                       <KEYWORD3>forget</KEYWORD3>\r
-                       <KEYWORD3>geometry</KEYWORD3>\r
-                       <KEYWORD3>get</KEYWORD3>\r
-                       <KEYWORD3>group</KEYWORD3>\r
-                       <KEYWORD3>handle</KEYWORD3>\r
-                       <KEYWORD3>iconbitmap</KEYWORD3>\r
-                       <KEYWORD3>iconify</KEYWORD3>\r
-                       <KEYWORD3>iconmask</KEYWORD3>\r
-                       <KEYWORD3>iconname</KEYWORD3>\r
-                       <KEYWORD3>iconposition</KEYWORD3>\r
-                       <KEYWORD3>iconwindow</KEYWORD3>\r
-                       <KEYWORD3>idletasks</KEYWORD3>\r
-                       <KEYWORD3>insert</KEYWORD3>\r
-                       <KEYWORD3>interps</KEYWORD3>\r
-                       <KEYWORD3>itemconfigure</KEYWORD3>\r
-                       <KEYWORD3>invoke</KEYWORD3>\r
-                       <KEYWORD3>line</KEYWORD3>\r
-                       <KEYWORD3>mark</KEYWORD3>\r
-                       <KEYWORD3>maxsize</KEYWORD3>\r
-                       <KEYWORD3>minsize</KEYWORD3>\r
-                       <KEYWORD3>move</KEYWORD3>\r
-                       <KEYWORD3>name</KEYWORD3>\r
-                       <KEYWORD3>normal</KEYWORD3>\r
-                       <KEYWORD3>overrideredirect</KEYWORD3>\r
-                       <KEYWORD3>oval</KEYWORD3>\r
-                       <KEYWORD3>own</KEYWORD3>\r
-                       <KEYWORD3>photo</KEYWORD3>\r
-                       <KEYWORD3>polygon</KEYWORD3>\r
-                       <KEYWORD3>positionfrom</KEYWORD3>\r
-                       <KEYWORD3>propagate</KEYWORD3>\r
-                       <KEYWORD3>protocol</KEYWORD3>\r
-                       <KEYWORD3>ranges</KEYWORD3>\r
-                       <KEYWORD3>rectangle</KEYWORD3>\r
-                       <KEYWORD3>remove</KEYWORD3>\r
-                       <KEYWORD3>resizable</KEYWORD3>\r
-                       <KEYWORD3>separator</KEYWORD3>\r
-                       <KEYWORD3>slaves</KEYWORD3>\r
-                       <KEYWORD3>sizefrom</KEYWORD3>\r
-                       <KEYWORD3>state</KEYWORD3>\r
-                       <KEYWORD3>tag</KEYWORD3>\r
-                       <KEYWORD3>title</KEYWORD3>\r
-                       <KEYWORD3>transient</KEYWORD3>\r
-                       <KEYWORD3>window</KEYWORD3>\r
-                       <KEYWORD3>withdraw</KEYWORD3>\r
-                       <KEYWORD3>xview</KEYWORD3>\r
-                       <KEYWORD3>yview</KEYWORD3>\r
-                       <KEYWORD3>Activate</KEYWORD3>\r
-                       <KEYWORD3>Alt</KEYWORD3>\r
-                       <KEYWORD3>Any</KEYWORD3>\r
-                       <KEYWORD3>B1</KEYWORD3>\r
-                       <KEYWORD3>B2</KEYWORD3>\r
-                       <KEYWORD3>B3</KEYWORD3>\r
-                       <KEYWORD3>Button1</KEYWORD3>\r
-                       <KEYWORD3>Button2</KEYWORD3>\r
-                       <KEYWORD3>Button3</KEYWORD3>\r
-                       <KEYWORD3>ButtonPress</KEYWORD3>\r
-                       <KEYWORD3>ButtonRelease</KEYWORD3>\r
-                       <KEYWORD3>Double</KEYWORD3>\r
-                       <KEYWORD3>Circulate</KEYWORD3>\r
-                       <KEYWORD3>Colormap</KEYWORD3>\r
-                       <KEYWORD3>Configure</KEYWORD3>\r
-                       <KEYWORD3>Control</KEYWORD3>\r
-                       <KEYWORD3>Deactivate</KEYWORD3>\r
-                       <KEYWORD3>Escape</KEYWORD3>\r
-                       <KEYWORD3>Expose</KEYWORD3>\r
-                       <KEYWORD3>FocusIn</KEYWORD3>\r
-                       <KEYWORD3>FocusOut</KEYWORD3>\r
-                       <KEYWORD3>Gravity</KEYWORD3>\r
-                       <KEYWORD3>Key</KEYWORD3>\r
-                       <KEYWORD3>KeyPress</KEYWORD3>\r
-                       <KEYWORD3>KeyRelease</KEYWORD3>\r
-                       <KEYWORD3>Lock</KEYWORD3>\r
-                       <KEYWORD3>Meta</KEYWORD3>\r
-                       <KEYWORD3>Property</KEYWORD3>\r
-                       <KEYWORD3>Reparent</KEYWORD3>\r
-                       <KEYWORD3>Shift</KEYWORD3>\r
-                       <KEYWORD3>Unmap</KEYWORD3>\r
-                       <KEYWORD3>Visibility</KEYWORD3>\r
-                       <KEYWORD3>Button</KEYWORD3>\r
-                       <KEYWORD3>ButtonPress</KEYWORD3>\r
-                       <KEYWORD3>ButtonRelease</KEYWORD3>\r
-                       <KEYWORD3>Destroy</KEYWORD3>\r
-                       <KEYWORD3>Escape</KEYWORD3>\r
-                       <KEYWORD3>Enter</KEYWORD3>\r
-                       <KEYWORD3>Leave</KEYWORD3>\r
-                       <KEYWORD3>Motion</KEYWORD3>\r
-                       <KEYWORD3>MenuSelect</KEYWORD3>\r
-                       <KEYWORD3>Triple</KEYWORD3>\r
-                       <KEYWORD3>all</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="TCL_COMMENT" DEFAULT="OPERATOR">\r
-               <!-- Allows catching blocks starting with a comment.\r
-                   or comments following a ; -->\r
-               <SEQ_REGEXP TYPE="COMMENT1" HASH_CHAR="#" DELEGATE="MAIN">#.*</SEQ_REGEXP>\r
-       </RULES>\r
-\r
-       <RULES SET="TCL_STRING" DEFAULT="LITERAL1">\r
-               <PROPS>\r
-                       <PROPERTY NAME="indentOpenBrackets" VALUE="" />\r
-                       <PROPERTY NAME="indentCloseBrackets" VALUE="" />\r
-               </PROPS>\r
-\r
-               <!-- Continuation line. Processed before anything else by Tcl.-->\r
-               <EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>\r
-\r
-               <!-- Avoid colouring variables substituted inside strings -->\r
-               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
-                       <BEGIN>\$(\w|::)+\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-               <SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">\r
-                       <BEGIN>\$\{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN_REGEXP>\r
-               <SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>\r
-\r
-               <!-- Sub-commands to be substituted -->\r
-               <SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Escaped characters -->\r
-               <SEQ TYPE="KEYWORD3">\a</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\b</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\f</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\n</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\r</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\t</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\v</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/tex.xml b/extra/xmode/modes/tex.xml
deleted file mode 100644 (file)
index c59bfa8..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="%" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE="{}" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE">\r
-               <!-- $$...$$ -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
-                       <BEGIN>$$</BEGIN>\r
-                       <END>$$</END>\r
-               </SPAN>\r
-\r
-               <!-- $...$ -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
-                       <BEGIN>$</BEGIN>\r
-                       <END>$</END>\r
-               </SPAN>\r
-\r
-               <!-- \[...\] (LaTeX math mode) -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
-                       <BEGIN>\[</BEGIN>\r
-                       <END>\]</END>\r
-               </SPAN>\r
-\r
-               <!-- some commands must be handled specially -->\r
-               <SEQ TYPE="KEYWORD1">\$</SEQ>\r
-               <SEQ TYPE="KEYWORD1">\\</SEQ>\r
-               <SEQ TYPE="KEYWORD1">\%</SEQ>\r
-\r
-               <!-- \iffalse ... \fi - a block comment -->\r
-                <SPAN TYPE="COMMENT1">\r
-                        <BEGIN>\iffalse</BEGIN>\r
-                        <END>\fi</END>\r
-                </SPAN>\r
-\r
-               <!-- \begin{verbatim} ... \end{verbatim} -->\r
-                <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM">\r
-                        <BEGIN>\begin{verbatim}</BEGIN>\r
-                        <END>\end{verbatim}</END>\r
-                </SPAN>\r
-\r
-               <!-- \verb|sometext| -->\r
-               <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM"\r
-                       NO_LINE_BREAK="TRUE">\r
-                        <BEGIN>\verb|</BEGIN>\r
-                        <END>|</END>\r
-                </SPAN>\r
-               <!-- \... commands -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD1">\</MARK_FOLLOWING>\r
-\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-\r
-               <!-- word separators -->\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="MATH" DEFAULT="MARKUP">\r
-               <!-- some commands must be handled specially -->\r
-               <SEQ TYPE="KEYWORD3">\$</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\\</SEQ>\r
-               <SEQ TYPE="KEYWORD3">\%</SEQ>\r
-\r
-               <!-- \... commands -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD3">\</MARK_FOLLOWING>\r
-\r
-               <!-- word separators -->\r
-               <SEQ TYPE="KEYWORD2">)</SEQ>\r
-               <SEQ TYPE="KEYWORD2">(</SEQ>\r
-               <SEQ TYPE="KEYWORD2">{</SEQ>\r
-               <SEQ TYPE="KEYWORD2">}</SEQ>\r
-               <SEQ TYPE="KEYWORD2">[</SEQ>\r
-               <SEQ TYPE="KEYWORD2">]</SEQ>\r
-               <SEQ TYPE="KEYWORD2">=</SEQ>\r
-               <SEQ TYPE="KEYWORD2">!</SEQ>\r
-               <SEQ TYPE="KEYWORD2">+</SEQ>\r
-               <SEQ TYPE="KEYWORD2">-</SEQ>\r
-               <SEQ TYPE="KEYWORD2">/</SEQ>\r
-               <SEQ TYPE="KEYWORD2">*</SEQ>\r
-               <SEQ TYPE="KEYWORD2">&gt;</SEQ>\r
-               <SEQ TYPE="KEYWORD2">&lt;</SEQ>\r
-               <SEQ TYPE="KEYWORD2">&amp;</SEQ>\r
-               <SEQ TYPE="KEYWORD2">|</SEQ>\r
-               <SEQ TYPE="KEYWORD2">^</SEQ>\r
-               <SEQ TYPE="KEYWORD2">~</SEQ>\r
-               <SEQ TYPE="KEYWORD2">.</SEQ>\r
-               <SEQ TYPE="KEYWORD2">,</SEQ>\r
-               <SEQ TYPE="KEYWORD2">;</SEQ>\r
-               <SEQ TYPE="KEYWORD2">?</SEQ>\r
-               <SEQ TYPE="KEYWORD2">:</SEQ>\r
-               <SEQ TYPE="KEYWORD2">'</SEQ>\r
-               <SEQ TYPE="KEYWORD2">"</SEQ>\r
-               <SEQ TYPE="KEYWORD2">`</SEQ>\r
-\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="VERBATIM" DEFAULT="NULL" />\r
-</MODE>\r
diff --git a/extra/xmode/modes/texinfo.xml b/extra/xmode/modes/texinfo.xml
deleted file mode 100644 (file)
index 32ce589..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="@c" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- comments -->\r
-               <EOL_SPAN TYPE="COMMENT1">@c </EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">@comment </EOL_SPAN>\r
-\r
-               <!-- @... commands -->\r
-               <MARK_FOLLOWING TYPE="KEYWORD1">@</MARK_FOLLOWING>\r
-\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/text.xml b/extra/xmode/modes/text.xml
deleted file mode 100644 (file)
index fe66537..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- The most complicated edit mode ever, for plain text mode -->\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <RULES>\r
-               <TERMINATE AT_CHAR="0" />\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/tpl.xml b/extra/xmode/modes/tpl.xml
deleted file mode 100644 (file)
index 9b215f6..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-       Tpl mode by Brant Gurganus <brantgurganus2001@cherokeescouting.org>\r
-    Adapted from ColdFusion\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               \r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT3">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-               \r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-        \r
-        <!-- TPL markup start tags -->\r
-               <SPAN TYPE="KEYWORD3" DELEGATE="TPL">\r
-                       <BEGIN>{</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-       </RULES>\r
-    \r
-    <RULES SET="TPL" DEFAULT="KEYWORD1" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-       \r
-               <SPAN TYPE="LABEL">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LABEL">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               \r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               \r
-               <KEYWORDS>\r
-                       <KEYWORD1>include</KEYWORD1>\r
-            <OPERATOR>=</OPERATOR>\r
-            <KEYWORD2>START</KEYWORD2>\r
-            <KEYWORD2>END</KEYWORD2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-    \r
-    <RULES SET="TAGS" DEFAULT="MARKUP" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/tsql.xml b/extra/xmode/modes/tsql.xml
deleted file mode 100644 (file)
index ad4d151..0000000
+++ /dev/null
@@ -1,1013 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <MARK_PREVIOUS TYPE="FUNCTION"\r
-                       MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">!&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">::</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <MARK_FOLLOWING TYPE="LITERAL2">@</MARK_FOLLOWING>\r
-\r
-               <KEYWORDS>\r
-                       <!-- reserved words -->\r
-                       <KEYWORD1>ABSOLUTE</KEYWORD1>\r
-                       <KEYWORD1>ADD</KEYWORD1>\r
-                       <KEYWORD1>ALTER</KEYWORD1>\r
-                       <KEYWORD1>ANSI_NULLS</KEYWORD1>\r
-                       <KEYWORD1>AS</KEYWORD1>\r
-                       <KEYWORD1>ASC</KEYWORD1>\r
-                       <KEYWORD1>AUTHORIZATION</KEYWORD1>\r
-                       <KEYWORD1>BACKUP</KEYWORD1>\r
-                       <KEYWORD1>BEGIN</KEYWORD1>\r
-                       <KEYWORD1>BREAK</KEYWORD1>\r
-                       <KEYWORD1>BROWSE</KEYWORD1>\r
-                       <KEYWORD1>BULK</KEYWORD1>\r
-                       <KEYWORD1>BY</KEYWORD1>\r
-                       <KEYWORD1>CASCADE</KEYWORD1>\r
-                       <KEYWORD1>CHECK</KEYWORD1>\r
-                       <KEYWORD1>CHECKPOINT</KEYWORD1>\r
-                       <KEYWORD1>CLOSE</KEYWORD1>\r
-                       <KEYWORD1>CLUSTERED</KEYWORD1>\r
-                       <KEYWORD1>COLUMN</KEYWORD1>\r
-                       <KEYWORD1>COMMIT</KEYWORD1>\r
-                       <KEYWORD1>COMMITTED</KEYWORD1>\r
-                       <KEYWORD1>COMPUTE</KEYWORD1>\r
-                       <KEYWORD1>CONFIRM</KEYWORD1>\r
-                       <KEYWORD1>CONSTRAINT</KEYWORD1>\r
-                       <KEYWORD1>CONTAINS</KEYWORD1>\r
-                       <KEYWORD1>CONTAINSTABLE</KEYWORD1>\r
-                       <KEYWORD1>CONTINUE</KEYWORD1>\r
-                       <KEYWORD1>CONTROLROW</KEYWORD1>\r
-                       <KEYWORD1>CREATE</KEYWORD1>\r
-                       <KEYWORD1>CURRENT</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_DATE</KEYWORD1>\r
-                       <KEYWORD1>CURRENT_TIME</KEYWORD1>\r
-                       <KEYWORD1>CURSOR</KEYWORD1>\r
-                       <KEYWORD1>DATABASE</KEYWORD1>\r
-                       <KEYWORD1>DBCC</KEYWORD1>\r
-                       <KEYWORD1>DEALLOCATE</KEYWORD1>\r
-                       <KEYWORD1>DECLARE</KEYWORD1>\r
-                       <KEYWORD1>DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>DELETE</KEYWORD1>\r
-                       <KEYWORD1>DENY</KEYWORD1>\r
-                       <KEYWORD1>DESC</KEYWORD1>\r
-                       <KEYWORD1>DISK</KEYWORD1>\r
-                       <KEYWORD1>DISTINCT</KEYWORD1>\r
-                       <KEYWORD1>DISTRIBUTED</KEYWORD1>\r
-                       <KEYWORD1>DOUBLE</KEYWORD1>\r
-                       <KEYWORD1>DROP</KEYWORD1>\r
-                       <KEYWORD1>DUMMY</KEYWORD1>\r
-                       <KEYWORD1>DUMP</KEYWORD1>\r
-                       <KEYWORD1>DYNAMIC</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>ERRLVL</KEYWORD1>\r
-                       <KEYWORD1>ERROREXIT</KEYWORD1>\r
-                       <KEYWORD1>ESCAPE</KEYWORD1>\r
-                       <KEYWORD1>EXCEPT</KEYWORD1>\r
-                       <KEYWORD1>EXEC</KEYWORD1>\r
-                       <KEYWORD1>EXECUTE</KEYWORD1>\r
-                       <KEYWORD1>EXIT</KEYWORD1>\r
-                       <KEYWORD1>FAST_FORWARD</KEYWORD1>\r
-                       <KEYWORD1>FETCH</KEYWORD1>\r
-                       <KEYWORD1>FILE</KEYWORD1>\r
-                       <KEYWORD1>FILLFACTOR</KEYWORD1>\r
-                       <KEYWORD1>FIRST</KEYWORD1>\r
-                       <KEYWORD1>FLOPPY</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>FOREIGN</KEYWORD1>\r
-                       <KEYWORD1>FORWARD_ONLY</KEYWORD1>\r
-                       <KEYWORD1>FREETEXT</KEYWORD1>\r
-                       <KEYWORD1>FREETEXTTABLE</KEYWORD1>\r
-                       <KEYWORD1>FROM</KEYWORD1>\r
-                       <KEYWORD1>FULL</KEYWORD1>\r
-                       <KEYWORD1>FUNCTION</KEYWORD1>\r
-                       <KEYWORD1>GLOBAL</KEYWORD1>\r
-                       <KEYWORD1>GOTO</KEYWORD1>\r
-                       <KEYWORD1>GRANT</KEYWORD1>\r
-                       <KEYWORD1>GROUP</KEYWORD1>\r
-                       <KEYWORD1>HAVING</KEYWORD1>\r
-                       <KEYWORD1>HOLDLOCK</KEYWORD1>\r
-                       <KEYWORD1>ID</KEYWORD1>\r
-                       <KEYWORD1>IDENTITYCOL</KEYWORD1>\r
-                       <KEYWORD1>IDENTITY_INSERT</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>INDEX</KEYWORD1>\r
-                       <KEYWORD1>INNER</KEYWORD1>\r
-                       <KEYWORD1>INSENSITIVE</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>INTO</KEYWORD1>\r
-                       <KEYWORD1>IS</KEYWORD1>\r
-                       <KEYWORD1>ISOLATION</KEYWORD1>\r
-                       <KEYWORD1>KEY</KEYWORD1>\r
-                       <KEYWORD1>KEYSET</KEYWORD1>\r
-                       <KEYWORD1>KILL</KEYWORD1>\r
-                       <KEYWORD1>LAST</KEYWORD1>\r
-                       <KEYWORD1>LEVEL</KEYWORD1>\r
-                       <KEYWORD1>LINENO</KEYWORD1>\r
-                       <KEYWORD1>LOAD</KEYWORD1>\r
-                       <KEYWORD1>LOCAL</KEYWORD1>\r
-                       <KEYWORD1>MAX</KEYWORD1>\r
-                       <KEYWORD1>MIN</KEYWORD1>\r
-                       <KEYWORD1>MIRROREXIT</KEYWORD1>\r
-                       <KEYWORD1>NATIONAL</KEYWORD1>\r
-                       <KEYWORD1>NEXT</KEYWORD1>\r
-                       <KEYWORD1>NOCHECK</KEYWORD1>\r
-                       <KEYWORD1>NONCLUSTERED</KEYWORD1>\r
-                       <KEYWORD1>OF</KEYWORD1>\r
-                       <KEYWORD1>OFF</KEYWORD1>\r
-                       <KEYWORD1>OFFSETS</KEYWORD1>\r
-                       <KEYWORD1>ON</KEYWORD1>\r
-                       <KEYWORD1>ONCE</KEYWORD1>\r
-                       <KEYWORD1>ONLY</KEYWORD1>\r
-                       <KEYWORD1>OPEN</KEYWORD1>\r
-                       <KEYWORD1>OPENDATASOURCE</KEYWORD1>\r
-                       <KEYWORD1>OPENQUERY</KEYWORD1>\r
-                       <KEYWORD1>OPENROWSET</KEYWORD1>\r
-                       <KEYWORD1>OPTIMISTIC</KEYWORD1>\r
-                       <KEYWORD1>OPTION</KEYWORD1>\r
-                       <KEYWORD1>ORDER</KEYWORD1>\r
-                       <KEYWORD1>OUTPUT</KEYWORD1>\r
-                       <KEYWORD1>OVER</KEYWORD1>\r
-                       <KEYWORD1>PERCENT</KEYWORD1>\r
-                       <KEYWORD1>PERM</KEYWORD1>\r
-                       <KEYWORD1>PERMANENT</KEYWORD1>\r
-                       <KEYWORD1>PIPE</KEYWORD1>\r
-                       <KEYWORD1>PLAN</KEYWORD1>\r
-                       <KEYWORD1>PRECISION</KEYWORD1>\r
-                       <KEYWORD1>PREPARE</KEYWORD1>\r
-                       <KEYWORD1>PRIMARY</KEYWORD1>\r
-                       <KEYWORD1>PRINT</KEYWORD1>\r
-                       <KEYWORD1>PRIOR</KEYWORD1>\r
-                       <KEYWORD1>PRIVILEGES</KEYWORD1>\r
-                       <KEYWORD1>PROC</KEYWORD1>\r
-                       <KEYWORD1>PROCEDURE</KEYWORD1>\r
-                       <KEYWORD1>PROCESSEXIT</KEYWORD1>\r
-                       <KEYWORD1>PUBLIC</KEYWORD1>\r
-                       <KEYWORD1>QUOTED_IDENTIFIER</KEYWORD1>\r
-                       <KEYWORD1>RAISERROR</KEYWORD1>\r
-                       <KEYWORD1>READ</KEYWORD1>\r
-                       <KEYWORD1>READTEXT</KEYWORD1>\r
-                       <KEYWORD1>READ_ONLY</KEYWORD1>\r
-                       <KEYWORD1>RECONFIGURE</KEYWORD1>\r
-                       <KEYWORD1>REFERENCES</KEYWORD1>\r
-                       <KEYWORD1>RELATIVE</KEYWORD1>\r
-                       <KEYWORD1>REPEATABLE</KEYWORD1>\r
-                       <KEYWORD1>REPLICATION</KEYWORD1>\r
-                       <KEYWORD1>RESTORE</KEYWORD1>\r
-                       <KEYWORD1>RESTRICT</KEYWORD1>\r
-                       <KEYWORD1>RETURN</KEYWORD1>\r
-                       <KEYWORD1>RETURNS</KEYWORD1>\r
-                       <KEYWORD1>REVOKE</KEYWORD1>\r
-                       <KEYWORD1>ROLLBACK</KEYWORD1>\r
-                       <KEYWORD1>ROWGUIDCOL</KEYWORD1>\r
-                       <KEYWORD1>RULE</KEYWORD1>\r
-                       <KEYWORD1>SAVE</KEYWORD1>\r
-                       <KEYWORD1>SCHEMA</KEYWORD1>\r
-                       <KEYWORD1>SCROLL</KEYWORD1>\r
-                       <KEYWORD1>SCROLL_LOCKS</KEYWORD1>\r
-                       <KEYWORD1>SELECT</KEYWORD1>\r
-                       <KEYWORD1>SERIALIZABLE</KEYWORD1>\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>SETUSER</KEYWORD1>\r
-                       <KEYWORD1>SHUTDOWN</KEYWORD1>\r
-                       <KEYWORD1>STATIC</KEYWORD1>\r
-                       <KEYWORD1>STATISTICS</KEYWORD1>\r
-                       <KEYWORD1>TABLE</KEYWORD1>\r
-                       <KEYWORD1>TAPE</KEYWORD1>\r
-                       <KEYWORD1>TEMP</KEYWORD1>\r
-                       <KEYWORD1>TEMPORARY</KEYWORD1>\r
-                       <KEYWORD1>TEXTIMAGE_ON</KEYWORD1>\r
-                       <KEYWORD1>THEN</KEYWORD1>\r
-                       <KEYWORD1>TO</KEYWORD1>\r
-                       <KEYWORD1>TOP</KEYWORD1>\r
-                       <KEYWORD1>TRAN</KEYWORD1>\r
-                       <KEYWORD1>TRANSACTION</KEYWORD1>\r
-                       <KEYWORD1>TRIGGER</KEYWORD1>\r
-                       <KEYWORD1>TRUNCATE</KEYWORD1>\r
-                       <KEYWORD1>TSEQUAL</KEYWORD1>\r
-                       <KEYWORD1>UNCOMMITTED</KEYWORD1>\r
-                       <KEYWORD1>UNION</KEYWORD1>\r
-                       <KEYWORD1>UNIQUE</KEYWORD1>\r
-                       <KEYWORD1>UPDATE</KEYWORD1>\r
-                       <KEYWORD1>UPDATETEXT</KEYWORD1>\r
-                       <KEYWORD1>USE</KEYWORD1>\r
-                       <KEYWORD1>VALUES</KEYWORD1>\r
-                       <KEYWORD1>VARYING</KEYWORD1>\r
-                       <KEYWORD1>VIEW</KEYWORD1>\r
-                       <KEYWORD1>WAITFOR</KEYWORD1>\r
-                       <KEYWORD1>WHEN</KEYWORD1>\r
-                       <KEYWORD1>WHERE</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>WITH</KEYWORD1>\r
-                       <KEYWORD1>WORK</KEYWORD1>\r
-                       <KEYWORD1>WRITETEXT</KEYWORD1>\r
-\r
-                       <!-- data types -->\r
-                       <KEYWORD1>binary</KEYWORD1>\r
-                       <KEYWORD1>bit</KEYWORD1>\r
-                       <KEYWORD1>char</KEYWORD1>\r
-                       <KEYWORD1>character</KEYWORD1>\r
-                       <KEYWORD1>datetime</KEYWORD1>\r
-                       <KEYWORD1>decimal</KEYWORD1>\r
-                       <KEYWORD1>float</KEYWORD1>\r
-                       <KEYWORD1>image</KEYWORD1>\r
-                       <KEYWORD1>int</KEYWORD1>\r
-                       <KEYWORD1>integer</KEYWORD1>\r
-                       <KEYWORD1>money</KEYWORD1>\r
-                       <KEYWORD1>name</KEYWORD1>\r
-                       <KEYWORD1>numeric</KEYWORD1>\r
-                       <KEYWORD1>nchar</KEYWORD1>\r
-                       <KEYWORD1>nvarchar</KEYWORD1>\r
-                       <KEYWORD1>ntext</KEYWORD1>\r
-                       <KEYWORD1>real</KEYWORD1>\r
-                       <KEYWORD1>smalldatetime</KEYWORD1>\r
-                       <KEYWORD1>smallint</KEYWORD1>\r
-                       <KEYWORD1>smallmoney</KEYWORD1>\r
-                       <KEYWORD1>text</KEYWORD1>\r
-                       <KEYWORD1>timestamp</KEYWORD1>\r
-                       <KEYWORD1>tinyint</KEYWORD1>\r
-                       <KEYWORD1>uniqueidentifier</KEYWORD1>\r
-                       <KEYWORD1>varbinary</KEYWORD1>\r
-                       <KEYWORD1>varchar</KEYWORD1>\r
-\r
-                       <!-- system functions -->\r
-                       <KEYWORD2>@@CONNECTIONS</KEYWORD2>\r
-                       <KEYWORD2>@@CPU_BUSY</KEYWORD2>\r
-                       <KEYWORD2>@@CURSOR_ROWS</KEYWORD2>\r
-                       <KEYWORD2>@@DATEFIRST</KEYWORD2>\r
-                       <KEYWORD2>@@DBTS</KEYWORD2>\r
-                       <KEYWORD2>@@ERROR</KEYWORD2>\r
-                       <KEYWORD2>@@FETCH_STATUS</KEYWORD2>\r
-                       <KEYWORD2>@@IDENTITY</KEYWORD2>\r
-                       <KEYWORD2>@@IDLE</KEYWORD2>\r
-                       <KEYWORD2>@@IO_BUSY</KEYWORD2>\r
-                       <KEYWORD2>@@LANGID</KEYWORD2>\r
-                       <KEYWORD2>@@LANGUAGE</KEYWORD2>\r
-                       <KEYWORD2>@@LOCK_TIMEOUT</KEYWORD2>\r
-                       <KEYWORD2>@@MAX_CONNECTIONS</KEYWORD2>\r
-                       <KEYWORD2>@@MAX_PRECISION</KEYWORD2>\r
-                       <KEYWORD2>@@NESTLEVEL</KEYWORD2>\r
-                       <KEYWORD2>@@OPTIONS</KEYWORD2>\r
-                       <KEYWORD2>@@PACKET_ERRORS</KEYWORD2>\r
-                       <KEYWORD2>@@PACK_RECEIVED</KEYWORD2>\r
-                       <KEYWORD2>@@PACK_SENT</KEYWORD2>\r
-                       <KEYWORD2>@@PROCID</KEYWORD2>\r
-                       <KEYWORD2>@@REMSERVER</KEYWORD2>\r
-                       <KEYWORD2>@@ROWCOUNT</KEYWORD2>\r
-                       <KEYWORD2>@@SERVERNAME</KEYWORD2>\r
-                       <KEYWORD2>@@SERVICENAME</KEYWORD2>\r
-                       <KEYWORD2>@@SPID</KEYWORD2>\r
-                       <KEYWORD2>@@TEXTSIZE</KEYWORD2>\r
-                       <KEYWORD2>@@TIMETICKS</KEYWORD2>\r
-                       <KEYWORD2>@@TOTAL_ERRORS</KEYWORD2>\r
-                       <KEYWORD2>@@TOTAL_READ</KEYWORD2>\r
-                       <KEYWORD2>@@TOTAL_WRITE</KEYWORD2>\r
-                       <KEYWORD2>@@TRANCOUNT</KEYWORD2>\r
-                       <KEYWORD2>@@VERSION</KEYWORD2>\r
-                       <KEYWORD2>ABS</KEYWORD2>\r
-                       <KEYWORD2>ACOS</KEYWORD2>\r
-                       <KEYWORD2>APP_NAME</KEYWORD2>\r
-                       <KEYWORD2>ASCII</KEYWORD2>\r
-                       <KEYWORD2>ASIN</KEYWORD2>\r
-                       <KEYWORD2>ATAN</KEYWORD2>\r
-                       <KEYWORD2>ATN2</KEYWORD2>\r
-                       <KEYWORD2>AVG</KEYWORD2>\r
-                       <KEYWORD2>BINARY_CHECKSUM</KEYWORD2>\r
-                       <KEYWORD2>CASE</KEYWORD2>\r
-                       <KEYWORD2>CAST</KEYWORD2>\r
-                       <KEYWORD2>CEILING</KEYWORD2>\r
-                       <KEYWORD2>CHARINDEX</KEYWORD2>\r
-                       <KEYWORD2>CHECKSUM</KEYWORD2>\r
-                       <KEYWORD2>CHECKSUM_AGG</KEYWORD2>\r
-                       <KEYWORD2>COALESCE</KEYWORD2>\r
-                       <KEYWORD2>COLLATIONPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>COLUMNPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>COL_LENGTH</KEYWORD2>\r
-                       <KEYWORD2>COL_NAME</KEYWORD2>\r
-                       <KEYWORD2>CONVERT</KEYWORD2>\r
-                       <KEYWORD2>COS</KEYWORD2>\r
-                       <KEYWORD2>COT</KEYWORD2>\r
-                       <KEYWORD2>COUNT</KEYWORD2>\r
-                       <KEYWORD2>COUNT_BIG</KEYWORD2>\r
-                       <KEYWORD2>CURRENT_DATE</KEYWORD2>\r
-                       <KEYWORD2>CURRENT_TIME</KEYWORD2>\r
-                       <KEYWORD2>CURRENT_TIMESTAMP</KEYWORD2>\r
-                       <KEYWORD2>CURRENT_USER</KEYWORD2>\r
-                       <KEYWORD2>CURSOR_STATUS</KEYWORD2>\r
-                       <KEYWORD2>DATABASEPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>DATALENGTH</KEYWORD2>\r
-                       <KEYWORD2>DATEADD</KEYWORD2>\r
-                       <KEYWORD2>DATEDIFF</KEYWORD2>\r
-                       <KEYWORD2>DATENAME</KEYWORD2>\r
-                       <KEYWORD2>DATEPART</KEYWORD2>\r
-                       <KEYWORD2>DAY</KEYWORD2>\r
-                       <KEYWORD2>DB_ID</KEYWORD2>\r
-                       <KEYWORD2>DB_NAME</KEYWORD2>\r
-                       <KEYWORD2>DEGREES</KEYWORD2>\r
-                       <KEYWORD2>DIFFERENCE</KEYWORD2>\r
-                       <KEYWORD2>EXP</KEYWORD2>\r
-                       <KEYWORD2>FILEGROUPPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>FILEGROUP_ID</KEYWORD2>\r
-                       <KEYWORD2>FILEGROUP_NAME</KEYWORD2>\r
-                       <KEYWORD2>FILEPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>FILE_ID</KEYWORD2>\r
-                       <KEYWORD2>FILE_NAME</KEYWORD2>\r
-                       <KEYWORD2>FLOOR</KEYWORD2>\r
-                       <KEYWORD2>FORMATMESSAGE</KEYWORD2>\r
-                       <KEYWORD2>FULLTEXTCATALOGPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>FULLTEXTSERVICEPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>GETANSINULL</KEYWORD2>\r
-                       <KEYWORD2>GETDATE</KEYWORD2>\r
-                       <KEYWORD2>GETUTCDATE</KEYWORD2>\r
-                       <KEYWORD2>GROUPING</KEYWORD2>\r
-                       <KEYWORD2>HOST_ID</KEYWORD2>\r
-                       <KEYWORD2>HOST_NAME</KEYWORD2>\r
-                       <KEYWORD2>IDENTITY</KEYWORD2>\r
-                       <KEYWORD2>IDENTITY_INSERT</KEYWORD2>\r
-                       <KEYWORD2>IDENT_CURRENT</KEYWORD2>\r
-                       <KEYWORD2>IDENT_INCR</KEYWORD2>\r
-                       <KEYWORD2>IDENT_SEED</KEYWORD2>\r
-                       <KEYWORD2>INDEXPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>INDEX_COL</KEYWORD2>\r
-                       <KEYWORD2>ISDATE</KEYWORD2>\r
-                       <KEYWORD2>ISNULL</KEYWORD2>\r
-                       <KEYWORD2>ISNUMERIC</KEYWORD2>\r
-                       <KEYWORD2>IS_MEMBER</KEYWORD2>\r
-                       <KEYWORD2>IS_SRVROLEMEMBER</KEYWORD2>\r
-                       <KEYWORD2>LEFT</KEYWORD2>\r
-                       <KEYWORD2>LEN</KEYWORD2>\r
-                       <KEYWORD2>LOG10</KEYWORD2>\r
-                       <KEYWORD2>LOG</KEYWORD2>\r
-                       <KEYWORD2>LOWER</KEYWORD2>\r
-                       <KEYWORD2>LTRIM</KEYWORD2>\r
-                       <KEYWORD2>MONTH</KEYWORD2>\r
-                       <KEYWORD2>NEWID</KEYWORD2>\r
-                       <KEYWORD2>NULLIF</KEYWORD2>\r
-                       <KEYWORD2>OBJECTPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>OBJECT_ID</KEYWORD2>\r
-                       <KEYWORD2>OBJECT_NAME</KEYWORD2>\r
-                       <KEYWORD2>PARSENAME</KEYWORD2>\r
-                       <KEYWORD2>PATINDEX</KEYWORD2>\r
-                       <KEYWORD2>PERMISSIONS</KEYWORD2>\r
-                       <KEYWORD2>PI</KEYWORD2>\r
-                       <KEYWORD2>POWER</KEYWORD2>\r
-                       <KEYWORD2>QUOTENAME</KEYWORD2>\r
-                       <KEYWORD2>RADIANS</KEYWORD2>\r
-                       <KEYWORD2>RAND</KEYWORD2>\r
-                       <KEYWORD2>REPLACE</KEYWORD2>\r
-                       <KEYWORD2>REPLICATE</KEYWORD2>\r
-                       <KEYWORD2>REVERSE</KEYWORD2>\r
-                       <KEYWORD2>RIGHT</KEYWORD2>\r
-                       <KEYWORD2>ROUND</KEYWORD2>\r
-                       <KEYWORD2>ROWCOUNT_BIG</KEYWORD2>\r
-                       <KEYWORD2>RTRIM</KEYWORD2>\r
-                       <KEYWORD2>SCOPE_IDENTITY</KEYWORD2>\r
-                       <KEYWORD2>SERVERPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>SESSIONPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>SESSION_USER</KEYWORD2>\r
-                       <KEYWORD2>SIGN</KEYWORD2>\r
-                       <KEYWORD2>SIN</KEYWORD2>\r
-                       <KEYWORD2>SOUNDEX</KEYWORD2>\r
-                       <KEYWORD2>SPACE</KEYWORD2>\r
-                       <KEYWORD2>SQRT</KEYWORD2>\r
-                       <KEYWORD2>SQUARE</KEYWORD2>\r
-                       <KEYWORD2>STATS_DATE</KEYWORD2>\r
-                       <KEYWORD2>STDEV</KEYWORD2>\r
-                       <KEYWORD2>STDEVP</KEYWORD2>\r
-                       <KEYWORD2>STR</KEYWORD2>\r
-                       <KEYWORD2>STUFF</KEYWORD2>\r
-                       <KEYWORD2>SUBSTRING</KEYWORD2>\r
-                       <KEYWORD2>SUM</KEYWORD2>\r
-                       <KEYWORD2>SUSER_ID</KEYWORD2>\r
-                       <KEYWORD2>SUSER_NAME</KEYWORD2>\r
-                       <KEYWORD2>SUSER_SID</KEYWORD2>\r
-                       <KEYWORD2>SUSER_SNAME</KEYWORD2>\r
-                       <KEYWORD2>SYSTEM_USER</KEYWORD2>\r
-                       <KEYWORD2>TAN</KEYWORD2>\r
-                       <KEYWORD2>TEXTPTR</KEYWORD2>\r
-                       <KEYWORD2>TEXTVALID</KEYWORD2>\r
-                       <KEYWORD2>TYPEPROPERTY</KEYWORD2>\r
-                       <KEYWORD2>UNICODE</KEYWORD2>\r
-                       <KEYWORD2>UPPER</KEYWORD2>\r
-                       <KEYWORD2>USER</KEYWORD2>\r
-                       <KEYWORD2>USER_ID</KEYWORD2>\r
-                       <KEYWORD2>USER_NAME</KEYWORD2>\r
-                       <KEYWORD2>VAR</KEYWORD2>\r
-                       <KEYWORD2>VARP</KEYWORD2>\r
-                       <KEYWORD2>YEAR</KEYWORD2>\r
-\r
-                       <!-- operators -->\r
-                       <KEYWORD1>ALL</KEYWORD1>\r
-                       <KEYWORD1>AND</KEYWORD1>\r
-                       <KEYWORD1>ANY</KEYWORD1>\r
-                       <KEYWORD1>BETWEEN</KEYWORD1>\r
-                       <KEYWORD1>CROSS</KEYWORD1>\r
-                       <KEYWORD1>EXISTS</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>INTERSECT</KEYWORD1>\r
-                       <KEYWORD1>JOIN</KEYWORD1>\r
-                       <KEYWORD1>LIKE</KEYWORD1>\r
-                       <KEYWORD1>NOT</KEYWORD1>\r
-                       <KEYWORD1>NULL</KEYWORD1>\r
-                       <KEYWORD1>OR</KEYWORD1>\r
-                       <KEYWORD1>OUTER</KEYWORD1>\r
-                       <KEYWORD1>SOME</KEYWORD1>\r
-\r
-                       <!-- SQL Server 7.0 system stored procedures -->\r
-                       <KEYWORD3>sp_add_agent_parameter</KEYWORD3>\r
-                       <KEYWORD3>sp_add_agent_profile</KEYWORD3>\r
-                       <KEYWORD3>sp_add_alert</KEYWORD3>\r
-                       <KEYWORD3>sp_add_category</KEYWORD3>\r
-                       <KEYWORD3>sp_add_data_file_recover_suspect_db</KEYWORD3>\r
-                       <KEYWORD3>sp_add_job</KEYWORD3>\r
-                       <KEYWORD3>sp_add_jobschedule</KEYWORD3>\r
-                       <KEYWORD3>sp_add_jobserver</KEYWORD3>\r
-                       <KEYWORD3>sp_add_jobstep</KEYWORD3>\r
-                       <KEYWORD3>sp_add_log_file_recover_suspect_db</KEYWORD3>\r
-                       <KEYWORD3>sp_add_notification</KEYWORD3>\r
-                       <KEYWORD3>sp_add_operator</KEYWORD3>\r
-                       <KEYWORD3>sp_add_targetservergroup</KEYWORD3>\r
-                       <KEYWORD3>sp_add_targetsvrgrp_member</KEYWORD3>\r
-                       <KEYWORD3>sp_addalias</KEYWORD3>\r
-                       <KEYWORD3>sp_addapprole</KEYWORD3>\r
-                       <KEYWORD3>sp_addarticle</KEYWORD3>\r
-                       <KEYWORD3>sp_adddistpublisher</KEYWORD3>\r
-                       <KEYWORD3>sp_adddistributiondb</KEYWORD3>\r
-                       <KEYWORD3>sp_adddistributor</KEYWORD3>\r
-                       <KEYWORD3>sp_addextendedproc</KEYWORD3>\r
-                       <KEYWORD3>sp_addgroup</KEYWORD3>\r
-                       <KEYWORD3>sp_addlinkedserver</KEYWORD3>\r
-                       <KEYWORD3>sp_addlinkedsrvlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_addlinkedsrvlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_addlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergearticle</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergefilter</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergepublication</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergepullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergepullsubscription_agent</KEYWORD3>\r
-                       <KEYWORD3>sp_addmergesubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_addmessage</KEYWORD3>\r
-                       <KEYWORD3>sp_addpublication</KEYWORD3>\r
-                       <KEYWORD3>sp_addpublication_snapshot</KEYWORD3>\r
-                       <KEYWORD3>sp_addpublisher70</KEYWORD3>\r
-                       <KEYWORD3>sp_addpullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_addpullsubscription_agent</KEYWORD3>\r
-                       <KEYWORD3>sp_addremotelogin</KEYWORD3>\r
-                       <KEYWORD3>sp_addrole</KEYWORD3>\r
-                       <KEYWORD3>sp_addrolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_addserver</KEYWORD3>\r
-                       <KEYWORD3>sp_addsrvrolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_addsubscriber</KEYWORD3>\r
-                       <KEYWORD3>sp_addsubscriber_schedule</KEYWORD3>\r
-                       <KEYWORD3>sp_addsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_addsynctriggers</KEYWORD3>\r
-                       <KEYWORD3>sp_addtabletocontents</KEYWORD3>\r
-                       <KEYWORD3>sp_addtask</KEYWORD3>\r
-                       <KEYWORD3>sp_addtype</KEYWORD3>\r
-                       <KEYWORD3>sp_addumpdevice</KEYWORD3>\r
-                       <KEYWORD3>sp_adduser</KEYWORD3>\r
-                       <KEYWORD3>sp_altermessage</KEYWORD3>\r
-                       <KEYWORD3>sp_apply_job_to_targets</KEYWORD3>\r
-                       <KEYWORD3>sp_approlepassword</KEYWORD3>\r
-                       <KEYWORD3>sp_article_validation</KEYWORD3>\r
-                       <KEYWORD3>sp_articlecolumn</KEYWORD3>\r
-                       <KEYWORD3>sp_articlefilter</KEYWORD3>\r
-                       <KEYWORD3>sp_articlesynctranprocs</KEYWORD3>\r
-                       <KEYWORD3>sp_articleview</KEYWORD3>\r
-                       <KEYWORD3>sp_attach_db</KEYWORD3>\r
-                       <KEYWORD3>sp_attach_single_file_db</KEYWORD3>\r
-                       <KEYWORD3>sp_autostats</KEYWORD3>\r
-                       <KEYWORD3>sp_bindefault</KEYWORD3>\r
-                       <KEYWORD3>sp_bindrule</KEYWORD3>\r
-                       <KEYWORD3>sp_bindsession</KEYWORD3>\r
-                       <KEYWORD3>sp_browsereplcmds</KEYWORD3>\r
-                       <KEYWORD3>sp_catalogs</KEYWORD3>\r
-                       <KEYWORD3>sp_certify_removable</KEYWORD3>\r
-                       <KEYWORD3>sp_change_agent_parameter</KEYWORD3>\r
-                       <KEYWORD3>sp_change_agent_profile</KEYWORD3>\r
-                       <KEYWORD3>sp_change_subscription_properties</KEYWORD3>\r
-                       <KEYWORD3>sp_change_users_login</KEYWORD3>\r
-                       <KEYWORD3>sp_changearticle</KEYWORD3>\r
-                       <KEYWORD3>sp_changedbowner</KEYWORD3>\r
-                       <KEYWORD3>sp_changedistpublisher</KEYWORD3>\r
-                       <KEYWORD3>sp_changedistributiondb</KEYWORD3>\r
-                       <KEYWORD3>sp_changedistributor_password</KEYWORD3>\r
-                       <KEYWORD3>sp_changedistributor_property</KEYWORD3>\r
-                       <KEYWORD3>sp_changegroup</KEYWORD3>\r
-                       <KEYWORD3>sp_changemergearticle</KEYWORD3>\r
-                       <KEYWORD3>sp_changemergefilter</KEYWORD3>\r
-                       <KEYWORD3>sp_changemergepublication</KEYWORD3>\r
-                       <KEYWORD3>sp_changemergepullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_changemergesubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_changeobjectowner</KEYWORD3>\r
-                       <KEYWORD3>sp_changepublication</KEYWORD3>\r
-                       <KEYWORD3>sp_changesubscriber</KEYWORD3>\r
-                       <KEYWORD3>sp_changesubscriber_schedule</KEYWORD3>\r
-                       <KEYWORD3>sp_changesubstatus</KEYWORD3>\r
-                       <KEYWORD3>sp_check_for_sync_trigger</KEYWORD3>\r
-                       <KEYWORD3>sp_column_privileges</KEYWORD3>\r
-                       <KEYWORD3>sp_column_privileges_ex</KEYWORD3>\r
-                       <KEYWORD3>sp_columns</KEYWORD3>\r
-                       <KEYWORD3>sp_columns_ex</KEYWORD3>\r
-                       <KEYWORD3>sp_configure</KEYWORD3>\r
-                       <KEYWORD3>sp_create_removable</KEYWORD3>\r
-                       <KEYWORD3>sp_createorphan</KEYWORD3>\r
-                       <KEYWORD3>sp_createstats</KEYWORD3>\r
-                       <KEYWORD3>sp_cursor</KEYWORD3>\r
-                       <KEYWORD3>sp_cursor_list</KEYWORD3>\r
-                       <KEYWORD3>sp_cursorclose</KEYWORD3>\r
-                       <KEYWORD3>sp_cursorexecute</KEYWORD3>\r
-                       <KEYWORD3>sp_cursorfetch</KEYWORD3>\r
-                       <KEYWORD3>sp_cursoropen</KEYWORD3>\r
-                       <KEYWORD3>sp_cursoroption</KEYWORD3>\r
-                       <KEYWORD3>sp_cursorprepare</KEYWORD3>\r
-                       <KEYWORD3>sp_cursorunprepare</KEYWORD3>\r
-                       <KEYWORD3>sp_cycle_errorlog</KEYWORD3>\r
-                       <KEYWORD3>sp_databases</KEYWORD3>\r
-                       <KEYWORD3>sp_datatype_info</KEYWORD3>\r
-                       <KEYWORD3>sp_dbcmptlevel</KEYWORD3>\r
-                       <KEYWORD3>sp_dbfixedrolepermission</KEYWORD3>\r
-                       <KEYWORD3>sp_dboption</KEYWORD3>\r
-                       <KEYWORD3>sp_defaultdb</KEYWORD3>\r
-                       <KEYWORD3>sp_defaultlanguage</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_alert</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_backuphistory</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_category</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_job</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_jobschedule</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_jobserver</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_jobstep</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_notification</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_operator</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_targetserver</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_targetservergroup</KEYWORD3>\r
-                       <KEYWORD3>sp_delete_targetsvrgrp_member</KEYWORD3>\r
-                       <KEYWORD3>sp_deletemergeconflictrow</KEYWORD3>\r
-                       <KEYWORD3>sp_denylogin</KEYWORD3>\r
-                       <KEYWORD3>sp_depends</KEYWORD3>\r
-                       <KEYWORD3>sp_describe_cursor</KEYWORD3>\r
-                       <KEYWORD3>sp_describe_cursor_columns</KEYWORD3>\r
-                       <KEYWORD3>sp_describe_cursor_tables</KEYWORD3>\r
-                       <KEYWORD3>sp_detach_db</KEYWORD3>\r
-                       <KEYWORD3>sp_drop_agent_parameter</KEYWORD3>\r
-                       <KEYWORD3>sp_drop_agent_profile</KEYWORD3>\r
-                       <KEYWORD3>sp_dropalias</KEYWORD3>\r
-                       <KEYWORD3>sp_dropapprole</KEYWORD3>\r
-                       <KEYWORD3>sp_droparticle</KEYWORD3>\r
-                       <KEYWORD3>sp_dropdevice</KEYWORD3>\r
-                       <KEYWORD3>sp_dropdistpublisher</KEYWORD3>\r
-                       <KEYWORD3>sp_dropdistributiondb</KEYWORD3>\r
-                       <KEYWORD3>sp_dropdistributor</KEYWORD3>\r
-                       <KEYWORD3>sp_dropextendedproc</KEYWORD3>\r
-                       <KEYWORD3>sp_dropgroup</KEYWORD3>\r
-                       <KEYWORD3>sp_droplinkedsrvlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_droplinkedsrvlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_droplogin</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmergearticle</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmergefilter</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmergepublication</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmergepullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmergesubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_dropmessage</KEYWORD3>\r
-                       <KEYWORD3>sp_droporphans</KEYWORD3>\r
-                       <KEYWORD3>sp_droppublication</KEYWORD3>\r
-                       <KEYWORD3>sp_droppullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_dropremotelogin</KEYWORD3>\r
-                       <KEYWORD3>sp_droprole</KEYWORD3>\r
-                       <KEYWORD3>sp_droprolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_dropserver</KEYWORD3>\r
-                       <KEYWORD3>sp_dropsrvrolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_dropsubscriber</KEYWORD3>\r
-                       <KEYWORD3>sp_dropsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_droptask</KEYWORD3>\r
-                       <KEYWORD3>sp_droptype</KEYWORD3>\r
-                       <KEYWORD3>sp_dropuser</KEYWORD3>\r
-                       <KEYWORD3>sp_dropwebtask</KEYWORD3>\r
-                       <KEYWORD3>sp_dsninfo</KEYWORD3>\r
-                       <KEYWORD3>sp_dumpparamcmd</KEYWORD3>\r
-                       <KEYWORD3>sp_enumcodepages</KEYWORD3>\r
-                       <KEYWORD3>sp_enumcustomresolvers</KEYWORD3>\r
-                       <KEYWORD3>sp_enumdsn</KEYWORD3>\r
-                       <KEYWORD3>sp_enumfullsubscribers</KEYWORD3>\r
-                       <KEYWORD3>sp_execute</KEYWORD3>\r
-                       <KEYWORD3>sp_executesql</KEYWORD3>\r
-                       <KEYWORD3>sp_expired_subscription_cleanup</KEYWORD3>\r
-                       <KEYWORD3>sp_fkeys</KEYWORD3>\r
-                       <KEYWORD3>sp_foreignkeys</KEYWORD3>\r
-                       <KEYWORD3>sp_fulltext_catalog</KEYWORD3>\r
-                       <KEYWORD3>sp_fulltext_column</KEYWORD3>\r
-                       <KEYWORD3>sp_fulltext_database</KEYWORD3>\r
-                       <KEYWORD3>sp_fulltext_service</KEYWORD3>\r
-                       <KEYWORD3>sp_fulltext_table</KEYWORD3>\r
-                       <KEYWORD3>sp_generatefilters</KEYWORD3>\r
-                       <KEYWORD3>sp_get_distributor</KEYWORD3>\r
-                       <KEYWORD3>sp_getbindtoken</KEYWORD3>\r
-                       <KEYWORD3>sp_getmergedeletetype</KEYWORD3>\r
-                       <KEYWORD3>sp_grant_publication_access</KEYWORD3>\r
-                       <KEYWORD3>sp_grantdbaccess</KEYWORD3>\r
-                       <KEYWORD3>sp_grantlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_help</KEYWORD3>\r
-                       <KEYWORD3>sp_help_agent_default</KEYWORD3>\r
-                       <KEYWORD3>sp_help_agent_parameter</KEYWORD3>\r
-                       <KEYWORD3>sp_help_agent_profile</KEYWORD3>\r
-                       <KEYWORD3>sp_help_alert</KEYWORD3>\r
-                       <KEYWORD3>sp_help_category</KEYWORD3>\r
-                       <KEYWORD3>sp_help_downloadlist</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_catalogs</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_catalogs_cursor</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_columns</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_columns_cursor</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_tables</KEYWORD3>\r
-                       <KEYWORD3>sp_help_fulltext_tables_cursor</KEYWORD3>\r
-                       <KEYWORD3>sp_help_job</KEYWORD3>\r
-                       <KEYWORD3>sp_help_jobhistory</KEYWORD3>\r
-                       <KEYWORD3>sp_help_jobschedule</KEYWORD3>\r
-                       <KEYWORD3>sp_help_jobserver</KEYWORD3>\r
-                       <KEYWORD3>sp_help_jobstep</KEYWORD3>\r
-                       <KEYWORD3>sp_help_notification</KEYWORD3>\r
-                       <KEYWORD3>sp_help_operator</KEYWORD3>\r
-                       <KEYWORD3>sp_help_publication_access</KEYWORD3>\r
-                       <KEYWORD3>sp_help_targetserver</KEYWORD3>\r
-                       <KEYWORD3>sp_help_targetservergroup</KEYWORD3>\r
-                       <KEYWORD3>sp_helparticle</KEYWORD3>\r
-                       <KEYWORD3>sp_helparticlecolumns</KEYWORD3>\r
-                       <KEYWORD3>sp_helpconstraint</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdb</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdbfixedrole</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdevice</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdistpublisher</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdistributiondb</KEYWORD3>\r
-                       <KEYWORD3>sp_helpdistributor</KEYWORD3>\r
-                       <KEYWORD3>sp_helpextendedproc</KEYWORD3>\r
-                       <KEYWORD3>sp_helpfile</KEYWORD3>\r
-                       <KEYWORD3>sp_helpfilegroup</KEYWORD3>\r
-                       <KEYWORD3>sp_helpgroup</KEYWORD3>\r
-                       <KEYWORD3>sp_helphistory</KEYWORD3>\r
-                       <KEYWORD3>sp_helpindex</KEYWORD3>\r
-                       <KEYWORD3>sp_helplanguage</KEYWORD3>\r
-                       <KEYWORD3>sp_helplinkedsrvlogin</KEYWORD3>\r
-                       <KEYWORD3>sp_helplogins</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergearticle</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergearticleconflicts</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergeconflictrows</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergedeleteconflictrows</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergefilter</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergepublication</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergepullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_helpmergesubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_helpntgroup</KEYWORD3>\r
-                       <KEYWORD3>sp_helppublication</KEYWORD3>\r
-                       <KEYWORD3>sp_helppullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_helpremotelogin</KEYWORD3>\r
-                       <KEYWORD3>sp_helpreplicationdboption</KEYWORD3>\r
-                       <KEYWORD3>sp_helprole</KEYWORD3>\r
-                       <KEYWORD3>sp_helprolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_helprotect</KEYWORD3>\r
-                       <KEYWORD3>sp_helpserver</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsort</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsrvrole</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsrvrolemember</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsubscriberinfo</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_helpsubscription_properties</KEYWORD3>\r
-                       <KEYWORD3>sp_helptask</KEYWORD3>\r
-                       <KEYWORD3>sp_helptext</KEYWORD3>\r
-                       <KEYWORD3>sp_helptrigger</KEYWORD3>\r
-                       <KEYWORD3>sp_helpuser</KEYWORD3>\r
-                       <KEYWORD3>sp_indexes</KEYWORD3>\r
-                       <KEYWORD3>sp_indexoption</KEYWORD3>\r
-                       <KEYWORD3>sp_link_publication</KEYWORD3>\r
-                       <KEYWORD3>sp_linkedservers</KEYWORD3>\r
-                       <KEYWORD3>sp_lock</KEYWORD3>\r
-                       <KEYWORD3>sp_makewebtask</KEYWORD3>\r
-                       <KEYWORD3>sp_manage_jobs_by_login</KEYWORD3>\r
-                       <KEYWORD3>sp_mergedummyupdate</KEYWORD3>\r
-                       <KEYWORD3>sp_mergesubscription_cleanup</KEYWORD3>\r
-                       <KEYWORD3>sp_monitor</KEYWORD3>\r
-                       <KEYWORD3>sp_msx_defect</KEYWORD3>\r
-                       <KEYWORD3>sp_msx_enlist</KEYWORD3>\r
-                       <KEYWORD3>sp_OACreate</KEYWORD3>\r
-                       <KEYWORD3>sp_OADestroy</KEYWORD3>\r
-                       <KEYWORD3>sp_OAGetErrorInfo</KEYWORD3>\r
-                       <KEYWORD3>sp_OAGetProperty</KEYWORD3>\r
-                       <KEYWORD3>sp_OAMethod</KEYWORD3>\r
-                       <KEYWORD3>sp_OASetProperty</KEYWORD3>\r
-                       <KEYWORD3>sp_OAStop</KEYWORD3>\r
-                       <KEYWORD3>sp_password</KEYWORD3>\r
-                       <KEYWORD3>sp_pkeys</KEYWORD3>\r
-                       <KEYWORD3>sp_post_msx_operation</KEYWORD3>\r
-                       <KEYWORD3>sp_prepare</KEYWORD3>\r
-                       <KEYWORD3>sp_primarykeys</KEYWORD3>\r
-                       <KEYWORD3>sp_processmail</KEYWORD3>\r
-                       <KEYWORD3>sp_procoption</KEYWORD3>\r
-                       <KEYWORD3>sp_publication_validation</KEYWORD3>\r
-                       <KEYWORD3>sp_purge_jobhistory</KEYWORD3>\r
-                       <KEYWORD3>sp_purgehistory</KEYWORD3>\r
-                       <KEYWORD3>sp_reassigntask</KEYWORD3>\r
-                       <KEYWORD3>sp_recompile</KEYWORD3>\r
-                       <KEYWORD3>sp_refreshsubscriptions</KEYWORD3>\r
-                       <KEYWORD3>sp_refreshview</KEYWORD3>\r
-                       <KEYWORD3>sp_reinitmergepullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_reinitmergesubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_reinitpullsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_reinitsubscription</KEYWORD3>\r
-                       <KEYWORD3>sp_remoteoption</KEYWORD3>\r
-                       <KEYWORD3>sp_remove_job_from_targets</KEYWORD3>\r
-                       <KEYWORD3>sp_removedbreplication</KEYWORD3>\r
-                       <KEYWORD3>sp_rename</KEYWORD3>\r
-                       <KEYWORD3>sp_renamedb</KEYWORD3>\r
-                       <KEYWORD3>sp_replcmds</KEYWORD3>\r
-                       <KEYWORD3>sp_replcounters</KEYWORD3>\r
-                       <KEYWORD3>sp_repldone</KEYWORD3>\r
-                       <KEYWORD3>sp_replflush</KEYWORD3>\r
-                       <KEYWORD3>sp_replication_agent_checkup</KEYWORD3>\r
-                       <KEYWORD3>sp_replicationdboption</KEYWORD3>\r
-                       <KEYWORD3>sp_replsetoriginator</KEYWORD3>\r
-                       <KEYWORD3>sp_replshowcmds</KEYWORD3>\r
-                       <KEYWORD3>sp_repltrans</KEYWORD3>\r
-                       <KEYWORD3>sp_reset_connection</KEYWORD3>\r
-                       <KEYWORD3>sp_resync_targetserver</KEYWORD3>\r
-                       <KEYWORD3>sp_revoke_publication_access</KEYWORD3>\r
-                       <KEYWORD3>sp_revokedbaccess</KEYWORD3>\r
-                       <KEYWORD3>sp_revokelogin</KEYWORD3>\r
-                       <KEYWORD3>sp_runwebtask</KEYWORD3>\r
-                       <KEYWORD3>sp_script_synctran_commands</KEYWORD3>\r
-                       <KEYWORD3>sp_scriptdelproc</KEYWORD3>\r
-                       <KEYWORD3>sp_scriptinsproc</KEYWORD3>\r
-                       <KEYWORD3>sp_scriptmappedupdproc</KEYWORD3>\r
-                       <KEYWORD3>sp_scriptupdproc</KEYWORD3>\r
-                       <KEYWORD3>sp_sdidebug</KEYWORD3>\r
-                       <KEYWORD3>sp_server_info</KEYWORD3>\r
-                       <KEYWORD3>sp_serveroption</KEYWORD3>\r
-                       <KEYWORD3>sp_serveroption</KEYWORD3>\r
-                       <KEYWORD3>sp_setapprole</KEYWORD3>\r
-                       <KEYWORD3>sp_setnetname</KEYWORD3>\r
-                       <KEYWORD3>sp_spaceused</KEYWORD3>\r
-                       <KEYWORD3>sp_special_columns</KEYWORD3>\r
-                       <KEYWORD3>sp_sproc_columns</KEYWORD3>\r
-                       <KEYWORD3>sp_srvrolepermission</KEYWORD3>\r
-                       <KEYWORD3>sp_start_job</KEYWORD3>\r
-                       <KEYWORD3>sp_statistics</KEYWORD3>\r
-                       <KEYWORD3>sp_stop_job</KEYWORD3>\r
-                       <KEYWORD3>sp_stored_procedures</KEYWORD3>\r
-                       <KEYWORD3>sp_subscription_cleanup</KEYWORD3>\r
-                       <KEYWORD3>sp_table_privileges</KEYWORD3>\r
-                       <KEYWORD3>sp_table_privileges_ex</KEYWORD3>\r
-                       <KEYWORD3>sp_table_validation</KEYWORD3>\r
-                       <KEYWORD3>sp_tableoption</KEYWORD3>\r
-                       <KEYWORD3>sp_tables</KEYWORD3>\r
-                       <KEYWORD3>sp_tables_ex</KEYWORD3>\r
-                       <KEYWORD3>sp_unbindefault</KEYWORD3>\r
-                       <KEYWORD3>sp_unbindrule</KEYWORD3>\r
-                       <KEYWORD3>sp_unprepare</KEYWORD3>\r
-                       <KEYWORD3>sp_update_agent_profile</KEYWORD3>\r
-                       <KEYWORD3>sp_update_alert</KEYWORD3>\r
-                       <KEYWORD3>sp_update_category</KEYWORD3>\r
-                       <KEYWORD3>sp_update_job</KEYWORD3>\r
-                       <KEYWORD3>sp_update_jobschedule</KEYWORD3>\r
-                       <KEYWORD3>sp_update_jobstep</KEYWORD3>\r
-                       <KEYWORD3>sp_update_notification</KEYWORD3>\r
-                       <KEYWORD3>sp_update_operator</KEYWORD3>\r
-                       <KEYWORD3>sp_update_targetservergroup</KEYWORD3>\r
-                       <KEYWORD3>sp_updatestats</KEYWORD3>\r
-                       <KEYWORD3>sp_updatetask</KEYWORD3>\r
-                       <KEYWORD3>sp_validatelogins</KEYWORD3>\r
-                       <KEYWORD3>sp_validname</KEYWORD3>\r
-                       <KEYWORD3>sp_who</KEYWORD3>\r
-                       <KEYWORD3>xp_cmdshell</KEYWORD3>\r
-                       <KEYWORD3>xp_deletemail</KEYWORD3>\r
-                       <KEYWORD3>xp_enumgroups</KEYWORD3>\r
-                       <KEYWORD3>xp_findnextmsg</KEYWORD3>\r
-                       <KEYWORD3>xp_findnextmsg</KEYWORD3>\r
-                       <KEYWORD3>xp_grantlogin</KEYWORD3>\r
-                       <KEYWORD3>xp_logevent</KEYWORD3>\r
-                       <KEYWORD3>xp_loginconfig</KEYWORD3>\r
-                       <KEYWORD3>xp_logininfo</KEYWORD3>\r
-                       <KEYWORD3>xp_msver</KEYWORD3>\r
-                       <KEYWORD3>xp_readmail</KEYWORD3>\r
-                       <KEYWORD3>xp_revokelogin</KEYWORD3>\r
-                       <KEYWORD3>xp_sendmail</KEYWORD3>\r
-                       <KEYWORD3>xp_sprintf</KEYWORD3>\r
-                       <KEYWORD3>xp_sqlinventory</KEYWORD3>\r
-                       <KEYWORD3>xp_sqlmaint</KEYWORD3>\r
-                       <KEYWORD3>xp_sqltrace</KEYWORD3>\r
-                       <KEYWORD3>xp_sscanf</KEYWORD3>\r
-                       <KEYWORD3>xp_startmail</KEYWORD3>\r
-                       <KEYWORD3>xp_stopmail</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_addnewqueue</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_deletequeuedefinition</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_destroyqueue</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_enumqueuedefname</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_enumqueuehandles</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_eventclassrequired</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_flushqueryhistory</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_generate_event</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getappfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getconnectionidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getcpufilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getdbidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getdurationfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_geteventfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_geteventnames</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getevents</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_gethostfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_gethpidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getindidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getntdmfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getntnmfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getobjidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getqueueautostart</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getqueuedestination</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getqueueproperties</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getreadfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getserverfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getseverityfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getspidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getsysobjectsfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_gettextfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getuserfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_getwritefilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_loadqueuedefinition</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_pausequeue</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_restartqueue</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_savequeuedefinition</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setappfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setconnectionidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setcpufilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setdbidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setdurationfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_seteventclassrequired</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_seteventfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_sethostfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_sethpidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setindidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setntdmfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setntnmfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setobjidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setqueryhistory</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setqueueautostart</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setqueuecreateinfo</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setqueuedestination</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setreadfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setserverfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setseverityfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setspidfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setsysobjectsfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_settextfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setuserfilter</KEYWORD3>\r
-                       <KEYWORD3>xp_trace_setwritefilter</KEYWORD3>\r
-                       <KEYWORD3>fn_helpcollations</KEYWORD3>\r
-                       <KEYWORD3>fn_servershareddrives</KEYWORD3>\r
-                       <KEYWORD3>fn_virtualfilestats</KEYWORD3>\r
-\r
-                       <!-- SQL Server 7.0 system tables -->\r
-                       <KEYWORD3>backupfile</KEYWORD3>\r
-                       <KEYWORD3>backupmediafamily</KEYWORD3>\r
-                       <KEYWORD3>backupmediaset</KEYWORD3>\r
-                       <KEYWORD3>backupset</KEYWORD3>\r
-                       <KEYWORD3>MSagent_parameters</KEYWORD3>\r
-                       <KEYWORD3>MSagent_profiles</KEYWORD3>\r
-                       <KEYWORD3>MSarticles</KEYWORD3>\r
-                       <KEYWORD3>MSdistpublishers</KEYWORD3>\r
-                       <KEYWORD3>MSdistribution_agents</KEYWORD3>\r
-                       <KEYWORD3>MSdistribution_history</KEYWORD3>\r
-                       <KEYWORD3>MSdistributiondbs</KEYWORD3>\r
-                       <KEYWORD3>MSdistributor</KEYWORD3>\r
-                       <KEYWORD3>MSlogreader_agents</KEYWORD3>\r
-                       <KEYWORD3>MSlogreader_history</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_agents</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_contents</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_delete_conflicts</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_genhistory</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_history</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_replinfo</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_subscriptions</KEYWORD3>\r
-                       <KEYWORD3>MSmerge_tombstone</KEYWORD3>\r
-                       <KEYWORD3>MSpublication_access</KEYWORD3>\r
-                       <KEYWORD3>Mspublications</KEYWORD3>\r
-                       <KEYWORD3>Mspublisher_databases</KEYWORD3>\r
-                       <KEYWORD3>MSrepl_commands</KEYWORD3>\r
-                       <KEYWORD3>MSrepl_errors</KEYWORD3>\r
-                       <KEYWORD3>Msrepl_originators</KEYWORD3>\r
-                       <KEYWORD3>MSrepl_transactions</KEYWORD3>\r
-                       <KEYWORD3>MSrepl_version</KEYWORD3>\r
-                       <KEYWORD3>MSreplication_objects</KEYWORD3>\r
-                       <KEYWORD3>MSreplication_subscriptions</KEYWORD3>\r
-                       <KEYWORD3>MSsnapshot_agents</KEYWORD3>\r
-                       <KEYWORD3>MSsnapshot_history</KEYWORD3>\r
-                       <KEYWORD3>MSsubscriber_info</KEYWORD3>\r
-                       <KEYWORD3>MSsubscriber_schedule</KEYWORD3>\r
-                       <KEYWORD3>MSsubscription_properties</KEYWORD3>\r
-                       <KEYWORD3>MSsubscriptions</KEYWORD3>\r
-                       <KEYWORD3>restorefile</KEYWORD3>\r
-                       <KEYWORD3>restorefilegroup</KEYWORD3>\r
-                       <KEYWORD3>restorehistory</KEYWORD3>\r
-                       <KEYWORD3>sysalerts</KEYWORD3>\r
-                       <KEYWORD3>sysallocations</KEYWORD3>\r
-                       <KEYWORD3>sysaltfiles</KEYWORD3>\r
-                       <KEYWORD3>sysarticles</KEYWORD3>\r
-                       <KEYWORD3>sysarticleupdates</KEYWORD3>\r
-                       <KEYWORD3>syscacheobjects</KEYWORD3>\r
-                       <KEYWORD3>syscategories</KEYWORD3>\r
-                       <KEYWORD3>syscharsets</KEYWORD3>\r
-                       <KEYWORD3>syscolumns</KEYWORD3>\r
-                       <KEYWORD3>syscomments</KEYWORD3>\r
-                       <KEYWORD3>sysconfigures</KEYWORD3>\r
-                       <KEYWORD3>sysconstraints</KEYWORD3>\r
-                       <KEYWORD3>syscurconfigs</KEYWORD3>\r
-                       <KEYWORD3>sysdatabases</KEYWORD3>\r
-                       <KEYWORD3>sysdatabases</KEYWORD3>\r
-                       <KEYWORD3>sysdepends</KEYWORD3>\r
-                       <KEYWORD3>sysdevices</KEYWORD3>\r
-                       <KEYWORD3>sysdownloadlist</KEYWORD3>\r
-                       <KEYWORD3>sysfilegroups</KEYWORD3>\r
-                       <KEYWORD3>sysfiles</KEYWORD3>\r
-                       <KEYWORD3>sysforeignkeys</KEYWORD3>\r
-                       <KEYWORD3>sysfulltextcatalogs</KEYWORD3>\r
-                       <KEYWORD3>sysindexes</KEYWORD3>\r
-                       <KEYWORD3>sysindexkeys</KEYWORD3>\r
-                       <KEYWORD3>sysjobhistory</KEYWORD3>\r
-                       <KEYWORD3>sysjobs</KEYWORD3>\r
-                       <KEYWORD3>sysjobschedules</KEYWORD3>\r
-                       <KEYWORD3>sysjobservers</KEYWORD3>\r
-                       <KEYWORD3>sysjobsteps</KEYWORD3>\r
-                       <KEYWORD3>syslanguages</KEYWORD3>\r
-                       <KEYWORD3>syslockinfo</KEYWORD3>\r
-                       <KEYWORD3>syslogins</KEYWORD3>\r
-                       <KEYWORD3>sysmembers</KEYWORD3>\r
-                       <KEYWORD3>sysmergearticles</KEYWORD3>\r
-                       <KEYWORD3>sysmergepublications</KEYWORD3>\r
-                       <KEYWORD3>sysmergeschemachange</KEYWORD3>\r
-                       <KEYWORD3>sysmergesubscriptions</KEYWORD3>\r
-                       <KEYWORD3>sysmergesubsetfilters</KEYWORD3>\r
-                       <KEYWORD3>sysmessages</KEYWORD3>\r
-                       <KEYWORD3>sysnotifications</KEYWORD3>\r
-                       <KEYWORD3>sysobjects</KEYWORD3>\r
-                       <KEYWORD3>sysobjects</KEYWORD3>\r
-                       <KEYWORD3>sysoledbusers</KEYWORD3>\r
-                       <KEYWORD3>sysoperators</KEYWORD3>\r
-                       <KEYWORD3>sysperfinfo</KEYWORD3>\r
-                       <KEYWORD3>syspermissions</KEYWORD3>\r
-                       <KEYWORD3>sysprocesses</KEYWORD3>\r
-                       <KEYWORD3>sysprotects</KEYWORD3>\r
-                       <KEYWORD3>syspublications</KEYWORD3>\r
-                       <KEYWORD3>sysreferences</KEYWORD3>\r
-                       <KEYWORD3>sysremotelogins</KEYWORD3>\r
-                       <KEYWORD3>sysreplicationalerts</KEYWORD3>\r
-                       <KEYWORD3>sysservers</KEYWORD3>\r
-                       <KEYWORD3>sysservers</KEYWORD3>\r
-                       <KEYWORD3>syssubscriptions</KEYWORD3>\r
-                       <KEYWORD3>systargetservergroupmembers</KEYWORD3>\r
-                       <KEYWORD3>systargetservergroups</KEYWORD3>\r
-                       <KEYWORD3>systargetservers</KEYWORD3>\r
-                       <KEYWORD3>systaskids</KEYWORD3>\r
-                       <KEYWORD3>systypes</KEYWORD3>\r
-                       <KEYWORD3>sysusers</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/tthtml.xml b/extra/xmode/modes/tthtml.xml
deleted file mode 100644 (file)
index 37bfa2f..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-<MODE>\r
-       <!--\r
-               Made by Krassimir Berov: k.berov@gmail.com \r
-       -->\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="lineComment" VALUE="#" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
-               <PROPERTY NAME="indentNextLine" VALUE="(FOREACH|FOR|WHILE|IF|ELSIF|ELSE|UNLESS|SWITCH|CASE|TRY|CATCH)(\s.*?)?;" />\r
-       </PROPS>\r
-\r
-       <!-- ESCAPE is not exactly right but it is needed to correctly\r
-            handle JavaScript in on* parameters -->\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ><!-- give priority to TT -->\r
-\r
-       </RULES>\r
-\r
-       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
-               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
-               <!-- handle <SCRIPT SRC="..."> properly -->\r
-               <SEQ TYPE="MARKUP" DELEGATE="html::MAIN">SRC=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
-       </RULES>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>[%#</BEGIN>\r
-                       <END>%]</END>\r
-               </SPAN>\r
-               <SPAN_REGEXP DELEGATE="perl::MAIN" HASH_CHAR="[%">\r
-                       <BEGIN>\[%\s*?PERL\s*?%\]</BEGIN>\r
-                       <END>\[%\s*?END\s*?%\]</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <SPAN TYPE="LITERAL3" DELEGATE="TT">\r
-                       <BEGIN>[%</BEGIN>\r
-                       <END>%]</END>\r
-               </SPAN>\r
-       </RULES>\r
-       <RULES SET="TT"\r
-                       IGNORE_CASE="FALSE"\r
-                       HIGHLIGHT_DIGITS="TRUE"\r
-                       DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <!-- Scalar variables -->\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD2">\$#?[\w:]+</SEQ_REGEXP>\r
-               <!-- Scalar variables\r
-               <SEQ_REGEXP ->ADD HASH_CHARS here if uncommenting<- TYPE="KEYWORD2">\s[a-z_0-9]+\s</SEQ_REGEXP> -->\r
-               <!-- Compound Variables -->\r
-               <MARK_PREVIOUS TYPE="KEYWORD4" MATCH_TYPE="CONTEXT">.</MARK_PREVIOUS>\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="CONTEXT">(</MARK_PREVIOUS>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <KEYWORDS>\r
-                       <!-- Template directives -->\r
-                       <KEYWORD1>SET</KEYWORD1>\r
-                       <KEYWORD1>GET</KEYWORD1>\r
-                       <KEYWORD1>CALL</KEYWORD1>\r
-                       <KEYWORD1>DEFAULT</KEYWORD1>\r
-                       <KEYWORD1>IF</KEYWORD1>\r
-                       <KEYWORD1>ELSIF</KEYWORD1>\r
-                       <KEYWORD1>ELSE</KEYWORD1>\r
-                       <KEYWORD1>UNLESS</KEYWORD1>\r
-                       <KEYWORD1>LAST</KEYWORD1>\r
-                       <KEYWORD1>NEXT</KEYWORD1>\r
-                       <KEYWORD1>FOR</KEYWORD1>\r
-                       <KEYWORD1>FOREACH</KEYWORD1>\r
-                       <KEYWORD1>WHILE</KEYWORD1>\r
-                       <KEYWORD1>SWITCH</KEYWORD1>\r
-                       <KEYWORD1>CASE</KEYWORD1>\r
-                       <KEYWORD1>PROCESS</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>INSERT</KEYWORD1>\r
-                       <KEYWORD1>WRAPPER</KEYWORD1>\r
-                       <KEYWORD1>BLOCK</KEYWORD1>\r
-                       <KEYWORD1>MACRO</KEYWORD1>\r
-                       <KEYWORD1>END</KEYWORD1>\r
-                       <KEYWORD1>USE</KEYWORD1>\r
-                       <KEYWORD1>IN</KEYWORD1>\r
-                       <KEYWORD1>FILTER</KEYWORD1>\r
-                       <KEYWORD1>TRY</KEYWORD1>\r
-                       <KEYWORD1>THROW</KEYWORD1>\r
-                       <KEYWORD1>CATCH</KEYWORD1>\r
-                       <KEYWORD1>FINAL</KEYWORD1>\r
-                       <KEYWORD1>META</KEYWORD1>\r
-                       <KEYWORD1>TAGS</KEYWORD1>\r
-                       <KEYWORD1>DEBUG</KEYWORD1>\r
-                       <KEYWORD1>PERL</KEYWORD1>\r
-                       <!-- Compile Time Constant Folding -->\r
-                       <KEYWORD1>constants</KEYWORD1>\r
-                       <!-- Special Variables -->\r
-                       <KEYWORD2>template</KEYWORD2>\r
-                       <KEYWORD2>component</KEYWORD2>\r
-                       <KEYWORD2>loop</KEYWORD2>\r
-                       <KEYWORD2>error</KEYWORD2>\r
-                       <KEYWORD2>content</KEYWORD2>\r
-\r
-                       <!-- VMethods -->\r
-                       <!-- Scalar Virtual Methods -->\r
-                       <KEYWORD3>defined</KEYWORD3>\r
-                       <KEYWORD3>length</KEYWORD3>\r
-                       <KEYWORD3>repeat</KEYWORD3>\r
-                       <KEYWORD3>replace</KEYWORD3>\r
-                       <KEYWORD3>match</KEYWORD3>\r
-                       <KEYWORD3>search</KEYWORD3>\r
-                       <KEYWORD3>split</KEYWORD3>\r
-                       <KEYWORD3>chunk</KEYWORD3>\r
-                       <KEYWORD3>list</KEYWORD3>\r
-                       <KEYWORD3>hash</KEYWORD3>\r
-                       <KEYWORD3>size</KEYWORD3>\r
-\r
-                       <!-- Hash Virtual Methods -->\r
-                       <KEYWORD3>keys</KEYWORD3>\r
-                       <KEYWORD3>values</KEYWORD3>\r
-                       <KEYWORD3>each</KEYWORD3>\r
-                       <KEYWORD3>sort</KEYWORD3>\r
-                       <KEYWORD3>nsort</KEYWORD3>\r
-                       <KEYWORD3>import</KEYWORD3>\r
-                       <KEYWORD3>defined</KEYWORD3>\r
-                       <KEYWORD3>exists</KEYWORD3>\r
-                       <KEYWORD3>item</KEYWORD3>\r
-\r
-                       <!-- List Virtual Methods -->\r
-                       <KEYWORD3>first</KEYWORD3>\r
-                       <KEYWORD3>last</KEYWORD3>\r
-                       <KEYWORD3>max</KEYWORD3>\r
-                       <KEYWORD3>reverse</KEYWORD3>\r
-                       <KEYWORD3>join</KEYWORD3>\r
-                       <KEYWORD3>grep</KEYWORD3>\r
-                       <KEYWORD3>unshift</KEYWORD3>\r
-                       <KEYWORD3>push</KEYWORD3>\r
-                       <KEYWORD3>shift</KEYWORD3>\r
-                       <KEYWORD3>pop</KEYWORD3>\r
-                       <KEYWORD3>unique</KEYWORD3>\r
-                       <KEYWORD3>merge</KEYWORD3>\r
-                       <KEYWORD3>slice</KEYWORD3>\r
-                       <KEYWORD3>splice</KEYWORD3>\r
-                       <KEYWORD3>count</KEYWORD3>\r
-\r
-                       <!-- Standard filters -->\r
-                       <FUNCTION>format</FUNCTION>\r
-                       <FUNCTION>upper</FUNCTION>\r
-                       <FUNCTION>lower</FUNCTION>\r
-                       <FUNCTION>ucfirst</FUNCTION>\r
-                       <FUNCTION>lcfirst</FUNCTION>\r
-                       <FUNCTION>trim</FUNCTION>\r
-                       <FUNCTION>collapse</FUNCTION>\r
-                       <FUNCTION>html</FUNCTION>\r
-                       <FUNCTION>html_entity</FUNCTION>\r
-                       <FUNCTION>html_para</FUNCTION>\r
-                       <FUNCTION>html_break</FUNCTION>\r
-                       <FUNCTION>html_para_break</FUNCTION>\r
-                       <FUNCTION>html_line_break</FUNCTION>\r
-                       <FUNCTION>uri</FUNCTION>\r
-                       <FUNCTION>url</FUNCTION>\r
-                       <FUNCTION>indent</FUNCTION>\r
-                       <FUNCTION>truncate</FUNCTION>\r
-                       <FUNCTION>repeat</FUNCTION>\r
-                       <FUNCTION>remove</FUNCTION>\r
-                       <FUNCTION>replace</FUNCTION>\r
-                       <FUNCTION>redirect</FUNCTION>\r
-                       <FUNCTION>eval</FUNCTION>\r
-                       <FUNCTION>evaltt</FUNCTION>\r
-                       <FUNCTION>perl</FUNCTION>\r
-                       <FUNCTION>evalperl</FUNCTION>\r
-                       <FUNCTION>stdout</FUNCTION>\r
-                       <FUNCTION>stderr</FUNCTION>\r
-                       <FUNCTION>null</FUNCTION>\r
-                       <FUNCTION>latex</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/twiki.xml b/extra/xmode/modes/twiki.xml
deleted file mode 100644 (file)
index 364fec0..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- catalog entry:\r
-\r
-<MODE NAME="twiki"             FILE="twiki.xml"\r
-                               FILE_NAME_GLOB="*.twiki"/>\r
-\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="noTabs" VALUE="true" />\r
-               <PROPERTY NAME="wrap" VALUE="soft" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
-\r
-               <!-- though not encouraged, HTML is supported -->\r
-               <IMPORT DELEGATE="html::MAIN"/>\r
-\r
-               <!-- signature - a convention, not actual markup -->\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="COMMENT1">-- </EOL_SPAN>\r
-\r
-               <!-- header -->\r
-               <EOL_SPAN_REGEXP HASH_CHAR="---+" \r
-                       TYPE="KEYWORD1" \r
-                       AT_LINE_START="TRUE"\r
-                       >-{3}[+]{1,6}(?:!!)?\s</EOL_SPAN_REGEXP>\r
-\r
-               <!-- bold -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="*"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >\*[^\s*][^*]*\*</SEQ_REGEXP>\r
-\r
-               <!-- bold and italic -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="__"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >__\w.*?\w__</SEQ_REGEXP>\r
-\r
-               <!-- italic -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="_"\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >_\w.*?\w_</SEQ_REGEXP>\r
-\r
-               <!-- bold and fixed font -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="=="\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >==\w.*?\w==</SEQ_REGEXP>\r
-\r
-               <!-- fixed font -->\r
-               <SEQ_REGEXP\r
-                       HASH_CHAR="="\r
-                       AT_LINE_START="FALSE"\r
-                       TYPE="KEYWORD4"\r
-               >=\w.*?\w=</SEQ_REGEXP>\r
-\r
-               <!-- separator -->\r
-               <EOL_SPAN AT_LINE_START="TRUE" TYPE="KEYWORD4">---</EOL_SPAN>\r
-\r
-               <!-- wiki words -->\r
-               <SEQ_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ" AT_WORD_START="TRUE" TYPE="KEYWORD2">[A-Z][A-Z.]*[a-z.]+(?:[A-Z][A-Z.]*[a-z.]*[a-z])+</SEQ_REGEXP>\r
-\r
-               <!-- links -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>[[</BEGIN>\r
-                       <END>]]</END>\r
-               </SPAN>\r
-\r
-               <!-- verbatim -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>&lt;verbatim&gt;</BEGIN>\r
-                       <END>&lt;/verbatim&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- prevent a link -->\r
-               <SEQ TYPE="LITERAL2">&lt;nop&gt;</SEQ>\r
-\r
-               <!-- disable links -->\r
-               <SPAN TYPE="LITERAL2">\r
-                       <BEGIN>&lt;noautolink&gt;</BEGIN>\r
-                       <END>&lt;/noautolink&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- terms -->\r
-               <SEQ_REGEXP HASH_CHAR=" " TYPE="KEYWORD2" AT_LINE_START="FALSE"\r
-                       >\s{3}\w(?:&amp;nbsp;|-|\w)*?\w+:\s</SEQ_REGEXP>\r
-\r
-               <!-- twiki variables -->\r
-               <SEQ_REGEXP HASH_CHAR="%" \r
-                       TYPE="FUNCTION"\r
-                       >%[A-Z]+(?:\{[^\}]+\})?%</SEQ_REGEXP>\r
-\r
-               <KEYWORDS>\r
-                       <!-- variables, just here for complete-word -->\r
-                       <NULL>ATTACHURL</NULL>\r
-                       <NULL>ATTACHURLPATH</NULL>\r
-                       <NULL>BASETOPIC</NULL>\r
-                       <NULL>BASEWEB</NULL>\r
-                       <NULL>GMTIME</NULL>\r
-                       <NULL>HOMETOPIC</NULL>\r
-                       <NULL>HTTP_HOST</NULL>\r
-                       <NULL>INCLUDE</NULL>\r
-                       <NULL>INCLUDINGTOPIC</NULL>\r
-                       <NULL>INCLUDINGWEB</NULL>\r
-                       <NULL>MAINWEB</NULL>\r
-                       <NULL>NOTIFYTOPIC</NULL>\r
-                       <NULL>PUBURL</NULL>\r
-                       <NULL>PUBURLPATH</NULL>\r
-                       <NULL>REMOTE_ADDR</NULL>\r
-                       <NULL>REMOTE_PORT</NULL>\r
-                       <NULL>REMOTE_USER</NULL>\r
-                       <NULL>SCRIPTSUFFIX</NULL>\r
-                       <NULL>SCRIPTURL</NULL>\r
-                       <NULL>SCRIPTURLPATH</NULL>\r
-                       <NULL>SEARCH</NULL>\r
-                       <NULL>SERVERTIME</NULL>\r
-                       <NULL>SPACEDTOPIC</NULL>\r
-                       <NULL>STARTINCLUDE</NULL>\r
-                       <NULL>STATISTICSTOPIC</NULL>\r
-                       <NULL>STOPINCLUDE</NULL>\r
-                       <NULL>TOC</NULL>\r
-                       <NULL>TOPIC</NULL>\r
-                       <NULL>TOPICLIST</NULL>\r
-                       <NULL>TWIKIWEB</NULL>\r
-                       <NULL>URLENCODE</NULL>\r
-                       <NULL>URLPARAM</NULL>\r
-                       <NULL>USERNAME</NULL>\r
-                       <NULL>WEB</NULL>\r
-                       <NULL>WEBLIST</NULL>\r
-                       <NULL>WEBPREFSTOPIC</NULL>\r
-                       <NULL>WIKIHOMEURL</NULL>\r
-                       <NULL>WIKINAME</NULL>\r
-                       <NULL>WIKIPREFSTOPIC</NULL>\r
-                       <NULL>WIKITOOLNAME</NULL>\r
-                       <NULL>WIKIUSERNAME</NULL>\r
-                       <NULL>WIKIUSERSTOPIC</NULL>\r
-                       <NULL>WIKIVERSION</NULL>\r
-               </KEYWORDS>\r
-\r
-       </RULES>\r
-\r
-</MODE>\r
-\r
-\r
diff --git a/extra/xmode/modes/typoscript.xml b/extra/xmode/modes/typoscript.xml
deleted file mode 100644 (file)
index b9a705b..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- TypoScript syntax highlighting, by Neil Bertram <neil@tasmanstudios.co.nz>\r
-       Based on Kasper's highlighter in ExtDevEval and his "TypoScript Syntax and In-depth Study"\r
-       available at http://typo3.org/documentation/document-library/doc_core_ts/\r
-\r
-  -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="#"/>\r
-               <PROPERTY NAME="lineComment" VALUE="/"/>\r
-               <PROPERTY NAME="commentStart" VALUE="/*"/>\r
-               <PROPERTY NAME="commentEnd" VALUE="*/"/>\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="({"/>\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE=")}"/>\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true"/>\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=":" DEFAULT="MARKUP">\r
-               <!-- Include statement (<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/html/mainmenu_typoscript.txt">) -->\r
-               <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="TRUE" AT_LINE_START="TRUE">\r
-                       <BEGIN>&lt;INCLUDE</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- Assignments (using the = operator) are delegated to the assignment rule for more flexibility -->\r
-               <EOL_SPAN TYPE="OPERATOR" DELEGATE="typoscript::assignment" AT_LINE_START="FALSE" AT_WHITESPACE_END="FALSE">=</EOL_SPAN>\r
-\r
-               <!-- Multi-line assignments (using the (blah blah) syntax) -->\r
-               <SPAN TYPE="OPERATOR" AT_LINE_START="FALSE" NO_LINE_BREAK="FALSE" DELEGATE="typoscript::assignment">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <!-- Object copies (using the < operator)\r
-                       Note that object references (=<) are not highlighted due to the fact\r
-                       that they're only supported by the core template engine, and not\r
-                       actually a feature of typoscript itself\r
-                 -->\r
-               <EOL_SPAN TYPE="OPERATOR" AT_LINE_START="FALSE" DELEGATE="typoscript::copy">&lt;</EOL_SPAN>\r
-\r
-               <!-- Comments\r
-                       - note that block comments must start/end at the beginning of the trimmed line\r
-                         but this is difficult to accomplish here, so we just force it to be line-start\r
-                 -->\r
-               <EOL_SPAN AT_WORD_START="TRUE" TYPE="COMMENT4">#</EOL_SPAN>\r
-               <SPAN TYPE="COMMENT1" NO_LINE_BREAK="FALSE" AT_LINE_START="TRUE">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <EOL_SPAN AT_WORD_START="TRUE" TYPE="COMMENT2">/</EOL_SPAN>\r
-\r
-               <!-- Conditionals (anything inside square brackets at a word start -->\r
-               <SPAN TYPE="KEYWORD1" NO_LINE_BREAK="TRUE" AT_WORD_START="TRUE">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <!-- Special characters that haven't been caught yet -->\r
-               <SEQ TYPE="NULL">{</SEQ>\r
-               <SEQ TYPE="NULL">}</SEQ>\r
-               <SEQ TYPE="NULL">(</SEQ>\r
-               <SEQ TYPE="NULL">)</SEQ>\r
-       </RULES>\r
-\r
-       <!-- Rule for both single and multi-line assignments -->\r
-       <RULES SET="assignment" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" DEFAULT="LITERAL1">\r
-               <!-- TypoScript constants inserted with {$blah} are highlighted -->\r
-               <SPAN TYPE="LABEL" AT_WORD_START="FALSE" AT_LINE_START="FALSE">\r
-                       <BEGIN>{$</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- Rule for object copies -->\r
-       <RULES SET="copy" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE" DEFAULT="KEYWORD2">\r
-               <!-- nothing right now -->\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/uscript.xml b/extra/xmode/modes/uscript.xml
deleted file mode 100644 (file)
index c9c947f..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="TRUE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <!-- Silly comment -->\r
-               <SEQ TYPE="COMMENT1">/**/</SEQ>\r
-\r
-               <!-- Java comment (C style) -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>\r
-\r
-        <SEQ TYPE="OPERATOR">~</SEQ>\r
-        <SEQ TYPE="OPERATOR">!</SEQ>\r
-        <SEQ TYPE="OPERATOR">@</SEQ>\r
-        <SEQ TYPE="OPERATOR">#</SEQ>\r
-        <SEQ TYPE="OPERATOR">$</SEQ>\r
-        <SEQ TYPE="OPERATOR">^</SEQ>\r
-        <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-        <SEQ TYPE="OPERATOR">*</SEQ>\r
-        <SEQ TYPE="OPERATOR">-</SEQ>\r
-        <SEQ TYPE="OPERATOR">=</SEQ>\r
-        <SEQ TYPE="OPERATOR">+</SEQ>\r
-        <SEQ TYPE="OPERATOR">|</SEQ>\r
-        <SEQ TYPE="OPERATOR">\\</SEQ>\r
-        <SEQ TYPE="OPERATOR">:</SEQ>\r
-        <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-        <SEQ TYPE="OPERATOR">/</SEQ>\r
-        <SEQ TYPE="OPERATOR">?</SEQ>\r
-        <SEQ TYPE="OPERATOR">`</SEQ>\r
-\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <KEYWORDS>\r
-            <KEYWORD1>abstract</KEYWORD1>\r
-            <KEYWORD1>auto</KEYWORD1>\r
-            <KEYWORD1>array</KEYWORD1>\r
-            <KEYWORD1>case</KEYWORD1>\r
-            <KEYWORD1>class</KEYWORD1>\r
-            <KEYWORD1>coerce</KEYWORD1>\r
-            <KEYWORD1>collapscategories</KEYWORD1>\r
-            <KEYWORD1>config</KEYWORD1>\r
-            <KEYWORD1>const</KEYWORD1>\r
-            <KEYWORD1>default</KEYWORD1>\r
-            <KEYWORD1>defaultproperties</KEYWORD1>\r
-            <KEYWORD1>deprecated</KEYWORD1>\r
-            <KEYWORD1>do</KEYWORD1>\r
-            <KEYWORD1>dontcollapsecategories</KEYWORD1>\r
-            <KEYWORD1>edfindable</KEYWORD1>\r
-            <KEYWORD1>editconst</KEYWORD1>\r
-            <KEYWORD1>editinline</KEYWORD1>\r
-            <KEYWORD1>editinlinenew</KEYWORD1>\r
-            <KEYWORD1>else</KEYWORD1>\r
-            <KEYWORD1>enum</KEYWORD1>\r
-            <KEYWORD1>event</KEYWORD1>\r
-            <KEYWORD1>exec</KEYWORD1>\r
-            <KEYWORD1>export</KEYWORD1>\r
-            <KEYWORD1>exportstructs</KEYWORD1>\r
-            <KEYWORD1>extends</KEYWORD1>\r
-            <KEYWORD1>false</KEYWORD1>\r
-            <KEYWORD1>final</KEYWORD1>\r
-            <KEYWORD1>for</KEYWORD1>\r
-            <KEYWORD1>foreach</KEYWORD1>\r
-            <KEYWORD1>function</KEYWORD1>\r
-            <KEYWORD1>globalconfig</KEYWORD1>\r
-            <KEYWORD1>hidecategories</KEYWORD1>\r
-            <KEYWORD1>if</KEYWORD1>\r
-            <KEYWORD1>ignores</KEYWORD1>\r
-            <KEYWORD1>input</KEYWORD1>\r
-            <KEYWORD1>iterator</KEYWORD1>\r
-            <KEYWORD1>latent</KEYWORD1>\r
-            <KEYWORD1>local</KEYWORD1>\r
-            <KEYWORD1>localized</KEYWORD1>\r
-            <KEYWORD1>native</KEYWORD1>\r
-            <KEYWORD1>nativereplication</KEYWORD1>\r
-            <KEYWORD1>noexport</KEYWORD1>\r
-            <KEYWORD1>noteditinlinenew</KEYWORD1>\r
-                       <KEYWORD1>notplaceable</KEYWORD1>\r
-            <KEYWORD1>operator</KEYWORD1>\r
-            <KEYWORD1>optional</KEYWORD1>\r
-            <KEYWORD1>out</KEYWORD1>\r
-            <KEYWORD1>perobjectconfig</KEYWORD1>\r
-            <KEYWORD1>placeable</KEYWORD1>\r
-            <KEYWORD1>postoperator</KEYWORD1>\r
-            <KEYWORD1>preoperator</KEYWORD1>\r
-            <KEYWORD1>private</KEYWORD1>\r
-            <KEYWORD1>protected</KEYWORD1>\r
-            <KEYWORD1>reliable</KEYWORD1>\r
-            <KEYWORD1>replication</KEYWORD1>\r
-            <KEYWORD1>return</KEYWORD1>\r
-            <KEYWORD1>safereplace</KEYWORD1>\r
-            <KEYWORD1>showcategories</KEYWORD1>\r
-            <KEYWORD1>simulated</KEYWORD1>\r
-            <KEYWORD1>singular</KEYWORD1>\r
-            <KEYWORD1>state</KEYWORD1>\r
-            <KEYWORD1>static</KEYWORD1>\r
-            <KEYWORD1>struct</KEYWORD1>\r
-            <KEYWORD1>switch</KEYWORD1>\r
-            <KEYWORD1>transient</KEYWORD1>\r
-            <KEYWORD1>travel</KEYWORD1>\r
-            <KEYWORD1>true</KEYWORD1>\r
-            <KEYWORD1>unreliable</KEYWORD1>\r
-            <KEYWORD1>until</KEYWORD1>\r
-            <KEYWORD1>var</KEYWORD1>\r
-            <KEYWORD1>while</KEYWORD1>\r
-            <KEYWORD1>within</KEYWORD1>\r
-\r
-            <KEYWORD2>default</KEYWORD2>\r
-            <KEYWORD2>global</KEYWORD2>\r
-            <KEYWORD2>none</KEYWORD2>\r
-            <KEYWORD2>self</KEYWORD2>\r
-            <KEYWORD2>static</KEYWORD2>\r
-            <KEYWORD2>super</KEYWORD2>\r
-\r
-            <KEYWORD3>bool</KEYWORD3>\r
-            <KEYWORD3>byte</KEYWORD3>\r
-            <KEYWORD3>float</KEYWORD3>\r
-            <KEYWORD3>int</KEYWORD3>\r
-            <KEYWORD3>name</KEYWORD3>\r
-            <KEYWORD3>string</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/vbscript.xml b/extra/xmode/modes/vbscript.xml
deleted file mode 100644 (file)
index 9f0e9bf..0000000
+++ /dev/null
@@ -1,739 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- VBScript mode by Andre Kaplan -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="lineComment" VALUE="'" />\r
-       </PROPS>\r
-\r
-       <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <!-- conditional compilation -->\r
-               <EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>\r
-               <EOL_SPAN TYPE="KEYWORD2">#end</EOL_SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">'</EOL_SPAN>\r
-               <EOL_SPAN TYPE="COMMENT1">rem </EOL_SPAN>\r
-\r
-               <!-- Comparison operators -->\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <!-- See in keywords: is -->\r
-\r
-               <!-- Arithmetic operators -->\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">\</SEQ>\r
-               <!-- See in keywords: mod -->\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-\r
-               <!-- Concatenation operators -->\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <!-- <SEQ TYPE="OPERATOR">+</SEQ> -->\r
-\r
-               <!-- Logical operators -->\r
-               <!-- See in keywords: and, or, not, xor, eqv -->\r
-\r
-               <!-- EOL Continuation -->\r
-<!--           <SEQ TYPE="NULL">_</SEQ>-->\r
-               <!-- Instruction separator -->\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="TRUE">:</MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Conditional Statements -->\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>elseif</KEYWORD1>\r
-                       <KEYWORD1>select</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-\r
-                       <!-- Loop Statements -->\r
-                       <!-- For..Next -->\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>step</KEYWORD1>\r
-                       <KEYWORD1>next</KEYWORD1>\r
-                       <!-- For Each..Next -->\r
-                       <KEYWORD1>each</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <!-- Do..Loop -->\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>until</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <!-- While..Wend -->\r
-                       <KEYWORD1>wend</KEYWORD1>\r
-\r
-                       <!-- Closing, Exit Statements -->\r
-                       <KEYWORD1>exit</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-\r
-                       <!-- Methods, Functions, Class, Properties, Variables -->\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>sub</KEYWORD1>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>property</KEYWORD1>\r
-                       <KEYWORD1>get</KEYWORD1>\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>set</KEYWORD1>\r
-\r
-                       <!-- Parameters passing -->\r
-                       <KEYWORD1>byval</KEYWORD1>\r
-                       <KEYWORD1>byref</KEYWORD1>\r
-\r
-                       <!-- Declaration -->\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>dim</KEYWORD1>\r
-                       <KEYWORD1>redim</KEYWORD1>\r
-                       <KEYWORD1>preserve</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-\r
-                       <!-- Object Assignement/Instantiation -->\r
-                       <KEYWORD1>set</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-\r
-                       <!-- Visibility -->\r
-                       <KEYWORD1>public</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-\r
-                       <!-- Comments -->\r
-                       <KEYWORD1>rem</KEYWORD1>\r
-\r
-                       <!-- Function Call - Dynamic Evaluation -->\r
-                       <KEYWORD1>call</KEYWORD1>\r
-                       <KEYWORD1>execute</KEYWORD1>\r
-                       <KEYWORD1>eval</KEYWORD1>\r
-\r
-                       <!-- Miscellaneous -->\r
-                       <KEYWORD1>on</KEYWORD1>\r
-                       <KEYWORD1>error</KEYWORD1>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>resume</KEYWORD1>\r
-                       <KEYWORD1>option</KEYWORD1>\r
-                       <KEYWORD1>explicit</KEYWORD1>\r
-                       <KEYWORD1>erase</KEYWORD1>\r
-                       <KEYWORD1>randomize</KEYWORD1>\r
-\r
-                       <!-- Operators -->\r
-                       <!-- Comparison operators -->\r
-                       <OPERATOR>is</OPERATOR>\r
-                       <!-- Arithmetic operators -->\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <!-- Logical operators -->\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>not</OPERATOR>\r
-                       <OPERATOR>xor</OPERATOR>\r
-                       <OPERATOR>imp</OPERATOR>\r
-\r
-                       <!-- Datatypes Constants/Literals -->\r
-                       <KEYWORD3>false</KEYWORD3>\r
-                       <KEYWORD3>true</KEYWORD3>\r
-                       <KEYWORD3>empty</KEYWORD3>\r
-                       <KEYWORD3>nothing</KEYWORD3>\r
-                       <KEYWORD3>null</KEYWORD3>\r
-\r
-                       <!-- VBScript Constants -->\r
-                       <!-- Color constants -->\r
-                       <LITERAL2>vbblack</LITERAL2>\r
-                       <LITERAL2>vbred</LITERAL2>\r
-                       <LITERAL2>vbgreen</LITERAL2>\r
-                       <LITERAL2>vbyellow</LITERAL2>\r
-                       <LITERAL2>vbblue</LITERAL2>\r
-                       <LITERAL2>vbmagenta</LITERAL2>\r
-                       <LITERAL2>vbcyan</LITERAL2>\r
-                       <LITERAL2>vbwhite</LITERAL2>\r
-\r
-                       <!-- Date & Time Constants -->\r
-<!--                   <LITERAL2>vbSunday</LITERAL2>\r
-                       <LITERAL2>vbMonday</LITERAL2>\r
-                       <LITERAL2>vbTuesday</LITERAL2>\r
-                       <LITERAL2>vbWednesday</LITERAL2>\r
-                       <LITERAL2>vbThursday</LITERAL2>\r
-                       <LITERAL2>vbFriday</LITERAL2>\r
-                       <LITERAL2>vbSaturday</LITERAL2>\r
-                       <LITERAL2>vbUseSystem</LITERAL2>\r
-                       <LITERAL2>vbUseSystemDayOfWeek</LITERAL2>\r
-                       <LITERAL2>vbFirstJan1</LITERAL2>\r
-                       <LITERAL2>vbFirstFourDays</LITERAL2>\r
-                       <LITERAL2>vbFirstFullWeek</LITERAL2>\r
--->\r
-                       <!-- Date Format Constants -->\r
-                       <LITERAL2>vbGeneralDate</LITERAL2>\r
-                       <LITERAL2>vbLongDate</LITERAL2>\r
-                       <LITERAL2>vbShortDate</LITERAL2>\r
-                       <LITERAL2>vbLongTime</LITERAL2>\r
-                       <LITERAL2>vbShortTime</LITERAL2>\r
-\r
-                       <!-- Miscellaneous  -->\r
-                       <LITERAL2>vbObjectError</LITERAL2>\r
-                       <KEYWORD2>Err</KEYWORD2>\r
-\r
-                       <!-- MsgBox Constants -->\r
-                       <LITERAL2>vbOKOnly</LITERAL2>\r
-                       <LITERAL2>vbOKCancel</LITERAL2>\r
-                       <LITERAL2>vbAbortRetryIgnore</LITERAL2>\r
-                       <LITERAL2>vbYesNoCancel</LITERAL2>\r
-                       <LITERAL2>vbYesNo</LITERAL2>\r
-                       <LITERAL2>vbRetryCancel</LITERAL2>\r
-                       <LITERAL2>vbCritical</LITERAL2>\r
-                       <LITERAL2>vbQuestion</LITERAL2>\r
-                       <LITERAL2>vbExclamation</LITERAL2>\r
-                       <LITERAL2>vbInformation</LITERAL2>\r
-                       <LITERAL2>vbDefaultButton1</LITERAL2>\r
-                       <LITERAL2>vbDefaultButton2</LITERAL2>\r
-                       <LITERAL2>vbDefaultButton3</LITERAL2>\r
-                       <LITERAL2>vbDefaultButton4</LITERAL2>\r
-                       <LITERAL2>vbApplicationModal</LITERAL2>\r
-                       <LITERAL2>vbSystemModal</LITERAL2>\r
-                       <LITERAL2>vbOK</LITERAL2>\r
-                       <LITERAL2>vbCancel</LITERAL2>\r
-                       <LITERAL2>vbAbort</LITERAL2>\r
-                       <LITERAL2>vbRetry</LITERAL2>\r
-                       <LITERAL2>vbIgnore</LITERAL2>\r
-                       <LITERAL2>vbYes</LITERAL2>\r
-                       <LITERAL2>vbNo</LITERAL2>\r
-\r
-                       <!-- Tristate Constants -->\r
-                       <LITERAL2>vbUseDefault</LITERAL2>\r
-                       <LITERAL2>vbTrue</LITERAL2>\r
-                       <LITERAL2>vbFalse</LITERAL2>\r
-\r
-                       <!-- String Constants -->\r
-                       <LITERAL2>vbcr</LITERAL2>\r
-                       <LITERAL2>vbcrlf</LITERAL2>\r
-                       <LITERAL2>vbformfeed</LITERAL2>\r
-                       <LITERAL2>vblf</LITERAL2>\r
-                       <LITERAL2>vbnewline</LITERAL2>\r
-                       <LITERAL2>vbnullchar</LITERAL2>\r
-                       <LITERAL2>vbnullstring</LITERAL2>\r
-                       <LITERAL2>vbtab</LITERAL2>\r
-                       <LITERAL2>vbverticaltab</LITERAL2>\r
-                       <!-- VarType Constants -->\r
-                       <LITERAL2>vbempty</LITERAL2>\r
-                       <LITERAL2>vbnull</LITERAL2>\r
-                       <LITERAL2>vbinteger</LITERAL2>\r
-                       <LITERAL2>vblong</LITERAL2>\r
-                       <LITERAL2>vbsingle</LITERAL2>\r
-                       <LITERAL2>vbdouble</LITERAL2>\r
-                       <LITERAL2>vbcurrency</LITERAL2>\r
-                       <LITERAL2>vbdate</LITERAL2>\r
-                       <LITERAL2>vbstring</LITERAL2>\r
-                       <LITERAL2>vbobject</LITERAL2>\r
-                       <LITERAL2>vberror</LITERAL2>\r
-                       <LITERAL2>vbboolean</LITERAL2>\r
-                       <LITERAL2>vbvariant</LITERAL2>\r
-                       <LITERAL2>vbdataobject</LITERAL2>\r
-                       <LITERAL2>vbdecimal</LITERAL2>\r
-                       <LITERAL2>vbbyte</LITERAL2>\r
-                       <LITERAL2>vbarray</LITERAL2>\r
-\r
-                       <!-- Built-in Functions -->\r
-                       <!-- Array Handling -->\r
-                       <KEYWORD2>array</KEYWORD2>\r
-                       <KEYWORD2>lbound</KEYWORD2>\r
-                       <KEYWORD2>ubound</KEYWORD2>\r
-                       <!-- Conversion Functions (Variant) -->\r
-                       <KEYWORD2>cbool</KEYWORD2>\r
-                       <KEYWORD2>cbyte</KEYWORD2>\r
-                       <KEYWORD2>ccur</KEYWORD2>\r
-                       <KEYWORD2>cdate</KEYWORD2>\r
-                       <KEYWORD2>cdbl</KEYWORD2>\r
-                       <KEYWORD2>cint</KEYWORD2>\r
-                       <KEYWORD2>clng</KEYWORD2>\r
-                       <KEYWORD2>csng</KEYWORD2>\r
-                       <KEYWORD2>cstr</KEYWORD2>\r
-                       <!-- Conversion Functions (Radix) -->\r
-                       <KEYWORD2>hex</KEYWORD2>\r
-                       <KEYWORD2>oct</KEYWORD2>\r
-                       <!-- Date/Time Functions -->\r
-                       <KEYWORD2>date</KEYWORD2>\r
-                       <KEYWORD2>time</KEYWORD2>\r
-                       <KEYWORD2>dateadd</KEYWORD2>\r
-                       <KEYWORD2>datediff</KEYWORD2>\r
-                       <KEYWORD2>datepart</KEYWORD2>\r
-                       <KEYWORD2>dateserial</KEYWORD2>\r
-                       <KEYWORD2>datevalue</KEYWORD2>\r
-                       <KEYWORD2>day</KEYWORD2>\r
-                       <KEYWORD2>month</KEYWORD2>\r
-                       <KEYWORD2>monthname</KEYWORD2>\r
-                       <KEYWORD2>weekday</KEYWORD2>\r
-                       <KEYWORD2>weekdayname</KEYWORD2>\r
-                       <KEYWORD2>year</KEYWORD2>\r
-                       <KEYWORD2>hour</KEYWORD2>\r
-                       <KEYWORD2>minute</KEYWORD2>\r
-                       <KEYWORD2>second</KEYWORD2>\r
-                       <KEYWORD2>now</KEYWORD2>\r
-                       <KEYWORD2>timeserial</KEYWORD2>\r
-                       <KEYWORD2>timevalue</KEYWORD2>\r
-                       <!-- Formatting Strings -->\r
-                       <KEYWORD2>formatcurrency</KEYWORD2>\r
-                       <KEYWORD2>formatdatetime</KEYWORD2>\r
-                       <KEYWORD2>formatnumber</KEYWORD2>\r
-                       <KEYWORD2>formatpercent</KEYWORD2>\r
-                       <!-- Input/Output -->\r
-                       <KEYWORD2>inputbox</KEYWORD2>\r
-                       <KEYWORD2>loadpicture</KEYWORD2>\r
-                       <KEYWORD2>msgbox</KEYWORD2>\r
-                       <!-- Math Functions -->\r
-                       <KEYWORD2>atn</KEYWORD2>\r
-                       <KEYWORD2>cos</KEYWORD2>\r
-                       <KEYWORD2>sin</KEYWORD2>\r
-                       <KEYWORD2>tan</KEYWORD2>\r
-                       <KEYWORD2>exp</KEYWORD2>\r
-                       <KEYWORD2>log</KEYWORD2>\r
-                       <KEYWORD2>sqr</KEYWORD2>\r
-                       <KEYWORD2>rnd</KEYWORD2>\r
-                       <!-- Miscellaneous -->\r
-                       <KEYWORD2>rgb</KEYWORD2>\r
-                       <!-- Objects -->\r
-                       <KEYWORD2>createobject</KEYWORD2>\r
-                       <KEYWORD2>getobject</KEYWORD2>\r
-                       <KEYWORD2>getref</KEYWORD2>\r
-                       <!-- Rounding -->\r
-                       <KEYWORD2>abs</KEYWORD2>\r
-                       <KEYWORD2>int</KEYWORD2>\r
-                       <KEYWORD2>fix</KEYWORD2>\r
-                       <KEYWORD2>round</KEYWORD2>\r
-                       <KEYWORD2>sgn</KEYWORD2>\r
-                       <!-- Script Engine ID -->\r
-                       <KEYWORD2>scriptengine</KEYWORD2>\r
-                       <KEYWORD2>scriptenginebuildversion</KEYWORD2>\r
-                       <KEYWORD2>scriptenginemajorversion</KEYWORD2>\r
-                       <KEYWORD2>scriptengineminorversion</KEYWORD2>\r
-                       <!-- Strings -->\r
-                       <KEYWORD2>asc</KEYWORD2>\r
-                       <KEYWORD2>ascb</KEYWORD2>\r
-                       <KEYWORD2>ascw</KEYWORD2>\r
-                       <KEYWORD2>chr</KEYWORD2>\r
-                       <KEYWORD2>chrb</KEYWORD2>\r
-                       <KEYWORD2>chrw</KEYWORD2>\r
-                       <KEYWORD2>filter</KEYWORD2>\r
-                       <KEYWORD2>instr</KEYWORD2>\r
-                       <KEYWORD2>instrb</KEYWORD2>\r
-                       <KEYWORD2>instrrev</KEYWORD2>\r
-                       <KEYWORD2>join</KEYWORD2>\r
-                       <KEYWORD2>len</KEYWORD2>\r
-                       <KEYWORD2>lenb</KEYWORD2>\r
-                       <KEYWORD2>lcase</KEYWORD2>\r
-                       <KEYWORD2>ucase</KEYWORD2>\r
-                       <KEYWORD2>left</KEYWORD2>\r
-                       <KEYWORD2>leftb</KEYWORD2>\r
-                       <KEYWORD2>mid</KEYWORD2>\r
-                       <KEYWORD2>midb</KEYWORD2>\r
-                       <KEYWORD2>right</KEYWORD2>\r
-                       <KEYWORD2>rightb</KEYWORD2>\r
-                       <KEYWORD2>replace</KEYWORD2>\r
-                       <KEYWORD2>space</KEYWORD2>\r
-                       <KEYWORD2>split</KEYWORD2>\r
-                       <KEYWORD2>strcomp</KEYWORD2>\r
-                       <KEYWORD2>string</KEYWORD2>\r
-                       <KEYWORD2>strreverse</KEYWORD2>\r
-                       <KEYWORD2>ltrim</KEYWORD2>\r
-                       <KEYWORD2>rtrim</KEYWORD2>\r
-                       <KEYWORD2>trim</KEYWORD2>\r
-                       <!-- Variants -->\r
-                       <KEYWORD2>isarray</KEYWORD2>\r
-                       <KEYWORD2>isdate</KEYWORD2>\r
-                       <KEYWORD2>isempty</KEYWORD2>\r
-                       <KEYWORD2>isnull</KEYWORD2>\r
-                       <KEYWORD2>isnumeric</KEYWORD2>\r
-                       <KEYWORD2>isobject</KEYWORD2>\r
-                       <KEYWORD2>typename</KEYWORD2>\r
-                       <KEYWORD2>vartype</KEYWORD2>\r
-\r
-                       <!-- Comment/Uncomment your favorite ADO Constants-->\r
-\r
-                       <!-- ADO Constants-->\r
-\r
-                       <!-- CursorTypeEnum Values -->\r
-                       <LITERAL2>adOpenForwardOnly</LITERAL2>\r
-                       <LITERAL2>adOpenKeyset</LITERAL2>\r
-                       <LITERAL2>adOpenDynamic</LITERAL2>\r
-                       <LITERAL2>adOpenStatic</LITERAL2>\r
-\r
-                       <!-- CursorOptionEnum Values -->\r
-<!--           <LITERAL2>adHoldRecords</LITERAL2>\r
-                       <LITERAL2>adMovePrevious</LITERAL2>\r
-                       <LITERAL2>adAddNew</LITERAL2>\r
-                       <LITERAL2>adDelete</LITERAL2>\r
-                       <LITERAL2>adUpdate</LITERAL2>\r
-                       <LITERAL2>adBookmark</LITERAL2>\r
-                       <LITERAL2>adApproxPosition</LITERAL2>\r
-                       <LITERAL2>adUpdateBatch</LITERAL2>\r
-                       <LITERAL2>adResync</LITERAL2>\r
-                       <LITERAL2>adNotify</LITERAL2>\r
-                       <LITERAL2>adFind</LITERAL2>\r
-                       <LITERAL2>adSeek</LITERAL2>\r
-                       <LITERAL2>adIndex</LITERAL2>\r
--->\r
-                       <!-- LockTypeEnum Values -->\r
-                       <LITERAL2>adLockReadOnly</LITERAL2>\r
-                       <LITERAL2>adLockPessimistic</LITERAL2>\r
-                       <LITERAL2>adLockOptimistic</LITERAL2>\r
-                       <LITERAL2>adLockBatchOptimistic</LITERAL2>\r
-\r
-                       <!-- ExecuteOptionEnum Values -->\r
-                       <LITERAL2>adRunAsync</LITERAL2>\r
-                       <LITERAL2>adAsyncExecute</LITERAL2>\r
-                       <LITERAL2>adAsyncFetch</LITERAL2>\r
-                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>\r
-                       <LITERAL2>adExecuteNoRecords</LITERAL2>\r
-\r
-                       <!-- ConnectOptionEnum Values -->\r
-<!--                   <LITERAL2>adAsyncConnect</LITERAL2>\r
--->\r
-                       <!-- ObjectStateEnum Values -->\r
-                       <LITERAL2>adStateClosed</LITERAL2>\r
-                       <LITERAL2>adStateOpen</LITERAL2>\r
-                       <LITERAL2>adStateConnecting</LITERAL2>\r
-                       <LITERAL2>adStateExecuting</LITERAL2>\r
-                       <LITERAL2>adStateFetching</LITERAL2>\r
-\r
-                       <!-- CursorLocationEnum Values -->\r
-                       <LITERAL2>adUseServer</LITERAL2>\r
-                       <LITERAL2>adUseClient</LITERAL2>\r
-\r
-                       <!-- DataTypeEnum Values -->\r
-                       <LITERAL2>adEmpty</LITERAL2>\r
-                       <LITERAL2>adTinyInt</LITERAL2>\r
-                       <LITERAL2>adSmallInt</LITERAL2>\r
-                       <LITERAL2>adInteger</LITERAL2>\r
-                       <LITERAL2>adBigInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedTinyInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedSmallInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedBigInt</LITERAL2>\r
-                       <LITERAL2>adSingle</LITERAL2>\r
-                       <LITERAL2>adDouble</LITERAL2>\r
-                       <LITERAL2>adCurrency</LITERAL2>\r
-                       <LITERAL2>adDecimal</LITERAL2>\r
-                       <LITERAL2>adNumeric</LITERAL2>\r
-                       <LITERAL2>adBoolean</LITERAL2>\r
-                       <LITERAL2>adError</LITERAL2>\r
-                       <LITERAL2>adUserDefined</LITERAL2>\r
-                       <LITERAL2>adVariant</LITERAL2>\r
-                       <LITERAL2>adIDispatch</LITERAL2>\r
-                       <LITERAL2>adIUnknown</LITERAL2>\r
-                       <LITERAL2>adGUID</LITERAL2>\r
-                       <LITERAL2>adDate</LITERAL2>\r
-                       <LITERAL2>adDBDate</LITERAL2>\r
-                       <LITERAL2>adDBTime</LITERAL2>\r
-                       <LITERAL2>adDBTimeStamp</LITERAL2>\r
-                       <LITERAL2>adBSTR</LITERAL2>\r
-                       <LITERAL2>adChar</LITERAL2>\r
-                       <LITERAL2>adVarChar</LITERAL2>\r
-                       <LITERAL2>adLongVarChar</LITERAL2>\r
-                       <LITERAL2>adWChar</LITERAL2>\r
-                       <LITERAL2>adVarWChar</LITERAL2>\r
-                       <LITERAL2>adLongVarWChar</LITERAL2>\r
-                       <LITERAL2>adBinary</LITERAL2>\r
-                       <LITERAL2>adVarBinary</LITERAL2>\r
-                       <LITERAL2>adLongVarBinary</LITERAL2>\r
-                       <LITERAL2>adChapter</LITERAL2>\r
-                       <LITERAL2>adFileTime</LITERAL2>\r
-                       <LITERAL2>adDBFileTime</LITERAL2>\r
-                       <LITERAL2>adPropVariant</LITERAL2>\r
-                       <LITERAL2>adVarNumeric</LITERAL2>\r
-\r
-                       <!-- FieldAttributeEnum Values -->\r
-<!--                   <LITERAL2>adFldMayDefer</LITERAL2>\r
-                       <LITERAL2>adFldUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldFixed</LITERAL2>\r
-                       <LITERAL2>adFldIsNullable</LITERAL2>\r
-                       <LITERAL2>adFldMayBeNull</LITERAL2>\r
-                       <LITERAL2>adFldLong</LITERAL2>\r
-                       <LITERAL2>adFldRowID</LITERAL2>\r
-                       <LITERAL2>adFldRowVersion</LITERAL2>\r
-                       <LITERAL2>adFldCacheDeferred</LITERAL2>\r
-                       <LITERAL2>adFldKeyColumn</LITERAL2>\r
--->\r
-\r
-                       <!-- EditModeEnum Values -->\r
-<!--                   <LITERAL2>adEditNone</LITERAL2>\r
-                       <LITERAL2>adEditInProgress</LITERAL2>\r
-                       <LITERAL2>adEditAdd</LITERAL2>\r
-                       <LITERAL2>adEditDelete</LITERAL2>\r
--->\r
-                       <!-- RecordStatusEnum Values -->\r
-<!--                   <LITERAL2>adRecOK</LITERAL2>\r
-                       <LITERAL2>adRecNew</LITERAL2>\r
-                       <LITERAL2>adRecModified</LITERAL2>\r
-                       <LITERAL2>adRecDeleted</LITERAL2>\r
-                       <LITERAL2>adRecUnmodified</LITERAL2>\r
-                       <LITERAL2>adRecInvalid</LITERAL2>\r
-                       <LITERAL2>adRecMultipleChanges</LITERAL2>\r
-                       <LITERAL2>adRecPendingChanges</LITERAL2>\r
-                       <LITERAL2>adRecCanceled</LITERAL2>\r
-                       <LITERAL2>adRecCantRelease</LITERAL2>\r
-                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>\r
-                       <LITERAL2>adRecIntegrityViolation</LITERAL2>\r
-                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>\r
-                       <LITERAL2>adRecObjectOpen</LITERAL2>\r
-                       <LITERAL2>adRecOutOfMemory</LITERAL2>\r
-                       <LITERAL2>adRecPermissionDenied</LITERAL2>\r
-                       <LITERAL2>adRecSchemaViolation</LITERAL2>\r
-                       <LITERAL2>adRecDBDeleted</LITERAL2>\r
--->\r
-                       <!-- GetRowsOptionEnum Values -->\r
-<!--                   <LITERAL2>adGetRowsRest</LITERAL2>\r
--->\r
-\r
-                       <!-- PositionEnum Values -->\r
-<!--                   <LITERAL2>adPosUnknown</LITERAL2>\r
-                       <LITERAL2>adPosBOF</LITERAL2>\r
-                       <LITERAL2>adPosEOF</LITERAL2>\r
--->\r
-\r
-                       <!-- enum Values -->\r
-<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>\r
-                       <LITERAL2>adBookmarkFirst</LITERAL2>\r
-                       <LITERAL2>adBookmarkLast</LITERAL2>\r
--->\r
-                       <!-- MarshalOptionsEnum Values -->\r
-<!--                   <LITERAL2>adMarshalAll</LITERAL2>\r
-                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>\r
--->\r
-                       <!-- AffectEnum Values -->\r
-<!--                   <LITERAL2>adAffectCurrent</LITERAL2>\r
-                       <LITERAL2>adAffectGroup</LITERAL2>\r
-                       <LITERAL2>adAffectAll</LITERAL2>\r
-                       <LITERAL2>adAffectAllChapters</LITERAL2>\r
--->\r
-\r
-                       <!-- ResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>\r
-                       <LITERAL2>adResyncAllValues</LITERAL2>\r
--->\r
-                       <!-- CompareEnum Values -->\r
-<!--                   <LITERAL2>adCompareLessThan</LITERAL2>\r
-                       <LITERAL2>adCompareEqual</LITERAL2>\r
-                       <LITERAL2>adCompareGreaterThan</LITERAL2>\r
-                       <LITERAL2>adCompareNotEqual</LITERAL2>\r
-                       <LITERAL2>adCompareNotComparable</LITERAL2>\r
--->\r
-                       <!-- FilterGroupEnum Values -->\r
-<!--                   <LITERAL2>adFilterNone</LITERAL2>\r
-                       <LITERAL2>adFilterPendingRecords</LITERAL2>\r
-                       <LITERAL2>adFilterAffectedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterFetchedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterPredicate</LITERAL2>\r
-                       <LITERAL2>adFilterConflictingRecords</LITERAL2>\r
--->\r
-                       <!-- SearchDirectionEnum Values -->\r
-<!--                   <LITERAL2>adSearchForward</LITERAL2>\r
-                       <LITERAL2>adSearchBackward</LITERAL2>\r
--->\r
-\r
-                       <!-- PersistFormatEnum Values -->\r
-                       <LITERAL2>adPersistADTG</LITERAL2>\r
-                       <LITERAL2>adPersistXML</LITERAL2>\r
-\r
-                       <!-- StringFormatEnum Values -->\r
-<!--                   <LITERAL2>adStringXML</LITERAL2>\r
-                       <LITERAL2>adStringHTML</LITERAL2>\r
-                       <LITERAL2>adClipString</LITERAL2>\r
--->\r
-                       <!-- ConnectPromptEnum Values -->\r
-<!--                   <LITERAL2>adPromptAlways</LITERAL2>\r
-                       <LITERAL2>adPromptComplete</LITERAL2>\r
-                       <LITERAL2>adPromptCompleteRequired</LITERAL2>\r
-                       <LITERAL2>adPromptNever</LITERAL2>\r
--->\r
-                       <!-- ConnectModeEnum Values -->\r
-<!--                   <LITERAL2>adModeUnknown</LITERAL2>\r
-                       <LITERAL2>adModeRead</LITERAL2>\r
-                       <LITERAL2>adModeWrite</LITERAL2>\r
-                       <LITERAL2>adModeReadWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyRead</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareExclusive</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyNone</LITERAL2>\r
--->\r
-                       <!-- IsolationLevelEnum Values -->\r
-<!--                   <LITERAL2>adXactUnspecified</LITERAL2>\r
-                       <LITERAL2>adXactChaos</LITERAL2>\r
-                       <LITERAL2>adXactReadUncommitted</LITERAL2>\r
-                       <LITERAL2>adXactBrowse</LITERAL2>\r
-                       <LITERAL2>adXactCursorStability</LITERAL2>\r
-                       <LITERAL2>adXactReadCommitted</LITERAL2>\r
-                       <LITERAL2>adXactRepeatableRead</LITERAL2>\r
-                       <LITERAL2>adXactSerializable</LITERAL2>\r
-                       <LITERAL2>adXactIsolated</LITERAL2>\r
--->\r
-                       <!-- XactAttributeEnum Values -->\r
-<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>\r
-                       <LITERAL2>adXactAbortRetaining</LITERAL2>\r
--->\r
-                       <!-- PropertyAttributesEnum Values -->\r
-<!--                   <LITERAL2>adPropNotSupported</LITERAL2>\r
-                       <LITERAL2>adPropRequired</LITERAL2>\r
-                       <LITERAL2>adPropOptional</LITERAL2>\r
-                       <LITERAL2>adPropRead</LITERAL2>\r
-                       <LITERAL2>adPropWrite</LITERAL2>\r
--->\r
-                       <!-- ErrorValueEnum Values -->\r
-<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>\r
-                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>\r
-                       <LITERAL2>adErrIllegalOperation</LITERAL2>\r
-                       <LITERAL2>adErrInTransaction</LITERAL2>\r
-                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>\r
-                       <LITERAL2>adErrItemNotFound</LITERAL2>\r
-                       <LITERAL2>adErrObjectInCollection</LITERAL2>\r
-                       <LITERAL2>adErrObjectNotSet</LITERAL2>\r
-                       <LITERAL2>adErrDataConversion</LITERAL2>\r
-                       <LITERAL2>adErrObjectClosed</LITERAL2>\r
-                       <LITERAL2>adErrObjectOpen</LITERAL2>\r
-                       <LITERAL2>adErrProviderNotFound</LITERAL2>\r
-                       <LITERAL2>adErrBoundToCommand</LITERAL2>\r
-                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>\r
-                       <LITERAL2>adErrInvalidConnection</LITERAL2>\r
-                       <LITERAL2>adErrNotReentrant</LITERAL2>\r
-                       <LITERAL2>adErrStillExecuting</LITERAL2>\r
-                       <LITERAL2>adErrOperationCancelled</LITERAL2>\r
-                       <LITERAL2>adErrStillConnecting</LITERAL2>\r
-                       <LITERAL2>adErrNotExecuting</LITERAL2>\r
-                       <LITERAL2>adErrUnsafeOperation</LITERAL2>\r
--->\r
-                       <!-- ParameterAttributesEnum Values -->\r
-                       <LITERAL2>adParamSigned</LITERAL2>\r
-                       <LITERAL2>adParamNullable</LITERAL2>\r
-                       <LITERAL2>adParamLong</LITERAL2>\r
-\r
-                       <!-- ParameterDirectionEnum Values -->\r
-                       <LITERAL2>adParamUnknown</LITERAL2>\r
-                       <LITERAL2>adParamInput</LITERAL2>\r
-                       <LITERAL2>adParamOutput</LITERAL2>\r
-                       <LITERAL2>adParamInputOutput</LITERAL2>\r
-                       <LITERAL2>adParamReturnValue</LITERAL2>\r
-\r
-                       <!-- CommandTypeEnum Values -->\r
-                       <LITERAL2>adCmdUnknown</LITERAL2>\r
-                       <LITERAL2>adCmdText</LITERAL2>\r
-                       <LITERAL2>adCmdTable</LITERAL2>\r
-                       <LITERAL2>adCmdStoredProc</LITERAL2>\r
-                       <LITERAL2>adCmdFile</LITERAL2>\r
-                       <LITERAL2>adCmdTableDirect</LITERAL2>\r
-\r
-                       <!-- EventStatusEnum Values -->\r
-<!--                   <LITERAL2>adStatusOK</LITERAL2>\r
-                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>\r
-                       <LITERAL2>adStatusCantDeny</LITERAL2>\r
-                       <LITERAL2>adStatusCancel</LITERAL2>\r
-                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>\r
--->\r
-                       <!-- EventReasonEnum Values -->\r
-<!--                   <LITERAL2>adRsnAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnDelete</LITERAL2>\r
-                       <LITERAL2>adRsnUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnUndoDelete</LITERAL2>\r
-                       <LITERAL2>adRsnRequery</LITERAL2>\r
-                       <LITERAL2>adRsnResynch</LITERAL2>\r
-                       <LITERAL2>adRsnClose</LITERAL2>\r
-                       <LITERAL2>adRsnMove</LITERAL2>\r
-                       <LITERAL2>adRsnFirstChange</LITERAL2>\r
-                       <LITERAL2>adRsnMoveFirst</LITERAL2>\r
-                       <LITERAL2>adRsnMoveNext</LITERAL2>\r
-                       <LITERAL2>adRsnMovePrevious</LITERAL2>\r
-                       <LITERAL2>adRsnMoveLast</LITERAL2>\r
--->\r
-                       <!-- SchemaEnum Values -->\r
-<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>\r
-                       <LITERAL2>adSchemaAsserts</LITERAL2>\r
-                       <LITERAL2>adSchemaCatalogs</LITERAL2>\r
-                       <LITERAL2>adSchemaCharacterSets</LITERAL2>\r
-                       <LITERAL2>adSchemaCollations</LITERAL2>\r
-                       <LITERAL2>adSchemaColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaTableConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaIndexes</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedures</LITERAL2>\r
-                       <LITERAL2>adSchemaSchemata</LITERAL2>\r
-                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>\r
-                       <LITERAL2>adSchemaStatistics</LITERAL2>\r
-                       <LITERAL2>adSchemaTables</LITERAL2>\r
-                       <LITERAL2>adSchemaTranslations</LITERAL2>\r
-                       <LITERAL2>adSchemaProviderTypes</LITERAL2>\r
-                       <LITERAL2>adSchemaViews</LITERAL2>\r
-                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>\r
-                       <LITERAL2>adSchemaForeignKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>\r
-                       <LITERAL2>adSchemaCubes</LITERAL2>\r
-                       <LITERAL2>adSchemaDimensions</LITERAL2>\r
-                       <LITERAL2>adSchemaHierarchies</LITERAL2>\r
-                       <LITERAL2>adSchemaLevels</LITERAL2>\r
-                       <LITERAL2>adSchemaMeasures</LITERAL2>\r
-                       <LITERAL2>adSchemaProperties</LITERAL2>\r
-                       <LITERAL2>adSchemaMembers</LITERAL2>\r
--->\r
-                       <!-- SeekEnum Values -->\r
-<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>\r
-                       <LITERAL2>adSeekLastEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfterEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfter</LITERAL2>\r
-                       <LITERAL2>adSeekBeforeEQ</LITERAL2>\r
-                       <LITERAL2>adSeekBefore</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->\r
-<!--                   <LITERAL2>adCriteriaKey</LITERAL2>\r
-                       <LITERAL2>adCriteriaAllCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaUpdCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->\r
-<!--                   <LITERAL2>adPriorityLowest</LITERAL2>\r
-                       <LITERAL2>adPriorityBelowNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityAboveNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityHighest</LITERAL2>\r
--->\r
-                       <!-- CEResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncNone</LITERAL2>\r
-                       <LITERAL2>adResyncAutoIncrement</LITERAL2>\r
-                       <LITERAL2>adResyncConflicts</LITERAL2>\r
-                       <LITERAL2>adResyncUpdates</LITERAL2>\r
-                       <LITERAL2>adResyncInserts</LITERAL2>\r
-                       <LITERAL2>adResyncAll</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_AUTORECALC_ENUM Values -->\r
-<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>\r
-                       <LITERAL2>adRecalcAlways</LITERAL2>\r
--->\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/velocity.xml b/extra/xmode/modes/velocity.xml
deleted file mode 100644 (file)
index 7fa160a..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="#*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*#" />\r
-               <PROPERTY NAME="lineComment" VALUE="##" />\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentNextLines" VALUE="^\s*(#(foreach|if|elseif|else))\s*\(.*\)\s*"/>\r
-               <PROPERTY NAME="unindentThisLine" VALUE="^\s*#(end|elseif|else)\b.*"/>\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="html::TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-               <IMPORT DELEGATE="VELOCITY" />\r
-       </RULES>\r
-\r
-       <RULES SET="VELOCITY">\r
-               <SPAN TYPE="COMMENT2">\r
-                       <BEGIN>#*</BEGIN>\r
-                       <END>*#</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT3">##</EOL_SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-\r
-               <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD3"\r
-                       >\$!?[A-z][A-z0-9._-]*</SEQ_REGEXP>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>#set</KEYWORD1>\r
-                       <KEYWORD1>#foreach</KEYWORD1>\r
-                       <KEYWORD1>#end</KEYWORD1>\r
-                       <KEYWORD1>#if</KEYWORD1>\r
-                       <KEYWORD1>#else</KEYWORD1>\r
-                       <KEYWORD1>#elseif</KEYWORD1>\r
-                       <KEYWORD1>#parse</KEYWORD1>\r
-                       <KEYWORD1>#macro</KEYWORD1>\r
-                       <KEYWORD1>#stop</KEYWORD1>\r
-                       <KEYWORD1>#include</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
-               <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT2">&gt;</SEQ>\r
-               <!-- handle <SCRIPT SRC="..."> properly -->\r
-               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="JAVASCRIPT2"\r
-               ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <IMPORT DELEGATE="VELOCITY" />\r
-               <IMPORT DELEGATE="javascript::MAIN" />\r
-       </RULES>\r
-\r
-       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="CSS2">&gt;</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS2"\r
-               IGNORE_CASE="TRUE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
-               NO_WORD_SEP="-_">\r
-\r
-               <IMPORT DELEGATE="VELOCITY" />\r
-               <IMPORT DELEGATE="css::MAIN" />\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/verilog.xml b/extra/xmode/modes/verilog.xml
deleted file mode 100644 (file)
index ee1602e..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- Written By: Wojciech Stryjewski - thvortex@sourceforge.net -->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <!-- Rules for indenting:\r
-                  - Case expressions (a line ending with colon) are indented\r
-                  - Keywords begin, module, task, etc. always indented\r
-                  - Keywords if, while, etc. indent only if ; not on the same line\r
-               -->\r
-               <PROPERTY NAME="indentNextLines" VALUE="(.*:\s*)|(\s*(begin|fork|task|table|specify|primitive|module|generate|function|case[xz]?)\b.*)|(\s*(always|if|else|for|forever|initial|repeat|while)\b[^;]*)" />\r
-\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="noWordSep" VALUE="_'" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="([\p{Digit}]|_)+" NO_WORD_SEP="'">\r
-               <!-- Comments -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <!--String Literals -->\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="DIGIT">'d</SEQ>\r
-               <SEQ TYPE="DIGIT">'h</SEQ>\r
-               <SEQ TYPE="DIGIT">'b</SEQ>\r
-               <SEQ TYPE="DIGIT">'o</SEQ>\r
-\r
-               <!-- Function calls, module instantiation, system tasks with args -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <!-- Operators -->\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- Regular Keywords -->\r
-                       <KEYWORD1>always</KEYWORD1>\r
-                       <KEYWORD1>assign</KEYWORD1>\r
-                       <KEYWORD1>begin</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>casex</KEYWORD1>\r
-                       <KEYWORD1>casez</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>deassign</KEYWORD1>\r
-                       <KEYWORD1>disable</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>endcase</KEYWORD1>\r
-                       <KEYWORD1>endfunction</KEYWORD1>\r
-                       <KEYWORD1>endgenerate</KEYWORD1>\r
-                       <KEYWORD1>endmodule</KEYWORD1>\r
-                       <KEYWORD1>endprimitive</KEYWORD1>\r
-                       <KEYWORD1>endspecify</KEYWORD1>\r
-                       <KEYWORD1>endtable</KEYWORD1>\r
-                       <KEYWORD1>endtask</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>force</KEYWORD1>\r
-                       <KEYWORD1>forever</KEYWORD1>\r
-                       <KEYWORD1>fork</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>generate</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>initial</KEYWORD1>\r
-                       <KEYWORD1>join</KEYWORD1>\r
-                       <KEYWORD1>macromodule</KEYWORD1>\r
-                       <KEYWORD1>module</KEYWORD1>\r
-                       <KEYWORD1>negedge</KEYWORD1>\r
-                       <KEYWORD1>posedge</KEYWORD1>\r
-                       <KEYWORD1>primitive</KEYWORD1>\r
-                       <KEYWORD1>repeat</KEYWORD1>\r
-                       <KEYWORD1>release</KEYWORD1>\r
-                       <KEYWORD1>specify</KEYWORD1>\r
-                       <KEYWORD1>table</KEYWORD1>\r
-                       <KEYWORD1>task</KEYWORD1>\r
-                       <KEYWORD1>wait</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-\r
-                       <!-- Compiler Directives -->\r
-                       <KEYWORD2>`include</KEYWORD2>\r
-                       <KEYWORD2>`define</KEYWORD2>\r
-                       <KEYWORD2>`undef</KEYWORD2>\r
-                       <KEYWORD2>`ifdef</KEYWORD2>\r
-                       <KEYWORD2>`ifndef</KEYWORD2>\r
-                       <KEYWORD2>`else</KEYWORD2>\r
-                       <KEYWORD2>`endif</KEYWORD2>\r
-                       <KEYWORD2>`timescale</KEYWORD2>\r
-                       <KEYWORD2>`resetall</KEYWORD2>\r
-                       <KEYWORD2>`signed</KEYWORD2>\r
-                       <KEYWORD2>`unsigned</KEYWORD2>\r
-                       <KEYWORD2>`celldefine</KEYWORD2>\r
-                       <KEYWORD2>`endcelldefine</KEYWORD2>\r
-                       <KEYWORD2>`default_nettype</KEYWORD2>\r
-                       <KEYWORD2>`unconnected_drive</KEYWORD2>\r
-                       <KEYWORD2>`nounconnected_drive</KEYWORD2>\r
-                       <KEYWORD2>`protect</KEYWORD2>\r
-                       <KEYWORD2>`endprotect</KEYWORD2>\r
-                       <KEYWORD2>`protected</KEYWORD2>\r
-                       <KEYWORD2>`endprotected</KEYWORD2>\r
-                       <KEYWORD2>`remove_gatename</KEYWORD2>\r
-                       <KEYWORD2>`noremove_gatename</KEYWORD2>\r
-                       <KEYWORD2>`remove_netname</KEYWORD2>\r
-                       <KEYWORD2>`noremove_netname</KEYWORD2>\r
-                       <KEYWORD2>`expand_vectornets</KEYWORD2>\r
-                       <KEYWORD2>`noexpand_vectornets</KEYWORD2>\r
-                       <KEYWORD2>`autoexpand_vectornets</KEYWORD2>\r
-\r
-                       <!-- Type Declaration Keywords -->\r
-                       <KEYWORD3>integer</KEYWORD3>\r
-                       <KEYWORD3>reg</KEYWORD3>\r
-                       <KEYWORD3>time</KEYWORD3>\r
-                       <KEYWORD3>realtime</KEYWORD3>\r
-                       <KEYWORD3>defparam</KEYWORD3>\r
-                       <KEYWORD3>parameter</KEYWORD3>\r
-                       <KEYWORD3>event</KEYWORD3>\r
-                       <KEYWORD3>wire</KEYWORD3>\r
-                       <KEYWORD3>wand</KEYWORD3>\r
-                       <KEYWORD3>wor</KEYWORD3>\r
-                       <KEYWORD3>tri</KEYWORD3>\r
-                       <KEYWORD3>triand</KEYWORD3>\r
-                       <KEYWORD3>trior</KEYWORD3>\r
-                       <KEYWORD3>tri0</KEYWORD3>\r
-                       <KEYWORD3>tri1</KEYWORD3>\r
-                       <KEYWORD3>trireg</KEYWORD3>\r
-                       <KEYWORD3>vectored</KEYWORD3>\r
-                       <KEYWORD3>scalared</KEYWORD3>\r
-                       <KEYWORD3>input</KEYWORD3>\r
-                       <KEYWORD3>output</KEYWORD3>\r
-                       <KEYWORD3>inout</KEYWORD3>\r
-\r
-                       <!-- Signal Strengths -->\r
-                       <KEYWORD3>supply0</KEYWORD3>\r
-                       <KEYWORD3>supply1</KEYWORD3>\r
-                       <KEYWORD3>strong0</KEYWORD3>\r
-                       <KEYWORD3>strong1</KEYWORD3>\r
-                       <KEYWORD3>pull0</KEYWORD3>\r
-                       <KEYWORD3>pull1</KEYWORD3>\r
-                       <KEYWORD3>weak0</KEYWORD3>\r
-                       <KEYWORD3>weak1</KEYWORD3>\r
-                       <KEYWORD3>highz0</KEYWORD3>\r
-                       <KEYWORD3>highz1</KEYWORD3>\r
-                       <KEYWORD3>small</KEYWORD3>\r
-                       <KEYWORD3>medium</KEYWORD3>\r
-                       <KEYWORD3>large</KEYWORD3>\r
-\r
-                       <!-- System Tasks With No/Optional Arguments -->\r
-                       <FUNCTION>$stop</FUNCTION>\r
-                       <FUNCTION>$finish</FUNCTION>\r
-                       <FUNCTION>$time</FUNCTION>\r
-                       <FUNCTION>$stime</FUNCTION>\r
-                       <FUNCTION>$realtime</FUNCTION>\r
-                       <FUNCTION>$settrace</FUNCTION>\r
-                       <FUNCTION>$cleartrace</FUNCTION>\r
-                       <FUNCTION>$showscopes</FUNCTION>\r
-                       <FUNCTION>$showvars</FUNCTION>\r
-                       <FUNCTION>$monitoron</FUNCTION>\r
-                       <FUNCTION>$monitoroff</FUNCTION>\r
-                       <FUNCTION>$random</FUNCTION>\r
-                       <FUNCTION>$printtimescale</FUNCTION>\r
-                       <FUNCTION>$timeformat</FUNCTION>\r
-\r
-                       <!-- Built-in primitives -->\r
-                       <FUNCTION>and</FUNCTION>\r
-                       <FUNCTION>nand</FUNCTION>\r
-                       <FUNCTION>or</FUNCTION>\r
-                       <FUNCTION>nor</FUNCTION>\r
-                       <FUNCTION>xor</FUNCTION>\r
-                       <FUNCTION>xnor</FUNCTION>\r
-                       <FUNCTION>buf</FUNCTION>\r
-                       <FUNCTION>bufif0</FUNCTION>\r
-                       <FUNCTION>bufif1</FUNCTION>\r
-                       <FUNCTION>not</FUNCTION>\r
-                       <FUNCTION>notif0</FUNCTION>\r
-                       <FUNCTION>notif1</FUNCTION>\r
-                       <FUNCTION>nmos</FUNCTION>\r
-                       <FUNCTION>pmos</FUNCTION>\r
-                       <FUNCTION>cmos</FUNCTION>\r
-                       <FUNCTION>rnmos</FUNCTION>\r
-                       <FUNCTION>rpmos</FUNCTION>\r
-                       <FUNCTION>rcmos</FUNCTION>\r
-                       <FUNCTION>tran</FUNCTION>\r
-                       <FUNCTION>tranif0</FUNCTION>\r
-                       <FUNCTION>tranif1</FUNCTION>\r
-                       <FUNCTION>rtran</FUNCTION>\r
-                       <FUNCTION>rtranif0</FUNCTION>\r
-                       <FUNCTION>rtranif1</FUNCTION>\r
-                       <FUNCTION>pullup</FUNCTION>\r
-                       <FUNCTION>pulldown</FUNCTION>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/modes/vhdl.xml b/extra/xmode/modes/vhdl.xml
deleted file mode 100644 (file)
index a5d6dce..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!-- VHDL mode, contributed by Dante Fabrizio and Nitsan Vardi -->\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="label" VALUE="VHDL" />\r
-               <PROPERTY NAME="lineComment" VALUE="--" />\r
-       </PROPS>\r
-       <RULES ESCAPE="\" IGNORE_CASE="TRUE">\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="NULL">'event</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">/=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">**</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
-                       AT_LINE_START="FALSE">: </MARK_PREVIOUS>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>architecture</KEYWORD1>\r
-                       <KEYWORD1>alias</KEYWORD1>\r
-                       <KEYWORD1>assert</KEYWORD1>\r
-                       <KEYWORD1>entity</KEYWORD1>\r
-                       <KEYWORD1>process</KEYWORD1>\r
-                       <KEYWORD1>variable</KEYWORD1>\r
-                       <KEYWORD1>signal</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>generic</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>out</KEYWORD1>\r
-                       <KEYWORD1>inout</KEYWORD1>\r
-                       <KEYWORD1>begin</KEYWORD1>\r
-                       <KEYWORD1>end</KEYWORD1>\r
-                       <KEYWORD1>component</KEYWORD1>\r
-                       <KEYWORD1>use</KEYWORD1>\r
-                       <KEYWORD1>library</KEYWORD1>\r
-                       <KEYWORD1>loop</KEYWORD1>\r
-                       <KEYWORD1>constant</KEYWORD1>\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>port</KEYWORD1>\r
-                       <KEYWORD1>is</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>of</KEYWORD1>\r
-                       <KEYWORD1>array</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>elsif</KEYWORD1>\r
-                       <KEYWORD1>when</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>downto</KEYWORD1>\r
-                       <KEYWORD1>upto</KEYWORD1>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>type</KEYWORD1>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>others</KEYWORD1>\r
-                       <KEYWORD1>all</KEYWORD1>\r
-                       <KEYWORD1>record</KEYWORD1>\r
-                       <KEYWORD1>range</KEYWORD1>\r
-                       <KEYWORD1>wait</KEYWORD1>\r
-\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD2>import</KEYWORD2>\r
-                       <KEYWORD2>std_logic</KEYWORD2>\r
-                       <KEYWORD2>std_ulogic</KEYWORD2>\r
-                       <KEYWORD2>std_logic_vector</KEYWORD2>\r
-                       <KEYWORD2>std_ulogic_vector</KEYWORD2>\r
-                       <KEYWORD2>integer</KEYWORD2>\r
-                       <KEYWORD2>natural</KEYWORD2>\r
-                       <KEYWORD2>bit</KEYWORD2>\r
-                       <KEYWORD2>bit_vector</KEYWORD2>\r
-\r
-\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>nor</OPERATOR>\r
-                       <OPERATOR>not</OPERATOR>\r
-                       <OPERATOR>nand</OPERATOR>\r
-                       <OPERATOR>and</OPERATOR>\r
-                       <OPERATOR>xnor</OPERATOR>\r
-                       <OPERATOR>sll</OPERATOR>\r
-                       <OPERATOR>srl</OPERATOR>\r
-                       <OPERATOR>sla</OPERATOR>\r
-                       <OPERATOR>sra</OPERATOR>\r
-                       <OPERATOR>rol</OPERATOR>\r
-                       <OPERATOR>ror</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-                       <OPERATOR>rem</OPERATOR>\r
-                       <OPERATOR>abs</OPERATOR>\r
-\r
-                       <KEYWORD3>EVENT</KEYWORD3>\r
-                       <KEYWORD3>BASE</KEYWORD3>\r
-                       <KEYWORD3>LEFT</KEYWORD3>\r
-                       <KEYWORD3>RIGHT</KEYWORD3>\r
-                       <KEYWORD3>LOW</KEYWORD3>\r
-                       <KEYWORD3>HIGH</KEYWORD3>\r
-                       <KEYWORD3>ASCENDING</KEYWORD3>\r
-                       <KEYWORD3>IMAGE</KEYWORD3>\r
-                       <KEYWORD3>VALUE</KEYWORD3>\r
-                       <KEYWORD3>POS</KEYWORD3>\r
-                       <KEYWORD3>VAL</KEYWORD3>\r
-                       <KEYWORD3>SUCC</KEYWORD3>\r
-                       <KEYWORD3>VAL</KEYWORD3>\r
-                       <KEYWORD3>POS</KEYWORD3>\r
-                       <KEYWORD3>PRED</KEYWORD3>\r
-                       <KEYWORD3>VAL</KEYWORD3>\r
-                       <KEYWORD3>POS</KEYWORD3>\r
-                       <KEYWORD3>LEFTOF</KEYWORD3>\r
-                       <KEYWORD3>RIGHTOF</KEYWORD3>\r
-                       <KEYWORD3>LEFT</KEYWORD3>\r
-                       <KEYWORD3>RIGHT</KEYWORD3>\r
-                       <KEYWORD3>LOW</KEYWORD3>\r
-                       <KEYWORD3>HIGH</KEYWORD3>\r
-                       <KEYWORD3>RANGE</KEYWORD3>\r
-                       <KEYWORD3>REVERSE</KEYWORD3>\r
-                       <KEYWORD3>LENGTH</KEYWORD3>\r
-                       <KEYWORD3>ASCENDING</KEYWORD3>\r
-                       <KEYWORD3>DELAYED</KEYWORD3>\r
-                       <KEYWORD3>STABLE</KEYWORD3>\r
-                       <KEYWORD3>QUIET</KEYWORD3>\r
-                       <KEYWORD3>TRANSACTION</KEYWORD3>\r
-                       <KEYWORD3>EVENT</KEYWORD3>\r
-                       <KEYWORD3>ACTIVE</KEYWORD3>\r
-                       <KEYWORD3>LAST</KEYWORD3>\r
-                       <KEYWORD3>LAST</KEYWORD3>\r
-                       <KEYWORD3>LAST</KEYWORD3>\r
-                       <KEYWORD3>DRIVING</KEYWORD3>\r
-                       <KEYWORD3>DRIVING</KEYWORD3>\r
-                       <KEYWORD3>SIMPLE</KEYWORD3>\r
-                       <KEYWORD3>INSTANCE</KEYWORD3>\r
-                       <KEYWORD3>PATH</KEYWORD3>\r
-\r
-                       <FUNCTION>rising_edge</FUNCTION>\r
-                       <FUNCTION>shift_left</FUNCTION>\r
-                       <FUNCTION>shift_right</FUNCTION>\r
-                       <FUNCTION>rotate_left</FUNCTION>\r
-                       <FUNCTION>rotate_right</FUNCTION>\r
-                       <FUNCTION>resize</FUNCTION>\r
-                       <FUNCTION>std_match</FUNCTION>\r
-                       <FUNCTION>to_integer</FUNCTION>\r
-                       <FUNCTION>to_unsigned</FUNCTION>\r
-                       <FUNCTION>to_signed</FUNCTION>\r
-                       <FUNCTION>unsigned</FUNCTION>\r
-                       <FUNCTION>signed</FUNCTION>\r
-                       <FUNCTION>to_bit</FUNCTION>\r
-                       <FUNCTION>to_bitvector</FUNCTION>\r
-                       <FUNCTION>to_stdulogic</FUNCTION>\r
-                       <FUNCTION>to_stdlogicvector</FUNCTION>\r
-                       <FUNCTION>to_stdulogicvector</FUNCTION>\r
-\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-               </KEYWORDS>\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/xml.xml b/extra/xmode/modes/xml.xml
deleted file mode 100644 (file)
index 116be46..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD Entity declarations -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">\r
-                       <BEGIN>&lt;!ENTITY</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA sections -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- PI directives -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>&lt;?</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-       </RULES>\r
-       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE" NO_WORD_SEP="-_">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <!-- Parameter entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- This appears in some SGML documents -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>CDATA</KEYWORD1>\r
-                       <KEYWORD1>EMPTY</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>IGNORE</KEYWORD1>\r
-                       <KEYWORD1>NDATA</KEYWORD1>\r
-                       <KEYWORD1>#IMPLIED</KEYWORD1>\r
-                       <KEYWORD1>#PCDATA</KEYWORD1>\r
-                       <KEYWORD1>#REQUIRED</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>SYSTEM</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-       <RULES SET="CDATA" DEFAULT="COMMENT2">\r
-               <!-- no rules -->\r
-       </RULES>\r
-</MODE>\r
diff --git a/extra/xmode/modes/xq.xml b/extra/xmode/modes/xq.xml
deleted file mode 100644 (file)
index b49dc68..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="commentStart" VALUE="(:" />\r
-               <PROPERTY NAME="commentEnd" VALUE=":)" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=":,+=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <!-- <PROPERTY NAME="indentOpenBrackets" VALUE="{" /> -->\r
-               <!-- <PROPERTY NAME="indentCloseBrackets" VALUE="}" /> -->\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-\r
-               <!-- DTD Entity declarations -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">\r
-                       <BEGIN>&lt;!ENTITY</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA sections -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- PI directives -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>&lt;?</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN><![CDATA[<[a-zA-Z/]\w*]]></BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-       </RULES>\r
-\r
-       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <!-- Parameter entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- This appears in some SGML documents -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>CDATA</KEYWORD1>\r
-                       <KEYWORD1>EMPTY</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>IGNORE</KEYWORD1>\r
-                       <KEYWORD1>NDATA</KEYWORD1>\r
-                       <KEYWORD1>#IMPLIED</KEYWORD1>\r
-                       <KEYWORD1>#PCDATA</KEYWORD1>\r
-                       <KEYWORD1>#REQUIRED</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>SYSTEM</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="CDATA" DEFAULT="COMMENT2">\r
-               <!-- no rules -->\r
-       </RULES>\r
-\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">\r
-\r
-               <!-- XQuery style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>(:</BEGIN>\r
-                       <END>:)</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-<!--\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
- -->\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <!-- unary -/+ ? -->\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">//</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <OPERATOR>some</OPERATOR>\r
-                       <OPERATOR>every</OPERATOR>\r
-\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>and</OPERATOR>\r
-\r
-                       <OPERATOR>instance of</OPERATOR>\r
-\r
-                       <OPERATOR>treat as</OPERATOR>\r
-\r
-                       <OPERATOR>castable as</OPERATOR>\r
-\r
-                       <OPERATOR>cast as</OPERATOR>\r
-\r
-                       <OPERATOR>eq</OPERATOR>\r
-                       <OPERATOR>ne</OPERATOR>\r
-                       <OPERATOR>lt</OPERATOR>\r
-                       <OPERATOR>gt</OPERATOR>\r
-                       <OPERATOR>ge</OPERATOR>\r
-                       <OPERATOR>is</OPERATOR>\r
-\r
-                       <OPERATOR>to</OPERATOR>\r
-\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>idiv</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-\r
-                       <OPERATOR>union</OPERATOR>\r
-\r
-                       <OPERATOR>intersect</OPERATOR>\r
-                       <OPERATOR>except</OPERATOR>\r
-\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>at</KEYWORD1>\r
-\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>:=</KEYWORD1>\r
-\r
-                       <KEYWORD1>where</KEYWORD1>\r
-\r
-                       <KEYWORD1>stable</KEYWORD1>\r
-                       <KEYWORD1>order</KEYWORD1>\r
-                       <KEYWORD1>by</KEYWORD1>\r
-\r
-                       <LITERAL2>ascending</LITERAL2>\r
-                       <LITERAL2>descending</LITERAL2>\r
-\r
-                       <LITERAL2>greatest</LITERAL2>\r
-                       <LITERAL2>least</LITERAL2>\r
-                       <LITERAL2>collation</LITERAL2>\r
-\r
-                       <KEYWORD3>typeswitch</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-\r
-                       <KEYWORD1>cast</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-\r
-                       <KEYWORD3>xquery</KEYWORD3>\r
-                       <KEYWORD3>version</KEYWORD3>\r
-\r
-                       <KEYWORD3>declare</KEYWORD3>\r
-                       <KEYWORD3>function</KEYWORD3>\r
-                       <KEYWORD3>library</KEYWORD3>\r
-                       <KEYWORD3>variable</KEYWORD3>\r
-                       <KEYWORD3>module</KEYWORD3>\r
-                       <KEYWORD3>namespace</KEYWORD3>\r
-                       <KEYWORD3>local</KEYWORD3>\r
-\r
-                       <KEYWORD3>validate</KEYWORD3>\r
-                       <KEYWORD3>import</KEYWORD3>\r
-                       <KEYWORD3>schema</KEYWORD3>\r
-                       <KEYWORD3>validation</KEYWORD3>\r
-                       <KEYWORD3>collection</KEYWORD3>\r
-\r
-                       <KEYWORD3>ancestor</KEYWORD3>\r
-                       <KEYWORD3>descendant</KEYWORD3>\r
-                       <KEYWORD3>self</KEYWORD3>\r
-                       <KEYWORD3>parent</KEYWORD3>\r
-                       <KEYWORD3>child</KEYWORD3>\r
-                       <KEYWORD3>self</KEYWORD3>\r
-                       <KEYWORD3>descendant-or-self</KEYWORD3>\r
-                       <KEYWORD3>ancestor-or-self</KEYWORD3>\r
-                       <KEYWORD3>preceding-sibling</KEYWORD3>\r
-                       <KEYWORD3>following-sibling</KEYWORD3>\r
-                       <KEYWORD3>following</KEYWORD3>\r
-                       <KEYWORD3>preceding</KEYWORD3>\r
-\r
-                       <KEYWORD4>xs:integer</KEYWORD4>\r
-                       <KEYWORD4>xs:decimal</KEYWORD4>\r
-                       <KEYWORD4>xs:double</KEYWORD4>\r
-                       <KEYWORD4>xs:string</KEYWORD4>\r
-                       <KEYWORD4>xs:date</KEYWORD4>\r
-                       <KEYWORD4>xs:time</KEYWORD4>\r
-                       <KEYWORD4>xs:dateTime</KEYWORD4>\r
-                       <KEYWORD4>xs:boolean</KEYWORD4>\r
-\r
-                       <KEYWORD4>item</KEYWORD4>\r
-                       <KEYWORD4>element</KEYWORD4>\r
-                       <KEYWORD4>attribute</KEYWORD4>\r
-                       <KEYWORD4>comment</KEYWORD4>\r
-                       <KEYWORD4>document</KEYWORD4>\r
-                       <KEYWORD4>document-node</KEYWORD4>\r
-                       <KEYWORD4>node</KEYWORD4>\r
-                       <KEYWORD4>empty</KEYWORD4>\r
-\r
-                       <FUNCTION>zero-or-one</FUNCTION>\r
-                       <FUNCTION>avg</FUNCTION>\r
-                       <FUNCTION>base-uri</FUNCTION>\r
-                       <FUNCTION>boolean</FUNCTION>\r
-                       <FUNCTION>ceiling</FUNCTION>\r
-                       <FUNCTION>codepoints-to-string</FUNCTION>\r
-                       <FUNCTION>collection</FUNCTION>\r
-                       <FUNCTION>compare</FUNCTION>\r
-                       <FUNCTION>concat</FUNCTION>\r
-                       <FUNCTION>contains</FUNCTION>\r
-                       <FUNCTION>count</FUNCTION>\r
-                       <FUNCTION>current-date</FUNCTION>\r
-                       <FUNCTION>current-dateTime</FUNCTION>\r
-                       <FUNCTION>current-time</FUNCTION>\r
-                       <FUNCTION>data</FUNCTION>\r
-                       <FUNCTION>day-from-date</FUNCTION>\r
-                       <FUNCTION>day-from-dateTime</FUNCTION>\r
-                       <FUNCTION>days-from-duration</FUNCTION>\r
-                       <FUNCTION>deep-equal</FUNCTION>\r
-                       <FUNCTION>distinct-values</FUNCTION>\r
-                       <FUNCTION>doc</FUNCTION>\r
-                       <FUNCTION>adjust-time-to-timezone</FUNCTION>\r
-                       <FUNCTION>adjust-dateTime-to-timezone</FUNCTION>\r
-                       <FUNCTION>string-length</FUNCTION>\r
-                       <FUNCTION>string-join</FUNCTION>\r
-                       <FUNCTION>string</FUNCTION>\r
-                       <FUNCTION>starts-with</FUNCTION>\r
-                       <FUNCTION>seconds-from-time</FUNCTION>\r
-                       <FUNCTION>seconds-from-duration</FUNCTION>\r
-                       <FUNCTION>seconds-from-dateTime</FUNCTION>\r
-                       <FUNCTION>round-half-to-even</FUNCTION>\r
-                       <FUNCTION>round</FUNCTION>\r
-                       <FUNCTION>root</FUNCTION>\r
-                       <FUNCTION>reverse</FUNCTION>\r
-                       <FUNCTION>replace</FUNCTION>\r
-                       <FUNCTION>remove</FUNCTION>\r
-                       <FUNCTION>prefix-from-QName</FUNCTION>\r
-                       <FUNCTION>position</FUNCTION>\r
-                       <FUNCTION>one-or-more</FUNCTION>\r
-                       <FUNCTION>number</FUNCTION>\r
-                       <FUNCTION>QName</FUNCTION>\r
-                       <FUNCTION>abs</FUNCTION>\r
-                       <FUNCTION>adjust-date-to-timezone</FUNCTION>\r
-                       <FUNCTION>doc-available</FUNCTION>\r
-                       <FUNCTION>doctype</FUNCTION>\r
-                       <FUNCTION>document</FUNCTION>\r
-                       <FUNCTION>last</FUNCTION>\r
-                       <FUNCTION>local-name</FUNCTION>\r
-                       <FUNCTION>local-name-from-QName</FUNCTION>\r
-                       <FUNCTION>lower-case</FUNCTION>\r
-                       <FUNCTION>match-all</FUNCTION>\r
-                       <FUNCTION>match-any</FUNCTION>\r
-                       <FUNCTION>matches</FUNCTION>\r
-                       <FUNCTION>max</FUNCTION>\r
-                       <FUNCTION>min</FUNCTION>\r
-                       <FUNCTION>minutes-from-dateTime</FUNCTION>\r
-                       <FUNCTION>minutes-from-duration</FUNCTION>\r
-                       <FUNCTION>minutes-from-time</FUNCTION>\r
-                       <FUNCTION>month-from-date</FUNCTION>\r
-                       <FUNCTION>month-from-dateTime</FUNCTION>\r
-                       <FUNCTION>name</FUNCTION>\r
-                       <FUNCTION>namespace-uri</FUNCTION>\r
-                       <FUNCTION>namespace-uri-for-prefix</FUNCTION>\r
-                       <FUNCTION>namespace-uri-from-QName</FUNCTION>\r
-                       <FUNCTION>node-name</FUNCTION>\r
-                       <FUNCTION>normalize-space</FUNCTION>\r
-                       <FUNCTION>lang</FUNCTION>\r
-                       <FUNCTION>item-at</FUNCTION>\r
-                       <FUNCTION>document-uri</FUNCTION>\r
-                       <FUNCTION>empty</FUNCTION>\r
-                       <FUNCTION>encode-for-uri</FUNCTION>\r
-                       <FUNCTION>ends-with</FUNCTION>\r
-                       <FUNCTION>error</FUNCTION>\r
-                       <FUNCTION>escape-html-uri</FUNCTION>\r
-                       <FUNCTION>escape-uri</FUNCTION>\r
-                       <FUNCTION>exactly-one</FUNCTION>\r
-                       <FUNCTION>exists</FUNCTION>\r
-                       <FUNCTION>false</FUNCTION>\r
-                       <FUNCTION>floor</FUNCTION>\r
-                       <FUNCTION>hours-from-dateTime</FUNCTION>\r
-                       <FUNCTION>hours-from-duration</FUNCTION>\r
-                       <FUNCTION>hours-from-time</FUNCTION>\r
-                       <FUNCTION>id</FUNCTION>\r
-                       <FUNCTION>implicit-timezone</FUNCTION>\r
-                       <FUNCTION>in-scope-prefixes</FUNCTION>\r
-                       <FUNCTION>index-of</FUNCTION>\r
-                       <FUNCTION>insert-before</FUNCTION>\r
-                       <FUNCTION>iri-to-uri</FUNCTION>\r
-                       <FUNCTION>string-pad</FUNCTION>\r
-                       <FUNCTION>string-to-codepoints</FUNCTION>\r
-                       <FUNCTION>sum</FUNCTION>\r
-                       <FUNCTION>timezone-from-date</FUNCTION>\r
-                       <FUNCTION>timezone-from-dateTime</FUNCTION>\r
-                       <FUNCTION>timezone-from-time</FUNCTION>\r
-                       <FUNCTION>not</FUNCTION>\r
-                       <FUNCTION>tokenize</FUNCTION>\r
-                       <FUNCTION>translate</FUNCTION>\r
-                       <FUNCTION>true</FUNCTION>\r
-                       <FUNCTION>unordered</FUNCTION>\r
-                       <FUNCTION>upper-case</FUNCTION>\r
-                       <FUNCTION>xcollection</FUNCTION>\r
-                       <FUNCTION>year-from-date</FUNCTION>\r
-                       <FUNCTION>year-from-dateTime</FUNCTION>\r
-                       <FUNCTION>substring-before</FUNCTION>\r
-                       <FUNCTION>subsequence</FUNCTION>\r
-                       <FUNCTION>substring</FUNCTION>\r
-                       <FUNCTION>substring-after</FUNCTION>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/xsl.xml b/extra/xmode/modes/xsl.xml
deleted file mode 100644 (file)
index 94a5610..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd"><!--\r
-  ======================================================================\r
-  Edit mode for XSLT 1.0 and XSLT 2.0\r
-  ======================================================================\r
-  Token types:\r
-\r
-  COMMENT1    XML comments\r
-  COMMENT2    XPath 2.0 comments - top or nested within COMMENT3\r
-  COMMENT3    XPath 2.0 comments - nested within COMMENT2\r
-  COMMENT4    Default task names used in Task List\r
-  DIGIT       Digits\r
-  FUNCTION    Functions\r
-  INVALID     -\r
-  KEYWORD1    XSLT element names\r
-  KEYWORD2    XSLT attribute names\r
-  KEYWORD3    Attribute values\r
-  KEYWORD4    Axes specifiers\r
-  LABEL       Namespace prefixes\r
-  LITERAL1    String literals\r
-  LITERAL2    Parameter and variable references\r
-  LITERAL3    Entity references and processing instructions\r
-  LITERAL4    DTD constructs and CDATA sections\r
-  MARKUP      Result elements and extension elements\r
-  OPERATOR    XPath 2.0 keywords + some other stuff\r
-  ======================================================================\r
--->\r
-\r
-<MODE>\r
-\r
-  <PROPS>\r
-    <PROPERTY NAME="commentStart" VALUE="&lt;!--"/>\r
-    <PROPERTY NAME="commentEnd" VALUE="--&gt;"/>\r
-  </PROPS>\r
-\r
-  <RULES HIGHLIGHT_DIGITS="FALSE" IGNORE_CASE="FALSE">\r
-\r
-    <!-- XML comments -->\r
-    <SPAN DELEGATE="TASKS" TYPE="COMMENT1">\r
-      <BEGIN>&lt;!--</BEGIN>\r
-      <END>--&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- Assume 'xsl' prefix for XSLT elements -->\r
-    <SPAN_REGEXP HASH_CHAR="&lt;" DELEGATE="XSLTAGS" TYPE="KEYWORD2">\r
-      <BEGIN>&lt;(?=xsl:)</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <SPAN_REGEXP HASH_CHAR="&lt;" DELEGATE="XSLTAGS" TYPE="KEYWORD2">\r
-      <BEGIN>&lt;(?=/xsl:)</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <!-- CDATA marked sections. Reuse common xml mode -->\r
-    <SPAN TYPE="KEYWORD2" DELEGATE="xml::CDATA">\r
-      <BEGIN>&lt;![CDATA[</BEGIN>\r
-      <END>]]&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- DTD constructs. Reuse common xml mode  -->\r
-    <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-      <BEGIN>&lt;!</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- Entity references -->\r
-    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
-      <BEGIN>&amp;</BEGIN>\r
-      <END>;</END>\r
-    </SPAN>\r
-\r
-    <!-- Processing instructions -->\r
-    <SPAN TYPE="LITERAL3">\r
-      <BEGIN>&lt;?</BEGIN>\r
-      <END>?&gt;</END>\r
-    </SPAN>\r
-\r
-    <!-- Result elements and extension elements -->\r
-    <SPAN DELEGATE="TAGS" TYPE="MARKUP">\r
-      <BEGIN>&lt;</BEGIN>\r
-      <END>&gt;</END>\r
-    </SPAN>\r
-  </RULES>\r
-\r
-  <!-- XML comments -->\r
-  <RULES DEFAULT="COMMENT1" IGNORE_CASE="FALSE" SET="TASKS">\r
-    <!-- Default task names used in Task List -->\r
-    <KEYWORDS>\r
-      <COMMENT4>DEBUG:</COMMENT4>\r
-      <COMMENT4>DONE:</COMMENT4>\r
-      <COMMENT4>FIXME:</COMMENT4>\r
-      <COMMENT4>IDEA:</COMMENT4>\r
-      <COMMENT4>NOTE:</COMMENT4>\r
-      <COMMENT4>QUESTION:</COMMENT4>\r
-      <COMMENT4>TODO:</COMMENT4>\r
-      <COMMENT4>XXX</COMMENT4>\r
-      <COMMENT4>???</COMMENT4>\r
-    </KEYWORDS>\r
-  </RULES>\r
-\r
-  <!-- Result elements and extension elements -->\r
-  <RULES DEFAULT="MARKUP" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="TAGS">\r
-\r
-    <!-- Highlight all AVTs in result attribute values. -->\r
-    <SPAN TYPE="MARKUP" DELEGATE="AVT">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="MARKUP" DELEGATE="AVT">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <!-- Namespace declarations -->\r
-    <SEQ TYPE="OPERATOR">xmlns:</SEQ>\r
-    <!-- Default namespace declaration. Not really used in XSLT -->\r
-    <SEQ TYPE="OPERATOR">xmlns</SEQ>\r
-\r
-    <!-- Namespace prefixes -->\r
-    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-  </RULES>\r
-\r
-  <!-- AVTs -->\r
-  <RULES DEFAULT="KEYWORD3" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="AVT">\r
-\r
-    <!-- Literal curly braces ({}) must be written as {{ or }} -->\r
-    <SEQ>{{</SEQ>\r
-    <SEQ>}}</SEQ><!-- Does nothing. Is overridden by the SPAN below. -->\r
-\r
-    <!-- The AVT itself -->\r
-    <SPAN DELEGATE="XPATH" TYPE="OPERATOR">\r
-      <BEGIN>{</BEGIN>\r
-      <END>}</END>\r
-    </SPAN>\r
-\r
-    <!-- Entity references -->\r
-    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
-      <BEGIN>&amp;</BEGIN>\r
-      <END>;</END>\r
-    </SPAN>\r
-\r
-  </RULES>\r
-\r
-  <!-- XSLT tags -->\r
-  <RULES DEFAULT="KEYWORD2" HIGHLIGHT_DIGITS="FALSE" NO_WORD_SEP=".-_:" SET="XSLTAGS">\r
-\r
-    <!-- If we spot something that looks like an AVT, assume it is. Lazy, I know... -->\r
-    <SPAN TYPE="KEYWORD2" DELEGATE="AVT">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="KEYWORD2" DELEGATE="AVT">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <!-- XSLT attributes that contains XPath expressions or match patterns -->\r
-    <!-- count -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="count" DELEGATE="XPATH">\r
-      <BEGIN>count[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="count" DELEGATE="XPATH">\r
-      <BEGIN>count[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- from -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="from" DELEGATE="XPATH">\r
-      <BEGIN>from[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="from" DELEGATE="XPATH">\r
-      <BEGIN>from[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- group-adjacent -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-adjacent" DELEGATE="XPATH">\r
-      <BEGIN>group-adjacent[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-adjacent" DELEGATE="XPATH">\r
-      <BEGIN>group-adjacent[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- group-by -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-by" DELEGATE="XPATH">\r
-      <BEGIN>group-by[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-by" DELEGATE="XPATH">\r
-      <BEGIN>group-by[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- group-ending-with -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-ending-with" DELEGATE="XPATH">\r
-      <BEGIN>group-ending-with[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-ending-with" DELEGATE="XPATH">\r
-      <BEGIN>group-ending-with[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- group-starting-with -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-starting-with" DELEGATE="XPATH">\r
-      <BEGIN>group-starting-with[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="group-starting-with" DELEGATE="XPATH">\r
-      <BEGIN>group-starting-with[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- match -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="match" DELEGATE="XPATH">\r
-      <BEGIN>match[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="match" DELEGATE="XPATH">\r
-      <BEGIN>match[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- select -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="select" DELEGATE="XPATH">\r
-      <BEGIN>select[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="select" DELEGATE="XPATH">\r
-      <BEGIN>select[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- test -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="test" DELEGATE="XPATH">\r
-      <BEGIN>test[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="test" DELEGATE="XPATH">\r
-      <BEGIN>test[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-    <!-- use -->\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="use" DELEGATE="XPATH">\r
-      <BEGIN>use[\p{Space}]*=[\p{Space}]*"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN_REGEXP>\r
-    <SPAN_REGEXP TYPE="KEYWORD2" HASH_CHAR="use" DELEGATE="XPATH">\r
-      <BEGIN>use[\p{Space}]*=[\p{Space}]*'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN_REGEXP>\r
-\r
-    <!-- Namespace declarations -->\r
-    <SEQ TYPE="OPERATOR">xmlns:</SEQ>\r
-    <!-- Default namespace declaration. Not really used in XSLT -->\r
-    <SEQ TYPE="OPERATOR">xmlns</SEQ>\r
-\r
-    <!-- Namespace prefixes -->\r
-    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-    <!-- XSLT 2.0 element names -->\r
-    <KEYWORDS>\r
-      <KEYWORD1>analyze-string</KEYWORD1>\r
-      <KEYWORD1>apply-imports</KEYWORD1>\r
-      <KEYWORD1>apply-templates</KEYWORD1>\r
-      <KEYWORD1>attribute</KEYWORD1>\r
-      <KEYWORD1>attribute-set</KEYWORD1>\r
-      <KEYWORD1>call-template</KEYWORD1>\r
-      <KEYWORD1>character-map</KEYWORD1>\r
-      <KEYWORD1>choose</KEYWORD1>\r
-      <KEYWORD1>comment</KEYWORD1>\r
-      <KEYWORD1>copy</KEYWORD1>\r
-      <KEYWORD1>copy-of</KEYWORD1>\r
-      <KEYWORD1>date-format</KEYWORD1>\r
-      <KEYWORD1>decimal-format</KEYWORD1>\r
-      <KEYWORD1>element</KEYWORD1>\r
-      <KEYWORD1>fallback</KEYWORD1>\r
-      <KEYWORD1>for-each</KEYWORD1>\r
-      <KEYWORD1>for-each-group</KEYWORD1>\r
-      <KEYWORD1>function</KEYWORD1>\r
-      <KEYWORD1>if</KEYWORD1>\r
-      <KEYWORD1>import</KEYWORD1>\r
-      <KEYWORD1>import-schema</KEYWORD1>\r
-      <KEYWORD1>include</KEYWORD1>\r
-      <KEYWORD1>key</KEYWORD1>\r
-      <KEYWORD1>matching-substring</KEYWORD1>\r
-      <KEYWORD1>message</KEYWORD1>\r
-      <KEYWORD1>namespace</KEYWORD1>\r
-      <KEYWORD1>namespace-alias</KEYWORD1>\r
-      <KEYWORD1>next-match</KEYWORD1>\r
-      <KEYWORD1>non-matching-substring</KEYWORD1>\r
-      <KEYWORD1>number</KEYWORD1>\r
-      <KEYWORD1>otherwise</KEYWORD1>\r
-      <KEYWORD1>output</KEYWORD1>\r
-      <KEYWORD1>output-character</KEYWORD1>\r
-      <KEYWORD1>param</KEYWORD1>\r
-      <KEYWORD1>preserve-space</KEYWORD1>\r
-      <KEYWORD1>processing-instruction</KEYWORD1>\r
-      <KEYWORD1>result-document</KEYWORD1>\r
-      <KEYWORD1>sequence</KEYWORD1>\r
-      <KEYWORD1>sort</KEYWORD1>\r
-      <KEYWORD1>sort-key</KEYWORD1>\r
-      <KEYWORD1>strip-space</KEYWORD1>\r
-      <KEYWORD1>stylesheet</KEYWORD1>\r
-      <KEYWORD1>template</KEYWORD1>\r
-      <KEYWORD1>text</KEYWORD1>\r
-      <KEYWORD1>transform</KEYWORD1>\r
-      <KEYWORD1>value-of</KEYWORD1>\r
-      <KEYWORD1>variable</KEYWORD1>\r
-      <KEYWORD1>when</KEYWORD1>\r
-      <KEYWORD1>with-param</KEYWORD1>\r
-    </KEYWORDS>\r
-\r
-  </RULES>\r
-\r
-  <RULES DEFAULT="KEYWORD3" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[\p{Digit}]+([\p{Punct}][\p{Digit}]+)?" NO_WORD_SEP=".-_" SET="XPATH">\r
-    <!-- String literals -->\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>"</BEGIN>\r
-      <END>"</END>\r
-    </SPAN>\r
-    <SPAN TYPE="LITERAL1">\r
-      <BEGIN>'</BEGIN>\r
-      <END>'</END>\r
-    </SPAN>\r
-\r
-    <!-- XPath comments -->\r
-    <SPAN TYPE="COMMENT2" DELEGATE="XPATHCOMMENT2">\r
-      <BEGIN>(:</BEGIN>\r
-      <END>:)</END>\r
-    </SPAN>\r
-\r
-    <!-- Axes specifiers -->\r
-    <MARK_PREVIOUS TYPE="KEYWORD4">::</MARK_PREVIOUS>\r
-    <!-- Abbreviated 'attribute::' -->\r
-    <SEQ TYPE="KEYWORD4">@</SEQ>\r
-\r
-    <!-- XPath 2.0 operators + some other stuff -->\r
-    <!-- Comparison expressions -->\r
-    <SEQ TYPE="OPERATOR">=</SEQ>\r
-    <SEQ TYPE="OPERATOR">!=</SEQ>\r
-    <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-    <SEQ TYPE="OPERATOR">&amp;gt;</SEQ><!-- Treat as operator -->\r
-    <SEQ TYPE="OPERATOR">&amp;lt;</SEQ><!-- Treat as operator -->\r
-    <!-- Optional occurrence indicator -->\r
-    <SEQ TYPE="OPERATOR">?</SEQ>\r
-    <!-- Addition operator, one-or-more occurrence indicator-->\r
-    <SEQ TYPE="OPERATOR">+</SEQ>\r
-    <!-- Multiplication operator, zero-or-more occurrence indicator, node test -->\r
-    <SEQ TYPE="OPERATOR">*</SEQ>\r
-    <!-- Path expression step separator -->\r
-    <SEQ TYPE="OPERATOR">/</SEQ>\r
-    <!-- Union operator -->\r
-    <SEQ TYPE="OPERATOR">|</SEQ>\r
-    <!-- Sequence expression item separator -->\r
-    <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-    <!-- Predicates -->\r
-    <SPAN TYPE="OPERATOR" DELEGATE="XPATH">\r
-      <BEGIN>[</BEGIN>\r
-      <END>]</END>\r
-    </SPAN>\r
-\r
-    <!-- Entity references -->\r
-    <SPAN TYPE="LITERAL3" NO_WORD_BREAK="TRUE">\r
-      <BEGIN>&amp;</BEGIN>\r
-      <END>;</END>\r
-    </SPAN>\r
-\r
-    <!-- Namespace prefixes -->\r
-    <MARK_PREVIOUS TYPE="LABEL">:</MARK_PREVIOUS>\r
-\r
-    <!-- Functions -->\r
-    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-       <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-    <!-- Variables -->\r
-    <MARK_FOLLOWING TYPE="LITERAL2">$</MARK_FOLLOWING>\r
-    <!-- XPath 2.0 keywords + some other stuff -->\r
-    <KEYWORDS>\r
-      <!-- Keywords -->\r
-      <OPERATOR>and</OPERATOR>\r
-      <OPERATOR>as</OPERATOR>\r
-      <OPERATOR>castable</OPERATOR>\r
-      <OPERATOR>div</OPERATOR>\r
-      <OPERATOR>else</OPERATOR>\r
-      <OPERATOR>eq</OPERATOR>\r
-      <OPERATOR>every</OPERATOR>\r
-      <OPERATOR>except</OPERATOR>\r
-      <OPERATOR>for</OPERATOR>\r
-      <OPERATOR>ge</OPERATOR>\r
-      <OPERATOR>gt</OPERATOR>\r
-      <OPERATOR>idiv</OPERATOR>\r
-      <OPERATOR>if</OPERATOR>\r
-      <OPERATOR>in</OPERATOR>\r
-      <OPERATOR>instance</OPERATOR>\r
-      <OPERATOR>intersect</OPERATOR>\r
-      <OPERATOR>is</OPERATOR>\r
-      <OPERATOR>isnot</OPERATOR>\r
-      <OPERATOR>le</OPERATOR>\r
-      <OPERATOR>lt</OPERATOR>\r
-      <OPERATOR>mod</OPERATOR>\r
-      <OPERATOR>nillable</OPERATOR>\r
-      <OPERATOR>ne</OPERATOR>\r
-      <OPERATOR>of</OPERATOR>\r
-      <OPERATOR>or</OPERATOR>\r
-      <OPERATOR>return</OPERATOR>\r
-      <OPERATOR>satisfies</OPERATOR>\r
-      <OPERATOR>some</OPERATOR>\r
-      <OPERATOR>then</OPERATOR>\r
-      <OPERATOR>to</OPERATOR>\r
-      <OPERATOR>treat</OPERATOR>\r
-      <OPERATOR>union</OPERATOR>\r
-\r
-      <!-- Subtraction operator -->\r
-      <OPERATOR>-</OPERATOR>\r
-\r
-    </KEYWORDS>\r
-\r
-  </RULES>\r
-\r
-  <!-- XPath comments - top or nested within COMMENT3 -->\r
-  <RULES DEFAULT="COMMENT2" SET="XPATHCOMMENT2">\r
-    <SPAN TYPE="COMMENT3" DELEGATE="XPATHCOMMENT3">\r
-      <BEGIN>(:</BEGIN>\r
-      <END>:)</END>\r
-    </SPAN>\r
-  </RULES>\r
-\r
-  <!-- XPath comments - nested within COMMENT2 -->\r
-  <RULES DEFAULT="COMMENT3" SET="XPATHCOMMENT3">\r
-    <SPAN TYPE="COMMENT2" DELEGATE="XPATHCOMMENT2">\r
-      <BEGIN>(:</BEGIN>\r
-      <END>:)</END>\r
-    </SPAN>\r
-  </RULES>\r
-\r
-</MODE>\r
diff --git a/extra/xmode/modes/zpt.xml b/extra/xmode/modes/zpt.xml
deleted file mode 100644 (file)
index f962acf..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!--\r
-<MODE NAME="zpt"                       FILE="zpt.xml"\r
-                               FILE_NAME_GLOB="*.{pt,zpt}"/>\r
--->\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-       </PROPS>\r
-       <RULES IGNORE_CASE="TRUE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- JavaScript -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
-                       <BEGIN>&lt;SCRIPT</BEGIN>\r
-                       <END>&lt;/SCRIPT&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- stylesheet -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
-                       <BEGIN>&lt;STYLE</BEGIN>\r
-                       <END>&lt;/STYLE&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN>&lt;</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <!-- ESCAPE is not exactly right but it is needed to correctly\r
-            handle JavaScript in on* parameters -->\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" DELEGATE="ATTRIBUTE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- TAL -->\r
-                       <KEYWORD1>tal</KEYWORD1>\r
-                       <KEYWORD3>attributes</KEYWORD3>\r
-                       <KEYWORD3>define</KEYWORD3>\r
-                       <KEYWORD3>condition</KEYWORD3>\r
-                       <KEYWORD3>content</KEYWORD3>\r
-                       <KEYWORD3>omit-tag</KEYWORD3>\r
-                       <KEYWORD3>on-error</KEYWORD3>\r
-                       <KEYWORD3>repeat</KEYWORD3>\r
-                       <KEYWORD3>replace</KEYWORD3>\r
-\r
-                       <!-- METAL -->\r
-                       <KEYWORD1>metal</KEYWORD1>\r
-                       <KEYWORD3>define-macro</KEYWORD3>\r
-                       <KEYWORD3>define-slot</KEYWORD3>\r
-                       <KEYWORD3>fill-slot</KEYWORD3>\r
-                       <KEYWORD3>use-macro</KEYWORD3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="ATTRIBUTE" DEFAULT="LITERAL1">\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="LITERAL2">$$</SEQ>\r
-\r
-               <SPAN TYPE="LITERAL4">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL4">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>${</BEGIN>\r
-                       <END>}</END>\r
-               </SPAN>\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-               <!-- highligh python expressions -->\r
-               <!--\r
-               <SEQ TYPE="LITERAL2" DELEGATE="python::MAIN"\r
-                       AT_LINE_START="FALSE">python:</SEQ>\r
-               -->\r
-               <KEYWORDS>\r
-                       <!-- TALES expression types -->\r
-                       <KEYWORD4>exists</KEYWORD4>\r
-                       <KEYWORD4>nocall</KEYWORD4>\r
-                       <KEYWORD4>not</KEYWORD4>\r
-                       <KEYWORD4>path</KEYWORD4>\r
-                       <KEYWORD4>python</KEYWORD4>\r
-                       <KEYWORD4>string</KEYWORD4>\r
-                       <KEYWORD4>structure</KEYWORD4>\r
-\r
-                       <!-- built-in TALES variables -->\r
-                       <!-- NOTE: root, here, container, template, \r
-                            request, user, and modules are optional -->\r
-                       <LITERAL3>CONTEXTS</LITERAL3>\r
-                       <LITERAL3>attrs</LITERAL3>\r
-                       <LITERAL3>container</LITERAL3>\r
-                       <LITERAL3>default</LITERAL3>\r
-                       <LITERAL3>here</LITERAL3>\r
-                       <LITERAL3>modules</LITERAL3>\r
-                       <LITERAL3>nothing</LITERAL3>\r
-                       <LITERAL3>options</LITERAL3>\r
-                       <LITERAL3>repeat</LITERAL3>\r
-                       <LITERAL3>request</LITERAL3>\r
-                       <LITERAL3>root</LITERAL3>\r
-                       <LITERAL3>template</LITERAL3>\r
-                       <LITERAL3>user</LITERAL3>\r
-\r
-                       <!-- repeat variable attributes -->\r
-                       <LITERAL3>index</LITERAL3>\r
-                       <LITERAL3>number</LITERAL3>\r
-                       <LITERAL3>even</LITERAL3>\r
-                       <LITERAL3>odd</LITERAL3>\r
-                       <LITERAL3>start</LITERAL3>\r
-                       <LITERAL3>end</LITERAL3>\r
-                       <LITERAL3>first</LITERAL3>\r
-                       <LITERAL3>last</LITERAL3>\r
-                       <LITERAL3>length</LITERAL3>\r
-                       <LITERAL3>letter</LITERAL3>\r
-                       <LITERAL3>Letter</LITERAL3>\r
-                       <LITERAL3>roman</LITERAL3>\r
-                       <LITERAL3>Roman</LITERAL3>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
-               <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>\r
-               <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="zpt::MAIN">&gt;</SEQ>\r
-       </RULES>\r
-\r
-       <RULES SET="CSS" DEFAULT="MARKUP">\r
-               <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>\r
-       </RULES>\r
-</MODE>\r
-\r
diff --git a/extra/xmode/rules/authors.txt b/extra/xmode/rules/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/rules/rules-tests.factor b/extra/xmode/rules/rules-tests.factor
deleted file mode 100644 (file)
index 5fc62f3..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-IN: xmode.rules.tests
-USING: xmode.rules tools.test ;
-
-[ { 1 2 3 } ] [ f { 1 2 3 } ?push-all ] unit-test
-[ { 1 2 3 } ] [ { 1 2 3 } f ?push-all ] unit-test
-[ V{ 1 2 3 4 5 } ] [ { 1 2 3 } { 4 5 } ?push-all ] unit-test
diff --git a/extra/xmode/rules/rules.factor b/extra/xmode/rules/rules.factor
deleted file mode 100755 (executable)
index e3c0c65..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-USING: accessors xmode.tokens xmode.keyword-map kernel
-sequences vectors assocs strings memoize regexp unicode.case ;
-IN: xmode.rules
-
-TUPLE: string-matcher string ignore-case? ;
-
-C: <string-matcher> string-matcher
-
-! Based on org.gjt.sp.jedit.syntax.ParserRuleSet
-TUPLE: rule-set
-name
-props
-keywords
-rules
-imports
-terminate-char
-ignore-case?
-default
-escape-rule
-highlight-digits?
-digit-re
-no-word-sep
-finalized?
-;
-
-: <rule-set> ( -- ruleset )
-    rule-set new
-        H{ } clone >>rules
-        H{ } clone >>props
-        V{ } clone >>imports ;
-
-MEMO: standard-rule-set ( id -- ruleset )
-    <rule-set> swap >>default ;
-
-: import-rule-set ( import ruleset -- )
-    imports>> push ;
-
-: inverted-index ( hashes key index -- )
-    [ swapd push-at ] 2curry each ;
-
-: ?push-all ( seq1 seq2 -- seq1+seq2 )
-    [
-        over [ >r V{ } like r> over push-all ] [ nip ] if
-    ] when* ;
-
-: rule-set-no-word-sep* ( ruleset -- str )
-    [ no-word-sep>> ]
-    [ keywords>> ] bi
-    dup [ keyword-map-no-word-sep* ] when
-    "_" 3append ;
-
-! Match restrictions
-TUPLE: matcher text at-line-start? at-whitespace-end? at-word-start? ;
-
-C: <matcher> matcher
-
-! Based on org.gjt.sp.jedit.syntax.ParserRule
-TUPLE: rule
-no-line-break?
-no-word-break?
-no-escape?
-start
-end
-match-token
-body-token
-delegate
-chars
-;
-
-TUPLE: seq-rule < rule ;
-
-TUPLE: span-rule < rule ;
-
-TUPLE: eol-span-rule < rule ;
-
-: init-span ( rule -- )
-    dup delegate>> [ drop ] [
-        dup body-token>> standard-rule-set
-        swap (>>delegate)
-    ] if ;
-
-: init-eol-span ( rule -- )
-    dup init-span
-    t >>no-line-break? drop ;
-
-TUPLE: mark-following-rule < rule ;
-
-TUPLE: mark-previous-rule < rule ;
-
-TUPLE: escape-rule < rule ;
-
-: <escape-rule> ( string -- rule )
-    f <string-matcher> f f f <matcher>
-    escape-rule new swap >>start ;
-
-GENERIC: text-hash-char ( text -- ch )
-
-M: f text-hash-char ;
-
-M: string-matcher text-hash-char string>> first ;
-
-M: regexp text-hash-char drop f ;
-
-: rule-chars* ( rule -- string )
-    [ chars>> ] [ start>> ] bi text>>
-    text-hash-char [ suffix ] when* ;
-
-: add-rule ( rule ruleset -- )
-    >r dup rule-chars* >upper swap
-    r> rules>> inverted-index ;
-
-: add-escape-rule ( string ruleset -- )
-    over [
-        [ <escape-rule> ] dip
-        2dup (>>escape-rule)
-        add-rule
-    ] [
-        2drop
-    ] if ;
diff --git a/extra/xmode/summary.txt b/extra/xmode/summary.txt
deleted file mode 100644 (file)
index 4482fb8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Syntax highlighting engine using jEdit mode files
diff --git a/extra/xmode/tokens/authors.txt b/extra/xmode/tokens/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/tokens/tokens.factor b/extra/xmode/tokens/tokens.factor
deleted file mode 100755 (executable)
index b891752..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-USING: accessors parser words sequences namespaces kernel assocs
-compiler.units ;
-IN: xmode.tokens
-
-! Based on org.gjt.sp.jedit.syntax.Token
-<<
-SYMBOL: tokens
-
-{ "COMMENT1" "COMMENT2" "COMMENT3" "COMMENT4" "DIGIT" "FUNCTION" "INVALID" "KEYWORD1" "KEYWORD2" "KEYWORD3" "KEYWORD4" "LABEL" "LITERAL1" "LITERAL2" "LITERAL3" "LITERAL4" "MARKUP" "OPERATOR" "END" "NULL" } [
-    create-in dup define-symbol
-    dup name>> swap
-] H{ } map>assoc tokens set-global
->>
-
-: string>token ( string -- id ) tokens get at ;
-
-TUPLE: token str id ;
-
-C: <token> token
diff --git a/extra/xmode/utilities/authors.txt b/extra/xmode/utilities/authors.txt
deleted file mode 100755 (executable)
index 1901f27..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Slava Pestov
diff --git a/extra/xmode/utilities/test.xml b/extra/xmode/utilities/test.xml
deleted file mode 100644 (file)
index 09a83fa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<company type="public"><employee name="Joe">VP Sales</employee><employee name="Jane">CFO</employee></company>
diff --git a/extra/xmode/utilities/utilities-tests.factor b/extra/xmode/utilities/utilities-tests.factor
deleted file mode 100755 (executable)
index e494670..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-IN: xmode.utilities.tests
-USING: accessors xmode.utilities tools.test xml xml.data kernel
-strings vectors sequences io.files prettyprint assocs
-unicode.case ;
-[ "hi" 3 ] [
-    { 1 2 3 4 5 6 7 8 } [ H{ { 3 "hi" } } at ] map-find
-] unit-test
-
-[ f f ] [
-    { 1 2 3 4 5 6 7 8 } [ H{ { 11 "hi" } } at ] map-find
-] unit-test
-
-TUPLE: company employees type ;
-
-: <company> V{ } clone f company boa ;
-
-: add-employee employees>> push ;
-
-<TAGS: parse-employee-tag
-
-TUPLE: employee name description ;
-
-TAG: employee
-    employee new
-    { { "name" f (>>name) } { f (>>description) } }
-    init-from-tag swap add-employee ;
-
-TAGS>
-
-\ parse-employee-tag see
-
-: parse-company-tag
-    [
-        <company>
-        { { "type" >upper (>>type) } }
-        init-from-tag dup
-    ] keep
-    children>> [ tag? ] filter
-    [ parse-employee-tag ] with each ;
-
-[
-    T{ company f
-        V{
-            T{ employee f "Joe" "VP Sales" }
-            T{ employee f "Jane" "CFO" }
-        }
-        "PUBLIC"
-    }
-] [
-    "resource:extra/xmode/utilities/test.xml"
-    file>xml parse-company-tag
-] unit-test
diff --git a/extra/xmode/utilities/utilities.factor b/extra/xmode/utilities/utilities.factor
deleted file mode 100644 (file)
index 8f1a618..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-USING: accessors sequences assocs kernel quotations namespaces
-xml.data xml.utilities combinators macros parser lexer words ;
-IN: xmode.utilities
-
-: implies >r not r> or ; inline
-
-: child-tags ( tag -- seq ) children>> [ tag? ] filter ;
-
-: map-find ( seq quot -- result elt )
-    f -rot
-    [ nip ] swap [ dup ] 3compose find
-    >r [ drop f ] unless r> ; inline
-
-: tag-init-form ( spec -- quot )
-    {
-        { [ dup quotation? ] [ [ object get tag get ] prepose ] }
-        { [ dup length 2 = ] [
-            first2 [
-                >r >r tag get children>string
-                r> [ execute ] when* object get r> execute
-            ] 2curry
-        ] }
-        { [ dup length 3 = ] [
-            first3 [
-                >r >r tag get at
-                r> [ execute ] when* object get r> execute
-            ] 3curry
-        ] }
-    } cond ;
-
-: with-tag-initializer ( tag obj quot -- )
-    [ object set tag set ] prepose with-scope ; inline
-
-MACRO: (init-from-tag) ( specs -- )
-    [ tag-init-form ] map concat [ ] like
-    [ with-tag-initializer ] curry ;
-
-: init-from-tag ( tag tuple specs -- tuple )
-    over >r (init-from-tag) r> ; inline
-
-SYMBOL: tag-handlers
-SYMBOL: tag-handler-word
-
-: <TAGS:
-    CREATE tag-handler-word set
-    H{ } clone tag-handlers set ; parsing
-
-: (TAG:) ( name quot -- ) swap tag-handlers get set-at ;
-
-: TAG:
-    scan parse-definition
-    (TAG:) ; parsing
-
-: TAGS>
-    tag-handler-word get
-    tag-handlers get >alist [ >r dup main>> r> case ] curry
-    define ; parsing
diff --git a/extra/xmode/xmode.dtd b/extra/xmode/xmode.dtd
deleted file mode 100644 (file)
index d96df44..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-<!-- Syntax tokens -->\r
-<!ENTITY % token_values "NULL | COMMENT1 | COMMENT2 | COMMENT3 | COMMENT4 |\r
-       DIGIT | FUNCTION | INVALID | KEYWORD1 | KEYWORD2 | KEYWORD3 | KEYWORD4 |\r
-       LABEL | LITERAL1 | LITERAL2 | LITERAL3 | LITERAL4 | MARKUP | OPERATOR" >\r
-<!ENTITY % tokens "( %token_values; )" >\r
-\r
-<!-- Entities for attributes shared by multiple rules -->\r
-<!ENTITY % att-bool '( TRUE | FALSE ) #IMPLIED' >\r
-<!ENTITY % att-type 'TYPE %tokens; #IMPLIED' >\r
-<!ENTITY % att-position-mix 'AT_LINE_START %att-bool;\r
-       AT_WHITESPACE_END %att-bool;\r
-       AT_WORD_START %att-bool; ' >\r
-<!ENTITY % att-match-type 'MATCH_TYPE ( %token_values; | CONTEXT | RULE ) #IMPLIED' >\r
-<!ENTITY % att-delegate 'DELEGATE CDATA #IMPLIED' >\r
-<!ENTITY % att-span-mix 'NO_LINE_BREAK %att-bool;\r
-       NO_WORD_BREAK %att-bool;\r
-       NO_ESCAPE %att-bool; '>\r
-<!ENTITY % att-hash-char 'HASH_CHAR CDATA #IMPLIED\r
-       HASH_CHARS CDATA #IMPLIED' >\r
-\r
-<!-- MODE element -->\r
-<!ELEMENT MODE ( PROPS?, RULES* ) >\r
-\r
-<!-- MODE children -->\r
-<!-- PROPS element -->\r
-<!ELEMENT PROPS ( PROPERTY+ ) >\r
-\r
-<!-- PROPS children -->\r
-<!ELEMENT PROPERTY EMPTY >\r
-<!ATTLIST PROPERTY\r
-       NAME CDATA #REQUIRED\r
-       VALUE CDATA #REQUIRED >\r
-\r
-<!-- RULES element -->\r
-<!ELEMENT RULES ( PROPS?, ( IMPORT | TERMINATE | SEQ | SEQ_REGEXP | SPAN\r
-       | SPAN_REGEXP | EOL_SPAN | EOL_SPAN_REGEXP | MARK_PREVIOUS\r
-       | MARK_FOLLOWING )*, KEYWORDS? ) >\r
-\r
-<!-- RULES attributes -->\r
-<!ATTLIST RULES\r
-       SET CDATA #IMPLIED\r
-       IGNORE_CASE %att-bool;\r
-       HIGHLIGHT_DIGITS %att-bool;\r
-       DIGIT_RE CDATA #IMPLIED\r
-       ESCAPE CDATA #IMPLIED\r
-       DEFAULT %tokens; #IMPLIED\r
-       NO_WORD_SEP CDATA #IMPLIED >\r
-\r
-<!-- IMPORT element -->\r
-<!ELEMENT IMPORT EMPTY >\r
-<!ATTLIST IMPORT DELEGATE CDATA #REQUIRED >\r
-\r
-<!-- TERMINATE element -->\r
-<!ELEMENT TERMINATE EMPTY >\r
-<!ATTLIST TERMINATE AT_CHAR CDATA #REQUIRED >\r
-\r
-<!-- SEQ element -->\r
-<!ELEMENT SEQ ( #PCDATA ) >\r
-\r
-<!-- SEQ attributes -->\r
-<!ATTLIST SEQ\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-delegate; >\r
-\r
-<!-- SEQ_REGEXP element -->\r
-<!ELEMENT SEQ_REGEXP ( #PCDATA ) >\r
-\r
-<!-- SEQ_REGEXP attributes -->\r
-<!ATTLIST SEQ_REGEXP\r
-       %att-hash-char;\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-delegate; >\r
-\r
-<!-- SPAN element -->\r
-<!ELEMENT SPAN ( BEGIN, END ) >\r
-\r
-<!-- SPAN attributes -->\r
-<!ATTLIST SPAN\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-span-mix;\r
-       %att-match-type;\r
-       %att-delegate; >\r
-\r
-<!-- SPAN_REGEXP element -->\r
-<!ELEMENT SPAN_REGEXP ( BEGIN, END ) >\r
-\r
-<!-- SPAN_REGEXP attributes -->\r
-<!ATTLIST SPAN_REGEXP\r
-       %att-hash-char;\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-span-mix;\r
-       %att-match-type;\r
-       %att-delegate; >\r
-\r
-<!-- SPAN and SPAN_REGEXP children -->\r
-<!ELEMENT BEGIN ( #PCDATA ) >\r
-<!ATTLIST BEGIN %att-position-mix; >\r
-<!ELEMENT END ( #PCDATA ) >\r
-<!ATTLIST END %att-position-mix; >\r
-\r
-<!-- EOL_SPAN element -->\r
-<!ELEMENT EOL_SPAN ( #PCDATA ) >\r
-\r
-<!-- EOL_SPAN attributes -->\r
-<!ATTLIST EOL_SPAN\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-match-type;\r
-       %att-delegate; >\r
-\r
-<!-- EOL_SPAN_REGEXP element -->\r
-<!ELEMENT EOL_SPAN_REGEXP ( #PCDATA ) >\r
-\r
-<!-- EOL_SPAN_REGEXP attributes -->\r
-<!ATTLIST EOL_SPAN_REGEXP\r
-       %att-hash-char;\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-match-type;\r
-       %att-delegate; >\r
-\r
-<!-- MARK_FOLLOWING element -->\r
-<!ELEMENT MARK_FOLLOWING ( #PCDATA ) >\r
-\r
-<!-- MARK_FOLLOWING attributes -->\r
-<!ATTLIST MARK_FOLLOWING\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-match-type; >\r
-\r
-<!-- MARK_PREVIOUS element -->\r
-<!ELEMENT MARK_PREVIOUS ( #PCDATA ) >\r
-\r
-<!-- MARK_PREVIOUS attributes -->\r
-<!ATTLIST MARK_PREVIOUS\r
-       %att-type;\r
-       %att-position-mix;\r
-       %att-match-type; >\r
-\r
-<!-- KEYWORDS element -->\r
-<!ELEMENT KEYWORDS (%tokens;)+ >\r
-\r
-<!-- KEYWORDS children -->\r
-<!ELEMENT COMMENT1 ( #PCDATA ) >\r
-<!ELEMENT COMMENT2 ( #PCDATA ) >\r
-<!ELEMENT COMMENT3 ( #PCDATA ) >\r
-<!ELEMENT COMMENT4 ( #PCDATA ) >\r
-<!ELEMENT DIGIT ( #PCDATA ) >\r
-<!ELEMENT FUNCTION ( #PCDATA ) >\r
-<!ELEMENT KEYWORD1 ( #PCDATA ) >\r
-<!ELEMENT KEYWORD2 ( #PCDATA ) >\r
-<!ELEMENT KEYWORD3 ( #PCDATA ) >\r
-<!ELEMENT KEYWORD4 ( #PCDATA ) >\r
-<!ELEMENT LABEL ( #PCDATA ) >\r
-<!ELEMENT LITERAL1 ( #PCDATA ) >\r
-<!ELEMENT LITERAL2 ( #PCDATA ) >\r
-<!ELEMENT LITERAL3 ( #PCDATA ) >\r
-<!ELEMENT LITERAL4 ( #PCDATA ) >\r
-<!ELEMENT MARKUP ( #PCDATA ) >\r
-<!ELEMENT NULL ( #PCDATA ) >\r
-<!ELEMENT OPERATOR ( #PCDATA ) >\r
-<!ELEMENT INVALID ( #PCDATA ) >\r